EV3Dev-lang-Java

A project to learn Java and create software for Mindstorms Robots using EV3Dev & the LeJOS way.

Iteration |  Downloads |  Docs |  Examples |  Javadocs |  Videos

             

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

Compatibility table

Compatibility table

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

Release (v0.9.0)

  • 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

Release (v0.8.0)

  • 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

Release (v0.7.0)

  • Adding Unit testing
  • Add JMX MBEAN about Battery
  • BrickPi3 Support
  • MEMS IMU BNO055 Support
  • RPLidar A2 Support
  • Arduino Support
  • ROS Support

Release (v0.6.1)

  • 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

Release (v0.5.0)

  • 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

Release (v0.4.0)

  • 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:

Contribute

You are welcome to participate in this Open Source project. Fork this repo to enjoy in the process.

https://github.com/jabrena/ev3dev-lang-java

References

             

Fork me on GitHub