A kinematic coordinate frame class. More...

Inheritance diagram for CoordinateFrame:
[legend]

Public Member Functions

 CoordinateFrame (varargin)
 The class constructor function. More...
 
function obj = ToContactFrame (char type)
 convert a coordinate frame into a contact frame More...
 
function obj = setReference (CoordinateFrame ref)
 set the reference frame More...
 
function obj = setOffset (rowvec offset)
 set the offset of the origin of the frame from the reference frame origin (in the reference frame) More...
 
function obj = setRotationMatrix (rowvec|matrix r)
 set the rotation matrix (R) of the frame w.r.t to the reference frame More...
 
function obj = computeHomogeneousTransform ()
 computes the homogeneous transformation matrix from the world coordinates More...
 
function pos = computeCartesianPosition (rowvec p)
 computes the cartesian position of a point p in the body (current) coordinate frame More...
 
function rpy = computeEulerAngle ()
 computes the Euler angles the body (current) coordinate frame in the world frame (base coordinate) More...
 
function g = computeForwardKinematics ()
 computes the forward kinematics transformation matrix of the coordinate frame More...
 
function Jac = computeBodyJacobian (integer nDof)
 computes the body Jacobian matrix of the coordinate frame More...
 
function Jac = computeSpatialJacobian (integer nDof)
 computes the spatial Jacobian matrix of the coordinate frame More...
 
function c_str = getTwists (matrix p)
 Returns the symbolic representation of the body jacobians of coordinate frames. More...
 

Static Public Member Functions

static function gst = RPToHomogeneous (R, p)
 Convert a rotation + translation to a homogeneous matrix. More...
 
static function adj = RigidAdjoint (g)
 rigid adjoint matrix from the homonegeous matrix More...
 
static function RRigidOrientation (g)
 extract the rigid orientation from the homogeneous transformation matrix More...
 
static function p = RigidPosition (g)
 extract the rigid position from the homogeneous transformation matrix More...
 
static function s = AxisToSkew (p)
 converts the axis vector to a skew matrix More...
 

Public Attributes

char Name
 The name of the coordinate frame. More...
 
CoordinateFrame Reference
 The parent reference coordinate frame. More...
 
rowvec Offset
 The offset of the origin of the frame from the origin of the reference frame. More...
 
matrix R
 The rotation matrix of the frame w.r.t. the reference frame. More...
 
matrix gst0
 The homogeneous transformation from the base coordinate. More...
 
- Public Attributes inherited from handle
 addlistener
 Creates a listener for the specified event and assigns a callback function to execute when the event occurs. More...
 
 notify
 Broadcast a notice that a specific event is occurring on a specified handle object or array of handle objects. More...
 
 delete
 Handle object destructor method that is called when the object's lifecycle ends. More...
 
 disp
 Handle object disp method which is called by the display method. See the MATLAB disp function. More...
 
 display
 Handle object display method called when MATLAB software interprets an expression returning a handle object that is not terminated by a semicolon. See the MATLAB display function. More...
 
 findobj
 Finds objects matching the specified conditions from the input array of handle objects. More...
 
 findprop
 Returns a meta.property objects associated with the specified property name. More...
 
 fields
 Returns a cell array of string containing the names of public properties. More...
 
 fieldnames
 Returns a cell array of string containing the names of public properties. See the MATLAB fieldnames function. More...
 
 isvalid
 Returns a logical array in which elements are true if the corresponding elements in the input array are valid handles. This method is Sealed so you cannot override it in a handle subclass. More...
 
 eq
 Relational functions example. See details for more information. More...
 
 transpose
 Transposes the elements of the handle object array. More...
 
 permute
 Rearranges the dimensions of the handle object array. See the MATLAB permute function. More...
 
 reshape
 hanges the dimensions of the handle object array to the specified dimensions. See the MATLAB reshape function. More...
 
 sort
 ort the handle objects in any array in ascending or descending order. More...
 

Detailed Description

A kinematic coordinate frame class.

Copyright (c) 2016-2017, AMBER Lab All right reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted only in compliance with the BSD 3-Clause license, see http://www.opensource.org/licenses/bsd-license.php

Constructor & Destructor Documentation

◆ CoordinateFrame()

CoordinateFrame.CoordinateFrame (   varargin)
inline

The class constructor function.

Parameters
vararginvariable nama-value pair input arguments, in detail: Required Parameters for varargin:
  • Name the name of the frame
  • Reference the reference frame
  • Offset the offset of the origin
  • R the rotation matrix or the Euler angles

Member Function Documentation

◆ AxisToSkew()

function s = CoordinateFrame.AxisToSkew (   p)
inlinestatic

converts the axis vector to a skew matrix

◆ computeBodyJacobian()

function SymExpression Jac = CoordinateFrame.computeBodyJacobian ( integer  nDof)

computes the body Jacobian matrix of the coordinate frame

Parameters
nDofthe total degrees of freedom of the system
Return values
Jacthe Jacobian matrix

◆ computeCartesianPosition()

function SymExpression pos = CoordinateFrame.computeCartesianPosition ( rowvec  p)

