Inspired by @jonahb55’s post about 6238’s 16 different LED modes: did your team use LEDs this season and what did you use the LEDs to communicate?
1672’s LED system implements just three modes:
- Disabled Idle: red or blue pulsing, matching alliance color.
- Enabled Idle: rainbow pulsing.
- HP Cube/Cone Signal: static purple or yellow, controlled by the operator on their keypad.
For 3729, from least priority to highest priority given to it in code:
- Idle disabled pattern with our team colors (Red and White)
- Light blue slide animations for when the arm is moving up and down
- Blink pink if our pneumatics are not pressurized
- Slow blink red when we have a fault (this is when photon is not connected, or a motor failed to configure for example)
- Cube and Cone HP signals (Purple and gold blink)
- And most importantly, party mode when we have detected we tipped
5727 Omegabytes has a few modes
- Yellow Cone
- Purple Cube
- Rainbow Mode When The Arm Motors are Coasting
- 20% 40% 60% of the LEDs lit when going to diff positions (low, mid, high)
- white when going to position
- turns blue when hit the position and set
- Larson animation mode (with game piece color) when intaking
- LEDs light up in auto to our gyro pitch when balancing
- Startup before enabled Omegabytes Green
- Disabled: RED
3512 used LEDs this season with only two modes
- Cube Signal: Static Green
- Cone Signal: Off
We used a PCM to control them when we found out our Blinkin was busted. Not very fancy at all, but it helped got the job done at AVR.
3620 Average Joes has a few modes:
- Lights turn red when we start up to indicate something missing on the CAN bus
- Default color is white on startup (also helps to indicate when robot code is ready because lights turn on)
- Operator can turn lights yellow or purple as indicator to human player
- Lights turn green when piece intakes
- Lights change color in different states of AutoBalance (for debugging)
- Lights blink in last 30 seconds
We have our alliance color and auto selector color move up and down the strip in sinusoids of different frequencies while the robot is disabled. If the driver presses a button when both colors are aligned, it starts up a game of “Bop it”, where it periodically displays a color and the driver has to press that color within some amount of time. The score is tracked and displayed on the dashboard. Oh and there’s classic teleop stuff like flashing the gamepiece color. The LEDs also tell us if certain sensors fail
We had 2 different sets of LEDs for different purposes. The set on our elbow are the alliance color when disabled and then are purple or yellow depending on what we want the human player to prepare for and flashing while the intake is running.
The lights on our elbow are alliance color while disabled. Purple while in manual mode and green when we have something detected in the gripper.
Fairly straight forward and simple for us
Solid yellow - “hey human player slide us a cone” or to show the rest of us that our driver is going to pick a cone off the floor or feed station
Blinking yellow - cone has been picked up, now go place it driver
Solid and blinking purple - same as above, replace cone with cube.
Green at start up - arm absolute encoders reporting a position we expect
RED - oh crap, something went off with our pickup arm state machine - co-driver please take action to use your magic adjustment controls
The driver could cycle through patterns. The operator could flash yellow/purple for HP. We implemented the Trobots 5013 led patterns.
We also set the alliance color, but put that code too early in code in the constructor so it didn’t have time to get the correct one.
We’ve got a big ‘ol LED light from Banner - one of our sponsors - and it does a few things:
Human player things:
- Solid Yellow: Cone mode (uses pneumatics)
- Solid Purple: Cube mode (no pneumatics)
Other game stuff
- 50/50 red and green: auto-balancing
At our first regional in La Crosse, we had a slight issue where our robot drove itself into the grid and the swerve modules burned holes in the carpet because our vision system couldn’t see the AprilTag at the start of the match.
We implemented a light signal so me (the Technician) can see if the robot is aligned perfectly at the start:
- 50/50 Green and Purple: Vision is working & Cube mode
- 50/50 Green and Yellow: Vision is working & Cone mode
- Red: Vision is not working, do not enable so we don’t get carded
We use a few patterns, from lowest to highest priority.
- Disabled: Solid, slightly pulsing green. This is commanded in the code but actually shown as the Blinkin’s default pattern. The rest are shown in enabled only.
- Selected piece: solid purple/yellow.
- Intake success/auto-stow: three yellow flashes.
- Auto-align/score and auto-balance (which is an alignment routine): rainbow “party mode”.
7028
Red & White Alternating (Candy Cane) - No Connection (to Driverstation)
Blue & Yellow Alternating - Disabled
Solid Yellow - Holding Cone
Solid Purple - Holding Cube
Yellow Waterfall/Marquee - Selected Target Column is a Cone Column (we want a cone)
Purple Waterfall/Marquee - Selected Target Column is a Cube Column (we want a cube)
Blank/Off - Not Holding Game Piece, No New Target Selected
Solid Red - Trying to Shoot, No Target in View of Limelight
– All Below This Line Take Priority Over Those Above, Resets to Blank After Use –
Blue Grid (Divided into portions for each tolerance) - Odometry X, Y, and Rotation in Tolerance for Target Grid Pose
Yellow Grid (Divided into portions for each tolerance) - Elevator, Wrist, Aim (Left/Right), and Aim (Distance) are in tolerance
[Removed] White Grid (Divided into portions for each tolerance) - Odometry X, Y, and Rotation in Tolerance for Single Player Station Pickup
(For The 3 Above, Colored = in Tolerance, Blank = Not in Tolerance)
Presenting “The Jumbotron”
Yellow Triangle = “HP, please put out a cone”
Purple Square = “HP, please put out a cube”
Blinky Green = “Drivers, I have acquired a gampiece, please stop trying to pick one up”
Blinky White = “HP, you appear distracted. Please pay more attention”
Red team number scrolling with hat logo = “I am disabled”
We used:
Breathing Blue or Red: To signify robot connected to FMS and current alliance color
Flashing Blue Backside: Auto drive and intake from double substation
Flashing Blue Everywhere: Auto align and place on grid
Flashing Yellow: Cone Obtained
Flashing Purple: Cube Obtained
Solid Yellow: Request Cone from HP
Solid Purple: Request Cube from HP
Flashing Red (usually never seen): Superstructure state machine broke
Orange: Cone mode. Wall, slide and score positions changed based on this.
Purple: Cube mode.
Top LEDs red: indicates when the operator snaps the chassis to one direction.
Top LEDs green: indicates that we’re climbing. Slows down the drivetrain and enables kickstand control.
Current mode fading in/out: Score mode. Enables auto alignment and slows down the drivetrain. Also changes the driver’s infeed button to outfeed.
White blink: indicates we’ve gotten a piece
Fast blink, current color: indicates we’re aligning to a game piece with LL
Current color, streaming down: indicates to the human player to get a piece ready on the single station
Rainbow — Disabled
Blinking Green — Auto attempting to balance
Pulsing Purple — cube mode and associated setpoints
Pulsing Orange — cone mode and associated setpoints
Red — “Rock mode” hold position to negate defense or lock in place on charging station
Green and Gold — manual control on arm enabled
I think we have a few more for various reasons
What’s the part number and information for that big guy!?
We’ve got the Banner K90 series. We used a tiny circuit board to be able to plug our pins into the RIO so we can control the colors that we preset in the control software on a normal laptop. I’ll get more specs when I’m in the shop later this week, or maybe @Kadd can chime in as well
Thanks, looks like it’s too expensive to bring the idea to the team.