Skip to content

Free Flyer Guidance

An intravehicular free flyer must hold and change a six degree of freedom state inside a volume it can collide with, without GPS, without a fixed base, and on a processor small enough to fly inside a pressurized module. The three families that have operated on the ISS solve the navigation half differently: ultrasonic ranging, fiducial markers, and visual localization against a prebuilt map [2][1].

AstrobeeCIMON-1 and 2Int-BallInt-Ball2
DeveloperNASADLRJAXAJAXA
Deployed2019 to present2018; 2019 to present2017 to 20192023 to present
Size and shape30 cm cube32 cm sphere15 cm sphere20 cm sphere
Massabout 10 kgabout 5 kgabout 1 kgabout 3 kg
Actuation12 nozzles fed by centrifugal impellers, 300 mN maximum x-nozzle12 propelling fans, about 120 mN maximum in x12 fans at about 3 mN each plus 3 reaction wheels8 propelling fans, 60 to 163 mN each
Navigationgraph localizerstereo camera VSLAM plus IMU fusionmonocular camera, marker basedstereo visual-inertial SLAM, feature based plus IMU fusion
Compute architecturetiered onboard, LLP, MLP and HLPtwo onboard processors plus a ground AI serversingle onboard processorsingle onboard processor
ProcessorsWandboard Dual, InForce IFC6501, InForce IFC6601Pokini F WIFI, AMD A4-6700TArmadillo-810Jetson TX2
SoftwareUbuntu and ROS on LLP and MLP, Android on HLPUbuntu and ROSArmadillo Base OSUbuntu and ROS
PowerLi-ion, automatic docking and rechargeLi-ion, crew-replaceable or wiredLi-ion, USB charge by crewLi-ion, automatic docking and recharge
Operating time on batteries3 h2 h and 3 h2 h3 h

Source: [1], Table 1.

SPHERES: ranging beacons and what they cost

Section titled “SPHERES: ranging beacons and what they cost”

SPHERES localized against fixed ultrasonic beacons, which is why its operating volume was a 2 m cube [3]. Global metrology ran at a maximum 5 Hz update rate, giving position and 1 to 2 degrees of orientation, which caps estimator bandwidth at 2.5 Hz, the theoretical limit for a 5 Hz sampled system [2]. The control loop ran at 50 Hz and the navigation modules sub-sampled it. Each satellite masses 4.3 kg and each thruster produces 0.09 N [2].

Static estimator performance was measured with the satellite held still: all position estimates fell inside a 2 mm by 2 mm box [2]. The docking port Velcro pattern tolerates plus or minus 1.5 cm of position error. Experiments showed that state errors larger than 10 cm degrade behavior, that the glideslope algorithm needs an initial error under 15 cm on the axes it controls, and that with errors above 20 cm in position or 45 degrees in attitude the approach does not work [2]. Fusing the relative estimator with a single beacon estimator raised the effective bandwidth to 50 Hz.

The flight result was the first on-orbit autonomous docking to a tumbling target, achieved over 15 successful experiments in the fifth and sixth ISS test sessions, at a target tumble rate of 2.25 deg/s from 40 cm separation [2]. Terminal performance was range within 3 cm with tangential error regulated within 2 cm under a PD attitude controller.

Astrobee: localization against a prebuilt map

Section titled “Astrobee: localization against a prebuilt map”

Astrobee has no ranging infrastructure. A sparse feature map of the module interior is built offline from imagery, and the robot localizes against it in flight [3]. Mapping is deliberately separated from localization: SURF features are used for map building because they are expensive but computed offline, while BRISK features are used onboard. The original estimator was an augmented-state indirect extended Kalman filter fusing map feature matches, AR tags as the robot approaches its dock, handrail measurements from a depth sensor when it perches, optical flow for velocity, and the IMU. WiFi was evaluated as a localization modality and rejected: the commercial radio and the existing ISS access point geometry do not give sufficient position accuracy. Granite table testing gave position RMSE between about 4.9 and 18 cm and angular RMSE between about 1.3 and 14 degrees depending on configuration [3].

The operational problem was drift and lost events when the prior map does not match a changed environment [4]. The separation of mapping from localization that made the original design tractable is also what makes it brittle when the module is rearranged [3]. AstroLoc replaced the MSCKF-based filter with graph-based optimization, run on Astrobee’s InForce 6501 Micro SoM with a Qualcomm Snapdragon SoC, on a single processing core that runs roughly 10 times slower than an Intel i9-9980HK at 2.4 GHz and shares the machine with a suite of other processes [4].

The design is shaped entirely by that budget [4]:

ParameterValue
Camera rate15 Hz
IMU rate62.5 Hz
Sliding window graph duration3.5 s
Maximum smart factors in the factor graph12
Maximum measurements per smart factor5
Localizer output rateabout 5 Hz, extrapolated to 62.5 Hz by the IMU augmentor
Huber loss threshold1.345

Smart factors avoid explicitly estimating three-dimensional feature positions, and measurement selection reduces off-diagonal terms in the graph Hessian; optimization uses GTSAM with both a relative error threshold and an iteration limit as convergence criteria.

