View Full Version : pic: it's a Vex Holonomic Drive!
artdutra04
03-12-2005, 22:26
[cdm-description=photo]22353[/cdm-description]
Very cool, although I must imagine that 4 omni wheels makes it pretty easy to push around.
Billfred
03-12-2005, 22:53
Art, you've done it again.
What next? Beatty's 2002 machine in Vex? ;)
Kevin Kolodziej
03-12-2005, 23:22
Billfred, don't give me ideas!!!!!
Very cool stuff here. How many motors total are there on that thing??
I just bought a kit and the first thing I did was a 3 motor version of a holonomic drive (two center drive wheels, one motor controlling two perpendicular wheels). Not as good as the real thing, but something to get the kids thinking before the season starts.
Kev
sanddrag
04-12-2005, 05:09
Am I correct in saying it is NOT super easy to push around because the wheels are not all pointing in the same direction? BTW, have any videos of it driving?
sciguy125
04-12-2005, 11:43
Coincidentally, I'm on the verge of finishing my own omniwheel robot. I got the chassis together yesterday but haven't actually powered it yet (electronics aren't ready). I was pushing it around and noticed that the traction wasn't great, but it was decent. I think that the problem is it's too light. It probably weighs <2lb. The motors won't backdrive, but it will slide.
I'm using these wheels (http://www.omniwheel.com/transwheel/transwheel.htm), by the way.
Andy Grady
04-12-2005, 11:55
I got to see the Holonimic Drive in action yesterday and it was amazing. Very sleek movement and it seemed like the drivers handled it fairly easy. We wont even go into the beauty of the rest of the robot. Unfortunately they were not able to compete in the competition.
I do recommend that you check out the Savage Soccer site...we had alot of fun yesterday at WPI and the game was absolutely amazing. I think FIRST could learn a few things from these guys!
-Andy Grady
artdutra04
04-12-2005, 18:07
Am I correct in saying it is NOT super easy to push around because the wheels are not all pointing in the same direction? BTW, have any videos of it driving?
It is somewhat easy to push around, as one of the Vex Squarebots from our team was able to push it pretty easily across the linoneum floor. It has a lot more traction on carpeted floor, and it becomes harder to push. Also, the weight really helps get it more traction. When it was only the basic chassis, the wheels would slip on smooth flooring, and it would not get good traction. But this was solved once I built all the manipulators onto the chassis.
EDIT: The robot uses seven motors - four for the drive, and three for the manipulators.
I should a video of it driving around some time soon, as I have been non-stop busy for like the past month. But, if anyone was every wondering how a holonomic drive robot would perform in snow, today's your lucky day! http://www.simtropolis.com/idealbb/images/smilies/6.gif
http://img235.imageshack.us/img235/1060/snowvexholonomic026dc.jpg
http://img235.imageshack.us/img235/740/snowvexholonomic017fk.jpg
I took these pictures this morning when a few snow showers brought us another 1 1/2 of snow. It works okay on the sidewalk, but it was sliding all over the place. I was able to tape a little kiddie snow shovel on the front, and I was able to try to shovel some snow. This makes me want to build one of these (http://www.keweenaw.org/images/snow.jpg) out of Vex parts next, so I can shovel my driveway from the park bench on my front porch. http://www.simtropolis.com/idealbb/images/smilies/10.gif
sanddrag
04-12-2005, 19:00
That just looks like a very bad idea. Especially the wires dangling on the ground. Great fun though, until the magic smoke is released.
Oh, the magic smoke will just make make it seem a bit more like Christmas.
Tom Bottiglieri
04-12-2005, 20:11
This makes me want to build one of these (http://www.keweenaw.org/images/snow.jpg) out of Vex parts next, so I can shovel my driveway from the park bench on my front porch. http://www.simtropolis.com/idealbb/images/smilies/10.gif
Why not just retrofit a powered snowblower to drive autonomously?
Why not just retrofit a powered snowblower to drive autonomously?
it might just be me, but i would be scared of an autonomous snowblower. just brings thoughts of it getting messed up and making one of the smaller neighborhood children into "ground beef".
greencactus3
04-12-2005, 20:49
"ground beef".
ground meat. unless you somehow hit a cow it wont be beef would it?
ew.
but how about a remote controlled one? maybe not autonomous..
artdutra04
19-12-2005, 19:05
I should a video of it driving around some time soon, as I have been non-stop busy for like the past month.
Finally! I had a few free hours free after school today (what a novel idea ;)), so I decided to assemble the video of my Vex Holonomic Drive robot. All of the video was shot this past weekend at the Savage Soccer Demonstration at the WPI Robotnautica FLL Tournament. Many thanks to WPI for hosting the Savage Soccer competition, which presented a perfect excuse for me to build a holonomic drive. :p Here's the link:
17.9 Mb - Windows Media Video - www.team228.org/index/multimedia/vex-holonomic-drive.wmv
Now onward, to another new Vex robot! ;)
skimoose
19-12-2005, 21:30
Art, better get working on another white paper for this one. :rolleyes:
Rosiebotboss
20-12-2005, 07:53
Art,
You have done it again..........The talk from the Vex guys during Rosie team meetings has always drifted to talking about what "Art from Gus" has done this week with his Vex kit. I can hardly wait to see the Vex snowcat. Will it be full size?? :ahh:
Seeing this thing play Savage Soccer this past Saturday was a real treat. The looks on the FLL kids' faces when this thing started driving were priceless!
Michael Leicht
20-03-2006, 21:22
do you have the code for that robot?
i would like to make something like this. i was wondering if i could see your code for it.
Dan Petrovic
20-03-2006, 21:40
What did you use to bend and cut the metal and stuff? On the poster that comes with the kit it describes a machine that bends and cuts metal.
They don't sell anything like that at vexlabs.com
anna~marie
20-03-2006, 21:41
oh dang that is sexy
Tim Delles
20-03-2006, 21:52
Any wanna help me talk Alex into letting me and him build a VEX Kiwi bot?
artdutra04
20-03-2006, 22:45
As requested, here is the code from EasyC ver 2.0 that I used for my Vex Holonomic Drive robot. The main drive controls are relative holonomic drive, which is relative to the current position of the robot. So if you push the left joystick to the left, the robot will go to its left. The code works well, and for a lot of people who I let drive this, it was a lot easiar for them to control than the tank drive on my Triple Play / Space Elevator (http://www.chiefdelphi.com/media/photos/22283) vex robot. ;)
Here's the code:
#include "Main.h"
void main ( void )
{
int LF; // Left Front
int RF; // Right Front
int LR; // Left Rear
int RR; // Right Rear
int leftx;
int lefty;
int rightx;
int spin;
while ( 1 )
{
// Get Data
leftx = GetRxInput ( 1 , 4 ) ; // Left Joystick, X Axis
lefty = GetRxInput ( 1 , 3 ) ; // Left Joystick, Y Axis
rightx = GetRxInput ( 1 , 1 ) ; // Right Joystick, X Axis
// Half the input signal (so code does not overflow past 255)
leftx = leftx / 2 ;
lefty = lefty / 2 ;
spin = rightx / 2 ;
// Drive Code Algorithim
LF = RR = lefty - leftx + 127 ;
RF = LR = 255 - lefty - leftx ;
RR = 255 - RR ; // Reverse Direction of RR motor
LR = 255 - LR ; // Reverse Direction of LR motor
// Spin Code Algorithim
RF = RF - spin + 63 ;
RR = RR - spin + 63 ;
LF = LF - spin + 63 ;
LR = LR - spin + 63 ;
// Code overflow prevention
if ( LF < 0 )
{
LF = 0 ;
}
else if ( LF > 255 )
{
LF = 255 ;
}
if ( RF < 0 )
{
RF = 0 ;
}
else if ( RF > 255 )
{
RF = 255 ;
}
if ( RR < 0 )
{
RR = 0 ;
}
else if ( RR > 255 )
{
RR = 255 ;
}
if ( LR < 0 )
{
LR = 0 ;
}
else if ( LR > 255 )
{
LR = 255 ;
}
// Set Motors
SetMotor ( 1 , RF ) ;
SetMotor ( 2 , LF ) ;
SetMotor ( 3 , LR ) ;
SetMotor ( 4 , RR ) ;
}
}
I may resurrect this robot (at least the drive platform) at some point over this summer and utilize the gyro from the FIRST KOP to make the robot a true absolute holonomic drive. But that will be added to my list of designs and ideas to try out, now that I have stock-piled enough Vex stuff in my fallout shelter to last through seven world wars. :yikes:
I'm dead serious too - I really do have like $2000 worth of Vex stuff. :p
I love bringing back up old topics =)
Anyways, I tried to import this code into EasyC 1.1 to see how it actually worked. To no avail though. After the code transfers to the controller, the motors seem to randomly spin at different times. I've tweaked this for numerous hours and still no luck. It would be great if someone could help on this issue. Thanks in advance
P.S. I apologize if I posted this in the wrong area. Didn't want to create a new topic for something that has been discussed numerous times.
Dylan Gramlich
10-10-2006, 14:29
did u use just one of the joysticks to control this or some other combination? I should think about building something like that...hmm...
artdutra04
10-10-2006, 16:58
I love bringing back up old topics =)
Anyways, I tried to import this code into EasyC 1.1 to see how it actually worked. To no avail though. After the code transfers to the controller, the motors seem to randomly spin at different times. I've tweaked this for numerous hours and still no luck. It would be great if someone could help on this issue. Thanks in advanceIf the motors seem to be randomly moving, it's probably because of a code overflow error. (I.e. 256 would wrap back around to 0, reversing the motor.) EasyC 1.1 does not support the Else If blocks. If you substitute regular If blocks for the If Else ones, the code should work fine.
Also, the variable names are shorthand for which motor is controlled. RF is short for Right Front, LR is short for left rear, and so on. Make sure the your code controls the correct motors; if you were to swap two or three of the motors around, then the motors would appear to move randomly.
If you are still having problems, can you add some PrintScreen commands to display the values for each motor (add them right before the SetMotor blocks, download the original code (posted here), and then post the values you are getting? Or a simpler way would be to look at each of the motors while you control the robot. When you hit forward, the motors should rotate like this:
http://www.team228.org/images/holonomic-drive-motor-diagram.png
did u use just one of the joysticks to control this or some other combination? I should think about building something like that...hmm...The left joystick controlled the laternal movement - up on the joystick moved the robot forward, left on the joystick moved the robot to the left, and so on. The right joystick was used to control spin. Move the joystick to the right and the robot would spin to the right, etc. Any combination of the two joysticks, such as moving diagonally while applying a spin would mix the values, so it really would spin while driving diagonally.
pyro20911d
01-11-2006, 12:39
THAT'S PRETTY SWEET
Lil' Lavery
01-11-2006, 14:58
The left joystick controlled the laternal movement - up on the joystick moved the robot forward, left on the joystick moved the robot to the left, and so on. The right joystick was used to control spin. Move the joystick to the right and the robot would spin to the right, etc. Any combination of the two joysticks, such as moving diagonally while applying a spin would mix the values, so it really would spin while driving diagonally.
Did you use a robot-centric or a driver-centric code? In other words, if you pushed the joystick left, would the robot move to it's left, or your left?
artdutra04
01-11-2006, 17:02
Did you use a robot-centric or a driver-centric code? In other words, if you pushed the joystick left, would the robot move to it's left, or your left?Robot-centric. I didn't have any gyros or accelerometers around, so there was no way for me to program absolute (driver-centric) control. That, and at the time I programmed it in EasyC, and I was unsure if sine, cosine, and tangent functions existed. Either way, most people who I let drive that robot found even relative (robot-centric) driving very easy to drive.
Lil' Lavery
01-11-2006, 19:33
Robot-centric. I didn't have any gyros or accelerometers around, so there was no way for me to program absolute (driver-centric) control. That, and at the time I programmed it in EasyC, and I was unsure if sine, cosine, and tangent functions existed. Either way, most people who I let drive that robot found even relative (robot-centric) driving very easy to drive.
Just curious how you got it to move in a straight line and spin at the same time then, as with a robot centric system, while spinning and translating, it begins to arc. For instance, if it spins clockwise while translating forwards, the "front" of the robot would move clockwise, causing a clockwise arc of motion (and eventually a circle that the robot moves clockwise along the perimeter).
artdutra04
01-11-2006, 23:08
Just curious how you got it to move in a straight line and spin at the same time then, as with a robot centric system, while spinning and translating, it begins to arc. For instance, if it spins clockwise while translating forwards, the "front" of the robot would move clockwise, causing a clockwise arc of motion (and eventually a circle that the robot moves clockwise along the perimeter).If you do not compensate for that while driving the robot, then yes, that is what it would do. But if you start driving forward and start to rotate to the right, if you move the left (transversal) joystick to the more to the left, you can compensate for the spin and more or less the robot will continue to move "forward" while spinning. With only relative control, it takes a lot more driver skill to translate while transversing.
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.