Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Formula for controlling the movement of a tank-like vehicle?

Anyone know the formula used to control the movement of a simple tank-like vehicle?

To 'steer' it, you need to alter the force applied the left and right "wheels". Eg. 1 unit of force on both wheels makes it go forward. -1 units of force on both wheels makes it go backwards. Apply more force to one wheel than the other and it turns.

How would you calculate the amount of force needed on both wheels to turn the tank a certain number of degrees either way?

Or am I thinking about this in the wrong way?

edit: As William Keller mentioned I missed out the speed of the tank. Assume 1 unit of force on both wheels moves the tank forward at 1 unit per second.

For anyone who's interested, I just found this thread on gamedev.net: http://66.102.9.104/search?q=cache:wSn5t58ACJwJ:www.gamedev.net/community/forums/topic.asp%3Ftopic_id%3D407491+tank+track+radius+velocity&hl=en&ct=clnk&cd=1&gl=za&client=firefox-a

Another thread: http://www.physicsforums.com/showthread.php?t=220317

It turns out the key to finding the formula was just knowing the correct terminology ("skid steer") :P

like image 730
ilitirit Avatar asked Sep 24 '08 02:09

ilitirit


People also ask

How are tank wheels calculated?

c2 = 2*PI*(r+d) 'r' is radius of circle origin to inner track/wheel 'd' is the distance between the Inner and Outer wheels/track.

How do tank tracks move?

Tanks use high power engines to turn a toothed metal wheel called a sprocket. These sprocket teeth connect to corresponding grooves in the tanks' linked metal tracks which the tanks road wheels run along. This system of tracks and wheels offers more traction than standard wheels.

How does a tank change direction?

Tank steering systems allow a tank, or other continuous track vehicle, to turn. Because the tracks cannot be angled relative to the hull (in any operational design), steering must be accomplished by speeding one track up, slowing the other down (or reversing it), or a combination of both.

Which refers to the vehicles use tracks as in a tank?

Continuous track, also called tank tread or caterpillar track, is a system of vehicle propulsion in which a continuous band of treads or track plates is driven by two or more wheels.


3 Answers

For a skid steered vehicle that is required to turn in radius 'r' at a given speed 'Si' of the Inner Wheel/Track, the Outer track must be driven at speed 'So' :

So = Si * ((r+d)/r)

Details:

In Skid Steering, a turn is performed by the outer wheels/track traveling further distance than the inner wheels/track.

Furthermore, the extra distance traveled is completed in the same time as the inner track, meaning that the outer wheels/track must run faster.

Circle circumference circumscribed by "Inner" track:

c1 = 2*PI*r
'r' is radius of circle origin to track/wheel

Circle circumference circumscribed by "Outer" track:

c2 = 2*PI*(r+d)
'r' is radius of circle origin to inner track/wheel
'd' is the distance between the Inner and Outer wheels/track.

Furthermore, c2 = X * c1, which says that c2 is proportionally bigger than c1

X = c2 / c1
X = 2*PI*(r+d) / 2*PI*r
X = (r+d)/r

Therefore for a skid steered vehicle that is required to turn in radius 'r' at a given speed 's' of the Inner Wheel/Track, the Outer track must be driven at :

So = Si * ((r+d)/r)

Where:

'So' = Speed of outer track
'Si' = Speed of inner track
'r'  = turn radius from inner track
'd'  = distance between vehicle tracks.


               ********* <---------------- Outer Track
           ****    |    ****                     
        **         |<--------**----------- 'd' Distance between tracks
       *        *******<-------*---------- Inner Track
      *      ***   ^   ***      *  
     *      *      |<-----*------*-------- 'r' Radius of Turn
     *     *       |       *     * 
     *     *       O       *     * 
     *     *               *     * 
     *      *             *      * 
      *      ***       ***      *  
       *        *******        *   
        **                   **    
           ****         ****       
               *********           
like image 200
Paul Carew Avatar answered Nov 15 '22 00:11

Paul Carew


You're thinking about it the wrong way. The thing is, differing amounts of force on the tracks will not turn the tank a certain number of degrees. Rather, differing force will alter the RATE of turn.

The relationship between the force and the turn rate will vary depending on the mechanics of the tank. The wider the tank the slower it turns. The faster the tank the faster it turns.

P.S. Some more thoughts on this: I don't think a physics-based answer is possible without basing it off a real-world tank. Several of the answers address the physics of the turn but there is the implicit assumption in all of them that the system has infinite power. Can the tank really operate at 1, -1? And can it reach that velocity instantly--acceleration applies to turns, also.

Finally, treads have length as well as width. That means you are going to get some sideways slippage of the treads in any turning situation, the faster the turn the more such slippage will be required. That is going to burn up energy in a sharp turn, even if the engine has the power to do a 1, -1 turn it wouldn't turn as fast as that would indicate because of friction losses.

like image 37
Loren Pechtel Avatar answered Nov 15 '22 01:11

Loren Pechtel


Change in angle (in radians/sec) = (l-r)/(radius between treads)
Velocity = l+r

For the dtheta, imagine you had a wooden pole between your two hands, and you want to calculate how much it rotates depending on how hard and which way your hands are pressing - you want to figure out:

how much surface distance on the pole you cover per sec -> how many rotations/sec that is -> how many radians/sec (i.e. mult by 2pi)

like image 37
Ana Betts Avatar answered Nov 15 '22 02:11

Ana Betts