Plausibility of Different Method to Move Drone with GPS


#1

Hello all,

A thought recently occurred to me: could I move the drone to an explicit GPS location using the relative movement function?

For example, if I want the drone to move to coordinates [30,90], could I use the drone’s current coordinates, say [25,70], and then move the drone relatively [5,20] to get to the desired final position?
Or is there a better, yet similarly simple, way to do this?

Thank you


#2

Sure. Other option is to just send a mavlink file with with a move to command with the exact gps coordinates you want it to go to. No math involved.


#3

Thanks for your reply Slobdell,

I’m still learning the intricacies involved with drone development. Could you elaborate what the MAVLink file would look like and how I could send it to the drone?


#4

If you search for mavlink on the forum you will find a lot of good resources. Basically it will involve creating the file in the right format, uploading it to the drone via ftp, then sending a start mavlink command to the drone for the file you just uploaded.

Sorry, I would get more into it but it’s been pretty heavily discussed so you shouldn’t have a problem getting the info from searching between user input and the Parrot devs pointing people in the right direction.

Steve


#5

Great, I’ll look into it - thanks again for your help!


#6

I’ve since looked extensively into the forum’s mention of mavlink and have greatly increased my knowledge reading through the posts, however I am still unsure of a few things.

To create the mavlink file, I know that I must create mission items using ARMAVLINK_MissionUtils, however what would the C implementation of this look like? I’ve tried to mirror your Objective-C example however I am given the error of an unknown type name for ARMAVLINK_FileGenerator_t *generator.

How could this be done in C? I am testing the creation methods for mavlink files from within one of the samples, BebopPilotingNewAPI, and have imported the necessary header file, libARMavlink/ARMAVLINK_MissionItemUtils.h.
From here I have the necessary code in a function that is set to execute on a certain key press to help in my debugging.

Thank you for your assistance


#7

The filegenerator class has it’s own file. You should remove any existing mavlink headers and include the umbrella file, this will pull in all the necessary mavlink header files.

libARMavlink/libARMavlink.h

I think that should fix your issue.

Steve