Skip to content

Aj/tasks panel#332

Merged
andrewjong merged 24 commits intomainfrom
aj/tasks_panel
Apr 14, 2026
Merged

Aj/tasks panel#332
andrewjong merged 24 commits intomainfrom
aj/tasks_panel

Conversation

@andrewjong
Copy link
Copy Markdown
Member

What does this pull request do?

Which issue number does this address? Discussion #308

Tasks in the task panel are all now connected. Takeoff landing planner is a task too.

Takeoff/landing added better logic. After landing it's now possible to take off again. Landing disarms the drone. Takeoff both arms and requests control.

Interactive waypoint markers for Navigate Task:
image

Polygon bounds region for Exploration/Coverage/Search tasks
image

Tasks have simple boolean variable logic to check whether they can execute. All tasks except takeoff require is_airborne to be true (can only execute tasks once flying). Only one task may execute at a time, must be cancelled before starting another task.

Removed RQT GUI from launching. Main GUI is now RViz until we do it better with FoxGlove.

How did you implement it?

Claude and me:)

Testing

How do you run the tests?
Do airstack up. Use the RViz GUI to takeoff, navigate, and explore. Navigate requires placing waypoints with the waypoint tool (hit 1). Explore requires using the polygon tool to draw a polygon then fetching the points. Random walk logic does NOT respect the polygon right now though.

What do the tests do?
Makes the drone perform the tasks.

What are the expected results of the tests?
Drone should move according to the plan.

Did you update the docs (and where)?

Yes, the READMEs in common/ros_packages/gui/rviz/rviz_tasks_panel/README.md and robot/ros_ws/src/local/planners/takeoff_landing_planner/README.md

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
@andrewjong andrewjong merged commit d681d14 into main Apr 14, 2026
1 check passed
@andrewjong andrewjong deleted the aj/tasks_panel branch April 14, 2026 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant