Hi guys!
Im using cf.land(target=0.0, duration=2.0) which I use crazyflie_ros library .. Goto works fine .. Takeoff works fine but just landing isn't working at all!! My drone isn't landing just after finishing the path it's fall like idiot however there's land!
What do I do to let my cf.land works and let my drone land in proper way? Cf.land isn't working
Landing
Re: Landing
I have not seen that behavior in my previous tests, are you calling"sleep(2)" after calling landing to let the time to the Crazyflie to land before calling cf.stop()?
Also something to check: are you sure you are calling with the right argument, the argument for landing in targetHeight and not target: https://github.com/whoenig/crazyflie_ro ... vel.py#L26.
Also something to check: are you sure you are calling with the right argument, the argument for landing in targetHeight and not target: https://github.com/whoenig/crazyflie_ro ... vel.py#L26.
Re: Landing
Yup .. Im calling it right like this:
but it's not landing in proper way it's like just stopping and falling after doing goTo ..
Code: Select all
cf.takeoff(targetHeight = 0.5, duration = 2.0)
time.sleep(3.0)
cf.goTo(goal = [0.5, 0.0, 0.0], yaw=0.2, duration = 2.0, relative = True)
time.sleep(3.0)
cf.land(targetHeight = 0.0, duration = 2.0)
Re: Landing
But what do you have after, do you have cf.stop()? Have you tried having a sleep() after calling the landing function?
Re: Landing
I have cf.stop()
didn't try sleep .. does that matter? sleep isn't matter .. does it?
didn't try sleep .. does that matter? sleep isn't matter .. does it?
Re: Landing
If you do cf.stop() before the drone has a chance to hit the ground and land, it will stop all the motors and everything, So it makes sense that it falls out of the sky as it does. The cf.land(targetHeight = 0.0, duration = 2.0) is only the initilizer, meaning that it will start going down but it will not 'block' the code until it has landed.
Add a very long time.sleep (like 10 seconds) after cf.land() and then you will know.
Add a very long time.sleep (like 10 seconds) after cf.land() and then you will know.