Hello again! I just got back from a month-long trip in Europe, and I decided to actually start blogging again. I have quite a few projects that I’ve neglected to write about, so I’m going to hop right in!
Sheila was our 2013-2014 FIRST Tech Challenge robot, and she was a pretty great robot (despite her loss at states). Let’s jump into the main features! If you’re not familiar with the 2013 – 2014 FIRST Tech Challenge game, go here.
Mecanum Wheel Drive
Mecanum wheels, in my opinion, are the downright most awesome wheels in the FTC business. We use four modified VEX mecanum wheels driven by tetrix DC motors (as shown above) to drive our robot. The big perk that you get when you use these is the ability to strafe (move sideways). It’s hard to explain, but moving the two wheels on one side in opposite directions moves the robot to the side. This happens because the free-spinning wheels on each mecanum wheel allow the robot to move in an arc of directions when it turns. Therefore, when you constrain the direction of the movement, the mecanum wheels will move in a single direction. In our robot, we constrain the direction of the movement by moving the other mecanum wheels.
There are two drawbacks. The first is the robot is easier to push around. We still think that it is worth it to use the wheels because the increased mobility is so helpful, but it’s pretty annoying when we are being pushed into the corner 😦 The second drawback is the number of motors the drive uses. Using four motors is quite a lot, especially when each has to be individually driven and teams have a limit of eight DC motors.
In our more recent chassis, we still use VEX mecanum wheels, but we designed and 3D printed custom conversion hubs. If you want some, you can buy them here.
code for the mecanum wheels:
task drive(){ while(true){ //Get controller values float x1 = joystick.joy1_x1; float y1 = joystick.joy1_y1; float x2 = joystick.joy1_x2; float y2 = joystick.joy1_y2; //If the controller is less than 12 let's count it as zero. if(abs(x1)<12)x1=0; if(abs(y1)<12)y1=0; if(abs(x2)<12)x2=0; if(abs(y2)<12)y2=0; //Scale down the controller to keep controllers in drivers hands x1*=.787; x2*=.787; y1*=.787; y2*=.787; int LF = 0; //Left-front int RF = 0; //Right-front int LR = 0; //Left-rear int RR = 0; //Right-rear // Handle StrafiRightFrontng Movement LF += x1; RF -= x1; LR += x1; RR -= x1; //Handle Regular Movement LF += y1; RF += y1; LR += y1; RR += y1; //Handle Turning Movement LF += x2; RF -= x2; LR -= x2; RR += x2; // Apply Finished values to motors. motor[driveL] = LR; motor[driveFL] = LF; motor[driveR] = RR; motor[driveFR] = RF; wait1Msec(05); } }
Scoop
Our scoop was one of the best out there (if not the best in Maryland). It could gather four blocks in less than a second, and it was so good at this because we shaped it almost perfectly for the size of the block, and because we span the sweep so quickly. This, however, did have some problems, one of which was that the blocks would occasionally pop out of the robot. We fixed this problem after our last competition, when we slowed the speed of the sweep when the scoop was lifted.
One of the key dimensions for our robot was the way that the sweep jutted out in front of the scoop. It was around two inches in front of the scoop, so when the blocks were hitting the lip of the scoop, the sweep was pushing at them while the fingers were at a 90 degree angle. Additionally, the initial hit from the fingers rolled the blocks into the scoop, and when the blocks were rolling, they would hit the lip while they weren’t standing on a face. This made the lip a non-issue, and it was very easy to collect blocks. The only dimensional problem of the scoop was the width. Originally, the width of the scoop was supposed to be 5.75 inches, but the person who made it just rounded up and make it six. Every once in a while, three blocks would get into the scoop horizontally, and then the robot could scoop five blocks, which constituted a penalty in FTC.
Here’s a video of the scoop mid-way through the year. Take note that the dispensing was made better when we tilted the scoop forward. In the video, we hadn’t changed it in any way, and you can see that we weren’t dispensing blocks as quickly as we were later in the season.
2014-01-27 17.42.28 from Noah Todd on Vimeo.
4 Bar Lift
We think that our four bar lift was a nice, simple solution for lifting our scoop so that we could deposit blocks into bins. It used two 300 oz-in DC motors with a 3:1 reduction, which were more than enough to lift the scoop. The parallel bars kept the scoop at the same angle, with the exception of when it went from the ground to a little above the ground. We added a small piece that acted like a cam and pushed the scoop so that it was parallel with the ground when it was near the ground and tilted down when it was far above the ground.
We also used an encoder to determine the height of the lift, and Michael incorporated a failsafe that gave more power to the motor if it was lifting properly.
The last cool feature was that this lift flipped the scoop out to the front when the lift went up. You can see this in the autonomous videos. This was pretty sweet because we didn’t need an additional motor to do this for us.
Robot Lift
Our robot lift was pretty sweet. We had two hooks on top of the scoop that hooked onto the bar and then detached. Then we had a pulley system, which is shown above, that pulled the robot upward into the air! The cords passed through the robot’s 4 bar lift, and the hooks could swing out so that we could double hang.
The lift was powered by a 300 oz-in DC motor with a 1:6 gear reduction. The winch was a little over an two inches, giving us a little more than 900 ounces of downward force (please correct me if I’m wrong). The robot was around 20 pounds. We had such a high power because we occasionally had to lift with other robots rubbing against us.
We also had an aluminum plate on the back so that we could slide up other robots without anything catching and stopping us from going up.
Autonomous
We just used timings and a gyro in our autonomous. Nothing special here… But we do have some videos. Keep in mind that we did actually go up the ramp. We just took these while we were refining the IR phase of the autonomous.
2014-02-04 18.33.01 from Noah Todd on Vimeo.
2014-02-04 18.31.57 from Noah Todd on Vimeo.