pic: FRC Team 2607 - 2015 Robot

FRC Team 2607, The Fighting Robovikings, presents their robot for the 2015 Game RECYCLE RUSH: “The Papal Bull: MK II”


Designed for fast Human Player loading
6 Stack with Recycling Can and Litter in 65 seconds
Ability to top existing stacks up to level 5 with Recycling Can and Litter
8 (and still growing) autonomous modes for almost all situations, including a 3 tote autonomous

Outboard stacking allows for easy alignment with Totes and Recycling Cans from multiple angles
Outboard stacking also allows for quick co-opertition without regard for orientation of opponent’s tote
Shifting, encoder controlled mecanum drive system
Low gear provides high fidelity control for alignment
High gear allows quick field travel in a pinch
Compensation code gives the mecanum drive the ability to strafe correctly even under shifting loads
3-stage linear elevator helps keep CoG low while still reaching the maximum allowed height
CoG designed such that the robot doesn’t become unstable even under maximum outboard loads from lifted totes.
Expanding gripper arms allow for wide margin of error when aligning with game pieces

[Color=“Green”]FRC TOP 25 Week 1: #23[/Color]
[COLOR=“Orange”]2015 MAR Hatboro-Horsham District Event #2 Alliance Captain and Winners[/COLOR]

Great looking robot and picture.
Congrats on the District Win !

Can you provide a few more details on your mecanum compensation for CoG ?

Sure. We realized that the center of gravity was going to be shifting a good amount while lifting different amounts of totes, so initially we looked into doing the complete reverse kinematics with varying traction on each wheel due to the load placed on it. However, since we were looking at this all during build season, we didn’t have enough time to figure out the not-so-simple physics for load adjusted mecanum kinematics.

We were able to get something that worked quite well, however, by making the situation a lot simpler and just doing some trial and error. The robot is designed to be balanced pretty well left to right, so any wheel speed compensations can be done for the front pair and back pair together. What we did was just put the robot under the different loads it can experience in the competition (e.g. one tote, two totes, can, ect.) and came up with a table of ratios to decrease the speed of either the front pair of wheels by or the back pair of wheels by. This compensates for the lower force that wheels under lower downward loads are able to apply.

So, for example, while the robot isn’t lifting any totes, its CoG is biased aft in order to provide more room to be pushed forward as more totes are lifted. In this scenario, the back wheels, under higher loads than the front, are commanded to run a certain percentage (I think around 10%) slower than the front. As the tote load increases and the CoG moves forward relative to the geometric center of the mecanum drive, this percentage goes to zero and then negative, commanding the front pair to run slower than the back.

We had planned to put a force sensor in line with our elevator in order to actively sense the weight being held by the elevator and dynamically adjust the compensation accordingly, but it just wasn’t high enough on our priority list and time and lack of human resources meant it didn’t get implemented.

This correction can be used in teleop or autonomous, but since we also drag the totes along the ground sometimes, our driver has simply gotten used to compensating on his own. It does get used as intended in autonomous though, where the robot needs to strafe correctly while holding different amounts of totes, and we can simply hard-code in the amount of correction to add.

This is the first two stage lift I’ve seen besides ours.

Add us to that list as well

How did you rig up yours? Cascading or Continuous?