Search found 332 matches

by mahowik
Thu Oct 04, 2012 4:12 pm
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

No, because then you'd have to have the copter precisely level at power up. Use sqrt(accx*accx + accy*accy + accz*accz) and you wont have to have it level. A better solution would be to have a similar ACC (and gyro) calibration as with mag calibration where you turn around the copter to find each a...
by mahowik
Wed Oct 03, 2012 5:57 pm
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

It seems I found it! Try to comment applyDeadband(vel, 5) //D // applyDeadband(vel, 5); BaroPID -= constrain(conf.D8[PIDALT] * vel / 20, -150, 150); debug[3] = BaroPID; In original version it was a function for deadband and "vel" variable in not overridden with deadband, but with define it...
by mahowik
Wed Oct 03, 2012 5:45 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

but Sebbi provided all you need... now just integrate acc to velocity and play further with these:
viewtopic.php?f=8&t=2503&start=10#p23631
and apply to viewtopic.php?f=8&t=2503#p23400
by mahowik
Wed Oct 03, 2012 5:28 pm
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

Also could not find the issue here probably here, when function for deadband was replaced to define #define applyDeadband(value, deadband) \ if(abs(value) < deadband) { \ value = 0; \ } else if(value > 0){ \ value -= deadband; \ } else if(value < 0){ \ value += deadband; \ } I will check at home...
by mahowik
Wed Oct 03, 2012 4:37 pm
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

However: One line seems to be 'reversed' static float accVelScale = 9.80665f / 10000.0f / acc_1G ; used to be static float accVelScale = 9.80665f / acc_1G / 10000.0f; Checked in GUI for these two cases. Don't worry. Velocity is the same Some details: 1st case more optimized and arduino compiler (ch...
by mahowik
Wed Oct 03, 2012 4:18 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

I took the liberty to fully implement it, so I can sleep well and don't have to dream about rotation matrices Here you go (place it at the end and inside of getEstimatedAttitude): #define CALC_GLOBAL_ACC #if defined(CALC_GLOBAL_ACC) // Get global (earth frame) acceleration // ======================...
by mahowik
Wed Oct 03, 2012 4:02 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

Magnetron wrote:My idea is relatively simple:

not shure that I got your idea... does it make sense to reduce compensation according to current inclination? why?
by mahowik
Tue Oct 02, 2012 11:11 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

We need angles also so we do not approximate multirotor behaviour to level at 0°.. In position hold ? Why not ? This topic and discutions is about position hold, not about acro or even normal flight behaviour. At position hold we can use lot of simplifications, because this is ONLY POSITION HOLD wi...
by mahowik
Tue Oct 02, 2012 9:30 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

We are trying to obtain position hold without gps using global vector to reach results like this: m in this condition the quad was not on 0° on axis... so we need global vector not only angles... As I told before w/o gps it will be not possible, because we need to correct errors after integration.....
by mahowik
Tue Oct 02, 2012 9:09 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

Sebbi wrote:It's just a mirror of the official google-svn-repository.

