Drake
 All Classes Files Functions Variables
RigidBody Class Reference
Inheritance diagram for RigidBody:
Collaboration diagram for RigidBody:

Public Member Functions

function getRandomConfiguration (body)
 
function getZeroConfiguration (body)
 
function forwardKin (varargin)
 
function getTerrainContactPoints (body, collision_group)
 pts = getTerrainContactPoints(body) returns the terrain contact points of all geometry on this body, in body frame. More...
 
function getContactPoints (body, collision_group)
 
function dofnum (obj)
 
function getContactShapes (varargin)
 
function getCollisionGeometry (body, collision_group, collision_ind)
 
function replaceCylindersWithCapsules (body)
 [body,body_changed] = replaceCylindersWithCapsules(body) returns the body with all RigidBodyCylinders in collision_geometry replaced by RigidBodyCapsules of the same dimensions. More...
 
function replaceContactShapesWithCHull (varargin)
 
function replaceCollisionGeometryWithConvexHull (body, scale_factor)
 
function getAxisAlignedBoundingBoxPoints (obj)
 pts = getAxisAlignedBoundingBoxPoints(obj) returns the vertices of a conservative, axis-aligned bounding-box of this body's collision geometry. More...
 
function removeCollisionGroups (body, contact_groups)
 
function removeCollisionGroupsExcept (body, contact_groups)
 
function makeBelongToNoCollisionFilterGroups (body)
 
function makeIgnoreNoCollisionFilterGroups (body)
 
function makeBelongToCollisionFilterGroup (body, collision_fg_id)
 
function makeIgnoreCollisionFilterGroup (body, collision_fg_id)
 
function copy (body)
 makes a shallow copy of the body note that this functionality is in matlab.mixin.Copyable in newer versions of matlab, but I've done it myself since i want to support < v2011 More...
 
- Public Member Functions inherited from RigidBodyElement
function bindParams (body, model, pval)
 Bind parameters from msspolys to doubles. More...
 

Public Attributes

Property robotnum
 this body is associated with a particular robot/object number, named in model.name{objnum} More...
 
Property linkname
 link properties More...
 
Property position_num
 NOTE: dofnum is deprecated, use position_num or velocity_num instead. More...
 
Property velocity_num
 the indices into the joint velocity (v) vector corresponding to this joint More...
 
Property gravity_off
 
Property visual_geometry
 objects of type RigidBodyGeometry More...
 
Property collision_geometry
 objects of type RigidBodyGeometry More...
 
Property collision_geometry_group_names
 string names of the groups More...
 
Property collision_geometry_group_indices
 collision_geometry_group_indices{i} is a list of indices into collision_geometry which belong to collision_geometry_group_names{i} More...
 
Property parent
 joint properties More...
 
Property jointname
 
Property pitch
 for featherstone 3D models More...
 
Property floating
 0 = not floating base, 1 = rpy floating base, 2 = quaternion floating base More...
 
Property joint_axis
 
Property Ttree
 homogeneous transform from joint predecessor frame to parent body, so that the transform from this body to its parent is body.Ttree * jointTransform(body, q_body) More...
 
Property damping
 viscous friction term More...
 
Property coulomb_friction
 
Property static_friction
 currently not used for simulation More...
 
Property coulomb_window
 the threshold around zero velocity used for the PWL friction model (See Khalil and Dombre, Fig. 9.2(d)) More...
 
Property joint_limit_min
 
Property joint_limit_max
 
Property effort_min
 
Property effort_max
 
Property velocity_limit
 
Property has_position_sensor
 
Property I
 mass, com, inertia properties More...
 
Property Imass
 spatial mass/inertia More...
 
Property Iaddedmass
 added mass spatial matrix More...
 
Property mass
 
Property com
 
Property inertia
 
Property collision_filter
 Collision filter properties. More...
 
- Public Attributes inherited from RigidBodyElement
Property param_bindings
 structure containing msspoly parameterized representations of some properties More...
 

Member Function Documentation

function copy ( body  )

makes a shallow copy of the body note that this functionality is in matlab.mixin.Copyable in newer versions of matlab, but I've done it myself since i want to support < v2011

Return values
newbody
function dofnum ( obj  )
function forwardKin ( varargin  )
Return values
varargout
function getAxisAlignedBoundingBoxPoints ( obj  )

