Limelights work great, but are a little bright

With the network settings tweaks we worked out in our CD thread from two weeks ago, our 2 limelight vision system worked wonderfully at our event this weekend. We went from just average cycling to being the bot with the top OPR at our event.

We had one issue come up though. The head ref had the lead robot inspector pass us the message that we were playing matches with both camera lights turned on all the time. We needed to either turn them off when not using them, or turn down the brightness. At this point, it was too late to turn down the brightness and recalibrate to the field lighting, so we did a software fix to turn them off automatically. This uncovered an interesting issue.

I’m relaying second hand info here, so I might get some terminology wrong. We use Java, and when restarting, the first thing the code did was turn off the lights. During initial pit testing, this seemed to fix the problem, but after a battery swap, the lights were still turning on. We think the roboRIO boots more quickly than the limelights do, so the limelights were missing the initial command to turn them off. The programmers moved the command to run at the beginning of the autonomous code. Now, when the bot powers on, the lights come on. But, at the beginning of the match they turn off and stay off, unless we are using them for vision targeting.

Is this the right way to approach the problem, or is there a better way which will turn the lights off after powering up the bot?

2 Likes

Turn the lights off in either autonomous/teleop init.

HQ - [Creates games using retroflective tape to encourage the use of vision processing]
Also HQ - “Stop using bright lights!”

55 Likes

Currently I have it setup such that the limelight is told to turn off it’s LEDs whenever the robot is disabled, seeems to work relatively well.

2 Likes

We noticed this issue at competition too. When the Limelight boots up, it automatically starts running a pipeline (pretty sure pipeline 0) so we made this pipeline shut off the LEDs and made it not be able to track targets (made the filtering so it wouldn’t detect anything) on the web config board. When we are vision tracking then, we use a different pipeline. This so called “boot up” pipeline we also ended up using for a driver camera mode due to the suggestion found in the docs here.

3 Likes

@ToddF Can you give a synopsis of how you are using it, and why it made such a big difference in your game play?

We do the same as dooodsdare - use a default pipeline 0 with the LEDs turned off (they still blink on startup I think), and switch pipelines when we want to do some targeting.

1 Like

We only have the lights on when targeting, but we 3D printed some sunglasses we attach with small magnets to the mounting screws while the robot is in the pit.

I’ll see if I can get some pictures / the stl if anyone else is interested.

5 Likes

This sounds so funny, I wanna see it😂

If you aren’t using the LEDs during the match for tracking, couldn’t you just put tape over them?

I moved my reply to our release video thread to avoid derailing this one.

At Central New York this weekend, 125 was told that their Limelights were “too bright”.

125 also won an award for their bright light vision system that quickly acquired the vision tape.

16 Likes

5 Likes

We turn them off in disabled periodic. With some checks to see if a dashboard button is pressed so we can manually turn them on for testing, alignment, etc.

1 Like

Limelights are definitely bright but it doesnt cause you to have to strain your eyes to see (at least for me). When i was opposing 195 and their limelight turned on, my first reaction was “woah, what was that!” Later times, never had any problems.

Yes.

At our week zero event we had our limelight on our 4 bar linkage at the top of its motion and the light was blinking quickly for hours before the programmers fixed it. Everyone hated us.

1 Like

CD - Limelight too bright. Too many reflections on field.
Limelight - Release new version to allow turning off half the lights

3 Likes

Can’t you send the command to turn off the lights in disabledPeriodic? I’m not familiar with the limelight API, but I would guess that would make them turn off before the match as well as during it.

http://docs.limelightvision.io/en/latest/networktables_api.html

ledMode is the value you need to change in network tables using the API.