Public Member Functions | Private Attributes
ManipulationTransforms Class Reference

#include <manipulation_transforms.h>

List of all members.

Public Member Functions

 ManipulationTransforms ()
 Empty constructor for ManipulationTransforms.
 ManipulationTransforms (const btTransform &obj_initial_pose, const std::vector< btTransform > &effector_initial_poses)
 Full constructor for ManipulationTransforms.
 ManipulationTransforms (const btTransform &obj_initial_pose, const btTransform &effector_initial_pose)
 ManipulationTransforms (const btTransform &obj_initial_pose, const btTransform &effector1_initial_pose, const btTransform &effector2_initial_pose)
 Wrapper for single effector.
double mapEffectorPosesToObject (const std::vector< btTransform > &effector_query_poses, btTransform &obj_pose)
 Wrapper for twin effectors.
double mapEffectorPosesToObject (const btTransform &effector_query_pose, btTransform &obj_pose)
double mapEffectorPosesToObject (const btTransform &effector1_query_pose, const btTransform &effector2_query_pose, btTransform &obj_pose)
 Wrapper for single effector.
double mapEffectorTwistsToObject (const std::vector< KDL::Twist > &effector_query_twists, KDL::Twist &obj_twist, bool from_ref=true)
 Wrapper for twin effectors.
double mapEffectorTwistsToObject (const KDL::Twist &effector_query_twist, KDL::Twist &obj_twist, bool from_ref=true)
double mapEffectorTwistsToObject (const KDL::Twist &effector1_query_twist, const KDL::Twist &effector2_query_twist, KDL::Twist &obj_twist, bool from_ref=true)
 Wrapper for single effector.
double mapEffectorWrenchesToObject (const std::vector< KDL::Wrench > &effector_query_wrenches, KDL::Wrench &obj_wrench)
 Finds wrench on the object given wrench at each effector.
double mapObjectPoseToEffectors (const btTransform &obj_query_pose, std::vector< btTransform > &effector_poses)
 Wrapper for twin effectors.
double mapObjectPoseToEffectors (const btTransform &obj_query_pose, btTransform &effector_pose)
double mapObjectPoseToEffectors (const btTransform &obj_query_pose, btTransform &effector1_pose, btTransform &effector2_pose)
 Wrapper for single effector.
double mapObjectTwistToEffectors (const KDL::Twist &obj_query_twist, std::vector< KDL::Twist > &effector_twists, bool to_ref=true)
 Wrapper for twin effectors.
double mapObjectTwistToEffectors (const KDL::Twist &obj_query_twist, KDL::Twist &effector_twist, bool to_ref=true)
double mapObjectTwistToEffectors (const KDL::Twist &obj_query_twist, KDL::Twist &effector1_twist, KDL::Twist &effector2_twist, bool to_ref=true)
double mapObjectWrenchToEffectors (const KDL::Wrench &obj_query_wrench, std::vector< KDL::Wrench > &effector_wrenches)
 Sets effector wrenches given the desired object wrench.
void setInitialTransforms (const btTransform &obj_initial_pose, const std::vector< btTransform > &effector_initial_poses)
 Initializer for ManipulationTransforms.
void setInitialTransforms (const btTransform &obj_initial_pose, const btTransform &effector_initial_pose)
void setInitialTransforms (const btTransform &obj_initial_pose, const btTransform &effector1_initial_pose, const btTransform &effector2_initial_pose)
 Wrapper for single effector.
virtual ~ManipulationTransforms ()
 Wrapper for twin effectors.

Private Attributes

std::vector< btTransformeffector_T_obj_
std::vector< btTransformeffector_T_ref_
unsigned int n_effectors_
std::vector< btTransformobj_T_effectors_
btTransform obj_T_ref_

Detailed Description

Definition at line 53 of file manipulation_transforms.h.


Constructor & Destructor Documentation

Empty constructor for ManipulationTransforms.

ManipulationTransforms.h

Date:
Jun 28, 2010
Author:
Jonathan Scholz

Definition at line 47 of file manipulation_transforms.cpp.

