# Simulation of a simple robot [closed]

I'm a programmer and I'm working on a simple robot simulator. Of course, the most important part of this simulator, is the physical simulation of the robot. Unfortunately, I have a little knowledge about mechanics(only what I have taught in highschool and physics 1 in university).

You can see a simple model of robot in the picture. We have two wheels connected to motors (located on variable positions) and a wheel on the front(the white circle), for balancing. Every motor can apply an angular velocity to its wheel and cause a linear velocity on it (the angular velocity is known here, and can be controlled by the voltage applied to the motor).

Now, there are several questions:

1- Is it right to say "the motion of the robot can be described as a transitional motion of center of mass plus a rotational motion about that point?"

2- Are the forces applied to the system by wheels(their reaction, of course) relative to their velocity? Is this relativity linear?

3- How can I calculate the motion parameters? I think what I need is the way to calculate the linear velocity, the angular velocity, and some point to apply these velocities.

UPDATE: From the answer by dear @Mike Dunlavey, I understood that when we have velocities of the wheels, then we do not have to do complex mechanical analysis, and angular and linear velocity of robot can be determined by some simple calculation. Also this velocities are not related to shape and mass of the robot's body, but it is related to velocities of the wheels and their distance, from each other.

Now, there is some remained questions. When left wheel has velocity of v1, right wheel has velocity of v2 and the distance between them is d:

1- How to determine linear and angular speed and its axis (center) of rotation? (The exact formula, plz.)

2- What happens if wheels are not vertically aligned?

Thanks again!

## closed as too broad by Kyle Oman, Kyle Kanos, Qmechanic♦Aug 12 '15 at 9:21

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

1- Is it right to say "the motion of the robot can be described as a transitional motion of center of mass plus a rotational motion about that point?"

Pick a point on (or off) your robot; pick any point. The motion can always be described in terms of the translational motion of that point plus a rotational motion about that point In general, the resultant translational and rotational motion are coupled. The translational and rotational equations of motion decouple when you pick the center of mass.

2- Are the forces applied to the system by wheels(their reaction, of course) relative to their velocity? Is this relativity linear?

In an ideal world, yes. In the real world, no. Friction is markedly nonlinear.

3- How can I calculate the motion parameters?

By developing the equations of motion. This is non-trivial. There are many books, many graduate level courses dedicated solely to this subject.

• What do you exactly mean in this sentence: "The translational and rotational equations of motion decouple when you pick the center of mass"? – Ahmad Aug 12 '15 at 10:46
• – David Hammen Aug 12 '15 at 11:18

It seems to me what you're asking is pretty simple.

You say you can control the angular velocity of each wheel. That, times the wheel radius, give you the forward velocity of each wheel on the ground.

That tells you the robot's forward speed (the average of the forward speeds of the wheels), and it tells you the rate at which the robot is turning (the difference between the forward speeds of the wheels divided by the separation between the wheels).

What more do you need to know?

• Two questions: 1- Is vertical position of wheels (that can be variable independently) important here? What about horizontal (does the wheel that has more distance from the robot, has same effect as other one?) – Ahmad Aug 12 '15 at 10:51
• 2- Can you explain this physically for me in short? – Ahmad Aug 12 '15 at 10:51
• @Ahmad: Don't look at the robot. Look at the wheels. Where they touch the surface, what is the rim speed. What is the separation between them (10 cm?, 20cm?). That's all that matters. Imagine the robot body to be big or small, in the middle or on the side, that doesn't matter. what matters is the big imaginary sheet of material that the wheels are mounted on. It has a certain rate of forward motion, and a certain rate of turning motion, and the blob of the robot body can be mounted anywhere on it. – Mike Dunlavey Aug 12 '15 at 12:02
• I think I'm going to understand what you say. But some questions remain. Where is the axis of rotation (additional to speed, we need a point to be the center of rotation)? – Ahmad Aug 12 '15 at 15:14
• And also, what happens if wheels are not vertically aligned (one of them is above the other one)? – Ahmad Aug 12 '15 at 15:15