All Projects → ev3dev-lang-java → Ev3dev Lang Java

ev3dev-lang-java / Ev3dev Lang Java

Licence: mit
A project to learn Java and create software for Mindstorms Robots using hardware supported by EV3Dev & the LeJOS way.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Ev3dev Lang Java

erwhi-hedgehog
Erwhi Hedgehog main repository
Stars: ✭ 31 (-60.76%)
Mutual labels:  robot, robotics, ros
Handeye calib camodocal
Easy to use and accurate hand eye calibration which has been working reliably for years (2016-present) with kinect, kinectv2, rgbd cameras, optical trackers, and several robots including the ur5 and kuka iiwa.
Stars: ✭ 364 (+360.76%)
Mutual labels:  robotics, ros, robot
ROS-TCP-Connector
No description or website provided.
Stars: ✭ 123 (+55.7%)
Mutual labels:  robot, robotics, ros
Rosnodejs
Client library for writing ROS nodes in JavaScript with nodejs
Stars: ✭ 145 (+83.54%)
Mutual labels:  robotics, ros, robot
Pendulum
ROS, ROS2, real-time, control, pendulum
Stars: ✭ 37 (-53.16%)
Mutual labels:  robotics, ros, raspberry-pi
Robot
Simple library for controlling a raspberry pi based robot
Stars: ✭ 156 (+97.47%)
Mutual labels:  robotics, robot, raspberry-pi
Free gait
An Architecture for the Versatile Control of Legged Robots
Stars: ✭ 263 (+232.91%)
Mutual labels:  robotics, ros, robot
Robotics setup
Setup Ubuntu 18.04, 16.04 and 14.04 with machine learning and robotics software plus user configuration. Includes ceres tensorflow ros caffe vrep eigen cudnn and cuda plus many more.
Stars: ✭ 110 (+39.24%)
Mutual labels:  robotics, ros, robot
Ros Academy For Beginners
中国大学MOOC《机器人操作系统入门》代码示例 ROS tutorial
Stars: ✭ 861 (+989.87%)
Mutual labels:  robotics, ros, robot
Fourth robot pkg
4号機(KIT-C4)用リポジトリ
Stars: ✭ 7 (-91.14%)
Mutual labels:  robotics, ros, robot
Weloveinterns
中科院软件所智能软件中心实习生社区
Stars: ✭ 143 (+81.01%)
Mutual labels:  robotics, ros, robot
Mabel
MABEL is a feature-packed, open-source, legged balancing robot based off of the Boston Dynamics Handle robot.
Stars: ✭ 72 (-8.86%)
Mutual labels:  robotics, robot, raspberry-pi
Dolly
🤖🐑 It's a sheep, it's a dolly, it's a following robot. Dolly was born to be cloned.
Stars: ✭ 113 (+43.04%)
Mutual labels:  robotics, ros, robot
Ros robotics projects
Example codes of new book ROS Robotics Projects
Stars: ✭ 240 (+203.8%)
Mutual labels:  robotics, ros, robot
Awesome Robotic Tooling
Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace.
Stars: ✭ 1,876 (+2274.68%)
Mutual labels:  robotics, ros, robot
erdos
Dataflow system for building self-driving car and robotics applications.
Stars: ✭ 135 (+70.89%)
Mutual labels:  robot, robotics, ros
Webots
Webots Robot Simulator
Stars: ✭ 1,324 (+1575.95%)
Mutual labels:  robotics, ros, robot
Grl
Robotics tools in C++11. Implements soft real time arm drivers for Kuka LBR iiwa plus V-REP, ROS, Constrained Optimization based planning, Hand Eye Calibration and Inverse Kinematics integration.
Stars: ✭ 105 (+32.91%)
Mutual labels:  robotics, ros, robot
Awesome Robotics
A curated list of awesome links and software libraries that are useful for robots.
Stars: ✭ 478 (+505.06%)
Mutual labels:  robotics, ros, robot
True artificial intelligence
真AI人工智能
Stars: ✭ 38 (-51.9%)
Mutual labels:  ros, robot, raspberry-pi

ev3dev-lang-java

EV3Dev-lang-Java is project to learn Java and create software for Mindstorms Robots using hardware supported by EV3Dev & the LeJOS way.

