Astrobee is a collection of free-flying robots developed by NASA to operate inside the International Space Station (ISS). These robots are designed to assist astronauts with routine tasks, conduct experiments, and perform inspections. The software and tools that enable these capabilities are part of the Astrobee Robot Software package, which includes components for autonomous navigation, vision-based localization, and human-robot interaction.
Sparse mapping is a technique used to create a map of an environment by identifying and storing distinctive visual features and their associated 3D positions. This map is used by Astrobee for accurate localization within the ISS. Here's an overview of how sparse mapping is performed by Astrobee:
A Vocabulary Database is a structured collection of visual features that allows for rapid comparison and matching of images. It is derived from a technique called Bag of Words (BoW), which is commonly used in computer vision and robotics for visual recognition and localization.
Feature Extraction:
Creating the Vocabulary:
Image Representation:
Database Creation:
Quick Lookup:
Feature Matching:
Robust Localization:
Astrobee uses a ROS (Robot Operating System) node to process images and localize itself within the map:
/hw/cam_nav
topic.nvm_visualize
to view the map and images in 3D.localize
.localize_cams
to test localization across multiple images and compare positions.extract_submap.py
to create smaller maps from a larger map.merge_maps.py
.grow_map.py
.reduce_map.py
to eliminate redundant images without sacrificing map quality.Astrobee employs a strategy for creating and maintaining maps on the ISS: