Go to the documentation of this file.
25 #include <VirtualRobot/Robot.h>
33 #include <armarx/control/common/control_law/aron/CollisionAvoidanceControllerConfig.aron.generated.h>
36 #include <armarx/control/njoint_controller/task_space/ControllerInterface.h>
39 #include <simox/control/environment/CollisionRobot.h>
40 #include <simox/control/geodesics/metric/inertia.h>
41 #include <simox/control/impl/simox/robot/Robot.h>
64 using ConfigPtrT = ConfigurableNJointControllerConfigPtr;
66 common::control_law::arondto::CollisionAvoidanceTSImpedanceControllerConfig;
70 const NJointControllerConfigPtr& config,
73 std::string
getClassName(
const Ice::Current& = Ice::emptyCurrent)
const override;
81 const Ice::Current& iceCurrent = Ice::emptyCurrent)
override;
87 const std::map<std::string, ConstControlDevicePtr>&,
88 const std::map<std::string, ConstSensorDevicePtr>&);
93 const Ice::Current& iceCurrent)
override;
112 std::atomic_bool collReady{
false};
static ConfigPtrT GenerateConfigFromVariants(const StringVariantBaseMap &values)
Brief description of class NJointTaskspaceImpedanceController.
common::control_law::arondto::CollisionAvoidanceTSImpedanceControllerConfig CollisionCtrlCfg
std::map< std::string, VariantBasePtr > StringVariantBaseMap
void onPublish(const SensorAndControl &sc, const DebugDrawerInterfacePrx &drawer, const DebugObserverInterfacePrx &) override
void updateCollisionAvoidanceConfig(const ::armarx::aron::data::dto::DictPtr &dto, const Ice::Current &iceCurrent=Ice::emptyCurrent) override
NJointController interface for collision avoidance.
std::string getClassName(const Ice::Current &=Ice::emptyCurrent) const override
NJointControllerConfigPtr ConfigPtrT
::armarx::aron::data::dto::DictPtr getConfig(const Ice::Current &iceCurrent) override
std::shared_ptr< CollisionAvoidanceBase > CollisionAvoidanceBasePtr
void collLimbPublish(core::CollisionAvoidanceBase::CollArmPtr &arm, const DebugObserverInterfacePrx &debugObs)
void limbRT(ArmPtr &arm, const double deltaT)
std::unique_ptr< ArmData > ArmPtr
Provides a ready-to-use ArViz client arviz as member variable.
armarx::aron::data::dto::Dict getCollisionAvoidanceConfig()
NJointTaskspaceCollisionAvoidanceImpedanceController(const RobotUnitPtr &robotUnit, const NJointControllerConfigPtr &config, const VirtualRobot::RobotPtr &robot)
static WidgetDescription::WidgetPtr GenerateConfigDescription(const VirtualRobot::RobotPtr &, const std::map< std::string, ConstControlDevicePtr > &, const std::map< std::string, ConstSensorDevicePtr > &)
This file is part of ArmarX.
std::shared_ptr< CollisionAvoidanceArmData > CollArmPtr
Brief description of class NJointTaskspaceCollisionAvoidanceImpedanceController.
armarx::core::time::DateTime Time
void rtRun(const IceUtil::Time &sensorValuesTimestamp, const IceUtil::Time &timeSinceLastIteration) override
TODO make protected and use attorneys.
std::shared_ptr< Dict > DictPtr
void rtPostDeactivateController() override
This function is called after the controller is deactivated.
void updateConfig(const ::armarx::aron::data::dto::DictPtr &dto, const Ice::Current &iceCurrent) override
void rtPreActivateController() override
NJointControllerBase interface.
std::shared_ptr< class Robot > RobotPtr