Log in

View Full Version : VEX Start Kit Projects


seg9585
12-06-2006, 00:45
Was wondering if anyone could help me out here..
I bought the VEX Starter Kit and Programming Kit, and want to make something cool (either a ping pong ball launcher, or some sort of grabber device). However, I've been trying dozens of different combinations of designs with the parts I have from just the starter kit, and I just dont have enough parts to make anything useful it seems. I dont have any tools to use to cut or bend metal, and I cant spend much more money besides some small parts from Home Depot, and I was wondering if anyone had any examples or suggestions for making something using ONLY the starter kit...
Thanks...

gblake
12-06-2006, 12:00
Have you looked at the pictures on this page and on the pages linked to it?

http://www.vexlabs.com/vex-robot-photos.shtml#Vex_Robotics__-_Robot_Photos

You may get some good ideas for subassemblies you can combine to make a sexy starter kit machine.

Blake

gblake
12-06-2006, 12:06
I would like to see someone try following a wall or a guide-rail using a pair of limit switches to tell if the bot is too close, too far, or just the right distance from the wall/rail.

It's on my list of things to do...

Blake

gblake
12-06-2006, 12:27
You should be able to build a respectable ping pong ball launcher.

Use two motors to drive the chassis around.

Build a dispenser that uses the servo to dispense the balls one at a time. When the servo rotates part-way have one gate begin to hold all the balls but one in place, and then as the servo continues to rotate have another gate move out of the way to release that one.

Use the third motor (and 1:5 gearing) to rotate an arm (12" axle plus an angle gusset on its end) that slowly winds up (turns backward 350 degrees) then comes around fast to whack the ball like a golf club.

I took a machine like this to Atlanta just for fun and it worked well. Some of our guys had lots of fun with it on the scale-model Aim High field the Vex folks had built.

If you need pictures I can get them from my other computer.

Blake
PS: I have had good luck cutting my metal with a hacksaw and the cleaning the burrs off of the cuts by filing them with a medium-coarseness hand file. Also, I have had better luck using my grinder and its motorized wire brush for cleaning up the hacksaw cuts. So, hopefully you can get your hands on a hacksaw and a file soon.

David55
12-06-2006, 12:40
Our team built a vex robot out of just 1 kit and a few custom made pieces. It was used for demonstrations and it shot small marbles in to a custom built goal.

http://www.avivrobotics.net/gallery/view_gallery.asp?gall=16&page=7&viewl=417&ord=38

It is basically the regular square bot, with an aluminum profile used for marble storage (but you can use tube or anything that can hold marbles). Then we had a servo connected to a small aluminum square that opens for half a second and lets a ball fall onto the track (bent aluminum strip), then a bar connected to a motor turns around and hits the ball a few feet away. Very simple design, but it does the job.

Edit: By Blake's description, we have very similar designs. I think this really is the easiest way to built a ball shooter.

skimoose
13-06-2006, 17:18
I would like to see someone try following a wall or a guide-rail using a pair of limit switches to tell if the bot is too close, too far, or just the right distance from the wall/rail.

It's on my list of things to do...

Blake

Even better wall following can be accomplished with an ultrasonic and about three lines of code. :D

ArtDutra04 did it last summer at WPI's Frontiers Program.

skimoose
13-06-2006, 17:40
Was wondering if anyone could help me out here..
I bought the VEX Starter Kit and Programming Kit, and want to make something cool (either a ping pong ball launcher, or some sort of grabber device). However, I've been trying dozens of different combinations of designs with the parts I have from just the starter kit, and I just dont have enough parts to make anything useful it seems. I dont have any tools to use to cut or bend metal, and I cant spend much more money besides some small parts from Home Depot, and I was wondering if anyone had any examples or suggestions for making something using ONLY the starter kit...
Thanks...

Make parts out of what ever you have, can find, or buy. Use new or used wood, plastic pipe, sheet plastic, cardboard, etc. You can make an awful lot of parts out of 1/16" Lexan which is available at Home Depot in small sheets for under $15. A 10' length of 1/2" CPVC pipe in the plumbing dept. is about $3. Invest in a hacksaw and you can cut all your Vex metal, plastic, wood, and Lexan with one tool.

Don't limit your ideas to using only Vex parts. There are a lot of other toy parts that can be modified to work with Vex. Just think outside the box. Every time I go shopping (including grocery shopping) or find something interesting I try to think of a robotics use for what I see.

Have Fun and Good Luck. :)

gblake
13-06-2006, 20:01
Even better wall following can be accomplished with an ultrasonic and about three lines of code. :D

ArtDutra04 did it last summer at WPI's Frontiers Program.

