These were made on Tuesday, sorry for the late post.
Other controls items we are working on
Improved pose/vision aiming
Faster amp scoring
Improved feeding/passing auto-aiming
Faster climb/trap sequence
These were made on Tuesday, sorry for the late post.
Other controls items we are working on
Improved pose/vision aiming
Faster amp scoring
Improved feeding/passing auto-aiming
Faster climb/trap sequence
Results:
District Event Finalist
Industrial Design Award
Last weekend, Spectrum competed at the Houston District Event. We went 10-7-0 overall, and finished ranked 4th. We won every playoff match in the upper bracket and lost both finals. Thank you to our alliance captain 9478 Robo-Colts and our alliance partner 8144 Red Chair Robotics!
We were honored to be awarded the Industrial Design Award.
Ultraviolet held up very well at this event. We only had two small mechanical failures.
Failure: One side of our launcher’s sector gear popped out of its gear for a moment on a heavy impact. It did not affect our ability to launch.
Fix: Added a steel plate to the inside of sector gear on that side to prevent this from happening again.
Failure: We bent our frame on our intake side on a heavy impact. It did not affect our ability to intake.
Fix: Replaced it to practice, and time the fix. We discovered that replacing the intake-side rails took around 45 minutes to replace, which was longer than we would like. To address this, we considered several options, one of which was having a complete intake spare ready to be swapped in. However, we decided against relying on having time to replace the intake and instead be able to run multiple matches with bent rails. We are changing some mounting locations for a camera, and some intake geometry to make this work.
Autonomous
We ran our center sub 6 note most matches. We tuned it during the event until it consistently scored 5-6 notes throughout playoffs. We ran our less tuned source side 4 a couple times in qualifications as well.
Vision
Found that right limelight was for some reason noticeably worse than the others so we disabled pose from that camera for the event
Found that integrating pose from different cameras at once will make pose less stable (each camera is reading a slightly different pose at the same time) --> planned change: use one at a time based on which one is closer/seeing more tags
Code changes
Altered amp timing- Sometimes our amp button would feed the note too far, spitting the note all the way out or just too far to score. We decreased the amount of time it should feed, and that improved the issue.
Increased climb speed to maximum (when we realized it wasn’t already at maximum for some reason)
Our feeding shot worked despite vision issues; we could feed to the area near the amp from anywhere near the midline. Here’s an example; in this match the notes landed too far from the driver station wall and one hit the stage, so we increased launch velocity after this match.
More
Elastic worked much better than shuffleboard and was a good switch
Again no really big control failures so changes were gradual and minor to avoid regressions
Other notes
Shoutout to our media team, they absolutely killed it this event. Check out our Smugmug to see their work.
Our trap never failed at this event. Here’s a 10 second climb+trap.
Improve auto aim until it is nearly 100% accurate. The plan so far is to retune pivot (much faster now), launcher (much more consistent now), rotation controller (faster and less overshooting); remake our data points much more accurately and with many more points. At events, feed good shots back into the data map (we did a little bit of this towards playoffs at Houston but should do more of it); refine pose strategy to be able to better know where we are (overall at Houston pose was much more jumpy than the silent stuff we saw at Belton); maybe move away from using pose for aiming (instead using vertical and horizontal offsets from the speaker tags). Since speaker launching was not 100% accurate at Houston, our drivers were turned off of using it often.
Add second sensor to prevent amp overfeeding issue
Fully automate climb sequence (including alignment)
Change intake slightly to ensure intaking with bent rail always works
One of our goals coming out of Belton was to swap any major control system component with as little downtime as possible. To achieve this, we have created our Warm Spares Bin. This bin allows us to have pre-configured control system devices, where we can upload the latest code to MicroSD cards, and set CAN IDs of replacement devices while the original is being removed.
This bin is a collection of every configurable control system component on our robots and several spare microSD cards, already imaged, set team number, and code deployed as the latest pre-event build. We power the box using one of our normal robot batteries, with a light switch to switch it on and a 30A ATM fuse.
Additionally, we made an active CAN bus, with firmware updated for each of our CAN device types and licenses assigned to both 3847 and 8515. This includes a Falcon, Kraken, CANivore, CANcoder, Pidgeon 2.0, and LaserCAN. We have additional unregulated, 5V, and 12V power available for any additional devices needing configuration or offboard testing.
Here is a list of things that are different from Belton to Houston:
New LEDS on old Climber Bar
Total of 4 Limelights for better pose estimation
Fully Metal Gearbox instead of 3D-Printed on Intake
New Intake rollers
Sector on Launcher Gear is steel instead of aluminum
Launching using vision, no longer using setpoints
Completly redigned climber to get trap mechanism higher above the lower lip
More refined amp trap
Using Elastic dashboard instead of Shuffleboard.
We compete in at the Houston district this weekend with both 3847 and 8515. Both robots have seen some upgrades to improve their performance. We worked to make our intake more inconsistent and remove the few jams and failure modes we saw at our first events. Software has been improved on both machines as well.
Feeding - When our robot is near the center line or beyond, it auto aims to a feed location and launches over the stage.
Vision Aim - We are using pose to aim to the speaker
Amp Launching - As a backup amp mechanism if our amptrap isn’t working.
Trap Climb at 118’s Field
Trap Climb on our Stage
District Event Winner
Autonomous Award
Last weekend, Spectrum competed at the Belton District Event. We went 16-1-0 overall, and finished ranked 1st. We won every playoff match in the upper bracket and both finals matches. Thank you so much to our alliance partners 5414 Pearadox and 9054 Johnson City Joules!
We were honored to be awarded the first Autonomous Award in Spectrum history.
Failure: Qual 44 and playoff match 10. Cause unknown at the moment. Suspected RoboRio USB failure.
Qual 44:
Our robot stopped suddenly 7 seconds into autonomous. Driver station read “Autonomous Stopped”
We couldn’t move in teleop, although the RSL was blinking. We restarted roborio, during which we disconnected from the field, and we could finally move after roborio came back.
After the match: Question box. Official logs couldn’t find a cause of the failure, resulting in no replay. (This was the one match we lost by the way.)
Playoff 10:
Auton ended abruptly in a similar fashion to Qual 44, but driver station read “Autonomous Enabled.” Couldn’t move in teleop until after restarting RoboRio.
Fix: Unknown. It doesn’t add up to be a CAN issue. Unofficial AdvantageScope logs abruptly ended when the robot stopped moving. It’s possible the JVM is crashing but we didn’t lose robot code light on the DS. The USB bus fully failing would explain why the CANivore disconnects and the logs stop writing to the USB drive. We’re going to keep working on it. Please let us know if you’ve experienced something similar.
Failure: Roborio SD corrupted itself. This has happened several times this year to other teams
Fix: We had a prepared SD card, so we just had to change team number and upload code. Was relatively fast before Finals 2.
Failure: CAN disconnecting and reconnecting briefly, causing the robot to stop for a few seconds in teleop in a few matches.
Fix: Not sure, maybe it’s caused by the same USB roborio issue that was causing other failures, but it’s something to track back at the lab. (We’ve seen momentary CAN disconnects during driving on Alpha, PM, and Ultraviolet but diagnosing it has been hard without being able to replicate it).
Failure: Intake top roller seemed to bend weirdly, getting the note stuck between top roller and polycarb front rail blocker.
Fix: We replaced the top roller and that fixed the issue. We probably need to make that blocker slightly taller so the note can’t get stuck there.
Failure: Launcher standoff broke
Fix: Moved it to another spot
Failure: Battery polycarb cover broke
Fix: Switched which bolt holes we use and added washers to the mounts
Failure: Bent lower intake rail. Didn’t affect performance as far as we could tell.
Fix: Replace it
Failure: Amp trap gearbox got angled and eventually stuck.
Fix: Adding a 10-32 in the bearing hole stopped the cantilever and fixed the issue. (Originally tried with 8-32, but it fell out)
Failure: Intake kept misfeeding, flipping notes vertical.
Fix: Eject and re-intake fixed it in match. Will add a polycarb flap or something to force notes to stay horizontal after being intake.
Autonomous
We ran our center 5 note auton every match. It went very well.
Vision
We did not use vision at Belton, but we were logging lots of information about tag distance, and estimated pose from the cameras as well as trying out 3 strategies for integrating camera data into odometry pose. In order to align to field objects using pose we have to be able to keep pose as accurate as possible throughout the match, and the data will be useful in determining patterns to see when vision is most helpful.
Code changes
As for code changes during the event they were mostly minor in order to avoid regressions:
changed pilot turbo mode to slow mode
adjusted launch angle for podium shot
LED changes
Changed operator climb sequence to automate feeding the note up to amptrap
Build the redesigned climber. More about it can be seen in this post. https://www.chiefdelphi.com/t/spectrum-3847-build-blog-2024/447471/413
Get pose working, auto aim working
Change sector gear reinforcements from aluminum to steel (we broke a few teeth on the polycarbonate plates.)
Pit Banner