How to control speed and direction of plane or VTOL plane by using MAVLink

Dear all,

I want to control the vtol plane to automatically land on moving target. Like this, A Robust and Accurate Landing Methodology for Drones on Moving Targets.


image

On the Drone, we have successfully auto-landed on moving target by use POSITION_TARGET_LOCAL_NED API.
But, This API(POSITION_TARGET_LOCAL_NED) doesn’t work in plane or VTOL plane. The plane doesn’t change speed.

I have tried to use COMMAND_INT API to send command(MAV_CMD_DO_CHANGE_SPEED).
However, it doesn’t change speed.

I currently use MAVLink 1.0 protocol and GUIDED mode to control the plane. Is there an alternative API to control speed and direction of the plane or VTOL plane?
Many thanks.

I-Chia

Did you look at this forum post?

Thanks for your reply.

We will research this post.
By the way, have any mavLink api control speed when arduplane is in GUIDED mode?
Many thanks.

I-Chia

Yes, MAV_CMD_DO_CHANGE_SPEED.

Thanks for your reply.

I have tried to use COMMAND_INT API to send command(MAV_CMD_DO_CHANGE_SPEED).
However, it doesn’t change speed.
Is this API limited in AUTO mode, or any mode can excute by this API.

The Following is the function we use (MAV_CMD_DO_CHANGE_SPEED) API.


Many thanks.

I-Chia

AFAIK, it should be sent as COMMAND_LONG, not implemented in COMMAND_INT yet.

Thanks for your reply.

We use COMMAND_LONG to send MAV_CMD_DO_CHANGE_SPEED, then it can work.
Many thanks.

I-Chia

1 Like

Hi,

May i know what parameters do you send in your POSITION_TARGET_LOCAL_NED API?

Dear limzw,
I use the following parameters:
coordinate_frame : MAV_FRAME_LOCAL_OFFSET_NED
vx,vy,vz and seting correspond mask.