0
$\begingroup$

I'm wondering if there is a way to figure out the actual controllers used in the commercial drones such as AR drone and Phantom. According to AR drone SDK, users are not allowed to access the actual hardware of the platform yet they are only capable of sending and receiving commands from/to the drone.


Edit: I'm hoping to to check the actual controller utilized in the software. When I fly AR drone, it seems the platform can't stabilize itself when I perform aggressive maneuvers, therefore, I can guess that they use linearized model which is applicable for using simple controllers such as PD or PID

$\endgroup$
2
  • 2
    $\begingroup$ Good theme but the question is not clear enough to generate specific answers. What does figure out mean? A) learn about the architecture? B) hardware? C) software? And the title sounds like the question is about getting access to a drone (hi jacking?). Some clarification will make this a great topic. $\endgroup$ Commented Apr 2, 2016 at 4:34
  • $\begingroup$ Downvote? leaving comments will enhance the quality of the post. $\endgroup$
    – CroCo
    Commented Apr 4, 2016 at 14:21

2 Answers 2

2
$\begingroup$

I would recommend looking at the PX4 software that runs on the pixhawk. It's open source and is available on github.

You won't be able to see the actual control software flying on the other drones as it's proprietary.

https://github.com/PX4/Firmware

--

the software on the pixhawk is well put together and maintained. it is likely more accessible than most because processes are split into modules and comminicate via messages. The ardupilot is another open source flight stack. However, the ardupilot is a god object that is a mess of inheritance. If you are not familiar with oop you best stay away.

The only downside to the px4 flight stack is that it uses cascaded pid for attitude control which isn't all that exotic.

But if you're just looking to get a feel for how controllers are implemented in the real world on embedded systems, the px4 flight stack will be your best bet.

$\endgroup$
1
  • $\begingroup$ Thank you for guiding me for the open software which of course solves my question partially. For other drones, is there a software that allows me to access to the drone's microcontroller to see the implementation of its controller for stabilizing the drone? $\endgroup$
    – CroCo
    Commented Apr 3, 2016 at 21:39
1
$\begingroup$

Reverse engineering is the term you are looking for. Search reverse engineering ar drone or reverse engineering phantom to get started.

Reverse engineering embedded systems can be really educational and fun, if time consuming. Most embedded processors have code security subsystems, but manufacturers often don't bother to turn them on, and if they are turned on, a little research will give you lots of info on bypassing the typically inadequate security.

$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.