Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

OSCAR::ManipulatorData Class Reference
[FileData]

Reads a manipulator model from a data file or programmatically create them. More...

#include <ManipulatorData.h>

Inheritance diagram for OSCAR::ManipulatorData:

Inheritance graph
[legend]
List of all members.

Public Methods

 ManipulatorData (const String &inputFileName, OSCARError &err=DUMMY_ERROR(noError), const String &rootElementName=String("Manipulator"), const String name=String(""))
 ManipulatorData (const char *xmlDataString, OSCARError &err=DUMMY_ERROR(noError), const String &rootElementName=String("Manipulator"), const String name=String(""))
 ManipulatorData (const DOMElement *manipulatorNode, OSCARError &err=DUMMY_ERROR(noError), const String &rootElementName=String("Manipulator"), const String name=String(""))
 ManipulatorData (const ManipulatorData &rhs)
virtual ~ManipulatorData ()
ManipulatorData & operator= (const ManipulatorData &rhs)
const XMLDHDataGetDHParameters () const
void SetDHParameters (const XMLDHData &dhParameters)
const LimitsDataGetLimits () const
void SetLimits (const LimitsData &limits)
const XformGetBasePose () const
void SetBasePose (const Xform &basePose)
const XformGetToolPlatePose () const
void SetToolPlatePose (const Xform &toolPlatePose)
void SetFramesOfInterest (const std::vector< Xform > &framesOfInterest)
const std::vector< Xform > * GetFramesOfInterest () const
void SetSpecifications (const SpecificationsData &specs)
const SpecificationsDataGetSpecifications () const
void SetConfigurationsOfInterest (const std::vector< Configuration > &configurationsOfInterest, AngleUnits angUnits=Degrees)
const std::vector< Configuration > * GetConfigurationsOfInterest () const
AngleUnits GetConfigurationsOfInterestAngleUnits () const
void SetConfigurationsOfInterestAngleUnits (AngleUnits angUnits)
const NodeGetObstacleModel () const
void SetObstacleModel (const Node &obstacleModel)
bool Output (std::ostream &out, bool nameSpaceHeader=false) const

Protected Methods

virtual bool parseParameters (const DOMElement *manipulatorNode)
void clearConfigurationsOfInterest ()

Protected Attributes

Xform basePose
Xform toolPlatePose
XMLDHDatadhParameters
LimitsDatalimitsData
NodeobstacleModel
std::vector< XformframesOfInterest
std::vector< ConfigurationconfigurationsOfInterest
AngleUnits configurationOfInterestAngleUnits
SpecificationsDataspecs

Detailed Description

Author:
Chetan Kapoor


Constructor & Destructor Documentation

OSCAR::ManipulatorData::ManipulatorData const String   inputFileName,
OSCARError   err = DUMMY_ERROR(noError),
const String   rootElementName = String("Manipulator"),
const String    name = String("")
 

Constructor.

This is the constructor for an object of type ManipulatorData. Use this to construct an ManipulatorData object by supplying a datafile that contains the manipulator model of the robot. Possible errors that may occur include a fileOpenError or #dhParamsIllformed or xmlError. A call to LoadData() should follow a succesful constructor call.

Parameters:
inputFileName This is a file that contains the manipulator model specified in XML format. Example of this file for the Mitsubishi PA-7C robot is given below: <rrgOSCAR:Manipulator xmlns:rrgOSCAR="http://www.robotics.utexas.edu" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> Mitsubishi Pa-10 C
Paul 0 0 0 -90 0 0 90 0 450 -90 0 0 90 0 480 -90 0 0 90 0 0 1 0 0 -5 0 1 0 12 0 0 1 10 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 5 0 0 0 1

-177 177 -94 94 -174 174 -137 137 -255 255 -165 165 -255 255

-1.4 1.4 -1.4 1.4 -2.8 2.8 -2.8 2.8 -6.2832 6.2832 -6.2832 6.2832 -6.2832 6.2832

