What's the light range of Limelight?

What’s the light range of Limelight?


As the image shows, this black cuboid is Limelight and the red line are the rays of light coming from limelight. And does anyone knows the angle between the top ray of light and the bottom ray of light. We want to use this to calculate the most suitable angle of out Limelight, which can detect the target from the edge of the field to the distance which is close enough to the target. And how does your team decide your Limelight’s angle, just by trial and error?

The specification you are looking for is the “field of view” of the LImelight camera. From the Limelight documentation:

The limelight camera has a horizontal field of view of 54 degrees and a vertical field of view of 41 degrees. It captures images at 320x240 resolution.

That page also has some good information about converting pixels to real-world coordinates that you may find helpful.

7 Likes

You beat me by seconds. I went to find that page and came back and you had just posted.

2 Likes

and the FOV for Surface Mount LEDs individually generally seems to be ~120 degrees. Though the Shell of the Limelight is probably narrowing this to something closer to ~90 degrees. Still far more than the FOV of the actual camera, especially with LEDs on both sides and both higher and lower than the Camera Lens itself.

2 Likes

Sort of trial and error. But you can do it on paper with models as well.
The LL should be as close as you can get it to the thing launching game pieces at the target. But tilting it up or down will effect how close you can be and have the LL still see the target. So, yeah, once the robot is built, and you’ve tested its max and min distance to target it can launch from, fiddle with the LL angle so it can see from both locations.

1 Like

Start by doing the basic trigonometry:

Solve for any a_1 which keeps a_2 within the field of vision for both the min and max value of d that vision processing should work in.

Then try it out experimentally to validate the results.

14 Likes

And is a2 range between -20.5 deg to 20.5 deg?

I actually modified a desmos trajectory calculator to include the limelight

2 Likes

Great work, thanks! Are these two parameters’ unit in meters?

2 Likes

It should be in feet

Thanks! Can l change the limelight’s angle besides changing it height?

Per What is field of view (FOV)? - the spec for the camera’s horizontal field of view usually refers to the whole angular range (extreme to extreme), while the diagram defines a_2 as being only half that (centerline to one extreme).

Based on that convention, I agree with your assessment - solve for a_1 such that a_2 numerically falls in the range (-20.5, 20.5) for the range of d that you want vision processing to work in.

2 Likes

Yeah, it’s the \theta_b slider

1 Like

l guess the unit of Xd and Yd is meter. Is that the case?

Edit: I guess the post is ignored😂. Can you help me confirm the unit? @RisenFalcon It seems that the unit here is not feet?

There is nothing that says you can’t change the angle of the limelight. As long as you know the angle, you can adjust your code to interpret the visual information with that new angle.

On our robot this year, we mounted our limelight to our shooter hood. Our hood had a row of top rollers that we would tilt out of the way (such that they would not engage the ball) when we were shooting close shots and then we would tilt it back in place (such that they would engage the ball) when we were shooting from further away. The extra row of top rollers would change the exit angle of the ball to provide good sets of trajectories for different shooter wheel speeds for a range of distances. By mounting the limelight to this hood, the limelight camera would be pointed more upward for close in shots and would be pointed at a lower angle for longer distance shots.

We had two sets of shooting parameters (basically shooter speed) in our code, one for each setting of the hood/camera angle. The code would know whether the hood was in or out and select between these two sets of shooting parameters. This system worked great for us.

You can see our adjustable hood and attached limelight camera in action at around the 10 minute mark in the recent Behind the Bumpers interview that Tyler Olds did with our team at IRI. Between 10:00 and 10:10 in the video, you can see the last row of rollers flipping into position as the students move the target in closer and then out further away (there was some retroreflective tape on that grey cube that you can see them holding in some of the shots). The code also automatically switched the hood between the two settings as the target got close to the upper or lower edges of the field of view.

2 Likes

Thanks, l guess your hood is controlled by a solenoid and it only has two angles? However, as most teams which have used the hood this year, our hood can change its angle between a range. It seems that in this way, it is not wise to mount the Limelight on the hood since the Limelight’s vertical angle is always changing and l also need to plus the extra angle because of the thickness of the Limelight.

l am curious about what your shooting parameters are? Are they interpolation table? And you only have the shoot’s speed in this interpolation table?

That’s pretty good. So, does you hood only have two angle? @wgorgen

1 Like

Yes, our hood has only 2 positions. This was done intentionally to simplify the design and make it as quick as possible to adjust the shooter. The hood is adjusted by two pneumatic cylinders (one on either side of the hood). Rather than a direct acting cylinder, we use a linkage between the main part of the shooter and the structure for that extra roller so that we could overcenter the linkage to “lock” the hood in place to avoid it deflecting due to recoil and compression of the ball. This is explained earlier in the video.

Once the hood position is set, the only parameter that is adjusted is the shooter speed. We had two interpolation tables (one for each setting of the hood).

The short range shot position was viable out to a little past the outer tape of the tarmac zones. The long range shot position was viable from the farthest points on the field in to a bit inside the outer tape of the tarmac zone such that there was some overlap between the two shooting ranges.

The point is that the limelight angle was also adjusted with the hood to help create a wider range of positions on the field where the limelight could see the goal and make targeting adjustments. This same concept could be used by either a) adjusting the angle of the limelight independently of the hood or b) mounting the limelight to a variable hood and then feeding the hood position into the code. By only having 2 positions of the limelight, it made the tuning of the shooter speed relatively easy, but again, if you wanted to mount it to a continuously variable hood and you know the angle of the hood (which you would need to know anyway if you had an adjustable hood) then you can feed that hood position and the associated viewing angle into the code to calculate your shooting parameters.

Looking back at the diagram that @gerthworm posted, a1 becomes a variable that is known because you know the hood position (or whatever other mechanism that the limelight is attached to that can adjust the viewing angle).

If your limelight can see the goal over the full range of shooting distances that your shooter is viable for, then you can obviously use a fixed limelight position. Many teams did that very successfully this year. As with most things FRC, there are many solutions to the problem.

1 Like

That appears to be the older LL. Current home with LL2+ has different FOV

Sorry - link is right but didn’t land in the right place from here in CD
image

4 Likes

We just also wanted to use pneumatics to control the hood in the past. However, l just think an adjustable hood can make the shot more smooth so that the balls won’t bump out (l don’t know why l have this thought😂)

Yes, you are right. But l just want to minimize the possibility that if the hood’s encoder is broken on the field and that Limelight won’t work so we can’t shoot.

1 Like

It seem like the consensus is that that reducing the backspin of the ball is the best way to reduce the tendency for bounce out. This is why we added the top rollers to our shooter. Many teams were able to be successful without top rollers. Again - many different possible solutions to the same problem.

I understand your concern with the encoder being broken. However, in this case, you probably cannot reliably use the adjustable hood, so you would probably manually over-ride the hood and drive it to one of the two end points so that you had a known shooting angle. If you did this, you could also use a fixed interpolation table for this hood position and associated limelight viewing angle. Since the code knows that the drivers manually over-rode the hood position, it would also know to use the associated lookup table for this endstop hood position. You could easily make 2 manual over-ride positions (one at each endstop of the hood and have two lookup tables for these manual modes.

1 Like