After implementing the DCM algorithm on the CHR-6D IMU it was time to flight test it on my quad-copter. I used the same controller I developed last year but instead of using the onboard 5DOF IMU, I connected a serial port to the CHR-6D IMU. The filters and DCM algorithm was executed on the STM32 of the CHR-6D, the direction matrix was sent to the control board through the serial port. Only a few minor modifications were made on the control software to use the angles from the direction matrix, the rest remained the same.
I spent a few hours tuning the PID gains, filter cut-off frequencies and DCM parameters and the results look very promising. Occasionally, small corrections are still needed to keep the quad-rotor in one spot but that was expected. With a GPS and altimeter it should be possible to control the position and altitude fairly accurately.
The main reasons for the improved performance are:
- Encapsulating the IMU sensors in gel to reduce vibration
- High speed sampling and extensive filtering of raw sensor data
- Direction Cosine Matrix using a 6DOF IMU (3 accels and 3 gyros) – although a Kalman filter should also have worked
The ESCs are still controlled using PWM, stability should improve by using a I2C ESCs and a higher update rate (>100Hz). Stability is not as good as in some more high-end setups but I can comfortably fly the quad-rotor outdoors, in fact it is easier than flying a heli. I still need to test the effect of large acceleration on the stabilization e.g. fast ascent, descent or turns (can be easily corrected by calculating and subtracting the centripetal acceleration).
Looks very stable! What kind of gel did you use for the IMU board?
Congrats!
-Jamie
The gel is the Dow Corning Sylgard 527, I used 70% part B and 30% part A. Following is a link:
http://www.amazon.com/Dow-Corning-DIELECT-SYLGARD-DIELECTRIC/dp/B001E99I7C
Dear Vassilis.
How to contact with you by e-mail?
You can contact me directly through the Contact (http://vrhome.net/vassilis/contact-me/) page.