Overview
During the 2024 Tohoku University Engineering Summer Program, I participated in a four-person Space Robotics project to develop a rover for sandy terrain. The project brought together mechanical construction, visual localization, obstacle mapping, path planning, and motor control.
The prototype used a Raspberry Pi 4 and LEGO EV3 brick, with ROS connecting the perception and mission-control components.
System Architecture
The system separates visual processing, mission control, and motor execution:
- PC and RealSense camera: rock and robot detection, visual measurements, and obstacle-map construction.
- Raspberry Pi 4: mission control, path planning, and path following.
- LEGO EV3 brick: low-level motor control and execution of motion commands.
- ROS: message-based communication between the perception, planning, and control modules.
Perception and Planning
ArUco Localization
ArUco markers provide the rover’s position and heading in a planar map frame. The state, represented as x, y, and theta, supplies the pose information needed for planning and path following.
Obstacle Mapping
The perception pipeline combines task-specific YOLOv8 fine-tuning, coordinate transformations, and OpenCV-based sandbox-contour extraction. Camera detections are converted into a map representation containing obstacles and the traversable boundary.
Clearance-Aware A* Search
A* searches for a route through the grid map, favoring cells away from obstacles and sandbox boundaries. This clearance preference gives the rover additional room for heading corrections and motion uncertainty.
Hardware and Control
Finned wheels increase traction on sand. The drive uses three motors: independent motors for the two front wheels and a shared rear-wheel motor.
The PD controller uses position and heading errors to adjust wheel speeds. Differential front-wheel commands correct the rover’s heading as it follows the planned route.
Project Outcome
The rover demonstrated mobility on sand, and the perception, localization, planning, and control subsystems were developed and tested individually. These components established the basis for subsequent full-system integration.
The project provided hands-on experience with how map coordinates, communication timing, actuator behavior, and traction interact in a mobile robotic system.