Page 1 of 1

Optitrack and recreating the ICRA 2019 Control Tower demo

Posted: Wed Feb 12, 2020 4:02 pm
by AIAA_UCF
Hello all, I am trying to use an OptiTrack system to recreate the ICRA 2019 Control Tower demo, has anyone implemented this for OptiTrack already? Or is there a decent place to start to convert the code used for the Lighthouse system that bitcraze used at ICRA from github?

I have already gotten 10 Crazyflie's flying autonomously with OptiTrack, so this is the next step!

Any help would be appreciated.

Re: Optitrack and recreating the ICRA 2019 Control Tower demo

Posted: Thu Feb 13, 2020 9:47 am
by tobias
These are a bunch of guesses from my side but at least some pointers. Since you already have 10 flying I guess you divided the Crazyflies into groups of 3-4 to have enough bandwidth to send position information, or maybe you are using Crazyswarm? If not you will have to do this and put the groups on different channels to increase bandwidth.

As a start I would try to get one Crazyflie flying by adding a position message (cf.extpos.send_extpose(...)) to the control tower. This assumes you can get the position from Optitrack to python. You can check the qualisys example to get an idea of how to do it.

Re: Optitrack and recreating the ICRA 2019 Control Tower demo

Posted: Thu Feb 13, 2020 10:01 am
by AIAA_UCF
Hello Tobias!
Yes, I am using crazyswarm, I apologize for not specifying. I just wanted to find a way to convert the code from lighthouse to Optitrack.

Re: Optitrack and recreating the ICRA 2019 Control Tower demo

Posted: Thu Feb 13, 2020 2:50 pm
by kimberly
I don't think that anything needs to be changed on the firmware side if you are already using crazyswarm and the trajectory is all onboard. But you would need to find a way for the right commands to be send from the control tower to the crazyflie (to start flying, to get ready etc etc). But that might be a problem since Crazyswarm mostly uses broadcast messages (so the pc side does not know the status of the individual crazyflie).

So probably better if you send the position message to the Crazyflies first as Tobias suggested and use the code as is with the control tower.

btw: this is the latest code of the demo: https://github.com/bitcraze/crazyflie-f ... s-2019/src