Technical requirements
To get started with building a ROS-based mobile robot, this section outlines the essential software and hardware you'll need. We'll explore key resources from the https://github.com/ros-mobile-robots organization on GitHub and provide options for building your own robot or using a pre-designed platform. Later sections will delve deeper into specific software installation and hardware components.
Info
This technical requirements page is here to give you an overview of what is required to get your robot up and running. You can already follow the steps in practice but they will be also mentioned in later sections (in more detail) when they are really needed.
Software requirements
One of the main software repositories is https://github.com/ros-mobile-robots/diffbot. It includes packages for simulation and the configurations and software to operate a real robot and interact with it from a development PC (or dev machine).
The following sections give an overview about which software will be used:
- Operating Systems
- Git
- Remote Control
- Hardware Interface
- Source Dependencies
- Binary Dependencies
- Build ROS Workspace
More detailed software setup instructions are found in the chapter about Processing Units.
Operating System
For the development PC, you should have ROS Noetic installed on Ubuntu 20.04 or using Windows Subsystem for Linux (WSL) 2 running on Windows 11.
Note
Windows 11 is required for GUI features, such as Gazebo and RViz. WSL 2 on Windows 10 only provides command line support, although you can install an X11 server, such as VcXsrv, explained here.
On the Single Board Computer (SBC) (e.g. Raspberry Pi 4 B) that is mounted on Remo, we use Ubuntu Mate 20.04 for arm64 architecture.
Git
As the software is hosted on GitHub which uses git as a version control system it needs to be present in your used operating system.
On Ubuntu this is usually the case, which you can check with:
1 2 |
|
On Windows you need to install Git using a package manager such as chocolatey or downloading it from https://git-scm.com/downloads.
To clone large stl files from the Git repository we use git-lfs. On both Ubuntu flavors it needs to be installed with the following terminal command:
1 |
|
Remote Control
On both the development PC and the SBC of the robot, you need a connection to the same local network and to enable the ssh protocol, to connect from the development PC (client) to the robot, which is running an open-ssh server. Install it on Ubuntu Mate 20.04 with the following:
1 |
|
Hardware requirements
For the hardware, you can build your
own two- or four-wheeled differential drive robot similar to the one present in the
diffbot_description
package or 3D print a more stable Remo robot with the stl files in
https://github.com/ros-mobile-robots/remo_description.
The repository at https://github.com/ros-mobile-robots/remo_description contains the
robot description of Remo. Remo is a modular mobile robot platform, which is based on
NVIDIA's JetBot. The currently available parts can be 3D printed using the provided
stl files in the remo_description
repository.
To do this, you either need a 3D printer with a recommended build volume of 15x15x15 cm or to use
a local or online 3D print service. Further details are found in hardware setup.
On the following components page you find a bill of materials and more details about each part.