Skip to content

Local World Model

Local world models give the local planner a fast, short-range obstacle representation built directly from sensor data — cheaper and lower-latency than the global map, at the cost of limited spatial extent. A local world model and its planner are paired: there is no spec-level interchange between them (see Adding a World Model and Planner), so each planner module ships the representation it consumes.

  • acl-mapping voxel map (asm_mighty module, global_mapper_ros) — the default. A sliding-window voxel map that follows the drone, publishing occupied and unknown voxel clouds from the filtered 3D lidar cloud (sensors/ouster/point_cloud), registered through TF. The MIGHTY planner plans A* fronts and convex safe corridors through it with an explicit clearance margin. The mapper→planner grid seam is exposed as launch args (mighty_mapper_*_topic / mighty_*_grid_topic) so a stack can interpose its own constraint node — e.g. lidar occupancy ∪ no-fly volumes — without copying the module launch file.
  • Disparity pipeline (asm_droan module) — for the DROAN planners. disparity_expansion performs C-space expansion of stereo disparity images by the robot radius; disparity_graph keeps a rolling window of expanded-disparity keyframes with their camera poses; disparity_graph_cost_map is the cost-map plugin (through cost_map_interface) answering collision-cost queries for the CPU droan_local_planner. The GPU planner droan_gl performs the expansion and graph internally in OpenGL shaders and uses none of these nodes.

Either representation is selected implicitly by the stack's planner include: full_default / lite_* (MIGHTY + voxel map), full_droan / full_macvo (GPU DROAN, internal graph), full_droan_cpu (CPU DROAN + live disparity_expansion).