-100 100 -100 100 -200 200 -200 200 -628.32 628.32 -628.32 628.32 -628.32 628.32 </rrgOSCAR:Manipulator>

Parameters:
err A reference to an object of type OSCARError. The default OSCARError object holds values that imply a "No Error" state. This is an error code that is returned.
name An String that specifies the Name of the object being created.
Exceptions:
dhParamsIllFormed dhParamsIllFormed Call GetError() for more information.
xmlError xmlError Call GetError() for more information
See also:
LoadData()

OSCAR::ManipulatorData::ManipulatorData const char *    xmlDataString,
OSCARError   err = DUMMY_ERROR(noError),
const String   rootElementName = String("Manipulator"),
const String    name = String("")
 

Constructor.

This is the constructor for an object of type ManipulatorData. Use this to construct an ManipulatorData object from a char string holding the XML description of a manipulator model. Possible errors that may occur include #dhParamsIllformed exception or xmlError. A call to LoadData() should follow a succesful constructor call.

Parameters:
xmlDataString A null terminated string of char that contains XML data. Each XML file should specify the data with the target namespace rrgOSCAR with namespace www.robotics.utexas.edu and conforming to the schemas defined for OSCAR. See www.robotics.utexas.edu for valid schemas.
err A reference to an object of type OSCARError. The default OSCARError object holds values that imply a "No Error" state. This is an error code that is returned.
name An String that specifies the Name of the object being created.
Exceptions:
xmlError xmlError Call GetError() for more information
See also:
XMLData(const String& inputFileName, OSCARError &err = DUMMY_ERROR(noError), const String name = String(" "))

LoadData()

Exceptions:
dhParamsIllFormed dhParamsIllFormed Call GetError() for more information.
xmlError xmlError Call GetError() for more information
See also:
LoadData()

OSCAR::ManipulatorData::ManipulatorData const DOMElement *    manipulatorNode,
OSCARError   err = DUMMY_ERROR(noError),
const String   rootElementName = String("Manipulator"),
const String    name = String("")
 

Constructor that allows xml data to be loaded from pre validated DOMElement containing a ManipulatorData node. A call to LoadData() should follow a succesful constructor call.

This is the constructor for an object of type XMLData. Use this to construct an XMLData object by supplying a valid DOMElement that contains validated and well formed data.

Parameters:
manipulatorNode A parent node that contains the data that will be parsed. It is assumed that the the target namespace is rrgOSCAR with namespace www.robotics.utexas.edu and data conforms to the schemas defined for OSCAR. See www.robotics.utexas.edu for valid schemas.
err A reference to an object of type OSCARError. The default OSCARError object holds values that imply a "No Error" state. This is an error code that is returned.
name An String that specifies the Name of the object being created.
Exceptions:
xmlError xmlError Call GetError() for more information
See also:
ManipulatorData(const String& inputFileName, OSCARError &err = DUMMY_ERROR(noError), const String name = String(" "))

LoadData()

OSCAR::ManipulatorData::ManipulatorData const ManipulatorData &    rhs
 

Copy Constructor.

This is the Copy Constructor for an object of type ManipulatorData. Use this to construct an ManipulatorData object from an existing ManipulatorData object.

Parameters:
rhs An ManipulatorData object that will be used to initialize this new object.

virtual OSCAR::ManipulatorData::~ManipulatorData   [virtual]
 

Destructor.

This is the Destructor for an object of type ManipulatorData.


Member Function Documentation

void OSCAR::ManipulatorData::clearConfigurationsOfInterest   [protected]
 

const Xform* OSCAR::ManipulatorData::GetBasePose   const
 

Returns a 4X4 transformation matrix specifying the base pose of the manipulator, expressed\ in a global world frame.

Returns:
An Xform containing the base pose
See also:
SetBasePose(const Xform& )

