Page 1 of 1

Landing

Posted: Mon Dec 16, 2019 5:06 pm
by RyanMco
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

Re: Landing

Posted: Tue Dec 17, 2019 7:08 am
by arnaud
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.

Re: Landing

Posted: Tue Dec 17, 2019 1:40 pm
by RyanMco
Yup .. Im calling it right like this:

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)
    
but it's not landing in proper way it's like just stopping and falling after doing goTo ..

Re: Landing

Posted: Tue Dec 17, 2019 1:54 pm
by arnaud
But what do you have after, do you have cf.stop()? Have you tried having a sleep() after calling the landing function?

Re: Landing

Posted: Tue Dec 17, 2019 6:15 pm
by RyanMco
I have cf.stop()

didn't try sleep .. does that matter? sleep isn't matter .. does it?

Re: Landing

Posted: Thu Dec 19, 2019 10:22 am
by kimberly
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.