Optitrack and recreating the ICRA 2019 Control Tower demo

Discussions related to positioning systems where the position is calculated outside the Crazyflie and sent to the device using radio, including MoCap systems
Post Reply
AIAA_UCF
Beginner
Posts: 2
Joined: Wed Feb 12, 2020 3:27 pm

Optitrack and recreating the ICRA 2019 Control Tower demo

Post 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.
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: Optitrack and recreating the ICRA 2019 Control Tower demo

Post 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.
AIAA_UCF
Beginner
Posts: 2
Joined: Wed Feb 12, 2020 3:27 pm

Re: Optitrack and recreating the ICRA 2019 Control Tower demo

Post 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.
kimberly
Bitcraze
Posts: 1050
Joined: Fri Jul 06, 2018 11:13 am

Re: Optitrack and recreating the ICRA 2019 Control Tower demo

Post 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
Post Reply