19#ifndef _mtsVFController_h
20#define _mtsVFController_h
25#include <sawConstraintController/mtsVFDataSensorCompliance.h>
27#include <sawConstraintController/prmKinematicsState.h>
28#include <sawConstraintController/prmSensorState.h>
29#include <sawConstraintController/prmOffsetState.h>
37#include <sawConstraintController/mtsVFDataJointLimits.h>
39#include <sawConstraintController/mtsVFDataRCM.h>
77 std::map<std::string,mtsVFBase *>::iterator itVF;
78 for(itVF =
VFMap.begin(); itVF !=
VFMap.end(); itVF++)
83 std::map<std::string,prmKinematicsState *>::iterator itKin;
89 std::map<std::string,prmSensorState *>::iterator itSens;
92 delete itSens->second;
155 std::map<std::string, mtsVFBase *>
VFMap;
161 std::map<std::string, prmSensorState *>
Sensors;
174 for (
auto it = dq.begin(); it != dq.end(); it ++){
175 *it = std::round(*it*1E6)/1E6;
Base class for high level objects.
Definition cmnGenericObject.h:53
CONTROLLERMODE
Definition mtsVFBase.h:39
mtsVFController: A class that is responsible for managing the virtual fixtures, relevant state data,...
Definition mtsVFController.h:52
void AddVFLimits(mtsVFDataJointLimits &vf)
void AddVFSensorCompliance(mtsVFDataSensorCompliance &vf)
Adds/Updates a vf data object.
void AddVFCartesianLimits(const mtsVFDataJointLimits &vf)
nmrConstraintOptimizer GetOptimizer()
Definition mtsVFController.h:96
void AddVFFollow(mtsVFDataBase &vf)
void RemoveSensorFromMap(const std::string &senName)
Removes a sensor from the map.
nmrConstraintOptimizer Optimizer
Definition mtsVFController.h:167
void AddVFJointPosition(const mtsVFDataBase &vf)
Adds/Updates a vf data object.
mtsVFController()
Definition mtsVFController.h:65
void SetSensor(const prmSensorState &sen)
Adds/Updates a sensor to the map.
void AddVFCartesianTranslation(const mtsVFDataBase &vf)
Adds/Updates a vf data object.
prmStateJoint JointState
Definition mtsVFController.h:164
void AddVFRCM(const mtsVFDataRCM &vf)
mtsVFController(size_t num_joints, mtsVFBase::CONTROLLERMODE cm)
Definition mtsVFController.h:69
void RemoveKinematicsFromMap(const std::string &kinName)
Removes a kinematics object from the map.
void AddVFPlane(mtsVFDataPlane &vf)
Adds/Updates a vf plane object.
void SetSensorOffset(const prmOffsetState &sen)
Adds/Updates a sensor to the map.
void LookupBaseData(void)
Finds the "base" object for kinematics and sensor data that has an offset.
nmrConstraintOptimizer::STATUS Solve(vctDoubleVec &dq)
Solves the constraint optimization problem and fills the result into the parameter.
~mtsVFController()
Definition mtsVFController.h:75
bool SetVFData(const mtsVFDataBase &data)
void UpdateOptimizer(double TickTime)
Updates the robot state data and control optimizer.
bool ActivateVF(const std::string &s)
std::map< std::string, prmSensorState * > Sensors
Definition mtsVFController.h:161
void AddVFCartesianOrientation(const mtsVFDataBase &vf)
Adds/Updates a vf data object.
void AddVFCylinder(mtsVFDataCylinder &vf)
std::map< std::string, mtsVFBase * > VFMap
Definition mtsVFController.h:155
mtsVFBase::CONTROLLERMODE ControllerMode
Definition mtsVFController.h:61
void AddVFJointVelocity(const mtsVFDataBase &vf)
Adds/Updates a vf data object.
std::map< std::string, prmKinematicsState * > Kinematics
Definition mtsVFController.h:158
void SetKinematics(const prmKinematicsState &kin)
Adds/Updates a kinematics object to the map.
nmrConstraintOptimizer: A class that makes using the constraint control algorithm more efficient
Definition nmrConstraintOptimizer.h:35
STATUS
Definition nmrConstraintOptimizer.h:78
Definition prmStateJoint.h:35
#define CMN_DECLARE_SERVICES_INSTANTIATION(className)
Definition cmnClassRegisterMacros.h:199
const int CMN_NO_DYNAMIC_CREATION
Definition cmnClassRegisterMacros.h:325
#define CMN_DECLARE_SERVICES(hasDynamicCreation, lod)
Definition cmnClassRegisterMacros.h:113
#define CISST_EXPORT
Definition cmnExportMacros.h:50
#define CMN_LOG_LOD_RUN_VERBOSE
Definition cmnLogLoD.h:95
vctDynamicVector< double > vctDoubleVec
Definition vctDynamicVectorTypes.h:37