Agreed - But
1) Seg9585 doesn't have any ultrasonic sensors
2) (Vex) Ultrasonics aren't spec'ed to work when the wall is very close to you
2.1) Ultrasonics aren't likely to be very useful for following a guide rail (or wire) under (or over) a bot

Hence, my interest and my suggestion....

Blake
PS: Don't keep us in suspense. What are the magic 3 lines of code? :-) I have Vex ultrasonic sensors and I don't mind getting a peek at how other folks have used ultrasonics in the past.

artdutra04
14-06-2006, 00:20
PS: Don't keep us in suspense. What are the magic 3 lines of code? :-) I have Vex ultrasonic sensors and I don't mind getting a peek at how other folks have used ultrasonics in the past.Don't worry, I like sharing my knowledge! Besides, isn't the whole point of Chief Delphi to share knowledge? ;)

Unfortunately, I don't have the exact code anymore, as it was on a laptop owned by WPI. The algorithim here was my rough draft working one; you would definitely need to tweak the coefficients in there in order to get good results.

Here's the general jist of it: you get the Ultrasonic sensor value, and you use that value to change the speed of each motor. The farther you are away from the optimal path (grey line in diagram below), the faster you want the robot to react. If the robot is way off the line, you want it to turn fast to get back to the line. But if the robot is very close to the line, then all you want to do if go mostly forward, and only turn a little bit.

http://adutra.team228.org/images/vex-ultrasonic-wall-following.png

So here is what we need to do:

1. Get ultrasonic sensor values.
2. Make sure range of ultrasonic values are less than 127.
3. Add ultrasonic values to one motor, subtract from the other, keeping everything proportionate.
4. Set motors to these new variables.

I do have (somewhere) the notes I took when I originally made the algorithim for this, and I will look for it tomorrow to post online if you need it. Or...

Using a printscreen command in the code, manually drive the robot along a wall a set distance away, and drive in a zig-zag pattern as if you were the robot following the wall. Record the values needed for your specific robot to make the turns in an Excel speadsheet. Using this data, try to find an equation to best fit the data, and then you can use that in your algorthim.

(Remember, the part of C programming that makes this all possible is that any conditional statement inside parenthesis will return a 1 if true, and a 0 if not. So using the assignment left_drive = 127-42(ultrasonic_value>40); will return either 127 if the ultrasonic sensor value is less than 40, or it will return an 85 if the ultrasonic value is greater than 40. It is these conditionals inside an assigment that makes the three-lines of code possible.)

Agreed - But
2) (Vex) Ultrasonics aren't spec'ed to work when the wall is very close to you
That's not a problem. The Vex Ultrasonic Sensors are spec'ed at 3 inches to 10 feet. So in order to ensure that an object (wall) can never be closer than 3" is to place your sensor at least three inches inside your robot frame. Like this:

http://adutra.team228.org/images/vex-diagram-ultrasonic.png
Voila, no more 3 inch problem! :D

seg9585
14-06-2006, 00:55
Thanks everyone for your suggestions. I am taking apart the squarebot as we speak and will be trying to make a ping pong ball launcher type of bot. I will hopefully have it done by tomorrow, so i'll post pics and videos

gblake
14-06-2006, 09:33
The Vex Ultrasonic Sensors are spec'ed at 3 inches to 10 feet. So in order to ensure that an object (wall) can never be closer than 3" is to place your sensor at least three inches inside your robot frame. Like this:
http://adutra.team228.org/images/vex-diagram-ultrasonic.png
Voila, no more 3 inch problem! :D
Yeah - thought about that, but then you can't put anything in the space between the sensor and the wall/objects... Maybe not a big deal, depending on what the bot needs to do, whether you are rotating the sensor. Etc.

Thanks for the suggestions and the slick illustrations!

Blake

Kyle Love
14-06-2006, 22:42
Simple, make a robot for the 2005 game, kind of like Vexie (http://www.chiefdelphi.com/forums/showthread.php?t=39594&highlight=Vexie), the only add on was the omnis and chain kit, which are not needed.

foobert
14-06-2006, 23:14
(Remember, the part of C programming that makes this all possible is that any conditional statement inside parenthesis will return a 1 if true, and a 0 if not. So using the assignment left_drive = 127-42(ultrasonic_value>40); will return either 127 if the ultrasonic sensor value is less than 40, or it will return an 85 if the ultrasonic value is greater than 40. It is these conditionals inside an assigment that makes the three-lines of code possible.)


this is not a good idea. since multiplication is kind of expensive, computationally speaking go with...

left_drive = (ultrasonic_value > 40) ? 85 : 127;


... which, for anyone unfamiliar with the notation, is pretty much the same as ...

if (ultrasonic_value > 40) left_drive = 85;
else left_drive = 127;