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

OSCAR Namespace Reference

OSCAR is the namespace for all of OSCAR. More...


Compounds

class  AbsPosMC
class  ArmMC
class  Array
class  Array< Type >
 This class is a generic template array class. More...

class  ArtificialPotentialF
 A function to calculate artificial potential field (APF). More...

class  ATISensor
 Derived class for ATI Force/Torque sensors. This class is derived from the abstract template class Sensor<Type>. Since this class is used to sense 6D end-effector force vectors accompanied by an error state, Sensor<Type> is customized to Sensor<Vector7> Note: This implementation of the ATI F/T sensor interfaces through the serial port. However, it can interface through DAQ too. The sensor controller supports tool transformations, temperature compensation, biasing, and a variety of error checking. More...

class  Base
 Acts as the base class for all OSCAR classes. More...

class  BaseController
class  BezierCurve
 This class can be used to generate Bezier Curves from provided control points. A Bezier Curve will interpolate the starting and end points and will stay within the convex hull of the control points. More...

class  Bit3IO
class  Box
 A box obstacle used for modeling of objects in workcells. More...

class  BoxData
 Reads and writes a Box to and from an XML data file. More...

class  BSpline
 This class can be used to generate B-Spline curves. B-Splines are an advanced curve form that allows for the order to be set by the user instead of being defined by the number of control points. The Bezier curve is a special form of the B-Spline. More...

class  CartesianControl
class  CollisionDetection
 Collision Detection Class. More...

class  CollisionPoint
class  Cone
 A cone primitive used for modeling of objects in workcells The cone (in its local frame) will be symmetric about the y axis and its total height will be centered at y=0 with the tip of the cone at y=height/2. The cone can then be moved in its local from by specifying a local transform. More...

class  ConeData
 Reads and writes a Cone to and from an XML data file. More...

class  ConfigurationData
 Stores a named joint configuration. More...

struct  ControlParam
class  CoordinateSpace
 Specifies the properties of a coordinate space. More...

class  CoordinateVector
 Create a vector that has coordinate space information. More...

class  CriteriaProperties
class  CriteriaPropertiesRepository
 CriteriaPropertiesRepository is a repository class which holds results \ calculated by the criteria to allow data sharing. More...

class  CubicPoly
 This class allows the user to create a cubic polynomial trajectory by specifying initial and final positions and accelerations. More...

class  Cylisphere
 A cylispherical object for use in robot or as obstacle. More...

class  DeltaMC
class  DeltaWithForceMC
class  Diff
 A class for numerically computing derivatives. More...

class  DIO
 Abstract class for Digital IO. More...

class  DistanceCalculator
 Interface class for Distance Calculators. More...

class  DistanceResults
class  DistanceResultsRepository
 DistanceResultsRepository is a repository which holds DistanceResults objects, which in turn contain the witness points between manipulators and their surroundings, unit vectors pointing from the manipulator witness points, the magnitude of the distance between witness points, and the G and H functions of the witness points. More...

class  DLSEqnSolver
 This class contains methods for calculating solutions to the linear system Ax=b. More...

class  EqnSolver
 This class contains methods for calculating solutions to the linear system Ax=b. More...

class  FifthOrderPoly
 This class allows the user to create a fifth order polynomial trajectory by specifying initial and final conditions for positions,velocities and accelerations. More...

class  FixedSizeArray
 A template class that allows the creation of specific type arrays with a defined fixed size. More...

class  FixedSizeMatrix
 A template class that allows the creation of specific matrices with a defined fixed size. More...

class  FKAcceleration
class  FKJacobian
class  FKJacobianBase
class  FKJacobianMitsubishi
 This class computes a semi closed-form of the Jacobian matrix for the Mitsubishi robot. More...

class  FKJacobianPlanar3R
class  FKPosition
class  FKPositionBase
 Interface class that specifes the minimum interface a derived class should have that implements a forward position solution. Derived classes can implement this interface and also inherit from Kinematics to implement additional functionality. More...

class  FKPositionMitsubishi
 This class contains the ForwardKinematics interface for a Mitsubishi manipulator. More...

class  FKPositionPuma
 This class contains the ForwardKinematics interface for a Puma manipulator. More...

class  FKPositionSpatial3R
 This class contains the ForwardKinematics interface for a Spatial 3R manipulator. More...

class  FKVelocity
class  GeneralKinematicsHandler
class  HandPose
 Represents a 6 element vector whose 1st 3 elements hold the X,Y,Z positions and the last three hold the orientation. More...

class  HandPoseMotion
 This class is designed specifically for developing Cartesian space End-Effector motion using HandPoses. More...

class  HandPoseRepository
 HandPoseRepository is a repository class which holds HandPose data calculated by the criteria to allow data sharing. More...

class  IKCCD
class  IKDirectSearch
 This class contains methods for calculating inverse position and velocity solutions for serial manipulators using the Resolved Rate technique. More...

class  IKJacobian
 This class contains methods for calculating inverse position and velocity solutions for serial manipulators using the Resolved Rate technique. More...

class  IKJAvoidLimits
 This class is used to calculate the inverse position solution using a weighting matrix based on the joint limits. More...

class  IKJDLS
 IKJacobian with Damped Least Square (DLS) technique. More...

class  IKJGenerateOptions
 Generates a set of inverse kinematics solutions for redundant serial manipulators. More...

