RobWorkProject

Define helper functions and all the classes that are being wrapped by SWIG. The wrapped classes are defined as typedefs of other classes in RobWork. More...
Typedefs  
typedef rw::RobWork  RobWork 
RobWork instance which holds objects to be shared among multiple plugins. More...  
Functions  
void  writelog (const std::string &msg) 
Write message to log. More...  
void  setlog (::rw::common::LogWriter::Ptr writer) 
Set the writer to write log to. More...  
template<typename T >  
std::string  toString (const T &x) 
Convert an entity to string. More...  
template<typename T >  
char *  printCString (const std::vector< T > &x) 
Convert a vector of entities to a C string. More...  
template<typename T >  
char *  printCString (const T &x) 
Convert an entity to a C string. More...  
Rotation3d  getRandomRotation3D () 
Math helper function to obtain random rotation. More...  
Transform3d  getRandomTransform3D (const double translationLength=1) 
Math helper function to obtain random transform. More...  
common  
typedef rw::common::PropertyMap  PropertyMap 
Container for a collection of Property Objects. More...  
typedef rw::common::ThreadPool  ThreadPool 
A thread pool that can be assigned work. More...  
typedef rw::common::ThreadTask  ThreadTask 
A task that facilitates the use of a hierarchic tree of tasks and subtasks. More...  
typedef rw::common::Plugin  Plugin 
an interface for defining dynamically loadable plugins that define extensions and extension points. More...  
typedef rw::common::Extension  Extension 
The Extension class is used to provide additonal functionality from a Plugin to other extension points of either the system or other plugins. More...  
typedef rw::common::Extension::Descriptor  ExtensionDescriptor 
An extension descriptor. More...  
typedef rw::common::ExtensionRegistry  ExtensionRegistry 
an extension point is a class that defines a point where Extension can be added. This is typically used together with plugins, however any class may register extensions to an extension point. More...  
geometry  
typedef rw::geometry::GeometryData  GeometryData 
an interface for geometry data. More...  
typedef rw::geometry::GeometryData::GeometryType  GeometryType 
geometry data types More...  
typedef rw::geometry::Primitive  Primitive 
defines an interface for a geometric shape that is defined by a set of parameters. More...  
typedef rw::geometry::Box  Box 
a box primitive, origin is in center of box More...  
typedef rw::geometry::Cone  Cone 
cone primitive. Like a cylinder though where a radius can be specified for both ends. More...  
typedef rw::geometry::Sphere  Sphere 
a sphere primitive. centr in (0,0,0) and a radius. More...  
typedef rw::geometry::Plane  Plane 
plane primitive represented in Hessian normalform: a*nx+b*ny+c*nz+d=0 More...  
typedef rw::geometry::Cylinder  Cylinder 
a cylinder primitive. By default the radius is in the xy plane and height is along the zaxis More...  
typedef rw::geometry::Triangle< double >  Triangle 
plain triangle class. The second template argument specify the number of normals associated with the triangle. The triangle vertices should be arranged counter clock wise. More...  
typedef rw::geometry::Triangle< float >  Trianglef 
plain triangle class. The second template argument specify the number of normals associated with the triangle. The triangle vertices should be arranged counter clock wise. More...  
typedef rw::geometry::TriangleN1< double >  TriangleN1 
Triangle facet. triangle class of type N1, which means that beside the plain triangle the face normal of the triangle is saved with the facenormal. More...  
typedef rw::geometry::TriangleN1< float >  TriangleN1f 
Triangle facet. triangle class of type N1, which means that beside the plain triangle the face normal of the triangle is saved with the facenormal. More...  
typedef rw::geometry::TriMesh  TriMesh 
interface of a triangle mesh. The interface defines a way to get triangles from a triangle array/mesh. More...  
typedef rw::geometry::PlainTriMesh< Triangle >  PlainTriMesh 
a triangle mesh representation that maintains a list of simple triangles. More...  
typedef rw::geometry::PlainTriMesh< Trianglef >  PlainTriMeshf 
a triangle mesh representation that maintains a list of simple triangles. More...  
typedef rw::geometry::PlainTriMesh< TriangleN1 >  PlainTriMeshN1 
a triangle mesh representation that maintains a list of simple triangles. More...  
typedef rw::geometry::PlainTriMesh< TriangleN1f >  PlainTriMeshN1f 
a triangle mesh representation that maintains a list of simple triangles. More...  
typedef rw::geometry::ConvexHull3D  ConvexHull3D 
interface for convexhull calculators on 3d point sets More...  
typedef rw::geometry::Geometry  Geometry 
a class for representing a geometry that is scaled and transformed, and which is attached to a frame. More...  
typedef rw::geometry::PointCloud  PointCloud 
A simple point cloud data structure. Points may be ordered or not. An ordered set is kept as a single array in row major order and with a width and a height. An unordered array must have height==1 and width equal to the number of points. More...  
graphics  
typedef rw::graphics::Model3D  Model3D 
a 3d model that has geometry but also material, color and texture information. the model can be composed of multiple objects that are connected in a hierarchical manner. The model is designed for efficient drawing and as such special structures are used to order the indexes such that efficient drawing is possible. More...  
typedef rw::graphics::Model3D::Material  Model3DMaterial 
describes material properties. A material can be either simple or "advanced" and in both cases it can be textured. A simple material is described by a 4tuple of RGBA values. The advanced material defines multiple properties: diffuse, ambient, emissive, specular, shininess and transparency More...  
typedef rw::graphics::WorkCellScene  WorkCellScene 
class for wrapping the SceneGraph interface such that it extends the scenegraph functionality to work on frames and workcells. More...  
typedef rw::graphics::SceneViewer  SceneViewer 
interface for viewing a scene graph. More...  
typedef rw::graphics::SceneNode  SceneNode 
a node that can have leafs (DrawableNode) or other nodes as children. More...  
typedef rw::graphics::DrawableNode  DrawableNode 
Abstract base class for all drawable classes. More...  
invkin  
typedef rw::invkin::InvKinSolver  InvKinSolver 
Interface for inverse kinematics algorithms. More...  
typedef rw::invkin::IterativeIK  IterativeIK 
Interface for iterative inverse kinematics algorithms. More...  
typedef rw::invkin::JacobianIKSolver  JacobianIKSolver 
A Jacobian based iterative inverse kinematics algorithm for devices with a single end effector. More...  
typedef rw::invkin::IterativeMultiIK  IterativeMultiIK 
Interface for iterative inverse kinematics algorithms for problems or devices that utilize more than one endeffector. More...  
typedef rw::invkin::JacobianIKSolverM  JacobianIKSolverM 
A Jacobian based iterative inverse kinematics algorithm for devices with multiple end effectors. More...  
typedef rw::invkin::IKMetaSolver  IKMetaSolver 
Solve the inverse kinematics problem with respect to joint limits and collisions. More...  
typedef rw::invkin::ClosedFormIK  ClosedFormIK 
Interface for closed form inverse kinematics algorithms. More...  
typedef rw::invkin::PieperSolver  PieperSolver 
Calculates the closed form inverse kinematics of a device using Piepers method. More...  
kinematics  
typedef rw::kinematics::StateData  StateData 
the basic building block for the stateless design using the StateStructure class. A StateData represents a size, a unique id, and a unique name, when inserted into the StateStructure. The size will allocate "size"doubles in State objects originating from the StateStructure. More...  
typedef rw::kinematics::Frame  Frame 
The type of node of forward kinematic trees. More...  
typedef rw::kinematics::MovableFrame  MovableFrame 
MovableFrame is a frame for which it is possible to freely change the transform relative to the parent. More...  
typedef rw::kinematics::FixedFrame  FixedFrame 
FixedFrame is a frame for which the transform relative to the parent is constant. More...  
typedef rw::kinematics::State  State 
The state of a work cell (or kinematics tree). More...  
typedef rw::kinematics::StateStructure  StateStructure 
the StateStructure is responsible for handling a structure of StateData and Frames More...  
loaders  
typedef rw::loaders::ImageLoader  ImageLoader 
Image loader interface. More...  
typedef rw::loaders::ImageLoader::Factory  ImageLoaderFactory 
a factory for ImageLoader. This factory also defines an extension point for image loaders. More...  
typedef rw::loaders::WorkCellLoader  WorkCellLoader 
Defines an interface. More...  
typedef rw::loaders::WorkCellLoader::Factory  WorkCellLoaderFactory 
a factory for WorkCellLoader. This factory also defines an extension point for workcell loaders. More...  
typedef rw::loaders::STLFile  STLFile 
static methods for reading and writing geometry to and from STL files. More...  
math  
typedef rw::math::Vector2D< double >  Vector2d 
A 2D vector . More...  
typedef rw::math::Vector2D< float >  Vector2f 
A 2D vector . More...  
typedef rw::math::Vector3D< double >  Vector3d 
A 3D vector . More...  
typedef rw::math::Vector3D< float >  Vector3f 
A 3D vector . More...  
typedef rw::math::Rotation3D< double >  Rotation3d 
A 3x3 rotation matrix . More...  
typedef rw::math::Rotation3D< float >  Rotation3f 
A 3x3 rotation matrix . More...  
typedef rw::math::EAA< double >  EAAd 
A class for representing an equivalent angleaxis rotation. More...  
typedef rw::math::EAA< float >  EAAf 
A class for representing an equivalent angleaxis rotation. More...  
typedef rw::math::RPY< double >  RPYd 
A class for representing RollPitchYaw Euler angle rotations. More...  
typedef rw::math::RPY< float >  RPYf 
A class for representing RollPitchYaw Euler angle rotations. More...  
typedef rw::math::Quaternion< double >  Quaterniond 
A Quaternion a complex number used to describe rotations in 3dimensional space. . More...  
typedef rw::math::Quaternion< float >  Quaternionf 
A Quaternion a complex number used to describe rotations in 3dimensional space. . More...  
typedef rw::math::Transform3D< double >  Transform3d 
A 4x4 homogeneous transform matrix . More...  
typedef rw::math::Transform3D< float >  Transform3f 
A 4x4 homogeneous transform matrix . More...  
typedef rw::math::Pose6D< double >  Pose6d 
A Pose6D describes a position and orientation in 3dimensions. More...  
typedef rw::math::Pose6D< float >  Pose6f 
A Pose6D describes a position and orientation in 3dimensions. More...  
typedef rw::math::VelocityScrew6D< double >  Screw6d 
Class for representing 6 degrees of freedom velocity screws. More...  
typedef rw::math::VelocityScrew6D< float >  Screw6f 
Class for representing 6 degrees of freedom velocity screws. More...  
typedef rw::math::Wrench6D< double >  Wrench6d 
Class for representing 6 degrees of freedom wrenches. More...  
typedef rw::math::Wrench6D< float >  Wrench6f 
Class for representing 6 degrees of freedom wrenches. More...  
typedef rw::math::InertiaMatrix< double >  InertiaMatrixd 
A 3x3 inertia matrix. More...  
typedef rw::math::InertiaMatrix< float >  InertiaMatrixf 
A 3x3 inertia matrix. More...  
typedef rw::math::Q  Q 
Configuration vector. More...  
typedef rw::math::Jacobian  Jacobian 
A Jacobian class. A jacobian with m rows and n columns. More...  
typedef rw::math::QMetric  MetricQ 
Metrics on configurations. More...  
typedef rw::math::Transform3DMetric  MetricSE3 
Metric on Transdform3D. More...  
typedef Eigen::MatrixXd  Matrix 
Wrapping of an Eigen matrix.  
models  
typedef rw::models::WorkCell  WorkCell 
WorkCell keeps track of devices, obstacles and objects in the scene. More...  
typedef rw::models::Joint  Joint 
A Joint is a Frame with assignable values for position, velocity limits and acceleration limits. More...  
typedef rw::models::RevoluteJoint  RevoluteJoint 
Revolute joints. More...  
typedef rw::models::PrismaticJoint  PrismaticJoint 
Prismatic joints. More...  
typedef rw::models::Object  Object 
The object class represents a physical thing in the scene which has geometry. An object has a base frame (similar to a Device) and may have a number of associated frames. More...  
typedef rw::models::DeformableObject  DeformableObject 
The deformable object is an object that contain a deformable mesh. Deformations are part of the state object and they are modeled/controlled through control nodes. each control node correspond to a vertice in the mesh. All vertices are described relative to the base frame of the object. More...  
typedef rw::models::RigidObject  RigidObject 
the RigidObject defines a physical object in the workcell that is rigid in the sence that the geometry does not change. The rigid object also have basic properties such as Inertia and mass. These are default 1.0 kg and inertia of solid sphere with mass 1.0kg and radius of 10cm. The center of mass defaults to origin of the base frame. More...  
typedef rw::models::Device  Device 
An abstract device class. More...  
typedef rw::models::JointDevice  JointDevice 
A device for a sequence of joints. More...  
typedef rw::models::SerialDevice  SerialDevice 
The device for a serial chain. More...  
typedef rw::models::TreeDevice  TreeDevice 
A tree structured device. More...  
typedef rw::models::CompositeDevice  CompositeDevice 
A device constructed from a sequence of devices. More...  
typedef rw::models::ParallelDevice  ParallelDevice 
This class defines the interface for Parallel devices. More...  
typedef rw::models::DHParameterSet  DHParameterSet 
Simple class to help represent a set of DenavitHartenberg parameters. More...  
pathplanning  
typedef rw::pathplanning::QToQPlanner  QToQPlanner 
Path planner interface. More...  
typedef rw::pathplanning::QToTPlanner  QToTPlanner 
Approach planner interface. More...  
typedef rw::pathplanning::StopCriteria  StopCriteria 
StopCriteria is a class for specifying an instant a compution should be aborted. More...  
typedef rw::pathplanning::PlannerConstraint  PlannerConstraint 
A tuple of (QConstraintPtr, QEdgeConstraintPtr). More...  
proximity  
typedef rw::proximity::CollisionDetector  CollisionDetector 
The CollisionDetector implements an efficient way of checking a complete frame tree for collisions. More...  
typedef rw::proximity::CollisionStrategy  CollisionStrategy 
An interface that defines methods to test collision between two objects. More...  
typedef rw::proximity::DistanceCalculator  DistanceCalculator 
The DistanceCalculator implements an efficient way of calculating different distances between two objects, each represented by a frame. More...  
typedef rw::proximity::DistanceStrategy  DistanceStrategy 
This is an interface that defines methods for computing the minimum distance between geometric objects. If geometry objects has been related to frames (see ProximityStrategy) then distance functions computing the distance between the geometry attached to frames can also be used. More...  
sensor  
typedef rw::sensor::Image  Image 
The image class is a simple wrapper around a char data array. This Image wrapper contain information of width, height and encoding. More...  
typedef rw::sensor::Sensor  Sensor 
a generel hardware sensor interface. The sensor should interface to a statefull instance of either a real world sensor or a simulated sensor. The sensor interface acts as a realistic handle to controlling some specific instance of a sensor. More...  
assembly  
typedef rwlibs::assembly::AssemblyControlResponse  AssemblyControlResponse 
The output from a AssemblyControlStrategy. More...  
typedef rwlibs::assembly::AssemblyControlStrategy  AssemblyControlStrategy 
The interface for control strategies for assembly. More...  
typedef rwlibs::assembly::AssemblyParameterization  AssemblyParameterization 
Interface for a parameterization that can be used by a AssemblyControlStrategy. More...  
typedef rwlibs::assembly::AssemblyRegistry  AssemblyRegistry 
A registry of control strategies. The registry defines an extension point. More...  
typedef rwlibs::assembly::AssemblyResult  AssemblyResult 
A specification of the result from an execution of an AssemblyTask. More...  
typedef rwlibs::assembly::AssemblyState  AssemblyState 
Information about the trajectory of the objects and sensor information during execution. More...  
typedef rwlibs::assembly::AssemblyTask  AssemblyTask 
Specification of a AssemblyTask. More...  
control  
typedef rwlibs::control::Controller  Controller 
interface that defines functionality for control of devices and actuators More...  
typedef rwlibs::control::JointController  JointController 
the joint controller interface describe how to input to a joint controller. The output Force, Vel, Pos... must be available in the class implementing JointController interface More...  
pathoptimization  
typedef rwlibs::pathoptimization::PathLengthOptimizer  PathLengthOptimizer 
The PathLengthOptimizer implements the 3 different path length optimizers presented in [1]. More...  
typedef rwlibs::pathoptimization::ClearanceOptimizer  ClearanceOptimizer 
The ClearanceOptimizer implements the CRetraction algorithms from [1]. More...  
simulation  
typedef rwlibs::simulation::SimulatedController  SimulatedController 
interface of a simulated controller More...  
typedef rwlibs::simulation::SimulatedSensor  SimulatedSensor 
simulated sensor interface More...  
typedef rwlibs::simulation::Simulator  Simulator 
interface of a general simulator More...  
typedef rwlibs::simulation::Simulator::UpdateInfo  UpdateInfo 
step info is used when updating controllers, devices and bodies. More...  
task  
typedef rwlibs::task::Task< rw::math::Transform3D< double > >  TaskSE3 
Template based implementation of Task. More...  
typedef rwlibs::task::GraspTask  GraspTask 
A container for describing one or multiple grasping tasks. It is based on the rwlibs::tasks library. More...  
typedef rwlibs::task::GraspSubTask  GraspSubTask 
Describes a sub task of overall grasp task. More...  
typedef rwlibs::task::GraspTarget  GraspTarget 
Represents a single target for grasping (described as a pose), and its result. More...  
typedef rwlibs::task::GraspResult  GraspResult 
Describes the result of a single grasp. More...  
Define helper functions and all the classes that are being wrapped by SWIG. The wrapped classes are defined as typedefs of other classes in RobWork.
SWIG generated interface for Robwork. The supported generated interface languages are: Lua, Python and Java.
The SWIG interface to RobWork is very similar to the RobWork c++ interface. However, due to limitations in other languages, then the interfaces cannot match the c++ interface exactly. Class's in this module are documented as c++ classes with c++ functions, but they really only define the classes and functions that was wrapped and available through SWIG.
The output from a AssemblyControlStrategy.
The interface for control strategies for assembly.
The control strategy must implement the getApproach(), update(), createParameterization(), getID() and getDescription() methods.
The createState() can be overriden if the user wants to save specific strategy state between calls to update().
Interface for a parameterization that can be used by a AssemblyControlStrategy.
Each AssemblyControlStrategy will typically derive its own AssemblyParameterization that includes the parameters necessary to specify the assembly operation when using that specific strategy.
By deriving from this class, the parameterization can be stored and restored via a PropertyMap structure. This is mainly used as a way to extend the assembly assembly specification with additional data, while maintaining the ability to serialize, load and save the AssemblyTask. Derived classes should override the clone(), make(), reset() and toPropertyMap() functions.
Notice that this is also a concrete class, allowing the user to create a parameterization that is always empty, or create a parameterization based on a custom PropertyMap. The latter is especially useful if scripting interfaces are used, where subclassing is not possible.
A registry of control strategies. The registry defines an extension point.
Users can define custom assembly control strategies in two ways. Either an extension must be registered, or the user must create an AssemblyRegistry and add the strategy to this registry manually.
A specification of the result from an execution of an AssemblyTask.
The class provides serialization through the CartesianTask format.
Information about the trajectory of the objects and sensor information during execution.
This information is serializable through the CartesianTarget format.
Specification of a AssemblyTask.
Assembly task is a generic description that covers all tasks where two objects are to be assembled. This can for instance be Peg in Hole or screwing operations.
The class supports serialization through the CartesianTask format. For deserialization an AssemblyRegistry should be provided when loading the AssemblyTask. This is required if user specifies its own AssemblyControlStrategy.
typedef rw::trajectory::Blend<Q> BlendQ 
Interface for blending.
A Blend describes a way to blend between to consecutive interpolators. If we let be the time switching from one interpolator to the next, then the blend control the path in the interval .
See the specific implementations for at description of which template arguments that are valid.
typedef rw::trajectory::Blend<double> BlendR1 
Interface for blending.
A Blend describes a way to blend between to consecutive interpolators. If we let be the time switching from one interpolator to the next, then the blend control the path in the interval .
See the specific implementations for at description of which template arguments that are valid.
typedef rw::trajectory::Blend<Vector2d> BlendR2 
Interface for blending.
A Blend describes a way to blend between to consecutive interpolators. If we let be the time switching from one interpolator to the next, then the blend control the path in the interval .
See the specific implementations for at description of which template arguments that are valid.
typedef rw::trajectory::Blend<Vector3d> BlendR3 
Interface for blending.
A Blend describes a way to blend between to consecutive interpolators. If we let be the time switching from one interpolator to the next, then the blend control the path in the interval .
See the specific implementations for at description of which template arguments that are valid.
typedef rw::trajectory::Blend<Transform3d> BlendSE3 
Interface for blending.
A Blend describes a way to blend between to consecutive interpolators. If we let be the time switching from one interpolator to the next, then the blend control the path in the interval .
See the specific implementations for at description of which template arguments that are valid.
typedef rw::trajectory::Blend<Rotation3d> BlendSO3 
Interface for blending.
A Blend describes a way to blend between to consecutive interpolators. If we let be the time switching from one interpolator to the next, then the blend control the path in the interval .
See the specific implementations for at description of which template arguments that are valid.
typedef rw::geometry::Box Box 
a box primitive, origin is in center of box
The ClearanceOptimizer implements the CRetraction algorithms from [1].
[1]: R. Geraerts and M.H. Overmars, Creating HighQuality Paths for Motion Planning, The International Journal of Robotics Research, Vol. 26, No. 8, 845863 (2007)
The algorithms work by first subdividing the path, to give a dense and even distribution of nodes along the path. Nodes are then tried moved in a random direction to improve the clearance. After having iterated through the entire path some nodes will be moved, thus a validation step is used to insert extra nodes where the density is not high enough. This is then followed by a method for removing undesired branches.
typedef rw::invkin::ClosedFormIK ClosedFormIK 
Interface for closed form inverse kinematics algorithms.
The ClosedFormIK interface provides an interface for calculating the inverse kinematics of a device. That is to calculate the solutions , such that .
By default it solves the problem beginning at the robot base and ending with the frame defined as the end of the devices, and which is accessible through the Device::getEnd() method.
The CollisionDetector implements an efficient way of checking a complete frame tree for collisions.
It relies on a BroadPhaseDetector to do initial filtering which removes obviously not colliding frame pairs.
After the filtering the remaining frame pairs are tested for collision using an CollisionStrategy which is a narrow phase collision detector.
The collision detector does not dictate a specific detection strategy or algorithm, instead it relies on the CollisionStrategy interface for the actual collision checking between two frames.
An interface that defines methods to test collision between two objects.
A device constructed from a sequence of devices.
The configuration of a composite device is equal to the concatenation of the configurations of the sequence of devices.
The devices that make up the CompositeDevice may not share joints, but the implementation does not check if this is actually the case.
A composite device implements its operations of Device by querying each Joint in the straightforward way of JointDevice. The notable exception is Device::setQ() which is implemented by forwarding the Device::setQ() calls to the sequence of devices. This means that CompositeDevice works also for example for devices of type ParallelDevice that have an overwritten implementation of Device::setQ().
The devices from which the composite device is constructed must all be of type JointDevice. An exception is thrown by the constructor if one of the devices is not of this subtype.
The computation of Jacobians of CompositeDevice is not correct in general, but is correct only for devices for which the standard technique of JointDevice is correct. We cannot in general in RobWork do any better currently. The implementation does not check if the requirements for the computation of Jacobians are indeed satisfied.
CompositeDevice is related to TreeDevice in the sense that CompositeDevice has also multiple endeffectors (one endeffector for each device). CompositeDevice differs from TreeDevice by not requiring that the childtoparent paths of the endeffectors connect to a common base.
typedef rw::geometry::Cone Cone 
cone primitive. Like a cylinder though where a radius can be specified for both ends.
The cone is aligned with the zaxis such that top is in the positive zaxis and the bottom is in the negative zaxis. The center of the cone will be in (0,0,0) which is inside the cone.
interface that defines functionality for control of devices and actuators
interface for convexhull calculators on 3d point sets
typedef rw::geometry::Cylinder Cylinder 
a cylinder primitive. By default the radius is in the xy plane and height is along the zaxis
The deformable object is an object that contain a deformable mesh. Deformations are part of the state object and they are modeled/controlled through control nodes. each control node correspond to a vertice in the mesh. All vertices are described relative to the base frame of the object.
typedef rw::models::Device Device 
An abstract device class.
The Device class is the basis for all other devices. It is assumed that all devices have a configuration which can be encoded by a rw::math::Q, that all have a base frame representing where in the work cell they are located and a primary end frame. Notice that some devices may have multiple endframes.
Simple class to help represent a set of DenavitHartenberg parameters.
The DistanceCalculator implements an efficient way of calculating different distances between two objects, each represented by a frame.
A list of frame pairs is contained within the distance calculater, that specifies which frames are to be checked against each other. The method of used for distance calculation relies on the DistanceStrategy chosen.
The DistanceCalculator supports switching between multiple strategies
This is an interface that defines methods for computing the minimum distance between geometric objects. If geometry objects has been related to frames (see ProximityStrategy) then distance functions computing the distance between the geometry attached to frames can also be used.
Abstract base class for all drawable classes.
Classes that are able to draw them self, may inherit from this class.
The drawable class use a draw mask to distinguish between different groups to draw. E.g. when taking snapshots with a simulated camera virtual objects such as the red laser vector or the lines showing the camera view angle is should not be rendered. Hence objects that are virtual should be set to virtual.
A call to draw enabling Physical and User1 defined objects look like:
typedef rw::math::EAA<double> EAAd 
A class for representing an equivalent angleaxis rotation.
This class defines an equivalentaxisangle orientation vector also known as an vector or "axis+angle" vector
The equivalentaxisangle vector is the product of a unit vector and an angle of rotation around that axis
typedef rw::math::EAA<float> EAAf 
A class for representing an equivalent angleaxis rotation.
This class defines an equivalentaxisangle orientation vector also known as an vector or "axis+angle" vector
The equivalentaxisangle vector is the product of a unit vector and an angle of rotation around that axis
typedef rw::common::Extension Extension 
The Extension class is used to provide additonal functionality from a Plugin to other extension points of either the system or other plugins.
Extension points in RobWork:
rw.common.DOMParser (rw::common::DOMParser::Factory): for extensions of type rw::common::DOMParser
rw.loaders.ImageLoader (rw::loaders::ImageLoader::Factory): for extensions of type rw::loaders::ImageLoader
rw.loaders.Model3DLoader (rw::loaders::Model3DLoader::Factory): for extensions of type rw::loaders::Model3DLoader
% rw.loaders.WorkCellLoader (rw::loaders::WorkCellLoader::Factory): for extensions of type rw::loaders::WorkCellLoader
rw::pathplanning::QToTPlanner (rw::pathplanning::QToTPlanner::Factory): for extensions of type rw::pathplanning::QToTPlanner
rw.proximity.CollisionStrategy (rw::proximity::CollisionStrategy::Factory): for extensions of type rw::proximity::CollisionStrategy
rw.proximity.CollisionToleranceStrategy (rw::proximity::CollisionToleranceStrategy::Factory): for extensions of type rw::proximity::CollisionToleranceStrategy
rw.proximity.DistanceMultiStrategy (rw::proximity::DistanceMultiStrategy::Factory): for extensions of type rw::proximity::DistanceMultiStrategy
rw.proximity.DistanceStrategy (rw::proximity::DistanceStrategy::Factory): for extensions of type rw::proximity::DistanceStrategy
rw.proximity.ProximityStrategy (rw::proximity::ProximityStrategy::Factory): for extensions of type rw::proximity::ProximityStrategy
rwlibs.assembly.AssemblyControlStrategy (rwlibs::assembly::AssemblyRegistry): for extensions of type rwlibs::assembly::AssemblyControlStrategy
rwlibs.swig.LuaState.LuaLibrary (rwlibs::swig::LuaState::Factory): for extensions of type rwlibs::swig::LuaState::LuaLibrary
% rwlibs.task.TaskLoader (rwlibs::task::TaskLoader::Factory): for extensions of type rwlibs::task::TaskLoader
% rwlibs.task.TaskSaver (rwlibs::task::TaskSaver::Factory): for extensions of type rwlibs::task::TaskSaver
rwsim.log.SimulatorLogEntry (rwsim::log::SimulatorLogEntry::Factory): for extensions of type rwsim::log::SimulatorLogEntry
rwsim.simulator.PhysicsEngine (rwsim::simulator::PhysicsEngine::Factory): for extensions of type rwsim::simulator::PhysicsEngine::Dispatcher
rwsimlibs.gui.SimulatorLogEntryWidget (rwsimlibs::gui::SimulatorLogEntryWidget::Factory): for extensions of type rwsimlibs::gui::SimulatorLogEntryWidget::Dispatcher
rwsimlibs.rwpe.RWPECollisionSolver (rwsimlibs::rwpe::RWPECollisionSolver::Factory): for extensions of type rwsimlibs::rwpe::RWPECollisionSolver
rwsimlibs.rwpe.RWPEConstraintSolver (rwsimlibs::rwpe::RWPEConstraintSolver::Factory): for extensions of type rwsimlibs::rwpe::RWPEConstraintSolver
rwsimlibs.rwpe.RWPEContactResolver (rwsimlibs::rwpe::RWPEContactResolver::Factory): for extensions of type rwsimlibs::rwpe::RWPEContactResolver
rwsimlibs.rwpe.RWPEFrictionModel (rwsimlibs::rwpe::RWPEFrictionModel::Factory): for extensions of type rwsimlibs::rwpe::RWPEFrictionModel
rwsimlibs.rwpe.RWPEIntegrator (rwsimlibs::rwpe::RWPEIntegrator::Factory): for extensions of type rwsimlibs::rwpe::RWPEIntegrator
rwsimlibs.rwpe.RWPERestitutionModel (rwsimlibs::rwpe::RWPERestitutionModel::Factory): for extensions of type rwsimlibs::rwpe::RWPERestitutionModel
rwsimlibs.rwpe.RWPERollbackMethod (rwsimlibs::rwpe::RWPERollbackMethod::Factory): for extensions of type rwsimlibs::rwpe::RWPERollbackMethod
rwsimlibs.test.EngineTest (rwsimlibs::test::EngineTest::Factory): for extensions of type rwsimlibs::test::EngineTest
An extension descriptor.
The descriptor holds metadata for an extension, and makes it possible to do lazyloading of plugins.
an extension point is a class that defines a point where Extension can be added. This is typically used together with plugins, however any class may register extensions to an extension point.
typedef rw::kinematics::FixedFrame FixedFrame 
FixedFrame is a frame for which the transform relative to the parent is constant.
A fixed frame can for example be used for attaching a camera, say, with a fixed offset relative to the tool.
typedef rw::kinematics::Frame Frame 
The type of node of forward kinematic trees.
Types of joints are implemented as subclasses of Frame. The responsibility of a joint is to implement the getTransform() method that returns the transform of the frame relative to whatever parent it is attached to.
The getTransform() method takes as parameter the set of joint values State for the tree. Joint values for a particular frame can be accessed via State::getQ(). A frame may contain pointers to other frames so that the transform of a frame may depend on the joint values for other frames also.
typedef rw::geometry::Geometry Geometry 
a class for representing a geometry that is scaled and transformed, and which is attached to a frame.
Each geometry must have a unique ID. This is either auto generated or specified by user. The ids are used in collision detection and other algorithms where the object need an association other than its memory address.
an interface for geometry data.
geometry data types
typedef rwlibs::task::GraspResult GraspResult 
Describes the result of a single grasp.
Describes a sub task of overall grasp task.
It is concerned with a specific way of grasping a single target object, describing:
typedef rwlibs::task::GraspTarget GraspTarget 
Represents a single target for grasping (described as a pose), and its result.
typedef rwlibs::task::GraspTask GraspTask 
A container for describing one or multiple grasping tasks. It is based on the rwlibs::tasks library.
Definition of GraspTask xml format
GraspTask
typedef rw::invkin::IKMetaSolver IKMetaSolver 
Solve the inverse kinematics problem with respect to joint limits and collisions.
Given an arbitrary iterative inverse kinematics solver, the IKMetaSolver attempts to find a collision free solution satisfying joint limits. It repeatingly calls the iterative solver with new random start configurations until either a solution is found or a specified max attempts has been reached.
Usage example:
typedef rw::sensor::Image Image 
The image class is a simple wrapper around a char data array. This Image wrapper contain information of width, height and encoding.
The image class is somewhat inspired by the IplImage of opencv.
The coordinate system has its origin located at the topleft position, where from X increases to the left and Yincreases downwards.
setting pixel values in an efficient manner has been enabled using some template joggling. It requires that the user know what type of image he/she is working with.
typedef rw::loaders::ImageLoader ImageLoader 
Image loader interface.
a factory for ImageLoader. This factory also defines an extension point for image loaders.
typedef rw::math::InertiaMatrix<double> InertiaMatrixd 
A 3x3 inertia matrix.
typedef rw::math::InertiaMatrix<float> InertiaMatrixf 
A 3x3 inertia matrix.
typedef rw::invkin::InvKinSolver InvKinSolver 
Interface for inverse kinematics algorithms.
The InvKinSolver interface provides an interface for calculating the inverse kinematics of a device. That is to calculate such that .
By default it solves the problem beginning at the robot base and ending with the frame defined as the end of the devices, and which is accessible through the Device::getEnd() method.
typedef rw::invkin::IterativeIK IterativeIK 
Interface for iterative inverse kinematics algorithms.
The IterativeIK interface provides an interface for calculating the inverse kinematics of a device. That is to calculate such that .
By default it solves the problem beginning at the robot base and ending with the frame defined as the end of the devices, and which is accessible through the Device::getEnd() method.
Interface for iterative inverse kinematics algorithms for problems or devices that utilize more than one endeffector.
The IterativeMultiIK interface provides an interface for calculating the inverse kinematics of a device with multiple endeffectors. That is to calculate such that .
By default it solves the problem beginning at the robot base and ending with the frame defined as the end of the devices, and which is accessible through the Device::getEnd() method.
typedef rw::math::Jacobian Jacobian 
A Jacobian class. A jacobian with m rows and n columns.
An ordinary robot jacobian defined over the joints 0 to n with configuration q is expressed as a matrix:
A Jacobian based iterative inverse kinematics algorithm for devices with a single end effector.
This algorithm does implicitly handle joint limits, however it is possible to force the solution within joint limits using clamping in each iterative step. If joint clamping is not enabled then this algorithm might contain joint values that are out of bounds.
The method uses an NewtonRaphson iterative approach and is based on using the inverse of the device Jacobian to compute each local solution in each iteration. Several methods for calculating/approximating the inverse Jacobian are available, where the SVD method currently is the most stable, see the JacobianSolverType option for additional options.
The method is based on the following approximation:
Where is calculated like:
A Jacobian based iterative inverse kinematics algorithm for devices with multiple end effectors.
This algorithm does not implicitly handle joint limits, however it is possible to force the solution within joint limits using clamping in each iterative step. If joint clamping is not enabled then this algorithm might contain joint values that are out of bounds.
The method uses an NewtonRaphson iterative approach and is based on using the inverse of the device Jacobian to compute each local solution in each iteration. Several methods for calculating/approximating the inverse Jacobian are available, where the SVD method currently is the most stable, see the JacobianSolverType option for additional options.
The method is based on the following approximation:
Where is calculated like:
typedef rw::models::Joint Joint 
A Joint is a Frame with assignable values for position, velocity limits and acceleration limits.
the joint controller interface describe how to input to a joint controller. The output Force, Vel, Pos... must be available in the class implementing JointController interface
typedef rw::models::JointDevice JointDevice 
A device for a sequence of joints.
Contrary to for example SerialDevice and TreeDevice, the joints need not have any particular ordering within the kinematic tree.
A JointDevice is a joint for which the values of the configuration Q each correspond to a frame of type Joint.
To implement a Device it is common to derive from JointDevice and just add implement methods where your device differs from the standard behaviour. Subclasses typically differ in their implementation of setQ() and the Jacobian computation.
typedef rw::trajectory::LinearInterpolator<double> LinearInterpolator 
Make a linear interpolation between to position.
Given a start , end and duration the interpolation is implemented as .
The template argument given needs to support addition with the "+" operator and scaling with a double using the "*" operator.
For use with a rw::math::Transform3D see the template specialization
Make a linear interpolation between to position.
Given a start , end and duration the interpolation is implemented as .
The template argument given needs to support addition with the "+" operator and scaling with a double using the "*" operator.
For use with a rw::math::Transform3D see the template specialization
Make a linear interpolation between to position.
Given a start , end and duration the interpolation is implemented as .
The template argument given needs to support addition with the "+" operator and scaling with a double using the "*" operator.
For use with a rw::math::Transform3D see the template specialization
typedef rw::trajectory::LinearInterpolator<rw::math::Rotation3D<double> > LinearInterpolatorR3 
Make a linear interpolation between to position.
Given a start , end and duration the interpolation is implemented as .
The template argument given needs to support addition with the "+" operator and scaling with a double using the "*" operator.
For use with a rw::math::Transform3D see the template specialization
typedef rw::trajectory::LinearInterpolator<rw::math::Transform3D<double> > LinearInterpolatorSE3 
Make a linear interpolation between to position.
Given a start , end and duration the interpolation is implemented as .
The template argument given needs to support addition with the "+" operator and scaling with a double using the "*" operator.
For use with a rw::math::Transform3D see the template specialization
typedef rw::trajectory::LinearInterpolator<rw::math::Rotation3D<double> > LinearInterpolatorSO3 
Make a linear interpolation between to position.
Given a start , end and duration the interpolation is implemented as .
The template argument given needs to support addition with the "+" operator and scaling with a double using the "*" operator.
For use with a rw::math::Transform3D see the template specialization
typedef rw::math::QMetric MetricQ 
Metrics on configurations.
typedef rw::math::Transform3DMetric MetricSE3 
Metric on Transdform3D.
typedef rw::graphics::Model3D Model3D 
a 3d model that has geometry but also material, color and texture information. the model can be composed of multiple objects that are connected in a hierarchical manner. The model is designed for efficient drawing and as such special structures are used to order the indexes such that efficient drawing is possible.
describes material properties. A material can be either simple or "advanced" and in both cases it can be textured. A simple material is described by a 4tuple of RGBA values. The advanced material defines multiple properties: diffuse, ambient, emissive, specular, shininess and transparency
MovableFrame is a frame for which it is possible to freely change the transform relative to the parent.
A MovableFrame can for example be used for modelling objects moving in the scene based on e.g. user input.
typedef rw::models::Object Object 
The object class represents a physical thing in the scene which has geometry. An object has a base frame (similar to a Device) and may have a number of associated frames.
This class defines the interface for Parallel devices.
The PathLengthOptimizer implements the 3 different path length optimizers presented in [1].
[1]: R. Geraerts and M.H. Overmars, Creating HighQuality Paths for Motion Planning, The International Journal of Robotics Research, Vol. 26, No. 8, 845863 (2007)
The simplest algorithm pathPruning runs through the path an tests if nodes with index i and i+2 can be directly connected. If so it removed node i+1.
The shortCut algorithm works similary except that it takes two random indices i and j and tries to connect those. This algorithm is nondeterministic but more powerful than pathPruning.
The partialShortCut algorithm select two random node indices i and j and a random position in the configuration vector. A shortcut is then only tried between the values corresponding to the random position. This algorithm is generally more powerful than shortCut but may in some cases be more computational expensive.
typedef rw::trajectory::Path<Q> PathQ 
Path of rw::kinematics::State with associated times.
typedef rw::invkin::PieperSolver PieperSolver 
Calculates the closed form inverse kinematics of a device using Piepers method.
To use Piepers method it is required that the device has 6 DOF revolute joints, and that last three axis intersects. In this implementation it will be assumed that the that rotation of these last three axis are equivalent to an Euler ZYZ or Z(Y)Z rotation.
See Introduction to Robotics Mechanics and Control, by John J. Craig for further information about the algorithm.
a triangle mesh representation that maintains a list of simple triangles.
This class is templated and can be setup with different types of triangle storage. Mainly this concerns single or double precision but also number of normals in each Triangle. Check out Triangle.hpp to get an idea of the different types.
The PlainTriMesh can be used as follows
To convert the plain trimesh to a more efficient mesh representation take a look at TriangleUtil::toIndexedTriMesh().
a triangle mesh representation that maintains a list of simple triangles.
This class is templated and can be setup with different types of triangle storage. Mainly this concerns single or double precision but also number of normals in each Triangle. Check out Triangle.hpp to get an idea of the different types.
The PlainTriMesh can be used as follows
To convert the plain trimesh to a more efficient mesh representation take a look at TriangleUtil::toIndexedTriMesh().
a triangle mesh representation that maintains a list of simple triangles.
This class is templated and can be setup with different types of triangle storage. Mainly this concerns single or double precision but also number of normals in each Triangle. Check out Triangle.hpp to get an idea of the different types.
The PlainTriMesh can be used as follows
To convert the plain trimesh to a more efficient mesh representation take a look at TriangleUtil::toIndexedTriMesh().
a triangle mesh representation that maintains a list of simple triangles.
This class is templated and can be setup with different types of triangle storage. Mainly this concerns single or double precision but also number of normals in each Triangle. Check out Triangle.hpp to get an idea of the different types.
The PlainTriMesh can be used as follows
To convert the plain trimesh to a more efficient mesh representation take a look at TriangleUtil::toIndexedTriMesh().
typedef rw::geometry::Plane Plane 
plane primitive represented in Hessian normalform: a*nx+b*ny+c*nz+d=0
A tuple of (QConstraintPtr, QEdgeConstraintPtr).
A planner constraint is a small copyable object containing pointers to a configuration constraint and an edge constraint. Sampling based path planners and path optimizers typically use a PlannerConstraint object for the collision checking for the paths.
A number of make() utility constructors are provided for applications where defaults for configuration and edge constraints can be used.
typedef rw::common::Plugin Plugin 
an interface for defining dynamically loadable plugins that define extensions and extension points.
typedef rw::geometry::PointCloud PointCloud 
A simple point cloud data structure. Points may be ordered or not. An ordered set is kept as a single array in row major order and with a width and a height. An unordered array must have height==1 and width equal to the number of points.
typedef rw::math::Pose6D<double> Pose6d 
A Pose6D describes a position and orientation in 3dimensions.
where is the 3d position and describes the orientation in equal angle axis (EAA) format.
typedef rw::math::Pose6D<float> Pose6f 
A Pose6D describes a position and orientation in 3dimensions.
where is the 3d position and describes the orientation in equal angle axis (EAA) format.
typedef rw::geometry::Primitive Primitive 
defines an interface for a geometric shape that is defined by a set of parameters.
Prismatic joints.
PrismaticJoint implements a prismatic joint for the displacement in the direction of the zaxis of an arbitrary displacement transform.
typedef rw::common::PropertyMap PropertyMap 
Container for a collection of Property Objects.
This container is used to bind various user information to for example Frame.
Example: Getting a string property with ID "Camera" from a frame
typedef rw::math::Q Q 
Configuration vector.
Path planner interface.
A path planner plans a path in the configuration space from a start configuration to a goal configuration.
Approach planner interface.
An approach planner plans a path from a configuration for the device to a configuration for the tool.
typedef rw::math::Quaternion<double> Quaterniond 
A Quaternion a complex number used to describe rotations in 3dimensional space. .
Quaternions can be added and multiplied in a similar way as usual algebraic numbers. Though there are differences. Quaternion multiplication is not commutative which means
typedef rw::math::Quaternion<float> Quaternionf 
A Quaternion a complex number used to describe rotations in 3dimensional space. .
Quaternions can be added and multiplied in a similar way as usual algebraic numbers. Though there are differences. Quaternion multiplication is not commutative which means
typedef rw::trajectory::RampInterpolator<double> RampInterpolator 
Make a ramp interpolation between two position.
The template argument given needs to support addition with the "+" operator and scaling with a double using the "*" operator.
For use with a rw::math::Transform3D see the template specialization
Make a ramp interpolation between two position.
The template argument given needs to support addition with the "+" operator and scaling with a double using the "*" operator.
For use with a rw::math::Transform3D see the template specialization
Make a ramp interpolation between two position.
The template argument given needs to support addition with the "+" operator and scaling with a double using the "*" operator.
For use with a rw::math::Transform3D see the template specialization
Make a ramp interpolation between two position.
The template argument given needs to support addition with the "+" operator and scaling with a double using the "*" operator.
For use with a rw::math::Transform3D see the template specialization
typedef rw::trajectory::RampInterpolator<rw::math::Transform3D<double> > RampInterpolatorSE3 
Make a ramp interpolation between two position.
The template argument given needs to support addition with the "+" operator and scaling with a double using the "*" operator.
For use with a rw::math::Transform3D see the template specialization
typedef rw::trajectory::RampInterpolator<rw::math::Rotation3D<double> > RampInterpolatorSO3 
Make a ramp interpolation between two position.
The template argument given needs to support addition with the "+" operator and scaling with a double using the "*" operator.
For use with a rw::math::Transform3D see the template specialization
Revolute joints.
RevoluteJoint implements a revolute joint for the rotation about the zaxis of an arbitrary displacement transform.
typedef rw::models::RigidObject RigidObject 
the RigidObject defines a physical object in the workcell that is rigid in the sence that the geometry does not change. The rigid object also have basic properties such as Inertia and mass. These are default 1.0 kg and inertia of solid sphere with mass 1.0kg and radius of 10cm. The center of mass defaults to origin of the base frame.
typedef rw::RobWork RobWork 
RobWork instance which holds objects to be shared among multiple plugins.
A RobWork instance contains common objects and configuration which may be used by multiple plugins which may originate from different shared libraries.
typedef rw::math::Rotation3D<double> Rotation3d 
A 3x3 rotation matrix .
typedef rw::math::Rotation3D<float> Rotation3f 
A 3x3 rotation matrix .
typedef rw::math::RPY<double> RPYd 
A class for representing RollPitchYaw Euler angle rotations.
typedef rw::math::RPY<float> RPYf 
A class for representing RollPitchYaw Euler angle rotations.
typedef rw::graphics::SceneNode SceneNode 
a node that can have leafs (DrawableNode) or other nodes as children.
typedef rw::graphics::SceneViewer SceneViewer 
interface for viewing a scene graph.
The scene graph viewer
typedef rw::math::VelocityScrew6D<double> Screw6d 
Class for representing 6 degrees of freedom velocity screws.
A VelocityScrew is the description of a frames linear and rotational velocity with respect to some reference frame.
typedef rw::math::VelocityScrew6D<float> Screw6f 
Class for representing 6 degrees of freedom velocity screws.
A VelocityScrew is the description of a frames linear and rotational velocity with respect to some reference frame.
typedef rw::sensor::Sensor Sensor 
a generel hardware sensor interface. The sensor should interface to a statefull instance of either a real world sensor or a simulated sensor. The sensor interface acts as a realistic handle to controlling some specific instance of a sensor.
typedef rw::models::SerialDevice SerialDevice 
The device for a serial chain.
SerialChain is like JointDevice except that SerialChain has the additional guarantee that the joints lie on a single parent to child path of the kinematic tree.
interface of a simulated controller
simulated sensor interface
interface of a general simulator
typedef rw::geometry::Sphere Sphere 
a sphere primitive. centr in (0,0,0) and a radius.
typedef rw::kinematics::State State 
The state of a work cell (or kinematics tree).
You need a work cell state in order to calculate forward kinematics for trees of frames.
Work cell states can be copied and assigned freely.
The work cell state consists of a part for the tree structure and a part for the configuration values. You are encouraged to use the getParent(), getChildren(), getQ() and setQ() utility functions rather than explicitly type, say, state.getQState().getQ(). That way you will have a much easier time of updating the code if we decide to change the way the kinematics data structures are stored (!). Also getQ(state, frame) is shorter to type also.
The operation of a work cell state is undefined valid if the tree used for its initialization is modified. (The implementation takes some care to check for this and crashes the program in a controlled way if it takes place.)
typedef rw::kinematics::StateData StateData 
the basic building block for the stateless design using the StateStructure class. A StateData represents a size, a unique id, and a unique name, when inserted into the StateStructure. The size will allocate "size"doubles in State objects originating from the StateStructure.
the StateStructure is responsible for handling a structure of StateData and Frames
typedef rw::loaders::STLFile STLFile 
static methods for reading and writing geometry to and from STL files.
StopCriteria is a class for specifying an instant a compution should be aborted.
The computation determines when to stop by repeatedly polling the StopCriteria::stop() method. Therefore the stop() method should be implemented to have a very short, preferably deterministic running time.
typedef rwlibs::task::Task<rw::math::Transform3D<double> > TaskSE3 
Template based implementation of Task.
typedef rw::common::ThreadPool ThreadPool 
A thread pool that can be assigned work.
Work is handled in a FIFO manner, and the pool is intended to be very simple and basic.
For more complex behaviour please look at the ThreadTask type, which has a higher abstraction for adding tasks to a ThreadPool.
typedef rw::common::ThreadTask ThreadTask 
A task that facilitates the use of a hierarchic tree of tasks and subtasks.
Often parallel processing can be done at multiple levels. Typically it is not known beforehand if some task can be split into multiple smaller subtasks or not. The ThreadTask keeps track of the state of all its subtasks  only when all subtasks have been processed, the parent task will be able to finish. Instead of finishing, it can also choose to add new subtasks that depends on the result of the previously run subtasks.
The ThreadTask can utilize a ThreadPool of arbitrary size (down to 0 threads). When 0 threads are used, the addSubTask() function will be blocking and execute the work immediately. If more than 0 threads are used, the addSubTask function will return immediately, and the task is instead added to the work queue for processing when a thread becomes available.
There are two ways to use the ThreadTask:
The four standard functions are as follows:
run() is the main work unit of the ThreadTask.
subTaskDone() is called each time a subtask has ended.
idle() is called when the task has finished its run() function and all subtasks has ended.
done() is the final function called before the ThreadTask is ended completely.
Please remember that the four functions can in general not be expected to be run in the same thread! In the first three functions it is allowed to add new subtasks to keep the thread running. In the done() function this is not allowed (it is simply ignored as the task will end immediately after this function has been called).
A tuple of (time, value).
typedef rw::trajectory::TimedState TimedState 
A tuple of (time, State). See rw::trajectory::Timed<t> template for more info.
typedef rw::trajectory::Trajectory<Q> TrajectoryQ 
Interface for Trajectories in RobWork.
typedef rw::trajectory::Trajectory<double> TrajectoryR1 
Interface for Trajectories in RobWork.
Interface for Trajectories in RobWork.
Interface for Trajectories in RobWork.
Interface for Trajectories in RobWork.
Interface for Trajectories in RobWork.
Interface for Trajectories in RobWork.
typedef rw::math::Transform3D<double> Transform3d 
A 4x4 homogeneous transform matrix .
typedef rw::math::Transform3D<float> Transform3f 
A 4x4 homogeneous transform matrix .
typedef rw::models::TreeDevice TreeDevice 
A tree structured device.
This device type defines devices that are treestructured, with multiple end effectors. Typical for dexterous hands, and multiarmed robots.
typedef rw::geometry::Triangle<double> Triangle 
plain triangle class. The second template argument specify the number of normals associated with the triangle. The triangle vertices should be arranged counter clock wise.
typedef rw::geometry::Triangle<float> Trianglef 
plain triangle class. The second template argument specify the number of normals associated with the triangle. The triangle vertices should be arranged counter clock wise.
typedef rw::geometry::TriangleN1<double> TriangleN1 
Triangle facet. triangle class of type N1, which means that beside the plain triangle the face normal of the triangle is saved with the facenormal.
typedef rw::geometry::TriangleN1<float> TriangleN1f 
Triangle facet. triangle class of type N1, which means that beside the plain triangle the face normal of the triangle is saved with the facenormal.
typedef rw::geometry::TriMesh TriMesh 
interface of a triangle mesh. The interface defines a way to get triangles from a triangle array/mesh.
step info is used when updating controllers, devices and bodies.
typedef rw::math::Vector2D<double> Vector2d 
A 2D vector .
In addition, Vector2D supports the cross product operator: v3 = cross(v1, v2)
Usage example:
typedef rw::math::Vector2D<float> Vector2f 
A 2D vector .
In addition, Vector2D supports the cross product operator: v3 = cross(v1, v2)
Usage example:
typedef rw::math::Vector3D<double> Vector3d 
A 3D vector .
Usage example:
typedef rw::math::Vector3D<float> Vector3f 
A 3D vector .
Usage example:
typedef rw::models::WorkCell WorkCell 
WorkCell keeps track of devices, obstacles and objects in the scene.
WorkCell is a pretty dumb container to which you can add your devices and the frames you your GUI to show as objects or camera views.
WorkCell is responsible for keeping track of everything including all devices, object and obstacles in the environment. WorkCell contains the World Frame, which represents the root and the only frame without a parent.
Defines an interface.
a factory for WorkCellLoader. This factory also defines an extension point for workcell loaders.
class for wrapping the SceneGraph interface such that it extends the scenegraph functionality to work on frames and workcells.
The scene graph is composed of nodes which are related to Frames. Each frame can have several Drawables attached which can be considered as leafs. Beside keeping track of the mapping from frames to scenenodes, this class also adds settings such as highlighted, adding of frameaxis(per Frame), visibility and so on.
typedef rw::math::Wrench6D<double> Wrench6d 
Class for representing 6 degrees of freedom wrenches.
A Wrench is the description of a frames linear force and rotational torque with respect to some reference frame.
typedef rw::math::Wrench6D<float> Wrench6f 
Class for representing 6 degrees of freedom wrenches.
A Wrench is the description of a frames linear force and rotational torque with respect to some reference frame.
Rotation3d rwlibs::swig::getRandomRotation3D  (  ) 
Math helper function to obtain random rotation.
Transform3d rwlibs::swig::getRandomTransform3D  (  const double  translationLength = 1  ) 
Math helper function to obtain random transform.
translationLength  [in] (optional) the length to translate  default is one meter. 
char* rwlibs::swig::printCString  (  const std::vector< T > &  x  ) 
Convert a vector of entities to a C string.
This function uses the toString function to do the conversion.
x  [in] the entities to convert. 
char* rwlibs::swig::printCString  (  const T &  x  ) 
Convert an entity to a C string.
This function uses the toString function to do the conversion.
x  [in] the entity to convert. 
void rwlibs::swig::setlog  (  ::rw::common::LogWriter::Ptr  writer  ) 
Set the writer to write log to.
writer  [in] the writer. 
std::string rwlibs::swig::toString  (  const T &  x  ) 
Convert an entity to string.
It must be possible to stream the entity, x, to a ostringstream. The entity should in general have a stream operator implemented.
x  [in] the entity to convert to string. 
void rwlibs::swig::writelog  (  const std::string &  msg  ) 
Write message to log.
msg  [in] message to write. 