This repository contains the open source fleet adapter for integrating OpenRMF with LionsBot's robots. The different robot families adapters are in their respective directory.
Currently, fleet adapters are developed and has been tested for these supported families of robots:
Fleet adapter | Robot family | Robot type |
---|---|---|
fleet_adapter_leoscrub | Leobot | LeoScrub |
fleet_adapter_r3 | R3 | Scrub, Vac, Scrub Pro |
RMF Version | Installation Instructions | Supported distros | Supported ROS2 versions |
---|---|---|---|
22.09 | Installation Instructions | Ubuntu 22.04 | Humble |
Task | Description |
---|---|
dispatch_clean | send a cleaning task with specified zone |
cancel_task | cancel a specified task |
dispatch_go_to_place | send a navigation task with a specified location |
pause_task | pause the task of a specified robot |
continue_task | resume the task of a specified robot |
NOTE:
pause_task
andcontinue_task
are custom tasks. The python scripts have to be added into where the rest of the official tasks are located.
cd $HOME && mkdir -p fleet_adapter_lionsbot_ws/src
cd fleet_adapter_lionsbot_ws/
git clone https://github.com/lionsbot-official/fleet_adapter_lionsbot --branch rmf/22.09 --single-branch --depth 1 src
source /opt/ros/humble/setup.bash
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src --ignore-src --rosdistro $ROS_DISTRO -yr
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
🐳 Alternatively, if you like to use Docker and avoid the hassle of resolving dependency conflicts, please run the commands below instead:
cd $HOME
git clone https://github.com/lionsbot-official/fleet_adapter_lionsbot --branch rmf/22.09 --single-branch --depth 1 && cd fleet_adapter_lionsbot
Build docker image for fleet_adapter_r3
:
docker build -f r3_Dockerfile -t fleet_adapter_lionsbot:r3 .
Build docker image for fleet_adapter_leoscrub
:
docker build -f leoscrub_Dockerfile -t fleet_adapter_lionsbot:leoscrub .
ros2 run fleet_adapter_r3 fleet_adapter_r3 -c config.yaml -n nav_graph.yaml -d dock_summary.yaml
🐳 Alternatively, if you used the Docker instructions above to build, please run the commands below instead:
Build and run docker container for fleet_adapter_r3
:
docker run -it --rm \
--network host \
-v /dev/shm:/dev/shm \
--name fleet_adapter_lionsbot_r3_c \
fleet_adapter_lionsbot:r3 bash -c \
"ros2 run fleet_adapter_r3 fleet_adapter \
-c /fleet_adapter_r3_ws/src/fleet_adapter_r3/configs/config.yaml \
-n /fleet_adapter_r3_ws/src/fleet_adapter_r3/configs/nav_graph.yaml \
-d /fleet_adapter_r3_ws/src/fleet_adapter_r3/configs/dock_summary.yaml"
Build and run docker container for fleet_adapter_leoscrub
:
docker run -it --rm \
--network host \
-v /dev/shm:/dev/shm \
--name fleet_adapter_lionsbot_leoscrub_c \
fleet_adapter_lionsbot:leoscrub bash -c \
"ros2 run fleet_adapter_leoscrub fleet_adapter \
-c /fleet_adapter_leoscrub_ws/src/fleet_adapter_leoscrub/configs/config.yaml \
-n /fleet_adapter_leoscrub_ws/src/fleet_adapter_leoscrub/configs/nav_graph.yaml \
-d /fleet_adapter_leoscrub_ws/src/fleet_adapter_leoscrub/configs/dock_summary.yaml"