I work out of the Loughborough University Centre for Autonomous Systems (LUCAS), and have recently discovered the Ardupilot Mega. We are now constructing a number of vehicles with Ardupilot Mega, using it as a low level control system. Our fleet will include Flying Wings, Wot 4's, and Trex 450's. We will use these to conduct research, which will range from, UAS forced landing, UAS collaboration, autonomous soaring, to collision avoidance.
This post is the first in a line of posts detailing our ArduCopters setup, testing, and eventually non-destructive (i hope) flight tests on a TRex 450. We have had out TRex 450 helicopter for quite some time, and have some rather talented pilots in out lab, but getting it flying outdoor autonomously has been an aim of ours for quite some time now. We have had TRex 250 helicopters flying autonomously using Simulink, and a Vicon camera system for some time now, but the next logical step to to go outdoors.
We have used a TRex 450 Pro so it is a bit nicer, and more powerful than the stock one. we have attached a small training undercarriage on it,in an attempt to protect Ardupilot as much as possible (mostly from my questionable flying skills).
Reading about, many people have made there own undercarriage for their Heli some of them a very nice indeed, but for the prototype it was decided that using foam and lots of zip ties it was attached to the underside of the heli. This is a really quick solution and the foam had the effect of isolating the IMU from many of the multitude of vibrations off the heli. It also protects the pressure sensor from the rotorwash. the DIP switch, USB port CLI switch, and all other outputs are still assessable. Rotary wing craft are extremely sensitive to the mounting of this autopilot system, it needs to be rigidly attached, and perfectly orthogonal to the airframe. This is because Adrupilot Mega for traditional helis does not seem to save the biases on the accelerometers on startup, which is useful but means that if it is mounted at just a few degrees off then in stabilise mode the helicopter will tend to drift off.
The magnetometer was mounted as far from the electronics as possible, so to not be affected by any errant magnetic fields from the high current wires or motor. the mag was placed on the tail boom, and a ribbon cable was ran down the struts to Ardupilot. We found a really nice way of mounting the GPS, using a small bit of aluminum bending it and drilling 2 holes, it can be screwed directly on to the airframe. Remove the screws that fix the tail boom mount to the airframe and put the screws though the aluminum and re screw on to the airframe. This way the GPS mounted on it aiming vertically up. As the GPS will be directly under the rotor disk in flight it might cause signal problems, but i doubt it. Will have to get back to you guys on that one.
Found out that there is no manual mode on Arducopter, as you have to send non ECCPM mixed signals from the transmitter. Arducopter does all the mixing for you, this makes me slightly concerned, as if all hell breaks lose I can not simply hit manual, and recover it myself. I guess this is just a matter of building confidence in the system. It did surprise me as my first experience with Ardupilot was with a flying wing which had elevon mixing, but you could send it mixed signals from the transmitter, Ardupilot would demix them to give pitch and roll commands to the fly-by-wire system, while still meaning you had the option to go to manual with the transmitters mixed signal.
Arducopter performs hight hold using the blade pitch only and does not control throttle at all. This is a problem as the pilot will have to control throttle to maintain blade speed, and I don't think anyone would be fast enough to do that especially as we plan to do some aggressive flight profiles in the future. Of course one option is to install a governor, but this is another added expense, and as we plan to get a lot more of these in the future it could soon add up. a solution could be to add the same throttle curve that you use on you transmitter to the code, this will control throttle based on a given pitch angle. This is a form of open loop control and it does work well, but to get it to maintain the optimum blade speed no matter the flight conditions, closed loop throttle control will need to coded. Using a blade speed sensor attached to one of Ardupilots ADCs would do it. In the simple hover condition this should not be a problem and as we don't plan to do anything that crazy for a while the current system will be more than addiquite.
Plan to do some simple familiarisation flights in stablise mode next, to gain some confidence in the system and try to get some good roll, and pitch gains. although the stock gains are for the TRex 450, we have to pro so they might be different, we will see.
I must stress that this is a prototype setup, as i am sure you can see our wiring "solution" is not ideal, this is to familiarise ourselves with ArduCopter. Our intial aim is to try and get as much out of Arducopter as we can with APM mission planner, and without having to change any code.
by Matthew Coombes