One of the highly desired enhancements to the Mars Exploration Rover (MER) and Phoenix flight missions was the centralized coordinate transform database maintained onboard. Without the database, there are quite a few operations that require cumbersome, error-prone manual calculations on the ground such as pointing a mast camera to an arm tool and driving the rover to the goal defined in a previous site. The Mars Science Laboratory (MSL) Frame Manager flight software implements a centralized frame tree database, which eliminates these cumbersome, error-prone calculations of coordinate entries for commands.
The Frame Manager flight software maintains the frame tree database containing coordinate transforms between frames. The frame tree is a proper tree structure of directed links consisting of surface and rover subtrees. Actual frame transforms are updated by their owner. Frame Manager updates site and saved frames for the surface tree. As the rover drives to a new area, a new site frame with an incremented site index can be created. Through the onboard centralized Frame Manager frame tree database, client modules can query transforms between any two frames. Future flight missions such as Mars 2020 will be based on MSL flight software, and Frame Manager is one of those modules.