Crazyflie cannot be stable when take off, it flipped onto the ground. #323
Replies: 16 comments 1 reply
-
This is usually because of having bad state estimation.
|
Beta Was this translation helpful? Give feedback.
-
@lkyfly0765 were you able to resolve this? |
Beta Was this translation helpful? Give feedback.
-
what's the "estimator 2" means ? |
Beta Was this translation helpful? Give feedback.
-
@ColsonZhang See |
Beta Was this translation helpful? Give feedback.
-
Thanks a lot! |
Beta Was this translation helpful? Give feedback.
-
@ColsonZhang Probably reached the maximum bandwidth that a PA/channel can communicate. If I remember correctly, there is an option to disable logging or something that can reduce the bandwidth usage. Check documentation and issues before. I haven't been working on this for a year; just a rough idea in mind. |
Beta Was this translation helpful? Give feedback.
-
I encountered a problem similar to yours. I wonder if you solved it? |
Beta Was this translation helpful? Give feedback.
-
There is a parameter which controls the log frequency in the file hover-swarm.launch. The default value of the frequency is 10, and I modify the value to 1. After the operation, the situation will maybe get better a lot. |
Beta Was this translation helpful? Give feedback.
-
thank you for your sharing.
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Hello, I also have the same problem, did you solve it? Thanks. |
Beta Was this translation helpful? Give feedback.
-
Hi @whoenig , During my recent experiments, for optitrack users, there are some important settings need to be configured, they are not in the crazyswarm website. May be you should add them. 1. Cannot receive the rigid body data from the Motive server. This may cause “crazyswarm-server-2 process has died” issue.
In my view, the crazyswarm is using the old version of NatNetSDKCrossplatform, which you may encounter the date receiving issue. If the step 1 to 4 is not work for you, just clone the bug-recv-issue branch and run the mcr program separately in a Xterm window, keep it running all the time. Then you can launch the hover_swarm.launch and see the cf’s in Rviz. May be the bug-fixed version should be build-into the crazyswarm. 2. The relationship between the rigid body ID with the cf ID in allCrazyflies.yaml.
In Motive, if you open the asset property pane to check the property of each rigid body, there is a streaming ID, you can set the streaming ID to any number. In mcr software, it output the streaming ID number as the head of the position data. In crazyswarm, the crazyflies id in allCrazyflies.yaml is assumed equal to the cf-URI’s last two numbers, also equals to the Streaming ID in Motive. Which means that there is no need to create the rigid body in order from cf1 to the last cf, all you need to do is just make sure that the Rigid body’s streaming ID in Motive is equal to the crazyflies’ id. You will not need to delete all the rigid bodies and recreate it when you change the markers configuration. @whoenig Here I still have one question. Thanks with regards. |
Beta Was this translation helpful? Give feedback.
-
Thanks a lot for your insightful comments. I am planning to update the documentation accordingly, based on your feedback. For your question: massThrust is just a scaling value that roughly speaking converts the mass to the required PWM values. If your CF is heavier, you can either tune mass or massthrust by setting the I-gains to 0 and ensuring that the Crazyflie is flying at its designated height. If it flies too high, reduce either mass or massThrust, if it flies too low increase one of the values. |
Beta Was this translation helpful? Give feedback.
-
I suggest tuning |
Beta Was this translation helpful? Give feedback.
-
Thanks for yours explanations. |
Beta Was this translation helpful? Give feedback.
-
If you need to make it very different from the true mass of your Crazyflie, something else may be wrong. I would suggest setting it to the true value and if you still have problems, double check the motors/props/etc and try tuning the PID gain values of the controller in your launch file. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi @whoenig :
I just figure out the crazyswarm-server issue and trying to test the hover_swarm.launch with the given figure8_csv.py trajectory. But when I run
python figure8_csv.py
in another terminal window, the crazyflie respond to take off, and suddenly flipped down to the ground. I uploaded the video here https://youtu.be/dJ-tqMDjkeY.As you can see, when I enter the
python figure8_csv.py
, the crazyflie just take off and quickly flipped down to the ground. What may cause this problem?Also, the LED ring is always green shows that the connection quality is good. But why that happened? I am confused about that. I have the same issue with #115 , but after reading that issue, I cannot solve it out.I have updated the crazyflie's firmware using the Option 2 provided in https://crazyswarm.readthedocs.io/en/latest/usage.html#crazyflie-preparation.
I am using the optitrack as the mocap system, and use the motionCapture rather that libobjecttracker. I have created a rigid body in Motive software. To confirm the coordinate system is correct, I move the crazyflie manually and see that in Rviz the position information is correct. So I think the coordinate system is not the reason to cause the flip problem.
And there is a strange thing that when I launch the hover_swarm.launch, I press the start button on the Xbox360 joystick, there is no response on the xterm window or the crazyflie. I cannot let the crazyflies just take off and holding the x/y position they were originally placed in. It seems that the joystick is unusable. Is there anything wrong with my setting?
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions