|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#16
|
|||||
|
|||||
|
Re: Differential?
oh....duh.....!
Sorry bout that |
|
#17
|
|||
|
|||
|
Re: Differential?
Thanks Hachiban, that SDP-SI link looks promising.
The more I think about it, I'm thinking driving the weels seperately may be a good decision. That way, if we NEED to, we could implement a software differential. What are methods of doing that? Would we need to create a lookup table to map the speeds? Use encoders? We had terrible luck with the banebots encoders last year as our first attempt (Just couldn't get them calibrated!), and I think we're going to be hesitant to mess with them again.... |
|
#18
|
||||
|
||||
|
Re: Differential?
Quote:
You would have to cut the axles and I think the housing is about 4.5 inches in diam. Weight may be a problem. price is $80 ![]() |
|
#19
|
|||||
|
|||||
|
Re: Differential?
Depending on your application, you might be able to save a bit of weight if each of your rear wheels is independently driven, with a software differential.
To make a software differential, we break the robot down into simpler parts. As we turn the steerable wheels in the front (Ackermann-steering would have an advantage here), we can use the angle that the wheels have turned from center to gauge how much of a nominal radius the center of the robot will turn at. For this, you can do calculations and create a lookup table (variable array) to save processor time on the playing field, and map out the nominal radius for a given turn angle. Once we know the nominal radius to the center of the robot, we subtract half the width of the robot for the inside wheel and add half the width of the robot for the outer wheel. Next, we read the operator interface values for how fast we want the robot to be going, as we set this to the outer wheel. (Unless the robot is going perfectly straight, then both wheels). Here's the [simplified] calculations involved: Code:
// We assume that our existing calculations determined the outer radius to be 124 inches, and the inner to be 100 inches. opInterfaceSpeed is how fast the driver is telling us to drive the robot outerRadius = 124; innerRadius = 100; opInterfaceSpeed = 255; // First, we shift the opInterfaceSpeed by 127, so that -127 is reverse and 127 is forward. robotDriveSpeed = opInterfaceSpeed - 127; // Find our circumference of both circles outerCir = ((outerRadius * 100) * 2 * 314) / 100; innerCir = ((innerRadius * 100) * 2 * 314) / 100; // Now since we want the robot to complete both inner circles and outer circles at the same time, we find the ratio between the two. The diameterRatio should an integer between 0 and 100 diameterRatio = (innerCir * 100) / (outerCir); // Now we find out how much we want to slow down the inner wheel. The output will be between 0 and 255, the PWM signal we want to send to the inside motor. innerSpeed = 127 + ((robotDriveSpeed * diameterRatio) / 100); Some additional tweaks to the code can solve this, but that's something for all of you to experiment with and figure out. What are you waiting for?! Go get a Vex robot and an Advanced Gear Kit from VexLabs, and start testing code! ![]() |
|
#20
|
|||
|
|||
|
Re: Differential?
I saw a team use a differential a few years back. They steered the robot using a rack and pinion design. Since you are asking this question for a game like this it makes me want to wonder, Drifting!? It would be a hard task to accomplish seeing as the floor is carpet, but it's a thought.
|
|
#21
|
||||
|
||||
|
Re: Differential?
QC Elite last year used a software/electronic differential for our coordinatated steering system. We found the two arcs that would pass through the wheels on each side, and then used a ratio between the two sides to figure out the different speeds the wheels needed to turn. Worked real well.
Malhon |
|
#22
|
|||
|
|||
|
((If you were to build a drivetrain that utilizes an "Open Differential", and if you were to lift one of the wheels off of the carpet, the wheel off of the carpet would receive all of the torque and it would spin. The other wheel (on the carpet) would receive no torque and would not move.))
I agree completely but suggest that both outputs from the differential transmit 'equal' torque. By that I mean that both wheels get the same amount of torque, but, because the wheel in the air only requires say .2 ft/lbs to turn it due to lack of resistance, that same .2 ft/lbs of torque at the other wheel is not enough to cause that wheel to rotate. So when the free spinning wheel gets brakes applied, the amount of torque required to turn it increases (at both wheels) until the wheel with good traction is easier to rotate than the now stopped wheel, and the vehicle moves. Same effect but just a different explanation. |
|
#23
|
|||||
|
|||||
|
Re: Differential?
Quote:
We've used a software differential for the last few years. Usually with encoders. Though last season we got one working using only a gyro. Works well enough in either case. You don't even need to do the proper trig - all you want to do is reduce the slip on the inside wheel to an acceptable level. |
|
#24
|
||||
|
||||
|
Re: Differential?
by reducing the slip you decrease the RPM's of the inner wheel?
|
|
#25
|
|||
|
|||
|
Re: Differential?
We have decided against a differential in hardware, and probably in software as well. I hope this thread can help others though!
Thanks! |
|
#26
|
||||
|
||||
|
Re: Differential?
I have personally dealt with open diff's and locking diff's in my vehicle. My truck had the stock rearend with the open gears in it, it behaved by doing great in traffic but off-road it sucked if you got one rear wheel in dirt/gravel/air that wheel would spin and the vehicle would go backwards (I forgot to mention I have a 2wd). So I bought a powertrack locking diff and it kicks butt because it "ratchets" around corners using plates to unlock the rear wheels together however it is temperamental and you can’t WOT around a corner or else it will lock up. I can go into a corner and floor it (WOT) the locking diff will lock causing the wheels to chirp and the truck's turning is greatly decreased. When it receives alot of torque from the motor and one wheel slips it will engage and lock the two rear wheels together this makes it great offroad and when doing burnouts (no more pegged leg burnouts ;P).
I doubt that there would be a situation in this years game where you’re robot would have ½ of the drive wheels on one side of the roboto off the ground and thus, an open diff would be a good mechanical means of keeping the wheels nice and smooth through turns. And here’s a great article on how open diff’s work http://auto.howstuffworks.com/differential2.htm I like the idea of programming a “diff” though. Last edited by Nick02 : 10-01-2008 at 01:23. |
|
#27
|
|||||
|
|||||
|
Re: Differential?
if you want to build a diff, look at a lego diff, it's just a dumbed down version. i would however add in a fourth gear to make it work more like a real diff
|
|
#28
|
||||
|
||||
|
Re: Differential?
A diff is overkill with robots this weight, and a Kart diff is not only heavy, but its also HUGE. I'm building a 2WD Radio Flyer with one of my friends, and we were shocked by the price (about $185) of one that wouldn't snap under any type of real tenion. This would not lose weight over dual CIMs. It would gain some.
Last edited by cobrawanabe1699 : 13-01-2008 at 16:56. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| VEX Differential | RoboticEngineer | Programming | 8 | 23-02-2006 00:40 |
| Methods of Solving Differential Equations | sanddrag | Math and Science | 7 | 26-01-2006 14:38 |
| Where Can I get A Differential | redbeard0531 | Technical Discussion | 1 | 07-01-2003 00:42 |
| 4x4 software differential | archiver | 2000 | 13 | 24-06-2002 00:21 |