Sheila, 3886 Quake’s 2013-2014 Robot

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

2014-02-17 20.51.41

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

2014-02-17 20.55.29

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

2014-02-17 20.59.47

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

2014-02-17 20.56.37

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.

2014-02-17 20.50.56

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.

Our Engineers’ Notebook

Each year, teams are required to make engineers’ notebooks that document their journey through the season. As our season comes to a close, so does our notebook. Below is the final version, it’s fairly long (122 pages, 19,000 words), and I would be extremely impressed if you read the entire thing. Anyways, it’s made to skim through and see the pictures. Enjoy!

Notebook:

Dropbox: https://www.dropbox.com/s/dam5fffenpsqper/Engineers%27%20Notebook.pdf

Drive: https://drive.google.com/file/d/0B6eDV5zWPq6IcmNRSTkyVlRiT00/edit?usp=sharing

There’s also the business plan:

Dropbox: https://www.dropbox.com/s/hna3me1recry11f/Business%20Plan.pdf

Drive: https://drive.google.com/file/d/0B6eDV5zWPq6INjJDM1ROYzJjdmM/edit?usp=sharing

3886 Quake takes home a few awards!

2014-02-08 19.05.39
My FTC team, 3886 Quake, had a very successful weekend! We competed in two competitions on Saturday and Sunday, and we had a great time doing it! On Saturday, we competed and got to the semifinal round of the competition. (If you’re not familiar with FTC, each competition is like a football season, there are round-robin matches that serve to rank teams. Teams (with their individual robots) ally with two other teams to make alliances of three. These alliances participate in a tournament, and the winner of the tournament wins.) We lost the semifinal on Saturday due to a failure in our teammate’s robot. However, we won the Inspire award, the most prestigious award, and we were advanced to states. (The FIRST Tech Challenge has a judging process that evaluates each team’s engineering notebook, techniques, presentations, and robot.) We were also nominated for five other awards (out of seven), but each team is only given one award, so we were only given the inspire award.

More info about the FTC game: http://www.usfirst.org/roboticsprograms/ftc/game

The robot below is Sheila, our competition robot.

Sheila

FTC team with trophies

Sunday was equally as exciting. Since we qualified on Saturday, we operated our robot with a skeleton crew of just Michael (lead programmer), Augie (lead builder), and me (lead designer). We arrived casually, and we prepared for a day of exciting, stress-free competition. We played our matches and were ranked fourth out of 28. (We lost a match because our NXT brick froze) During the tournament, we won semifinals handily. Then, we beat the other alliance in the final match, winning two games and losing one (we play best of three).

However, my favorite part of the day was after we won the final match. We were the crowd favorite throughout the day, and there was an autistic student who wanted to drive a robot. We were chosen to give him that experience, and he got to drive the robot around the field for a while. It was easily my favorite part of the day.

After we won the competition, we were awarded the innovation award, which is given to the team with the most innovative design. (Teams cannot win the inspire award twice.)

I will be posting more about my robotics team over the following days. We will be competing in the Maryland State competition, which will be on February 22 at the Johns Hopkins Applied physics lab.
2014-02-09 16.51.24