ManipulationTransforms::ManipulationTransforms ( const btTransform obj_initial_pose,
const std::vector< btTransform > &  effector_initial_poses 
)

Full constructor for ManipulationTransforms.

Parameters:
obj_initial_poseTransform from reference frame to obj
effector_initial_posesvector of transforms from reference frame to each effector

Definition at line 62 of file manipulation_transforms.cpp.

ManipulationTransforms::ManipulationTransforms ( const btTransform obj_initial_pose,
const btTransform effector_initial_pose 
)

Definition at line 52 of file manipulation_transforms.cpp.

ManipulationTransforms::ManipulationTransforms ( const btTransform obj_initial_pose,
const btTransform effector1_initial_pose,
const btTransform effector2_initial_pose 
)

Wrapper for single effector.

Definition at line 57 of file manipulation_transforms.cpp.

Wrapper for twin effectors.

Definition at line 68 of file manipulation_transforms.cpp.


Member Function Documentation

double ManipulationTransforms::mapEffectorPosesToObject ( const std::vector< btTransform > &  effector_query_poses,
btTransform obj_pose 
)

Wrapper for twin effectors.

Finds pose of object given effector poses

Parameters:
effector_query_posesCurrent poses of each effector
Postcondition:
obj_pose contains transform of object in reference frame, given provided effector positions

@ brief Computes obj_pose from effector poses by applying the forward transforms

Get obj pose according to right effector

Combine two rotations equally

Combine mean rotation with mean translation into final transform

Return an error metric based on agreement of rotational and translational components

Definition at line 133 of file manipulation_transforms.cpp.

double ManipulationTransforms::mapEffectorPosesToObject ( const btTransform effector_query_pose,
btTransform obj_pose 
)

Definition at line 172 of file manipulation_transforms.cpp.

double ManipulationTransforms::mapEffectorPosesToObject ( const btTransform effector1_query_pose,
const btTransform effector2_query_pose,
btTransform obj_pose 
)

Wrapper for single effector.

Definition at line 182 of file manipulation_transforms.cpp.

double ManipulationTransforms::mapEffectorTwistsToObject ( const std::vector< KDL::Twist > &  effector_query_twists,
KDL::Twist obj_twist,
bool  from_ref = true 
)

Wrapper for twin effectors.

Sets twist of obj given effector twists.

Sets twist of object given effector twists

Parameters:
effector_query_twistsCurrent twists of each effector in their own frame
obj_twistA reference to the twist being calculated
from_refIf true, then the input effector twists are assumed to be defined in the reference frame (NOT the effector frame), and are rotated appropriately. This is the natural situation when working with twists from a cartesian arm controller.
Postcondition:
obj_twist contains twist of object in specified frame, computed as the un-weighted average of transformations according to all effector twists and relative positions
Returns:
The flattened variance of the twist estimates

Definition at line 239 of file manipulation_transforms.cpp.

double ManipulationTransforms::mapEffectorTwistsToObject ( const KDL::Twist effector_query_twist,
KDL::Twist obj_twist,
bool  from_ref = true 
)

Definition at line 286 of file manipulation_transforms.cpp.

double ManipulationTransforms::mapEffectorTwistsToObject ( const KDL::Twist effector1_query_twist,
const KDL::Twist effector2_query_twist,
KDL::Twist obj_twist,
bool  from_ref = true 
)

Wrapper for single effector.

Definition at line 297 of file manipulation_transforms.cpp.

double ManipulationTransforms::mapEffectorWrenchesToObject ( const std::vector< KDL::Wrench > &  effector_query_wrenches,
KDL::Wrench obj_wrench 
)

Finds wrench on the object given wrench at each effector.

Sets wrench of object given effector wrenches.

Parameters:
effector_query_wrenchesCurrent wrench at each effector
Postcondition:
obj_wrench contains wrench on object in reference frame, computed as the sum of wrenches mapped into the reference frame
Returns:
<UNTESTED>

Definition at line 373 of file manipulation_transforms.cpp.

double ManipulationTransforms::mapObjectPoseToEffectors ( const btTransform obj_query_pose,
std::vector< btTransform > &  effector_poses 
)

Wrapper for twin effectors.