SetToolPlatePose(const Xform& )

GetToolPlatePose() const

const std::vector<Configuration>* OSCAR::ManipulatorData::GetConfigurationsOfInterest   const
 

Returns a const pointer to a vector containing frames of interest for the manipulator. These are specified in the manipulator base frame.

Returns:
A const pointer to a vector containing frames of interest
See also:
SetConfigurationsOfInterest(const std::vector<Xform>& )

AngleUnits OSCAR::ManipulatorData::GetConfigurationsOfInterestAngleUnits   const
 

const XMLDHData* OSCAR::ManipulatorData::GetDHParameters   const
 

Returns a pointer to a XMLDHData object that holds the DH parameters of the manipulator.

Returns:
A valid XMLDHData pointer or 0 if DH parameters have not been defined
See also:
SetDHParameters(const XMLDHData& )

GetBasePose() const

SetBasePose(const Xform& )

SetToolPlatePose(const Xform& )

GetToolPlatePose() const

const std::vector<Xform>* OSCAR::ManipulatorData::GetFramesOfInterest   const
 

Returns a const pointer to a vector containing frames of interest for the manipulator. These are specified in the manipulator base frame.

Returns:
A const pointer to a vector containing frames of interest
See also:
SetFramesOfInterest(const std::vector<Xform>& )

const LimitsData* OSCAR::ManipulatorData::GetLimits   const
 

Returns a pointer to a LimitsData object that holds the joint limits for the manipulator.

Returns:
A valid LimitsData pointer or 0 if no limits have been defined
See also:
SetLimits(const LimitsData& )

GetBasePose() const

SetBasePose(const Xform& )

SetToolPlatePose(const Xform& )

GetToolPlatePose() const

const Node* OSCAR::ManipulatorData::GetObstacleModel   const
 

Returns a pointer to a Node object that contains the Manipulator obstacle model.

Returns:
A valid Node pointer or 0 if no obstacle model has been defined
See also:
SetObstacleModel() const

const SpecificationsData* OSCAR::ManipulatorData::GetSpecifications   const
 

Returns a const pointer to a SpecificationsData object.

Returns:
A const pointer to a SpecificationsData object. Null if no specifications are available
See also:
SetSpeciciations(const SpecificationsData& )

const Xform* OSCAR::ManipulatorData::GetToolPlatePose   const
 

Returns a 4X4 transformation matrix specifying the pose of the tool plate of the manipulator as expressed in the last DH frame.

Returns:
An Xform containing the tool plate pose
See also:
SetBasePose(const Xform& )

SetToolPlatePose(const Xform& )

GetBasePose() const

ManipulatorData& OSCAR::ManipulatorData::operator= const ManipulatorData &    rhs
 

Assignment Operator.

This is the Assignment Operator for an object of type ManipulatorData.

Parameters:
rhs A ManipulatorData object that goes on the right hand side of the = operator
Returns:
A reference to the object on the left hand side of the = operator

bool OSCAR::ManipulatorData::Output std::ostream &    out,
bool    nameSpaceHeader = false
const [virtual]
 

Outputs stored data Manipulator element in XML format. The root element for ManipulatorData is .

Parameters:
out A valid outputs stream to which data is outputed
nameSpaceHeader If true, the name space is appended to the root element. Normally, this should be true if you are outputting this data as a stand alone document. If you are outputting as a subset of higher level xml data, it should be false. The root node of the overall document should however output the namespace header. Default value is false.
Returns:
A true or a false. If false, call GetError() for detailed error information
Exceptions:
 

Implements OSCAR::XMLData.

virtual bool OSCAR::ManipulatorData::parseParameters const DOMElement *    manipulatorNode [protected, virtual]
 

Overloaded method for parsing an element of type ManipulatorType.

Parameters:
manipulatorNode A DOMElement that points to a Manipulator element

Reimplemented from OSCAR::XMLData.