pts = getAxisAlignedBoundingBoxPoints(obj) returns the vertices of a conservative, axis-aligned bounding-box of this body's collision geometry.

Specifically, it finds the bounding box of the bounding boxes of all the geometries.

Return values
pts– 3-by-8 array of vertices
function getCollisionGeometry ( body  ,
collision_group  ,
collision_ind   
)
Parameters
collision_group(optional) return structures for only the collision_geometry in that group. can be an integer index or a string.
Return values
geometry
function getContactPoints ( body  ,
collision_group   
)
Return values
pts
inds
function getContactShapes ( varargin  )
Return values
varargout
function getRandomConfiguration ( body  )
Return values
q_body
function getTerrainContactPoints ( body  ,
collision_group   
)

pts = getTerrainContactPoints(body) returns the terrain contact points of all geometry on this body, in body frame.

pts = getTerrainContactPoints(body,collision_group) returns the terrain contact points of all geometry on this body belonging to the group[s] specified by collision_group

For a general description of terrain contact points see RigidBodyGeometry/getTerrainContactPoints

Parameters
body- A RigidBody object
collision_group- A string or cell array of strings specifying the collision groups whose terrain contact points should be returned
Return values
pts- A 3xm array of points on body (in body frame) that can collide with non-flat terrain
function getZeroConfiguration ( body  )
Return values
q_body
function makeBelongToCollisionFilterGroup ( body  ,
collision_fg_id   
)
Return values
body
function makeBelongToNoCollisionFilterGroups ( body  )
Return values
body
function makeIgnoreCollisionFilterGroup ( body  ,
collision_fg_id   
)
Return values
body
function makeIgnoreNoCollisionFilterGroups ( body  )
Return values
body
function removeCollisionGroups ( body  ,
contact_groups   
)
Return values
body
function removeCollisionGroupsExcept ( body  ,
contact_groups   
)
Return values
body
function replaceCollisionGeometryWithConvexHull ( body  ,
scale_factor   
)
Return values
body
function replaceContactShapesWithCHull ( varargin  )
Return values
varargout
function replaceCylindersWithCapsules ( body  )

[body,body_changed] = replaceCylindersWithCapsules(body) returns the body with all RigidBodyCylinders in collision_geometry replaced by RigidBodyCapsules of the same dimensions.

Parameters
body- RigidBody object
Return values
body- RigidBody object
body_changed- Logical indicating whether any replacements were made.

Member Data Documentation

Property collision_filter

Collision filter properties.

Property collision_geometry

objects of type RigidBodyGeometry

Property collision_geometry_group_indices

collision_geometry_group_indices{i} is a list of indices into collision_geometry which belong to collision_geometry_group_names{i}

Property collision_geometry_group_names

string names of the groups

Property com
Property coulomb_friction
Property coulomb_window

the threshold around zero velocity used for the PWL friction model (See Khalil and Dombre, Fig. 9.2(d))

Property damping

viscous friction term

Property effort_max
Property effort_min
Property floating

0 = not floating base, 1 = rpy floating base, 2 = quaternion floating base

Property gravity_off
Property has_position_sensor
Property I

mass, com, inertia properties

total spatial mass matrix, sum of mass, inertia, (and added mass for submerged bodies)

Property Iaddedmass

added mass spatial matrix

Property Imass

spatial mass/inertia

Property inertia
Property joint_axis
Property joint_limit_max
Property joint_limit_min
Property jointname
Property linkname

link properties

name of the associated link

Property mass
Property parent

joint properties

index (starting at 1) for rigid body parent. 0 means no parent

Property pitch

for featherstone 3D models

Property position_num

NOTE: dofnum is deprecated, use position_num or velocity_num instead.

the indices into the joint configuration (q) vector corresponding to this joint

Property robotnum

this body is associated with a particular robot/object number, named in model.name{objnum}

Property static_friction

currently not used for simulation

Property Ttree

homogeneous transform from joint predecessor frame to parent body, so that the transform from this body to its parent is body.Ttree * jointTransform(body, q_body)

Property velocity_limit
Property velocity_num

the indices into the joint velocity (v) vector corresponding to this joint

Property visual_geometry

objects of type RigidBodyGeometry


The documentation for this class was generated from the following file: