Unstable when Yaw reaches 90 Degrees

Discussions related to positioning systems where the position is calculated outside the Crazyflie and sent to the device using radio, including MoCap systems
Post Reply
DimChaik
Beginner
Posts: 8
Joined: Sun Nov 01, 2020 1:57 pm

Unstable when Yaw reaches 90 Degrees

Post by DimChaik »

Hi everyone,

I am flying crazyflies using a Vicon system. I've been using mainly the crazyflie_ros package and send position+yaw setpoints to the crazyflie over ROS.
Everything works fine, until I command the crazyflie to turn to 90 (or 270) degrees. As soon as it does that, it starts to lose its balance and becomes unstable.
I cannot understand why any such thing would happen, since I'm using a vicon system with great pose tracking, but I've tried it with two different crazyflies now and it happens with both of them.
As long as I keep them from assuming a yaw near 90 degrees, everything looks fine and they can fly around seamlessly. But upon turning to 90 degrees, it's immediate instability.
Is this a known issue? Anything I can do about this?
Thank you
whoenig
Expert
Posts: 395
Joined: Mon Oct 27, 2014 2:55 am

Re: Unstable when Yaw reaches 90 Degrees

Post by whoenig »

Hi, which controller are you using (onboard PID, onboard Mellinger, or offboard crazyflie_ros controller)?
DimChaik
Beginner
Posts: 8
Joined: Sun Nov 01, 2020 1:57 pm

Re: Unstable when Yaw reaches 90 Degrees

Post by DimChaik »

I used both the PID and the Mellinger and had the same results. But then I decided to try without the crazyflie_ros package, wrote some code to do the same things using only the crazyflie python libs and didn't get instability. I figured the only difference was that in the crazyflie libs examples I saw they were setting a new quaternion standard deviation for the Kalman filter, so I did that in crazyflie_ros too and it worked.

So long story short, I had to set the LocExtQuatStdDev parameter to something like 0.03 to achieve normal flight
Post Reply