Skip to main content

Pipeline Setup

LimelightOS stores up to 10 unique vision pipelines. You can change the active pipeline in real-time with LimelightLib.

info

To edit multiple pipelines, you must first check the “Ignore NetworkTables Index” checkbox in the web interface. This will force the robot to temporarily allow you to change the pipline index through the webinterface rather than through NetworkTables.

To download your pipelines for backups and sharing, simply click the “download” button next to your pipeline’s name. To upload a pipeline, click the “upload” button.

Here’s an example of a robot that utilizes two pipelines:

https://thumbs.gfycat.com/UnfitLankyHadrosaurus-size_restricted.gif The first pipeline is tuned to target single vertical stripes. The second pipeline is tuned to find a combo of two horizontal stripes. The code for this robot is available in the “Aim and Range” case study.

Notice that when the robot switches pipelines, the web interface auto-loads the new pipeline.

Input Tab


The Input Tab hosts controls to change the raw camera image before it is passed through the processing pipeline.

Pipeline Type

Controls the desired pipeline type (AprilTags, Neural Networks, Python, etc.)

Source Image

Controls the source of the image that is passed through the pipeline. Switch to “Snapshot” to test your vision pipelines on stored Snapshots.

This control auto-resets to “Camera” when the GUI is closed.

Resolution + Zoom

Controls the resolution of the camera and vision pipeline. We recommend using the 320x240 pipeline unless you are utilizing 3D functionality.

320x240 pipelines execute at 90fps, while 960x720 pipelines execute at 22 fps. In 2020, 2x and 3x Hardware Zoom options were added to this field. The zoom options are not digital and use 100% real sensor pixels.

LEDs

Controls the default LED mode for this pipeline. This may be overridden during a match with the “LED” network table option.

Limelight 2+ users have access to an “LED Brightness” Slider which allows for LED dimming.

Orientation

Controls the orientation of incoming frames. Set it to “inverted” if your camera is mounted upside-down.

Exposure

Controls the camera’s exposure setting in .01 millisecond intervals. Think of a camera as a grid of light-collecting buckets - exposure time controls how long your camera’s “buckets” are open per frame. Lowering the exposure time will effectively darken your image. Low and fixed exposure times are crucial in FRC, as they black-out the bulk of incoming image data. Well-lit retroreflective tape will stand out in a mostly black image, turning vision processing into a straightforward process.

Black Level Offset

Increasing the black level offset can significantly darken your camera stream. This should be increased to further remove arena lights and bright spots from your image. This is a sensor-level setting, and not a fake digital brightness setting.

Sensor Gain

Increasing sensor gain will effectively increase the brightness of the image, but it will usually add noise to the image as well. You can use Sensor Gain and Black level offset to brighten the image without increasing exposure time. This will minimize motion blur for high-speed tracking applications.

Red Balance, Blue Balance

Controls the intensity of Red and Blue color components in your image. These collectively control your Limelight’s white balance. We recommend leaving these untouched