Skip to content

Commit d681d14

Browse files
authored
Aj/tasks panel (#332)
* Many changes to remove encompassing btree Phase 1 — New action definitions: - task_msgs/action/TakeoffTask.action — new - task_msgs/action/LandTask.action — new - task_msgs/action/FixedTrajectoryTask.action — goal updated to FixedTrajectory spec Phase 2 — New executables: - takeoff_landing_task.cpp — new takeoff_landing_task executable with TakeoffTask + LandTask action servers (precondition checks, reuses TakeoffTrajectory) - fixed_trajectory_task.cpp — new fixed_trajectory_task executable in trajectory_controller package (ports all 6 trajectory types from Python) - behavior/drone_safety_monitor/ — moved here, adds command topic (pause/resume/rewind) and auto-pause on state estimate timeout Phase 3 — Launch file updates: - local.launch.xml and local_droan_cpu.launch.xml — replaced old nodes with new action server nodes - behavior.launch.xml — replaced BT+BehaviorExecutive with just drone_safety_monitor - Interface bringup and px4_interface launch — removed drone_safety_monitor (now in behavior bringup) Phase 4 — Deleted: behavior_tree/, behavior_executive/, rqt_fixed_trajectory_generator/, interface/drone_safety_monitor/, both copies of fixed_trajectory_generator.py * Fix build errors * Remove old behavior tree example * Fix landing task so that it subscribes to mavros to listen to if landing succeeds * Add subfolders for rviz, rqt, foxglove * Add rviz plugins * Fix jazzy compatibility * Add task panel plugin for rviz * Add docs to tasks panel, ensure only one task execute at a time * Try add icons but they're rendering as blocks, idk why * Ff * Update rviz * Update rviz * Update tasks panel to use navigate tool * Fix waypoints panel to be more intuitive * Switch isaac default to standalone script mode * Change default takeoff height to 10.0 * Update readmes * Update picture * Add simple logic to ensure drone must be airborne before other tasks * Fix disarm on land and set is_airborne false * Bump version to 0.18.0-alpha.4 * Remove rqt * Add media
1 parent e46b4f6 commit d681d14

File tree

152 files changed

+6042
-5512
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

152 files changed

+6042
-5512
lines changed

.env

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
PROJECT_NAME="airstack"
1212
# If you've run ./airstack.sh setup, then this will auto-generate from the git commit hash every time a change is made
1313
# to a Dockerfile or docker-compose.yaml file. Otherwise this can also be set explicitly to make a release version.
14-
VERSION="0.18.0-alpha.3"
14+
VERSION="0.18.0-alpha.4"
1515
# Choose "dev" or "prebuilt". "dev" is for mounted code that must be built live. "prebuilt" is for built ros_ws baked into the image
1616
DOCKER_IMAGE_BUILD_MODE="dev"
1717
# Where to push and pull images from. Can replace with your docker hub username if using docker hub.
@@ -30,7 +30,7 @@ RECORD_BAGS="false" # "true" or "false"
3030
# ============== ISAAC SIM =====================
3131
ISAAC_SIM_GUI="/isaac-sim/AirStack/simulation/isaac-sim/assets/scenes/simple_pegasus.scene.usd"
3232
# Set to "true" to launch Isaac Sim using a standalone Python script instead of USD file
33-
ISAAC_SIM_USE_STANDALONE="false" # "true" or "false"
33+
ISAAC_SIM_USE_STANDALONE="true" # "true" or "false"
3434
# Script name (must be in /AirStack/simulation/isaac-sim/launch_scripts/)
3535
ISAAC_SIM_SCRIPT_NAME="example_one_px4_pegasus_launch_script.py"
3636
PLAY_SIM_ON_START="false"

.gitmodules

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,12 @@
88
path = robot/ros_ws/src/perception/macvo_ros2/macvo_ros2/macvo
99
url = https://github.com/MAC-VO/MAC-VO.git
1010
[submodule "robot/ros_ws/src/rviz_behavior_tree_panel/xdot_cpp"]
11-
path = common/ros_packages/gui/rviz_behavior_tree_panel/xdot_cpp
11+
path = common/ros_packages/gui/rviz/rviz_behavior_tree_panel/xdot_cpp
1212
url = https://github.com/castacks/xdot_cpp.git
1313
[submodule "simulation/isaac-sim/extensions/PegasusSimulator"]
1414
path = simulation/isaac-sim/extensions/PegasusSimulator
1515
url = https://github.com/castacks/PegasusSimulator-AirStack-Integration.git
1616

17+
[submodule "common/ros_packages/gui/rviz/rviz_polygon_selection_tool"]
18+
path = common/ros_packages/gui/rviz/rviz_polygon_selection_tool
19+
url = https://github.com/swri-robotics/rviz_polygon_selection_tool.git

common/ros_packages/desktop_bringup/launch/gcs.launch.xml

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,6 @@
1212
<?ignore
1313
<node pkg="rviz2" exec="rviz2" args="-d $(find-pkg-share desktop_bringup)/rviz/gcs.rviz --ros-args --log-level INFO" output="screen" respawn="true" respawn_delay="1" />
1414
?>
15-
16-
17-
<node pkg="rqt_gui" exec="rqt_gui"
18-
args="--perspective-file $(find-pkg-share rqt_gcs)/config/gcs.perspective --ros-args --log-level INFO"
19-
output="screen" respawn="true" respawn_delay="1" />
20-
21-
<?ignore
22-
<executable cmd="bash -c 'DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY foxglove-studio --no-sandbox'" output="screen"/>
23-
24-
<node pkg="foxglove_bridge" exec="foxglove_bridge" output="screen" respawn="true" respawn_delay="1">
25-
<param name="port" value="8765" />
26-
<param name="use_sim_time" value="$(var sim)" />
27-
</node>
28-
?>
29-
30-
31-
32-
3315
<!-- ===================== -->
3416

3517
</launch>

common/ros_packages/desktop_bringup/launch/robot.launch.xml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,6 @@
1616
<node pkg="rviz2" exec="rviz2"
1717
args="-d $(find-pkg-share desktop_bringup)/rviz/robot.rviz --ros-args --log-level INFO"
1818
output="screen" respawn="true" respawn_delay="1" />
19-
20-
<push-ros-namespace namespace="behavior" />
21-
<node pkg="rqt_gui" exec="rqt_gui"
22-
args="--perspective-file $(find-pkg-share desktop_bringup)/config/core.perspective">
23-
<remap from="fixed_trajectory_command"
24-
to="/$(env ROBOT_NAME)/fixed_trajectory_generator/fixed_trajectory_command" />
25-
</node>
2619
</group>
2720

2821

common/ros_packages/desktop_bringup/rviz/robot.rviz

Lines changed: 67 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,24 @@
11
Panels:
22
- Class: rviz_common/Displays
3-
Help Height: 70
3+
Help Height: 0
44
Name: Displays
55
Property Tree Widget:
66
Expanded:
77
- /Global Options1
88
- /TF1/Frames1
9-
- /Sensors1
10-
- /Perception1/StereoImageProc Disparity1
9+
- /Local1
1110
- /Local1/DROAN1
1211
- /Local1/DROAN1/Trimmed Global Plan for DROAN1/Topic1
1312
- /Local1/DROAN1/Droan GPU1
1413
- /Local1/DROAN1/Droan GPU1/Traj Debug1/Namespaces1
15-
- /Global1
14+
- /Local1/DROAN1/Global Plan Vis1
1615
- /Global1/Global Plan1
17-
Splitter Ratio: 0.3440559506416321
18-
Tree Height: 480
16+
Splitter Ratio: 0.5792563557624817
17+
Tree Height: 693
1918
- Class: rviz_common/Selection
2019
Name: Selection
2120
- Class: rviz_common/Tool Properties
22-
Expanded:
23-
- /2D Goal Pose1
24-
- /Publish Point1
21+
Expanded: ~
2522
Name: Tool Properties
2623
Splitter Ratio: 0.5886790156364441
2724
- Class: rviz_common/Views
@@ -33,11 +30,23 @@ Panels:
3330
Experimental: false
3431
Name: Time
3532
SyncMode: 0
36-
SyncSource: StereoImageProc Disparity
33+
SyncSource: Foreground Background Cloud
3734
- Class: rviz_behavior_tree_panel::BehaviorTreePanel
3835
Name: BehaviorTreePanel
39-
topic: behavior/behavior_tree_graphviz
36+
topic: /robot_1/behavior/behavior_tree_graphviz
4037
zoom_factor: 0.1919851303100586
38+
- Class: rviz_tasks_panel::TasksPanel
39+
Name: TasksPanel
40+
executor_0: /robot_1/tasks/takeoff
41+
executor_1: /robot_1/tasks/land
42+
executor_2: /robot_1/tasks/navigate
43+
executor_3: /robot_1/tasks/exploration
44+
executor_4: ""
45+
executor_5: ""
46+
executor_6: ""
47+
executor_7: ""
48+
executor_8: /robot_1/tasks/fixed_trajectory
49+
robot: /robot_1
4150
Visualization Manager:
4251
Class: ""
4352
Displays:
@@ -77,7 +86,7 @@ Visualization Manager:
7786
base_link_frd:
7887
Value: true
7988
base_link_stabilized:
80-
Value: false
89+
Value: true
8190
camera_left:
8291
Value: true
8392
camera_right:
@@ -87,11 +96,9 @@ Visualization Manager:
8796
lidar:
8897
Value: false
8998
look_ahead_point:
90-
Value: false
99+
Value: true
91100
look_ahead_point_stabilized:
92-
Value: false
93-
macvo_ned:
94-
Value: false
101+
Value: true
95102
map:
96103
Value: true
97104
map_ned:
@@ -109,9 +116,9 @@ Visualization Manager:
109116
rotor3:
110117
Value: true
111118
tracking_point:
112-
Value: false
119+
Value: true
113120
tracking_point_stabilized:
114-
Value: false
121+
Value: true
115122
world:
116123
Value: false
117124
Marker Scale: 0.30000001192092896
@@ -129,8 +136,7 @@ Visualization Manager:
129136
{}
130137
base_link_ZED_X:
131138
camera_left:
132-
macvo_ned:
133-
{}
139+
{}
134140
camera_right:
135141
{}
136142
imu:
@@ -476,7 +482,8 @@ Visualization Manager:
476482
Enabled: true
477483
Name: Trimmed Global Plan for DROAN
478484
Namespaces:
479-
{}
485+
global_plan: true
486+
global_plan_extra_text: true
480487
Topic:
481488
Depth: 5
482489
Durability Policy: Volatile
@@ -641,7 +648,7 @@ Visualization Manager:
641648
Reliability Policy: Reliable
642649
Value: droan/graph_vis
643650
Value: true
644-
Enabled: true
651+
Enabled: false
645652
Name: Droan GPU
646653
- Class: rviz_default_plugins/MarkerArray
647654
Enabled: true
@@ -659,7 +666,8 @@ Visualization Manager:
659666
Enabled: true
660667
Name: Global Plan Vis
661668
Namespaces:
662-
{}
669+
global_plan: true
670+
global_plan_extra_text: true
663671
Topic:
664672
Depth: 5
665673
Durability Policy: Volatile
@@ -671,7 +679,7 @@ Visualization Manager:
671679
Enabled: true
672680
Name: Rewind Info
673681
Namespaces:
674-
{}
682+
rewind_info: true
675683
Topic:
676684
Depth: 5
677685
Durability Policy: Volatile
@@ -710,6 +718,15 @@ Visualization Manager:
710718
Value: false
711719
Enabled: true
712720
Name: Trajectory Controller
721+
- Class: rviz_default_plugins/InteractiveMarkers
722+
Enable Transparency: true
723+
Enabled: true
724+
Interactive Markers Namespace: /robot_1/waypoint_plugin
725+
Name: Waypoints InteractiveMarkers
726+
Show Axes: true
727+
Show Descriptions: true
728+
Show Visual Aids: false
729+
Value: true
713730
Enabled: true
714731
Name: Local
715732
- Class: rviz_common/Group
@@ -757,20 +774,6 @@ Visualization Manager:
757774
Value: true
758775
Enabled: true
759776
Name: Global
760-
- Class: rviz_default_plugins/Image
761-
Enabled: true
762-
Max Value: 1
763-
Median window: 5
764-
Min Value: 0
765-
Name: Image
766-
Normalize Range: true
767-
Topic:
768-
Depth: 5
769-
Durability Policy: Volatile
770-
History Policy: Keep Last
771-
Reliability Policy: Reliable
772-
Value: sensors/front_stereo/left/image_rect
773-
Value: true
774777
Enabled: true
775778
Global Options:
776779
Background Color: 48; 48; 48
@@ -810,32 +813,49 @@ Visualization Manager:
810813
History Policy: Keep Last
811814
Reliability Policy: Reliable
812815
Value: /clicked_point
816+
- Class: rviz_polygon_selection_tool/PolygonSelectionTool
817+
Close loop: true
818+
Lasso mode: true
819+
Line Color: 255; 0; 0
820+
Patch size: 15
821+
Point Color: 255; 0; 0
822+
Point Generation Gap: 0.0020000000949949026
823+
Point Size: 50
824+
Render as Overlay: false
825+
Service name: get_selection
826+
Show Text: true
827+
Text Size: 0.014999999664723873
828+
- Class: waypoint_rviz2_plugin/WaypointTool
829+
WaypointTool:
830+
default_height: 10
831+
frame_id: map
832+
topic: waypoints
813833
Transformation:
814834
Current:
815835
Class: rviz_default_plugins/TF
816836
Value: true
817837
Views:
818838
Current:
819839
Class: rviz_default_plugins/Orbit
820-
Distance: 26.301408767700195
840+
Distance: 37.564666748046875
821841
Enable Stereo Rendering:
822842
Stereo Eye Separation: 0.05999999865889549
823843
Stereo Focal Distance: 1
824844
Swap Stereo Eyes: false
825845
Value: false
826846
Focal Point:
827-
X: 6.924289703369141
828-
Y: -7.847400188446045
829-
Z: -4.3323540687561035
847+
X: 25.773038864135742
848+
Y: -5.22532320022583
849+
Z: -18.542400360107422
830850
Focal Shape Fixed Size: false
831851
Focal Shape Size: 0.05000000074505806
832852
Invert Z Axis: false
833853
Name: Current View
834854
Near Clip Distance: 0.009999999776482582
835-
Pitch: 0.5103968977928162
855+
Pitch: 0.6403977274894714
836856
Target Frame: base_link
837857
Value: Orbit (rviz)
838-
Yaw: 2.279876232147217
858+
Yaw: 2.878566026687622
839859
Saved: ~
840860
Window Geometry:
841861
BehaviorTreePanel:
@@ -849,13 +869,13 @@ Window Geometry:
849869
Height: 1376
850870
Hide Left Dock: false
851871
Hide Right Dock: false
852-
Image:
853-
collapsed: false
854872
MACVO Disparity:
855873
collapsed: false
856-
QMainWindow State: 000000ff00000000fd00000004000000000000028400000356fc020000000bfb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000000a005600690065007700730100000078000000ef000000a000fffffffb000000100044006900730070006c006100790073010000016d00000261000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002eb000000c90000001600fffffffb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca000000000000000000000001000001f600000356fc0200000009fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001e00460072006f006e007400200052006900670068007400200052004700420100000078000002dc0000001600fffffffb0000002200460072006f006e0074002000520069006700680074002000440065007000740068010000035a000000740000001600fffffffc00000241000000750000000000fffffffa000000000100000002fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680100000000ffffffff0000000000000000fb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000007c4000001f60000000000000000fb0000002200460072006f006e0074002000520069006700680074002000440065007000740068010000014a000001cc0000000000000000fb0000001e004d004100430056004f0020004400690073007000610072006900740079000000028d000001410000001600fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b2000000000000000000000002000009ba00000037fc0100000002fb0000000800540069006d00650100000000000009ba0000025300fffffffb0000000a00560069006500770073030000004e00000080000002e10000019700000003000009ba00000171fc0100000002fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c0100000000000009ba000001fa00fffffffb0000000800540069006d00650100000000000004500000000000000000000005340000035600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
874+
QMainWindow State: 000000ff00000000fd000000040000000000000201000002f0fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000078000002f0000000c700fffffffb0000001e0057006100790070006f0069006e007400200050006c007500670069006e0100000205000001630000000000000000fb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000002cb0000009d0000000000000000fb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca00000000000000000000000100000109000002f0fc0200000007fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f007000650072007400690065007301000000780000008b0000005c00fffffffb0000000a0056006900650077007301000001090000025f000000a000fffffffb0000001e0054006f006f006c002000500072006f0070006500720074006900650073010000028b000000dd0000000000000000fb0000001e004d004100430056004f0020004400690073007000610072006900740079000000028d000001410000001600fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b2000000000000000000000002000009ba00000037fc0100000002fb0000000800540069006d00650100000000000009ba0000025300fffffffb0000000a00560069006500770073030000004e00000080000002e10000019700000003000009ba000001d7fc0100000008fb00000014005400610073006b007300500061006e0065006c010000000000000489000002c500fffffffb0000001e00460072006f006e00740020005200690067006800740020005200470042010000048f000002a10000009400fffffffb0000002200460072006f006e00740020005200690067006800740020004400650070007400680100000736000002840000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000006f6000002c40000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680100000714000002a60000000000000000fb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000006e2000002d80000000000000000fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c00000006dc000002de0000023300fffffffb0000000800540069006d00650100000000000004500000000000000000000006a4000002f000000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
857875
Selection:
858876
collapsed: false
877+
TasksPanel:
878+
collapsed: false
859879
Time:
860880
collapsed: false
861881
Tool Properties:

common/ros_packages/gui/rqt_behavior_tree/resource/rqt_behavior_tree renamed to common/ros_packages/gui/foxglove/.gitkeep

File renamed without changes.

common/ros_packages/gui/rqt_behavior_tree/.gitignore renamed to common/ros_packages/gui/rqt/rqt_behavior_tree/.gitignore

File renamed without changes.

common/ros_packages/gui/rqt_behavior_tree/CHANGELOG.rst renamed to common/ros_packages/gui/rqt/rqt_behavior_tree/CHANGELOG.rst

common/ros_packages/gui/rqt_behavior_tree/package.xml renamed to common/ros_packages/gui/rqt/rqt_behavior_tree/package.xml

File renamed without changes.

common/ros_packages/gui/rqt_behavior_tree/plugin.xml renamed to common/ros_packages/gui/rqt/rqt_behavior_tree/plugin.xml

File renamed without changes.

0 commit comments

Comments
 (0)