|  | RobWorkProject
    23.9.11-
    | 
a JointController that use a PD loop on each joint to control the velocity such that the position target is reached at the same time. The PD controls the joint position and velocity from a generated synchronous ramp profile. More...
#include <SyncPDController.hpp>
Inherits JointController, and SimulatedController.
| Public Types | |
| typedef rw::core::Ptr< SyncPDController > | Ptr | 
|  Public Types inherited from JointController | |
| enum | ControlMode { POSITION = 1 , CNT_POSITION = 2 , VELOCITY = 4 , FORCE = 8 , CURRENT = 16 } | 
| control mode | |
| typedef rw::core::Ptr< JointController > | Ptr | 
| smart pointer of this class | |
|  Public Types inherited from Controller | |
| typedef rw::core::Ptr< Controller > | Ptr | 
| smart poiner definition for controller | |
|  Public Types inherited from SimulatedController | |
| typedef rw::core::Ptr< SimulatedController > | Ptr | 
| smart pointer type of this class | |
|  Public Types inherited from Stateless | |
| typedef rw::core::Ptr< Stateless > | Ptr | 
| Smart pointer type for Stateless. | |
| Public Member Functions | |
| SyncPDController (const std::string &name, dynamics::RigidDevice *rdev, const rw::kinematics::State &state) | |
| constrictor  More... | |
| virtual | ~SyncPDController () | 
| destructor | |
| std::vector< PDParam > | getParameters () | 
| the PD parameters  More... | |
| void | setParameters (const std::vector< PDParam > ¶ms) | 
| set the PD parameters  More... | |
| double | getSampleTime () | 
| the time between samples  More... | |
| void | setSampleTime (double stime) | 
| set the time between samples in seconds  More... | |
| void | update (const rwlibs::simulation::Simulator::UpdateInfo &info, rw::kinematics::State &state) | 
| updates/steps the controller with time step dt. It will update the state state accordingly  More... | |
| void | reset (const rw::kinematics::State &state) | 
| reset the controller to the applied state  More... | |
| Controller * | getController () | 
| get the name of this controller  More... | |
| std::string | getControllerName () | 
| get the name of this controller  More... | |
| unsigned int | getControlModes () | 
| gets the control mode mask. Defines which types of control the JointController supports  More... | |
| void | setControlMode (ControlMode mode) | 
| sets the control mode of this JointController. If the mode is unsupported an exception is thrown  More... | |
| void | setTargetPos (const rw::math::Q &target) | 
| sets the target joint value for the current control mode.  More... | |
| void | setTargetVel (const rw::math::Q &vals) | 
| sets the target velocity  More... | |
| void | setTargetAcc (const rw::math::Q &vals) | 
| sets the target acceleration  More... | |
| rw::math::Q | getQ () | 
| return the current position of the controlled robot  More... | |
| rw::math::Q | getQd () | 
| return the current velocity  More... | |
| void | setEnabled (bool enabled) | 
| disable or enable this controller  More... | |
| bool | isEnabled () const | 
| true if this controller is enabled  More... | |
| rwlibs::control::Controller::Ptr | getControllerHandle (rwlibs::simulation::Simulator::Ptr sim) | 
|  Public Member Functions inherited from JointController | |
| virtual | ~JointController () | 
| destructor | |
| virtual rw::models::Device & | getModel () | 
| get kinematic model of device that is controlled | |
|  Public Member Functions inherited from Controller | |
| virtual | ~Controller () | 
| destructor | |
| const std::string & | getName () const | 
| get the unique name of this controller  More... | |
| void | setName (const std::string &name) | 
| set the name of the controller  More... | |
|  Public Member Functions inherited from SimulatedController | |
| virtual rw::core::Ptr< rwlibs::control::Controller > | getControllerHandle (rw::core::Ptr< rwlibs::simulation::Simulator > sim)=0 | 
| get the controller handle eg. statefull handle, associated with this simulated controller  More... | |
| rw::core::Ptr< rw::models::ControllerModel > | getControllerModel () | 
| get the controllermodel of this simulated controller  More... | |
|  Public Member Functions inherited from Stateless | |
| virtual | ~Stateless () | 
| destructor | |
| virtual void | registerIn (State &state) | 
| initialize this stateless data to a specific state  More... | |
| virtual void | registerIn (StateStructure::Ptr state) | 
| register this stateless object in a statestructure. | |
| virtual void | unregister () | 
| unregisters all state data of this stateless object | |
| StateStructure::Ptr | getStateStructure () | 
| Get the state structure.  More... | |
| const StateStructure::Ptr | getStateStructure () const | 
| Get the state structure.  More... | |
| bool | isRegistered () | 
| Check if object has registered its state.  More... | |
| Additional Inherited Members | |
|  Protected Member Functions inherited from JointController | |
| JointController (const std::string &name, rw::models::Device *dev) | |
| constructor  More... | |
|  Protected Member Functions inherited from Controller | |
| Controller (const std::string &name) | |
| constructor  More... | |
|  Protected Member Functions inherited from SimulatedController | |
| SimulatedController (rw::models::ControllerModel::Ptr model) | |
| Constructor.  More... | |
|  Protected Member Functions inherited from Stateless | |
| Stateless () | |
| constructor | |
| template<class T > | |
| void | add (StatelessData< T > &data) | 
| implementations of sensor should add all their stateless data on initialization | |
| void | add (StateData *data) | 
| Add data.  More... | |
| void | add (rw::core::Ptr< StateData > data) | 
| implementations of sensor should add all their state data on initialization | |
|  Protected Attributes inherited from Stateless | |
| bool | _registered | 
| True if object has registered its state. | |
| std::vector< rw::core::Ptr< StateData > > | _datas | 
| Data. | |
| StateStructure::Ptr | _stateStruct | 
| The state structure. | |
a JointController that use a PD loop on each joint to control the velocity such that the position target is reached at the same time. The PD controls the joint position and velocity from a generated synchronous ramp profile.
| SyncPDController | ( | const std::string & | name, | 
| dynamics::RigidDevice * | rdev, | ||
| const rw::kinematics::State & | state | ||
| ) | 
constrictor
| name | |
| rdev | |
| state | 
| 
 | inline | 
get the name of this controller
| 
 | inlinevirtual | 
| 
 | inlinevirtual | 
gets the control mode mask. Defines which types of control the JointController supports
This controller supports both position and velocity control.
Implements JointController.
| std::vector<PDParam> getParameters | ( | ) | 
the PD parameters
| 
 | inlinevirtual | 
return the current position of the controlled robot
Implements JointController.
| 
 | inlinevirtual | 
return the current velocity
Implements JointController.
| double getSampleTime | ( | ) | 
the time between samples
| 
 | inlinevirtual | 
| 
 | virtual | 
reset the controller to the applied state
| state | [in] the state to reset to | 
Implements SimulatedController.
| 
 | virtual | 
sets the control mode of this JointController. If the mode is unsupported an exception is thrown
Implements JointController.
| 
 | inlinevirtual | 
| void setParameters | ( | const std::vector< PDParam > & | params | ) | 
set the PD parameters
| params | [in] list of parameters. must be same length as DOF of controlling device | 
| void setSampleTime | ( | double | stime | ) | 
set the time between samples in seconds
| stime | [in] sample time | 
| 
 | virtual | 
| 
 | virtual | 
sets the target joint value for the current control mode.
Implements JointController.
| 
 | virtual | 
| 
 | virtual | 
updates/steps the controller with time step dt. It will update the state state accordingly
| info | [in] update information related to the time step. | 
| state | [in/out] the current state | 
Implements SimulatedController.