Skip to content

feat(benchmark): add SISO velocity response test#153

Open
xiaolefang-dm wants to merge 11 commits into
mainfrom
xiaole/benchmark-node
Open

feat(benchmark): add SISO velocity response test#153
xiaolefang-dm wants to merge 11 commits into
mainfrom
xiaole/benchmark-node

Conversation

@xiaolefang-dm
Copy link
Copy Markdown
Contributor

@xiaolefang-dm xiaolefang-dm commented May 22, 2026

Summary

Add a SISO velocity-response benchmark for robot control evaluation.

What changed

  • Add backend benchmark APIs and websocket status streaming
  • Add benchmark_node.py for SISO vx sine testing
  • Add frontend SISO Test page with controls, result summary, and trace plot
  • Project measured XY motion onto the dominant movement axis so the trace works regardless of robot/world heading
  • Keep benchmark independent from planning / target_pose; it directly publishes /cmd_vel and records odometry response

Notes

This PR intentionally removes the previous 8-shape/PNC benchmark UI path and keeps the benchmark focused on SISO control response.

img_v3_0211u_ed1256e9-f6cc-4ed3-9cfe-9851a759eehu ![Uploading img_v3_0211u_36692640-e9d9-45f7-bba9-9180c141f2hu.jpg…]()

xiaolefang-dm and others added 9 commits May 20, 2026 22:16
- benchmark_node: fix double-publish on stop after completion; odom QoS
  queue depth 20→10; store [t,x,y,z] trajectory; cap scoring distance
  matrix to 2000 samples; stop publishing target at path end
- node_manager: split _benchmark_cmd_vel_proc from nav's _cmd_vel_proc;
  fix _on_benchmark_result double-merging result into status; add has_odom
  property; guard cmd_start_benchmark against active map build
- routers/benchmark: use has_odom property instead of private field access
- benchmark_tab: extract _kBenchmarkAccent constant; fix shouldRepaint to
  use structural comparison instead of reference equality

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
cmd_stop_benchmark and cmd_start_benchmark no longer touch _global_path,
_nav_target_pose, or _nav_paused. Benchmark owns only its own status and
result fields; nav state is preserved across a benchmark run so it can be
restored when nav resumes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
# Conflicts:
#	app/frontend/lib/pages/home_page.dart
@github-actions
Copy link
Copy Markdown

cloc github.com/AlDanial/cloc v 2.04 T=0.18 s (243.7 files/s, 39470.5 lines/s)
Language files blank comment code
Python 14 700 326 4026
Markdown 4 155 6 426
C++ 4 60 38 409
Bourne Shell 15 41 9 272
Dockerfile 1 31 32 203
JSON 2 8 0 58
TOML 1 4 0 58
make 1 18 15 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 43 1021 426 5518

@github-actions
Copy link
Copy Markdown

cloc github.com/AlDanial/cloc v 2.04 T=0.17 s (248.8 files/s, 37621.8 lines/s)
Language files blank comment code
Python 13 630 287 3520
Markdown 4 155 6 426
C++ 4 60 38 409
Bourne Shell 15 41 9 272
Dockerfile 1 31 32 203
JSON 2 8 0 58
TOML 1 4 0 58
make 1 18 15 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 42 951 387 5012

@github-actions
Copy link
Copy Markdown

cloc github.com/AlDanial/cloc v 2.04 T=0.18 s (238.5 files/s, 36057.6 lines/s)
Language files blank comment code
Python 13 630 287 3520
Markdown 4 155 6 426
C++ 4 60 38 409
Bourne Shell 15 41 9 272
Dockerfile 1 31 32 203
JSON 2 8 0 58
TOML 1 4 0 58
make 1 18 15 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 42 951 387 5012

@xiaolefang-dm xiaolefang-dm requested a review from dvorak0 May 22, 2026 09:37
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