Page 1 of 1

How to make the hovering more stable?

Posted: Fri Jan 23, 2015 1:27 am
by luckpolar
Hello everybody,
Recently, I was working on my LeapMotion controlled crazyflie 1.0-(10-DOF).
I have written a new controll porject and made it worked with crazyflie client.
But,when I do the hoverring attitdue(thrust=a stable number,pitch=0,roll=0,yaw=0),the crazflie couldn't be hovering attitude...
Sometimes, it drift to a direction, and then another direction.
I use the Pitch and Roll trims to adjust it,with the changes of the direction, the trim numbers always changed.
So, I don't know how to solve this problem...
Is my crazyflie broken?
If not,could you give me some suggestions?
Thank you ~

Re: How to make the hovering more stable?

Posted: Fri Jan 23, 2015 9:50 am
by tobias
I would start by balancing the propellers. Tell us how it turns out.

Re: How to make the hovering more stable?

Posted: Wed Feb 25, 2015 5:30 am
by luckpolar
tobias wrote:I would start by balancing the propellers. Tell us how it turns out.
First of all, thanks for your suggestions.
It really worked a lot.
I still work on the hover mode by Leap Motion,and I found a problem:how to set the Target ASL by Leap Motion?
In the past work, I use a gesture to set a fixed thrust value (pitch=0,roll=0,yaw=0) to make Crazyflie simply hovering,
but while the voltage of battery going down,the Crazyflie went down slowly.
It couldn't hover for a period of time.
So, do you have any good suggestion for my purpose.
I feel that the Target ASL may be a supposed way to solve the hover problem by using a gesture to simulate a buttun(PS3_mode_1_ L1).
I have no experience in PyGame programming especially the joystick.
Could you give me some examples about that ?
Thank you.

Re: How to make the hovering more stable?

Posted: Wed Feb 25, 2015 12:50 pm
by luckpolar
tobias wrote:I would start by balancing the propellers. Tell us how it turns out.
BTW, I have saw some people do some changes to the firmware, how could I change the firmware code ?
Any other hardwares without Crazyflie and Crazyradio?

Re: How to make the hovering more stable?

Posted: Wed Feb 25, 2015 3:41 pm
by poizone
To work with the firmware, you need to use Git to clone the crazyflie-firmware repository from the Bitcraze github. You'll then need to set up your environment following the wiki instructions. Finally you can modify it (It's written in C) and compile it. Then follow standard flashing procedures.

For more stabilization you'll need to tune your PID gains.

Re: How to make the hovering more stable?

Posted: Thu Feb 26, 2015 5:20 pm
by luckpolar
poizone wrote:To work with the firmware, you need to use Git to clone the crazyflie-firmware repository from the Bitcraze github. You'll then need to set up your environment following the wiki instructions. Finally you can modify it (It's written in C) and compile it. Then follow standard flashing procedures.

For more stabilization you'll need to tune your PID gains.
Thank you for your suggestions!
I run the Bitcraze_VM_0.6 on my PC,and it can't connect to the Crazyflie in the VM.
Everytime ,when I connect to the Crazyflie(the "Link Quility" is 100% in main GUI),BUT it stops at the "INFO:cflib.crazyflie.mem:Requesting numbers of memories" (in Terminal Window).
I can't see the Actual numbers and GUI changes.
So,what should I do?

Re: How to make the hovering more stable?

Posted: Tue Mar 03, 2015 11:27 pm
by chad
luckpolar wrote:I run the Bitcraze_VM_0.6 on my PC,and it can't connect to the Crazyflie in the VM.
Everytime ,when I connect to the Crazyflie(the "Link Quility" is 100% in main GUI),BUT it stops at the "INFO:cflib.crazyflie.mem:Requesting numbers of memories" (in Terminal Window).
I can't see the Actual numbers and GUI changes.
So,what should I do?
It sounds like you've run into an incompatibility with the newest Python client and the Crazyflie 1.0. The short story is that the client is waiting for the CF to report back about the memories onboard (expansion boards). Of course, the Crazyflie 1.0 has no such thing so it doesn't report back. You can use the patch on this thread to get that working.