Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
03bcbad
Drone working no XY odom
spomichter Aug 22, 2025
3b4e777
Implemented XY North-East-Down coordinate frame drone odometry, creat…
spomichter Aug 22, 2025
799e2aa
Added telemetry topic to droneConnectionModule
spomichter Aug 22, 2025
fc1d218
Added telemetry to drone.py runner
spomichter Aug 22, 2025
ce3b376
Mavlink --> ROS standard pitch yaw type inversions
spomichter Aug 22, 2025
1dba561
Cleanup files / class names
spomichter Aug 23, 2025
dae01c4
Added drone TimedSensorReplay to LFS with mavlink/ and video/
spomichter Aug 23, 2025
e6a6638
Cleanup
spomichter Aug 23, 2025
1eda798
Working drone simulated replay for video and mavlink, odom/tf not
spomichter Aug 23, 2025
30c85b4
Fixed mavlink streaming for tf and odom
spomichter Aug 23, 2025
e13ff1f
Added drone extra to pyproject
spomichter Aug 23, 2025
6c548f9
remove tests
spomichter Aug 23, 2025
0bb813e
Cleanup
spomichter Aug 23, 2025
53891be
CI code cleanup
spomichter Aug 23, 2025
0155ee9
Added drone foxglove dashboard
spomichter Aug 23, 2025
778c87f
Added drone unit tests
spomichter Aug 24, 2025
d489916
Unnecessary LCM inits
spomichter Sep 17, 2025
f0559d6
Fix logging
spomichter Sep 18, 2025
358c8fc
WIP drone skills refactor and testing
spomichter Sep 19, 2025
9d9c1ea
Added fly_to command and outdoor gpd odom flag to drone
spomichter Sep 20, 2025
2f17e17
Fix BGR commited in drone video stream
spomichter Sep 20, 2025
42f84dc
Added skill decorators to drone connection module
spomichter Sep 20, 2025
99e7f0a
Working landing and fly_to mavlink skills
spomichter Sep 20, 2025
7b4b8f9
Agent2 and new skills added to drone.py
spomichter Sep 23, 2025
a654a3a
Added back move_twist as non-skill method for testing
spomichter Sep 23, 2025
0cd254c
Mavlink connection with GPS navigation, Move XY ROStwist with Z optio…
spomichter Sep 23, 2025
c93a462
Merge branch 'drone-integration-rebase' into nav-skills-drone
paul-nechifor Sep 24, 2025
4ffe1f1
websocketvis for the drone (to use the map plugin)
paul-nechifor Sep 24, 2025
3eb8281
Added is_flying_to_target agent skill and fly_to now return string fo…
spomichter Sep 25, 2025
41da2a4
Merge pull request #635 from dimensionalOS/drone-integration-rebase
spomichter Sep 25, 2025
3b54a97
Renamed to observe skill for agent clarity
spomichter Sep 25, 2025
89434b8
Fixed accidently left test param
spomichter Sep 25, 2025
5938434
Working realtime drone qwen+CSRT object tracker
spomichter Sep 25, 2025
6d9f535
add skill to track object
paul-nechifor Sep 26, 2025
101d218
Removed need to do __enter__ threading stuff in OSM
spomichter Sep 27, 2025
e1c92d3
Temp do not require proper thread __enter__ for google maps
spomichter Sep 27, 2025
8e318b5
Added current position marker to OSM location map for agent
spomichter Sep 27, 2025
fe94def
Added OSM and google mapsskills to drone
spomichter Sep 27, 2025
d742510
Drone readme
spomichter Sep 28, 2025
605cdb9
Google maps merge conflict
spomichter Sep 28, 2025
d87613c
Bug fix
spomichter Sep 28, 2025
9bc0be7
working
spomichter Sep 29, 2025
14ae144
Added drone pyproject extra to base python dockerfile for CI
spomichter Oct 1, 2025
f4258a3
CI code cleanup
spomichter Oct 1, 2025
4481928
Merge branch 'dev' into nav-skills-drone-tracking
paul-nechifor Nov 19, 2025
954b9dd
ruff fixes
paul-nechifor Nov 19, 2025
71bd668
fix tests
paul-nechifor Nov 19, 2025
252b1af
Fixes to drone topic names
spomichter Dec 11, 2025
7715613
Merge branch 'dev' into nav-skills-drone-tracking
spomichter Dec 11, 2025
f7c5196
CI code cleanup
spomichter Dec 11, 2025
99140b6
Fix logging updates
spomichter Dec 11, 2025
dec0f59
Fixing paul comments for threadsafe / locks
spomichter Dec 11, 2025
aff65a2
Merge branch 'nav-skills-drone-tracking' of github.com:dimensionalOS/…
spomichter Dec 11, 2025
20e734f
Added proper typechecking to drone implementation
spomichter Dec 12, 2025
919d2f2
Merge remote-tracking branch 'origin/dev' into nav-skills-drone-tracking
spomichter Dec 12, 2025
10d0d95
Revert changed type on camera info
spomichter Dec 12, 2025
7ff2d8b
Fix dimos.shutdown
spomichter Dec 12, 2025
001bfa9
Fixed lagging takeoff drone test and other test fixes
spomichter Dec 13, 2025
fb8e058
fix typechecking comment
spomichter Dec 13, 2025
d8882df
remove unused rpc call
spomichter Dec 13, 2025
333df2b
Fix blocking RPC call in drone tracking module
spomichter Dec 13, 2025
1cdbb2c
fixed move skill in drone connection vector3 issue
spomichter Dec 13, 2025
74364e7
Added tests for fly_to and drone visual servoing / tracking
spomichter Dec 16, 2025
1a7ca72
Fix flipped velocity Z on DJI
spomichter Dec 16, 2025
3bfda80
Added indoor safety in drone tracking module
spomichter Dec 16, 2025
2af15f9
Pass through outdoor param to trackign module
spomichter Dec 16, 2025
82bb7d9
readme updates
spomichter Dec 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
381 changes: 381 additions & 0 deletions assets/drone_foxglove_lcm_dashboard.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,381 @@
{
"configById": {
"RawMessages!3zk027p": {
"diffEnabled": false,
"diffMethod": "custom",
"diffTopicPath": "",
"showFullMessageForDiff": false,
"topicPath": "/drone/telemetry",
"fontSize": 12
},
"RawMessages!ra9m3n": {
"diffEnabled": false,
"diffMethod": "custom",
"diffTopicPath": "",
"showFullMessageForDiff": false,
"topicPath": "/drone/status",
"fontSize": 12
},
"RawMessages!2rdgzs9": {
"diffEnabled": false,
"diffMethod": "custom",
"diffTopicPath": "",
"showFullMessageForDiff": false,
"topicPath": "/drone/odom",
"fontSize": 12
},
"3D!18i6zy7": {
"layers": {
"845139cb-26bc-40b3-8161-8ab60af4baf5": {
"visible": true,
"frameLocked": true,
"label": "Grid",
"instanceId": "845139cb-26bc-40b3-8161-8ab60af4baf5",
"layerId": "foxglove.Grid",
"lineWidth": 0.5,
"position": [
0,
0,
0
],
"rotation": [
0,
0,
0
],
"order": 1,
"size": 30,
"divisions": 30,
"color": "#248eff57"
},
"ff758451-8c06-4419-a995-e93c825eb8be": {
"visible": true,
"frameLocked": true,
"label": "Grid",
"instanceId": "ff758451-8c06-4419-a995-e93c825eb8be",
"layerId": "foxglove.Grid",
"frameId": "base_link",
"size": 3,
"divisions": 3,
"lineWidth": 1.5,
"color": "#24fff4ff",
"position": [
0,
0,
0
],
"rotation": [
0,
0,
0
],
"order": 2
}
},
"cameraState": {
"perspective": true,
"distance": 35.161738318180966,
"phi": 54.90139603020621,
"thetaOffset": -55.91718358847429,
"targetOffset": [
-1.0714086708240587,
-1.3106525624032879,
2.481084387307447e-16
],
"target": [
0,
0,
0
],
"targetOrientation": [
0,
0,
0,
1
],
"fovy": 45,
"near": 0.5,
"far": 5000
},
"followMode": "follow-pose",
"scene": {
"enableStats": true,
"ignoreColladaUpAxis": false,
"syncCamera": false,
"transforms": {
"visible": true
}
},
"transforms": {},
"topics": {
"/lidar": {
"stixelsEnabled": false,
"visible": true,
"colorField": "z",
"colorMode": "colormap",
"colorMap": "turbo",
"pointShape": "circle",
"pointSize": 10,
"explicitAlpha": 1,
"decayTime": 0,
"cubeSize": 0.1,
"minValue": -0.3,
"cubeOutline": false
},
"/odom": {
"visible": true,
"axisScale": 1
},
"/video": {
"visible": false
},
"/global_map": {
"visible": true,
"colorField": "z",
"colorMode": "colormap",
"colorMap": "turbo",
"pointSize": 10,
"decayTime": 0,
"pointShape": "cube",
"cubeOutline": false,
"cubeSize": 0.08,
"gradient": [
"#06011dff",
"#d1e2e2ff"
],
"stixelsEnabled": false,
"explicitAlpha": 1,
"minValue": -0.2
},
"/global_path": {
"visible": true,
"type": "line",
"arrowScale": [
1,
0.15,
0.15
],
"lineWidth": 0.132,
"gradient": [
"#6bff7cff",
"#0081ffff"
]
},
"/global_target": {
"visible": true
},
"/pt": {
"visible": false
},
"/global_costmap": {
"visible": true,
"maxColor": "#8d3939ff",
"frameLocked": false,
"unknownColor": "#80808000",
"colorMode": "custom",
"alpha": 0.517,
"minColor": "#1e00ff00"
},
"/global_gradient": {
"visible": true,
"maxColor": "#690066ff",
"unknownColor": "#30b89a00",
"minColor": "#00000000",
"colorMode": "custom",
"alpha": 0.3662,
"frameLocked": false,
"drawBehind": false
},
"/global_cost_field": {
"visible": false,
"maxColor": "#ff0000ff",
"unknownColor": "#80808000"
},
"/global_passable": {
"visible": false,
"maxColor": "#ffffff00",
"minColor": "#ff0000ff",
"unknownColor": "#80808000"
}
},
"publish": {
"type": "point",
"poseTopic": "/move_base_simple/goal",
"pointTopic": "/clicked_point",
"poseEstimateTopic": "/estimate",
"poseEstimateXDeviation": 0.5,
"poseEstimateYDeviation": 0.5,
"poseEstimateThetaDeviation": 0.26179939
},
"imageMode": {},
"foxglovePanelTitle": "test",
"followTf": "world"
},
"Image!3mnp456": {
"cameraState": {
"distance": 20,
"perspective": true,
"phi": 60,
"target": [
0,
0,
0
],
"targetOffset": [
0,
0,
0
],
"targetOrientation": [
0,
0,
0,
1
],
"thetaOffset": 45,
"fovy": 45,
"near": 0.5,
"far": 5000
},
"followMode": "follow-pose",
"scene": {
"enableStats": true
},
"transforms": {},
"topics": {},
"layers": {},
"publish": {
"type": "point",
"poseTopic": "/move_base_simple/goal",
"pointTopic": "/clicked_point",
"poseEstimateTopic": "/initialpose",
"poseEstimateXDeviation": 0.5,
"poseEstimateYDeviation": 0.5,
"poseEstimateThetaDeviation": 0.26179939
},
"imageMode": {
"imageTopic": "/drone/color_image",
"colorMode": "gradient",
"calibrationTopic": "/drone/camera_info"
},
"foxglovePanelTitle": "/video"
},
"Image!1gtgk2x": {
"cameraState": {
"distance": 20,
"perspective": true,
"phi": 60,
"target": [
0,
0,
0
],
"targetOffset": [
0,
0,
0
],
"targetOrientation": [
0,
0,
0,
1
],
"thetaOffset": 45,
"fovy": 45,
"near": 0.5,
"far": 5000
},
"followMode": "follow-pose",
"scene": {
"enableStats": true
},
"transforms": {},
"topics": {},
"layers": {},
"publish": {
"type": "point",
"poseTopic": "/move_base_simple/goal",
"pointTopic": "/clicked_point",
"poseEstimateTopic": "/initialpose",
"poseEstimateXDeviation": 0.5,
"poseEstimateYDeviation": 0.5,
"poseEstimateThetaDeviation": 0.26179939
},
"imageMode": {
"imageTopic": "/drone/depth_colorized",
"colorMode": "gradient",
"calibrationTopic": "/drone/camera_info"
},
"foxglovePanelTitle": "/video"
},
"Plot!a1gj37": {
"paths": [
{
"timestampMethod": "receiveTime",
"value": "/drone/odom.pose.position.x",
"enabled": true,
"color": "#4e98e2"
},
{
"timestampMethod": "receiveTime",
"value": "/drone/odom.pose.orientation.y",
"enabled": true,
"color": "#f5774d"
},
{
"timestampMethod": "receiveTime",
"value": "/drone/odom.pose.position.z",
"enabled": true,
"color": "#f7df71"
}
],
"showXAxisLabels": true,
"showYAxisLabels": true,
"showLegend": true,
"legendDisplay": "floating",
"showPlotValuesInLegend": false,
"isSynced": true,
"xAxisVal": "timestamp",
"sidebarDimension": 240
}
},
"globalVariables": {},
"userNodes": {},
"playbackConfig": {
"speed": 1
},
"drawerConfig": {
"tracks": []
},
"layout": {
"direction": "row",
"first": {
"first": {
"first": "RawMessages!3zk027p",
"second": "RawMessages!ra9m3n",
"direction": "column",
"splitPercentage": 69.92084432717678
},
"second": "RawMessages!2rdgzs9",
"direction": "column",
"splitPercentage": 70.97625329815304
},
"second": {
"first": "3D!18i6zy7",
"second": {
"first": "Image!3mnp456",
"second": {
"first": "Image!1gtgk2x",
"second": "Plot!a1gj37",
"direction": "column"
},
"direction": "column",
"splitPercentage": 36.93931398416886
},
"direction": "row",
"splitPercentage": 52.45307143723201
},
"splitPercentage": 39.13203076769059
}
}
3 changes: 3 additions & 0 deletions data/.lfs/drone.tar.gz
Git LFS file not shown
Loading
Loading