#include <WorkCell.hpp>
Inheritance diagram for OSCAR::WorkCell:

Public Types | |
| enum | INFO_TYPE { DISTANCE, FIRST_ORDER, SECOND_ORDER, SECOND_ORDER_FD } |
Public Methods | |
| WorkCell (const String &filename, OSCARError &err, FKAcceleration **fkBegin=NULL, FKAcceleration **fkEnd=NULL, const String &name=String()) | |
| WorkCell (OSCARError &err=DUMMY_ERROR(noError), const String &name=String()) | |
| virtual | ~WorkCell () |
| bool | UpdateAllArms () |
| bool | UpdateAllArmsXML () |
| bool | UpdateArm (unsigned int armIndex, const Vector &jointPos) |
| bool | UpdateArmXML (unsigned int armIndex, const Vector &jointPos) |
| bool | UpdateArm (unsigned int armIndex) |
| bool | UpdateArmXML (unsigned int armIndex) |
| bool | UpdateArm (Node *arm, const Vector &jointPos) |
| bool | UpdateArm (Node *arm, const Xform &base, const Xform *globalTransformations) |
| bool | UpdateSphere (unsigned int index, Vector3 &pt, double rd) |
| bool | UpdateCylinder (unsigned int index, Vector3 &pt1, Vector3 &pt2, double rd) |
| bool | UpdatePlane (unsigned int index, Vector3 &pt0, Vector3 &pt1, Vector3 &pt2, double th=0.0, bool bounded=false) |
| bool | GetSizeParameters (unsigned int armIndex, unsigned int &armLngth, unsigned int &obNum, unsigned int &DOF) const |
| bool | GetObAvInfo (unsigned int armIndex, const Vector &jointPos, ObAvInfo &obInfo, INFO_TYPE iType=FIRST_ORDER) |
| bool | OutputModelInfo (std::ostream &fout=std::cout) |
| const Vector3 & | GetLinkInfo (unsigned int armIndex, int linkIndex, int pointIndex) const |
| const Vector3 & | GetSphrInfo (unsigned int index) const |
| unsigned int | NumPrimitives () const |
| const FKAcceleration * | FKAccel (unsigned int armIndex) const |
| FKAcceleration * | FKAccel (unsigned int armIndex) |
| bool | CalcDist (const Node *arm, DistanceResults &results) |
| bool | CalcGFunctions (const Node *arm, DistanceResults &results) |
| const FKAcceleration * | GetFK (const Node *arm) const |
| FKAcceleration * | GetFK (const Node *arm) |
| bool | CalcDist (const String &arm, DistanceResults &results) |
| bool | CalcDist (unsigned int armIndex, DistanceResults &results) |
| bool | CalcDist (unsigned int armIndex, ObAvInfo &obInfo) |
| bool | CalcDist (ObAvInfo &obInfo) |
| bool | CalcGHfunctions (ObAvInfo &obInfo) const |
| bool | LoadFile (const String &file, FKAcceleration **fkBegin=NULL, FKAcceleration **fkEnd=NULL) |
| bool | LoadXMLFile (const String &file, std::vector< FKAcceleration * > &fkAccels) |
| bool | LoadWorkcellData (const WorkcellData &workcellData) |
| bool | LoadWorkcellData (const WorkcellData &workcellData, std::vector< FKAcceleration * > &fkAccels) |
| NodeList & | GetManipulators () |
| NodeList & | GetEnvironment () |
| const ObAvData & | GetData () const |
| bool | Add (Node *node, const Primitive *toAdd) |
| bool | Add (Node *newParent, Node *toAdd) |
| bool | Remove (Node *parent, Node *toRemove) |
| bool | Remove (Node *containedIn, Primitive *toRemove) |
| bool | Move (Node *fromNode, Node *toNode, Node *toMove) |
| bool | Move (Node *fromNode, Node *toNode, Primitive *toMove) |
| ModelingObject * | LocateModelingObject (const String &name) |
| double | RetrieveMinimumDistance (Node *manipulator, const DistanceResults &results, Primitive *&manipulatorPrim, Primitive *&enviPrim) |
| unsigned int | GetNumberManipulatorPrimitives (Node *arm) |
| unsigned int | GetNumberEnvironmentPrimitives (Node *arm) |
| bool | CalculateSelfDistances (Node *arm, DistanceResults &results) |
Private Methods | |
| bool | LoadMap () |
| bool | LoadMap (Node &toLoad) |
| bool | minDist (double &mindist, Node *from, Node *to, const DistanceResults &results, Primitive *&smallestFromOn, Primitive *&smallestToOn) |
| bool | iterateEnvironmentMinDist (double &mindist, Node *manip, Node *envi, const DistanceResults &results, Primitive *&smallestManipOn, Primitive *&smallestEnviOn) |
| unsigned int | countEnvironmentPrimitives (Node *envi) |
| bool | updateArm (NodeList::iterator &arm, unsigned int accelIndex) |
| bool | calcH_FD (unsigned int armIndex, const Vector &jointPos, ObAvInfo &obInfo) |
| bool | calcACylH (unsigned int armIndex, Vector3 &p1, Vector3 &p2, Vector3 &p3, Vector3 &p4, unsigned int joint_No, double t1, double t2, double d, Matrix &dHat, const Matrix &Gp, Matrix &HdT, Matrix &GdSq, Matrix &Hd) const |
| bool | calcCylH (unsigned int armIndex, const Vector3 &p1, const Vector3 &p2, const Vector3 &p3, const Vector3 &p4, int joint_No, double t1, double t2, double d, Matrix &dHat, const Matrix &Gp, Matrix &HdT, Matrix &GdSq, Matrix &Hd) const |
| bool | calcSpH (unsigned int armIndex, const Vector3 &p1, const Vector3 &p2, Vector3 &p3, int joint_No, double t, double d, Matrix &dHat, const Matrix &Gp, Matrix &HdT, Matrix &GdSq, Matrix &Hd) const |
| bool | calcPlH (unsigned int armIndex, Vector3 &p1, Vector3 &p2, Vector3 &p3, Vector3 &p4, Vector3 &p5, int joint_No, double t1, double &t2, double d, Matrix &dHat, const Matrix &Gp, Matrix &HdT, Matrix &GdSq, Matrix &Hd) const |
| WorkCell (const WorkCell &cont) | |
| WorkCell & | operator= (const WorkCell &cont) |
Private Attributes | |
| ModelingObjectMap | objectMap |
| DistanceCalculator | calculator |
| NodeList | manipulators |
| NodeList | environment |
| Xform | base |
| String | compare |
| INFO_TYPE | iType |
| ObAvData | obDat |
| vector< FKAcceleration * > | fkAccel |
| bool | ownFKAccelerations |
|
|
|
|
||||||||||||||||||||||||
|
Constructor for WorkCell. Constructs an WorkCell object, a container object that holds all of the geometric information for the system.
|
|
||||||||||||
|
Constructor for WorkCell. Constructs an WorkCell object, a container object that holds all of the geometric information for the system.
|
|
|
Destructor for WorkCell.
|
|
|
Copy Constructor This function is declared and not defined to disable copy construction.
|
|
||||||||||||
|
Add a new child node to the specified node. Will automatically add the new node and all of its children/primitives to the MOdelingObjectMap Note that this function invokes the Node classes Add(Node* node) function, so all caveats posed there will also apply here.
|
|
||||||||||||
|
Add a primitive to the specified node. Will automatically add the primitive to the ModelingObjectMap.
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
Calculates the witness points, witness direction unit vectors and magnitudes for an arm. Arm index is deduced from the obInfo object
|
|
||||||||||||
|
Calculate the witnesspoints, witness direction unit vectors and magnitudes for an arm.
|
|
||||||||||||
|
Calculates the witness points, witness direction unit vectors and magnitudes for an arm.
|
|
||||||||||||
|
Calculates the wintesspoints, witness direction unit vectors and magnitudes for an arm.
|
|
||||||||||||
|
Calculates the witnesspoints, witness direction unit vectors and magnitudes for an arm.
|
|
||||||||||||
|
|
|
|
Calculates the G and H functions of witness points, depending on obInfo.iType, and stores them in obInfo.
|
|
||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||
|
|
|
|
|
|
|
Returns pointer to the FKAcceleration object for the specified arm.
|
|
|
Returns pointer to the FKAcceleration object for the specified arm.
|
|
|
Gives acess to the information held in the workcells main ObAvData object.
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
Get location of point on arm.
|
|
|
|
|
|
Returns the total number of primitives in a manipulator's environment (including other manipulators).
|
|
|
Returns the total number of primitives contained within a manipulator arm.
|
|
||||||||||||||||||||
|
Calculate obstacle avoidance info for given arm. Updates the location of arm armIndex with jointPos, then calculates all the obstacle avoidance info and store in _obInfo.
|
|
||||||||||||||||||||
|
Get info about model of arm.
|
|
|
Get location of spherical obstacle.
|
|
||||||||||||||||||||||||||||
|
|
|
||||||||||||||||
|
Load a description of the robot and environment into the work cell.
|
|
|
|
|
|
|
|
||||||||||||
|
Load WorkcellData object in to the workcell. This method is prefered over the LoadWorkcellData(const WorkcellData& workcellData) above if memory is of great concern. This method uses the existing FKAcceleration objects, thus saving memory when compared with the LoadWorkcellData(const WorkcellData& workcellData) method, which generates new FKAcceleration objects.
|
|
|
Load WorkcellData object in to the workcell. This is a convenient method for the LoadWorkcellData(const WorkcellData& workcellData, std::vector<FKAcceleration*>& fkAccels) below. Basically, this method will generate a vector of FKAcceleration objects within itself using the data in the WorkcellData object.
|
|
||||||||||||
|
Load an XML description of the robot and the environment in to the workcell.
|
|
|
Retrieve the address of a uniquely named ModelingObject (Node or Primitive) within the WorkCell. This function directly invokes the Get function of the ModelingObjectMap contained within the WorkCell.
|
|
||||||||||||||||||||||||||||
|
|
|
||||||||||||||||
|
Move a primitive from one node to another. This invokes the Node function Move(Node& from, Primitive* primitive).
|
|
||||||||||||||||
|
Move a modeling node from being the child of one node to being a child of another. This invokes the node function Move(Node& from, Node* node).
|
|
|
Returns the number of geometric primitives in the work cell. The total number of primitives in the work cell include all primitives used to model robot arms and all obstacles in the cell
|
|
|
Deep Copy operator This function is declared and not defined to disable deep copy (i.e. x = y assignment) of one WorkCell object to another.
|
|
|
Outputs locations of obstacles Prints locations of obstacles onto stream.
|
|
||||||||||||
|
Remove a primitive from the modeling arhictecture. This will invoke the Node function Remove(Primitive* Primitive) This function will also remove the node from the ModelingObjectMap contained within the WorkCell.
|
|
||||||||||||
|
Remove a node from the modeling architecture. This will invoke the Node function Remove(Node* node); This function will also remove the node from the ModelingObjectMap contained within the WorkCell.
|
|
||||||||||||||||||||
|
Calculates the minimum distance between a paticular manipulator and the rest of the work cell.
|
|
|
Update the location of all arm models. Updates the location of all the arms modeled based on the last location set in the internal forward kinematics.
|
|
|
Update the location of all arm models loaded in through XML to the node structure. This function will eventually be called UpdateAllArms, and the old function will be removed. Updates the location of all the arms modeled based on the last location set in the FKAcceleration objects which were initially sent into the WorkCell
|
|
||||||||||||
|
|
|
||||||||||||||||
|
Update the location of the given arm, using the specified global transformations (Xforms).
|
|
||||||||||||
|
Update the location of the given arm, using the specified joint positions.
|
|
|
Update the location of the give arm. Updates the location of the arm # specified based on the last location set in the internal forward kinematics.
|
|
||||||||||||
|
Update the location of the give arm with the provided joint angles. Updates the location of the arm # specified after updating the location of the arm in the internal forward kinematics using jointPos.
|
|
|
Update the location of the given arm. Updates the location of the arm # specified based on the last location set in the internal forward kinematics.
|
|
||||||||||||
|
brief Update the location of the given arm with the provided joint angles Updates the location of the arm specified by the arm # given as an argument. This is a temporary function to be used with XML loaded data, and will eventually be renammed UpdateArm with the same arguments
|
|
||||||||||||||||||||
|
Update the location of the give cylisphere.
|
|
||||||||||||||||||||||||||||
|
Update the location of the give plane.
|
|
||||||||||||||||
|
Update the location of a sphere. Updates the location and size of the spherical obstacle specified. if successful, false otherwise
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|