CS498GC Fall 2025 | Assignment 4 Extra Credit
Transform your Husky + UR3 robot into a Mars explorer!
Get started with Mars exploration in 3 steps:
Command a Husky mobile base equipped with a UR3 manipulator arm and precision gripper. This configuration mirrors real Mars rover designs!
Navigate realistic Martian terrain using actual NASA/JPL elevation data and surface textures from Mars orbital imagery.
Ancient river delta with diverse geological features. Perfect for navigation challenges.
ros2 launch mars_worlds jezero_crater.launch.py
Explore the largest volcano in the solar system. Extreme terrain for advanced users.
ros2 launch mars_worlds olympus_mons.launch.py
Simulated research station with sample collection zones and charging stations.
ros2 launch mars_worlds base_alpha.launch.py
# Clone the Mars worlds repository
cd ~/ros2_ws/src
git clone https://github.com/LRCJ/GazeboMarsRover2.git
# This repository includes real NASA HiRISE Mars terrain data
# Install dependencies
sudo apt-get update
sudo apt-get install ros-${ROS_DISTRO}-gazebo-ros-pkgs
sudo apt-get install ros-${ROS_DISTRO}-gazebo-msgs
# Download Mars texture packs (2GB)
cd mars_gazebo_terrains
./scripts/download_textures.sh
# Build the workspace
cd ~/ros2_ws
colcon build --packages-select mars_gazebo_terrains
source install/setup.bash
Create your own Mars exploration scenario by modifying world files:
<?xml version="1.0"?>
<sdf version="1.6">
<world name="mars_exploration">
<!-- Mars sky and lighting -->
<include>
<uri>model://mars_sky</uri>
</include>
<!-- Jezero Crater terrain -->
<include>
<uri>model://jezero_crater_terrain</uri>
<pose>0 0 0 0 0 0</pose>
</include>
<!-- Add rock samples for collection -->
<include>
<uri>model://mars_rock_sample</uri>
<pose>5 5 0.5 0 0 0</pose>
<name>sample_01</name>
</include>
</world>
</sdf>
Configure ROS2 Jazzy/Humble with Gazebo Harmonic
source /opt/ros/jazzy/setup.bash
cd ~/ros2_ws
colcon build --packages-select husky_ur3_simulation
Start the complete Mars exploration environment
ros2 launch husky_ur3_mars mars_exploration.launch.py
Initialize robot controllers and teleoperation
ros2 launch husky_ur3_simulation controllers.launch.py
ros2 run teleop_twist_keyboard teleop_twist_keyboard
Start autonomous navigation and manipulation
ros2 launch mars_mission mission_control.launch.py
command_interface: "velocity" to your controllers.yaml file
export LIBGL_ALWAYS_SOFTWARE=1 before launching Gazebo
timeout=5.0
Complete walkthrough of Assignment 4 with Mars terrain navigation
Watch Demo (45 min)Detailed overview of robot capabilities and sensors
Robot Overview (15 min)ros2 topic pub -1 /rh_p12_rn_position/command std_msgs/msg/Float64 '{data: 0.0}'
ros2 topic pub -1 /rh_p12_rn_position/command std_msgs/msg/Float64 '{data: 1.05}'
Successfully completed the Mars exploration challenge? Share your achievement!
Outstanding Mars exploration implementations will be featured here!
Awaiting submissions...
Criteria: Fastest crater traversal with obstacle avoidanceAwaiting submissions...
Criteria: Most samples collected in 30 secondsAwaiting submissions...
Criteria: Innovative approach to Mars exploration| Metric | Current Record | Holder | Date |
|---|---|---|---|
| Fastest Crater Crossing | - | - | - |
| Most Samples Collected | - | - | - |
| Longest Autonomous Run | - | - | - |
| Most Accurate SLAM Map | - | - | - |
CS498GC Mobile Robotics | Fall 2025 | University of Illinois at Urbana-Champaign
Professor Girish Chowdhary | TA: Kulbir Singh Ahluwalia