You are on page 1of 6

Salt and Pepper Sorter

`Design Challenge`
A surgical supplier needs a robotic arm to move equipment within a sterile
environment. Your team must design a remotely operated arm with 3
degrees of freedom: Base that pivots, arm that raises and lowers, and pinch
mechanism.

`Modifications`
A restaurant wants a robot that can sort their salt shakers from pepper
shakers at the end of the day. The robot should be able to pick up a salt
shaker, sense its color, and put it in the appropriate box.

`Wow Factor`
follower to sense the value of objects. In addition to three degrees of
freedom, it also is smart enough to sort objects automatically.

`Design Journey`
1) Brain Storming
2) Choosing Design
3) Prototype Building/Testing
4)Problem Solving
5) Final Solution
Material List
1 Test Bed
1 Cortex
3 Servo Motors
2 Metal U-bends
1 Tiny Gear (12T)
2 Medium Gears (60T)
1 Large Gear (84T)
1 Line Follower
2 Claw Pieces
2 Metal Claw Holders
Spacers
Screws
Nuts
Shafts
Shaft Collars
Standoffs ( .75 and 2)
Reflection
This project was very fun and challenging. Our group felt like we gained a
better understanding of not only coding but also structure building. Our robot
could have had more features, but we got stuck trying to use VEX net. We
also were trying to use a line follower on fabric, which we found does not
work. Over all our group enjoyed this project.

//*
Project Name: Vex Robotic Claw
Group Members: Dallin Clarke, Alex Delarosa, Daniel Savory

Pseudocode:

If the button on the controller is pressed, the robot arm


lowers, picks up the object, and then raises.

If the object has a light color, the claw rotates CW and drops
the object in a box.
The base, arm, and claw return to starting position.

If the object has a dark color, the claw rotates CCW and drops
the objects in a box.
The base, arm, and claw return to starting position.

*//

task main()
{
while(1==1)
{
if (vexRT[Btn6U]==1)
{
setServo (servoBase, 0); //set base
wait(0.5);
setServo(servoClaw, 127); //open claw
wait(0.5);
setServo(servoRight, 50); //move the arm down
wait(2);
setServo(servoClaw,110); //close claw
wait(2);
setServo(servoRight, -20); //move the arm up
wait(2.5);
if (SensorValue(lineFollower)<350) //if light
{
wait(1.5);
setServo(servoBase,-127); //rotate CW
wait(2);
setServo(servoClaw,127); //drop object
wait(2);
setServo(servoClaw,0); //normal claw
wait(2);
setServo(servoBase,0); //normal base
wait(2);
setServo(servoRight, 0); //normal arm
wait(0.5);
}
else //if dark
{
wait(1.5);
setServo(servoBase,127); //rotate CCW
wait(2);
setServo(servoClaw,127); //drop object
wait(2);
setServo(servoClaw,0); //normal claw
wait(2);
setServo(servoBase,0); //normal base
wait(2);
setServo(servoRight, 0); //normal arm
wait(0.5);
}
}
}
}

You might also like