RobWorkProject
24.12.4-
|
The interface for control strategies for assembly. More...
#include <AssemblyControlStrategy.hpp>
Inherited by CircularPiHControlStrategy, PiHStrategy, and SpiralStrategy.
Classes | |
class | ControlState |
Derive from the ControlState class to implement state that is specific to a AssemblyControlStrategy. More... | |
Public Types | |
typedef rw::core::Ptr< AssemblyControlStrategy > | Ptr |
smart pointer type to this class | |
Public Member Functions | |
AssemblyControlStrategy () | |
Create new control strategy. | |
virtual | ~AssemblyControlStrategy () |
Destructor. | |
virtual ControlState::Ptr | createState () const |
Create a new ControlState. This is usually done before calling update() the first time. More... | |
virtual rw::core::Ptr< AssemblyControlResponse > | update (rw::core::Ptr< AssemblyParameterization > parameters, rw::core::Ptr< AssemblyState > real, rw::core::Ptr< AssemblyState > assumed, ControlState::Ptr controlState, rw::kinematics::State &state, rw::sensor::FTSensor *ftSensor, double time) const =0 |
The main control loop. More... | |
virtual rw::math::Transform3D | getApproach (rw::core::Ptr< AssemblyParameterization > parameters)=0 |
Get the initial relative configuration between female and male objects (uses object TCP frames as given in the AssemblyTask). More... | |
virtual std::string | getID ()=0 |
All implementations should provide a unique id, which will be used for serialization and in the factory. More... | |
virtual std::string | getDescription ()=0 |
A textual description of the control strategy. More... | |
virtual rw::core::Ptr< AssemblyParameterization > | createParameterization (const rw::core::Ptr< rw::core::PropertyMap > map)=0 |
Construct a parameterization from a PropertyMap - this is required for deserialization and loading of a Assemblyassembly. More... | |
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().
|
pure virtual |
Construct a parameterization from a PropertyMap - this is required for deserialization and loading of a Assemblyassembly.
map | [in] the PropertyMap to construct a parameterization from. |
Implemented in SpiralStrategy, PiHStrategy, and CircularPiHControlStrategy.
|
virtual |
Create a new ControlState. This is usually done before calling update() the first time.
Reimplemented in SpiralStrategy, PiHStrategy, and CircularPiHControlStrategy.
|
pure virtual |
Get the initial relative configuration between female and male objects (uses object TCP frames as given in the AssemblyTask).
First when approach is reached, the update() control loop will start running.
parameters | [in] the parameters used for the current task. |
Implemented in SpiralStrategy, PiHStrategy, and CircularPiHControlStrategy.
|
pure virtual |
A textual description of the control strategy.
Implemented in SpiralStrategy, PiHStrategy, and CircularPiHControlStrategy.
|
pure virtual |
All implementations should provide a unique id, which will be used for serialization and in the factory.
Implemented in SpiralStrategy, PiHStrategy, and CircularPiHControlStrategy.
|
pure virtual |
The main control loop.
parameters | [in] the parameters used for the current task. |
real | [in] the real AssemblyState (can be NULL if not known). |
assumed | [in] the assumed AssemblyState (should be set by the AssemblyControlStrategy). |
controlState | [in] a ControlState previously created by the createState() function. |
state | [in] the real state of the system. |
ftSensor | [in] a pointer to the male force/torque sensor. |
time | [in] the current time. |