Projects / Rover

Rover

A remotely controlled rover for exploring moderately rough terrain.

Role
Electrical and Communications Engineer
Period
June 2025 to August 2026
Programming
Java, C, Python

Goal

Some terrain is better explored by robots. Our team's goal was to create a remotely controlled rover that can navigate moderately rough terrain and transport payloads while capturing data from various sensors. This was for the Cars4Mars Challenge.

Mechanical Design

While I wasn't directly involved on this team, I learned quite a bit about the mechanical design and construction aspects of the rover. This particular design is called a "rocker-bogie" system; it is quite stable and has a high clearance (and is used in NASA's Curiosity and Perseverance rovers).

The frame is constructed using aluminium struts and the arms from PVC pipes. The pivots and wheel connectors are 3D printed with PLA, but a more durable material would have been a better choice here; these were constant points of failure during testing. The wheels are 3D printed with TPU, which is more flexible than PLA.

Power

The power system consists of three main components:

  • Motor: 7 W 12 V brushed geared DC motors with 59 Ncm at 60 rpm.
    • Electrical Power: 7 W at 12 V means the average operating current is about 0.6 A.
      However, the maximum (stall) current is 5 to 10 times higher.
    • Mechanical Power: Torque of 59 Ncm at 60 rpm means 3.7 W of power.
      The motor has an efficiency of about 50% due to gearbox and brush losses.
    • Type: The motor can operate on direct current (as opposed to AC) and has brushes to maintain contact with the shaft.
      A gearbox is built-in since the rotor spins at a much higher rpm.
  • Battery:
    • Trial 1: 14.8 V 5.2 Ah Lithium-ion NMC (Nickel Manganese Cobalt Oxide)
    • Trial 2: 12.8 V 12 Ah Lithium (FePO4) Iron Phosphate
    • Connected components should be able to handle the rated voltage. Total current drawn should not exceed the battery's rated capacity. Battery chemistry determines qualities like the energy density, recharge time and operating temperatures.
  • Driver: Power H-bridge 43A Module
    • Controls the amount of power and direction of current delivered to the motor using MOSFETs and an IC.
    • Power rating should be within limits of battery and motor.

An ESP32 WROOM provides the control signals for the driver. It can create a hotspot and run a server, allowing for remote control.

Communications

While the ESP32 is sufficient for basic communication and control, to maintain a live feed and allow autonomous navigation, more complexity is required. Typically, an ESP32-CAM or single board computer like a Raspberry Pi 4 with a camera module would be used. This solution uses a smartphone instead - they are more accessible and have higher quality cameras. To interface with the motor drivers and other sensors, it is wired to a microcontroller (Raspberry Pi Pico) and runs a custom application built on Kai Morich's Simple USB Terminal. The smartphone's mobile hotspot provides a network that exposes a live camera feed and control services; the range can be extended using a router.

Project Management

A reflection on team work.

A team reaching their goal depends on many things aligning, and this requires people with different skillsets. Funding is a critical dependency - many of the components required to build the rover are expensive. Once funding is acquired, it is essential that a few technical members take responsibility for different subsystems. Work tends to get finished quicker with more people, but without ownership, it is easy for things to fall apart. Someone needs to ensure the team is heading in the right direction and making the right choices. Equally important is the chance to allow members to explore their capabilities and take responsibility for their work - you learn so much and get confidence in your craft by doing things, especially alongside people that know much more than you do.