Navigate the Red Planet with Husky + UR3 + Robotis Gripper
This tutorial guided students through implementing SLAM on the Red Planet with the course mobile manipulator in Mars-themed Gazebo worlds.
The Fall 2025 handout also listed dust storms, uneven terrain and NASA rover data. None of these are in the linked worlds.
# Clone the Mars world repository
# (fork of itsyashk/ros2-dual-robot-slam-explorer; the final rubric v11 marks it not recommended
# because of missing mesh paths - use the Mars Thanksgiving World instead)
cd ~/assignment4_ws/src
git clone https://github.com/kulbir-ahluwalia/ros2-dual-robot-slam-explorer.git
# Install dependencies
cd ~/assignment4_ws
rosdep install --from-paths src --ignore-src -r -y
# Build the workspace
colcon build
source install/setup.bash
# Launch files in the linked dual-robot repo (they do not run as is; see below)
ros2 launch mars_simulation two_robots_sim.launch.py
# In a new terminal, start SLAM Toolbox with the repo's parameters
ros2 launch mars_robots mapping.launch.py
# Start teleoperation (optional)
ros2 run teleop_twist_keyboard teleop_twist_keyboard
These steps do not run from the linked repository: its mars_simulation folder is not a ROS 2 package (no package.xml), the launch file refers to a mars_robot.urdf the repository does not contain (it ships only mars_robot.urdf.xacro), and it uses Gazebo Classic (gazebo_ros), which has no ROS 2 Jazzy release. Rubric v11 recommended the Mars Thanksgiving World, which was shared with enrolled students and is not public.
Complete SLAM during a simulated Mars dust storm with reduced visibility!
Fall 2025 handout text (not a runnable command: no/mars_environment node exists in the linked repositories)
# Enable dust storm mode
ros2 param set /mars_environment enable_dust_storm true
ros2 param set /mars_environment dust_density 0.7
| Metric | Earth Performance | Mars Challenge | Points |
|---|---|---|---|
| Map Completeness | >95% | >90% in Mars terrain | 15 |
| Localization Error | <10cm | <20cm with reduced traction | 10 |
| Loop Closure Success | 100% | >80% in dust conditions | 10 |
| Sample Collection | N/A | 5+ Mars rocks collected | 15 |
# Increase odometry uncertainty
ros2 param set /husky_controller odom_covariance_xy 0.1
ros2 param set /ekf_filter imu_weight 0.8
# Mars gravity compensation
ros2 param set /ur3_controller gravity_compensation 3.71
ros2 param set /ur3_controller pid_p 0.6
# Adjust RTAB-Map parameters for Mars
ros2 param set /rtabmap Vis/FeatureType 6 # GFTT/BRIEF features (type 6)
ros2 param set /rtabmap Vis/MaxFeatures 2000
ros2 param set /rtabmap RGBD/OptimizeMaxError 0.5
"I couldn't sleep last night because I was so excited SLAMing on MARS!!" - a CS498GC student
Fall 2025 archive.