Page 1 of 1

Disable the flow deck to use an external positioning system

Posted: Thu Jan 31, 2019 10:02 pm
by RafaelGB
Hello all,

I'm part of a research group and we are trying to use the Crazyflies for collision avoidance and formation flight. We have several Crazyflies in our lab and we are using tracker balls and an Optitrack system to collect their position data. We are using the Crazyradio and the python lib to connect to them and send commands.

Currently we are able to send them the position data using cf.extpos.send_extpos() and send waypoints using cf.commander.send_position_setpoint().

The problem is that although they receive all the information they need to localize themselves from the Optitrack, they are still using the data from the flow deck. So, when we fly one quadrotor below another, the one that is above loses stability. I tried physically removing the flow deck and tried to fly using different flight modes but without the deck they don't takeoff.

Is it possible to disable the flow deck in a way that they only use the information from the Optitrack?

Thank you very much.

Re: Disable the flow deck to use an external positioning system

Posted: Fri Feb 01, 2019 10:22 am
by tobias
I think the issue why it is not working when the flow deck is removed is because it the uses a different estimator which is better for manual control. You will have to switch to the kalman estimator which you can do using parameters. The kalman estimator is nr 2 and it would look something like this

Code: Select all

cf.param.set_value('stabilizer.estimator', '2')
self.reset_estimator(self._cf)
resetting and checking for good position could be a good idea but not necessary. See autonomousSequence.py example of how it can be done.