class  IKJReconfig
 Used to calculate the inverse position solution using the active/inactive functionality. More...

class  IKJTranspose
 This class contains methods for calculating inverse position solutions for serial manipulators (especially low DOF manipulators) using the Jacobian Transpose technique. More...

class  IKMitsubishi
 IKMitsubishi Implements a closed form solution for a standard Mitsubishi Robot. More...

class  IKPosition
 IKPosition acts as the base class for inverse position functionality. More...

class  IKPuma
 IKPuma Implements a closed form solution for a standard Puma Robot. More...

class  IKVelocity
 IKVelocity acts as the base class for inverse velocity functionality. More...

class  JointVector
 Used to pass joint position values. More...

class  KeyboardMC
class  Kinematics
class  KinematicsHandler
 KinematicsHandler describes an abstract class for computing the forward and inverse kinematics of serial robot arms. This class also checks for position limits. User should derive a specific class from this or use the GeneralKinematicsHandler class that is derived from KinematicsHandler. This class and dervied classes implement functionality that computes the forward and inverse position solution. It also checks joint travel limits and singularities. Objects of this class will always maintain a valid joint state and the corresponding cartesian state. Inputs that violate position limits or lead to singularities will not lead to an erroneous state of the system. More...

class  KraftMC
class  MagellanMC
class  Configuration
class  Control
class  ControlInformation
class  Controller
class  CTPDJointControl
class  CylisphereData
 Reads and writes a Cylisphere to and from an XML data file. More...

class  Device
class  DHData
 Reads DH parameters from a data file or programmatically create them. More...

class  Drill
 Drill provides a C++ interface to the custom drill tool for the Robotics Research Arm. This class uses DIO abstract class for IO with the drill. The tool frame for the drill is also set during the construction of this object. A call to GetToolFrame will return the tool frame. The units in which the tool frame is returned are inches. The base plate of the drill is defined in the XY plane, with the Z axis from the drill base plate to the center contact point of the drill. More...

class  DynamicScaling
 This class allows the user to scale joint trajectories to meet velocity, acceleration or torque limits. Time is scaled. More...

class  EEPerturbation
 This class creates a series of options in a sphere around the end-effector. More...

class  ForwardDynamics
 A class to calculate forward dynamics dynamic simulation purposes. More...

class  GeneralKeyboard
class  IDLagrange
 Inverse dynamics using Lagrange. More...

class  IDNewtonEuler
 Inverse dynamics using Newton-Euler. More...

class  IDSANewtonEuler
 Standalone inverse dynamics using Newton-Euler. More...

class  IDStandAlone
 An abstract class for stand-alone inverse dynamics. More...

class  ImpedanceControl
class  ImpedanceFilter
class  Integrator
 Integrator class is used to solve an ODE problem, i.e. More...

class  InverseDynamics
 An abstract class for calculating inverse dynamics. All the calculated torque values are the "required" actuator torques (not the torques acting on the actuators). More...

class  JointControl
class  KB2017Interface
class  Limit
class  Limits
 A Limits object is used to store binary limits data for robot joints. These include min and max. These limits are generally used for Position, Velocity, Current, Acceleration and Torque. In additon to limits, the Limits object can also contain the excess error associated with a joint. These excess errors can be specified for all different limits type. Generally, they are specified for position and current. More...

class  LimitsData
 Reads Limits data from a data file or programmatically create them. LimitsType template argument should either be "Position", "Velocity", "Acceleration", "Current", or "Torque". More...

class  LimitStatusArray
class  MachineInterface
class  ManipulatorData
 Reads a manipulator model from a data file or programmatically create them. More...

class  ManualController
class  Matrix
 This class is a 2D array of doubles that contains the appropriate functionality for managing robotics data. More...

class  MatrixCol
 This class creates a pointer to a column in a Matrix. More...

class  MatrixData
 Reads data from a file that is represented in matrix format. More...

class  MatrixRepository
 MatrixRepository is a repository class which holds vector data calculated by the criteria to allow data sharing. More...

class  MatrixRow
 This class creates a pointer to a row in a Matrix. More...

class  MCDIO
 Class for digital IO using Measurement Computing DAQ boards. More...

class  ModelingObject
 Abstract base class for Primitives and Nodes.

class  ModelingObjectMap
 Contains an STL map which indexes the name of ModelingObjects (Nodes and Primitives) with their address. Useful for finding the address of a modeling Node or Primitive just by knowing its name. The key to the STL map is an OSCAR::String, the data type being stored is ModelingObject*. More...

class  MotionParameters
 This class is used to store the parameters used for generating trajectories. These parameters include: total time for trajectory, sampling time, a vector of start positions, a vector of stop positions, and a filename/matrix of motion constraints. This class is passed to the OfflineMotionPlanner before calculating a trajectory. More...

class  MotionPlanner
class  NiDaqIO
 This class is used to interface with NI DAQ IO boards. More...

class  NIDIO
 Class for digital IO using National Instruments DAQ boards. More...

class  Node
 A Node a tree modeling structure containing instances of the primitives and child nodes, as well as methods to update the locations of the Node and the modeling objects contained within this Node and its children. Basically, a Node has a list of Node's inside it. This list of nodes constitutes its children. A Node also has a list of Primitive's in it. This list of Primitives constitutes the obstacles associated with just itself. More...

class  NodeObstacleData
 Reads a node's obstacle model. A node can have primitive shapes in it and also children nodes. More...

