View Single Post
  #4   Spotlight this post!  
Unread 13-06-2009, 09:38
gorrilla's Avatar
gorrilla gorrilla is offline
1557 alumni, 4639 mentor
AKA: adam spears
FRC #4639 (RoboSpartans)
Team Role: Mentor
 
Join Date: Mar 2008
Rookie Year: 2007
Location: Houston
Posts: 956
gorrilla has a brilliant futuregorrilla has a brilliant futuregorrilla has a brilliant futuregorrilla has a brilliant futuregorrilla has a brilliant futuregorrilla has a brilliant futuregorrilla has a brilliant futuregorrilla has a brilliant futuregorrilla has a brilliant futuregorrilla has a brilliant futuregorrilla has a brilliant future
Re: Crab-drive steering modes?

Quote:
Originally Posted by daltore View Post
In answer to your question on point 4, yes you can code a differential. It involves turning radii and scaling, but it shouldn't be TOO difficult. Basically, the equation is angular velocity times the distance of the wheel from the turning centerpoint (the dot on the ground that the robot is rotating around).

And yes, control is generally the hardest part. Of regular crab drive, where all the wheels point the same direction, control is relatively simple. Just have some sort of closed-loop feedback for angle (pot or encoder), arctangent for angle calculation of the joystick, and Pythagorean theorem for wheel speed. Alternatively, you could have a Y-axis for speed and X-axis for angle, avoiding trig altogether.

Your drive train is a hybrid between the two, which cuts the complications of swerve drive in half. To figure out how to get all of the vectors to line up, first figure out the crab steering, the straight-line direction calculation with all the wheels pointing in the same direction. Then add in the rotational vector. Basically, going in a circle counter-clockwise, all the wheels would be pointed sideways with the front two going to the left and the rear two going to the right. Going forward and rotating counter-clockwise, the front two wheels would be pointing at a 45* angle to the left and forward, and the rear two would be pointing 45* to the right and forward. Take specific cases like that and figure out the equation that matches them all up.
you mean like,
having and encoder to measure the rotation of each module right? We were going to limit the rotation to 180,thats easy enough, do you know any good places to get good(preferably cheap) pot's and encoders
thanks for the info ..

Quote:
Originally Posted by Sgreco27 View Post
If you are going to steer left and right as opposed to front and back, it's going to be a lot harder to program in a differential. Your robot will likely have to be facing sideways in this instance because your number 5 mode won't work if unless you are constantly driving sideways. Your left wheels will always be in the same diection in comparison to the other and your right side will work the same way. So number 5 can't work, because of the way you have steering set to two wheels on the same side. The wheels sharing the same side, left or right, physically cannot face in opposite directions. Your number 4 won't work either if you steer left and right, because when you turn the two front wheels to face in the same direction, your back wheels will have to move too because they are conected to the front ones. I would steer front and back, because that way, you turn the two front wheels (without steering the back) when you want steering like a car. When you want four wheel steer where the front and back wheels go in opposite directions you can do that as well. If you steer front and back it shouldn't have any difference of effect on steering modes 1,2,3. Steering the front modules together and the back modules together makes a lot more sense than left and right, given the steering modes that you want.

+$.02
IF we steer the right and left sides,
#5 and #4 both work?, but the robot would be in the "wide" orientation....

switching to steering the front-back set,as apposed to the left-right sides would be just as easy..
which is probobly what we would end up donig anyways to save space..
__________________
Adam Spears



Team 1557 2007-2011 student-Lake County FL

Current Team 4639 mentor- Houston TX