Docker Images for SLAM & navigation
In this section you will find useful information about Docker images used to run autonomous functionalities for Husarion robots. Below is a table presenting in a compact form Docker images enabling quick launch of a given functionalities. Below the tables, you will also find a chapter Minimal Setup showing the minimum configuration of the container that is needed for proper startup (e.g. in the case of a camera, specify the device port).
If you are not sure how to launch images you can learn it form Examples section.
Available images
Here's the list of Docker images hosted on Husarion's Docker Hub profile:
| Name | Image | Description | Tags | Architectures | |
|---|---|---|---|---|---|
| Husarion UGV Autonomy | |||||
| husarion/husarion-ugv-autonomy | Docker image for https://github.com/husarion/husarion_ugv_autonomy_ros ROS 2 Package | ||||
jazzy | amd64 arm64 | ||||
humble | amd64 arm64 | ||||
| ROSbot 3 / XL Autonomy | |||||
| husarion/rosbot-autonomy | Docker image for https://github.com/husarion/rosbot_autonomy_ros ROS 2 package | ||||
jazzy | amd64 arm64 | ||||
humble | amd64 arm64 | ||||
Minimal setup
In this section you can find the minimum configuration to run specific functionality.
Husarion UGV Autonomy
compose.yaml
x-common-config:
&common-config
network_mode: host
ipc: host
env_file: .env
services:
docking:
# image: husarion/husarion-ugv-autonomy:jazzy-jazzy-devel
build:
context: ..
dockerfile: docker/Dockerfile
container_name: docking
<<: *common-config
volumes:
- ./config:/config
- ../husarion_ugv_docking:/ros2_ws/src/husarion_ugv_autonomy_ros/husarion_ugv_docking
command: >
ros2 launch husarion_ugv_docking docking.launch.py
namespace:=${ROBOT_NAMESPACE:-panther}
use_wibotic_info:=${USE_WIBOTIC_INFO:-True}
camera_image_topic:=${CAMERA_IMAGE_TOPIC:-/panther/camera/color/image_raw}
camera_info_topic:=${CAMERA_INFO_TOPIC:-/panther/camera/color/camera_info}
apriltag_output_dir:=/config/apriltags
apriltag_size:=0.08
use_sim:=False
navigation:
# image: husarion/husarion-ugv-autonomy:jazzy-jazzy-devel
build:
context: ..
dockerfile: docker/Dockerfile
container_name: navigation
<<: *common-config
volumes:
- ./config:/config
- ../maps:/maps
- ../husarion_ugv_navigation:/ros2_ws/src/husarion_ugv_autonomy_ros/husarion_ugv_navigation
command: >
ros2 launch husarion_ugv_navigation bringup_launch.py
namespace:=${ROBOT_NAMESPACE:-panther}
observation_topic:=${OBSERVATION_TOPIC:-err}
observation_topic_type:=${OBSERVATION_TOPIC_TYPE:-err}
slam:=${SLAM:-True}
use_sim_time:=False
robot_model:=${ROBOT_MODEL:-panther}
ROSbot 3 / XL Autonomy
compose.yaml
services:
rosbot_navigation:
build:
context: ..
dockerfile: docker/Dockerfile
network_mode: host
ipc: host
env_file:
- .env
volumes:
- ./dds-config-udp.xml:/udp_profile.xml:ro
- ../rosbot_navigation:/ros2_ws/src/rosbot_autonomy_ros/rosbot_navigation
- ../maps:/maps
command: >
ros2 launch rosbot_navigation bringup.launch.py
controller:=${CONTROLLER:-mppi}
map:=/maps/map.yaml
robot_model:=${ROBOT_MODEL:?err}
slam:=${SLAM:-True}
use_sim_time:=False