class  ObAvData
 Contains the functionality to read/write data from/to a file for obstacle avoidance. More...

class  ObAvInfo
 Holds results of manipulator-obstacle distance calculations. More...

class  ObAvInfoRepository
 ObAvInfoRepository is a repository which holds ObAvInfo objects, which in turn contain the witness points between manipulators and their surroundings, unit vectors pointing from the manipulator witness points, the magnitude of the distance between witness points, and the G and H functions of the witness points. More...

class  OfflineMotionPlanner
 This class is used for generating and storing trajectories off-line (not in real-time). More...

class  OnlineMotionPlanner
class  Orientation
 Represents a 3 long vector whose elements hold the spatial orientation. More...

class  OSCARError
 Defines an error object that contains an integer value and an error description. More...

class  OSCARXMLErrorReporter
class  ParabolicBlend
 This class can be used to develop a parabolic blend through a set of control points. This creates a smooth 3rd degree curve that passes through each of the control points with C1 continuity. More...

class  PathBlend
 This class implements the constant velocity path blending technique developed R. H. Taylor in "Planning and Execution of Straight-Line Manipulator Trajectories." This class will develop a trajectory that smoothly interpolates straight line motions through a set of via points. More...

class  PCAccelerationLimitsAvoidance
 PCAccelerationLimitsAvoidance is a class for criteria which avoids the acceleration limits for the joints on a manipulator. PCAccelerationLimitsAvoidance is derived from PCVectorLimits. It is a class that computes the manipulator's distance from acceleration limits. More...

class  PCADistToEEWrench
 PCADistToEEWrench is derived from PCADistToTorque and PCJacobianPseudoInverse. More...

class  PCADistToEEWrenchD1
 PCADistToEEWrenchD1 is derived from PCADistToTorque and PCJacobianPseudoInverse. This class is not currently functional and can not be instantiated. More...

class  PCADistToForce
 PCADistToForce computes the joint Forces/forces based on distances to surrounding obstacles. More...

class  PCADistToForceD1
 PCADistToForceD1 is derived from PCADistToForce. More...

class  PCADistToTorque
 PCADistToTorque computes the joint torques/forces based on distances to surrounding obstacles. More...

class  PCADistToTorqueD1
 Computes the first derivative of the torques due to artificial forces. This class is not currently functional. More...

class  PCAverageDistReciprocal
 PCAverageDistReciprocal calculates the average of the reciprocal of the minimum distance from the robot arm to obstacles. More...

class  PCAWorkCell
 PCAWorkCell uses a WorkCell to compute and store the obstacle avoidance information (see DistanceResults). More...

class  PCCompliance
 PCCompliance is an abstract class for criteria which are based on the compliance matrix. PCCompliance is derived from PCJacobian. It is an intermediate abstract class that contains the functionality to compute the compliance matrix necessary for certain criteria. More...

class  PCComplianceEigenVectors
 PCComplianceEigenVectors is an abstract class for criteria which are based on the eigenvalues or eigenvectors of the compliance matrix. PCComplianceEigenVectors is derived from PCCompliance. It is an intermediate abstract class that contains the functionality to compute the eigenvalues and eigenvectors for compliance certain criteria. This class is only available if you are using the Matrix class that uses Matlab libraries. More...

class  PCDexterity
 PCDexterity is a criteria which is based on the condition number of the Jacobian, minimum and maximum eigenvalues. The condition number specifies the Jacobian's sensitivity to error, therefore well-conditioned Jacobians are less likely to produce significant error for any specified motion. Dexterity minimizes any error at the EEF due to errors in the actuators. Another definition is the EEF's ability to react to any commanded position equally well. Since it is based on Jacobian eigenvalues, it also indicates proximity to a singulatity. PCDexterity is derived from PCJacobianEigenValues. More...

class  PCDirectionalEEFStiffness
 PCDirectionalEEFStiffness is a criteria that evaluates stiffness in a given direction. Knowing the direction of force will allow the manipulator to reorient itself in a stiffer orientation. PCDirectionalEEFStiffness is derived from PCComplianceEigenVectors. More...

class  PCEEFInertia
 PCEEFInertia is an intermediate class for criteria which are based on the Transferred EEF Inertia matrix. PCEEFInertia is derived from RRCInertia. It is an intermediate abstract class that contains the functionality to compute the transfer the Inertia matrix to the EEF necessary for certain criteria. More...

class  PCEEFKineticEnergy
 PCEEFKineticEnergy is a criteria which is based on the transferred inertia matrix and the velocity of the end-effector. This criteria attempts to minimize the kinetic energy in the direction of motion ofthe EEF. PCEEFKineticEnergy is derived from PCEEFInertia. More...

class  PCEEWrench
 PCEEWrench is derived from PCADistToEEWrench. More...

class  PCEEWrenchD1
 PCEEWrenchD1 is derived from PCAWorkCell. More...

class  PCFilter
 PCFilter should be used to filter using multiple criteria. It can be used to choose the first solution which passes all critical limits or it can be placed in a fusion scheme to filter solutions before another PC or Fusion object chooses the optimal solution. It is derived from PerformanceCriteria so the same methods are available. By deriving from PerformanceCriteria it allows multiple PCFilters to be further fused to allow more complicated combinational RRTs. More...