Who is responsible to create new account to svn? And where I can read rules (if it's exists) for code commit(s) in terms of mwii project?

thx-
Alex
by mahowik
Tue Oct 02, 2012 7:27 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

I'd like that. I can imagine using quaternions only or use rotation matrices ... but part of what makes MultiWii work is "magic" and I fear changing one part will lead to a lot of areas that need changes too . There is a mirror of the _shared-branch on Github (m), want to start from there...
by mahowik
Tue Oct 02, 2012 3:52 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

I had similar plans a few months ago, but never got anywhere (http://www.multiwii.com/forum/viewtopic.php?t=2015&p=18255), I hope you succeed I have a look through "[idea] Introduce a velocity vector" topic. You was near the right way with your ideas! I also played a lot about half an...
by mahowik
Tue Oct 02, 2012 1:27 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

Again, you asked for a way to get global accelerations. I gave one ... will that work for what you plan to do? Btw, I had similar plans a few months ago, but never got anywhere (http://www.multiwii.com/forum/viewtopic.php?t=2015&p=18255), I hope you succeed Sebbi! One more time! Many many thank...
by mahowik
Tue Oct 02, 2012 12:46 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

@mahowik: ACC_VALUE is the raw adc in default configuration. But I get the other problem ... however, I figured out that you can use EstG here if rotateV() is corrected (that function uses a nasty optimisation). 1) NO! It uses LPF by default at least since 1.8 release... now it's #ifndef ACC_LPF_FA...
by mahowik
Tue Oct 02, 2012 4:09 am
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

// use acc values directly (lags, because angles are lagging behind reality) #define USE_ACC_FOR_EARTH_ACC 1 #if USE_ACC_FOR_EARTH_ACC == 1 axis = 1; int16_t acc_x = -ACC_VALUE; axis = 0; int16_t acc_y = ACC_VALUE; axis = 2; int16_t acc_z = ACC_VALUE; #else // use EstG values (doesn't lag, but need...
by mahowik
Tue Oct 02, 2012 1:27 am
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

EstG and ACC vectors are different because of time lag, not because they are a different thing. A projection might be somewhat correct in short timeframes and with litte motion/rotation (just like the rotateV function which, well ... lets not talk about it ... but it kind of works for supersmall an...
by mahowik
Mon Oct 01, 2012 11:21 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

I edited my reply with an example. The gui updates too fast to see anything ... if you still wont believe me after my example, I can use a logger to "prove" it to you Your example correct but: - it's true if you have constant acceleration in long time period... for short time EstG and ACC...
by mahowik
Mon Oct 01, 2012 10:56 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

Just check this in GUI first for horizontal x,y and vertical z movements with any degree/inclination... after that we can continue our discussion ;)
by mahowik
Mon Oct 01, 2012 9:27 pm
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

Sorry guys for issues/bugs! I hope your crashes are light... I forgot to mention that features from b2 was initially tested only with one flight and in GUI... 1- Can't use GPS based function as this dev version has no support for Ublox GPS sorry, but I haven't ublox to check in case of add support f...
by mahowik
Mon Oct 01, 2012 8:29 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

The code is correct but you forgot to read this // projection of ACC vector to global Z, with 1G subtructed // Math: accZ = A * G / |G| - 1G float invG = InvSqrt(isq(EstG.V.X) + isq(EstG.V.Y) + isq(EstG.V.Z)); int16_t accZ = (accLPFVel[ROLL] * EstG.V.X + accLPFVel[PITCH] * EstG.V.Y + accLPFVel[YAW] ...
by mahowik
Mon Oct 01, 2012 4:44 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

Isn't that a very simple problem? You have the orientation of the copter (pitch/roll/yaw) and an acceleration vector. So just apply a rotation matrix (wikipedia reference: m or m) ... and you get "earth frame" acceleration which can be integrated to get velocities. I had not time for inve...
by mahowik
Sun Sep 30, 2012 7:46 pm
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

Also for bma180 make sense to set 10hz internal LPF as described here viewtopic.php?f=8&t=2371&start=190#p23819
by mahowik
Sun Sep 30, 2012 6:09 pm
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

special release for Crius SE (atmega328) because it has only 30720 byte maximum, BUT GPS_FILTERING disabled there... but some guys mentioned that it works better w/o filter ;)
http://forum.rcdesign.ru/blogs/83206/blog15302.html
by mahowik
Sun Sep 30, 2012 5:03 pm
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

I just flied with 2.1 b2 with PID tuned I just made the video : m You can see the quad flying back to coordinate when the PH activated after i move the roll to get the quad moving to other place then i put the stick on centre position. Any step i missed ? thanks for test! Strange, probably I missed...
by mahowik
Sat Sep 29, 2012 9:23 pm
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

Mahowik, you are the Man, i'll be the first who buys you lots of beer cans for your work. Even i didn't had time to test your last development Sw, I am convinced that we will reach a solution. 100$ from me, right now...donation is now complete Thanks a lot! But this is too much for beer! So I'm lit...
by mahowik
Fri Sep 28, 2012 3:52 pm
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

I tried b1 version with few flights in my Hex. I could not get Alt hold working at all even after playing with different PID values. Everytime the altitude hold worked worse than with MW2.1 (+-0.5m). During every test flight and after about 10 seconds the hex suddenly jumped up about 3 meters.. At ...
by mahowik
Fri Sep 28, 2012 5:59 am
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

Hi guys, Here is MultiWii_2_1_b2 1) controlled ascend/descend mode based on the new Alt Hold routine. It's slowly increase/decrease AltHold altitude proportional to stick movement from point where AltHold activated ( +100 throttle gives ~ +50 cm in 1 second with cycle time about 3-4ms): solution fro...
by mahowik
Fri Sep 28, 2012 5:00 am
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

