Skip to content

feat(control): update cmd_vel_control based on 北仑 practice#86

Open
xiaolefang-dm wants to merge 8 commits intomainfrom
xiaole/feat/cmd_vel_control_looper
Open

feat(control): update cmd_vel_control based on 北仑 practice#86
xiaolefang-dm wants to merge 8 commits intomainfrom
xiaole/feat/cmd_vel_control_looper

Conversation

@xiaolefang-dm
Copy link
Copy Markdown
Contributor

@xiaolefang-dm xiaolefang-dm commented Apr 18, 2026

Summary

  • pose_callback now triggers _update_cmd on every odom message, leveraging high-frequency odometry from looper_bridge_node
  • Replace path-differentiation (hardcoded dt=0.1s) with local path tangent tracking — finds nearest segment to robot and follows its direction, correctly handling curved paths
  • Update speed limits to match looper stack: max_linear 0.8 m/s, acc limits 2.0/2.5 m/s², publish rate defaultly 30 Hz
  • Add dist_scale: decelerate within 1 m of path endpoint to reduce overshoot at related lower planning rate
output.mp4

@github-actions
Copy link
Copy Markdown

cloc github.com/AlDanial/cloc v 2.04 T=0.15 s (267.8 files/s, 39065.1 lines/s)
Language files blank comment code
Python 12 578 247 3196
Markdown 4 154 6 425
C++ 4 60 38 409
Bourne Shell 14 28 7 213
Dockerfile 1 30 29 189
JSON 2 8 0 58
TOML 1 4 0 57
make 1 17 12 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 40 883 339 4613

@xiaolefang-dm xiaolefang-dm requested a review from xinghanDM April 18, 2026 13:52
…andalone tool

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

cloc github.com/AlDanial/cloc v 2.04 T=0.15 s (271.7 files/s, 39833.5 lines/s)
Language files blank comment code
Python 12 587 243 3221
Markdown 4 154 6 425
C++ 4 60 38 409
Bourne Shell 14 28 7 213
Dockerfile 1 30 29 189
JSON 2 8 0 58
TOML 1 4 0 57
make 1 17 12 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 40 892 335 4638

@xiaolefang-dm xiaolefang-dm changed the title feat(control): add cmd_vel_control_looper for looper-based navigation feat(control): update cmd_vel_control based on 北仑 practice Apr 18, 2026
xiaolefang and others added 2 commits April 19, 2026 06:25
Rewrite cmd_vel_control to compute heading on every odom callback rather
than differentiating the first two path points. Controller now aims at
the path endpoint directly, relying on planning_node's replanning
frequency for obstacle avoidance. Removes lookahead, target_pose, and
recovery logic — control node is a pure path follower.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

cloc github.com/AlDanial/cloc v 2.04 T=0.15 s (269.2 files/s, 39151.1 lines/s)
Language files blank comment code
Python 12 580 243 3180
Markdown 4 154 6 425
C++ 4 60 38 409
Bourne Shell 14 28 7 213
Dockerfile 1 30 29 189
JSON 2 8 0 58
TOML 1 4 0 57
make 1 17 12 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 40 885 335 4597

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

cloc github.com/AlDanial/cloc v 2.04 T=0.15 s (259.0 files/s, 37659.3 lines/s)
Language files blank comment code
Python 12 580 243 3180
Markdown 4 154 6 425
C++ 4 60 38 409
Bourne Shell 14 28 7 213
Dockerfile 1 30 29 189
JSON 2 8 0 58
TOML 1 4 0 57
make 1 17 12 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 40 885 335 4597

At ~7.5 Hz planning rate, the robot can overshoot before receiving a
cleared path. Scale linear speed by clip(dist_to_endpoint, 0.2, 1.0)
to decelerate within 1 m of the target.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

cloc github.com/AlDanial/cloc v 2.04 T=0.15 s (272.3 files/s, 39608.7 lines/s)
Language files blank comment code
Python 12 580 243 3181
Markdown 4 154 6 425
C++ 4 60 38 409
Bourne Shell 14 28 7 213
Dockerfile 1 30 29 189
JSON 2 8 0 58
TOML 1 4 0 57
make 1 17 12 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 40 885 335 4598

@xiaolefang-dm xiaolefang-dm requested a review from junlinp April 18, 2026 22:49
- pose_callback now triggers _update_cmd on every odom message,
  leveraging high-frequency odometry from looper_bridge_node
- Replace path-differentiation (hardcoded dt=0.1s) with local path
  tangent tracking — finds nearest segment and follows its direction,
  correctly handling curved paths
- Update speed limits: max_linear 0.8 m/s, acc 2.0/2.5 m/s², 30 Hz
- Add dist_scale: decelerate within 1 m of endpoint to reduce overshoot
  at ~7.5 Hz planning rate

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

cloc github.com/AlDanial/cloc v 2.04 T=0.15 s (268.3 files/s, 39207.6 lines/s)
Language files blank comment code
Python 12 584 248 3200
Markdown 4 154 6 425
C++ 4 60 38 409
Bourne Shell 14 28 7 213
Dockerfile 1 30 29 189
JSON 2 8 0 58
TOML 1 4 0 57
make 1 17 12 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 40 889 340 4617

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

cloc github.com/AlDanial/cloc v 2.04 T=0.13 s (317.2 files/s, 46348.8 lines/s)
Language files blank comment code
Python 12 584 248 3199
Markdown 4 154 6 425
C++ 4 60 38 409
Bourne Shell 14 28 7 213
Dockerfile 1 30 29 189
JSON 2 8 0 58
TOML 1 4 0 57
make 1 17 12 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 40 889 340 4616

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