Lidar inertial 2D SLAM
┌─────────────┐ ┌──────────────────────┐ ┌─────────────────┐
│ PLidar C1 │────▶│ rf2o_laser_odometry │────▶│ │
│ /scan │ │ (laser odom) │ │ robot_locali- │ ┌───────────────┐
└─────────────┘ └──────────────────────┘ │ sation (EKF) │────▶│ SLAM Toolbox │
│ │ │ /odom │
┌─────────────┐ │ Fused /odom │ └───────────────┘
│ IMU │─────────────────────────────────▶│ │
│ /imu │ └─────────────────┘
└─────────────┘Lidar only 2D SLAM
┌─────────────┐ ┌──────────────────────┐ ┌─────────────────┐
│ PLidar C1 │────▶│ rf2o_laser_odometry │────▶│ SLAM Toolbox │
│ /scan │ │ (laser odom) │ │ /odom │
└─────────────┘ └──────────────────────┘ └─────────────────┘Docker stuff:
Build docker image:
docker build -f tools/Docker/dockerfile_ros_humble_slam_toolbox/Dockerfile -t ancle_slam_toolbox_humble_image .Starting container:
docker run -it --rm\
--net=host \
--env="DISPLAY=$DISPLAY" \
--env="QT_X11_NO_MITSHM=1" \
--env="XAUTHORITY=$XAUTH" \
--volume="/tmp/.X11-unix:/tmp/. X11-unix:rw" \
--runtime nvidia \
--gpus all \
--device=/dev/cyglidar:/dev/cyglidar \
--device=/dev/rplidar:/dev/rplidar \
--device=$(readlink -f /dev/cyglidar) \
--device=$(readlink -f /dev/rplidar) \
--device=/dev/i2c-7:/dev/i2c-7 \
-v /home/robotuna/ANCLE:/home/ANCLE \
--name ancle_slam_toolbox_humble_container \
ancle_slam_toolbox_humble_image \
bashContainer in new terminal window:
docker exec -it ancle_slam_toolbox_humble_container bashRun lidar inertial slam
Basic launch:
ros2 launch ancle_pkg lidar_inertial_slam_launch.pyOr without rviz:
ros2 launch ancle_pkg lidar_inertial_slam_launch.py use_rviz:=falseRun lidar only slam
Basic launch:
ros2 launch ancle_pkg lidar_only_slam_launch.py Or without rviz:
ros2 launch ancle_pkg lidar_only_slam_launch.py use_rviz:=falseRun nav2 multi lidar inertial slam + obstacle detection
Start both lidar + lidar inertial slam:
ros2 launch ancle_pkg nav2_multi_lidar_inertial_slam_launch.py Once everything looks set up, start rviz:
ros2 launch nav2_bringup navigation_launch.py params_file:=/ros2_ws/src/ancle_pkg/config/nav2_config.yaml