The Lego EV3 is the successor Lego NXT in the Lego Mindstorms series of robots. The EV3 will boot from the Micro-SD card if available, allowing developers to run Linux without flashing the original firmware. There is a Debian linux variant: ev3dev and a Yocto Linux variant under development.
There are no packages available yet for the EV3.
ev3dev Linux with ros_comm
Although roscore is not able to be run on the EV3 with ev3dev, the roscore can be run on an external computer with the EV3 connected via Wi-Fi, USB or Bluetooth. The rospy and roscpp publisher-subscriber tutorials have been tested on the EV3.
Brickstrap is a tool for creating bootable image files for embedded systems using Debian Linux. It is part of the ev3dev project, and can be used to compile programs for the EV3 on a regular computer. It developed for Ubuntu, and can be run in a virtual machine.
- Using the ev3dev brickstrap tool, to create a custom ev3dev image, the ros_comm package can be installed.
- Without the brickstrap tool, the EV3 is not powerful enough to compile all of the dependencies, and will run out of resources.
The steps to create an ev3dev image with ros_comm has been documented here on GitHub and only takes 10 steps.
Depending on your computer and internet connection, the process takes about an hour to download and build everything. Once this has been done, the image can be copied to many micro-sd cards and installed on a classroom full of EV3s.
The ev3dev project provides language bindings for C++, Python and Node.js https://github.com/ev3dev/ev3dev-lang, with ros_comm installed you can write use rospy and roscpp with these. The ROS joy node has been tested, with a USB joypad plugged into the desktop running the roscore to drive the EV3 motors.
H4R Yocto Linux Image with ROS
It is based on Yocto Linux and the EV3Dev Kernel and includes all ROS packages of meta-ros Yocto layer from BMW Car IT. ROS Master is not working on the EV3 (too heavy in RAM usage), but you can use your computer to use the nodes on it.
You also do not need to compile software directly for the EV3, there is the ev3_manager. With it, you can load ROS Control controllers and EV3 Sensor Controllers with Launch files you execute on your personal computer. Those controllers will publish the topics to control motors and read sensors.
Probably later there will be a tutorial how to compile your own software for the EV3 with the Yocto Tools.
To get your own SD Card with it, you have to download the compiled files and extract them to your SD Card. For installing and using it, see the Getting Started
Other Links - meta-layer for EV3 - Nodes for EV3
Report a Bug
ROS EV3 Yocto Meta Layer: Use GitHub to report bugs or submit feature requests. [View active issues]
H4R Yocto Linux Image: Use GitHub to report bugs or submit feature requests. [View active issues]
ROS Problems: Use GitHub to report bugs or submit feature requests. [View active issues]
Linux Problems with ev3dev on the ev3: Use GitHub to report bugs or submit feature requests. [View active issues]