License: MIT Travis CI

ScreenShot

How to test?

For non Linux computers use:

./gradlew dockerTest

For Linux computers use:

./gradlew test

Introduction

In Lego Mindstorms ecosystem, the default solution to develop Java software for Lego Mindstorms was LeJOS but now exists one alternative, EV3Dev-lang-java a Java project running on the top of EV3Dev.

Lego Mindstorms ecosystem is a nice educational way to learn Java programming in general and Robotics in particular. Now, it is possible to install a complete Linux distro in the third generation of the product and others companies like Mindsensors & Dexter Industries has released products which interact with Sensors & Actuators from Lego ecosystem and that boards can use the Power of the popular board Raspberry Pi 3

But, with the help of EV3Dev, it is possible to have the same Linux experience for multiple boards. So... why not develop a Java library for that Linux Distro? The answer is EV3Dev-lang-java. The project, takes the good things of both worlds: EV3Dev with the complete linux experience and LeJOS with the rich local navigation stack and the remote support in the future.

What Debian versions are supported with this library?

The library has support for Debian Jessie & Debian Stretch. In this release, we have finished the support for Debian Stretch for EV3 and you could use OpenJDK 11, or OpenJDK 15 and it is amazing!

If you need to use any Raspberry Pi Boards, I recommend to use the stable EV3Dev Debian Jessie release.

What is the hardware platforms supported in this project?

Using the same Java objects, it is possible to deploy the software for Robots on EV3 Brick, Raspberry Pi 3 with BrickPi 3 & PiStorms.

# Element EV3 P-Brick Raspberry Pi 3 Model B+
1 Hardware EV3 Brick BrickPi+, BrickPi3, PiStorms
2 SoC TI Sitara AM1808 Broadcom BCM2837B0
3 CPU 1× ARM926EJ-S @ 300MHz (max 456MHz) 4× ARM Cortex-A53 @ 1400MHz
4 RAM 64 MB LPDDR 1024 MB LPDDR2 (900 MHz)
5 USB Host 1× USB 1.1 (without onboard hub) 4× USB 2.0 (from onboard hub)
6 Year 2010 2018

Project architecture

The project has been designed with the following solution in mind:

# Layer Option 1 Option 2
1 Platforms BrickPi BrickPi3 PiStorms EV3
2 OS Debian Jessie Debian Jessie/Stretch
3 JVM OpenJDK 15 OpenJDK JRI 11 / 12 / 13 / 14 / 15
4 EV3Dev Kernel 4.4.47-19-ev3dev-rpi2 4.14.71-ev3dev-2.3.0-ev3
5 ev3dev-lang-java 0.7.0 2.4.12

Note: At the moment, we will maintain the whole solution until the next LEGO Mindstorms product estimated for next January of 2022.

Features included in the whole project

Java features

  • OpenJDK Java 11/12/13/14/15 support for EV3 Brick, Brickpi+/PiStorms + Raspberry Pi 3
  • Java profiling tools Support (Oracle mission control & JConsole)
  • Logging support based on SLF4J
  • Centralized logs with Kibana

Platform features

  • Support for EV3 Brick, PiStorms v1/v2, BrickPi+ & BrickPi 3

Lego Mindstorms features

  • Regulated Motor Support
  • Unregulated Motor Support
  • Sensor Support (EV3 sensors)
  • Sounds Support
  • EV3 LCD Support

Robotics

Subprojects

Stable projects:

Incubator projects:

  • lejos-navigation: LeJOS navigation stack
  • Usb Devices: A library to use Arduino, Grove Sensors, GPS, IMU, LIDAR, and more devices...
  • ROS: A library to publish Sensor data to ROS for SLAM purposes

Roadmap

Review the backlog to follow the features in course:

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

Getting Started

Take a look the documentation to use the project:

http://ev3dev-lang-java.github.io/docs/support/index.html

and use this easy template project with examples to use the project in a quick way:

https://github.com/ev3dev-lang-java/template-project-gradle

Examples

Take a look the following repository to learn how to use this project:

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

Videos

UML Design

ScreenShot

Architecture decision record (ADR)

References:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].