hey guys, I havent been following along on the alt hold progress so forgive me if Im missing something obvious in config or something... Ive tried the last two new dev versions- 1129 & 1143, and everything is great except for alt hold (I have a bmp085, PID= default @ 1.6/ .015/ 7)- Starting at ...
by mahowik
Thu Sep 27, 2012 8:54 pm
Forum: Software development
Topic: Horizon Mode & What Am I Missing?
Replies: 22
Views: 9932

Re: Horizon Mode & What Am I Missing?

I suppose HORIZON works like acro (i.e. copter start to rotates around x,y axis) when you tilt the roll/pitch stick and recovers the level when its released... where AcroTrainer mode just switch from level/angle mode to acro after some predefined roll/pitch stick inclination and vise versa... But ye...
by mahowik
Thu Sep 27, 2012 8:40 pm
Forum: Software development
Topic: Horizon Mode & What Am I Missing?
Replies: 22
Views: 9932

Re: Horizon Mode & What Am I Missing?

HORIZON is intended as a FLIP trainer, if you try to FLIP the quad, in case of panic, releasing the stiks, cpter will level automatically. No, FLIP trainer it's another one function I think... /************************ Assisted AcroTrainer **********************************/ /* Train Acro with auto...
by mahowik
Thu Sep 27, 2012 8:11 pm
Forum: Software development
Topic: Horizon Mode & What Am I Missing?
Replies: 22
Views: 9932

Re: Horizon Mode & What Am I Missing?

Hi guys!

Sorry for probably stupid question but where i can read or probably someone can explain about HORIZON mode? How it works and what the difference from LEVEL/ANGLE mode etc.

thx-
Alex
by mahowik
Thu Sep 27, 2012 6:21 pm
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

Dear all, newbie here... I test mahowik code ms5611_IMU.ino with CRIUS SE v1.0 board, hey this really work on BMP085 sensor my set was 5.0 0.01 30. Is there any suggest PID tune for better AH, thanks This my video http://www.youtube.com/watch?v=xLcWT_O1nyg Thanks a lot! For bmp085 it's make sense t...
by mahowik
Thu Sep 27, 2012 3:26 pm
Forum: Ideas
Topic: Attemp to integrate sonar (ultrasonic sensor)
Replies: 265
Views: 226268

Re: Attemp to integrate sonar (ultrasonic sensor)

it was just testing values, i've archived my working dir "as is", it's not intented to be working out the box or using perfectly tuned constants It was not a critique, it was constructive discussion in terms of this feature Also most people here are not programmers and actually have not e...
by mahowik
Wed Sep 26, 2012 3:43 pm
Forum: Ideas
Topic: Attemp to integrate sonar (ultrasonic sensor)
Replies: 265
Views: 226268

Re: Attemp to integrate sonar (ultrasonic sensor)

indeed, that was my first impl, but it's doing some probs: - until copter armed, EstAlt value isn't correct... - using some OSD (mobidrone for example) firsts reading after startup are used for offset, so if waiting too long for setting barohome, incorrect value are used - if windy day, it's good t...
by mahowik
Wed Sep 26, 2012 2:48 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

1) get global x, y axis... actually we need to get global x, y vectors... I think it's possible to get by rotation of global Z vector (EstG.V in our case) RIGHT ALEX, this is the main solution. Now we must implement routine for velX and velY and integrate. But I have not understand your point no.1....
by mahowik
Wed Sep 26, 2012 5:06 am
Forum: Software development
Topic: MultiWii EZ-GUI
Replies: 1434
Views: 710176

Re: Odp: MultiWii AllinOne for Android [update 25/09/2012]

ezio wrote:As I understand it works only on mega boards. Is there a way to use it on pro mini?

Yes, only for mega, BUT it possible to do with special converter (slave processor that acts as a I2C bridge)...
viewtopic.php?f=7&t=1929&start=10#p19975
http://www.rc-cam.com/forum/index.php?/ ... interface/
by mahowik
Wed Sep 26, 2012 4:30 am
Forum: Ideas
Topic: Attemp to integrate sonar (ultrasonic sensor)
Replies: 265
Views: 226268

Re: Attemp to integrate sonar (ultrasonic sensor)

full code, based on last build (r1129) althold with sonar/baro mixed works fine, tested on sr04, dypme007 and tinygps (i dont have i2c native devantech) current define are for crius/mega board, don't forget to enable once baro mode before arming to set "baro home/zero alt level" (visible ...
by mahowik
Wed Sep 26, 2012 2:58 am
Forum: Software development
Topic: MultiWii EZ-GUI
Replies: 1434
Views: 710176

