|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
||||
|
||||
|
Arc Driving
Say I have a robot with car-like steering and I want to drive in a circle. At what angle would I have to turn the steering wheels in order to drive in a circle/arc of radius r?
|
|
#2
|
||||
|
||||
|
Re: Arc Driving
Quote:
Thanks in Advance. |
|
#3
|
||||
|
||||
|
Re: Arc Driving
I could give you a function that would work in theory with a perfect set of wheels, but the function depends on the distance between the front and back wheels, and you'd also have to account for any friction between the wheels and the floor that would resist turning. Third, are you actually rotating the wheels, or translating this into differing wheel speeds? In the latter case, this would also depend on the distance between the left and right sides. Finally, I think a robot would be harder to control if you were inputting radius instead of turning angle.
That said, this is what I can come up with: f(x) = sin-1(d/x) where d is the average distance between front and back wheels, and x is the arc radius. |
|
#4
|
||||
|
||||
|
Re: Arc Driving
Quote:
I am actually rotatin the wheels, yes. Of course it would be harder to control if you were inputting radius to control the robot. I didn't want this for regular joystick control. For that, yes, I will be inputting the turning angle. I want that function for a more specific purpose, and probably precalculated. |
|
#5
|
|||
|
|||
|
Re: Arc Driving
Sounds like autonomous.
|
|
#6
|
|||||
|
|||||
|
Re: Arc Driving
Perhaps motivated by Kevin's drawing?
![]() |
|
#7
|
||||
|
||||
|
Re: Arc Driving
I thought a bit more about that equation and realized that the equation is incorrect. I should withdraw what I posted because I'm not sure if my method was correct.
I now think that the equation should use inverse tangent instead of inverse sine, but please don't use it at all until someone can provide a second opinion. Sorry if it misled you. I'll come back to it tomorrow when I'm less tired and see if I can come up with a more solid solution. |
|
#8
|
||||
|
||||
|
Re: Arc Driving
|
|
#9
|
|||
|
|||
|
Re: Arc Driving
Quote:
http://www.rctek.com/handling/ackerm...principle.html |
|
#10
|
||||
|
||||
|
Re: Arc Driving
Perhaps it's presumptious of me to assume that you're referring to the drawing I posted, but in case it is, Ackerman steering won't work very well because the strategy counts on the 'bots ability to do a turn-in-place, which Ackerman can't do very well. Actually, I had in mind a tank-drive setup, which can do a nice turn-in-place (with suitable wheels/tires) and driving arcs can be achieved by just driving each side at a different velocity.
If it's not my drawing you're referring to, then never mind <grin>. -Kevin Last edited by Kevin Watson : 22-01-2007 at 13:07. Reason: Splling eror. |
|
#11
|
||||
|
||||
|
Re: Arc Driving
Quote:
. It happens to work perfect for our forklift drivetrain(easier to drive in an arc). - Not going with Ackerman steering, so turns in place will be just fine. Quote:
|
|
#12
|
||||
|
||||
|
Re: Arc Driving
I think the math works out very simply if you work in radians. If you want to follow a curve of radius R through an ARC of angle A (in radians), then the inside track of the robot will travel a distance of R*A. since the outside track of the robot is at a fixed distance from the inside (by the width of the robot W), the distance traveled by the ouside would be (R+W)*A.
Distance inside of curve : Di Distance outside of curve : Do Di = R*A Do = (R+W)*A = R*A + W*A = Di + W*A You can use simiar math to compute the robot's heading change based on the distances traveld by the right and left sides of the robot and the width of the robot. Note that by using radians you can avoid the need for trig functions. Last edited by ericand : 22-01-2007 at 13:39. Reason: update |
|
#13
|
||||
|
||||
|
Re: Arc Driving
I'm pretty sure that f(x) = tan-1(d/x) would work.
If you draw lines through the front and back wheels (basically, through their axles) as TimCraig said, I am assuming that the intersection of those lines would be the center point of the arc. The line from the point between the two back wheels to the point between the front wheels gives you d (I'll call it line D). Line D is perpendicular to the line drawn from the back wheels to the center of the circle/arc (line B). Thus lines D and B make a right triangle with hypotenuse drawn from the front wheels to the center of the circle. The tangent function is described as the ratio of length d to length b. b is the arc radius. Angle A is the angle between b and the hypotenuse. tan(A) = d/x A = tan-1(d/x) I don't think it matters if the front wheels don't share an axle, because the lines are drawn from the midpoint between the two wheels. |
|
#14
|
||||
|
||||
|
Re: Arc Driving
Quote:
|
|
#15
|
||||
|
||||
|
Re: Arc Driving
Quote:
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Build your own Arc Welder! | Adam Richards | Technical Discussion | 4 | 23-09-2006 16:22 |
| ARC Welding Aluminum | Simon Strauss | Technical Discussion | 12 | 20-09-2006 19:45 |
| Driving at Last! | The_Goodie | Robot Showcase | 4 | 10-02-2005 20:23 |
| Power arc? | Tytus Gerrish | Technical Discussion | 1 | 31-08-2003 20:15 |
| Driving a clutch | Kevin A | Chit-Chat | 18 | 03-07-2003 16:02 |