class  PCForceTransmissibility
 PCForceTransmissibility is a criteria which is based on the jacobian and force direction of the end-effector. This criteria attempts to maximize the ease with which joint torques are transmitted to the EEF force. PCForceTransmissibility is derived from PCJacobian. More...

class  PCFusion
 PCFusion should be used to fuse multiple criteria into a single metric to allow optimal solution selection. PCFusion is setup to be as general as possible to allow many different redundancy resolution techniques. It is derived from PerformanceCriteria so the same methods are available. By deriving from PerformanceCriteria it allows multiple PCFusion or PCFilter objects to be further fused to allow more complicated combinational RRTs. More...

class  PCGeneralizedDynamicEfficiency
 PCGeneralizedDynamicEfficiency is a criteria based upon the ratio of the largest inertial eigenvalue and the largest jacobian eigenvalue. The purpose of this criterion is to minimize joint torques in terms of inertial loading. PCGeneralizedDynamicEfficiency is derived from PCInertiaEigenValues and PCJacobianEigenValues. More...

class  PCGeneralizedInertialEfficiency
 PCGeneralizedInertialEfficiency is a criteria based upon the largest inertial eigenvalue. PCGeneralizedInertialEfficiency is derived from PCInertiaEigenValues. More...

class  PCGeneralizedStiffness
 PCGeneralizedStiffness is a criteria that evaluates the overall stiffness of a give manipulator configuration. It is done by taking the frobenius norm of the stiffness matrix. PCGeneralizedStiffness is derived from PCCompliance. More...

class  PCGeneralizedTorqueMinimization
 PCGeneralizedTorqueMinimization is a criteria based upon the Inertia and JacobianPseudoInverse matrices. The infinity norms of the Inertia and JacobianPseudoInverse matrices are multiplied together to get an estimate on the necessary torque to move the manipulator from one configuration to another. PCGeneralizedTorqueMinimization is derived from PCInertia and PCJacobianPseudoInverse. More...

class  PCGeneralizedVelocityMinimization
 PCGeneralizedVelocityMinimization is a criteria based upon the JacobianPseudoInverse, that aims to reduce joint velocities. It only takes the largest row sum of the pseudoinverse which is the largest transformation of a joint velocity. This criteria does not actually calculate velocities so there is no check to make sure operation velocity limits are not violated. PCGeneralizedVelocityMinimization is derived from PCJacobianPseudoInverse. More...

class  PCInertia
 PCInertia is an abstract class for criteria which are based on the inertia matrix. PCInertia is derived from PerformanceCriteria. It is an intermediate abstract class that contains the functionality to compute the inertia matrix necessary for certain criteria. More...

class  PCInertiaEigenValues
 PCInertiaEigenValues is an abstract class for criteria which are based on the inertia eigenvalues. PCInertia is derived from PCInertia. It is an intermediate abstract class that contains the functionality to compute the inertia eigenvalues necessary for certain criteria. More...

class  PCInertialFrobeniusNorm
 PCInertialFrobeniusNorm takes the frobenius norm of the iStar inertia matrix. Minimizing the effective inertia matrix leads to a decrease in the kinetic energy of the system. PCGeneralizedTorqueMinimization is derived from PCInertia. More...

class  PCInverseMeasureOfTransmissibility
 PCInverseMeasureOfTransmissibility is a criteria which is based on determinant of the jacobian. This criteria attempts to maximize the ease with which joint velocities are transmitted to the EEF velocities. This criteria is computationally fast and can have multiple physical meanings. Because of the dual nature of the Jacobian, transmission transmissibility or velocity transmissibility could be optimized. The determinant is also an indicator of proximity to a singularity. PCInverseMeasureOfTransmissibility is derived from PCJacobian. More...

class  PCJacobian
 PCJacobian is an abstract class for criteria which are based on the jacobian. PCJacobian is derived from PerformanceCriteria. It is an intermediate abstract class that contains the functionality to compute jacobians. Derived classes update the necessary repositories by calling the protected method update(). More...

class  PCJacobianEigenValues
 PCJacobianEigenValues is an intermediate abstract class which adds the functionality to calculate jacobian eigenvalues. PCJacobianEigenValues is derived from PCJacobian. More...

class  PCJacobianFrobeniusNorm
 PCJacobianFrobeniusNorm is a criteria which is based on the frobenius norm of the Jacobian matrix. This criterion can be viewed as a generalized efficiency criterion for both velocity and torque transmission. Mitch Pryor suggests this is the most effective criteria in terms of avoiding singularities. PCJacobianFrobeniusNorm is derived from PCJacobian. More...

class  PCJacobianPseudoInverse
 PCPseudoInverse is an intermediate abstract class which adds the functionality to calculate jacobian pseudoinverses. PCJacobianPseudoInverse is derived from PCJacobian. More...

class  PCJointRangeAvailability
 PCJointRangeAvailability is a criteria which calculates the distance from the joint limits of a manipulator. PCJointRangeAvailability is derived from PCVectorLimits. The methods to get and set individual joint parameters are in PCVectorLimits. More...

class  PCJointTorque
 Minimizes joint torques due to artificial forces. More...

class  PCKeyboard
class  PCKeyboardMC
class  PCKineticEnergy
 PCKineticEnergy calculates the kinetic energy of the manipulator using the iStar inertia matrix and the current positions. Time is not explicitly included in the formulation, so the criteria value is not the true kinetic energy value, but allows solutions to be ranked. It could easily be modified to take into account time. PCKineticEnergy is derived from PCInertia. More...

