Conversation
leshy
requested review from
Dreamsorcerer,
aclauer,
mustafab0,
paul-nechifor and
spomichter
as code owners
August 27, 2026 19:08
Contributor
|
Too many files changed for review (140 files, 100 file limit). Bypass the limit by tagging |
❌ 7 Tests Failed:
View the top 3 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
nav_3d/ is global_planner/. The Go2's own A* planner (and its RPC spec, the agent skills' contract with it) go under go2/; dannav, frontier_exploration and patrolling under experimental/; basic_path_follower becomes trajectory_follower/basic/; the visual servoing, its bbox goal module and navigation/visual/query join the skills that use them under agents/skills/visual_servoing/. Renames and import rewrites only.
topics= subscribes one zenoh key per name so an unlisted topic never crosses the link; serve_coordinator_rpc=False lets a viewer sit on a bus whose Coordinator name another stack owns. Both for a viewer on the far side of the robot's wifi.
local_planner/: an SE(2) search over the raycaster's local map, sliced through the body's own z-band, replanning to a carrot along the MLS route. trajectory_follower/fancy/: a pursuit law that reads the required precision off the path's own stamps. Each is a python module with a rust native twin (feature module) that is what runs; pyo3 (feature python) is test-only, for the parity tests. spec.py says what a GlobalPlanner, a Blind/Map LocalPlanner and a TrajectoryFollower are, as ports. An empty path is stop, a single pose is hold. embodiment/ is the measured Go2; tf_pose.py reads the body pose off tf with a deadman; cmd_vel_mux lets teleop preempt nav. go2-zenoh-motion, go2-zenoh-motion-pointlio (the Jetson rig, with its own Point-LIO and lidar addresses) and go2-viewer.
The config system feeds module fields from the environment (MID360__LIDAR_IP, .env, --mid360.lidar-ip); the Mid-360, virtual Mid-360, Point-LIO and FAST-LIO configs stop reading DIMOS_*_LIDAR_IP themselves.
The wire topic carries the message type in its last segment, so a dimos channel needs no codec registry; injected codecs still win.
… build A flake ref copies its whole source tree into the store; pointed at the repo root that is the build dirs, .venv and the LFS blobs. This directory is two files. The clippy hook skips the root flake for the same reason.
leshy
force-pushed
the
fix/ivan/motion_stability
branch
from
September 17, 2026 11:11
d856048 to
7c6e5dc
Compare
Member
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
there are a few things here that can be split into separate PRs but nav team is the only consumer so keeping here unless we decide otherwise
restructure of navigation/ much cleaner folder, new specs
generic mcap mem2 decoder of all dimos msgs + tests
bridge hacky feature
we need to be able to explicitly subscribe to just SOME topics not all, so that they are not sent over network or decoded by py
module introspection fixes
module.io() hides default internal RPCs
lidar module config
removed global env reading, switched to local module config
distributed architecture for nav
we run
go2-zenoh-motion-pointlioon go2 jetson anddimos --robot-ip go22 run go2-vieweron the laptopthis means zenoh (network robust) subs go over network, and rerun rendering and RPC happens locally on the laptop