6
$\begingroup$

We are using ArduIMU (V3) as our Quadrotor's inertial measurement unit. (we have a separate board to control all motors, not with ArduIMU itself).

As mentioned here , the output rate of this module is only at about 8hz.

Isn't it super slow to control a quadrotor ? I'm asking because as mentioned in this answer a quadrotor needs at least 200hz of control frequency to easily stay in one spot, and our ESCs is configured to work with 450hz of refresh rate. Any working PID controller I saw before for Quadrotors used at least 200-400hz of control frequency.

I asked similar question before from Ahmad Byagowi (one of the developers of ArduIMU ) and he answered:

The arduimu calculates the dcm matrices and that makes it so slow. If you disable the dcm output, you can get up to 100 hz gyro, acc and so on.

So, what will happen if I disable DCM from the firmware ? Is it really important ? We did a simulation before and our PID controller works pretty well without DCM.

$\endgroup$
  • $\begingroup$ Micheal Kogan, can you please share with me the code for the Kalman Filter you implemented on ArduIMU? I'll be grateful. $\endgroup$ – Omair K May 12 '14 at 18:58
  • $\begingroup$ Actually the problem was 2 things, one Kalman filter and second the ArduIMU non-standard IC for some countries. Me and my friend implemented a new firmware that can eliminate all these problems. Here is the link: code.google.com/p/ardu-imu/downloads/… $\endgroup$ – Michel Gokan May 13 '14 at 5:05
  • $\begingroup$ Thank you very much for your response. Sir, I implemented this very code without the GPS and I am only getting 50 Hz loop rate. $\endgroup$ – Omair K May 13 '14 at 15:45
  • $\begingroup$ Your welcome, I think you need to remove unnecearry parts in your code to make it work faster. Also timing is important. Create a separate question, put your codes and let me know. $\endgroup$ – Michel Gokan May 13 '14 at 16:16
  • $\begingroup$ @MichelKogan - Could you edit the information in these comments into either your question or your answer. They look like they might be useful to future visitors, but unlike answers, comments are ephemeral - if they get deleted they are gone forever. Thanks, $\endgroup$ – Mark Booth May 13 '14 at 20:23
4
$\begingroup$

I updated ArduIMU's firmware and successfully got 100hz of output without disabling normalization.


Update:

Thanks to Kalman filter firmware of ArduIMU I got up to 180hz of output plus removing all noises.

$\endgroup$
  • $\begingroup$ I know this has been a while, but for Michel Kogan, would you mind posting your latest code that runs at 180hz? ThnkaS $\endgroup$ – Richard Jul 3 '15 at 17:34
  • $\begingroup$ We already updated the firmware. You can download Michel and Edwin edition from ArduIMU firmware website. $\endgroup$ – Michel Gokan Jul 4 '15 at 17:57
  • $\begingroup$ Thanks but I tried that firmware and the loop timing is still set to 20ms (50 hz) and the X and Y Euler calcs still drift. It will run consistently at 8ms (125 hz). But I can't get it to 180 so I assumed you had an update. $\endgroup$ – Richard Jul 5 '15 at 19:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.