Installation
The packages support recent versions of ROS1 (melodic, noetic) and ROS2 (foxy, galactic, humble).
ROS-VERSION |
ROS-ASEBA-BRANCH |
ROS-THYMIO-BRANCH |
---|---|---|
melodic |
ros1 |
melodic |
noetic |
ros1 |
noetic |
foxy |
ros2 |
master |
galactic |
ros2 |
master |
humble |
ros2 |
master |
The functionality of ROS-Aseba and ROS-Thymio are the same for all supported ROS versions. You don’t know which ROS version to use? Pick the one that works with your OS (look at the targeted platforms for ROS 1 and ROS 2). Consider that ROS1 will reach end-of-live in 2025, and that noetic will be the last official ROS1 release. If you still have a doubt, go for ROS2: humble is the current long-term-release (2022–2027).
Note
ROS-Aseba is using Aseba version 1.6 from the aseba-community repository that implements Aseba protocol version 5. Aseba is also actively developed in the Mobsya repository. Mobsya development specifically targets the Thymio robot and has extended the Aseba protocol. Currently, and for the foreseeable future, Mobsya’s Aseba protocol will remain compatible with Aseba 1.6; therefore Thymios running the newest firmware by Mobsya can be used with ROS-Aseba, provided that the parameter highest_acceptable_protocol_version is set to the correct value.
Supported Operating Systems
ROS-Aseba can be installed on Linux, macOS, and Windows because they are all supported by ROS and Aseba.
- Linux
Ubuntu is the reference platform for ROS1 and ROS2; ROS can be installed very easily using package managers (ROS1, ROS2).
- macOS
macOS is not officially supported in ROS1 and has currently only Tier 3 support in ROS2. For most users, installing ROS on macOS requires building it from source and possibly tinkering a bit. Therefore, we only suggest using ROS natively on macOS to expert users. We suggest non-expert macOS users to run ROS in an Ubuntu virtual machine or through docker.
- Windows
Windows support increased from ROS1 to ROS2 but for both versions you can install pre-built packages using Chocolately. In particular, we suggest to follow installation instructions from Microsoft.
Below we refer to the Linux installation. Windows instructions follows the links above to install ROS and then only differ by the way you source the workspace
source <installation_directory>/setup.bash
C:<installation_directory>\setup.bat
In particular, catkin, colcon and ros commands are the same for any operating system.
In Windows and macOS, we suggest to add the option --merge-install
to the colcon build
commands.
ROS
Before installing ROS-Aseba and ROS-Thymio, you need to setup ROS on your machine.
Please refer to the official instructions to install
at least ROS-Base
distribution (we recommend ROS-Desktop
to also install the GUI tools) of your version of choice,
which on Linux Ubuntu may just require you to run
sudo apt install ros-<ROS-VERSION>-ros-desktop
For ROS1, to follow the instructions below, install also catkin-tools.
For ROS2, install colcon:
sudo apt install python3-colcon-common-extensions
If you don’t already have one, create a ROS workspace in a folder <WORKSPACE>
of you choice.
mkdir -p <WORKSPACE>/src
cd <WORKSPACE>
source /opt/ros/<ROS-VERSION>/setup.bash
catkin init
// This is optional: it will install packages instead of
// just linking them in the develop folder.
// This is the same behavior as ROS2 using colcon.
catkin config --install
mkdir -p <WORKSPACE>/src
cd <WORKSPACE>
source /opt/ros/<ROS-VERSION>/setup.bash
colcon build
ROS-Aseba
Install
libudev-dev
,libxml2-dev
,git
andros-<ROS-VERSION>-diagnostic-updater
sudo apt install libudev-dev libxml2-dev git ros-<ROS-VERSION>-diagnostic-updater
Note
The installation diagnostic-updater
is optional. If it available,
asebaros
will use it to expose diagnostics informations at runtime.
If diagnostic-updater
is not available through a package manager (e.g., on Windows),
you can install it from source, cloning the correspoding branch (for ROS1 use noetic-devel
)
of the repository https://github.com/ros/diagnostics
cd <WORKSPACE>
git clone https://github.com/ros/diagnostics --branch <BRANCH> src/diagnostics
Download and install ROS-Aseba
cd <WORKSPACE>
source install/setup.bash
git clone https://github.com/jeguzzi/ros-aseba.git --branch ros1 --recurse-submodules src/ros-aseba
catkin build
cd <WORKSPACE>
source install/setup.bash
git clone https://github.com/jeguzzi/ros-aseba.git --branch ros2 --recurse-submodules src/ros-aseba
colcon build
On Linux, you may need to add the user to the dialout group to connect to a Thymio (and logout once after doing it)
sudo adduser $USER dialout
ROS-Thymio
Install
ros-<ROS-VERSION>-xacro
,ros-<ROS-VERSION>-tf
,ros-<ROS-VERSION>-robot-state-publisher
sudo apt install ros-<ROS-VERSION>-xacro ros-<ROS-VERSION>-tf ros-<ROS-VERSION>-robot-state-publisher
Download and install ROS-Thymio
cd <WORKSPACE>
source install/setup.bash
git clone https://github.com/jeguzzi/ros-thymio.git --branch <ROS-THYMIO-BRANCH> --recurse-submodules src/ros-thymio
catkin build
cd <WORKSPACE>
source install/setup.bash
git clone https://github.com/jeguzzi/ros-thymio.git --branch master --recurse-submodules src/ros-thymio
colcon build