discussion / Drones  / 9 November 2021

Drone autopilot for logging position and orientation?

Groups

We're doing aerial photography for monitoring surveys of large mammals - but our 'drone' is actually a crewed Cessna or microlight with oblique cameras on the wing struts. Currently using a raspberry pi with IMU and external GPS but there are a number of issues with time synchronisation and ensuring logging starts correctly.

Developing v2 of the system and would like a better solution for logging the angle of view of the camera (i.e. IMU / GPS data). Ideally I'd be able to log angle/acceleration data (IMU), GPS (XYZ) and camera-trigger events (hotshoe of camera) to an SD card. I'm thinking about using a Pixhawk autopilot, since that should log GPS and IMU data automatically, and power needs are simpler (USB input).

However, I'm concerned about how difficult it would be to configure the autopilot to 'arm' and start logging at the beginning of a session, since it's not connected to motors or servos. 

Is this a suitable use for a drone autopilot or should I be looking elsewhere?




Another option is the Sparkfun OpenLog boards. They simply read in any sensor data and log it to a micro SD card. The latest OpenLog Artemis has inbuilt IMU, lipo battery charger and connectivity for analog pins (connect to camera hot shoe?) and I2C devices - see their list of qwiic sensors including multiple GPS units.

Hopefully someone with more drone building experience can help you with the autopilot option.

Hi,

Since you already have a workable system, it seems to me a simple next step can be to have the RPi trigger the shutter via an MC-DC2 cable (this hack can help).  This way the RPi commands the camera instead of the camera informing the RPi, and you can reuse most of the code you already have.  Not to knock the PX4 which I have no experience with, but this incremental approach might make more sense in your situation than a radical change.

>>>Ideally I'd be able to log angle/acceleration data (IMU), GPS (XYZ)
>>>camera-trigger events (hotshoe of camera) to an SD card. 
The Pixhawk class of autopilots is a good choice. All of that data and much more can be logged, but not all of the hardware versions have the ability to use the hotshoe as an input to trigger logging the position and attitude when the photo is taken. All of them can log when the command to take the photo is sent to the camera but not all of them have the ability to use the hotshoe as an input. The original Pixhawk design is getting pretty old though. We have moved to newer versions that have more memory available for the flight code.
You can use a Cube with a standard carrier board. https://cubepilot.org/#/ecosystem/wiring
and ArduPilot https://ardupilot.org/ to log this data
>>>However, I'm concerned about how difficult it would be to configure the autopilot to 'arm' and start logging at the beginning of a session, since it's not connected to motors or servos. 
That is not difficult at all. Your setup is very common. No need to be connected to any motors or servos in order to arm or start and stop logging.
>>> and power needs are simpler (USB input).
Don't power it off the USB in flight. Use one of the power inputs instead. a) USB connectors are not super reliable and b) we use the presense of USB power to indicate it is "powered on the bench" and there are some differences in functions between "in flight" and "on the bench"
Cheers,
Craig Elder
ArduPilot Community Manager
http://www.ardupilotinitiative.com/whoweare