-
Notifications
You must be signed in to change notification settings - Fork 0
PRODUCTION Nav skills on drone with tracking #640
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…e telemetry topic
Added is_flying_to_target agent skill and fly_to now return string for agent feeback
| self._tracking_thread.start() | ||
|
|
||
| # Wait for tracking to complete | ||
| self._tracking_thread.join(timeout=duration + 1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This hangs the RPC call. The default duration is 120 which is also the RPC call timeout. 120+1 means all default calls to track_objects will result in RPC timeouts.
I think you have to change the caller to poll for the result.
There are multiple places where we need to make a long call to an RPC method. @leshy , what do you think about modifying the system to add a way to have async responses to RPC calls. I.e., the initial call ends immediately, and the callee responds back to the caller when it's ready.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah good idea here. Perhaps some multiprocess / thread handler where we can spawn long processes in RPC calls cleanly
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For now removed blocking
paul-nechifor
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you run the latest code with the real drone?
I've approved the PR, but I think the code is a bit vibe-y and long. For example fly_to in dimos/robot/drone/mavlink_connection.py is very long (200+ lines). A large part of the reason the file is so long is because it contains just 0, on a single line.
I would have abstracted those calls in a separate class. For example, set_position_target_local_ned_send is called several times in the code, but only three arguments are relevant: forward, right, down. Something like:
class MavlinkControl:
def __init__(self, mavlink): ...
def body_ned(self, forward, right, down):
self.mavlink.mav.set_position_target_local_ned_send(
0, # time_boot_ms
self.mavlink.target_system,
self.mavlink.target_component,
mavutil.mavlink.MAV_FRAME_BODY_NED, # Body frame for strafing
0b0000111111000111, # type_mask - velocities only, no rotation
0,
0,
0, # positions (ignored)
forward,
right,
down, # velocities in m/s
0,
0,
0, # accelerations (ignored)
0,
0, # yaw, yaw_rate (ignored)
)
...
… and map navigation PRODUCTION Nav skills on drone with tracking ## Add MAVLink Drone Integration with Visual Servoing ### Summary Complete drone integration via RosettaDrone MAVLink bridge with autonomous object tracking capabilities. ### Key Features - **MAVLink drone control** - Arm, takeoff, land, fly_to GPS coordinates, velocity movement - **Visual servoing** - Object tracking using Qwen detection + CSRT tracker + PID controller - **Indoor/Outdoor modes** - Conservative indoor PID (1 m/s max) vs aggressive outdoor (5 m/s max) - **Depth estimation** - Metric3D integration for 3D perception - **Replay mode** - Full test coverage with recorded MAVLink/video data ### New Files ``` dimos/robot/drone/ ├── drone.py # Main orchestrator ├── connection_module.py # MAVLink + skills ├── camera_module.py # Video + depth ├── drone_tracking_module.py # Visual servoing ├── drone_visual_servoing_controller.py # PID controller ├── mavlink_connection.py # MAVLink protocol ├── dji_video_stream.py # GStreamer capture └── test_drone.py # Unit tests ``` ### Other Changes - Renamed `street_map_query` → `map_query` in OSM skill - Added position marker to OSM map visualization - Added Foxglove dashboard for drone telemetry ### Test Plan - [x] Unit tests pass (`pytest dimos/robot/drone/test_drone.py`) - [ ] Manual test with replay mode - [ ] Manual test with real drone (outdoor mode)
Release v0.0.6: Pre-Launch Unitree Go2 Release ## What's Changed * Added is_flying_to_target agent skill and fly_to now return string for agent feeback by @spomichter in #635 * Release v0.0.5 by @spomichter in #697 * Rebase ivan g1 by @paul-nechifor in #709 * Navspec by @leshy in #648 * Remove depth module from base unitree go2 blueprints by @spomichter in #712 * Fix Unitree Go2 (replay and spatial memory) by @paul-nechifor in #714 * Add G1 blueprints, and simulation by @paul-nechifor in #724 * New g1 blueprint runfiles by @spomichter in #706 * Update G1/Go2 skills and remove some Robot interfaces by @paul-nechifor in #717 * Add dimos-robot end-to-end test with agents by @paul-nechifor in #716 * Run DimOS and ROS nav in Docker by @paul-nechifor in #700 * Anim experiment by @leshy in #701 * G1 navigation documentation fixes by @spomichter in #738 * Rename dimos-robot to dimos by @paul-nechifor in #740 * Use a process for MuJoCo by @paul-nechifor in #747 * Remove unneeded code files by @paul-nechifor in #718 * Make pygame G1JoystickModule usable for all modules by @paul-nechifor in #741 * error on conflicts by @paul-nechifor in #763 * Hosted Moondream 3 for VLM queries by @alexlin2 in #751 * transport: Remove DaskTransport dead code by @ym-han in #767 * Add editorconfig by @paul-nechifor in #769 * add `type: ignore` by @paul-nechifor in #768 * exclude .md changes from CICD builds by @spomichter in #770 * Working Ivan g1 detection in blueprints by @spomichter in #737 * small env fixes on a fresh install by @leshy in #778 * autofixes by @paul-nechifor in #744 * Support running local agents by @paul-nechifor in #739 * pin major version of langchain packages by @paul-nechifor in #789 * Deduplicate Unitree connections/entrypoints. by @paul-nechifor in #749 * Add TTS and STT by @paul-nechifor in #753 * fix mypy errors by @paul-nechifor in #791 * Use structlog and store JSON logs on disk by @paul-nechifor in #715 * Rpc fixes merge by @paul-nechifor in #801 * transport improvements by @leshy in #713 * Added concurrency check by @spomichter in #803 * make connections work with string annotations by @paul-nechifor in #807 * Run mypy checks in GitHub Actions by @paul-nechifor in #805 * Fix incorrect `= None` by @paul-nechifor in #802 * increase mujoco timeout by @paul-nechifor in #823 * MacOS Support: tests + devShell + mujoco by @jeff-hykin in #745 * nix flake revert by @leshy in #824 * fix mypy issues by @paul-nechifor in #827 * PRODUCTION Nav skills on drone with tracking by @spomichter in #640 * Fix added memory limit to blueprint global config by @spomichter in #856 * models/ refactor by @leshy in #819 * Point Detections by @leshy in #859 * Add generic ignore to gitignore by @jeff-hykin in #864 * fix set transport by @paul-nechifor in #866 * cli-precedence by @paul-nechifor in #857 * show `get_data` progress by @paul-nechifor in #873 * skip if OPENAI_API_KEY not defined by @paul-nechifor in #872 * build foxglove extension by @paul-nechifor in #871 * New planner by @paul-nechifor in #792 * Use `uv` by @paul-nechifor in #870 * Add direnv to gitignore by @Kaweees in #875 * Cuda mapper by @leshy in #862 * rename agents to agents_deprecated by @paul-nechifor in #877 * new planner new mapper by @paul-nechifor in #879 * odom ts parsing by @leshy in #882 * Sim fix by @paul-nechifor in #881 * navigation tuning by @leshy in #883 * Fix: Module init and agents by @leshy in #876 * Remove old setup.sh by @paul-nechifor in #888 * Release planner by @leshy in #887 * fix replay leak by @paul-nechifor in #890 * first pass on large file deletions by @leshy in #891 * Generalized manipulator driver by @mustafab0 in #831 * Restore MacOS Support (flake.nix) by @jeff-hykin in #863 * check-uv by @paul-nechifor in #902 * Make dimos pip-installable by @paul-nechifor in #731 * Revert "Restore MacOS Support (flake.nix)" by @leshy in #907 * jeff flake without py env stuff by @leshy in #911 * remove deprecated docker files by @paul-nechifor in #912 * command center stop and home by @leshy in #893 * use packages by @paul-nechifor in #915 * Fix agents prompt by @paul-nechifor in #914 * fix manifest by @paul-nechifor in #916 * fix move skill by @paul-nechifor in #913 * Ignore individual errors by @paul-nechifor in #919 * Feat/rerun latency panels by @Nabla7 in #917 * WIP Release detections by @leshy in #889 * Remove old navigation modules by @paul-nechifor in #923 * Feat/rerun latency panels by @Nabla7 in #925 * Repair camera module by @leshy in #929 * Repair Stream by @leshy in #932 * Docs Clean by @leshy in #933 * docs: sensor streams by @leshy in #934 * Docs: bugfixes by @leshy in #940 * Fixed doclinks to use git ls by @spomichter in #943 * Examples: third party language interop by @leshy in #946 * DOCS: temporal alignment docs improvements by @leshy in #944 * filter bots from commits by @leshy in #947 * Fix skills by @paul-nechifor in #950 * Limit Rerun viewer memory to 4GB default by @Nabla7 in #949 * Working dimensional MCP server - tested with Claude Code MCP client by @spomichter in #945 * allow registration of different agents by @paul-nechifor in #951 * Pre commit large files by @leshy in #953 * Proper Realsense and ZED Camera Drivers by @alexlin2 in #935 * Granular deps by @leshy in #894 * class VLMAgent(AgentSpec, Module) for streamed VLM queries over Transport by @spomichter in #960 * mac compatible commit filter by @paul-nechifor in #961 ## New Contributors * @ym-han made their first contribution in #767 * @jeff-hykin made their first contribution in #745 * @Kaweees made their first contribution in #875 * @mustafab0 made their first contribution in #831 * @Nabla7 made their first contribution in #917 **Full Changelog**: v0.0.5...v0.0.6
… and map navigation PRODUCTION Nav skills on drone with tracking ## Add MAVLink Drone Integration with Visual Servoing ### Summary Complete drone integration via RosettaDrone MAVLink bridge with autonomous object tracking capabilities. ### Key Features - **MAVLink drone control** - Arm, takeoff, land, fly_to GPS coordinates, velocity movement - **Visual servoing** - Object tracking using Qwen detection + CSRT tracker + PID controller - **Indoor/Outdoor modes** - Conservative indoor PID (1 m/s max) vs aggressive outdoor (5 m/s max) - **Depth estimation** - Metric3D integration for 3D perception - **Replay mode** - Full test coverage with recorded MAVLink/video data ### New Files ``` dimos/robot/drone/ ├── drone.py # Main orchestrator ├── connection_module.py # MAVLink + skills ├── camera_module.py # Video + depth ├── drone_tracking_module.py # Visual servoing ├── drone_visual_servoing_controller.py # PID controller ├── mavlink_connection.py # MAVLink protocol ├── dji_video_stream.py # GStreamer capture └── test_drone.py # Unit tests ``` ### Other Changes - Renamed `street_map_query` → `map_query` in OSM skill - Added position marker to OSM map visualization - Added Foxglove dashboard for drone telemetry ### Test Plan - [x] Unit tests pass (`pytest dimos/robot/drone/test_drone.py`) - [ ] Manual test with replay mode - [ ] Manual test with real drone (outdoor mode) Former-commit-id: 7f029e6
Release v0.0.6: Pre-Launch Unitree Go2 Release ## What's Changed * Added is_flying_to_target agent skill and fly_to now return string for agent feeback by @spomichter in #635 * Release v0.0.5 by @spomichter in #697 * Rebase ivan g1 by @paul-nechifor in #709 * Navspec by @leshy in #648 * Remove depth module from base unitree go2 blueprints by @spomichter in #712 * Fix Unitree Go2 (replay and spatial memory) by @paul-nechifor in #714 * Add G1 blueprints, and simulation by @paul-nechifor in #724 * New g1 blueprint runfiles by @spomichter in #706 * Update G1/Go2 skills and remove some Robot interfaces by @paul-nechifor in #717 * Add dimos-robot end-to-end test with agents by @paul-nechifor in #716 * Run DimOS and ROS nav in Docker by @paul-nechifor in #700 * Anim experiment by @leshy in #701 * G1 navigation documentation fixes by @spomichter in #738 * Rename dimos-robot to dimos by @paul-nechifor in #740 * Use a process for MuJoCo by @paul-nechifor in #747 * Remove unneeded code files by @paul-nechifor in #718 * Make pygame G1JoystickModule usable for all modules by @paul-nechifor in #741 * error on conflicts by @paul-nechifor in #763 * Hosted Moondream 3 for VLM queries by @alexlin2 in #751 * transport: Remove DaskTransport dead code by @ym-han in #767 * Add editorconfig by @paul-nechifor in #769 * add `type: ignore` by @paul-nechifor in #768 * exclude .md changes from CICD builds by @spomichter in #770 * Working Ivan g1 detection in blueprints by @spomichter in #737 * small env fixes on a fresh install by @leshy in #778 * autofixes by @paul-nechifor in #744 * Support running local agents by @paul-nechifor in #739 * pin major version of langchain packages by @paul-nechifor in #789 * Deduplicate Unitree connections/entrypoints. by @paul-nechifor in #749 * Add TTS and STT by @paul-nechifor in #753 * fix mypy errors by @paul-nechifor in #791 * Use structlog and store JSON logs on disk by @paul-nechifor in #715 * Rpc fixes merge by @paul-nechifor in #801 * transport improvements by @leshy in #713 * Added concurrency check by @spomichter in #803 * make connections work with string annotations by @paul-nechifor in #807 * Run mypy checks in GitHub Actions by @paul-nechifor in #805 * Fix incorrect `= None` by @paul-nechifor in #802 * increase mujoco timeout by @paul-nechifor in #823 * MacOS Support: tests + devShell + mujoco by @jeff-hykin in #745 * nix flake revert by @leshy in #824 * fix mypy issues by @paul-nechifor in #827 * PRODUCTION Nav skills on drone with tracking by @spomichter in #640 * Fix added memory limit to blueprint global config by @spomichter in #856 * models/ refactor by @leshy in #819 * Point Detections by @leshy in #859 * Add generic ignore to gitignore by @jeff-hykin in #864 * fix set transport by @paul-nechifor in #866 * cli-precedence by @paul-nechifor in #857 * show `get_data` progress by @paul-nechifor in #873 * skip if OPENAI_API_KEY not defined by @paul-nechifor in #872 * build foxglove extension by @paul-nechifor in #871 * New planner by @paul-nechifor in #792 * Use `uv` by @paul-nechifor in #870 * Add direnv to gitignore by @Kaweees in #875 * Cuda mapper by @leshy in #862 * rename agents to agents_deprecated by @paul-nechifor in #877 * new planner new mapper by @paul-nechifor in #879 * odom ts parsing by @leshy in #882 * Sim fix by @paul-nechifor in #881 * navigation tuning by @leshy in #883 * Fix: Module init and agents by @leshy in #876 * Remove old setup.sh by @paul-nechifor in #888 * Release planner by @leshy in #887 * fix replay leak by @paul-nechifor in #890 * first pass on large file deletions by @leshy in #891 * Generalized manipulator driver by @mustafab0 in #831 * Restore MacOS Support (flake.nix) by @jeff-hykin in #863 * check-uv by @paul-nechifor in #902 * Make dimos pip-installable by @paul-nechifor in #731 * Revert "Restore MacOS Support (flake.nix)" by @leshy in #907 * jeff flake without py env stuff by @leshy in #911 * remove deprecated docker files by @paul-nechifor in #912 * command center stop and home by @leshy in #893 * use packages by @paul-nechifor in #915 * Fix agents prompt by @paul-nechifor in #914 * fix manifest by @paul-nechifor in #916 * fix move skill by @paul-nechifor in #913 * Ignore individual errors by @paul-nechifor in #919 * Feat/rerun latency panels by @Nabla7 in #917 * WIP Release detections by @leshy in #889 * Remove old navigation modules by @paul-nechifor in #923 * Feat/rerun latency panels by @Nabla7 in #925 * Repair camera module by @leshy in #929 * Repair Stream by @leshy in #932 * Docs Clean by @leshy in #933 * docs: sensor streams by @leshy in #934 * Docs: bugfixes by @leshy in #940 * Fixed doclinks to use git ls by @spomichter in #943 * Examples: third party language interop by @leshy in #946 * DOCS: temporal alignment docs improvements by @leshy in #944 * filter bots from commits by @leshy in #947 * Fix skills by @paul-nechifor in #950 * Limit Rerun viewer memory to 4GB default by @Nabla7 in #949 * Working dimensional MCP server - tested with Claude Code MCP client by @spomichter in #945 * allow registration of different agents by @paul-nechifor in #951 * Pre commit large files by @leshy in #953 * Proper Realsense and ZED Camera Drivers by @alexlin2 in #935 * Granular deps by @leshy in #894 * class VLMAgent(AgentSpec, Module) for streamed VLM queries over Transport by @spomichter in #960 * mac compatible commit filter by @paul-nechifor in #961 ## New Contributors * @ym-han made their first contribution in #767 * @jeff-hykin made their first contribution in #745 * @Kaweees made their first contribution in #875 * @mustafab0 made their first contribution in #831 * @Nabla7 made their first contribution in #917 **Full Changelog**: v0.0.5...v0.0.6 Former-commit-id: 26e61a70a9469f2e33e51f1296f082b470009c09 [formerly 7ffc878] Former-commit-id: 725e628
… and map navigation PRODUCTION Nav skills on drone with tracking ## Add MAVLink Drone Integration with Visual Servoing ### Summary Complete drone integration via RosettaDrone MAVLink bridge with autonomous object tracking capabilities. ### Key Features - **MAVLink drone control** - Arm, takeoff, land, fly_to GPS coordinates, velocity movement - **Visual servoing** - Object tracking using Qwen detection + CSRT tracker + PID controller - **Indoor/Outdoor modes** - Conservative indoor PID (1 m/s max) vs aggressive outdoor (5 m/s max) - **Depth estimation** - Metric3D integration for 3D perception - **Replay mode** - Full test coverage with recorded MAVLink/video data ### New Files ``` dimos/robot/drone/ ├── drone.py # Main orchestrator ├── connection_module.py # MAVLink + skills ├── camera_module.py # Video + depth ├── drone_tracking_module.py # Visual servoing ├── drone_visual_servoing_controller.py # PID controller ├── mavlink_connection.py # MAVLink protocol ├── dji_video_stream.py # GStreamer capture └── test_drone.py # Unit tests ``` ### Other Changes - Renamed `street_map_query` → `map_query` in OSM skill - Added position marker to OSM map visualization - Added Foxglove dashboard for drone telemetry ### Test Plan - [x] Unit tests pass (`pytest dimos/robot/drone/test_drone.py`) - [ ] Manual test with replay mode - [ ] Manual test with real drone (outdoor mode) Former-commit-id: b28e271
Release v0.0.6: Pre-Launch Unitree Go2 Release ## What's Changed * Added is_flying_to_target agent skill and fly_to now return string for agent feeback by @spomichter in #635 * Release v0.0.5 by @spomichter in #697 * Rebase ivan g1 by @paul-nechifor in #709 * Navspec by @leshy in #648 * Remove depth module from base unitree go2 blueprints by @spomichter in #712 * Fix Unitree Go2 (replay and spatial memory) by @paul-nechifor in #714 * Add G1 blueprints, and simulation by @paul-nechifor in #724 * New g1 blueprint runfiles by @spomichter in #706 * Update G1/Go2 skills and remove some Robot interfaces by @paul-nechifor in #717 * Add dimos-robot end-to-end test with agents by @paul-nechifor in #716 * Run DimOS and ROS nav in Docker by @paul-nechifor in #700 * Anim experiment by @leshy in #701 * G1 navigation documentation fixes by @spomichter in #738 * Rename dimos-robot to dimos by @paul-nechifor in #740 * Use a process for MuJoCo by @paul-nechifor in #747 * Remove unneeded code files by @paul-nechifor in #718 * Make pygame G1JoystickModule usable for all modules by @paul-nechifor in #741 * error on conflicts by @paul-nechifor in #763 * Hosted Moondream 3 for VLM queries by @alexlin2 in #751 * transport: Remove DaskTransport dead code by @ym-han in #767 * Add editorconfig by @paul-nechifor in #769 * add `type: ignore` by @paul-nechifor in #768 * exclude .md changes from CICD builds by @spomichter in #770 * Working Ivan g1 detection in blueprints by @spomichter in #737 * small env fixes on a fresh install by @leshy in #778 * autofixes by @paul-nechifor in #744 * Support running local agents by @paul-nechifor in #739 * pin major version of langchain packages by @paul-nechifor in #789 * Deduplicate Unitree connections/entrypoints. by @paul-nechifor in #749 * Add TTS and STT by @paul-nechifor in #753 * fix mypy errors by @paul-nechifor in #791 * Use structlog and store JSON logs on disk by @paul-nechifor in #715 * Rpc fixes merge by @paul-nechifor in #801 * transport improvements by @leshy in #713 * Added concurrency check by @spomichter in #803 * make connections work with string annotations by @paul-nechifor in #807 * Run mypy checks in GitHub Actions by @paul-nechifor in #805 * Fix incorrect `= None` by @paul-nechifor in #802 * increase mujoco timeout by @paul-nechifor in #823 * MacOS Support: tests + devShell + mujoco by @jeff-hykin in #745 * nix flake revert by @leshy in #824 * fix mypy issues by @paul-nechifor in #827 * PRODUCTION Nav skills on drone with tracking by @spomichter in #640 * Fix added memory limit to blueprint global config by @spomichter in #856 * models/ refactor by @leshy in #819 * Point Detections by @leshy in #859 * Add generic ignore to gitignore by @jeff-hykin in #864 * fix set transport by @paul-nechifor in #866 * cli-precedence by @paul-nechifor in #857 * show `get_data` progress by @paul-nechifor in #873 * skip if OPENAI_API_KEY not defined by @paul-nechifor in #872 * build foxglove extension by @paul-nechifor in #871 * New planner by @paul-nechifor in #792 * Use `uv` by @paul-nechifor in #870 * Add direnv to gitignore by @Kaweees in #875 * Cuda mapper by @leshy in #862 * rename agents to agents_deprecated by @paul-nechifor in #877 * new planner new mapper by @paul-nechifor in #879 * odom ts parsing by @leshy in #882 * Sim fix by @paul-nechifor in #881 * navigation tuning by @leshy in #883 * Fix: Module init and agents by @leshy in #876 * Remove old setup.sh by @paul-nechifor in #888 * Release planner by @leshy in #887 * fix replay leak by @paul-nechifor in #890 * first pass on large file deletions by @leshy in #891 * Generalized manipulator driver by @mustafab0 in #831 * Restore MacOS Support (flake.nix) by @jeff-hykin in #863 * check-uv by @paul-nechifor in #902 * Make dimos pip-installable by @paul-nechifor in #731 * Revert "Restore MacOS Support (flake.nix)" by @leshy in #907 * jeff flake without py env stuff by @leshy in #911 * remove deprecated docker files by @paul-nechifor in #912 * command center stop and home by @leshy in #893 * use packages by @paul-nechifor in #915 * Fix agents prompt by @paul-nechifor in #914 * fix manifest by @paul-nechifor in #916 * fix move skill by @paul-nechifor in #913 * Ignore individual errors by @paul-nechifor in #919 * Feat/rerun latency panels by @Nabla7 in #917 * WIP Release detections by @leshy in #889 * Remove old navigation modules by @paul-nechifor in #923 * Feat/rerun latency panels by @Nabla7 in #925 * Repair camera module by @leshy in #929 * Repair Stream by @leshy in #932 * Docs Clean by @leshy in #933 * docs: sensor streams by @leshy in #934 * Docs: bugfixes by @leshy in #940 * Fixed doclinks to use git ls by @spomichter in #943 * Examples: third party language interop by @leshy in #946 * DOCS: temporal alignment docs improvements by @leshy in #944 * filter bots from commits by @leshy in #947 * Fix skills by @paul-nechifor in #950 * Limit Rerun viewer memory to 4GB default by @Nabla7 in #949 * Working dimensional MCP server - tested with Claude Code MCP client by @spomichter in #945 * allow registration of different agents by @paul-nechifor in #951 * Pre commit large files by @leshy in #953 * Proper Realsense and ZED Camera Drivers by @alexlin2 in #935 * Granular deps by @leshy in #894 * class VLMAgent(AgentSpec, Module) for streamed VLM queries over Transport by @spomichter in #960 * mac compatible commit filter by @paul-nechifor in #961 ## New Contributors * @ym-han made their first contribution in #767 * @jeff-hykin made their first contribution in #745 * @Kaweees made their first contribution in #875 * @mustafab0 made their first contribution in #831 * @Nabla7 made their first contribution in #917 **Full Changelog**: v0.0.5...v0.0.6 Former-commit-id: 7ffc878
Release v0.0.6: Pre-Launch Unitree Go2 Release ## What's Changed * Added is_flying_to_target agent skill and fly_to now return string for agent feeback by @spomichter in #635 * Release v0.0.5 by @spomichter in #697 * Rebase ivan g1 by @paul-nechifor in #709 * Navspec by @leshy in #648 * Remove depth module from base unitree go2 blueprints by @spomichter in #712 * Fix Unitree Go2 (replay and spatial memory) by @paul-nechifor in #714 * Add G1 blueprints, and simulation by @paul-nechifor in #724 * New g1 blueprint runfiles by @spomichter in #706 * Update G1/Go2 skills and remove some Robot interfaces by @paul-nechifor in #717 * Add dimos-robot end-to-end test with agents by @paul-nechifor in #716 * Run DimOS and ROS nav in Docker by @paul-nechifor in #700 * Anim experiment by @leshy in #701 * G1 navigation documentation fixes by @spomichter in #738 * Rename dimos-robot to dimos by @paul-nechifor in #740 * Use a process for MuJoCo by @paul-nechifor in #747 * Remove unneeded code files by @paul-nechifor in #718 * Make pygame G1JoystickModule usable for all modules by @paul-nechifor in #741 * error on conflicts by @paul-nechifor in #763 * Hosted Moondream 3 for VLM queries by @alexlin2 in #751 * transport: Remove DaskTransport dead code by @ym-han in #767 * Add editorconfig by @paul-nechifor in #769 * add `type: ignore` by @paul-nechifor in #768 * exclude .md changes from CICD builds by @spomichter in #770 * Working Ivan g1 detection in blueprints by @spomichter in #737 * small env fixes on a fresh install by @leshy in #778 * autofixes by @paul-nechifor in #744 * Support running local agents by @paul-nechifor in #739 * pin major version of langchain packages by @paul-nechifor in #789 * Deduplicate Unitree connections/entrypoints. by @paul-nechifor in #749 * Add TTS and STT by @paul-nechifor in #753 * fix mypy errors by @paul-nechifor in #791 * Use structlog and store JSON logs on disk by @paul-nechifor in #715 * Rpc fixes merge by @paul-nechifor in #801 * transport improvements by @leshy in #713 * Added concurrency check by @spomichter in #803 * make connections work with string annotations by @paul-nechifor in #807 * Run mypy checks in GitHub Actions by @paul-nechifor in #805 * Fix incorrect `= None` by @paul-nechifor in #802 * increase mujoco timeout by @paul-nechifor in #823 * MacOS Support: tests + devShell + mujoco by @jeff-hykin in #745 * nix flake revert by @leshy in #824 * fix mypy issues by @paul-nechifor in #827 * PRODUCTION Nav skills on drone with tracking by @spomichter in #640 * Fix added memory limit to blueprint global config by @spomichter in #856 * models/ refactor by @leshy in #819 * Point Detections by @leshy in #859 * Add generic ignore to gitignore by @jeff-hykin in #864 * fix set transport by @paul-nechifor in #866 * cli-precedence by @paul-nechifor in #857 * show `get_data` progress by @paul-nechifor in #873 * skip if OPENAI_API_KEY not defined by @paul-nechifor in #872 * build foxglove extension by @paul-nechifor in #871 * New planner by @paul-nechifor in #792 * Use `uv` by @paul-nechifor in #870 * Add direnv to gitignore by @Kaweees in #875 * Cuda mapper by @leshy in #862 * rename agents to agents_deprecated by @paul-nechifor in #877 * new planner new mapper by @paul-nechifor in #879 * odom ts parsing by @leshy in #882 * Sim fix by @paul-nechifor in #881 * navigation tuning by @leshy in #883 * Fix: Module init and agents by @leshy in #876 * Remove old setup.sh by @paul-nechifor in #888 * Release planner by @leshy in #887 * fix replay leak by @paul-nechifor in #890 * first pass on large file deletions by @leshy in #891 * Generalized manipulator driver by @mustafab0 in #831 * Restore MacOS Support (flake.nix) by @jeff-hykin in #863 * check-uv by @paul-nechifor in #902 * Make dimos pip-installable by @paul-nechifor in #731 * Revert "Restore MacOS Support (flake.nix)" by @leshy in #907 * jeff flake without py env stuff by @leshy in #911 * remove deprecated docker files by @paul-nechifor in #912 * command center stop and home by @leshy in #893 * use packages by @paul-nechifor in #915 * Fix agents prompt by @paul-nechifor in #914 * fix manifest by @paul-nechifor in #916 * fix move skill by @paul-nechifor in #913 * Ignore individual errors by @paul-nechifor in #919 * Feat/rerun latency panels by @Nabla7 in #917 * WIP Release detections by @leshy in #889 * Remove old navigation modules by @paul-nechifor in #923 * Feat/rerun latency panels by @Nabla7 in #925 * Repair camera module by @leshy in #929 * Repair Stream by @leshy in #932 * Docs Clean by @leshy in #933 * docs: sensor streams by @leshy in #934 * Docs: bugfixes by @leshy in #940 * Fixed doclinks to use git ls by @spomichter in #943 * Examples: third party language interop by @leshy in #946 * DOCS: temporal alignment docs improvements by @leshy in #944 * filter bots from commits by @leshy in #947 * Fix skills by @paul-nechifor in #950 * Limit Rerun viewer memory to 4GB default by @Nabla7 in #949 * Working dimensional MCP server - tested with Claude Code MCP client by @spomichter in #945 * allow registration of different agents by @paul-nechifor in #951 * Pre commit large files by @leshy in #953 * Proper Realsense and ZED Camera Drivers by @alexlin2 in #935 * Granular deps by @leshy in #894 * class VLMAgent(AgentSpec, Module) for streamed VLM queries over Transport by @spomichter in #960 * mac compatible commit filter by @paul-nechifor in #961 ## New Contributors * @ym-han made their first contribution in #767 * @jeff-hykin made their first contribution in #745 * @Kaweees made their first contribution in #875 * @mustafab0 made their first contribution in #831 * @Nabla7 made their first contribution in #917 **Full Changelog**: v0.0.5...v0.0.6 Former-commit-id: 7ffc878 Former-commit-id: 067332a
… and map navigation PRODUCTION Nav skills on drone with tracking ## Add MAVLink Drone Integration with Visual Servoing ### Summary Complete drone integration via RosettaDrone MAVLink bridge with autonomous object tracking capabilities. ### Key Features - **MAVLink drone control** - Arm, takeoff, land, fly_to GPS coordinates, velocity movement - **Visual servoing** - Object tracking using Qwen detection + CSRT tracker + PID controller - **Indoor/Outdoor modes** - Conservative indoor PID (1 m/s max) vs aggressive outdoor (5 m/s max) - **Depth estimation** - Metric3D integration for 3D perception - **Replay mode** - Full test coverage with recorded MAVLink/video data ### New Files ``` dimos/robot/drone/ ├── drone.py # Main orchestrator ├── connection_module.py # MAVLink + skills ├── camera_module.py # Video + depth ├── drone_tracking_module.py # Visual servoing ├── drone_visual_servoing_controller.py # PID controller ├── mavlink_connection.py # MAVLink protocol ├── dji_video_stream.py # GStreamer capture └── test_drone.py # Unit tests ``` ### Other Changes - Renamed `street_map_query` → `map_query` in OSM skill - Added position marker to OSM map visualization - Added Foxglove dashboard for drone telemetry ### Test Plan - [x] Unit tests pass (`pytest dimos/robot/drone/test_drone.py`) - [ ] Manual test with replay mode - [ ] Manual test with real drone (outdoor mode) Former-commit-id: 833e4af [formerly b28e271] Former-commit-id: 2abdbe5
Release v0.0.6: Pre-Launch Unitree Go2 Release ## What's Changed * Added is_flying_to_target agent skill and fly_to now return string for agent feeback by @spomichter in #635 * Release v0.0.5 by @spomichter in #697 * Rebase ivan g1 by @paul-nechifor in #709 * Navspec by @leshy in #648 * Remove depth module from base unitree go2 blueprints by @spomichter in #712 * Fix Unitree Go2 (replay and spatial memory) by @paul-nechifor in #714 * Add G1 blueprints, and simulation by @paul-nechifor in #724 * New g1 blueprint runfiles by @spomichter in #706 * Update G1/Go2 skills and remove some Robot interfaces by @paul-nechifor in #717 * Add dimos-robot end-to-end test with agents by @paul-nechifor in #716 * Run DimOS and ROS nav in Docker by @paul-nechifor in #700 * Anim experiment by @leshy in #701 * G1 navigation documentation fixes by @spomichter in #738 * Rename dimos-robot to dimos by @paul-nechifor in #740 * Use a process for MuJoCo by @paul-nechifor in #747 * Remove unneeded code files by @paul-nechifor in #718 * Make pygame G1JoystickModule usable for all modules by @paul-nechifor in #741 * error on conflicts by @paul-nechifor in #763 * Hosted Moondream 3 for VLM queries by @alexlin2 in #751 * transport: Remove DaskTransport dead code by @ym-han in #767 * Add editorconfig by @paul-nechifor in #769 * add `type: ignore` by @paul-nechifor in #768 * exclude .md changes from CICD builds by @spomichter in #770 * Working Ivan g1 detection in blueprints by @spomichter in #737 * small env fixes on a fresh install by @leshy in #778 * autofixes by @paul-nechifor in #744 * Support running local agents by @paul-nechifor in #739 * pin major version of langchain packages by @paul-nechifor in #789 * Deduplicate Unitree connections/entrypoints. by @paul-nechifor in #749 * Add TTS and STT by @paul-nechifor in #753 * fix mypy errors by @paul-nechifor in #791 * Use structlog and store JSON logs on disk by @paul-nechifor in #715 * Rpc fixes merge by @paul-nechifor in #801 * transport improvements by @leshy in #713 * Added concurrency check by @spomichter in #803 * make connections work with string annotations by @paul-nechifor in #807 * Run mypy checks in GitHub Actions by @paul-nechifor in #805 * Fix incorrect `= None` by @paul-nechifor in #802 * increase mujoco timeout by @paul-nechifor in #823 * MacOS Support: tests + devShell + mujoco by @jeff-hykin in #745 * nix flake revert by @leshy in #824 * fix mypy issues by @paul-nechifor in #827 * PRODUCTION Nav skills on drone with tracking by @spomichter in #640 * Fix added memory limit to blueprint global config by @spomichter in #856 * models/ refactor by @leshy in #819 * Point Detections by @leshy in #859 * Add generic ignore to gitignore by @jeff-hykin in #864 * fix set transport by @paul-nechifor in #866 * cli-precedence by @paul-nechifor in #857 * show `get_data` progress by @paul-nechifor in #873 * skip if OPENAI_API_KEY not defined by @paul-nechifor in #872 * build foxglove extension by @paul-nechifor in #871 * New planner by @paul-nechifor in #792 * Use `uv` by @paul-nechifor in #870 * Add direnv to gitignore by @Kaweees in #875 * Cuda mapper by @leshy in #862 * rename agents to agents_deprecated by @paul-nechifor in #877 * new planner new mapper by @paul-nechifor in #879 * odom ts parsing by @leshy in #882 * Sim fix by @paul-nechifor in #881 * navigation tuning by @leshy in #883 * Fix: Module init and agents by @leshy in #876 * Remove old setup.sh by @paul-nechifor in #888 * Release planner by @leshy in #887 * fix replay leak by @paul-nechifor in #890 * first pass on large file deletions by @leshy in #891 * Generalized manipulator driver by @mustafab0 in #831 * Restore MacOS Support (flake.nix) by @jeff-hykin in #863 * check-uv by @paul-nechifor in #902 * Make dimos pip-installable by @paul-nechifor in #731 * Revert "Restore MacOS Support (flake.nix)" by @leshy in #907 * jeff flake without py env stuff by @leshy in #911 * remove deprecated docker files by @paul-nechifor in #912 * command center stop and home by @leshy in #893 * use packages by @paul-nechifor in #915 * Fix agents prompt by @paul-nechifor in #914 * fix manifest by @paul-nechifor in #916 * fix move skill by @paul-nechifor in #913 * Ignore individual errors by @paul-nechifor in #919 * Feat/rerun latency panels by @Nabla7 in #917 * WIP Release detections by @leshy in #889 * Remove old navigation modules by @paul-nechifor in #923 * Feat/rerun latency panels by @Nabla7 in #925 * Repair camera module by @leshy in #929 * Repair Stream by @leshy in #932 * Docs Clean by @leshy in #933 * docs: sensor streams by @leshy in #934 * Docs: bugfixes by @leshy in #940 * Fixed doclinks to use git ls by @spomichter in #943 * Examples: third party language interop by @leshy in #946 * DOCS: temporal alignment docs improvements by @leshy in #944 * filter bots from commits by @leshy in #947 * Fix skills by @paul-nechifor in #950 * Limit Rerun viewer memory to 4GB default by @Nabla7 in #949 * Working dimensional MCP server - tested with Claude Code MCP client by @spomichter in #945 * allow registration of different agents by @paul-nechifor in #951 * Pre commit large files by @leshy in #953 * Proper Realsense and ZED Camera Drivers by @alexlin2 in #935 * Granular deps by @leshy in #894 * class VLMAgent(AgentSpec, Module) for streamed VLM queries over Transport by @spomichter in #960 * mac compatible commit filter by @paul-nechifor in #961 ## New Contributors * @ym-han made their first contribution in #767 * @jeff-hykin made their first contribution in #745 * @Kaweees made their first contribution in #875 * @mustafab0 made their first contribution in #831 * @Nabla7 made their first contribution in #917 **Full Changelog**: v0.0.5...v0.0.6 Former-commit-id: 26e61a70a9469f2e33e51f1296f082b470009c09 [formerly 7ffc878] Former-commit-id: 725e628 Former-commit-id: 2e5f1d4
… and map navigation PRODUCTION Nav skills on drone with tracking ## Add MAVLink Drone Integration with Visual Servoing ### Summary Complete drone integration via RosettaDrone MAVLink bridge with autonomous object tracking capabilities. ### Key Features - **MAVLink drone control** - Arm, takeoff, land, fly_to GPS coordinates, velocity movement - **Visual servoing** - Object tracking using Qwen detection + CSRT tracker + PID controller - **Indoor/Outdoor modes** - Conservative indoor PID (1 m/s max) vs aggressive outdoor (5 m/s max) - **Depth estimation** - Metric3D integration for 3D perception - **Replay mode** - Full test coverage with recorded MAVLink/video data ### New Files ``` dimos/robot/drone/ ├── drone.py # Main orchestrator ├── connection_module.py # MAVLink + skills ├── camera_module.py # Video + depth ├── drone_tracking_module.py # Visual servoing ├── drone_visual_servoing_controller.py # PID controller ├── mavlink_connection.py # MAVLink protocol ├── dji_video_stream.py # GStreamer capture └── test_drone.py # Unit tests ``` ### Other Changes - Renamed `street_map_query` → `map_query` in OSM skill - Added position marker to OSM map visualization - Added Foxglove dashboard for drone telemetry ### Test Plan - [x] Unit tests pass (`pytest dimos/robot/drone/test_drone.py`) - [ ] Manual test with replay mode - [ ] Manual test with real drone (outdoor mode) Former-commit-id: 833e4af [formerly b28e271] Former-commit-id: 2abdbe5
Release v0.0.6: Pre-Launch Unitree Go2 Release ## What's Changed * Added is_flying_to_target agent skill and fly_to now return string for agent feeback by @spomichter in #635 * Release v0.0.5 by @spomichter in #697 * Rebase ivan g1 by @paul-nechifor in #709 * Navspec by @leshy in #648 * Remove depth module from base unitree go2 blueprints by @spomichter in #712 * Fix Unitree Go2 (replay and spatial memory) by @paul-nechifor in #714 * Add G1 blueprints, and simulation by @paul-nechifor in #724 * New g1 blueprint runfiles by @spomichter in #706 * Update G1/Go2 skills and remove some Robot interfaces by @paul-nechifor in #717 * Add dimos-robot end-to-end test with agents by @paul-nechifor in #716 * Run DimOS and ROS nav in Docker by @paul-nechifor in #700 * Anim experiment by @leshy in #701 * G1 navigation documentation fixes by @spomichter in #738 * Rename dimos-robot to dimos by @paul-nechifor in #740 * Use a process for MuJoCo by @paul-nechifor in #747 * Remove unneeded code files by @paul-nechifor in #718 * Make pygame G1JoystickModule usable for all modules by @paul-nechifor in #741 * error on conflicts by @paul-nechifor in #763 * Hosted Moondream 3 for VLM queries by @alexlin2 in #751 * transport: Remove DaskTransport dead code by @ym-han in #767 * Add editorconfig by @paul-nechifor in #769 * add `type: ignore` by @paul-nechifor in #768 * exclude .md changes from CICD builds by @spomichter in #770 * Working Ivan g1 detection in blueprints by @spomichter in #737 * small env fixes on a fresh install by @leshy in #778 * autofixes by @paul-nechifor in #744 * Support running local agents by @paul-nechifor in #739 * pin major version of langchain packages by @paul-nechifor in #789 * Deduplicate Unitree connections/entrypoints. by @paul-nechifor in #749 * Add TTS and STT by @paul-nechifor in #753 * fix mypy errors by @paul-nechifor in #791 * Use structlog and store JSON logs on disk by @paul-nechifor in #715 * Rpc fixes merge by @paul-nechifor in #801 * transport improvements by @leshy in #713 * Added concurrency check by @spomichter in #803 * make connections work with string annotations by @paul-nechifor in #807 * Run mypy checks in GitHub Actions by @paul-nechifor in #805 * Fix incorrect `= None` by @paul-nechifor in #802 * increase mujoco timeout by @paul-nechifor in #823 * MacOS Support: tests + devShell + mujoco by @jeff-hykin in #745 * nix flake revert by @leshy in #824 * fix mypy issues by @paul-nechifor in #827 * PRODUCTION Nav skills on drone with tracking by @spomichter in #640 * Fix added memory limit to blueprint global config by @spomichter in #856 * models/ refactor by @leshy in #819 * Point Detections by @leshy in #859 * Add generic ignore to gitignore by @jeff-hykin in #864 * fix set transport by @paul-nechifor in #866 * cli-precedence by @paul-nechifor in #857 * show `get_data` progress by @paul-nechifor in #873 * skip if OPENAI_API_KEY not defined by @paul-nechifor in #872 * build foxglove extension by @paul-nechifor in #871 * New planner by @paul-nechifor in #792 * Use `uv` by @paul-nechifor in #870 * Add direnv to gitignore by @Kaweees in #875 * Cuda mapper by @leshy in #862 * rename agents to agents_deprecated by @paul-nechifor in #877 * new planner new mapper by @paul-nechifor in #879 * odom ts parsing by @leshy in #882 * Sim fix by @paul-nechifor in #881 * navigation tuning by @leshy in #883 * Fix: Module init and agents by @leshy in #876 * Remove old setup.sh by @paul-nechifor in #888 * Release planner by @leshy in #887 * fix replay leak by @paul-nechifor in #890 * first pass on large file deletions by @leshy in #891 * Generalized manipulator driver by @mustafab0 in #831 * Restore MacOS Support (flake.nix) by @jeff-hykin in #863 * check-uv by @paul-nechifor in #902 * Make dimos pip-installable by @paul-nechifor in #731 * Revert "Restore MacOS Support (flake.nix)" by @leshy in #907 * jeff flake without py env stuff by @leshy in #911 * remove deprecated docker files by @paul-nechifor in #912 * command center stop and home by @leshy in #893 * use packages by @paul-nechifor in #915 * Fix agents prompt by @paul-nechifor in #914 * fix manifest by @paul-nechifor in #916 * fix move skill by @paul-nechifor in #913 * Ignore individual errors by @paul-nechifor in #919 * Feat/rerun latency panels by @Nabla7 in #917 * WIP Release detections by @leshy in #889 * Remove old navigation modules by @paul-nechifor in #923 * Feat/rerun latency panels by @Nabla7 in #925 * Repair camera module by @leshy in #929 * Repair Stream by @leshy in #932 * Docs Clean by @leshy in #933 * docs: sensor streams by @leshy in #934 * Docs: bugfixes by @leshy in #940 * Fixed doclinks to use git ls by @spomichter in #943 * Examples: third party language interop by @leshy in #946 * DOCS: temporal alignment docs improvements by @leshy in #944 * filter bots from commits by @leshy in #947 * Fix skills by @paul-nechifor in #950 * Limit Rerun viewer memory to 4GB default by @Nabla7 in #949 * Working dimensional MCP server - tested with Claude Code MCP client by @spomichter in #945 * allow registration of different agents by @paul-nechifor in #951 * Pre commit large files by @leshy in #953 * Proper Realsense and ZED Camera Drivers by @alexlin2 in #935 * Granular deps by @leshy in #894 * class VLMAgent(AgentSpec, Module) for streamed VLM queries over Transport by @spomichter in #960 * mac compatible commit filter by @paul-nechifor in #961 ## New Contributors * @ym-han made their first contribution in #767 * @jeff-hykin made their first contribution in #745 * @Kaweees made their first contribution in #875 * @mustafab0 made their first contribution in #831 * @Nabla7 made their first contribution in #917 **Full Changelog**: v0.0.5...v0.0.6 Former-commit-id: 7ffc878 Former-commit-id: 067332a
Release v0.0.6: Pre-Launch Unitree Go2 Release ## What's Changed * Added is_flying_to_target agent skill and fly_to now return string for agent feeback by @spomichter in #635 * Release v0.0.5 by @spomichter in #697 * Rebase ivan g1 by @paul-nechifor in #709 * Navspec by @leshy in #648 * Remove depth module from base unitree go2 blueprints by @spomichter in #712 * Fix Unitree Go2 (replay and spatial memory) by @paul-nechifor in #714 * Add G1 blueprints, and simulation by @paul-nechifor in #724 * New g1 blueprint runfiles by @spomichter in #706 * Update G1/Go2 skills and remove some Robot interfaces by @paul-nechifor in #717 * Add dimos-robot end-to-end test with agents by @paul-nechifor in #716 * Run DimOS and ROS nav in Docker by @paul-nechifor in #700 * Anim experiment by @leshy in #701 * G1 navigation documentation fixes by @spomichter in #738 * Rename dimos-robot to dimos by @paul-nechifor in #740 * Use a process for MuJoCo by @paul-nechifor in #747 * Remove unneeded code files by @paul-nechifor in #718 * Make pygame G1JoystickModule usable for all modules by @paul-nechifor in #741 * error on conflicts by @paul-nechifor in #763 * Hosted Moondream 3 for VLM queries by @alexlin2 in #751 * transport: Remove DaskTransport dead code by @ym-han in #767 * Add editorconfig by @paul-nechifor in #769 * add `type: ignore` by @paul-nechifor in #768 * exclude .md changes from CICD builds by @spomichter in #770 * Working Ivan g1 detection in blueprints by @spomichter in #737 * small env fixes on a fresh install by @leshy in #778 * autofixes by @paul-nechifor in #744 * Support running local agents by @paul-nechifor in #739 * pin major version of langchain packages by @paul-nechifor in #789 * Deduplicate Unitree connections/entrypoints. by @paul-nechifor in #749 * Add TTS and STT by @paul-nechifor in #753 * fix mypy errors by @paul-nechifor in #791 * Use structlog and store JSON logs on disk by @paul-nechifor in #715 * Rpc fixes merge by @paul-nechifor in #801 * transport improvements by @leshy in #713 * Added concurrency check by @spomichter in #803 * make connections work with string annotations by @paul-nechifor in #807 * Run mypy checks in GitHub Actions by @paul-nechifor in #805 * Fix incorrect `= None` by @paul-nechifor in #802 * increase mujoco timeout by @paul-nechifor in #823 * MacOS Support: tests + devShell + mujoco by @jeff-hykin in #745 * nix flake revert by @leshy in #824 * fix mypy issues by @paul-nechifor in #827 * PRODUCTION Nav skills on drone with tracking by @spomichter in #640 * Fix added memory limit to blueprint global config by @spomichter in #856 * models/ refactor by @leshy in #819 * Point Detections by @leshy in #859 * Add generic ignore to gitignore by @jeff-hykin in #864 * fix set transport by @paul-nechifor in #866 * cli-precedence by @paul-nechifor in #857 * show `get_data` progress by @paul-nechifor in #873 * skip if OPENAI_API_KEY not defined by @paul-nechifor in #872 * build foxglove extension by @paul-nechifor in #871 * New planner by @paul-nechifor in #792 * Use `uv` by @paul-nechifor in #870 * Add direnv to gitignore by @Kaweees in #875 * Cuda mapper by @leshy in #862 * rename agents to agents_deprecated by @paul-nechifor in #877 * new planner new mapper by @paul-nechifor in #879 * odom ts parsing by @leshy in #882 * Sim fix by @paul-nechifor in #881 * navigation tuning by @leshy in #883 * Fix: Module init and agents by @leshy in #876 * Remove old setup.sh by @paul-nechifor in #888 * Release planner by @leshy in #887 * fix replay leak by @paul-nechifor in #890 * first pass on large file deletions by @leshy in #891 * Generalized manipulator driver by @mustafab0 in #831 * Restore MacOS Support (flake.nix) by @jeff-hykin in #863 * check-uv by @paul-nechifor in #902 * Make dimos pip-installable by @paul-nechifor in #731 * Revert "Restore MacOS Support (flake.nix)" by @leshy in #907 * jeff flake without py env stuff by @leshy in #911 * remove deprecated docker files by @paul-nechifor in #912 * command center stop and home by @leshy in #893 * use packages by @paul-nechifor in #915 * Fix agents prompt by @paul-nechifor in #914 * fix manifest by @paul-nechifor in #916 * fix move skill by @paul-nechifor in #913 * Ignore individual errors by @paul-nechifor in #919 * Feat/rerun latency panels by @Nabla7 in #917 * WIP Release detections by @leshy in #889 * Remove old navigation modules by @paul-nechifor in #923 * Feat/rerun latency panels by @Nabla7 in #925 * Repair camera module by @leshy in #929 * Repair Stream by @leshy in #932 * Docs Clean by @leshy in #933 * docs: sensor streams by @leshy in #934 * Docs: bugfixes by @leshy in #940 * Fixed doclinks to use git ls by @spomichter in #943 * Examples: third party language interop by @leshy in #946 * DOCS: temporal alignment docs improvements by @leshy in #944 * filter bots from commits by @leshy in #947 * Fix skills by @paul-nechifor in #950 * Limit Rerun viewer memory to 4GB default by @Nabla7 in #949 * Working dimensional MCP server - tested with Claude Code MCP client by @spomichter in #945 * allow registration of different agents by @paul-nechifor in #951 * Pre commit large files by @leshy in #953 * Proper Realsense and ZED Camera Drivers by @alexlin2 in #935 * Granular deps by @leshy in #894 * class VLMAgent(AgentSpec, Module) for streamed VLM queries over Transport by @spomichter in #960 * mac compatible commit filter by @paul-nechifor in #961 ## New Contributors * @ym-han made their first contribution in #767 * @jeff-hykin made their first contribution in #745 * @Kaweees made their first contribution in #875 * @mustafab0 made their first contribution in #831 * @Nabla7 made their first contribution in #917 **Full Changelog**: v0.0.5...v0.0.6 Former-commit-id: 26e61a70a9469f2e33e51f1296f082b470009c09 [formerly 7ffc878] Former-commit-id: 725e628 Former-commit-id: 2e5f1d4
… and map navigation PRODUCTION Nav skills on drone with tracking ## Add MAVLink Drone Integration with Visual Servoing ### Summary Complete drone integration via RosettaDrone MAVLink bridge with autonomous object tracking capabilities. ### Key Features - **MAVLink drone control** - Arm, takeoff, land, fly_to GPS coordinates, velocity movement - **Visual servoing** - Object tracking using Qwen detection + CSRT tracker + PID controller - **Indoor/Outdoor modes** - Conservative indoor PID (1 m/s max) vs aggressive outdoor (5 m/s max) - **Depth estimation** - Metric3D integration for 3D perception - **Replay mode** - Full test coverage with recorded MAVLink/video data ### New Files ``` dimos/robot/drone/ ├── drone.py # Main orchestrator ├── connection_module.py # MAVLink + skills ├── camera_module.py # Video + depth ├── drone_tracking_module.py # Visual servoing ├── drone_visual_servoing_controller.py # PID controller ├── mavlink_connection.py # MAVLink protocol ├── dji_video_stream.py # GStreamer capture └── test_drone.py # Unit tests ``` ### Other Changes - Renamed `street_map_query` → `map_query` in OSM skill - Added position marker to OSM map visualization - Added Foxglove dashboard for drone telemetry ### Test Plan - [x] Unit tests pass (`pytest dimos/robot/drone/test_drone.py`) - [ ] Manual test with replay mode - [ ] Manual test with real drone (outdoor mode) Former-commit-id: 12d5326 [formerly 7f029e6] Former-commit-id: fb0708e
… and map navigation PRODUCTION Nav skills on drone with tracking ## Add MAVLink Drone Integration with Visual Servoing ### Summary Complete drone integration via RosettaDrone MAVLink bridge with autonomous object tracking capabilities. ### Key Features - **MAVLink drone control** - Arm, takeoff, land, fly_to GPS coordinates, velocity movement - **Visual servoing** - Object tracking using Qwen detection + CSRT tracker + PID controller - **Indoor/Outdoor modes** - Conservative indoor PID (1 m/s max) vs aggressive outdoor (5 m/s max) - **Depth estimation** - Metric3D integration for 3D perception - **Replay mode** - Full test coverage with recorded MAVLink/video data ### New Files ``` dimos/robot/drone/ ├── drone.py # Main orchestrator ├── connection_module.py # MAVLink + skills ├── camera_module.py # Video + depth ├── drone_tracking_module.py # Visual servoing ├── drone_visual_servoing_controller.py # PID controller ├── mavlink_connection.py # MAVLink protocol ├── dji_video_stream.py # GStreamer capture └── test_drone.py # Unit tests ``` ### Other Changes - Renamed `street_map_query` → `map_query` in OSM skill - Added position marker to OSM map visualization - Added Foxglove dashboard for drone telemetry ### Test Plan - [x] Unit tests pass (`pytest dimos/robot/drone/test_drone.py`) - [ ] Manual test with replay mode - [ ] Manual test with real drone (outdoor mode) Former-commit-id: 8ef1980 [formerly 7f029e6] Former-commit-id: fb0708e
Add MAVLink Drone Integration with Visual Servoing
Summary
Complete drone integration via RosettaDrone MAVLink bridge with autonomous object tracking capabilities.
Key Features
New Files
Other Changes
street_map_query→map_queryin OSM skillTest Plan
pytest dimos/robot/drone/test_drone.py)