Re: MultiWii AllinOne for Android [update 25/09/2012]

Does it possible to add offline/online map tracking by using gps coordinates and course from frsky hub? I'm working right now on offline maps. but how we can send data from multiwii over frsky ? Maybe someone can implement this ? Cool! Thanks! It's already possible to send main data (gps coordinate...
by mahowik
Wed Sep 26, 2012 1:09 am
Forum: Software development
Topic: MultiWii EZ-GUI
Replies: 1434
Views: 710176

Re: MultiWii AllinOne for Android [update 25/09/2012]

mahowik wrote:Does it possible to add offline/online map tracking by using gps coordinates and course from frsky hub?
by mahowik
Tue Sep 25, 2012 7:11 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

Hi, @hkubota: Just guessing (read a bit on Mahowik's implementation), but I'd say you need to integrate acceleration to get velocity, and integrate velocity to get position. So position hold is "just" maintaining 0 velocity on all axes, using baro to compensate vertical errors and using G...
by mahowik
Tue Sep 25, 2012 4:57 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

@hkubota To summarise Measures any tilt and how long its tilted, then puts compensation to return it back to the original position. Not just level though - maybe a little more to return it back before applying level. Will still drift with wind, But coupled with GPS hold it should make horizontal po...
by mahowik
Tue Sep 25, 2012 12:48 am
Forum: Software development
Topic: MultiWii EZ-GUI
Replies: 1434
Views: 710176

Re: MultiWii AllinOne for Android [update 25/09/2012]

Thanks you guys for great project! :)

Does it possible to add offline/online map tracking by using gps coordinates and course from frsky hub?

p.s. I had this idea some time ago ;) http://forum.rcdesign.ru/f90/thread287324.html

thx-
Alex
by mahowik
Mon Sep 24, 2012 9:56 pm
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

can't wait for this new ALT TO RTH function! ALT_TO_RTH already available in MultiWii_2_1_b1. You can download it here m sketch with ALT_TO_RTH_FINISH will be posted soon in MultiWii_2_1_b2 Autolanding will be possible only with sonar I think, because on altitudes less then 2m baro values become ve...
by mahowik
Mon Sep 24, 2012 3:35 am
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

If the descend speed is slow enough on last leg, it could do a decent controlled crash landing An bigger issue will be horizontal speed relative to ground. Thanks. Autolanding will be possible only with sonar I think, because on altitudes less then 2m baro values become very unstable and could not ...
by mahowik
Sat Sep 22, 2012 7:16 pm
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

and evolving into controlled climb or descend or even autolanding is the next step to go for Baro-Acc routine. If you mean auto switch to specified alttitude it's already possible with new alt hold I have already implemented and tested (~ 2 weeks ago) "Alt to RTH" feature... Works great a...
by mahowik
Sat Sep 22, 2012 6:46 pm
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

There are some issues with an initial jump proportional with D term after witch the copter comes down to initial AH level and it keeps that level. Also reproduced this issue, when copter goes up/down and alt hold activated... I suppose it's related to delay in calculated EstAlt... So to fix that yo...
by mahowik
Sat Sep 22, 2012 6:13 pm
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

I flew R1122 from shared trunk with Manhowik Alt Hold routine and it works like a charm on Crius AIO Mega Board. Well done! Note to perfection: In fast forward flight it tends to slowly loose altitude, about 1 meter. When it stops holding position, the altitude is regained. That might be airspeed r...
by mahowik
Sat Sep 22, 2012 6:03 pm
Forum: Software development
Topic: Altitude Hold improvement solution
Replies: 580
Views: 1592667

Re: Altitude Hold improvement solution

Try to check debug (acc, velocity) values as described some pages ago in two posts... i suppose you have a lot vibrations on your board... which acc and baro? Thanks, I'll look into that. Yes, vibration might be an issue, but wouldn't that primarly affect the accelerometers on the x/y axis?. I'm fl...
by mahowik
Sat Sep 22, 2012 5:33 pm
Forum: Software development
Topic: Position Hold using Accelerometers global vectors
Replies: 86
Views: 36651

Re: Position Hold using Accelerometers global vectors

Hi Magnetron! Strange but it seems that the same thoughts can be catched at the same time in the different minds ))) I got the same idea on the beach during my vacation Actually theoretically it possible to improve GPS position hold by using ACC but i don't think that is possible to do without GPS a...