class  PCLinkForce
 PCLinkForce minimizes the average of the artificial forces acting on the links. More...

class  PCLoadTorqueMinimization
 PCLoadTorqueMinimization is a criteria which is based on the Jacobian matrix. This criterion attempts to reduce the actuator torques due to the load at the EEF. PCLoadTorqueMinimization is derived from PCJacobian. More...

class  PCMagneticEEF
 PCMagneticEEF is a criteria which calculates the distance to a point. PCMagneticEEF works like a magnet attracting the EEF to the specified point or repelling the EEF from an obstacle. More...

class  PCMeasureOfTransmissibility
 PCMeasureOfTransmissibility is a criteria which is based on determinant of the jacobian. This criteria attempts to maximize the ease with which joint velocities are transmitted to the EEF velocities. This criteria is computationally fast and can have multiple physical meanings. Because of the dual nature of the Jacobian, transmission transmissibility or velocity transmissibility could be optimized. The determinant is also an indicator of proximity to a singularity. PCMeasureOfTransmissibility is derived from PCJacobian. More...

class  PCPotentialEnergy
 PCPotentialEnergy is a criteria that calculates the potential energy in the manipulator due to deflections. Deflections due to forces at the EEF are the only deflections considered. Minimizing this criteria should reduce deflections due to loads at the EEF. PCPotentialEnergy is derived from PCCompliance. More...

class  PCRoboworksInterface
 This class multiply inherits from RoboworksInterface and PowerCubeBase classes. This is an interface for PowerCube simulation (when simulation is done in Roboworks.). It has following functionality. -Object construction and initialization -Homing -Resetting -Halting -Getting and setting positions of modules and gripper(if any) Note: for giving position commands call SetServoValue() (See RobotServoInterface.h). The implementation is in SetPosition(). More...

class  PCSHandPose
class  PCSingularityAvoidance
 PCSingularityAvoidance is a criteria which is based on the minimum eigenvalue of the Jacobian. Exclusively tracking the minimum singular value may exhibit a better indication of a manipulator's nearness to a mathematical singularity. Transmissibilty can be improved by maximizing the distance from singularities, therefore minimizing the joint torques required to maintain a desired EEF force. PCSingularityAvoidance is derived from PCJacobianEigenValues. More...

class  PCSmallestMinDist
 PCSmallestMinDist calculates the minimum distance from the robot arm to any obstacle in the environment. More...

class  PCTorqueLimitsAvoidance
 PCTorqueLimitsAvoidance is a class for criteria which avoids the torque limits for the joints on a manipulator. PCTorqueLimitsAvoidance is derived from PCVectorLimits. It is a class that computes the manipulator's distance from torque limits. More...

class  PCVectorLimits
 PCVectorLimits is an abstract class for criteria which avoids the limits of a vector. More...

class  PCVelocityLimitsAvoidance
 PCVelocityLimitsAvoidance is a class for criteria which avoids the velocity limits for the joints on a manipulator. PCVelocityLimitsAvoidance is derived from PCVectorLimits. It is a class that computes the manipulator's distance from velocity limits. More...

class  PCVelocityTransmissibility
 PCVelocityTransmissibility is a criteria which is based on the jacobian pseudo-inverse and the velocity of the end-effector. This criteria attempts to maximize the efficiency with which joint velocities are transmitted to the EEF velocity. PCVelocityTransmissibility is derived from PCJacobian. More...

class  PerformanceCriteria
 PerformanceCriteria should be used to select a solution from a set of options for a manipulator. More...

class  Perturbation
 Perturbation can be called to generate patterned perturbations for Vector and RRJointVector. More...

class  Plane
 Define a planar primitive for use in robot obstacle avoidance. More...

class  PlaneData
 Reads and writes a Plane to and from an XML data file. More...

class  Polytope
 Class for STL based polytope obstacle models Currently an empty class which can be instantiated but can not be used for anything useful. More...

class  PolytopeData
 Reads and writes a Polytope to and from an XML data file. More...

class  PowerCubeBase
 This is an abstract class for Amtec's PowerCube Interface (both hardware and simulation modules inherit from this class.) having following functionality -Initialization -Homing -Resetting -functionality related to gripper -retrieving and setting different attributes (like current limits). More...

