Why use this project?
Introduction
EV3-lang-java is a Java project to build software for robots inheriting concepts from LeJOS.
The library interacts with EV3Dev, a Debian Linux-based operating system which expose a interface to interact with Sensors & Actuators in an easy way.
Why use this project?
What is the innovation?
- OpenJDK 11/12 ea
- Java development on top of a Debian, a full featured Linux distro
- Possibility to interact with others programming languages
- Usage of the same library for EV3 Brick, BrickPi3, BrickPi+ & PiStorms
- Support USB devices
- Support for Raspberry Pi
- Modular design
Features
Platforms Supported
- EV3 Brick
- BrickPi3
- BrickPi+
- PiStorms v1/v2
Features
JVM
- OpenJDK 11/12 ea
- Java profiling tools Support
- Logging support
Features
Native libraries
- ROS Kinect
- OpenCV 2.4.x
- Serial RXTX
Features
Robotics
- Regulated Lego Motor Support
- Unregulated Lego Motor Support
- Lego Sensor Support
- LeJOS sensor framework support
- LeJOS navigation stack support
- LeJOS subsumption support
- eSpeak TTS (Text to speech) Support
Release (v1.0.0)[CURRENT]
- Java Debian Package for EV3Dev (EV3 Scope)
- LCD Support for PiStorms
- Debian Stretch Support for Raspberry boards
- Improve OpenCV Support
- New website
- AdoptOpenJDK CI Integration
- OpenJDK 11/12 ea support for EV3Dev Debian Jessie/Stretch
- LCD Support for EV3 for Debian Stretch
- Only one library to add support for Debian Jessie & Debian Stretch
- Sensor API Refactoring (Inner classes)
- Automatic Installer for OpenJDK 11
- OpenJDK 10 for EV3 Brick (Debian Stretch)
- Automatic Java install for EV3 Brick
- Debian Stretch Support
- LEGO EV3 Sensor performance improvement
- USB GPS Support
- Unit Testing support
- Adding Unit testing
- Add JMX MBEAN about Battery
- BrickPi3 Support
- MEMS IMU BNO055 Support
- RPLidar A2 Support
- Arduino Support
- ROS Support
- Adding support for Profiling Tools
- Enabling Stop modes for BrickPi+ & PiStorms
- Add Button, LED & LCD Support for EV3
- [POC] ROS2Java test on Ubuntu
- Development of Battery Monitor
- Adding lejos-navigation
- Support for LIDAR RPLidar A1
- Install Java 9 JDK for Brickpi+/PiStorms + Raspberry Pi 3 in an easy way
- Enabling sound support for Brickpi+/PiStorms + Raspberry Pi 3
- [POC] Install ROS Kinetic on Brickpi+/PiStorms + Raspberry Pi 3
- [POC] ROSJava node creation
- Full regression for kernel: ev3dev 4.4.47-19-ev3dev-rpi2
- OpenJDK 9
- Support for BrickPi+
- Support for PiStorms v1 & v2
- ELK Stack Support (POC)
Release (v0.3.0)
- Full regression for kernel: ev3dev 4.4.32-17-ev3dev-ev3
- Fixed some problems with Motors
- Adding support for Polarity
- Adding support for Stop option
Release (v0.2.0)
- Regulated Motor Support
- Unregulated Motor Support
- Sensor Support
- OpenCV Computer Vision Support
- Sounds
- LeJOS Sensor filter Support
- eSpeak TTS (Text to speech) Support
- Log support
Release (v0.1.0)
- Initial Development
- Rudimentary motor support
Hardware supported
Hardware supported
Hardware supported
Hardware supported
Hardware supported
- Raspberry Pi 3 Model B Rev 1.2
Hardware supported
2D LIDARs
Hardware supported
2D LIDARs
Hardware supported
Arduino boards
Hardware supported
Arduino shields
Hardware supported
Arduino shields
Hardware supported
USB GPS
Bonus Extra
Support for ELK Stack.
Centralized logs in an easy way for your robots.
Bonus Extra
Review the JVM data with your favourite Java profiler.
Getting Started
Read the docs to learn how to use this project step by step.
Once you have your laptop/brick with the infrastructure ready, enjoy with the following examples.
Project examples
Projects using the library: