![]() |
NASA Astrobee Robot Software
Astrobee Version:
Flight software for the Astrobee robots operating inside the International Space Station.
|
Depending on the context, flight software might switch localization systems. For example, in free-flight sparse mapping is used to localize the robot. However, the accuracy of this method (several centimeters) is not high enough to ensure reliable docking. Thus, when approaching the dock, flight software will switch to another localization mechanism (marker tracking), which localizes by visually tracking targets on the dock itself with a different camera. The localization manager is responsible for carrying out a controlled switch between the two localization systems, continually monitoring the health of the active localization system, and falling back to a safe localization system automatically when there is a problem.
The localization manager supports the following localization pipelines:
Refer to the image below. Each localization system can be thought of as a pipeline that converts raw measurements from a sensor into features. Since there is a delay in this pipeline, a registration pulse is sent as soon as the image is received, and this is used in the update step of the filter to perform a delay-aware correction of the state estimate. The set_input service on the EKF is essentially a multiplexer, which passes only one pipeline's features into the filter at any point.
In order to perform a safe switch, the localization manager must run through a fixed sequence of steps:
If step [5] above fails the localization manager falls back to the previous pipeline so that the platform remains stable.
If step [7] above fails the localization manager automatically switches back to the fallback pipeline, which is set to sparse mapping.