Link

trchain2

Compound SE(2) transforms from string

T = TRCHAIN(S) is a homogeneous transform (3×3) that results from compounding a number of elementary transformations defined by the string S. The string S comprises a number of tokens of the form X(ARG) where X is one of Tx, Ty, or R. ARG is an arbitrary MATLAB expression that can include constants or workspace variables. For example: matlab trchain('Tx(1) R(90) Ty(2)')

is equivalent to computing matlab transl2(1,0) * trot2(90, 'deg') * transl2(0,2)

T = TRCHAIN(S, Q) as above but the expression for ARG can also contain a variable ‘qJ’ which selects the Jth value from the passed vector Q (1×N). For example: matlab trchain('Tx(1) R(q1-90) Ty(2) R(q2)', [1 2])

[T,TOK] = TRCHAIN(S …) as above but return an array of tokens which can be passed in, instead of the string.

T = TRCHAIN(TOK …) as above but chain is defined by array of tokens instead of a string.

Options

   
- 'deg' all angular variables are in degrees (default radians)
- 'qvar',V treat the string V as the joint variable name rather than ‘q’

Notes

  • Variables used in the string must exist in the caller workspace.
  • The string can contain arbitrary characters between the elements, for example space, +, *, . or even |.
  • Works for symbolic variables in the workspace and/or passed in via the vector Q.
  • For symbolic operations that involve use of the value pi, make sure you define it first in the workspace: pi = sym(‘pi’);
  • The tokens are simply a parsed version of the input string and provide some efficiency for repeated calls on the same chain.

See also

trchain2, trotx, troty, trotz, transl, SerialLink.trchain, ets