<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[voxl-mapper local planner: "Cannot insert trajectory. Total segments = 20, Max segments = 20" — replanning never reaches the drone during Follow Path]]></title><description><![CDATA[<p dir="auto">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.</p>
<p dir="auto"><strong>What happened</strong></p>
<p dir="auto">Global planning succeeded:</p>
<pre><code>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!
</code></pre>
<p dir="auto">Then, from the instant we pressed <strong>Follow Path</strong>, this repeated continuously for 2 min 16 s until we took manual control:</p>
<pre><code>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)
</code></pre>
<p dir="auto">Throughout those 2 min 16 s the planner itself was running normally — <code>A* took = 0.07-0.14 ms for 13 iterations</code> and <code>Smoother took = 6-12 ms</code> were interleaved with every failure. So it computes a trajectory and then cannot insert it.</p>
<p dir="auto">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.</p>
<p dir="auto"><strong>What we ruled out</strong></p>
<ol>
<li><strong>Not a planning failure</strong> — the global path was found and reported collision-free.</li>
<li><strong>Not a VIO problem</strong> — dt held at 33.3 ms for all 44 samples in flight, features 15-30, <code>cs_ev_pos</code> / <code>cs_ev_yaw</code> / <code>cs_ev_hgt</code> all True.</li>
<li><strong>Not a map problem</strong> — <code>voxl_mapper_aligned_ptcloud</code> was producing 1,489-2,925 points at ~10 Hz before and during the flight.</li>
<li><strong>Not CPU load</strong> — load average dropped from 7.75 on the ground to 4.5 in flight; governor was <code>performance</code>.</li>
<li><strong>Not thermal throttling</strong> — 94-96 C, but <code>scaling_cur_freq</code> equalled <code>cpuinfo_max_freq</code> on all cores and <code>dmesg</code> showed no throttle events.</li>
<li><strong>Not a config we changed</strong> — <code>voxl-mapper.conf</code> is stock; <code>loco_num_segments</code> is 10.</li>
</ol>
<p dir="auto"><strong>What we could not find</strong></p>
<p dir="auto">The limit of 20 does not appear in <code>voxl-mapper.conf</code>. <code>loco_num_segments</code> is 10, which is not the number in the error. We could not locate a setting that exposes <code>Max segments</code>.</p>
<p dir="auto"><strong>One thing we suspect, but have not tested</strong></p>
<p dir="auto">Before the successful <code>Go</code>, we had two failed ones — both rejected with <code>ERROR: End point is in collision</code> because the goal came in at <code>z: 0.00</code> (we were clicking in the 2D view, which puts the point at ground level). The <code>Max segments = 20</code> error appeared <strong>immediately</strong> on the first Follow Path, which makes us wonder whether failed plans leave segments behind. We have not yet tested whether pressing <strong>Clear Paths</strong> first avoids it.</p>
<p dir="auto"><strong>Questions</strong></p>
<ol>
<li>Where is the 20-segment limit set, and is it configurable?</li>
<li>What normally fills the segment buffer, and what clears it? Does a failed <code>Go</code> leave segments allocated?</li>
<li>Is <code>Clear Paths</code> the correct way to reset this state before <code>Follow Path</code>?</li>
<li>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 <code>Immediate collision free path found!</code> was reported — so an operator has no indication that obstacle avoidance is not active.</li>
</ol>
<p dir="auto"><strong>Environment</strong></p>
<ul>
<li>Hardware: Starling 2 Max, SKU <code>MRB-D0012-4-V4-C29-T8-M36</code></li>
<li><code>voxl-version</code>: system-image <code>1.8.08-M0054-14.1a-perf</code>, voxl-suite <code>1.6.4~beta5</code></li>
<li><code>voxl-mapper</code> 0.2.4, <code>voxl-vision-hub</code> with <code>offboard_mode: "trajectory"</code></li>
<li>Services active at the time: <code>voxl-vision-hub</code>, <code>voxl-open-vins-server</code>, <code>voxl-mapper</code>, <code>voxl-px4</code>, <code>voxl-portal</code></li>
</ul>
<p dir="auto">We have the full mapper journal and the PX4 <code>.ulg</code> from this flight and can share either.</p>
]]></description><link>https://forum.modalai.com/topic/5510/voxl-mapper-local-planner-cannot-insert-trajectory.-total-segments-20-max-segments-20-replanning-never-reaches-the-drone-during-follow-path</link><generator>RSS for Node</generator><lastBuildDate>Tue, 13 Oct 2026 23:29:35 GMT</lastBuildDate><atom:link href="https://forum.modalai.com/topic/5510.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Oct 2026 06:03:21 GMT</pubDate><ttl>60</ttl></channel></rss>