Skip to content

Fix sensors→control skipped when local planner is empty - #36

Draft
cursor[bot] wants to merge 1 commit into
devfrom
cursor/critical-bug-inspection-9a69
Draft

Fix sensors→control skipped when local planner is empty#36
cursor[bot] wants to merge 1 commit into
devfrom
cursor/critical-bug-inspection-9a69

Conversation

@cursor

@cursor cursor Bot commented Aug 7, 2026

Copy link
Copy Markdown

Bug and impact

Selecting FollowTheGapController with an empty local planner (documented sensors→control composition) built a valid stack but never actuated: _last_cmd stayed None and the plant did not move. Manual Control Step also no-oped.

Root cause

Sync/async executers and _control_step hard-required local_planner is not None before recomputing control, even though FollowTheGapController.stack_requirements only needs LOCALIZATION and control(..., plan=None) already supports plan-free cruise/gap steering.

Fix

  • Allow control when a controller is present; pass plan=None if there is no local planner
  • Same path for async worker_control and visualizer Control Step
  • Tests cover stub sensors→control and a factory FTG stack without a local planner

Validation

  • pytest test/c40_execution/test_c44_control_without_planner.py test/c40_execution/test_c42_sensor_snapshot.py test/c40_execution/test_c44_executer_fps.py — all passed
  • Before/after factory demo: empty local planner previously left last_cmd=None (0 m motion); after fix FTG applies accel and advances ~19 m over 40 ticks
Open in Web View Automation 

FollowTheGapController declares no LOCAL_PLAN requirement and docs advertise
end-to-end sensors→control, but sync/async executers and Control Step gated
on local_planner and never recomputed commands. Allow control with plan=None.

Co-authored-by: Majid Khonji <majid-khonji@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant