Open Apero#
Open Apero (Open Active PErception Library for RObotics) is a C++17 library for active perception in mobile robotics: a robot decides where to move and what to sense to gather the observations its task needs, such as unexplored volume, unseen surface or target points.
Each planning cycle grows a graph of candidate viewpoints and scores each by its gain, what it would observe in the current map. Among the paths that start at the robot, the planner seeks the one with the most gain g(p) whose cost c(p), such as trajectory time, fits the budget C:
The robot executes the first edge of p*, and the planner plans again from where it arrives:
flowchart LR
Grow["Grow<br/>candidates"] --> Score["Score<br/>their gain"] --> Search["Search the<br/>best path"] --> Move["Execute<br/>its first edge"] --> Grow
It is the code release of An Efficient Beam Search Algorithm for Active Perception in Mobile Robotics (Qu et al., IJRR 2026; project page): the paper’s beam-search planners, its baselines except the external FUEL planner, its graph benchmark and its simulated experiments.
Planners: beam searches NBS and DBS, shortest-path tree search (SPT) and TSP on a random annulus graph (RRAG); tree baselines RRT and RRT*
Tasks: volumetric exploration, surface reconstruction and point collection (
task:=)Plugins for every role: map, generator, evaluator, path planner, sensor model, robot model, cost computer, backtracker and layer, each selected by its YAML
type:ROS Noetic node for any robot, on a Voxblox map, and a Habitat-sim setup that renders the paper’s HSSD scenes
Status: 1.0.0, research code. Ubuntu 20.04 with ROS Noetic, or Docker on any other x86_64 Linux host; no ROS 2 port.
Where to Start#
I want to… |
Read |
|---|---|
See it run in a few minutes |
|
Install it natively on Ubuntu 20.04 |
|
Understand the design |
How Open Apero Works, then the Modules |
Run it on my robot |
|
Add a planner, gain measure or robot model |
|
Reproduce the paper |
|
Look up a key or a class |
If you use Open Apero in your research, please cite the paper; see Citation, License and Acknowledgments.