Typical reason the crazyflie loses balance using lighthouse v2.

Topics related to the Lighthouse positioning system, configuration and use
Post Reply
shuheitagawa
Beginner
Posts: 9
Joined: Mon Mar 16, 2020 7:16 am

Typical reason the crazyflie loses balance using lighthouse v2.

Post by shuheitagawa »

Hi,

I read Release 2021.03: Lighthouse is stable! blog!
We set it up and created simple script using scf.cf.high_level_commander.go_to () based on synchronizedSequence.py in order to do swarming.

The result of that looks stable but one of the crazyflie suddenly loses balance and flipped as I attached gif.
Could you tell me the typical reason of this?
I'm debugging it now but not clear so far.
Attachments
lighthousev2_flip (3).gif
kristoffer
Bitcraze
Posts: 479
Joined: Tue Jun 30, 2015 7:47 am

Re: Typical reason the crazyflie loses balance using lighthouse v2.

Post by kristoffer »

Hi!

It is very hard to say what happened in this case but this type of failure is often caused by outliers. If you also use the mellinger controller it is also very sensitive to errors in the estimated position.

Is the problem repeatable or was it a one off?
shuheitagawa
Beginner
Posts: 9
Joined: Mon Mar 16, 2020 7:16 am

Re: Typical reason the crazyflie loses balance using lighthouse v2.

Post by shuheitagawa »

Hi!

I see.
I'm learning about Types of levels and control now so I'll catch up!
https://www.bitcraze.io/documentation/r ... ntrollers/

It's repeatable when we use synchronizedSequence.py.
but when I tried autonomous_sequence_high_level.py, there is no error so far.
kristoffer
Bitcraze
Posts: 479
Joined: Tue Jun 30, 2015 7:47 am

Re: Typical reason the crazyflie loses balance using lighthouse v2.

Post by kristoffer »

My guess is that it is that particular area that is problematic. It could be that the coverage from the base stations is poor (I can not see where they are located) or that there is a reflection in some object.

You could try to write a script that flies through that area to see what happens?
You could for instance modify autonomous_sequence_high_level.py and replace

Code: Select all

commander.start_trajectory(trajectory_id, 1.0, relative)
with a series of gotos, something like this

Code: Select all

    
    commander.go_to(0.1, 0.5, 1.0, 0, 1)
    time.sleep(4)
    # And so on
Post Reply