Measured over 12 ISS activities, with a lost event defined as drift exceeding 1.5 m [4]:

MetricPrevious localizerBase GTSAMAstroLoc
Position RMSE, localization mode0.0948 m0.2417 m0.0491 m
Orientation RMSE, localization mode0.0439 rad0.0505 rad0.0275 rad
Position RMSE, VIO mode0.6212 m0.5328 m0.2777 m
Position RMSE with outliers, VIO mode2.4179 m0.7508 m0.3721 m
Lost events, VIO mode220
Average runtime, VIOnot applicable, fixed 62.5 Hz1.0588 s0.1785 s
Average optimization time, VIOnot applicable0.8525 s0.1259 s
Average runtime, VIO plus mapnot applicable1.1335 s0.2050 s

Source: [4]. AstroLoc runs about six times faster than the base GTSAM implementation, an 83 percent runtime decrease and an 85 percent optimization time decrease in VIO mode, and 82 and 84 percent in localization mode.

SPHERES sets the contrast: its 5 Hz metrology capped estimator bandwidth at 2.5 Hz, while Astrobee’s constraint is not sensor rate but the optimization time available per 15 Hz image on one core [2][4].

The operational payoff is measured in crew time rather than meters. Reduced reliance on the prior map cut the activities run specifically to collect new map imagery by about 40 percent and the images per such activity by about 30 percent, and Astrobee has since executed ISS activities with over two hours of flying time [4], against a 3 hour battery endurance [1].

Losing the position fix is the dominant one, and its consequence is crew intervention [4]. On Astrobee the localization fix was occasionally lost during activities, initially mitigated by returning the robot to its dock and renewing the fix by visiting mapped areas, and later by updating the localization algorithms to tolerate environmental change [1][4]. Int-Ball2’s relative pose estimation accumulates error, and post-flight analysis shows about 8 percent of flight time encountering errors that produce a localization shift; the recommendation is absolute navigation references [1].

Sanity checking is therefore built into the estimator rather than left to the operator: the AstroLoc navigation state is checked against a covariance threshold and against a pose history check comparing the localiser output with map-derived poses, and the localiser resets if either fails [4].

Infrastructure fails alongside the robot. Both Astrobee and Int-Ball2 use a dedicated docking station for recharge and wired communication, and separate Astrobee dock anomalies involving its Ethernet connection, plus on-orbit Wi-Fi behavior, caused loss of communication during operations; Int-Ball2 added a wired UART option while docked in response [1]. Docking station and robot problems together led to multiple on-orbit repairs.

Actuation asymmetry is a control problem in confined volumes. Int-Ball2’s eight propellers produce 60 to 163 mN each, and the plant carries aerodynamic drag, fan polarity structure and geometric actuation coupling that classical controllers must be tuned against; drag torque is distinct from the standard thrust-induced torque term [6].

None of the guidance can be tested at full six degrees of freedom on Earth. All three programs used a combination of simulation and partial-gravity surrogates: Astrobee uses a Gazebo simulator plus a granite table facility with two ground models, CIMON used software simulation, ground model testing, an elegant breadboard and hardware-in-the-loop simulation, and Int-Ball2 uses Gazebo, a granite table with a ground model, and hardware-in-the-loop simulation [1]. The granite table constrains motion to a plane, which is why SPHERES-era results distinguish between 2D table results and on-orbit six degree of freedom results [2].

Astrobee’s value as a platform comes from guest scientists deploying software and hardware payloads onto it. Astrobee has four payload bays, of which three can carry guest hardware at once, each bay port supplying 14.4 VDC battery power and USB 2.0 data through a blind-mate connector [1][5]. Guest investigations have spanned autonomous rendezvous and docking between two Astrobees, mapping and change detection inside the station, acoustic mapping, orbital debris capture, path planning, novel grippers, and propellant-free motion in which the perching arm tosses the robot between handrails [5]. Int-Ball2 exposes the same idea through a technology demonstration platform in which user software is uplinked and started under Docker from the ground, with no real-time ground communication during the basic demonstration [1].

