PRODUCTION Nav skills on drone with tracking#640
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.
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.
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.
For now removed blocking
paul-nechifor
left a comment
There was a problem hiding this comment.
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)