Robot2AT

RTSX Help: Compute homogeneous transformation from robot model

Robot2AT

From a robot model, compute homogeneous transformation matrices from each frame to base.

Syntax

  • [A,T,Tb,Tt] = Robot2AT(robot,q,options)

Input Arguments

  • robot –a robot model
  • q –a 1 x nq vector of joint variable values, where nq = number of joint variables

Output Arguments

  • A — a 4 x 4 x nq homogeneous transformation matrix representing each frame w.r.t. frame below, where nq = number of joints
  • T — a 4×4 homogeneous transformation matrix representing tool frame w.r.t base
  • Tb — a 4×4 base transformation matrix
  • Tt — a 4×4 tool transformation matrix

Options

Note: options only affect homogeneous matrix T. A remains unchanged.

  • ‘none’ — T =A1*A2* …*An
  • ‘base’ — T = robot.base*A1*A2* … *An
  • ‘tool’ — T = A1*A2* …*An*robot.tool
  • ‘all’ — T=robot.base*A1*A2*…*An*robot.tool

Description

Robot2AT( ) computes homogeneous transformation matrices that describe each joint coordinate frame A and T, where A(:,:,i) describes frame {i} w.r.t {i-1} and T describes {n} w.r.t {0}

Examples

exec('./models/mdl_puma560.sce',-1);
p560 = AttachBase(p560,transl([1,1,2])); // add  base transform
p560 = AttachTool(p560,trotx(pi/2)); // add tool transform
[A,T,Tb,Tt]=Robot2AT(p560,q_n); // base/tool are excluded from T
[A,T]=Robot2AT(p560,q_n,'base'); // T = Tb*T
[A,T]=Robot2AT(p560,q_n,'tool'); // T = T*Tt
[A,T]=Robot2AT(p560,q_n,'all');  // T=Tb*T*Tt
[A,T]=Robot2AT(p560,q_n,'base','tool'); // this is equivalent to 'all'

See Also

  • Link2AT — Compute homogenous matrices from link data
  • Robot2hAT — Compute sequence of homogeneous matrices from robot model
  • FKine — Compute forward kinematics from robot model