0 Members and 1 Guest are viewing this topic.

#### letmoon

• Beginner
• Posts: 2
« on: January 25, 2013, 09:11:23 AM »

As it is shown in this figure, there is a geometrical model of a differential drive system.
The world reference frame is indicated by x,y (small one)
Frame fixed with the robot is indicated by XPoY (bigger one)
Po is the origin of robot frame and it is also the middle point of the rear axis of the robot
Pc is assumed to be the mass center
d is distance between Po and Pc
Pl is a reference point of the robot ( is not used in this example )
L is the distance between Pc and Pl
b is half of the rear axis
theta is the orientation angle of the robot (angle between two frames)

In most of the research materials, a set of equations have been already presented as below, so-called non-holonomic constraints.

First, taking point Po as the example. Assume that Po in the world frame is (xo, yo). So there is a constraint equation.
dot_yo*cos(theta)-dot_xo*sin(theta)=0

Seconde, consider point Pc, as another example. Assume that Pc in the world frame is (xc, yc). Then another constraint equation is presented in another form, as this one:
dot_yc*cos(theta)-dot_yc*sin(theta)-dot_theta*d = 0

My question is that I completely do not understand how I can obtain these two equations.

I know dot_x and dot_y must be velocity factors of a point. But why they multiply a cos(theta) and a sin(theta) respectively, and why it subtracts dot_theta*d in the second one.

Could anyone help me to understand this, thanks in advance.

#### jwatte

• Supreme Robot
• Posts: 1,345
« Reply #1 on: January 25, 2013, 12:35:33 PM »
Basically, those are just transforms between coordinate systems. If you look at how the rotation matrix for the 2D coordinate system is constructed, you'll see that there are cos terms along the main diagonal, and a sin and a -sin term along the other axis. If you multiply out the vector algebra for transforming between the coordinate systems, and write it out in long-hand, you will end up with those equations.

This would, in my opinion, be much easier expressed in vector and matrix algebra.