Smooth perpendicular lifting
-
- Beginner
- Posts: 4
- Joined: Thu Apr 02, 2015 8:27 pm
Smooth perpendicular lifting
Hi, I am at the beggining of my experience with crazyflie 2.0 so sorry if my questions sound dumb. How can I achieve a vertical (perpendicular) lift of the quadcopter? I've used the ramp.py example to modify thrust, but when it gets too big the quadcopter goes in a particular direction (i.e. left or right) instead of lifting perpendicular. Am i missing some essential mechanics here or probably I don't leverage the PID function from firmware? Thanks!
Re: Smooth perpendicular lifting
The thrust of the quadro is never perfectly vertical. So it will probably get unstable and that's what you experience?
-
- Beginner
- Posts: 4
- Joined: Thu Apr 02, 2015 8:27 pm
Re: Smooth perpendicular lifting
Yes it gets unstable and if the area is full of objects, like in a room, the quadro will colide with them. Are there any parameters (firmware/client) that i could tweak in order to achieve a nice perpendicular lift?
Re: Smooth perpendicular lifting
In a perfect world the quadro should hover on its place if you give it the python command with the thrust equal to the weight force and desired pitch and roll angles of zero. Unfortunately the worlld is not perfect and small erros will yield a position drift. So you have to either know the position of the quadro by using some external information (motion capture, camera etc.). Maybe it also works with data from the integrated accelerometers so you can counteract the drift. But I'm not sure how to do that.
-
- Member
- Posts: 30
- Joined: Sat Feb 07, 2015 11:32 pm
Re: Smooth perpendicular lifting
Hi,
I would just add that the drifts and instability are even worse near the ground and if you are starting from ramp.py you might stay too much near the ground. I have been testing a bit sending 'timed' commands to the copter (something like "60% thrust for 2 sec then 30% thrust for 1sec to stop the ascent then 45% thrust for 3 sec to descend slowly") and Slaxx is right, it does drift and is not usable for too long, but I got the copter to land in an 1m^2 area which is better than what I would have imagined.
It would be interesting to use the accelerometer to help positioning but I am not sure it would actually work (and if it does it will certainly quickly drift as well).
I would just add that the drifts and instability are even worse near the ground and if you are starting from ramp.py you might stay too much near the ground. I have been testing a bit sending 'timed' commands to the copter (something like "60% thrust for 2 sec then 30% thrust for 1sec to stop the ascent then 45% thrust for 3 sec to descend slowly") and Slaxx is right, it does drift and is not usable for too long, but I got the copter to land in an 1m^2 area which is better than what I would have imagined.
It would be interesting to use the accelerometer to help positioning but I am not sure it would actually work (and if it does it will certainly quickly drift as well).
-
- Beginner
- Posts: 4
- Joined: Thu Apr 02, 2015 8:27 pm
Re: Smooth perpendicular lifting
Thanks for the answers!
I changed the initial position of the quadro from ground to ~50cm higher and it worked better, the lifting was more vertical. What I didn't manage to do is make it stay there or at least lower it gentle. I used your thing with 2 sec - 60% ; 1 sec - 30% ; 3 sec - 45% and various combinations one better than the other, but it didn't quite worked as I wanted. Even though, it was a nice exercise and I'll dig more into the code and on forum hopefully I'll find as much as it is out there about autonomus control techniques, which is my goal by the way...
I changed the initial position of the quadro from ground to ~50cm higher and it worked better, the lifting was more vertical. What I didn't manage to do is make it stay there or at least lower it gentle. I used your thing with 2 sec - 60% ; 1 sec - 30% ; 3 sec - 45% and various combinations one better than the other, but it didn't quite worked as I wanted. Even though, it was a nice exercise and I'll dig more into the code and on forum hopefully I'll find as much as it is out there about autonomus control techniques, which is my goal by the way...