An open-source, IPEx-inspired planetary rover analogue for sand-field mobility, drill-assisted soil interaction, multimodal teleoperation, and field-test data logging.
This repository supports the paper:
OS-Rover: An Open-Source Planetary Rover for Resource Prospecting with Drill-Assisted Sampling and Multimodal Teleoperation
The repository currently contains the STM32F407IGT6 firmware, Raspberry Pi software, SolidWorks mechanical source files, demonstration video, raw field-test logs, processed output plots, and paper figures used for the experimental analysis.
This project is a terrestrial research prototype inspired by publicly available IPEx/RASSOR-style excavation rover concepts. It is not a flight-ready spacecraft and is not an official NASA project.
OS-Rover is a compact four-wheel skid-steer rover prototype developed as a reproducible terrestrial analogue platform for space robotics education, prototyping, sand-field testing, and human-in-the-loop control research.
The rover integrates:
- Four-wheel skid-steer mobility
- Large-diameter modular wheels with replaceable tread segments
- Drill-assisted soil loosening
- Rotating collection-disc mechanism
- Collection-module arm motion
- Arm-assisted recovery and pit-escape capability
- STM32F407IGT6-based real-time embedded control
- Raspberry Pi 5 high-level computing
- Vision-based gesture teleoperation
- Conventional radio control through FS-i6X / iA6B SBUS receiver
- Optional Bluetooth or terminal command interface
- Serial telemetry logging for field demonstrations
The prototype is intended for laboratory and sand-field experiments rather than vacuum, reduced-gravity, radiation, or flight environments.
Planetary-DrillRover-Teleop/
├── firmware/
│ └── stm32f407igt6_rover_controller/
│
├── software/
│ └── raspberry_pi/
│ ├── bluetooth_bridge/
│ ├── data_logger/
│ └── gesture_control/
│
├── mechanical/
│ └── solidworks_source/
│
├── data/
│ ├── raw_logs/
│ ├── processed_plots/
│ └── paper_figures/
│
├── media/
│ ├── os_rover_demo.mp4
│ └── os_rover_demo_thumbnail.png
│
└── README.md
The supplementary demonstration video is available below.
The video presents 3D CAD model views, vision-based gesture control, collection-module arm motion, collection mechanism activation, four-wheel skid-steer mobility, drill-assisted soil interaction, pit-escape recovery, and telemetry feedback from the field tests.
The STM32 firmware is located in:
firmware/stm32f407igt6_rover_controller/
The firmware includes:
- Four-wheel chassis control
- CAN actuator control
- FS-i6X / iA6B SBUS receiver decoding
- Raspberry Pi serial command parsing
- Command arbitration between radio control and high-level commands
- Telemetry output for experiment logging
The project is configured for the STM32F407IGT6 controller and is organized as an STM32CubeMX / Keil MDK-ARM project.
The Raspberry Pi software is located in:
software/raspberry_pi/
The current software folders include:
gesture_control/: vision-based gesture-control programbluetooth_bridge/: Bluetooth or terminal command bridgedata_logger/: Python-based experiment logging scripts
The Raspberry Pi 5 is used for high-level command generation, gesture recognition, serial communication, and experiment data logging.
The mechanical source files are located in:
mechanical/solidworks_source/
This folder contains the SolidWorks source files for the rover mechanical design, including the rover structure and functional modules.
The released mechanical files include source models related to:
- Rover chassis structure
- Wheel modules
- Drill mechanism
- Collection mechanism
- Collection-module arm structure
These files are provided as the current mechanical source release. Neutral CAD formats such as STEP files and printable STL files may be added in future updates.
The experimental data are located in:
data/
├── raw_logs/
├── processed_plots/
└── paper_figures/
raw_logs/contains the original CSV telemetry logs recorded during field tests.processed_plots/contains output plots generated from the recorded log data.paper_figures/contains the final processed figures used in the paper.
The released data correspond to three field-test scenarios:
- Flat-sand mobility and collection test
- Slope-sand traversal test
- Pit-escape recovery test
The logs include telemetry information such as wheel commands, control source, drill command, collection-disc command, collection-module arm state, and actuator feedback.
This scenario evaluates basic mobility, drill-assisted soil interaction, and collection-related actuation on flat sand.
This scenario evaluates rover motion on inclined sandy terrain while recording the activity of the chassis and soil-working mechanisms.
This scenario evaluates recovery behavior using coordinated chassis motion, drill actuation, collection-module arm motion, and collection mechanism activation.
git clone https://github.com/ZhenzheXu/Planetary-DrillRover-Teleop.git
cd Planetary-DrillRover-TeleopOpen the Keil project inside:
firmware/stm32f407igt6_rover_controller/MDK-ARM/
or open the STM32CubeMX configuration file:
firmware/stm32f407igt6_rover_controller/can.ioc
Raspberry Pi scripts are organized under:
software/raspberry_pi/
The gesture-control, Bluetooth bridge, and data-logging scripts are provided as the current high-level software release.
This repository is under active development.
Current release contents:
- STM32F407IGT6 rover-control firmware
- Raspberry Pi software folders
- SolidWorks mechanical source files
- Demonstration video
- Raw field-test logs
- Processed output plots
- Paper figures used for experimental analysis
Future updates may include additional wiring diagrams, neutral CAD exchange files, printable STL files, assembly notes, and extended operation documentation.
If you use this repository in academic work, please cite the related paper or this repository.
@misc{xu_planetary_drill_rover_2026,
author = {Xu, Zhenzhe},
title = {Planetary-DrillRover-Teleop: Open-source planetary drill rover teleoperation platform},
year = {2026},
howpublished = {GitHub repository},
url = {https://github.com/ZhenzheXu/Planetary-DrillRover-Teleop}
}A license file will be added before the final public release.
Recommended license structure:
- Firmware and software: MIT License or Apache-2.0
- Mechanical design files: CERN Open Hardware Licence or Creative Commons Attribution license
This project is a research prototype intended for education, experimentation, and prototyping. It must be operated only by trained personnel in a controlled environment. Users are fully responsible for safe assembly, wiring, battery handling, and field operation. Do not operate the rover near people, unstable terrain, or hazardous conditions. The prototype is not intended for spaceflight, human-rated operation, or use in hazardous environments.



