Hi everyone. I haven't formally introduced myself, my name is John, I
am a 4th year mechanical engineering student studying at the
university of Queensland.
I would like to ask for some advice on the best micro-controller and
method of implementing an auto pilot for a UAV project I am working
on.
The project is to build a hovering rocket powered by three mono-
propellant hydrogen peroxide thrusters. It is quite an ambitious
project; more details can be found on my blog at:
http://chokedflow.blogspot.com.au/.
I am currently working on the control problem which is quite similar
to that of a counter-rotating tri-rotor UAV but with some added
challenges due to the rockets changing mass. In particular I am having
trouble choosing the best method of turning the simulink model I have
of the vehicles control system into hardware.
I have given some thought to using an ArduPilot by modifying its tri-
copter code but I decided to start from scratch as the ArduPilot has
many more features than I need and I wanted to keep the code as simple
as possible.
Simulink is able to generate code which can run stand alone on an
Arduino or Beagle Board and it would definably be easier to build the
program in simulink as I would be able to reuse most of what I already
have, but I am not sure this is the best option. I think that a
simulink generated code should be to be run fast enough on an Arduno
Mega, although I am not sure. The system is pretty simple only
consisting of PID loops for roll and pitch. I haven't decided weather
to control the vehicle using a joystick connected to a computer which
sends commands or to use a RC remote in the same way that n-copters
and other hobbyist UAV's are usually controlled
If an Arduino mega didn't have enough power I thought that I could use
the other micro controller (apart from NXT) supported by simulink
which is the Beagle Board. The problem with the beagle board is they
have any low level digital/analog IO/s so I would need-to interface
something like another micro-controller for I/O. Simulink can also run
in real time on a PC so one other option would be to use a micro-atx
(probably atom) PC running windows and a I/O interface (probally
arduino) for connectivity. This would probally be easier but would be
a bit silly.
The other option is to just code the control system in C using avr
studio or Arduino. I think this will have to be done eventually but
while I am proving the concept I would like to stay with simulink as
its much easier to work with.
I would appreciated any advice or suggestions on the best path to take
for choice of micro-controller (even alternative micro-controllers)
and method of implementing my control system.