Adrien HADJ-SALAH's Posts (3)

Sort by

Kalman filter parameter importance

3689658894?profile=original

Hi everyone,

I'm working on the BreezeUav project which is open-source autopilot for fixed-wing and multicopter. So far it's possible to fly by using the board we designed based on Atmega 2560 and we currently adapt the code to be executed on ARM Cortex soon.

Anyway today I wanted to share with you some outputs I find by running the Kalman filter with differents sets of parameters and by comparing it to the complementary filter. Since the test is made by comparing the roll angle by moving a tricopter, the motors are turned off, therefore the vibrations don't interfere with the results.

I first set high value of parameters, In kalman filter, two parameters are very important : Q and R. Q defines the relative trust to the accelerometer against the gyro, and R define the maximum jitter of the accelerometer. In the graph below, Q = 0.15 and R = 0.25
3689658924?profile=original


As you can see, the kalman filter has some delay and the value doesn't reach the maximum.

Therefore I decided to decrease the parameters to Q = 0.001 and R = 0.01 :

3689659019?profile=original

In this example, the kalman follow quite well the complementary filter. During fast maneuver, the maximum value is not reach but there is no delay anymore.

Therefore in my next flight I'm gonna try to use both complementary filter and kalman filter to have roll/pitch angles and see how stable the tricopter flies.

If you are interested I have produce similar output about vibration and weight put on the the top of the IMU to see how weight succeed to decrease the vibrations a lot.

Here is the first on board video of the breeze project :

https://www.youtube.com/watch?v=8k2iU6S42xc


Have a good flight,
Adrien

Read more…

Hi everyone,

Today I made a new flight using the BreezeUAV autopilot that I develop in open-source (breezeuav.com) :

It ended up with a crash due to motor vibrations leading to wrong roll evaluation. Actually I was aware of those vibrations, I thought the Kalman and Low-Pass filter will be enough to have good value. Without propeller I had 0.3G of noise maximum, and it was leading to maximum +/- 3° error on the roll/pitch angles. 

But I saw after that I loose one screw when flying, maybe there was more noise after that.

I will design a new motor mount to have less motor vibration, but also build a new IMU mount to have less than 0.1G of noise on each axis.

On this video, I was using the semi automatic mode where I can give a airspeed to achieve (12m/s) and the attitude was commanded by a joystick. I was trying to turn left giving a left 40° bank angle, but because of the vibration, the data show that the UAV was having wrong roll values.

I hope you will enjoy this short video.

Adrien

Read more…

BreezeUAV : An open-source autopilot for UAV

3689630585?profile=original

Hi everyone,

I'm happy to share with you today BreezeUAV.

BreezeUAV is an autopilot running on Arduino Mega 2560 which allow the user to do some automatic missions or to fly in "semi-automatic" mode with a Joystick. In fact, instead of controlling the surface controls of the airplane, the joystick define the euler angles desired. Then the autopilot, using PID controllers, stabilize the UAV.

I first decide to implement the whole system on a Yak 54 which is a 3D airplane. Of course it's not a trainer or a beginner airplane, but it's really powerful and it's not influenced so much by wind.

I also developed a ground station in Java Eclipse RCP 4 which allow the user to track the airplane, save the data and replay them latter.

3689630523?profile=original

After weeks of ground testing, I enjoyed yesterday a bit of a flight. But because I used Xbee Pro without antenna, I lost control of the airplane few hundreds meters away. Hopefully I just received a new pair of xbee pro 868 Mhz with 2.5dB antenna which I will be able to test soon.

I decided to start from scratch at the beginning just because I enjoy so much programming in C/C++, but some parts of the code are directly inspired by ArduPilot. I hope in the future that I will design my own aircraft inspired by the Penguin (uavfactory.com) project and implement some on-board image computing.

I hope you will enjoy and follow my project :

BreezeUAV.com

Read more…