Crazyflie Not Landing on Specified Coordinates

Post here to get support
Post Reply
sbradley
Beginner
Posts: 5
Joined: Tue Dec 07, 2021 3:01 am

Crazyflie Not Landing on Specified Coordinates

Post by sbradley »

Hi,

I'm currently trying to program my Crazyflie to fly from one "tower" to another "tower". The platforms they land on are only slightly larger than the drone itself meaning the drone must land on the precise coordinates otherwise it will fall off the tower. I obtain the coordinates of the tower (where I want the drone to land) by placing the drone on the landing platform of the tower and read the values from cfclient. However when I run my python code using the function send_position_setpoint the drone consistently lands 5-15cm away from the intended location. This has meant I will have to manually compensate for the drone's inaccuracy by adjusting the coordinates we tell it to go to. The drone is consistently inaccurate (it will go to the same place everytime) and it also swings in the air sometimes. Does anyone know why the drone is not flying to the coordinates we set for it and any solutions would be greatly appreciated. Thank you.
jonasdn
Expert
Posts: 132
Joined: Mon Mar 01, 2021 3:13 pm

Re: Crazyflie Not Landing on Specified Coordinates

Post by jonasdn »

Hello sbradley!

How to answer this depends a lot on what positioning system you are using! For an overview and comparision of the different kinds, please see this video: https://www.youtube.com/watch?v=lkEHKmEvcB8
sbradley
Beginner
Posts: 5
Joined: Tue Dec 07, 2021 3:01 am

Re: Crazyflie Not Landing on Specified Coordinates

Post by sbradley »

Hi Jonasdn. Thank for your reply!

I am using the Lighthouse Positioning System with the HTC Vive, version 1. Through some testing I figured out that the three crazyflie drones are all getting different readings when we try to calibrate their geometry from the same location. The drones all think that the HTC Vive Lighthouses are different distances away, varying by about 5-30cm's in all axes. e.g. Drone 1 will read that Lighthouse 1 is 2.5m away on the x axis, Drone 2 will read that Lighthouse 1 is 2.8m away on the x axis, and Drone 2 will read that Lighthouse 1 is -2.7m away. Another thing that is strange is one of the drones has flipped the two Lighthouses around and so is showing negative distances when it should be showing positive, and vice versa, in comparison to the other drones (these are the numbers returned when you press "Estimate Geometry" in the Lighthouse Tab in cfclient). All drones are crazyflie v2, and all drones are using the same version of the lighthouse deck.

Do you have any ideas as to what could be causing this or suggestions for how to resolve this issue?
Thanks!
kristoffer
Bitcraze
Posts: 625
Joined: Tue Jun 30, 2015 7:47 am

Re: Crazyflie Not Landing on Specified Coordinates

Post by kristoffer »

Hi!

If you use more than one drone in the same lighthouse system you should reuse the same base station geometry for all of them, not do individual estimates. The procedure is as follows:

1. Take one crazyflie and do a base station geometry estimation in the client. Verify that it looks OK and that is works fine.
2. In the lighthouse tab click "Save System Config" and save the file
3. Connect the second crazyflie to the client instead and click "Load System Configuration" to upload saved config to the crazyflie.
4. Repeat for all crazyflies

This way they will all agree on the set up of the system.

You may also want to take a look at the latest blog post https://www.bitcraze.io/2022/01/improve ... stimation/
sbradley
Beginner
Posts: 5
Joined: Tue Dec 07, 2021 3:01 am

Re: Crazyflie Not Landing on Specified Coordinates

Post by sbradley »

Hi kristoffer,

Thanks for your reply. It helped a lot and we have now loaded the same configuration for all three drones.

We are still having an issue of the drones being out of sync with eachother which is still leading to the drones not landing correctly on the towers. Additionally, running the same code with the same coordinates specified will result in the drones landing around 50% of the time correctly (other times they miss the landing pad by a few cm and fall off), however since we need all three drones to land every time on three towers each, resulting in 9 separate landings, we have not had a successful run through. We are not sure what is causing the imprecision or what we can do to fix it. Upon testing all the drones, we identified that 2 of the drones estimate cooardinates identical to one another, but the third drone is off by 2-16cm in all 3 axes. At the moment our only option is to manually adjust the coordinates for every landing, however that wouldn't explain the drones landing sometimes and other times not with the same coordinates in the code. I have included a video which may help.

https://photos.app.goo.gl/SrqjtJMk317miKVq6

In the video the drones appear to initially hover over their intended landing position, but then start to move away instead of remaining in place. Any suggestions would be greatly appreciated. Thank you!!
Moj_Dev
Beginner
Posts: 10
Joined: Wed Jan 19, 2022 7:43 pm

Re: Crazyflie Not Landing on Specified Coordinates

Post by Moj_Dev »

Hi sbradley,
I saw the video you shared. It is interesting to me how Lighthouse works in the environment with lots of towers that block the beams ray. How many base stations you sued and also which method (Beam Crossing or EKF) was utilized in your project? Did you try the landing without tall towers to compare the performance with towers?
kristoffer
Bitcraze
Posts: 625
Joined: Tue Jun 30, 2015 7:47 am

Re: Crazyflie Not Landing on Specified Coordinates

Post by kristoffer »

I can think of 3 possible reasons they do not behave the same way:
1. They do not have the same base station geometry. I assume you already double checked that :-)
2. The lighthouse decks perform differently for some reason (I don't know why though)
3. The Crzyflies perform differently, perhaps the propellers or motors are worn down a bit, or slightly unbalanced.

It could be interesting to swap light house decks on the Crazyflies to see if you can connect the problem to either the Crazyflie or the deck
Post Reply