Skip to content

Dds quadplane takeoff #30098

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

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

Ryanf55
Copy link
Contributor

@Ryanf55 Ryanf55 commented May 18, 2025

Purpose

Allow VTOL takeoff on quadplane using DDS. I chose to uses the GUIDED user takeoff but am open to using the mission interface. There seems to be differences in implementation.

Details

I only override the start_takeoff function if quadplane is enabled. This saves flash.

Instructions

In ros workspace

ros2 launch ardupilot_sitl micro_ros_agent.launch.py

In ardupilot

./Tools/autotest/sim_vehicle.py -v plane -f quadplane --console --map --enable-dds -DG

In a CLI, switch to guided, arm, takeoff, and send a goal location showing switch to forward flight

ros2 service call /ap/mode_switch ardupilot_msgs/srv/ModeSwitch "{mode: 15}" # GUIDED
ros2 service call /ap/arm_motors ardupilot_msgs/srv/ArmMotors "{arm: true}"
ros2 service call /ap/experimental/takeoff ardupilot_msgs/srv/Takeoff "{alt: 20.0}"
ros2 topic pub /ap/cmd_gps_pose ardupilot_msgs/msg/GlobalPosition "{header: {frame_id: map}, latitude: -35.36078618, longitude: 149.16231842, altitude: 600.0, coordinate_frame: 5}"

Issue

Closes #29932

@timtuxworth
Copy link
Contributor

It seems like this actually adds a more generic "plane_takeoff" method for DDS, but initially only implements VTOL, but could implement fixed wing takeoff at some point in the future. I guess my gripe is that the PR says it's only implementing quadplane takeoff, but it's actually more than that, which is actually a good thing.

Any reason not to do it now @Ryanf55 ? Would it not need to simply switch to TAKEOFF mode?

Copy link
Contributor

@timtuxworth timtuxworth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be a nicely generic function that could be fleshed out to work for fixed wing too.

@Ryanf55 Ryanf55 force-pushed the dds-quadplane-takeoff branch from 8e59d61 to 6cd7a8c Compare May 19, 2025 19:15
@Ryanf55 Ryanf55 force-pushed the dds-quadplane-takeoff branch from 6cd7a8c to 4541631 Compare May 24, 2025 04:45
@Ryanf55 Ryanf55 requested a review from IamPete1 May 24, 2025 04:45
@Ryanf55 Ryanf55 force-pushed the dds-quadplane-takeoff branch from 4541631 to 0226215 Compare May 24, 2025 04:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

Plane: add support for Quadplane VTOL Takeoff in ROS2
6 participants