computes the cartesian position of a point p in the body (current) coordinate frame

Note
If (p) is not given, then returns the cartesian positions of the origin of the current coordinate frame.
Parameters
pthe offset vector of the point in the current frame
Return values
posthe symbolic expression of the cartesian position

References RigidPosition(), and RPToHomogeneous().

◆ computeEulerAngle()

function SymExpression rpy = CoordinateFrame.computeEulerAngle ( )

computes the Euler angles the body (current) coordinate frame in the world frame (base coordinate)

Return values
rpythe Euler (roll,pitch,yaw) angles of the frame

◆ computeForwardKinematics()

function SymExpression g = CoordinateFrame.computeForwardKinematics ( )

computes the forward kinematics transformation matrix of the coordinate frame

Return values
gthe forward transformation matrix under the coordinate system

◆ computeHomogeneousTransform()

function obj = CoordinateFrame.computeHomogeneousTransform ( )

computes the homogeneous transformation matrix from the world coordinates

Generated fields of obj:

◆ computeSpatialJacobian()

function SymExpression Jac = CoordinateFrame.computeSpatialJacobian ( integer  nDof)

computes the spatial Jacobian matrix of the coordinate frame

Parameters
nDofthe total degrees of freedom of the system
Return values
Jacthe Jacobian matrix

◆ getTwists()

function cell c_str = CoordinateFrame.getTwists ( matrix  p)

Returns the symbolic representation of the body jacobians of coordinate frames.

Each coordiante

Parameters
pthe offset of the point from the origin of the frame
Return values
c_stra cell array of twist information

◆ RigidAdjoint()

function adj = CoordinateFrame.RigidAdjoint (   g)
inlinestatic

rigid adjoint matrix from the homonegeous matrix

◆ RigidOrientation()

function R = CoordinateFrame.RigidOrientation (   g)
inlinestatic

extract the rigid orientation from the homogeneous transformation matrix

◆ RigidPosition()

function p = CoordinateFrame.RigidPosition (   g)
inlinestatic

extract the rigid position from the homogeneous transformation matrix

Referenced by computeCartesianPosition().

◆ RPToHomogeneous()

function gst = CoordinateFrame.RPToHomogeneous (   R,
  p 
)
inlinestatic

Convert a rotation + translation to a homogeneous matrix.

Referenced by computeCartesianPosition().

◆ setOffset()

function obj = CoordinateFrame.setOffset ( rowvec  offset)

set the offset of the origin of the frame from the reference frame origin (in the reference frame)

Parameters
offsetthe offset vector
Generated fields of obj:

◆ setReference()

function obj = CoordinateFrame.setReference ( CoordinateFrame  ref)

set the reference frame

Parameters
refthe reference frame object
Generated fields of obj:

◆ setRotationMatrix()

function obj = CoordinateFrame.setRotationMatrix ( rowvec|matrix  r)

set the rotation matrix (R) of the frame w.r.t to the reference frame

Parameters
rthe rotation matrix or Euler angles (in radian)
Generated fields of obj:

◆ ToContactFrame()

function obj = CoordinateFrame.ToContactFrame ( char  type)
inline

convert a coordinate frame into a contact frame

Parameters
typethe contact type

Member Data Documentation

◆ gst0

CoordinateFrame.gst0

The homogeneous transformation from the base coordinate.

Note
This property has the MATLAB attribute Hidden set to true.
This property has non-standard access specifiers: SetAccess = Protected, GetAccess = Public
Matlab documentation of property attributes.

◆ Name

CoordinateFrame.Name

The name of the coordinate frame.

Note
This property has non-standard access specifiers: SetAccess = Protected, GetAccess = Public
Matlab documentation of property attributes.

◆ Offset

CoordinateFrame.Offset

The offset of the origin of the frame from the origin of the reference frame.

Note
This property has non-standard access specifiers: SetAccess = Protected, GetAccess = Public
Matlab documentation of property attributes.

Referenced by frost.Animator.Display.Display().

◆ R

CoordinateFrame.R

The rotation matrix of the frame w.r.t. the reference frame.

Note
This property has non-standard access specifiers: SetAccess = Protected, GetAccess = Public
Matlab documentation of property attributes.

◆ Reference

CoordinateFrame.Reference

The parent reference coordinate frame.

Note
This property has non-standard access specifiers: SetAccess = Protected, GetAccess = Public
Matlab documentation of property attributes.

The documentation for this class was generated from the following files:
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/robotics/@CoordinateFrame/CoordinateFrame.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/robotics/@CoordinateFrame/computeBodyJacobian.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/robotics/@CoordinateFrame/computeCartesianPosition.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/robotics/@CoordinateFrame/computeEulerAngle.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/robotics/@CoordinateFrame/computeForwardKinematics.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/robotics/@CoordinateFrame/computeHomogeneousTransform.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/robotics/@CoordinateFrame/computeSpatialJacobian.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/robotics/@CoordinateFrame/getTwists.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/robotics/@CoordinateFrame/setOffset.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/robotics/@CoordinateFrame/setReference.m
  • /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/robotics/@CoordinateFrame/setRotationMatrix.m