How to run ROS 2 on an Odroid-XU4

Getting the next generation Robot Operating System onto Hardkernel’s Octa-core SBC for your next robotics project

Eloquent Elusor logo by OpenRobotics (CC BY-NC 4.0), Odroid-XU4 by Hardkernel co., ltd (CC BY-SA 3.0)
Bold Hearts team member Dagonet sporting an Odroid-XU4 running ROS 2, tucked away in his torso.

Main Operating System

Installing ROS 2

$ sudo apt update && sudo apt install curl gnupg2 lsb-release
$ curl -s | sudo apt-key add -
$ sudo sh -c 'echo "deb [arch=armhf] `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'
$ sudo apt update && sudo apt install ros-eloquent-ros-base

Running some nodes

$ sudo apt install ros-eloquent-demo-nodes-cpp
$ source /opt/ros/eloquent/setup.bash
ros2 launch demo_nodes_cpp
[INFO] [launch]: All log files can be found below /home/sander/.ros/log/2020-04-12-18-33-03-704440-ade-3326
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [talker-1]: process started with pid [3343]
[INFO] [listener-2]: process started with pid [3344]
[talker-1] [INFO] [talker]: Publishing: 'Hello World: 1'
[listener-2] [INFO] [listener]: I heard: [Hello World: 1]
[talker-1] [INFO] [talker]: Publishing: 'Hello World: 2'
[listener-2] [INFO] [listener]: I heard: [Hello World: 2]
[talker-1] [INFO] [talker]: Publishing: 'Hello World: 3'
[listener-2] [INFO] [listener]: I heard: [Hello World: 3]
$ echo "source /opt/ros/eloquent/setup.bash" >> ~/.bashrc
$ sudo apt install ros-eloquent-dummy-robot-bringup
$ source /opt/ros/eloquent/setup.bash
$ ros2 launch dummy_robot_bringup
Rviz2 visualization of the dummy robot swinging back and forth.
$ sudo apt update && sudo apt install ros-foxy-ros-base
$ source /opt/ros/foxy/setup.bash

Roboticist, AI practitioner, CV enthusiast

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store