voxl-mapper local planner: "Cannot insert trajectory. Total segments = 20, Max segments = 20" — replanning never reaches the drone during Follow Path
-
We flew our first mapper-based path flight on a Starling 2 Max and the drone did follow the planned path. However, the local planner was unable to deliver a single trajectory for the entire flight, so the drone was flying on the one path computed before departure, with no replanning.
What happened
Global planning succeeded:
05:13:38 Client requested plan to location 05:13:38 Using start pose of: x: 1.67, y: -0.80, z: -1.46 05:13:38 Using goal pose of: x: 5.16, y: -1.34, z: -0.89 05:13:38 Starting RRTConnect planner 05:13:38 Immediate collision free path found!Then, from the instant we pressed Follow Path, this repeated continuously for 2 min 16 s until we took manual control:
05:14:10 Client requested to follow last path 05:14:10 Local Planner failed to send trajectory 05:14:10 ERROR: Cannot insert trajectory. Total segments = 20, Max segments = 20 ... (repeats at roughly 1-2 s intervals through 05:16:26)Throughout those 2 min 16 s the planner itself was running normally —
A* took = 0.07-0.14 ms for 13 iterationsandSmoother took = 6-12 mswere interleaved with every failure. So it computes a trajectory and then cannot insert it.The drone moved 2.68 m straight-line / 8.79 m total path at up to 1.04 m/s, which matches the pre-computed path. It stopped 0.81 m short of the goal only because the pilot intervened.
What we ruled out
- Not a planning failure — the global path was found and reported collision-free.
- Not a VIO problem — dt held at 33.3 ms for all 44 samples in flight, features 15-30,
cs_ev_pos/cs_ev_yaw/cs_ev_hgtall True. - Not a map problem —
voxl_mapper_aligned_ptcloudwas producing 1,489-2,925 points at ~10 Hz before and during the flight. - Not CPU load — load average dropped from 7.75 on the ground to 4.5 in flight; governor was
performance. - Not thermal throttling — 94-96 C, but
scaling_cur_freqequalledcpuinfo_max_freqon all cores anddmesgshowed no throttle events. - Not a config we changed —
voxl-mapper.confis stock;loco_num_segmentsis 10.
What we could not find
The limit of 20 does not appear in
voxl-mapper.conf.loco_num_segmentsis 10, which is not the number in the error. We could not locate a setting that exposesMax segments.One thing we suspect, but have not tested
Before the successful
Go, we had two failed ones — both rejected withERROR: End point is in collisionbecause the goal came in atz: 0.00(we were clicking in the 2D view, which puts the point at ground level). TheMax segments = 20error appeared immediately on the first Follow Path, which makes us wonder whether failed plans leave segments behind. We have not yet tested whether pressing Clear Paths first avoids it.Questions
- Where is the 20-segment limit set, and is it configurable?
- What normally fills the segment buffer, and what clears it? Does a failed
Goleave segments allocated? - Is
Clear Pathsthe correct way to reset this state beforeFollow Path? - Is there a way to detect this condition other than reading the mapper journal? From the Portal UI everything looked correct — the path was drawn and
Immediate collision free path found!was reported — so an operator has no indication that obstacle avoidance is not active.
Environment
- Hardware: Starling 2 Max, SKU
MRB-D0012-4-V4-C29-T8-M36 voxl-version: system-image1.8.08-M0054-14.1a-perf, voxl-suite1.6.4~beta5voxl-mapper0.2.4,voxl-vision-hubwithoffboard_mode: "trajectory"- Services active at the time:
voxl-vision-hub,voxl-open-vins-server,voxl-mapper,voxl-px4,voxl-portal
We have the full mapper journal and the PX4
.ulgfrom this flight and can share either.
Reading along? Create a free ModalAI Forum account to join in.
With an account you can reply, ask your own question, get an email when a ModalAI engineer answers, and mark the reply that solved it. Your place in each thread is saved between visits.
Questions about VOXL, Flight Core, ESCs and ModalAI drones are answered here by the engineers who build them.
Register Login