SLAMBOX ros driver is a ROS package to communicate with SLAMBOX.
- ROS humble (Recommended)
- SLAMBOX-SDK (v0.2.0)
- glog (>=v0.6.0)
- PCL (tested on v1.12.0)
- ros PCL
- ros PCL conversions
- CMake (>= 3.16.3)
- docker (Optional but highly recommended)
dialout
group permission. Use below command to includedialout
group to your linux account for UART communication.sudo usermod -aG dialout $USER
- Our docker image includes development environment. We highly recommend docker system.
# Clone this repository git clone https://github.com/j-marple-dev/slambox-ros2.git # Change directory cd slambox-ros2 # Build docker image docker build . -t jmarpledev/slambox-ros2 -f docker/Dockerfile --build-arg UID=$(id -u) --build-arg GID=$(id -u)
-
SLAMBOX-SDK: Please follow installation instruction on https://github.com/j-marple-dev/slambox-sdk
-
Install PCL, PCL conversions, PCL ROS
# Install requirements first
sudo apt install -y libpcl-dev ros-humble-pcl-ros ros-humble-pcl-conversions
# Assuming that your ROS workspace is ~/ros2_ws
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone https://github.com/j-marple-dev/slambox-ros2.git --recursive
cd ../
colcon build --packages-select slambox_ros2
# Choose the shell which you are using
source install/setup.{bash|zsh}
- Please modify config/client.yaml for configuration on client side.
- Make sure SLAMBOX Setting align with the
config.yaml
serial_communication:
enabled: true
port_name: "/dev/ttyUSB0"
baudrate: 921600
ethernet_communication:
enabled: false
server_addr: "192.168.101.101"
port: 21580
publish:
odom_topic: "/SLAMBOX/odom"
pointcloud_topic: "/SLAMBOX/pointcloud"
subscribe:
request_topic: "/SLAMBOX/request"
-
Running ROS node
ros2 launch slambox_ros2 slambox_ros_client_launch.py
-
Check rostopic in another shell
ros2 topic hz /SLAMBOX/odom /SLAMBOX/pointcloud
-
Run docker container for running SLAMBOX-ROS client
docker run -ti --privileged -e DISPLAY=:0 -e TERM=xterm-256color -v /tmp/.X11-unix:/tmp/.X11-unix:ro -v /dev:/dev -v $PWD:/home/user/ros2_ws/src/slambox-ros2 --network host jmarpledev/slambox-ros2 /usr/bin/zsh
-
Run docker container for running SLAMBOX-ROS client with rviz visualization
docker run -ti --privileged -e TERM=xterm-256color -e DISPLAY=:0 -v /dev:/dev -v /tmp/.X11-unix:/tmp/.X11-unix:ro -v $PWD:/home/user/ros2_ws/src/slambox-ros2 --network host jmarpledev/slambox-ros2 /usr/bin/bash -lic "ros2 launch slambox_ros2 slambox_ros_client_launch.py"
-
Run docker container with shell (For development environment)
docker run -ti --privileged -e DISPLAY=:0 -e TERM=xterm-256color -v /tmp/.X11-unix:/tmp/.X11-unix:ro -v /dev:/dev -v $PWD:/home/user/ros2_ws/src/slambox-ros2 --network host jmarpledev/slambox-ros2 /usr/bin/zsh
Please visit https://sbox.jmarple.ai for more information.
- For those who wish to contribute to this proejct please refer to the CONTRIBUING.md.