Skip to content

feat(nav): add manual target controls#177

Draft
xiaolefang-dm wants to merge 7 commits into
mainfrom
xiaole/measure-latency-target-pose
Draft

feat(nav): add manual target controls#177
xiaolefang-dm wants to merge 7 commits into
mainfrom
xiaole/measure-latency-target-pose

Conversation

@xiaolefang-dm

@xiaolefang-dm xiaolefang-dm commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Objective

This is the first step toward measuring end-to-end navigation latency: from when the robot/app observes or selects a target, through planning and cmd_vel, to when the control layer begins executing it.

The manual target flow gives us a repeatable trigger for this measurement, so later instrumentation can compare timestamps across:

  • Looper / visual input
  • Looper bridge
  • Planning
  • cmd_vel generation
  • Robot control execution

Summary

  • Allow the operate tab to publish manual target poses to planning without requiring nav nodes to be running.
  • Activate the nav control chain only when nav nodes are already running, and add a Stop Target control to clear manual targets.
  • Disable manual target publishing during normal POI navigation so measurement/testing controls do not interfere with POI tasks.
  • Prevent cleared manual targets from leaking NaN into planning websocket snapshots.
  • Remove incomplete local Flutter fallback font config that caused 404s for missing Noto fallback fonts.

Testing

  • python3 -m py_compile app/backend/node_manager.py app/backend/routers/nav.py tinynav/core/planning_node.py
  • On nano test machine: flutter build web
  • On nano test machine: restarted tinynav-dev and launched /tinynav/scripts/start_app.sh
  • On nano test machine: verified /ws/planning returns valid JSON with grid/odom and no NaN target after clear
  • On office robot dog: flutter build web
  • On office robot dog: restarted tinynav-dev and launched /tinynav/scripts/start_app.sh
  • On office robot dog: verified backend/frontend HTTP 200, manual target clear, and POI-navigation guard behavior
6d4b54a4c4960aba14e94257d365139d.mp4

@github-actions

Copy link
Copy Markdown
cloc github.com/AlDanial/cloc v 2.04 T=0.17 s (240.7 files/s, 38234.5 lines/s)
Language files blank comment code
Python 13 672 313 3772
Markdown 4 155 6 426
C++ 4 60 38 409
Bourne Shell 15 41 9 272
Dockerfile 1 31 32 204
JSON 2 8 0 58
TOML 1 4 0 58
make 1 18 15 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 42 993 413 5265

@xiaolefang-dm
xiaolefang-dm force-pushed the xiaole/measure-latency-target-pose branch from 0c1dbe1 to 032a984 Compare June 28, 2026 04:30
@github-actions

Copy link
Copy Markdown
cloc github.com/AlDanial/cloc v 2.04 T=0.18 s (236.4 files/s, 37541.0 lines/s)
Language files blank comment code
Python 13 672 313 3772
Markdown 4 155 6 426
C++ 4 60 38 409
Bourne Shell 15 41 9 272
Dockerfile 1 31 32 204
JSON 2 8 0 58
TOML 1 4 0 58
make 1 18 15 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 42 993 413 5265

@xiaolefang-dm
xiaolefang-dm marked this pull request as ready for review June 28, 2026 05:14
@xiaolefang-dm
xiaolefang-dm marked this pull request as draft June 29, 2026 01:01
@github-actions

Copy link
Copy Markdown
cloc github.com/AlDanial/cloc v 2.04 T=0.17 s (241.2 files/s, 38303.4 lines/s)
Language files blank comment code
Python 13 672 313 3772
Markdown 4 155 6 426
C++ 4 60 38 409
Bourne Shell 15 41 9 272
Dockerfile 1 31 32 204
JSON 2 8 0 58
TOML 1 4 0 58
make 1 18 15 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 42 993 413 5265

@github-actions

Copy link
Copy Markdown
cloc github.com/AlDanial/cloc v 2.04 T=0.20 s (210.6 files/s, 33468.4 lines/s)
Language files blank comment code
Python 13 672 313 3775
Markdown 4 155 6 426
C++ 4 60 38 409
Bourne Shell 15 41 9 272
Dockerfile 1 31 32 204
JSON 2 8 0 58
TOML 1 4 0 58
make 1 18 15 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 42 993 413 5268

@github-actions

Copy link
Copy Markdown
cloc github.com/AlDanial/cloc v 2.04 T=0.18 s (234.8 files/s, 37309.9 lines/s)
Language files blank comment code
Python 13 672 313 3775
Markdown 4 155 6 426
C++ 4 60 38 409
Bourne Shell 15 41 9 272
Dockerfile 1 31 32 204
JSON 2 8 0 58
TOML 1 4 0 58
make 1 18 15 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 42 993 413 5268

@github-actions

Copy link
Copy Markdown
cloc github.com/AlDanial/cloc v 2.04 T=0.18 s (241.4 files/s, 38657.6 lines/s)
Language files blank comment code
Python 14 694 313 3966
Markdown 4 155 6 426
C++ 4 60 38 409
Bourne Shell 15 41 9 272
Dockerfile 1 31 32 204
JSON 2 8 0 58
TOML 1 4 0 58
make 1 18 15 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 43 1015 413 5459

@github-actions

Copy link
Copy Markdown
cloc github.com/AlDanial/cloc v 2.04 T=0.20 s (210.2 files/s, 33690.2 lines/s)
Language files blank comment code
Python 14 694 313 3971
Markdown 4 155 6 426
C++ 4 60 38 409
Bourne Shell 15 41 9 272
Dockerfile 1 31 32 204
JSON 2 8 0 58
TOML 1 4 0 58
make 1 18 15 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 43 1015 413 5464

@github-actions

Copy link
Copy Markdown
cloc github.com/AlDanial/cloc v 2.04 T=0.18 s (234.0 files/s, 37526.0 lines/s)
Language files blank comment code
Python 14 694 313 3975
Markdown 4 155 6 426
C++ 4 60 38 409
Bourne Shell 15 41 9 272
Dockerfile 1 31 32 204
JSON 2 8 0 58
TOML 1 4 0 58
make 1 18 15 49
CMake 1 4 0 17
-------- -------- -------- -------- --------
SUM: 43 1015 413 5468

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