Showing posts with label quadcopter. Show all posts
Showing posts with label quadcopter. Show all posts

Tuesday, August 23, 2011

Week of fun Hardware - Octocopter, Extruder, Kinect Poetry and MIDI 2 Life

Last week was an amazing overload of gadgets (with some flying to Canberra and hanging out at a bar with E-Tax release manager thrown in). First highlight was the Octocopter at UTAS - it is indeed a massive beast with 8kg border line payload, paltry 5 minute endurance, but it gets the kit off the ground. I also saw some of the amazing work Arko has been doing with Bundler, PMVS and Meshlab.

 The night before I went to Canberra, there was a Sound2Lights show in the Long Gallery with lots of cool gadgets. Including the aforementioned Rep-rap extruder printing out music (Joseph) , a Kinect you had to do a weird dance to get to put words in place (and possibly rhyme and form poetry - Aaron) and of course Nick's game of life with music controlling organisms rendered in Unity 3D.

Thursday early in the morning I flew off to Canberra to help deploy Australia wide terrain, but that is another story.

Sunday, November 7, 2010

Single Axis Stability in QuadCopter

The Masters student working on the QuadCopter stability system had their final seminar last week. They have been hampered over the past year with an overly complex system design that I put together for them, language skills and lack of time due to coursework commitments. In spite of all this they managed to get a pretty good understanding of the electromechanical system, produced system models and controllers in simulink. The basic code is now up in 3 modules on google code - adelaide quadcopter project.
Quadcopter is now stable in 1 axis with a pd controller
stability estimatedThe final controller they ended up using was a basic Proportional-Derivative (PD) controller. The integral part leads to tighter approach to the set point, but is not always necessary. There being 4 degrees of control the quadcopter can be stabilized in yaw,pitch, roll and height. Basically a fully stable system should be able to hover. Linear motion on X and Y can be achieved by dropping it into an unstable state. This can be implemented as a state-space control, a multidimensional extension of the PD.

The single axis stability is not too bad as it comes out here, could be better though. There is an unstable region with +/- 18 Degrees oscillation. At times given low damping the oscillations tend to build up.

Sunday, September 5, 2010

Building a PID controller for the Quadcopter

My students have finally taken some inspiration from the mechanical engineering folks and started on building a PID controller for the quadcopter using simulink blocks and various experiments to measure the angular acceleration produced by the motors. They are still far from having a rigid-body simulation of the system but apparently the PID controller in simulink can be stabilized. Another challenge will be to port the PID controller to Python, building a rigid-body simulation can be attempted with PyODE.

Quadcopter System DiagramThey had also been asking for a block diagram and/or circuit diagram. So I obliged with an Inkscape block diagram, circuit digrams are best left to the manufacturing professionals of Arduino and Gumstix.

Quadcopter test rig ended up being not so fancy and brick based at least it worksThe measurement of angle with time shows non-constant angular acceleration, but the curves can still be fitted with a second order polynomial. The angular rate curves look even more quadriatic, indicating increasing acceleration with time.

Quadcopter Magnetometer YExtracting the acceleration from this should be pretty straight forward as long as we fit a polynomial to a relatively safe part of the dataset. I think a fair number of reptitions and logs of the same experiment will be needed to smooth out the wiggles.

Wednesday, June 16, 2010

Torturing Data and Helicopters - Multivariate L/X band Regression

If you torture the data long enough, it will confess - Roland Cease. I have been messing with some PALSAR and TerraSAR-X backscatter over pastures for a while now and only reasonable relationship between field data and backscatter seems to be in the soil roughness. There are lots of explanatory variables for the strength of the backscatter and 2 response variables in different polarizations in the SAR. The challenge is to relate the impact of the explanatory variables measured at the relatively few field sites to the observations in the radar.

There are some interesting instances of EM38 usage where the readings are high due to proximity to power lines and the readings are high in the SAR due to scattering from the same. These match ups have nothing to do with soil moisture but everything to do with electromagnetics.


The mostly carbon fibre quadcopter has sprouted lots of aluminium extensions and will have a sizeable RCS now. Hopefully it will have sufficient power to fly. Something that definitely does not have enough power to fly is my little contra-rotor with the spy camera and 9V battery attached.

I will have to try flying the heli without the large 9v battery and just with some button cells stacked up to provide the same. Now there are rechargeable button cells from Telong making it feasible to deploy the camera with same recharge cycles as the helicopter main battery.

Saturday, May 22, 2010

Arduino + Beaglebord + Other bits = Autopilot

So I have had a minor set-back with the el-cheapo motors on the quadcopter. No surprises there. Time to chin-up and get better motors and start building the second iteration. This one will feature stereo vision, barometer and the razor imu for positioning instead of the 3DM GX2. I am about to test the beagleboard to arduino connection over i2c, I will have to ensure that I attach some level converters this time to isolate the 2 voltage levels and have reliable operation.

