Petrus Botha's Posts (1)

Sort by

APM Planner Automation


I have a developed a sensor network which detects gunshots for anti-poaching purposes. When a gunshot is detected, the event data is sent to a sensor server for further analysis and triangulation of the gunshot location. Currently the prototype is running on Arduino Due boards with Xbee coms but this will soon be changed to a less power consuming custom PC board with incorporated and more secure communications.

I wish to incorporate fixed wing UAV’s in this concept with as little human interaction as possible, no manual transfer of event waypoints, no manual take-off etc. The entire system must be automated. The Aircraft will be switched on and docked on a catapult launcher which will be controlled by a microcontroller. The APM telemetry link will be established and connected between the aircraft and the GCS.  


As per the attached image the entire process will be as follows,

1. Get event data from the sensor network

2. Triangulate the gunshot source and provide a GPS coordinate.

3. Generate a UAV script which might look as follows:

  • TAKEOFF (from home position)
  • LOITER @ -24.123456, 24.123456 (until a new command is issued via APM Planner or failsafe gets triggered)

4. Send this UAV script to APM planner which includes

  • Instruct APM Planner via a script to upload the waypoints to the aircraft
  • Instruct APM Planner via a script to do an automated MISSION START command


5. Send a command to the launch controller to trigger the catapult launcher and release the aircraft


How can I do the following?

1. Send a Take-Off command and waypoint information (script) directly to APM Planner

2. Initiate the Mission Start Command from a script immediately after the Waypoint upload has been confirmed maybe via a script without having to push a button.

3. I have used TCP ports for numerous software interactions; can a TCP Server port for commands from other software be opened in APM Planner?


Has anyone done something similar already?


Read more…