How to take images from drone camera

I am trying to take images from parrot bluegrass drone camera.
How to correctly set camera mode and take photo?

My script looks something like this to take photo:

def takePicture(self): self.drone( set_camera_mode(cam_id=0 ,value=1) >> take_photo(cam_id=0) ).wait()

Does it need to be in a particular state to work like “hovering”, “flying”?

Hello

Olympe has been released as part of the GroundSDK for Anafi. The current Olympe documentation only expose the ARSDK messages supported by Anafi. The olympe.messages.camera SDK feature is only supported by Anafi drones and not previous Parrot Drones (Bebop, Disco and Blugrass).

To take a photo with Bebop, Disco or Blugrass you should use the (undocumented) ardrone3.MediaRecord.PictureV2 message.
The details of this message can be found in the arsdk-xml package : (https://github.com/Parrot-Developers/arsdk-xml/blob/master/xml/ardrone3.xml)

Regards

Nicolas