ControllerConfiguration.cpp
Go to the documentation of this file.
2
4
6{
7
11 {
13
14 configData.maxVelocityRad = config.getFloat("maxVelocityRad");
15 configData.maxAccelerationRad = config.getFloat("maxAccelerationRad");
16 configData.maxDecelerationRad = config.getFloat("maxDecelerationRad");
17 configData.p = config.getFloat("p");
18 configData.accuracy = config.getFloat("accuracy");
20 config.getBool("useElmoRelativePositionController");
21
22 return std::make_shared<PositionControllerConfiguration>(configData);
23 }
24
28 {
30
31 configData.maxVelocityRad = config.getFloat("maxVelocityRad");
32 configData.maxAccelerationRad = config.getFloat("maxAccelerationRad");
33 configData.maxDecelerationRad = config.getFloat("maxDecelerationRad");
34
35 return std::make_shared<VelocityControllerConfiguration>(configData);
36 }
37
41 {
43
44 configData.maxVelocity = config.getFloat("maxVelocity");
45 configData.maxAcceleration = config.getFloat("maxAcceleration");
46 configData.maxDeceleration = config.getFloat("maxDeceleration");
47 configData.maxAngularVelocity = config.getFloat("maxAngularVelocity");
48 configData.maxAngularAcceleration = config.getFloat("maxAngularAcceleration");
49 configData.maxAngularDeceleration = config.getFloat("maxAngularDeceleration");
50
51 // Optional, so that robot configurations which predate it keep working unchanged.
52 try
53 {
54 configData.directionPreservingRamp = config.getBool("directionPreservingRamp");
55 }
57 {
58 configData.directionPreservingRamp = false;
59 }
60
61 return std::make_shared<HolonomicPlatformControllerConfiguration>(configData);
62 }
63
64} // namespace armarx::control::joint_controller
The ConfigElementNotFoundError class represents an error that is thrown when trying to get a config v...
Definition Errors.h:25
The Config class is the base class of all specialized configurations that have a direct key -> value ...
Definition Config.h:94
float getFloat(const std::string name)
Get a Float typed Config attribute by name.
Definition Config.cpp:16
bool getBool(const std::string name)
Get a Bool typed Config attribute by name.
Definition Config.cpp:10
bool directionPreservingRamp
Ramp the two linear axes together instead of independently.
static HolonomicPlatformControllerConfigurationPtr CreateHolonomicPlatformControllerConfigData(hardware_config::Config &config)
static PositionControllerConfigurationPtr CreatePositionControllerConfigData(hardware_config::Config &config)
static VelocityControllerConfigurationPtr CreateVelocityControllerConfigData(hardware_config::Config &config)
std::shared_ptr< VelocityControllerConfiguration > VelocityControllerConfigurationPtr
std::shared_ptr< PositionControllerConfiguration > PositionControllerConfigurationPtr
std::shared_ptr< HolonomicPlatformControllerConfiguration > HolonomicPlatformControllerConfigurationPtr