Ways to increase power to the active marker deck IR LEDs?

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
zp-yang
Beginner
Posts: 4
Joined: Wed Mar 03, 2021 9:30 pm

Ways to increase power to the active marker deck IR LEDs?

Post by zp-yang »

I am trying to use the active marker deck with a large capture volume and wondering if there's is a way to increase the IR LEDs' power to getter better visibility on Qualisys Oqus 700 cameras. Thanks!
kristoffer
Bitcraze
Posts: 463
Joined: Tue Jun 30, 2015 7:47 am

Re: Ways to increase power to the active marker deck IR LEDs?

Post by kristoffer »

There is unfortunately no way to do this in software but there are resistors that limit the current to the LEDs (schematics here https://www.bitcraze.io/documentation/h ... k_revd.pdf)
R1, R9, R12, R17. The LEDs can stand a higher current for short periods of time so you could replace the resistors with something smaller (voiding the warranty though). If you are using the ID mode with the Qualisys system the LEDs are turned on and off as part of the normal functionality and should never be on continuously so that should be fine. Check the specs for the LEDs to figure out how much current they can take and find a suitable resistor.
zp-yang
Beginner
Posts: 4
Joined: Wed Mar 03, 2021 9:30 pm

Re: Ways to increase power to the active marker deck IR LEDs?

Post by zp-yang »

kristoffer wrote: Mon Mar 08, 2021 1:36 pm There is unfortunately no way to do this in software but there are resistors that limit the current to the LEDs (schematics here https://www.bitcraze.io/documentation/h ... k_revd.pdf)
R1, R9, R12, R17. The LEDs can stand a higher current for short periods of time so you could replace the resistors with something smaller (voiding the warranty though). If you are using the ID mode with the Qualisys system the LEDs are turned on and off as part of the normal functionality and should never be on continuously so that should be fine. Check the specs for the LEDs to figure out how much current they can take and find a suitable resistor.
Thank you for this information and I am sure it will come handy in the future. I have done some further testing and it turns out my problem was not related to power. I have two active marker decks, on one deck the ID's are {1,3,4,2}, and the other deck was updated to {5,6,7,8}. However when I reboot the vehicle the updated deck had all it's IDs returned to default {1,3,4,2}, and caused trouble in QTM to differentiate those two decks.

My new question is that how I can stored the IR LED's IDs permanently onboard? I modified the python script for updating the LED ring deck and tried to update the IR LEDs via radio. I can see that the IDs are successfully updated in the Qualisys Track Manager, but once I power off the crazyflie, all their IDs returns to the default values {1,3,4,2}.

https://github.com/bitcraze/crazyflie-f ... rkerDeck.c
After reading this script, my understanding is that the driver for active deck has {1,3,4,2} set to default and is updated every time the deck is powered on. Is there a way to get around this problem? Thanks!

I am also trying to use crazyflie with PX4 and looking for ways to implement this ID update function with PX4 firmware. I would really appreciate if you can give me some suggestions on how to approach this. Thanks again!
Last edited by zp-yang on Sun Mar 14, 2021 10:08 pm, edited 1 time in total.
kristoffer
Bitcraze
Posts: 463
Joined: Tue Jun 30, 2015 7:47 am

Re: Ways to increase power to the active marker deck IR LEDs?

Post by kristoffer »

Yes, 1,2,3,4 are used by default.

Unfortunately there is currently no support to store the ids in the Crayzflie permanently. The options I see at the moment is to do set then from a python script or write an app in the Crazyflie.

I don't know anything about PX4 but you can check out the driver in the Crazyflie for the active marker deck to see how we set the IDs.

As a side note, it has turned out that it is actually better to use ids 11, 21, 31 and 41 as these codes are less likely to be mixed up with each other.
zp-yang
Beginner
Posts: 4
Joined: Wed Mar 03, 2021 9:30 pm

Re: Ways to increase power to the active marker deck IR LEDs?

Post by zp-yang »

Ah thank you so much for these suggestions!
kristoffer
Bitcraze
Posts: 463
Joined: Tue Jun 30, 2015 7:47 am

Re: Ways to increase power to the active marker deck IR LEDs?

Post by kristoffer »

If you decide to write code to store the IDs in the Crazyflie memory, please consider contributing the code :-)
If you need any assistance, we're happy to help you out
zp-yang
Beginner
Posts: 4
Joined: Wed Mar 03, 2021 9:30 pm

Re: Ways to increase power to the active marker deck IR LEDs?

Post by zp-yang »

I am definitely interested in storing IDs like how crazyflies store radio URIs. Right now I am trying to fly 9 drones with the active deck. Though I could flash their IDs every time after booting up, but it would make life much easier to store IDs in case we want to scale up the swarm. What would you recommend I look into? I am currently trying to understand how the write_EEPROM.py example works. Am I heading in to the right direction? Thanks!
kristoffer
Bitcraze
Posts: 463
Joined: Tue Jun 30, 2015 7:47 am

Re: Ways to increase power to the active marker deck IR LEDs?

Post by kristoffer »

Hi!

The best way to store this information is probably in the persistent storage of the CF, there is some documentation here https://www.bitcraze.io/documentation/r ... t_storage/
This way the ids will be connected to the drone.

The functionality is pretty new but we use it for the lighthouse and you can find an example in https://github.com/bitcraze/crazyflie-f ... _storage.c

I think a good point to read data from the storage is around https://github.com/bitcraze/crazyflie-f ... eck.c#L175. The storage should have been initialized when we get there.

You could write when the ids are updated, probably around here https://github.com/bitcraze/crazyflie-f ... eck.c#L149. Maybe you have to do something to handle the start up to not overwrite the data in the storage?
Post Reply