Docker Image for ROS Humble Node providing interface for STM32 firmware over Micro-ROS.
rosbot-docker
contain following ROS packages:
With docker-compose configuration shown in demo it can communicate with hardware of ROSbot 2R, ROSbot 2 PRO and ROSbot 2.0.
services:
rosbot:
image: husarion/rosbot:humble
devices:
- ${SERIAL_PORT:?err}
- /dev/bus/usb/ # FTDI (if connecting over USB port with STM32)
environment:
- ROS_DOMAIN_ID=30
command: >
ros2 launch rosbot_bringup combined.launch.py
mecanum:=${MECANUM:-False}
serial_port:=$SERIAL_PORT
serial_baudrate:=576000
namespace:=robot1
Firmware if flashed from inside of the container running on the ROSbot:
docker run \
--rm -it --privileged \
husarion/rosbot:humble \
/flash-firmware.py /root/firmware.bin
docker buildx build \
--platform linux/amd64 \
-t rosbot-docker-test \
.
docker run \
--rm -it --privileged \
husarion/rosbot:humble \
print-serial-number.py
Most important nodes published by this docker after launching rosbot_bringup.launch.py are shown below.
For more details on what is being published and subscribed by nodes running in this container please refer to launch file and packages:
pre-commit configuration prepares plenty of tests helping for developing and contributing. Usage:
# install pre-commit
pip install pre-commit
# initialize pre-commit workspace
pre-commit install
# manually run tests
pre-commit run -a
Find available projects below:
link | description |
---|---|
rosbot-sensors | Visualize all ROSbot sensors |
rosbot-gamepad | Control the robot manually using a Logitech F710 gamepad |
rosbot-telepresence | Stream a live video from Orbbec Astra to a window on your PC. Control the robot using teleop-twist-keyboard |
rosbot-autonomy | A combination of mapping and navigation projects allowing simultaneous mapping and navigation in unknown environments. |