Running Husarion robots with Docker
Husarion provides a set of Docker images allowing modular approach for preparing a ROS / ROS 2 applications for robots. By using Docker containers, you can streamline the installation process and ensure that all necessary packages and dependencies are readily available.
Benefits of Docker Containers
The OS images for Panther and ROSbot (XL, 2R, 2 PRO) come with pre-installed Docker and Docker Compose. By utilizing the provided Docker images, you can run the Husarion robotic software in various scenarios. This approach offers several advantages:
- Simplified Setup: Docker encapsulates all required packages and dependencies in containers, eliminating the need for manual installation and configuration. This ensures a consistent and repeatable environment across systems. This allows you to run the software on any computer/robot.
- Portability: Docker containers can be easily moved between different machines and environments. For example, you can use the same
husarion/navigation2
image in both ROSbot XL and Panther, which will provide the robot with navigation functionality (in some cases it is necessary to run the container in a specific configuration, which depends on the physical parameters of the robot). - OS independence: Dockers can run independently of the operating system. This means that you can run images with the latest ROS distribution, regardless of the operating system. For example, for NVIDIA Jetson Nano, the last supported operating system is Ubuntu 18, which means that the native installation only allows the use of ROS 1 Melodic. Thanks to Docker you can run even latest ROS 2 Humble based nodes even on the Jetson!
- Isolation: Docker containers provide a level of isolation, allowing the software to run independently without interfering with the host system. This isolation prevents potential conflicts or compatibility issues with other software installed on the host.
In the Husarion images, all necessary packages and dependencies are enclosed in Docker containers. This allows the execution of software components without relying on pre-installed ROS on robot host systems. Docker provides a self-contained environment where all required software components are properly configured.
Find the Docker images for your configuration
All the images created by Husarion are divided in to the following sections:
- Robots: images specifically designed to run our robots or simulations (Gazebo, Webots, O3DE).
- Autonomy: images focused on providing basic robot autonomy such as mapping, localization and navigation tasks, which are necessary for most autonomous projects.
- Equipment: images for various additional equipemnt that can be used with Husarion robots. There you will find ready-to-use images that allow you to run and control various types of cameras, LIDARs, controllers and other devices.
- Tools: images that contain various useful tools for robotics development, such as project visualization and debugging tools, but also Husarnet and many others.
As you browse through these sections, you'll understand specific images that can be useful when developing and implementing robotics solutions. In section Examples you will find basic information on how to use Docker images with examples of use.