Using hazard avoidance software for a safe journey
To safeguard against the rover getting lost or inadvertently crashing into unexpected obstacles, engineers have developed software to help the rover make its own safety choices and to "think on its own." The rover hazard avoidance software stops the rover on an average of every 10 seconds, reassessing the situation and computing its next move for the next 40-50 seconds, after which it begins traveling again. With the hazard avoidance software, the rover can travel safely an average of 30 centimeters (1 foot).
How much does it see? The rover uses pairs of Hazcam images to map out the shape of the terrain as far as 3 meters (10 feet) in front of it, in a "wedge" shape that is over 4 meters wide at the farthest distance. It needs to see far to either side because unlike human eyes, the Hazcam cameras cannot move independently; they´re mounted directly to the rover body.
Who chooses where it should go? Using visuals previously downlinked from the Navcams, the scientists and engineers give the rover a "go to waypoint" command, which includes the distance and heading of the intended destination. Later commands give the locations of the targets where the rover should deploy the science instruments. So people tell it what its goal is, but the rover chooses the best way to get there.
The "go to waypoint" command also contains a coordinate "boundary" of acceptable distance from the target. This boundary gives the flight team a high level of confidence that the rover will avoid driving on or over the target or into dangerous terrain that was out of the line of sight from the Navcams, and also prevents the rover from spending too much time getting to an "exact" location, since it might have slipped a little anyway.
The "go to waypoint" command includes time and distance limits that protect both against missing the target and also against being diverted too far from the goal by obstacles. If the ground is known to be safe, something like15 to 25% of the line of sight distance (relative to the target) could be given as the limit. For example, if the target is 60 centimeters (2 feet) away on flat surface, and the rover is still moving after 2 minutes (1 minute longer than the trip should have taken), something most likely is wrong and the rover will stop. Fixed time limits are also given to the rover wheels for each "step" that the rover takes when going to a waypoint. If the rover were to get stuck on a single step, this limit would prevent it from running the wheel motors until the overall timeout for the "go to waypoint" command expired (which could potentially be very long, perhaps tens of minutes to hours for far field traverses).
The autonomous hazard avoidance software works in conjunction with the Hazcams, wheel odometry, and the Inertial Measurement Unit (IMU).
[Next part of the story]