I think the razor IMU will start life hooked to an Xbee and strung down from my hand flown co-ax. It is much lighter than the microstrain box and the little heli should be able to lift it. Both the xbee and the razor operate at 3.3 volts so no level shifting needed, the heli seems to provide some 4.2 volts which is rather odd for a lipo pack.

Helping with the lift calculations is this little tool. With a 1400kV motor i can turn bigger propellors and possibly prevent burn-outs. Better order some more el-cheapos with ESC just in case the controller is toasted as well.

Thursday, May 20, 2010

Toasted motors and KNN classifiers

More proof that I should stop obsessing on the Quadcopter and focus on my PhD and possibly Orfeo Toolbox. I am just getting started with the risks in playing with real life hardware. Today we ran our 5000kV motor at full-throttle for a few seconds - under careful supervision of the folks in the electromechanical lab. The motor overheated and burnt out producing a lot of heat, smoke and molten solder . The wires heated so much the joints melted, cutting off power before anything actually caught fire. I can explain this away in terms of lack of adequate thermal overload protection. In what looked like a wind tunnel test - the motor kept running while producing smoke vortices underneath, I was typing 'h' away at my arduino console to make it go faster rather than documenting the great event.

Otherwise the workshop  has done a fantastic job putting together the frame and attaching the propellor hubs to the motors. We have 3 variants of propellors - 12x8, 8x6 and flimsy high speed low pitch helicopter ones. The next iteration will use thermistors to monitor motor temperature and cut-off when overheating is detected. LiPo charge level can also be monitored with the arduino ADC's. More code for the arduino needs to be written then. No more simple bit-bang PPM. I am also contemplating getting some lower kV rated motors to turn some of the bigger props.

On the more productive and less risky side I pulled some code published in the ITK Journal to perform KNN classification into OTB. Hope I can soon get some screenshots of KNN in action in OTB-Qgis.

Thursday, May 13, 2010

Bringing Colour to Heights - Quadcopter shopping

So the University has finally reimbursed me for all the quadcopter parts purchase and it is time to shop for new parts for the 2nd version. All the electronics are fairly affordable. The major effort will be in the control system coding, but I found this at the University - that indicates a core of expertise in 3DOF quadcopter control, just need to extend to 6DOF.

On the other hand I have got some more impetus to do a few more filters in OTB-Qgis and even a special project in Orfeo Mantis to jot things down. The easiest thing to do was hillshading from Emmanuel's code. I chose a bit over the alps to show some colours, auto-detection of min/max in data can be enabled to obtain more variety.

Tuesday, March 23, 2010

Keeping it grounded - Tether for flying machines

I have 3 different flying machines sitting on my desk now.
  1. Dual-Contrarotor Chinook Style Helicopter
  2. Single-Contrarotor non-swash plate Helicopter
  3. The Quadcopter in build phase
I would like to make a flight controller flexible enough to fly all three from the same set of hardware, just different bits of software. The blades for the quadcopter arrived recently and with them health and safety concerns about unruly and out-of-control flying machines. To perform motion tests and calibration we had been contemplating a controlled flight platform I finally sketched one up and took it to the machine shop. Hopefully it will be fabricated in a month or so and ready for use with the helicopters and any other aerial platforms the department may have.

Monday, March 1, 2010

Completed Autopilot Boards and Frame

Completed autopilot system on Twitpic
The quadcopter has finally taken shape. All the carbon-fibre struts are now attached and the flight boards are boxed up. We got all the LiPo's and chargers and everything works as expected. The lab power supplies cannot push the requires current to run the motors so for flight testing the LiPo's will be essential. It will also give us an idea on how the lift/weight ratio will be and how much angular momentums we will have to deal with. The motors run PPM pulsed from the signal generator.

Completed quad frame on TwitpicAs discussed before the Arduino will be producing the PPM pulse in-flight. The encoding uses 0-250 in byte to achieve stepped PPM time shift from 1ms to 2ms. This leaves 5 bytes to address separate motors, we have only 4, we might use the additional byte to trigger the camera or a parachute release output.

The current issue is getting a camera to work with a Verdex, we might have gone with an entirely separate camera subsystem, but that makes it difficult to syncronize the clocks. A USB camera attached to the Gumstix will have to do for now, they are cheaper and lighter than a full camera. The lightest option will be a phone style integrated camera but that can wait.

Concepcion, Chile. Mega earthquake (M8.3) hit this city this ... on Twitpic

We can atleast attempt to stream pictures from the Quad to WorldWind, should not be rocket science, since pictures of earthquake in Chile are coming in via twitter. We can even pull the telemetry and locate the quad over the flight area. So I modelled the quad in Blender with some success and plenty of help from the propellor modelling tutorial. WorldWind now has shapefile support as well, making mission planning easier. Only if we had a quad as big as the one I rendered.