References

  1. Yamaguchi, S. P., Mora Vargas, A., Eisenberg, T., Rogon, C., Yamamoto, T., Inoue, S., Kössl, C., Coltin, B., Smith, T. and Benavides, J. V. (2026). Free-Flying Crew Cooperative Robots on the ISS: A Joint Review of Astrobee, CIMON, and Int-Ball Operations. Source
    BibTeX
    @inproceedings{yamaguchi2026free,
      title = {Free-Flying Crew Cooperative Robots on the ISS: A Joint Review of Astrobee, CIMON, and Int-Ball Operations},
      author = {Yamaguchi, Seiko Piotr and Mora Vargas, Andres and Eisenberg, Till and Rogon, Christian and Yamamoto, Tatsuya and Inoue, Shona and K{\"o}ssl, Christoph and Coltin, Brian and Smith, Trey and Benavides, Jose V.},
      year = {2026},
      booktitle = {2025 International Conference on Space Robotics (iSpaRo)},
      eprint = {2602.10686},
      archiveprefix = {arXiv},
      url = {https://arxiv.org/abs/2602.10686},
      doi = {10.1109/isparo66239.2025.11436992},
      pages = {402-409}
    }
  2. Nolet, S. (2007). Development of a Guidance, Navigation and Control Architecture and Validation Process Enabling Autonomous Docking to a Tumbling Satellite. Source
    BibTeX
    @phdthesis{nolet2007development,
      title = {Development of a Guidance, Navigation and Control Architecture and Validation Process Enabling Autonomous Docking to a Tumbling Satellite},
      author = {Nolet, Simon},
      year = {2007},
      school = {Massachusetts Institute of Technology},
      type = {Ph.D. thesis},
      url = {http://hdl.handle.net/1721.1/38598}
    }
  3. Coltin, B., Fusco, J., Moratto, Z., Alexandrov, O. and Nakamura, R. (2016). Localization from Visual Landmarks on a Free-Flying Robot. Source
    BibTeX
    @inproceedings{coltin2016localization,
      title = {Localization from Visual Landmarks on a Free-Flying Robot},
      author = {Coltin, Brian and Fusco, Jesse and Moratto, Zack and Alexandrov, Oleg and Nakamura, Robert},
      booktitle = {2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
      address = {Daejeon, Korea},
      year = {2016},
      url = {https://ntrs.nasa.gov/citations/20160012286},
      doi = {10.1109/iros.2016.7759644},
      pages = {4377-4382}
    }
  4. Soussan, R., Kumar, V., Coltin, B. and Smith, T. (2022). AstroLoc: An Efficient and Robust Localizer for a Free-Flying Robot. Source
    BibTeX
    @inproceedings{soussan2022astroloc,
      title = {AstroLoc: An Efficient and Robust Localizer for a Free-Flying Robot},
      author = {Soussan, Ryan and Kumar, Varsha and Coltin, Brian and Smith, Trey},
      booktitle = {2022 International Conference on Robotics and Automation (ICRA)},
      year = {2022},
      url = {https://ntrs.nasa.gov/citations/20220002537},
      doi = {10.1109/icra46639.2022.9811919},
      pages = {4106-4112}
    }
  5. Alexandrov, O., Barlow, J., Benavides, J., Bualat, M., Carlino, R., Coltin, B., Cortez, J., Daley, E., Feller, J., Flückiger, L., Fong, T., Fusco, J., Garcia Ruiz, R., Hamilton, K., Kanis, S., Katterhagen, A., Kim, Y., Love, J. F., McIntyre, M., McLachlan, B., Mora Vargas, A., Moratto, Z., Moreira, M., Morse, T., Orosco, H., Park, I.-W., Provencher, C., Sanchez, H., Sharif, K., Smith, E., Smith, T., Soussan, R., Symington, A., Talavera, R. O., To, V., Wheeler, D. and Yoo, J. (2026). Astrobee: Free-Flying Robots for the International Space Station. IEEE Transactions on Field Robotics. Source
    BibTeX
    @article{alexandrov2026astrobee,
      title = {Astrobee: Free-Flying Robots for the International Space Station},
      author = {Alexandrov, Oleg and Barlow, Jonathan and Benavides, Jose and Bualat, Maria and Carlino, Roberto and Coltin, Brian and Cortez, Jose and Daley, Earl and Feller, Jeffrey and Fl{\"u}ckiger, Lorenzo and Fong, Terrence and Fusco, Jesse and Garcia Ruiz, Ruben and Hamilton, Kathryn and Kanis, Simeon and Katterhagen, Aric and Kim, Yunkyung and Love, John F. and McIntyre, Michael and McLachlan, Blair and Mora Vargas, Andres and Moratto, Zack and Moreira, Marina and Morse, Theodore and Orosco, Henry and Park, In-Won and Provencher, Christopher and Sanchez, Hugo and Sharif, Khaled and Smith, Ernest and Smith, Trey and Soussan, Ryan and Symington, Andrew and Talavera, Rafael Omar and To, Vinh and Wheeler, DW and Yoo, Jongwoon},
      year = {2026},
      journal = {IEEE Transactions on Field Robotics},
      url = {https://ntrs.nasa.gov/citations/20260001396}
    }
  6. Arora, A., El-Hariry, M. and Olivares-Mendez, M. (2025). Reinforcement Learning Based 6-DoF Maneuvers for Microgravity Intravehicular Docking: A Simulation Study with Int-Ball2 in ISS-JEM. arxiv.org/abs/2512.13514 archived copy
    BibTeX
    @misc{arora2025reinforcement,
      title = {Reinforcement Learning Based 6-DoF Maneuvers for Microgravity Intravehicular Docking: A Simulation Study with Int-Ball2 in ISS-JEM},
      author = {Arora, Aman and El-Hariry, Matteo and Olivares-Mendez, Miguel},
      year = {2025},
      eprint = {2512.13514},
      archiveprefix = {arXiv},
      url = {https://arxiv.org/abs/2512.13514}
    }