Skip to content Skip to navigation

Connexions

You are here: Home » Content » Coordinate Systems in Control Systems

Navigation

Recently Viewed

This feature requires Javascript to be enabled.
 

Coordinate Systems in Control Systems

Module by: Edward Van Buskirk. E-mail the author

Summary: Provides a tutorial for converting between coordinate systems, applying coordinate systems in control systems, and conversion examples.

The application of multiple coordinate systems is an effective tool in control systems. The usage of multiple coordinate systems can improve the efficiency of calculations as well as enhance clarity in operations.

Mathematically, coordinate systems can be viewed as ordered bases. Consider the scenario where V is a vector space with ordered bases A and B. Let A and B consist of vectors a1a1 through anan and b1b1 through bnbn, respectively. Then any vector v contained in V can be expressed as a unique linear combination of vectors in A. In equation form, v = i = 1 n x i a i v = i = 1 n x i a i where x is a coefficient. This linear combination uses a unique ordered set of coefficients corresponding to vectors in A. Therefore, for a fixed v and A, there is one and only one possible set of xixi’s for v = i = 1 n x i a i v = i = 1 n x i a i . Similarly, v can be expressed as a unique linear combination of vectors in B as well. Thus, there is another unique ordered set of coefficients corresponding to vectors in B to generate v.

If the relationship between the elements in the two ordered bases A and B is known, then the relationship between the two unique ordered sets of coefficients to generate v can be found. The equation form of this concept is [u]A[u]A = P[u]B[u]B. In this equation, [u]A[u]A represents a column vector composed of the unique ordered set of coefficients to generate v from the elements in A. In other words, [u]A[u]A is composed of the xixi’s mentioned above. Similarly, [u]B[u]B represents a column vector composed of the unique ordered set of coefficients to generate v from the vectors in B.

The matrix P is found from the relationship between the elements in the two ordered bases. Each element of the ordered bases, a1a1 through anan and b1b1 through bnbn, is an element of the vector space. Therefore, it is guaranteed that any element in B can be expressed as a unique linear combination of elements in A and the following set of equations applies:

b 1 = x 11 a 1 + x 12 a 2 + ... + x 1n a n b 1 = x 11 a 1 + x 12 a 2 + ... + x 1n a n

b 2 = x 21 a 1 + x 22 a 2 + ... + x 2n a n b 2 = x 21 a 1 + x 22 a 2 + ... + x 2n a n

b n = x n1 a 1 + x n2 a 2 + ... + x nn a n b n = x n1 a 1 + x n2 a 2 + ... + x nn a n

Note that the xijxij terms are coefficients. The process to find P starts with this set of n equations. In matrix form, the set of equations can been seen as b = Xa. The ithith row, jthjth column term of the matrix X is equal to xijxij. P is simply the transpose of the matrix X. In equation form, pijpij = xjixji. Since X is an n-by-n matrix, then P is also an n-by-n matrix.

P is also invertible. An informal proof will be provided here. First, the elements a1a1 through anan are linearly independent since A is a basis. This implies that the rows of matrix X are unique. Second, the elements b1b1 through bnbn are linearly independent since B is a basis. Thus, the rows of matrix X are linearly independent. Third, the rows of matrix X are the columns of matrix P, so the columns of matrix P are linearly independent. Fourth, a matrix is invertible if the columns are linearly independent, so P is invertible.

Since P is invertible, then [u]B[u]B = P-1P-1[u]A[u]A. There are multiple ways to invert matrix P, but the following method is easy to memorize and works for all n-by-n matrices. To begin, create an n-by-2n matrix with the form ( P | I ), where I is the n-by-n identity matrix. A series of row reductions should be used to manipulate the first n columns, P, to I. These row reductions will also affect the n+1 to 2n columns. The end result will be ( I | P-1P-1 ).

Lastly, there is a quick way to verify the accuracy of P. If v is chosen to be b1b1, then the representation of v in B is simply 1×b1b1. According to the linear equations given above, this particular v is represented in A as b1b1 = x11x11a1a1 + x12x12a2a2 + … + x1nx1nanan. Therefore, [u]B[u]B is a column vector starting with one and zero for the remainder of the vector and [u]A[u]A is a column vector where [u]AT[u]AT = (x11x11 x12x12x1nx1n). The matrix P should confirm the relationship between these two sets of coefficients.

The relationship of multiple coordinate systems is an important part of remote control systems. In a remote control system, there is an operator, an object being manipulated at a distance, and a target destination for the manipulated object. In a closed-loop control system, the operator sends commands to the object, the object executes the commands, and the object sends feedback to the operator. The feedback is used to determine the new location and orientation of the object. Closed-loop operations in remote control can be established with three fundamental frames: a frame of resolution (FOR), a command frame, and a display frame. The following sections describe these frames.

The purpose of the FOR is to reduce the concept of the object to an origin with three axes, i.e. a frame. The origin defines the location of the object and the axes define the orientation of the object. It should be clear that the FOR should translate and rotate with the object. In other words, the FOR should be fixed with respect to the manipulated object. This is also known as a body-fixed frame.

The command frame is used to interpret the user inputs. The axes of the command frame provide the direction of translation applied at the origin of the FOR. The origin of the command frame is used as the center for rotation. The axes of the command frame are also used to determine the line of rotation for roll, pitch, and yaw. Roll, pitch, and yaw are rotations about the x, y and z axes, respectively. The command frame can be fixed with respect to the object or fixed with respect to the vector space. These concepts are also known as body-fixed and space-fixed frames or internal and external frames.

