UIUC Ri3D 2020

Hey everyone! A little late with the notification, but the Illini Robotics Alumni Association (IRAA) of the University of Illinois will be participating in the Ri3D build for the first time this year. If you want to stay in touch with us, discuss any ideas, or get notified when new content comes out, join our Discord server. We will be live streaming on Twitch, and posting update videos to our YouTube channel. Thanks, and happy kickoff!


Strategy Update
After going over rules and field quirks, we established some goals for the robot, with the aim of being an easy-to-replicate bot that is still an efficient scorer.

We quickly agreed to prioritize low goal, minimizing complexity and maximizing cycle time, additionally, we want to keep our entire robot under 30”, so that we can slip under the control panel when we cross the field through protected trenches.

In addition, we agreed to develop a climber, as an effective climb is crucial to the endgame, and presents an interesting mechanical challenge.

We are currently working out our specific mechanisms, stay tuned for more updates!


We’re going live on Twitch! Tune in for some really riveting content of assembling the kitbot drive base.

Hello everyone! We wanted to give you all a quick update on what we did on Saturday, prototype and build wise.

Here is our first vlog of Ri3D summarizing the entire day: http://youtu.be/Ut_yS0F_9-8

Our goal is to make an MCC (minimum competitive concept) robot, meaning we will be keeping it as simple as possible to allow new and lower income teams to utilize parts of the design. Because of this, we decided to stick with scoring power cells in the the low port and climbing on the generator switch for endgame.

We assembled the kit bot drivetrain base in the long configuration, following the instructions and only leaving out the short structural support churros next to the wheels, since we decided the frame was sturdy without them.

After more deliberation we decided that our climber should be able to reach the initial (~5 ft 3 in) and the top height (~6 ft 7 in) of the generator switch. Regardless, our goal is to climb first which means we just need to focus on the initial height of the bar.

Our climber will be a spring-loaded folded arm that, upon release, will unfold to attach to the bar. A simple ratchet will bring the robot up. This contraption can either attach to the bar using a hook, or, with a more complicated set-up, using wheels. We are hoping that by hooking onto the bar using driven wheels, we will be able to ride up and down the bar, and thus be able to level the bar.

One of our design goals for the intake is to be able to pick up the power cells from the ground, so our intake will extend over the bumper.

We will have an initial roller pick up the ball and bring it into the robot where we will have an inclined slope created by polybelts. This incline of polybelts will also be on a hinge on the bottom of the slope which will allow us to change the angle of the incline. We want to be able to control the angle of the incline so that we do not immediately outtake the balls when we intake them. The balls will accumulate towards the middle of the polybelt and not go further because they will lose contact with the belt and not be able to travel further upwards.

Other Prototyping:
We are currently prototyping two designs that would best prevent us from outputting a ball when we don’t want to.

  1. The entire set of rollers and belts will be on a hinge. When we are traversing the field and intaking power cells, the belts will be in the up position, slightly angled up. This would prevent the balls from making contact with the belts towards the top of it, therefore preventing them from exiting the top of the robot. We have brainstormed two simple ways to do this…

    • Pistons to raise and lower the entire set of rollers and belts
    • A mechanical linkage to raise and lower the entire set of rollers and belts
  2. Our other idea is to use a combination of ultrasonic sensors and/or limit switches and two sets of rollers, instead of just one. The ultrasonic sensors would be placed on the top of the ramp and at the beginning of the second set of rollers between. The first set of rollers, which would be connected to the intake would run constantly while trying to intake. The second set of rollers would run when there is a ball at the beginning of the set, as detected by the ultrasonic sensor or limit switch. It would not run if there is a ball at the output end, as detected by the second ultrasonic sensor or limit switch.

Hold five balls at a time and output these balls into the lower port only.

Our output mechanism is a continuation of our intake. Since we decided this robot will just be scoring on the low goal, the output is position so that it is at exactly 1.5 feet above the ground, the exact height of the bottom of the lower port. The entire mechanism will be a ramp, with a series of belts to carry the balls to the top. We are scoring directly into the lower goal from the top of our ramp.

Electrical / Pneumatics
After building the Andymark kitbot last night, we cut out our electrical belly pan out of perforated polycarbonate stock. It was made to fit in the long configuration of the kitbot, mounting on the bottom flanges of the end rail and inside rail, with slots cut for it to fit around the gearboxes on either side. Afterwords, we wired up the entire electrical system and pneumatic system of our robot, using a combination of zip ties and bolts to mount the components to the perforated polycarbonate belly pan and the holes on the rails of the frame.

On the programming side, we decided to program this robot in Java using Timed Robot as our base. On Saturday, the code for the drivetrain was completed which can be seen in our Robot.java class in our GitHub repository! https://github.com/wdoherty/IllinoisRi3D_2020 This morning, we successfully deployed our code on our newly flashed RoboRIO. After some quick calibration on our Victor SP motor controllers, we confirmed that our drivetrain is working as desired.

