Monorepo for the swarm bot design project.
Install Isaac sim. See install instructions Also make sure to setup cache and nucleus as instructed.
Install ROS Noetic.
Install catkin tools.
If not already done so, install rodep. Follow steps up to and including 2.2.
Install ROS Navigation stack: sudo apt-get install ros-$ROS_DISTRO-navigation
.
Go to the root of this workspace. Run the rosdep command to install any missing dependencies: rosdep install --from-paths src --ignore-src -r -y
.
Build the workspace: catkin build
Source the workspace: source devel/setup.bash
-
Run
roscore
. Source this workspace. -
Run
roslaunch fydp_mapping multiple_robot_navigation.launch
. This starts the navigation stack. -
Run
roslaunch fydp_mapping topic_inject.launch
. This starts the nodes responsible for remapping frames and namespaces. -
Run
roslaunch fydp_mapping merge_multiple_map.launch
. This starts the merge mapping nodes. -
Run
roslaunch fydp_mapping dock_commands.launch command:=u
. This starts the undocking sequence for robots. -
Run
rosrun fydp_mapping map_listener.py
which starts a listener node responsible for starting the mapping process once it recieves confirmation. Alternatively, runroslaunch fydp_mapping fydp_slam_toolbox_map.launch
to trigger this process manually. -
Run
rosrun fydp_mapping explore_listener.py
which starts a listener node responsible for starting the exploration process once it recieves confirmation. Alternatively, runroslaunch explore_lite explore_slam_costmap_multi_robot.launch
to trigger this process manually. -
Navigate to
swarm/src/fydp_mapping/launch/
-
Source workspace. Run
roslaunch fydp_mapping multiple_robot_navigation.launch
-
Source workspace. Run
roslaunch fydp_mapping topic_inject.launch
-
Source workspace. Run
roslaunch fydp_mapping dock_commands.launch command:=u
-
Source workspace. Run
roslaunch fydp_mapping isaac_gmapping_test.launch
-
Source workspace. Run
roslaunch fydp_mapping isaac_merge_multiple_map_test.launch
-
Source workspace. Run
roslaunch explore_lite explore_costmap_multi_robot_test.launch
-
To control the robots via keyboard tele-operation run
rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=carter1/cmd_vel
. Replace the robot number with the specific one. -
Alternatively, to control robots via joystick run
rosrun joy joy_node
followed byrosrun fydp_mapping turtlebot4_joystick.py
.