The display frame is important for user feedback. The purpose of the display frame is to locate where the object is. More specifically, the translation and orientation from the display frame to the FOR is used to identify where the object is. The operator can use this information to determine if the operation is following the intended path and make corrections as needed. The display frame is a space-fixed frame and typically the location of the frame is chosen to be at the destination or a frame commonly used for the overall system.

A simple example using multiple coordinate systems is a remote controlled car in a 2D space. Consider a system with an operator, a car, and a target destination. The origin of the FOR is centered between the wheels of the car, the command frame will not be used, and the display frame corresponds to the target destination. The given information consists of the location and orientation of the operator and the display frame and the location of the car with respect to the operator. Let the display frame be located at the origin (0,0) with a x-y coordinate system defined by a1a1=(1,0) and a2a2=(0,1). Also, let the operator be located at (100, 50) with the same coordinate system. Thus, b1b1 = 1a1a1 + 0a2a2 and b2b2 = 0a1a1 + 1a2a2. Then X = 1 0 0 1 1 0 0 1 and P = XTXT = 10011001 size 12{ left [ matrix { 1 {} # 0 {} ## 0 {} # 1{} } right ]} {}. The purpose of P in this example is to state where the car is with respect to the operator’s origin, but using the display frame’s coordinate system axes (a1a1 and a2a2). In this case, P is trivial because the display frame’s coordinate system and the operator’s coordinate system are the same. The result is in the form [u]A[u]A = P[u]B[u]B + [δ], where [u]A[u]A is the location of the car with respect to the display frame, [u]B[u]B is the location of the car with respect to the operator, and [δ] accounts for the distance from the display frame to the operator with respect to the display frame. The final result for this example is [u]A[u]A = 10011001 size 12{ left [ matrix { 1 {} # 0 {} ## 0 {} # 1{} } right ]} {} [u]B[u]B + 1005010050 size 12{ left [ matrix { "100" {} ## "50" } right ]} {}. Thus, if the car is at a location (4, 10) with respect to the operator, the location of the car with respect to the display frame is given by the following equations:

x A = 1 × x B + 0 × y B + 100 = 1 × 4 + 100 = 104 x A = 1 × x B + 0 × y B + 100 = 1 × 4 + 100 = 104

y A = 0 × x B + 1 × y B + 50 = 1 × 10 + 50 = 60 y A = 0 × x B + 1 × y B + 50 = 1 × 10 + 50 = 60

Thus, the location of the car with respect to the display frame is (104, 60).

The problem is more interesting if the operator’s frame is not aligned with the display frame. Consider the same example above, except the operator has turned 45 degrees clockwise to get a better view of the car. The operator’s x-y coordinate system was originally defined as b1b1 = (1cos(0), 1sin(0)) = (1, 0) and b2b2 = (1cos(90), 1sin(90)) = (0,1). The new coordinate system is defined as c1 = (1cos(-45), 1sin(-45)) = (1/c1=(1cos(-45), 1sin(-45))=(1/ 2 2 size 12{ sqrt {2} } {} , -1/, -1/ 2 2 size 12{ sqrt {2} } {} ) = ( a1 - a2 )/ )=(a1 - a2 )/ 2 2 size 12{ sqrt {2} } {} and c2 = (1cos(45), 1sin(45)) = (1/c2=(1cos(45), 1sin(45))=(1/ 2 2 size 12{ sqrt {2} } {} , 1/, 1/ 2 2 size 12{ sqrt {2} } {} ) = ( a1 + a2 )/ )=(a1 + a2 )/ 2 2 size 12{ sqrt {2} } {} . Then X = 1/21/21/21/21/21/21/21/2 size 12{ left [ matrix { 1/ sqrt {2} {} # - 1/ sqrt {2} {} ## 1/ sqrt {2} {} # 1/ sqrt {2} {} } right ]} {} and P = XTXT = 1/21/21/21/21/21/21/21/2 size 12{ left [ matrix { 1/ sqrt {2} {} # 1/ sqrt {2} {} ## - 1/ sqrt {2} {} # 1/ sqrt {2} {} } right ]} {}. The final result for this example is [u]A[u]A = 1/21/21/21/21/21/21/21/2 size 12{ left [ matrix { 1/ sqrt {2} {} # 1/ sqrt {2} {} ## - 1/ sqrt {2} {} # 1/ sqrt {2} {} } right ]} {} [u]C[u]C + 1005010050 size 12{ left [ matrix { "100" {} ## "50" } right ]} {}. To partially verify the result, consider the case where the car is at a location c1c1 = (1/ 22 size 12{ sqrt {2} } {}, -1/ 22 size 12{ sqrt {2} } {}) with respect to the operator. For this case, [u]C[u]C = 1010 size 12{ left [ matrix { 1 {} ## 0 } right ]} {} and [u]A[u]A should be equal to c1c1 + [δ]. When the value for [u]C[u]C is substituted into the equation, [u]A[u]A = 1/21/21/21/21/21/21/21/2 size 12{ left [ matrix { 1/ sqrt {2} {} # 1/ sqrt {2} {} ## - 1/ sqrt {2} {} # 1/ sqrt {2} {} } right ]} {}1010 size 12{ left [ matrix { 1 {} ## 0 } right ]} {} + 1005010050 size 12{ left [ matrix { "100" {} ## "50" } right ]} {} = 1/2+1001/2+501/2+1001/2+50 size 12{ left [ matrix { 1/ sqrt {2} +"100" {} ## - 1/ sqrt {2} +"50" } right ]} {} = c1c1 + [δ].

Content actions

Download module as:

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks