ardrone3.Piloting.PCMD class syntax problems (python)


Product: Bebop Drone 2
Use of libARController: [NO] (Only for ARSDK)
SDK platform: [Python…]
Reproductible with the official app: [Not tried]

Good afternoon,
I’m attempting to create code to pilot my drone by using the BYBOP sdk. Unfortunately, bybop only comes with commands to take off, land, and emergency mode. I’m trying to make the drone move laterally.

So, upon looking at the Piloting class…

class id=“0” name="Piloting"
All commands related to piloting the totoDrone
cmd name=“FlatTrim”> Do a flat trim

cmd name=“TakeOff”> Ask the drone to take off

cmd name=“PCMD” buffer=“NON_ACK”>
Ask the drone to move around.
arg name=“flag” type=“u8”> Boolean flag to activate roll/pitch movement

arg name=“roll” type=“i8”> Roll consign for the drone [-100;100]

arg name=“pitch” type=“i8”> Pitch consign for the drone [-100;100]

arg name=“yaw” type=“i8”> Yaw consign for the drone [-100;100]

arg name=“gaz” type=“i8”> Gaz consign for the drone [-100;100]

arg name=“timestampAndSeqNum” type=“u32”> Command timestamp in milliseconds (low 24 bits) + command sequence number [0;255] (high 8 bits).


So i’m seeing the ardrone3.Piloting.PCMD command, however i’m not seeing how exactly we input the parameters into the PCMD function.

In the PY file bybop_device, I see how we send data to the drone:

So i’m attempting to try PCMD…

self.send_data(‘ardrone3.Piloting.PCMD’) Which gives me a bad argument error.
when I attempt to put some parentheses after PCMD, it gives me an unknown command.

If you need any additional information, let me know! Thank you!



Try self.send_data('ardrone3.Piloting.PCMD', flag, roll, pitch, yaw, gaz, 0).

btw, you don’t “need” to have a PCMD function in the device helper, the main “command” function of Bybop is designed to be the send_data() function



You are a beautiful man. Thank you so much.

How about stabilization? I know bebop has it’s own “stabilization” within the hovering, but how can we “recalibrate” it? does that make sense?