Computes r_effector_pose and l_effector_pose from obj pose by applying the backward transforms.

Finds required effector poses given the provided object pose

Parameters:
obj_poseDesired transform of object in reference frame
Postcondition:
effector_poses set according to obj_pose
Returns:

Definition at line 196 of file manipulation_transforms.cpp.

double ManipulationTransforms::mapObjectPoseToEffectors ( const btTransform obj_query_pose,
btTransform effector_pose 
)

Definition at line 210 of file manipulation_transforms.cpp.

double ManipulationTransforms::mapObjectPoseToEffectors ( const btTransform obj_query_pose,
btTransform effector1_pose,
btTransform effector2_pose 
)

Wrapper for single effector.

Definition at line 223 of file manipulation_transforms.cpp.

double ManipulationTransforms::mapObjectTwistToEffectors ( const KDL::Twist obj_query_twist,
std::vector< KDL::Twist > &  effector_twists,
bool  to_ref = true 
)

Wrapper for twin effectors.

Sets effector twists given the provided object twist.

Sets effector twists given the desired object twist

Parameters:
obj_query_twistContains twist of object in the object frame
effector_twistsA reference to the vector of effector twists, each defined in their own frame
to_refIf true, then the output effector twists are rotated to the reference frame (from separate effector frames). This is the natural situation when working with twists from a cartesian arm controller.
Postcondition:
effector_twists contains twist of effectors in specified frame required to produce obj_query_twist
Returns:

Definition at line 312 of file manipulation_transforms.cpp.

double ManipulationTransforms::mapObjectTwistToEffectors ( const KDL::Twist obj_query_twist,
KDL::Twist effector_twist,
bool  to_ref = true 
)

Definition at line 345 of file manipulation_transforms.cpp.

double ManipulationTransforms::mapObjectTwistToEffectors ( const KDL::Twist obj_query_twist,
KDL::Twist effector1_twist,
KDL::Twist effector2_twist,
bool  to_ref = true 
)

Definition at line 357 of file manipulation_transforms.cpp.

double ManipulationTransforms::mapObjectWrenchToEffectors ( const KDL::Wrench obj_query_wrench,
std::vector< KDL::Wrench > &  effector_wrenches 
)

Sets effector wrenches given the desired object wrench.

Sets effector wrenches given the provided object wrench.

Parameters:
obj_query_wrenchcontains the wrench at the object in the reference frame
Postcondition:
effector_wrenches are set to achieve desired obj_query_wrench
Returns:
<UNTESTED>

Definition at line 398 of file manipulation_transforms.cpp.

void ManipulationTransforms::setInitialTransforms ( const btTransform obj_initial_pose,
const std::vector< btTransform > &  effector_initial_poses 
)

Initializer for ManipulationTransforms.

Computes the relative transforms between obj and effectors given the transforms specified in the reference frame.

Parameters:
obj_initial_poseTransform from object to reference frame
effector_initial_posesVector of transforms from each effector to reference frame

Definition at line 73 of file manipulation_transforms.cpp.

void ManipulationTransforms::setInitialTransforms ( const btTransform obj_initial_pose,
const btTransform effector_initial_pose 
)

Definition at line 95 of file manipulation_transforms.cpp.

void ManipulationTransforms::setInitialTransforms ( const btTransform obj_initial_pose,
const btTransform effector1_initial_pose,
const btTransform effector2_initial_pose 
)

Wrapper for single effector.

Definition at line 112 of file manipulation_transforms.cpp.


Member Data Documentation

Vector of transforms from object frame to effectors

Definition at line 150 of file manipulation_transforms.h.

Vector of transforms from effector frames to object

Definition at line 152 of file manipulation_transforms.h.

unsigned int ManipulationTransforms::n_effectors_ [private]

Definition at line 147 of file manipulation_transforms.h.

The number of effectors

Definition at line 149 of file manipulation_transforms.h.

Vector of transforms from effectors to reference frame

Definition at line 153 of file manipulation_transforms.h.


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


manipulation_transforms
Author(s): Jonathan Scholz
autogenerated on Tue Jan 7 2014 11:10:08