🚀 SLAM on Mars: Gazebo Tutorial

Navigate the Red Planet with Husky + UR3 + Robotis Gripper

🔥 NEW! Experience SLAM in authentic Mars terrain with NASA-inspired Gazebo worlds!

🌌 Assignment 4 Part 2: Mars SLAM Challenge

Get ready to roll on Mars! This tutorial guides you through implementing SLAM on the Red Planet using our mobile manipulator in realistic Mars environments.

🔴 Mars Environment Features

  • Authentic Mars Terrain: Rocky, uneven surfaces
  • Reduced Gravity: 38% of Earth's gravity
  • Dust Storms: Dynamic visibility challenges
  • Craters & Obstacles: Natural Mars formations
  • Red/Orange Atmosphere: Realistic Mars coloring
  • NASA-Inspired: Based on real Mars rover data

🤖 Robot Configuration

  • Base: Clearpath Husky (adapted for Mars)
  • Arm: UR3 6-DOF manipulator
  • Gripper: Robotis gripper for sample collection
  • Sensors:
    • RGB-D camera for visual SLAM
    • LiDAR for terrain mapping
    • IMU for orientation in low gravity
  • SLAM: RTAB-Map or custom implementation

🛠️ Installation & Setup

Prerequisites

Step 1: Install Mars World Package

# Clone the Mars world repository cd ~/assignment4_ws/src git clone https://github.com/kulbir-ahluwalia/mars_gazebo_worlds.git # Install dependencies cd ~/assignment4_ws rosdep install --from-paths src --ignore-src -r -y # Build the workspace colcon build --packages-select mars_gazebo_worlds source install/setup.bash

Step 2: Launch Mars Environment

# Launch Mars world with Husky robot ros2 launch mars_gazebo_worlds mars_husky_slam.launch.py # In a new terminal, launch SLAM ros2 launch mars_gazebo_worlds mars_slam.launch.py # Start teleoperation (optional) ros2 run teleop_twist_keyboard teleop_twist_keyboard

🎯 SLAM Tasks on Mars

Required Tasks (75 points)

  1. Basic Navigation (15 pts): Navigate through Mars crater field
  2. Sample Collection (15 pts): Use manipulator to collect Mars rocks
  3. Map Generation (15 pts): Create complete 2D/3D map of environment
  4. Loop Closure (10 pts): Demonstrate successful loop closure in Mars terrain
  5. Obstacle Avoidance (10 pts): Navigate around Mars boulders autonomously
  6. Technical Report (10 pts): Document SLAM performance on Mars

🌟 Bonus Challenge: Mars Dust Storm (10 extra points)

Complete SLAM during a simulated Mars dust storm with reduced visibility!

# Enable dust storm mode ros2 param set /mars_environment enable_dust_storm true ros2 param set /mars_environment dust_density 0.7

📊 Performance Metrics

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

🚨 Common Challenges & Solutions

Problem: Reduced traction on sandy Mars surface
Solution: Adjust wheel odometry covariance and use IMU fusion
# Increase odometry uncertainty ros2 param set /husky_controller odom_covariance_xy 0.1 ros2 param set /ekf_filter imu_weight 0.8

Problem: UR3 arm overshoots in 38% gravity
Solution: Adjust PID gains for Mars gravity
# Mars gravity compensation ros2 param set /ur3_controller gravity_compensation 3.71 ros2 param set /ur3_controller pid_p 0.6

Problem: Feature detection difficult in monochrome Mars environment
Solution: Tune visual feature detectors for Mars
# Adjust RTAB-Map parameters for Mars ros2 param set /rtabmap Vis/FeatureType 6 # ORB features ros2 param set /rtabmap Vis/MaxFeatures 2000 ros2 param set /rtabmap RGBD/OptimizeMaxError 0.5

📁 Submission Requirements

Deliverables for Assignment 4 Part 2
  1. Rosbag Recording: 5-minute Mars exploration (include /tf, /map, /odom)
  2. Generated Maps: 2D occupancy grid + 3D pointcloud of Mars terrain
  3. Video Demo: Screen recording showing SLAM in action (3-5 minutes)
  4. Technical Report: 3-page analysis of SLAM performance on Mars
  5. Code: Your SLAM implementation or configuration files
🎯 Pro Tips for Success

🔗 Resources & References

🚀 Student Testimonial

"Even I could not sleep last night because I was so excited SLAMing on MARS!!" - Enthusiastic CS498GC Student

Get ready to roll on the Red Planet! 🔴