We will update again later today with our progress on prototyping, designs, and our entire robot. As always, follow our livestream to see what we are up to! https://www.twitch.tv/uiuc_ri3d?sr=a

Here is the geometry for our over the bumper intake design.

Some visuals to go along with the above writing:

Outtake and ball management rough sketches:
First idea:

Second idea:

Ball intake rough sketch:

Climber rough sketch:

Whole robot rough sketch:

Hello again, we wanted to give you all an update about what we did on Sunday, Day 2 of our Ri3D build. Today has been mostly spent designing and assembling our mechanisms, with a strong focus on our ball mechanism.

We completed geometry and design for our over the bumper intake mechanism. It is two rollers mounted on lexan piece that are free to rotate about the bottom end of the ramp, with hard stops to limit it’s motion on either direction. This mechanism would be it an up position at the beginning of matches, as to keep it in the frame perimeter, and then fall down as we start driving to be at the correct height to intake the balls. Today, we mounted it to our robot, attaching it to the rest of our ball mechanism. The rollers are connected via polycord to the main set of rollers.

We finished the design and then manufactured and assembled our belts and ramp that are our ball mechanism. Three 2” wide belts are evenly spread out our 18” ramp to bring the ball from the intake height to the height of the lower port. There is a plywood base for the balls to roll on along the entire ramp, providing sufficient friction with the balls. We are using urethane flat belting from Vex, which can be found here: https://www.vexrobotics.com/urethane-belting.html. In the next few days, we will be making a quick tutorial video with our advice and tips on how to best use these, so check back on this thread for the tutorial!

Stay tuned for more pictures and videos of our ball mechanism testing later tonight and a day 2 recap vlog!

New video: what we did on Sunday!


Hello again, we wanted to give you all an update about what we did on Monday, Day 3 of our Ri3D build. Today, we got our ball system completely functional.

For our over-the-bumper intake, we added polycord, hard stops, and 3D printed mecanum wheels (shoutout to FRC Team 125 for their design!). We also added velcro to hold up the intake in our pre match orientation, inside our frame perimeter.

For our ramp system, we added two pneumatic pistons to move the entire roller set up and down. We also added 3D printed collars to prevent the belts from moving back and forth.

As we only have access to one power cell at the moment, we have not tested our mechanism with multiple balls. We will need to do further tests to confirm that multiple balls in our ramp mechanism will not cause any issues.

Today, we determined geometry, manufactured, and assembled the arm sections of our climber. We also added actuators, the racheter, and nylon rope to hold the two sections together. We are using two pistons to actuate the climber. Our gearbox for our climber is a repurposed gearbox from FRC Team 4096, Ctrl-Z’s 2018 climber.

Traversing Mechanism
We built a prototype for a mechanism that moves along the generator switch. The assembly is powered by a single bag motor directly connected to a set of collinear, in-line wheels which would rest upon the bar. A metal U-shape is put around the wheels to align with the bar and ensure that the mechanism doesn’t slip off. This should enable the robot to adjust its position in order to balance successfully. We will hopefully mount this later today and test its ability.

We are currently debugging our damn pneumatic system!

Added code for our climber, which we will be testing soon!

Stay tuned for more pictures and videos of our climber and entire robot later and a day 3 recap vlog!

1 Like

Unedited footage of a CLIMB!!


We will post an official robot reveal and a more in-depth technical review soon, but here is our Monday build vlog!


Robot reveal!

A more in-depth technical reveal:


A bit late, but here is the github link to our code base: https://github.com/wdoherty/IllinoisRi3D_2020

Feel free to ask us any questions!


Will you be sharing a robot CAD?

Yep! We did everything off of a crude 2D sketch, so we need to convert that to a 3D model. I plan on getting it done tomorrow, had to catch up on some sleep and real life stuff today.


How well does the robot handle moving two balls at once, when they’re rubbing against each other? We haven’t been able to test it because we haven’t gotten more game pieces yet. From what I’ve heard from other Ri3D teams though, one-sided conveyors that rely on the balls rolling don’t work well when the balls contact each other.

Well done team UIUC! Ri3D is not an easy thing to do.


We heard about that issue the beginning of day 2, and didn’t have time to modify our design. We also only had one game piece, but when we get more we will update everyone here on how this particular mechanism behaves.


Sorry for the delay, I’ve finished the rough CAD of our Ri3D robot, which can be accessed at our GrabCAD. I forwent any rivet holes because I only had about 4 hours to work on this.

Let me know if you have any specific technical questions, I’ll try my best to answer them. Also, we should be able to update everyone on the fidelity of the ramp mechanism with more balls this weekend or on Monday. Thanks!


How much spacing did you do between the belts and plywood base? Have you been able to test with multiple balls? If so, any issues?