EV3Dev-lang-Java

A Java project to build Software for Robots using EV3Dev hardware & the LeJOS way.

Iteration |  Docs |  Examples |  APIs |  Videos

Maven artifact: v0.6.1

Watch    Star    Fork

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?

  • 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

  • Automatic installation of Oracle Java JDK 8 for Brickpi3/Brickpi+/PiStorms + Raspberry Pi 3
  • Partial automatic installation of Oracle Java JRE 8 for EV3 Brick
  • OpenJDK Java 9 EA support for BrickPi3/Brickpi+/PiStorms
  • 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 (v0.7.0) [CURRENT]

  • Adding Unit testing
  • Add JMX MBEAN about Battery
  • BrickPi3 Support
  • Develop ROS nodes

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

2D LIDARs

Hardware supported

Arduino

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.

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