30% off your first 3 months

Get the deal

How Mars rovers drive with a signal delay

by DuckyHelperNov 12, 20265 min read
Robotics

TL;DR:

  • Radio signals travel at the speed of light, so the one-way delay between Earth and Mars is about 3 to 22 minutes depending on where the planets are.

  • That makes live driving impossible, so teams plan a drive from images, send it up once, and the rover executes it.

  • Onboard autonomy and hazard cameras let the rover stop or steer around trouble on its own.

Imagine driving a toy car by remote control, except every command takes ten minutes to arrive and the picture you see is ten minutes old. You would never dare to move more than a few centimeters. That is the situation for anyone controlling a rover on Mars, and it shapes how the machines are built and used.

Light travel time between Earth and Mars

Radio waves travel at the speed of light, c ≈ 299,792 km/s. The delay is distance divided by c. The Earth to Mars distance changes as both planets orbit the Sun: roughly 55,000,000 km at the closest approach and roughly 400,000,000 km when they are on opposite sides of the Sun. Check NASA for the current distance on any given day.

  1. Closest: 55,000,000 / 299,792 ≈ 183 s, about 3 minutes one way.

  2. Farthest: 400,000,000 / 299,792 ≈ 1,334 s, about 22 minutes one way.

  3. A middle distance of 225,000,000 km: 225,000,000 / 299,792 ≈ 750 s, which is 12.5 minutes one way.

A question and its answer need a round trip, which is twice the one-way time: about 25 minutes at the middle distance. Also, around the time the Sun lies between the two planets, communication is limited by the Sun's interference, and missions usually reduce commanding for a while.

Worked example: planning a day of driving in advance

First, why joystick driving fails. Suppose each step is: send a command, move 1 m, look at the new picture, decide the next step. At the middle distance, every step costs a 25 minute round trip before the new picture can even be seen. A 100 m drive would take 100 × 25 = 2,500 minutes, almost 42 hours, and that is without any time for the rover to move or for people to sleep.

Mission teams do something else. The rover has finished its work for the sol (a Martian day, about 24 hours 39 minutes, so 24.65 h) and sent its images and data back. The team studies the terrain and writes a plan for the next sol.

  1. Look at the downlinked navigation images and build a 3D picture of the ground ahead. Mark rocks, slopes and soft sand.

  2. Choose a route to a target 60 m away, with waypoints about every 10 m that avoid the hazards.

  3. Write the command sequence for the day: drive to each waypoint, take pictures, then rest.

  4. Check the sequence in simulation against the terrain model, and check that the rover will have enough power and a time window for sending data back.

  5. Uplink the sequence once, at the start of the rover's morning.

As a hypothetical, suppose the rover's average speed, including stops to look around, is 0.03 m/s. A 60 m drive takes 60 / 0.03 = 2,000 s, about 33 minutes. Compare 33 minutes of driving with 42 hours of joystick steps. The plan gets the same distance in under an hour because the delay is paid only once, when the plan is sent.

Autonomy and hazard cameras

A plan written from yesterday's pictures cannot know about everything. So rovers carry cameras at the front and back, commonly called hazard cameras, and a mast with navigation cameras. On autonomous drives, the rover takes stereo pictures, builds a local map of the ground, and picks its own safe path through the corridor the team allowed.

It also has safety limits. If its tilt exceeds a set angle, if a wheel's motor current spikes as if it has hit something, or if the planned path is blocked, it stops and waits for instructions. Stopping and calling home is the right behaviour, because a stuck rover is recoverable and a tipped one may not be.

More autonomy lets the rover drive farther per sol. The trade is that onboard computing power is limited and any new software must be tested thoroughly, since nobody can reboot it by hand.

Where it goes wrong

  • Wheel slip. On loose sand, the wheels turn but the rover moves less than expected, so its position estimate is wrong. It tracks wheel odometry and compares with images.

  • Unseen hazards. Shadows and low contrast hide rocks and slopes from the cameras.

  • Missed windows. Communication passes with orbiters or Earth are limited. A plan that overruns may lose its data.

  • Power. Solar and nuclear power budgets, along with the cold, limit what a rover can do in a sol.

  • Software faults. Any bug must be found before launch or fixed by a remote update.

Your own delay experiment: You can feel the problem with a robot at home. Add an artificial 2 second delay to a remote-controlled car's commands in software and try to park it. It is safe, cheap and very instructive. Keep the car's wheels off the ground or away from people and pets for the first tests.

How real robots use it

The same ideas, plan ahead, send once, and let the robot handle surprises, appear anywhere communication is slow or unreliable, including deep-sea vehicles, as in underwater navigation without GPS. Groups of simple robots that run on local rules, with no one steering them, take autonomy in a different direction, discussed in swarm robotics.

Try it yourself

Look up today's Earth to Mars distance from an official NASA source, divide by 299,792 km/s, and convert to minutes. Then plan a 20 m route over a tabletop obstacle course of books on paper, using only a top-down photo, and mark five waypoints. Ask a friend to follow your waypoints blindfolded in a safe room to see where your plan needed more information.

Frequently asked questions

Can a faster radio reduce the delay?

No. A higher data rate sends more bits per second, but the signal still travels at the speed of light, so the delay stays.

Why not put a human-style driver on board?

That is what autonomy aims for, but it takes careful software and testing. Teams add it gradually and keep humans in the planning loop.

Get started

DuckyHelper can
do more

It sees your screen and works in any app you use. Try it for 10 minutes, no card.

Get it for Mac, Windows or Linux

Share

Questions and jobs

Do anything

Ask it a question or hand it a job, in any app.

Doing jobs for you is in early access on Mac. Asking works on Mac, Windows and Linux.