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 following paper, which has been accepted for presentation at the 2026 International Conference on Space Robotics (iSpaRo 2026):
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.
OS-Rover/
├── 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
│
├── LICENSE
└── 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/OpenSpace-Lab/OS-Rover.git
cd OS-RoverOpen 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 conference paper and, when appropriate, the repository.
@inproceedings{xu_os_rover_2026,
author = {Xu, Zhenzhe and Sun, Ruizhe and Hou, Haoran and Li, Dong and Yuan, Jingze and Zhan, Zengyu and Zhang, Haoyuan and Li, Yuchen and Chen, Long},
title = {{OS-Rover}: An Open-Source Planetary Rover for Resource Prospecting with Drill-Assisted Sampling and Multimodal Teleoperation},
booktitle = {2026 International Conference on Space Robotics (iSpaRo 2026)},
year = {2026},
note = {Accepted for presentation}
}@misc{openspace_lab_os_rover_2026,
author = {{OpenSpace Lab}},
title = {{OS-Rover}: Open-source planetary rover platform},
year = {2026},
howpublished = {GitHub repository},
url = {https://github.com/OpenSpace-Lab/OS-Rover}
}This repository is released under the MIT License. Unless otherwise stated, the license applies to the software and associated documentation distributed in this repository. Third-party components remain subject to their respective licenses.
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.