void OSCAR::ManipulatorData::SetBasePose const Xform   basePose
 

Sets the 4X4 transformation matrix specifying the pose of the first (zeroth) DH frame of the manipulator as expressed in the global world frame.

Parameters:
basePose An Xform containing the base pose expressed in the global world frame. Units should be consistent with DH parameters units
See also:
GetBasePose() const

GetToolPlatePose() const

GetBasePose() const

void OSCAR::ManipulatorData::SetConfigurationsOfInterest const std::vector< Configuration > &    configurationsOfInterest,
AngleUnits    angUnits = Degrees
 

Sets the joint configurations that are used to specify relevant configurations for this manipulator.

Parameters:
configurationsOfInterest A vector of Configurations. This argument replaces the internally stored configurations of interest
See also:
GetConfigurationsOfInterest() const

void OSCAR::ManipulatorData::SetConfigurationsOfInterestAngleUnits AngleUnits    angUnits
 

void OSCAR::ManipulatorData::SetDHParameters const XMLDHData   dhParameters
 

Set the DH parameters of the object by specifying an XMLDHData object This will overwrite the existing DH parameters.

See also:
GetDHParameters() const

GetBasePose() const

SetBasePose(const Xform& )

SetToolPlatePose(const Xform& )

GetToolPlatePose() const

void OSCAR::ManipulatorData::SetFramesOfInterest const std::vector< Xform > &    framesOfInterest
 

Sets the 4X4 transformation matrices that are used to specify relevant frames for this manipulator. These frames are specified in the manipulator base frame.

Parameters:
framesOfInterest A vector of Xform's. This argument replaces the internally stored frames of interest
See also:
GetFramesOfInterest() const

void OSCAR::ManipulatorData::SetLimits const LimitsData   limits
 

Set the limits of the manipualtor by specifying a LimitsData object This method will overwrite the existing LimitsData.

See also:
GetLimits() const

GetBasePose() const

SetBasePose(const Xform& )

SetToolPlatePose(const Xform& )

GetToolPlatePose() const

void OSCAR::ManipulatorData::SetObstacleModel const Node   obstacleModel
 

Set the obstacle model of a manipulator by specifying a Node object This method will overwrite the existing Node.

Parameters:
obstacleModel A valid Node object that contains the manipulator obstacle model
See also:
GetObstacleModel() const

void OSCAR::ManipulatorData::SetSpecifications const SpecificationsData   specs
 

Sets the specifications of the manipulator.

Parameters:
specs A SpecificationsData object that replaces the one currently stored in this
See also:
GetSpecifications() const

void OSCAR::ManipulatorData::SetToolPlatePose const Xform   toolPlatePose
 

Sets the 4X4 transformation matrix specifying the pose of the tool plate of the manipulator as expressed in the last DH frame.

Parameters:
toolPlatePose An Xform containing the tool plate pose expressed in the last DH frame. Units should be consistent with DH parameters units
See also:
SetBasePose(const Xform& )

GetToolPlatePose() const

GetBasePose() const


Member Data Documentation

Xform OSCAR::ManipulatorData::basePose [protected]
 

AngleUnits OSCAR::ManipulatorData::configurationOfInterestAngleUnits [protected]
 

std::vector< Configuration > OSCAR::ManipulatorData::configurationsOfInterest [protected]
 

XMLDHData* OSCAR::ManipulatorData::dhParameters [protected]
 

std::vector< Xform > OSCAR::ManipulatorData::framesOfInterest [protected]
 

LimitsData* OSCAR::ManipulatorData::limitsData [protected]
 

Node* OSCAR::ManipulatorData::obstacleModel [protected]
 

SpecificationsData* OSCAR::ManipulatorData::specs [protected]
 

Xform OSCAR::ManipulatorData::toolPlatePose [protected]
 


The documentation for this class was generated from the following file:
RRG Homepage OSCAR Overview OSCAR Tutorials Simulations