PDA

View Full Version : [Contest Entry] Vex Iron Man



sainzalb
12-27-2010, 12:50 AM
Hello all,

My name is Alberto Sainz de la Pena, and I am posting an entry for the contest. As a high school junior, I have built a robot that I think is pretty cool as well as useful. It is a "humaniod/android robot" made from the vex robotic design system. Here are a some quick specs of the robot:

- It stands almost 4 feet tall
- It uses the Vex cortex control system (microcontroller and joystick controller)
- It is programmed using Robotc
- It utilizes 12 vex motors
- It has two working arms and two working gripper claws
- It has a neck and head that can move vertically approximately 200 degrees
- Its torso can fold all the way down to the floor (Its "closed" position fits into an 18 inch cube)
- It has a really cool self defense feature (watch the video to see what I mean!)
- It moves with a tank drive chassis
- It has a touch sensor on each arm so that humans can recieve objects from the claws (See the video!)
- It uses LED "puck lights" for the eyes and the chest piece
- It has an ultrasonic sensor on the chassis that automatically stops the robot when objects are within a foot of it (I just installed it so it is not in the video)
- it has a vex camera unit mounted on the head for remote operation (again, not in the video)

Video

(I made this video for another online contest, but I decided to use it again here)
http://www.vimeo.com/17290437


Background Information / Why did I build this robot?

From a robotics standpoint, I have only had experience with the Lego Mindstorms kit and Vex Robotic design system. I was introduced to these two systems (and to robotics in general) when I joined the Robotics club at my school in freshmen year. I was instantly hooked! I spent 6 months mentoring the elementary school kids in the Lego competitions before moving up to the Vex squad. I have learned so much since then that I became a counselor for the robotics camp and am now co-president of the robotics club at my school.
I built this robot at home with no outside help (only my second one). I originally built this robot with the intention of competing in the Vex Robotic Competitions; it was something that had never been done before, and I thought it would just be really cool to have a humanoid competing amongst the typical robots seen at these competitions. My first experience competing with this robot showed me that I was wrong. My robot was ultimately too large and too complicated to be a good competitor in the fast-paced game of Vex Roundup. I decided to pull my robot from the competitions and make him more of a home robot / display robot.


List of materials (roughly)

- Vex classroom lab kit
- Vex booster kit
- Vex aluminum kit
- Vex tank tread kit
- Vex touch sensors and ultrasonic sensors
- Vex camera kit
- LED puck lights
- WD-40 and birthday candle (Flamethrower!)


Design Process

I started designing the robot even before I had bought the parts. Being 16 years old, I did not have access to any of the well-known (and expensive) CAD programs (Solidworks, Autodesk, etc.). I did find google sketchup for free, and I found it very useful to at least get by ideas down in 3-d form. Below are some screenshots of my CAD designs using google sketchup.

http://forums.trossenrobotics.com/gallery/files/5/0/4/4/sc_1.jpg

http://forums.trossenrobotics.com/gallery/files/5/0/4/4/sc2.jpg

When I finally received the parts, though, I realized that some aspects of my design were flawed. Instead of spending more hours meticulously designing the robot on the computer, I decided to just used the good aspects of my CAD files and go from there. I probably took the robot apart and rebuilt it about 15 times before I had the final design.


Design Challenges

I faced many problems and challenges when building this robot:

1. getting it to fit inside an 18 inch cube: Originally meant for Vex competitions, I wanted to make the robot as large as possible while still fitting into the 18 inch cube in its closed position.

2. Motor assignment: Because the Vex cortex microcontroller only has 10 motor ports, I had to see how I could make this huge robot move in an effective and efficient manner with only 10 motors.

3. Tipping over: The positioning of the main torso assembly on the chassis was problematic. I needed to find a way for the robot to be able to bend over without compromising its center of gravity.


Software/Code

As mentioned before, I used Robotc for the programming of this robot. the Robotics club chief programmer helped me a lot, as I was not very familiar with Robotc. The code used for the video is below:


#pragma config(Sensor, dgtl1, rightArm, sensorTouch)
#pragma config(Sensor, dgtl2, leftArm, sensorTouch)
#pragma config(Motor, port1, rightLeg, tmotorNormal, openLoop, reversed)
#pragma config(Motor, port2, rightHip, tmotorNormal, openLoop)
#pragma config(Motor, port3, leftHip, tmotorNormal, openLoop, reversed)
#pragma config(Motor, port4, neck, tmotorNormal, openLoop)
#pragma config(Motor, port5, rightArm, tmotorNormal, openLoop)
#pragma config(Motor, port6, leftArm, tmotorNormal, openLoop, reversed)
#pragma config(Motor, port7, rightClaw, tmotorNormal, openLoop)
#pragma config(Motor, port8, leftClaw, tmotorNormal, openLoop, reversed)
#pragma config(Motor, port9, FLAMETHROWER, tmotorNormal, openLoop, reversed)
#pragma config(Motor, port10, leftLeg, tmotorNormal, openLoop)
//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*//

task main()
{
while (1 == 1)
{
//drive system
motor[port1] = vexRT(Ch2);
motor[port10] = vexRT(Ch3);
//torso
motor[port2] = (vexRT(Btn5U) - vexRT(Btn5D)) * 127;
motor[port3] = (vexRT(Btn5U) - vexRT(Btn5D)) * 127;
//neck
motor[port4] = vexRT(Ch1);
//arms
motor[port5] = (vexRT(Btn8U) - vexRT(Btn8D)) * 127;
motor[port6] = (vexRT(Btn7U) - vexRT(Btn7D)) * 127;
//claws
motor[port7] = (vexRT(Btn8L) - vexRT(Btn8R)) * 127;
motor[port8] = (vexRT(Btn7R) - vexRT(Btn7L)) * 127;
//FLAMETHROWER
motor[port9] = (vexRT(Btn6U) - vexRT(Btn6D)) * 127;

//bumpers for arms
while(SensorValue(dgtl1) == 1)
{
motor[port7] = -127;
}

while(SensorValue(dgtl2) == 1)
{
motor[port8] = -127;
}


Uses of the robot:

Other than terrifying small children and making the neighborhood dogs go beserk, This robot is actually useful in the home. Especially with the recently-installed camera, I can deliver objects all around the house (the camera feed can be viewed on any TV with rca ports). For example, I can be sitting on my couch and control the robot to go to my room and bring me my shoes. I have also used the robot to fetch the newspaper in the mornings. Right now, most of the tasks that the robot does are controlled by me through the joystick controller. I am not an experienced programmer yet, but I hope to one day have the robot moving around the house in a completely autonomous mode (Disabling the flamethrower might be a good idea for this :happy:)


Past/Future projects

My first robot that I built was a flamethrower/airsoft gun combo (see below)


http://forums.trossenrobotics.com/gallery/files/5/0/4/4/flame_good.jpg

Other than revamping some structural aspects and making the robot more autonomous, I have somewhat moved on from this robot. I am now working on making a full functional Iron Man suit. My plans call for an mp5 gun (airsoft) and flamethrower on each arm, and possibly a minigun or rocket launcher mounted on the shoulder pads (just like "war machine" in the Iron Man 2 movie). The firing of the weapons would be controlled by an array of touch sensors mounted on the suit itself (aka press button 1 to fire gun, press button 2 to enable flamethrower, etc). I am making the "skeleton" from vex parts again, but I will probably build an exterior shell from sheet metal. I'll keep you posted!

sainzalb
12-27-2010, 12:57 AM
Sorry about the pictures not showing, Can someone help me to fix this?

darkback2
12-27-2010, 05:29 AM
Up in the menu there is a thing that says gallery. click on that, then there is a menu item upload. a lick on that. then you can follow the steps to upload your picture. once it is uploaded there should be a link To the file that you can link in your post.

I hope this helps.

DB

sainzalb
12-27-2010, 07:32 PM
Thanks