Skip to main content

Navigation algorithms now include Drift compensation PI controller

So it turns out that I was very optimistic about just using a gain mixing of accelerometer rand gyros than computing a DCM matrix of the aircraft rotation.
So I decided to overhaul the code by creating data structures that will hold the information requires for such computation. I must say that at the back of my mind I was really worried about the computational time that these calculations will take in the small Atmega328 micro. To my surprise, provided that one sticks with a minimum of division operands, float arithmetic is actually quite fast even in an 8-bit controller. Given that this application is for high L/D aircraft and who’s mission is mainly waypoint tracking, the slow changing dynamics can be reasonably captured with this environment.

The bad part of the implementation was to discover how quickly the gyro drift (especially in the roll channel) hurts the computation of the Euler angles. (See the pics below), even-though all sensor are bias compensated from the start. So the implementation of the roll/pitch angular rate controller was necessary. Depending on how one implements the controller, there’s a vast improvement in using the accelerometer (only in non-acceleration flight) as a reference vector. The next step in this overhaul is the testing of the GPS module and dust-off the glider for a practice  run.

Comments

Popular posts from this blog

Setting up the Tarot T4-3D gimbal on the Pixhawk 2.4.8 with Specktrum dx6 Gen2 toggle switch

So i took the challenge of setting up the Tarot gimbal not just for inherent stable video footage but also the flexibility of controlling it from the radio control. However, I encountered quite a few challenges which made me aware that I'm not the one only in this battle . It's quite clear that the setup of the Tarot gimbal using its own software is completely different from how it's been described in the Ardupilot/Arducopter webpage and in mission Planner. In Mission Planner and it's associated site makes one believe that it should be done through software, only to realize that in actual fact the setup is more complex than that.  After two evenings of trying various combinations, I realized the getting the pixhawk Aux channels to communicate with the T4 gimbal requires the following steps: - The Pixhawk Pin9 (Aux1) needed to be activated to pass through user-chosen channel from the transmitter. For the Dx6 Gen2 it was the channel 6, which can assigned the ...

Setup ArduPilot flight modes with DX6 Gen 2

Hi, I've looked around the web to get an understanding the setup of the Ardupilot flight modes with a Spektrum DX6 2nd generation and there was none. So I decided to write this blog. The few things to consider when doing this: Please follow the instruction given on the ardupilot webpage . Have the Pixhawk hardware connected to Mission Planner (I have 1.3.50 - Copter V3.5.3)  Use the display bar in the Radio Calibration page as a guide while changing the rate pulse widths on your transmitter. I've used switch D to change the pulse width ranges on channel 5.

GPS Navigation Ground Test #1 - Waypoint Tracking Algorithm

So after a period of absence of over a month (feel depressed everytime I say it), I got back into the groove of things. Decided not to wait to get back on the field to test the pitch and roll autopilot and decided to start working on the waypoint tracking algorithm . The advantage of having your own home with a garden is that you no longer struggle to get a GPS lock (There's no more concrete flats surrounding us yeah!!!). So got familiar with my gear again. Also decided to buy a piezo buzzer that could be used as a replacement of the serial monitor. The aim was to increase the intensity of sound as you got closer to the next waypoint. In such a way you will know if you're going the correct way. Decided to use GPS Visualizer to get waypoints on the property. Re-formatted the points into the code uploaded it onto the controller. It must add that I managed to successfully run arduino from the linux command line and use the program screen as a serial monitor. Not only is it m...