BRB Robotics
FTC Team #26502: Designing, Building, and Programming Competitive Robots
Meet Our Current Robot
Our latest creation for the FTC CENTERSTAGE challenge!
Our robot features a precision intake system, articulated arm, and autonomous navigation with computer vision.
View Robot GalleryRobot Evolution
BRB Robotics - Version 1 Photo
Our initial robot build focused on a sturdy and reliable drivebase with a basic linear slide mechanism. This version demonstrated at our first qualifying event featured:
- Simple 4-wheel mecanum drive
- Single-stage linear slide with servo gripper
- Basic autonomous navigation capabilities
- Minimal computer vision implementation
While Version 1 had limited capabilities, it established our foundation for more advanced iterations and proved reliable in competition with minimal failures.
BRB Robotics - Version 2 Photo
V2 Robot Design Specifications
Structural Design
Chassis: Our robot features a compact 13.5" by 15" chassis to maximize maneuverability around the submersible.
Tradeoff Analysis: A bigger chassis would allow us to add a second Viper slide to attempt level 2 or 3 ascent, but a smaller chassis would have better maneuverability. We decided to sacrifice the 30 points from a third-level ascent, but we believe we can score four high-chamber specimens and a first-level ascent, which equals 43, with a smaller robot.
Drive Train
We implemented gearboxes with miter gears, allowing us to position one drive motor horizontally within a U-channel while mounting the other three vertically. This configuration provides robust structural support for our side panels.
Tradeoff Analysis: One front motor and the back motors placed vertically help us with a better weight distribution. This configuration limits the space available for the intake arm.
Intake
The intake uses a 3D-printed claw with a wrist on a rotating arm, connected to a viper slide moved by a 3D-printed scissor lift powered by a 188:1 motor.
Tradeoff Analysis: Because our small driving base limits space, we used the highest torque available from goBILDA instead of gearboxes to decrease speed. The high-torque motor makes it easier to control the extension of the horizontal slide.
We built a goBILDA 4-stage viper slide with a 3D-printed claw and wrist mounted on a rotating arm to score samples in the high basket.
Lessons learned: the steel goBILDA viper slides add significant weight; therefore, we can not achieve a level 2 ascent or higher. Instead, we focused on designing a small and agile driving base, as well as quick specimen and sample cycles. We plan to fundraise and buy MISUMI slides made of aluminum and thus much lighter next year.
Hardware Failures and Weight Distribution
We have made many changes to accommodate different problems encountered during our robot design version 2.
- We addressed frequent top arm servo failures by adding software limits to prevent backward movement during the "Ready to Hang Specimen" stage and restricting the viper motor's downward range.
- We transitioned from swingarm odometry pods to our robot's more compact 4-bar pods. The swingarm pods, while functional, were bulky and posed challenges--particularly ensuring they were properly tucked in after the robot came off the ground. Additionally, any damage to the swingarm pods significantly impacted their performance.
- The switch to 4-bar pods offered several advantages. These new pods are more compact and retract vertically inside the U-channel, making them less prone to damage and easier to manage. However, they are not without drawbacks. One issue is that the wires tend to rub against the mounting U-channel, which could lead to wear over time. The most significant drawback, however, was the need to retune the PID controllers. This process proved time-consuming and required considerable effort to ensure the robot performed optimally with the new odometry system.
- We replaced one of our drive train's motors due to it breaking.
We have had some issues with the weight distribution throughout the robot. Over time, the weight of the horizontal viper slide combined with crashing into the field walls and the submersible, and the front wheels started to lose contact with the ground.
- We mounted one of the front motors vertically to concentrate its weight above the wheel.
- We moved the battery to the front.
- We added an Omni wheel to the back of the robot to support some of the weight of the vertical slide.
Odometry and Path Planning
We evolved our autonomous navigation through three major stages:
- Initial Approach: Motor encoders were used for fixed distances, which proved inadequate as they couldn't account for momentum and weight shifts.
- Upgrade to Odometry: Used three goBILDA swing arm, and the 4-bar odometry pods for precise position and heading tracking:
- Two vertical pods on robot edges, leaving the middle clear for claw transfers
- One horizontal pod at the front, positioned to avoid interference with the claw
- Road Runner Integration: Adopted the Road Runner library based on mentor advice. The tuning process involved multiple opmodes and parameter adjustments, guided by official documentation and Team 21225 Shear Force's videos.
To best complement the capabilities of our alliance partners, we created two main autonomous programs. The first program collects the alliance-neutral blocks and scores them into the high basket. The second program moves three samples into the observation zone and hangs five specimens in the high chamber.
First Program Pseudocode
- Start: robot on the center-left with preloaded alliance neutral sample.
- Robot drives to net zone
- Deposits sample in the high basket.
- Repeat three times
- The robot turns to a sample
- Collects the sample in the intake
- Transfers the sample to the vertical claw
- Deposits sample
- Drive to the submersible for first-level ascent.
Second Program Pseudocode
- Start: robot on the center-right with the preloaded specimen in alliance color.
- The robot scores the specimen on the high chamber.
- The robot drives to the first specimen
- Repeat three times
- Extend horizontal slide
- Push sample in observation zone
- Repeat four times
- Grab one specimen off the field wall
- Rotate 180 degrees
- Score specimen on the high chamber
- Rotate 180 degrees
- Drive to the observation zone.
Color Sensors and Indicator Lights
We added a color sensor to our claw to prevent grabbing the wrong color. We coded the color sensor to read the sample color (red, blue, and yellow) and close if the sample's color matched the target color.
We are ready to collaborate with our alliance partners to score either samples in the high basket or specimens in the high chambers. If our role is to score specimens, the claw will only close on blocks matching the alliance color. Conversely, if our role is to score samples, the claw will close on blocks of either alliance or neutral colors.
When the color sensor detects a block of alliance or neutral color, the indicator lights will illuminate to display the detected color.
Webcam and AI
Initially, we mounted the Logitech C270 Webcam to the intake claw. However, the images captured were unfocused and did not provide sufficient visibility of the block for training the machine-learning model. Next, we mounted the camera to the end of the horizontal viper slide to address the camera's fixed focus and limited field of view. After collecting several pictures, we realized that even though the images were less blurry and captured more of the field, we could not capture angles that would clearly show the claw position relative to the block. We decided to invest in a better camera that we believed would make it more likely to capture images to train our AI successfully.
After careful consideration, we decided to buy a wide-angle ELP High-Speed Wide Angle Global Shutter USB Camera Module. The images we captured with this camera were well-suited for training a machine language model.
Initial Plan: Our initial approach was to train a machine learning model that would take an image as input and output the target positions for the three servos controlling the intake claw. However, after visiting the Collaborative Robotics Lab at UVa and receiving feedback on our idea, we decided to switch to a pose detection approach. This new method involved detecting the orientation of a sample and calculating the servo commands based on those detections. Unfortunately, we could not implement and code this approach due to the significant amount of time spent repairing the robot.
Driver Controlled Enhancements
To minimize the effort made by our drivers, we implemented the following:
- Limits for the extension of vertical and horizontal slides
- Automatic transfer between claws
- Automatic positioning of the vertical claw after grabbing the specimen from the wall
- The robot is blocked from moving backward when it attempts to hang a specimen.
- The vertical slide stops at the optimal position to protect the servo of the vertical arm.
BRB Robotics - Version 3 Photo (Current)
Our final competition version represents our most advanced design with championship-level capabilities:
- Lightweight aluminum and carbon fiber construction
- Triple-stage cascading slides with 36-inch extension
- Dual intake systems for rapid collection
- Advanced articulated wrist with 270° rotation
- Custom-developed vision system with machine learning
- Sophisticated autonomous routines with adaptive behavior
Version 3 incorporates everything we learned throughout the season and represents thousands of engineering hours. This robot has successfully competed at the state championship and is headed to the World Championship event!
Custom CAD Drivebase
This is our custom-designed drivebase for next season created using CAD software. Key features include:
- Optimized weight distribution for improved balance
- Integrated wire management
- Modular mounting system for quick subsystem swapping
- Built-in odometry pod mounts
- 20% lighter than our previous design
BRB Robotics #26502 is dedicated to engineering excellence and competing at the highest levels in FTC!