cd ros2_ws/src
git clone https://github.com/REGATTE/MultiAgentMapping.git --recursiveLIO_SAM code has been modified and added to the main package.
- Install required dependencies:
sudo apt install ros-<ros2-version>-perception-pcl \
ros-<ros2-version>-pcl-msgs \
ros-<ros2-version>-vision-opencv \
ros-<ros2-version>-xacroReplace
<ros2-version>with your ROS 2 distribution (e.g.,humbleorfoxy).
-
Ensure Eigen version 3.4.0 is installed.
-
Install GTSAM:
sudo add-apt-repository ppa:borglab/gtsam-release-4.2
sudo apt install libgtsam-dev libgtsam-unstable-devcd ros2_ws
colcon build --symlink-install- Open Isaac Sim.
- Go to
Window > Extensions. - Click on the three stripes menu in the top-right corner and select Settings.
- In the settings panel, click the green (+) button and add the absolute path to the
isaacsim_extension/extsdirectory. - The extension should now be loaded.
- Start Isaac Sim using your preferred method.
- Activate the extension.
- Choose the environment and robot setup:
scout_1_1,scout_2_2,scout_3_3, orscout_4_4.
- Set the ROS 2 domain ID for the desired robot:
export ROS_DOMAIN_ID=xReplace x with the robot's ID number. For example, for scout_1_1, use:
export ROS_DOMAIN_ID=1Run this in every terminal window related to the robot
- Launch PointCloud2 Updater to include rings in the msg data
ros2 launch pcl_ring_publisher ring_publisher.launch.py robot_namespace:=scout_x_x- Launch LIO-SAM with the corresponding configuration file:
ros2 launch lio_sam run.launch.py params_file:=/path/to/Config/LIO_SAM/scout_1_1.yamlReplace the path with the actual path to your YAML configuration file.
- Ensure all robots have distinct ROS domain IDs to avoid conflicts during multi-robot operation.
- Verify parameter file paths and configurations for each robot before launching.
- Isaac Sim must be running and properly connected to ROS 2 for simulations to work correctly.