Starting personal project - circle mode and waypoint


Hello everyone,

So as the title suggest I’m starting my personal project for bebop 2 I just got.
I’m computer science engineer with some java basics. So the idea is to be able to develop those two mods, I know they exist already but I want to develop mine for android.
I’ve seen and setup the basic samples on github and they working great but what I need is more tutorials/documentations, how the drone works and controlled so I get the entry point of what I want to accomplish.

Thank you.

Product: [Bebop2]
Product version: [4.0.2]
SDK version: [3.12.1]
Use of libARController: [YES] (Only for ARSDK)
SDK platform: [Android]
Reproductible with the official app: [YES/NO/Not tried]



If you want to implement your own control loop, here are some messages and commands that might be interesting:

  • Position Changed - Fired by the drone periodically with its current GPS location (obviously only available if the GPS is available)
  • Speed, Attitude and Altitude changed - Fired periodically by the drone.
  • Piloting command - This is the main piloting command. Note that (as stated in the documentation), you should only call the setPilotingPCMD...() functions (as you can see in the sample).
  • In the PCMD, all values are expressed in percentage of a maximum value. You can get and set those maximum roll & pitch angles, vertical speed, and rotation speed,

You can find the rest of the commands documentation in the linked document.



Thank you for your response.
So if I got it right, suppose that I want the drone to do a circle around me, let’s call that method doCircle(…), thechnically it will be a sequence of node of precalculated parameters passed to setPilotingPCMD(…),
loop sequence
get the next node
get the parameters
call setPilotingPCMD(parameters…)

Is that correct?
Thank you.


Basically, yes.

If you want a precise result, you should do it in with a closed loop controller (i.e. compute the PCMD in regard to the current drone state, and not based on precomputed values).

That what’s done internally for the MoveBy command, and for the Flight Plan waypoint feature.



Great, I now know where to begin my research.
I’ll get back to you if I have any question (if you dont mind of course)

Best regards.