Commit af571b4
committed
fix(ota_plugin): forward use_sim_time to OTA-spawned processes
ProcessRunner::spawn was running the new binary with execl(path, path,
nullptr) - no --ros-args, no parameters. After an OTA execute the
post-update node (fixed_lidar after the update flow,
obstacle_classifier_v2 after install) was therefore born with
use_sim_time=false while the rest of the demo runs on /clock from
gz-sim.
Result: every /scan / /diagnostics message stamped by the new node
landed outside the gateway's TF cache, nav2's costmaps logged
"Message Filter dropping message ... earlier than all the data in
the transform cache" on every tick, the obstacle layer stayed empty,
and NavigateToPose came back ABORTED with no progress - "robot
stops responding" from the operator's seat.
Pass --ros-args -p use_sim_time:=true to execl so the spawned node
joins the same clock domain as the rest of the stack. Robot resumes
following goals after the OTA swap.
This is the minimum viable param plumbing for the demo. A full
production plugin should plumb arbitrary parameters from the catalog
entry through to execve - but for now use_sim_time is the only param
the OTA-managed nodes care about.1 parent 17325d5 commit af571b4
1 file changed
Lines changed: 17 additions & 1 deletion
File tree
Lines changed: 17 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
138 | 138 | | |
139 | 139 | | |
140 | 140 | | |
141 | | - | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
142 | 158 | | |
143 | 159 | | |
144 | 160 | | |
| |||
0 commit comments