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 ...

GPS Navigation Ground Test #2 - Heading Error Computation Algorithm

This one is going to be quite short. Yesterday was the turn of the heading error algorithm to be tested. This heading error is calculated based on the heading the between two waypoints and heading measurement from the GPS module. This error will then be fed into a the roll controller as an input for roll command to reduce it to zero. But for the roll controller to work accordingly, the input must be right and within certain bounds. Same as the previous ground test, waypoints were loaded unto the autopilot and serial debug data was monitored using my Asus TF101 Tablet. It's worth saying that I managed to get serial data output straight from the LINUX command line . So the command line integration with VIM is complete. So it takes approximately under 10sec to upload and start debugging data of the autopilot. Sweet! Anyway, it was found that the GPS accuracy should be considered at 10-12m. Anything less than that and you'll be running for trouble. That is not a real conc...

Development of a new learning algorithm

Over the course of the past 2-3 weeks I decided to take the plunge of learning a new training algorithm which had quite alot of attention in the academic community but was also well constructed for easier implementation. The work by Peng et al on developing the Continuous Forward Algorithm (CFA) was my subject of attention. The overall premise behind implementing this algorithm was to investigate less memory-intensive machine learning algorithm that will not sacrifice accuracy or robustness. The ability to have a real-time learning system for low-cost electronics (such as the Teensy 3.6 ) has huge implications for the commercialization and affordable access of intelligent drones specifically for developing and even under-developed economies. The far-reaching impact of having technology leveraging efforts of farmers, herders, game rangers, biologists is the next wave of industrialization. This is the essence of this blog. The journey is very exciting and eventual results even mo...