Robotc Vex Arm - Maxim Shershnev

advertisement
Robotc Vex Arm
(Surgical robotic 3-axis arm)
By: Maxim, Andrew,
Paul
Purpose
This challenge asks for our team members to design, build and test a 3-axis
robotic arm and program it to perform all functions from the Vex controller. The
purpose is to teach us to create individualized code and perform functions with
multiple sources of inputs. The system must have the following:
-Base that pivots
-arm that raises and lowers
-pinch mechanism
Overall this helps us learn to problem solve and work together as a team to find
a solution to a problem.
Ideas
Solutions
The solution on the right has the
proper arrangement for the robotic
arm yet it does not have a movable
base. The image on the right is a
better solution to the problem
because it fits the criteria and is
simple. The final solution will stand
on a large base and will have the
robotic arm located on top of a large
gear that will be able to turn relative
to the bottom base plate. The top of
the robotic arm will have a motor
that controls the up and down
movement of the claw and with that
we have 3-axis of freedom.
Sketches/ potential solutions
Maxim
Shershnev
The image on
the first is
dated from
3/10/14 and on
the right
3/13/14. Both
sketches
incorporate all
the constraints
and
requirements
of the
assignment.
Potential program solutions
Our potential solutions:
1-one of our solutions to the program is to
program the joystick to control the arm.
2-another solution was to program a series of
buttons to power and control the arm.
Final solution
We chose this to be our final
solution because it was more
simple and seemed to work
the best to solve our problem.
The image was dated on
3/10/14.
Final solution
Video of robot
Code
#pragma config(Motor, port2,
#pragma config(Motor, port3,
#pragma config(Motor, port4,
claw,
tmotorVex269, openLoop)
vertical,
tmotorServoStandard, openLoop)
horizontal, tmotorVex269, openLoop)
task main()
{
while(true)
//Program begins, code runs until ended
{
//float i=0;
//was going to be a stop mechanism
if(vexRT[Btn5D] == 1) // if button 5D is pressed,
{ //
startMotor(claw); //open claw
}
if(vexRT[Btn6D] == 1) // if button 5D is pressed,
{ //
Code continued
startMotor(claw,-127);
//close claw
}
if(vexRT[Btn6D] == 0) //if button 6D is released,
{ //
stopMotor(claw); //stop closing claw
}
if(vexRT[Btn5D] == 0)
//if button 5D is released,
{ //
stopMotor(claw); //stop opening claw
}
if(vexRT[Btn7U] == 1) //if button 7U is pressed,
{ //
startMotor(vertical,100+); //raise arm
}
if(vexRT[Btn7D] == 1)
//if button 7D is pressed,
{ //
startMotor(vertical,-100); //lower arm
}
if(vexRT[Btn7U] == 0)
//if button 7U is released,
{ //
stopMotor(vertical); //stop raising arm
More code
startMotor(vertical,-20); //start raising arm (keep arm up against the force of gravirty)
}
if(vexRT[Btn7D] == 0)
//if button 7D is pressed,
{ //
stopMotor(vertical); //stop lowering arm
startMotor(vertical,-20); //start raising arm (keep arm up against the force of gravirty)
}
if(vexRT[Btn8L] == 1) // if button L8 is pressed,
{ //
startMotor(horizontal,127); //rotate arm to the right
}
if(vexRT[Btn8R] == 1)
// if button R8 is pressed,
{ //
startMotor(horizontal,-127); //rotate arm to the left
}
if(vexRT[Btn8L] == 0)
//if button L8 is released,
{ //
stopMotor(horizontal);
//stop rotating arm
}
if(vexRT[Btn8R] == 0)
//if button R8 is released,
{ //
stopMotor(horizontal);
//stop rotating arm
}
}
}
What we modified and improved
We had an issue with the stability of the robot
and in order to prevent this we added several
colors and washers also we had an issue with
the axle of the rotatable base plate because it
was in the way of the base laying flat so we
added stands in order to fix this problem.
Conclusion
1.
What was the most difficult part of the problem?
The most difficult part of our problem was learning how to program the controller. We had to research online to find a
solution. Eventually we figured it out and it was actually pretty simple. Another issue we came upon was finding a way
to stabilize our robot arm, we finally added additional colors and washers and it worked much better.
2.
List and describe two features that were not part of the design problem that could be
added to improve your design.
We could have added another degree of rotation to our robotic arm in order to have a more human like
robot. Also we could of had a stabilizer for the arm so it was not so jumpy when going up and down, to
add on to the stabilizing solution we already found.
Download