cd ros2_ws/src
git clone https://github.com/REGATTE/MultiAgentMapping.git --recursive
LIO_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>-xacro
Replace
<ros2-version>
with your ROS 2 distribution (e.g.,humble
orfoxy
).
-
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-dev
cd 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/exts
directory. - 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=x
Replace x
with the robot's ID number. For example, for scout_1_1
, use:
export ROS_DOMAIN_ID=1
Run 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.yaml
Replace 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.