class  PowerCubeInterface
 This class, derived from PowerCubeBase class, implements the software interface to control mechanism/robot hardware assembled from PowerCube modules manufactured by Amtec Robotics (http://www.amtec-robotics.com/index.html) that is part of the Schunk group(http://www.schunk.com/). More...

class  Primitive
 Base for geometric primitives.

class  Quaternion
 Used to reperesent a quaternion rotation. More...

class  RedundantKinematicsHandler
class  Relay
class  Repository
 Repository is a base repository class from which all repository types will derive. These repositories store data computed by the criteria in order to prevent repeat calculations. All computational ability is in the performance criteria - repositories store data only. Repository contains the functionality to keep track of whether the repository has been updated. The methods to get and set the data members inside the repository were placed in the derived template class TypeRepository so the same methods could be used for several repository types. The reason this base class is necessary is because RepositoryList cannot point to a template class. More...

class  RepositoryList
 RepositoryList is a list which holds Repository objects. This list will be passed to criteria to give them a place to read and write data for criteria computations. More...

class  RK4
 fixed step size Runge Kutta Integrator Used to integrate ODEs in a manner similar to ode45 in matlab More...

class  RobixInterface
class  RobotData
 Acts as the base class for all classes that are used to read and parse data files. More...

class  RobotServoInterface
class  RoboworksInterface
class  Rot3by3
 This class is used to represent a 3x3 rotation matrix. More...

class  RRMotionPlan
 This class is the base class for the Motion Planning library. It contains the functionality for setting the motion parameters and performs some of the low level calculations. More...

class  RROnlineMotionPlanner
 This class defines the base interface for performing online motion planning. This class is not currently implemented. More...

class  RRStatics
 An abstract class for calculating static forces. More...

class  RSIMC
class  RungeKutta
class  Saw
 Saw provides a C++ interface to the custom saw tool for the Robotics Research Arm. This class uses Digital IO hardware for IO with the saw. The tool frame for the saw is also set during the construction of this object. A call to GetToolFrame will return the tool frame. The units in which the tool frame is returned are inches. The tool point for the saw is defined as point on the leading edge of the skid plate of the saw which is colinear with the saw blade. More...

class  ScalarRepository
 ScalarRepository is a repository class which holds scalar data calculated by the criteria to allow data sharing. More...

class  ScaleInverseF
 \ ScaleInverseF One type of APF where Scalar function goes as the inverse of the argument The function is F(x) = k*[(mx-mn)/(x-mn)]^z + thresh, so that as (x->inf), (F(x)->thresh), (x=mx), (F(x) = k + thresh), and as (x->mn), (F(x)->inf). Note: this function object does not check for x < mn. A special case is when k=1, z=1, mx=1, mn=0, and thresh=0, then F(x) = 1/x.

class  ScaleInverseVanishF
 \ ScaleInverseVanishF One type of APF where Scalar function starts from infinity at a certain value and decreases as the argument grows until vanishing completely at a certain value. The function is F(x) = k*[(mx-x)/(x-mn)]^z + thresh, so that if (x>=mx), (F(x) = thresh), and as (x->mn), (F(x)->inf). If thres = 0, then it means that APF will have no effect when x >= mx. Note: this function object does not check for x < mn.

class  Sensor
 Base class for all Sensors. Each Sensor should be derived from this class and should support all the methods. More...

class  ServoInterface
class  Shared
class  SimpleObAv
class  Simulator
class  SkeletalPrimitive
 Base for skeletal geometric primitives. More...

class  SpaceballMC
class  SpatialXform
 This class represents a 6 by 6 spatial transformation matrix. More...

class  SpecificationsData
 Reads specifications for a particular system (robot, tool, etc.) from a data file or programmatically create them. More...

class  Sphere
 Define a spherical primitive for use in robot obstacle avoidance. More...

class  SphereData
 Reads and writes a Sphere to and from an XML data file. More...

class  Spline
 An abstract class defining the base-level interface for spline curve generation. This includes the ability to set, insert, and delete the control points. More...

class  SprayGun
 SprayGun provides a C++ interface to the custom spray gun tool for the Robotics Research Arm. This class uses digitial IO data-acquisition hardware for IO with the spray gun. The tool frame for the spray gun is also set during the construction of this object. A call to GetToolFrame will return the tool frame. The units in which the tool frame is returned are inches. The tool point for the spray gun is defined at the output nozzle of the spray gun. More...

class  TCP
 This class contains base interface for TCP/IP communication. More...

class  TCPClient
 This class contains functionality for setting up a TCP client. More...

class  TCPServer
 This class contains functionality for setting up a TCP server. More...

class  Tensor
 Represents a tensor (basically an array of matrices). More...

class  TensorData
 Reads data from a file that is represented in tensor format (array of matrices). More...

class  TensorRepository
 TensorRepository is a repository class which holds tensor data calculated by the criteria to allow data sharing. More...

class  ThreeStateTool
 Base class for all tools that support Forward, Reverse, and Off functionality. More...

class  Timer
 Measures code execution time. More...

class  Tool
 Base class for all end effector tools. Each tool should be derived from this class and should support all the methods. More...

class  ToolChanger
 ToolChanger provides a C++ interface to the tool changers mounted on the Robotics Research Arm. This class uses ditial IO data-acquisition drivers for IO with the tool changers. The tool frame for the ToolChangers is also set during the construction of this object. A call to #GetToolFrame will return the tool frame. The units in which the tool frame is returned are inches. The base plate of the tool changer is defined in the XY plane, with the Z axis from the tool changer base plate towards the tool attachment plate. More...

class  ToolData
 Reads a tool model from a data file or programmatically create them. More...

class  TOSMC
class  TwoStateSwitch
 Base class for all switches that support On and Off functionality. More...

class  TwoStateTool
 Base class for all tools that support Forward (On) and Off functionality. More...

class  TypeRepository
 TypeRepository is a repository template class which holds the functionality for retrieving and setting data in the repositories. Derived classes will set the template type and allocate the type size depending on needs. The type has to be a pointer so get and set methods will be taking or returning pointers. More...

class  Vector3
 Represents a spatial position vector. More...

class  VectorArray
 Stores arrays of vectors. More...

class  VectorNumeric
 Represents a vector. More...

class  VectorRepository
 VectorRepository is a repository class which holds vector data \ calculated by the criteria to allow data sharing. More...

class  WorkCell
 Contains a geometric description of the work cell (from an ObAvData object) and computes witness points (minimum distances between robots and other models) and derivatives of witness points (stored in an ObAvInfo object). More...

class  WorkcellData
 Reads a Workcell model from a data file or programmatically create them. More...

class  Xform
 Defines a 4 by 4 homogeneous transformation matrix. More...

class  XMLData
 Reads OSCAR specific data specifiedf in XML This is the base class for all data to be loaded in XML format. This class sets up the XML parser (Xerces), sets its properties (validation, schema, etc.) sets namespace, etc. Dervied classes have to define the parseParameters method for the specific data they are loading. More...

class  XMLDHData
 Reads DH parameters from a data file or programmatically create them. More...


Typedefs

typedef std::string String
typedef Array< Vector7Vector7Array
typedef Array< int > ArrayI
typedef TensorTensorP
typedef unsigned long ADDR
typedef char Control8Bit
typedef short Control16Bit
typedef float Control32Bit
typedef VectorNumeric< Control8BitControl8BitArray
typedef VectorNumeric< Control16BitControl16BitArray
typedef VectorNumeric< Control32BitControl32BitArray
typedef Array< enum CoordinateStatusCoordinateStatusArray
typedef double * DoubleP
typedef MatrixMatrixp
typedef Array< bool > BoolArray
typedef Array< char > CharArray
typedef VectorNumeric< unsigned
int > 
VectorUINT
typedef VectorNumeric< int > VectorI
typedef VectorNumeric< float > VectorF
typedef VectorNumeric< double > VectorD
typedef VectorNumeric< double > Vector
typedef Vector3 Vector3D
typedef FixedSizeArray< Vector, 7 > Vector7
typedef VectorVectorP
typedef std::vector< Vector3Vector3vec
typedef std::list< Node * > NodeList
typedef std::list< Primitive * > PrimitiveList
typedef FixedSizeArray< Vector, 6 > EEFVelocity
typedef FixedSizeArray< Vector, 6 > ForceDirection
typedef std::map< String,
Repository * > 
RepositoryMap

Enumerations

enum  LimitStatus { MinLimitViolation = -1, NoLimitViolation = 0, MaxLimitViolation = 1 }
enum  CartesianCoordinateMode { World, Tool, Part }
enum  CoordinateStatus { Active = true, Inactive = false }
enum  AngleUnits { Radians = 1, Degrees = 2 }
enum  HandPoseInterp { NormalInterp, QuaternionLERP, QuaternionSLERP }
enum  fileEnums {
  ROBOT, BRANCH, OBSTACLE, SPHERE,
  CYLISPHERE, PLANE, BOX, RADIUS,
  FRAME, OBSTPOINT, INVALID
}
enum  MinOrMax { Minimize, Maximize }

Functions

template<class err_t> err_t & DUMMY_ERROR (const err_t &theError)
void DisplayError (const String &eString)
void DisplayDebug (const String &debugString)
void DisplayTrace (const String &traceString)
void DisplayError (const OSCARError &err)
void Display (const String &dispString)
template<class T> void Input (T &t)
std::ostream & operator<< (std::ostream &strm, const OSCARError &err)
OSCARError operator+ (const OSCARError &e1, const OSCARError &e2)
template<class T> String ToString (const T &t)
int ByteSwap (int in)
float ByteSwap (float in)
double ByteSwap (double in)
void ByteSwap (Vector &v)
void ByteSwap (VectorF &v)
void ByteSwap (VectorI &v)
std::ostream & operator<< (std::ostream &out, const DHData &D)
std::ostream & operator<< (std::ostream &out, const MatrixData &M)
OSCARError fromException (const DOMException &toCatch)
OSCARError fromException (const XMLException &toCatch)
OSCARError fromException (const SAXParseException &toCatch)
std::ostream & operator<< (std::ostream &out, const TensorData &T)
template<class Type> std::ostream & operator<< (std::ostream &os, const Array< Type > &a)
template<class Type> std::istream & operator>> (std::istream &is, Array< Type > &a)
std::istream & operator>> (std::istream &is, bool &b)
Vector GetRow (unsigned int row, const Matrix &m)
Vector GetCol (unsigned int col, const Matrix &m)
void GetRow (Vector &result, unsigned int row, const Matrix &m)
void GetCol (Vector &result, unsigned int col, const Matrix &m)
Vector3 Cross3 (const Vector3 &v1, const Vector3 &v2)
Vector3 Cross3Unit (const Vector3 &v1, const Vector3 &v2)
Matrix operator * (double a, const Matrix &m)
Vector3 operator * (const Xform &lhs, const Vector3 &rhs)
void Multiply (const Xform &lhs, const Vector3 &rhs, Vector3 &result)
template<class Type> VectorNumeric< Type > operator * (Type a, const VectorNumeric< Type > &v)
template<class To, class From> To Convert (const From &f)
template<class Type> Type Dot (const VectorNumeric< Type > &v1, const VectorNumeric< Type > &v2)
std::ostream & operator<< (std::ostream &out, const Matrix &m)
std::ostream & operator<< (std::ostream &out, const MatrixRow &m)
std::ostream & operator<< (std::ostream &out, const MatrixCol &m)
std::ostream & operator<< (std::ostream &strm, const Tensor &t)
bool GenerateLine (const Vector &initialPosition, const Vector &finalPosition, Matrix &pathTrajectory, unsigned int steps, unsigned int degree=2, OSCARError &err=DUMMY_ERROR(noError), char *constraintsFileName=NULL)
bool InterpolateSlerp (const Quaternion &initialQuaternion, const Quaternion &finalQuaternion, Quaternion &resultQuaternion, double t, OSCARError &err=DUMMY_ERROR(noError))
bool GenerateHandPath (const HandPose &initialHand, const HandPose &finalHand, Matrix &handTrajectory, unsigned int steps, unsigned int degree=2, HandPoseInterp mode=NormalInterp, OSCARError &err=DUMMY_ERROR(noError))
bool distToForce (const ArtificialPotentialF &func, const Matrix &minDist, Matrix &forces)
bool forceToTorque (const Tensor &gDist, const Matrix &forces, Vector &torque)
bool forceToTorque (const DistanceResults &results, std::list< Primitive * > &armPrimitives, std::list< Primitive * > &enviPrimitives, Vector &torque)
bool torqToEEWrench (const Vector &torques, const Matrix &jacobInv, Vector &eeForce)
bool distToForceD1 (const ArtificialPotentialF &func, const Matrix &minDist, const Matrix &forces, Matrix &forcesD1)
bool forceToTorqueD1 (const std::vector< Tensor * > &hDist, const Tensor &gDist, const Matrix &forces, const Matrix &forcesD1, const Vector &jointVel, const Vector &torques, Vector &torquesD1)
bool torqToEEWrenchD1 (const Tensor &eeTransHFunc, const Tensor &eeRotHFunc, const Matrix &jacobianInv, const Vector &jointVel, const Vector &torques, const Vector &torquesD1, const Vector &eeForce, Vector &eeForceD1)
const vector< string > fileTags (stringTags,&stringTags[INVALID])
double PointLine (const Vector3 &a, const Vector3 &b0, const Vector3 &b1, Vector3 &bWit, Vector3 &unitVec, double &t)
double LineLine (const Vector3 &a0, const Vector3 &a1, const Vector3 &b0, const Vector3 &b1, Vector3 &aWit, Vector3 &bWit, Vector3 &unitVec, double &t0, double &t1)
double testEndPoints (const Vector3 &a0, const Vector3 &a1, const Vector3 &b0, const Vector3 &b1, Vector3 &aWit, Vector3 &bWit, Vector3 &unitVec, double &t0, double &t1)
double LineFacet (const Vector3 &a0, const Vector3 &a1, const std::vector< Vector3 > &facetPoints, Vector3 &unitVec, double &t1, double &t2)
double LineFacet (const Vector3 &a0, const Vector3 &a1, const std::vector< Vector3 > &facetPoints, const Vector3 &facetNormal, Vector3 &unitVec, double &t1, double &t2)
void calcJointTorques (const Xform *globalXforms, const Vector3 &forceLocation, const Vector3 &force, unsigned int linkIndex, Vector &torques)
void calcJointTorquesToBase (const Xform *globalXforms, const Vector3 &forceLocation, const Vector3 &force, unsigned int linkIndex, Vector &torques)
void calcJointTorquesToEE (const Xform *globalXforms, const Vector3 &forceLocation, const Vector3 &force, unsigned int linkIndex, Vector &torques)
bool CalcJointTorques (FKPosition &fk, const Vector &jointPositions, Vector &torques, const Vector3 &forceLocation, const Vector3 &force, unsigned int linkIndex)
bool CalcJointTorques (const FKPosition &fk, Vector &torques, const Vector3 &forceLocation, const Vector3 &force, unsigned int linkIndex)
void calculateSupportReactionForces (const Vector3 &base0, const Vector3 &base1, const Vector3 &forceLocation, const Vector3 &force, Vector3 &base0FRX, Vector3 &base1FRX)
void calculateSupportReactions (const Vector3 &base0, const Vector3 &base1, const Vector3 &forceLocation, const Vector3 &force, Vector3 &base0FRX, Vector3 &base0TRX, Vector3 &base1FRX, Vector3 &base1TRX)
template<class T> VectorNumeric< T > & RowToVector (const Matrix &matx, unsigned int row, VectorNumeric< T > &copy)
template<class T> VectorNumeric< T > & ColToVector (const Matrix &matx, unsigned int col, VectorNumeric< T > &copy)
std::ostream & operator<< (std::ostream &out, const ObAvData &arg)

Variables

const OSCARError noError
const OSCARError notSupported
const OSCARError notInitialized
const OSCARError HardwareErrors
const OSCARError powerFailure
const OSCARError connectionFailure
const OSCARError deviceNotReady
const OSCARError initializeFailure
const OSCARError registerReadFailure
const OSCARError registerWriteFailure
const OSCARError portOpenFailure
const OSCARError portReadFailure
const OSCARError portWriteFailure
const OSCARError notClosed
const OSCARError parameterNotMatch
const OSCARError valueNotSet
const OSCARError parameterNotValid
const OSCARError positionExcessError
const OSCARError velocityExcessError
const OSCARError torqueExcessError
const OSCARError currentExcessError
const OSCARError armPowerOffError
const OSCARError illegalRoboWorksTagNameError
const OSCARError robixDLLError
const OSCARError robixEIError
const OSCARError robixRobotError
const OSCARError robixServoError
const OSCARError nidaqError
const OSCARError measurementComputingError
const OSCARError powerCubeDLLError
const OSCARError powerCubeCommError
const OSCARError powerCubeLimitError
const OSCARError powerCubePowerError
const OSCARError