How to shoot photo at waypoint in flight plan with groundSDK

Can i shoot photo at waypoint in flight plan and how to do it? Thank you.

Hi,

FlightPlanPilotingItf(iOS)/FlightPlanPilotingItf(Android) allows to make the drone execute predefined flight plans.
A Flight Plan file contains MAVLink messages with some modifications for internal purposes.
A documentation of Flight Plan files format should be published in the next GroundSDK release.

The mavlink message MAV_CMD_NAV_TAKEOFF(22) allows to takeoff.
The mavlink message MAV_CMD_NAV_WAYPOINT(16) allows to navigate to waypoint.
The mavlink message MAV_CMD_IMAGE_START_CAPTURE(2000) allows to take pictures.
The mavlink message MAV_CMD_NAV_LAND(22) allows to land.

Following, the content of a Flight Plan file allowing to takeoff; go to a waypoint; take a picture and land.

QGC WPL 120
0 1 3 22 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1
1 0 3 16 0.000000 0.000000 0.000000 0.000000 48.879000 2.366549 20.000000 1
2 0 2 2000 1.000000 1.000000 12.000000 0.000000 0.000000 0.000000 0.000000 1
3 0 3 21 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1

Regards,
Maxime

1 Like

Hi Maxime,
as far as I understand, message image_start_capture has param "period ": the length of the capture in seconds, it mean that the delay time to take a picture so maybe the point when shoot photo not coincide with waypoint, but i want to shoot a photo when drone arrive at waypoints. So have another answers for this case?
Thank you for you replay and support!

Hi, i am new Anafi Developer.
I have question, how can i observe new photo which being taken at waypoint?

Hi,

The parameter “period” or “Interval” is used to set a time interval between several photos.
The first photo is taken immediately, but take a photo may take time depending to the photo type used.
You can use MAV_CMD_NAV_DELAY(93) to wait the photo taking duration at waypoint before to continuing the Flight Plan.

Regards,
Maxime

Hi,

To observe photos taken by flight plan and saved on the drone sdcard, you can get(iOS/Android) the MediaStore(iOs/Android) and observe and browse (iOs/Android) the MediaItem (iOs/Android) list.
The provided observer is notified with the resulting list of media items when it has been first loaded and each time the content changes.

Regards,
Maxime

Is there a way to get a file name from the MediaStore? I can browse the MediaStore and find the MediaItem I’m looking form by matching the MediaItem.getUid() to the Camera.photoState().latestMediaId(). However, MediaItem.getName() returns the same string as the .getUid() (which is not the file name).