#### Archived

This topic is now archived and is closed to further replies.

# tank movement

This topic is 5990 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

##### Share on other sites
anyone at all? a link to some articles or tuts perhaps?

##### Share on other sites
hmm, dont know if i can help, i am not an experts on tanks. Your summary of the movement i describe in that other post is correct, but you forget one thing. It describe the movement when assuming that the rotation also takes place during the change in position. So you should not tell Blitz to only move forward/backward, but also to move left/right as a consequence of the rotating. In that kinematic model i gave you can get these things by just assuming that the tank starts in the origin all the time. So take x,y, alpha = zero and the xnext gives you the forward/backward motion and the ynext the left/right. You are right that this is much simpler.....if your tank is facing the positive y-axis you should set alpha=pi/2 and then ynext indicated the forward/backward motion.

The slope thing is a bit more difficult, and i don't know if i remember it correctly from school. Let's try....
Assume you have a masse m on a slope with angle phi. Then the force of gravity Fg=m*g with g being 9.8. This force can be split into two vectors one perpendicular to the slope (like the normal of the surface the masse is standing on, but then pointing into the earth) and one tangential (this is the one we want).
The force along the slope is Ft=sin(phi)*Fg, which is the force that may pull your tank down. This is where the friction comes in (we did lot's of experiments with little blocks on slopes in school). The friction sets a certain threshold. If Ft is larger then this treshold then then the tank slips, the friction cannot hold it at its spot. In other wordt the treads slip (i do not see the need to make a difference between friction and slip).If the friction is below that treshold the robot keeps it's position.

Now the engine part....The engine has to apply a force on your tank to move it. The power of the engine indicates how much force it can supply withing a certain time frame. This means it sets a limit to the force it can apply. According to Newton F=m*a, where a is the acceleration you want to give your tank. If Fmax is the maximum then the maximum acceleration for a tank twice as heavy is twice as low. I don't know about real tanks but i think you can assume that the engine always applies maximum force until the target speed is reached.
If we now also consider the slope then downhill the acceleration is given by (Fmax+Fz)/m and uphill by (Fmax-Fz)/m. So downhill it will accelerate more and uphill you have a larger change to exceed the friction threshold. In 3D it may be a bit more difficult, because you have to consider your motion wrt the steepest direction of the slope (where Fz is pointing to). I guess the acceleration will be something like (Fmax-cos(theta)*Fz)/m, where theta is the angle between your motion direction and the steepest direction of Fz.....This all applies to seeing the tank as a point masse, so i do not know how to deal with differences in fricion at the two treads....

I found this website about tank simulations, which may be usefull.....
It has some specs of real tanks and maybe the links section has pointers to tutorials (i didnt check this).

Hope this helps...

Edited by - smilydon on February 23, 2002 1:35:58 PM

##### Share on other sites
smilydon,
thank you! great information to get me started and I''ll be sure to check out the site.
- Dave

1. 1
2. 2
Rutin
25
3. 3
4. 4
JoeJ
18
5. 5

• 14
• 22
• 11
• 11
• 9
• ### Forum Statistics

• Total Topics
631764
• Total Posts
3002210
×