This page describes the C++ ControlConfig API.
This section describes the existing RPCs used in this API.
Service to configure robot control library
ControlConfigClient RPCs
Function name | Return type | Input type | Description |
---|---|---|---|
SetGravityVector | Empty | GravityVector | Sets global gravity vector in terms of base reference frame. This needs to be configured to enable control of the robot in wall or ceiling mounting of the robot. |
GetGravityVector | GravityVector | Empty | Retrieves global gravity vector |
SetPayloadInformation | Empty | PayloadInformation | Sets payload information. This needs to be configured so that the control library can take into account the presence of the payload mass in computing the dynamics of the robot. |
GetPayloadInformation | PayloadInformation | Empty | Retrieves payload information |
SetToolConfiguration | Empty | ToolConfiguration | Sets tool configuration. This needs to be configured for two reasons. 1) so that the control library can take into account the presence of the tool mass in computing the dynamics of the robot. 2) so that the robot is aware of the tool frame center relative position and orientation to correctly compute and report the tool position. |
GetToolConfiguration | ToolConfiguration | Empty | Retrieves tool configuration |
OnNotificationControlConfigurationTopic | NotificationHandle | NotificationOptions | Subscribes to control configuration notifications |
Unsubscribe | Empty | NotificationHandle | Unsubscribes client from receiving specified type of notifications |
SetCartesianReferenceFrame | Empty | CartesianReferenceFrameInfo | Defines the reference frame to use with twist and wrench commands |
GetCartesianReferenceFrame | CartesianReferenceFrameInfo | Empty | Retrieves the current reference frame used by the twist and wrench commands |
GetControlMode | ControlModeInformation | Empty | Retrieves current control mode |
SetJointSpeedSoftLimits | Empty | JointSpeedSoftLimits | Set the software joint speed limits. |
SetTwistLinearSoftLimit | Empty | TwistLinearSoftLimit | Set the software twist linear limit. |
SetTwistAngularSoftLimit | Empty | TwistAngularSoftLimit | Set the software twist angular limit. |
SetJointAccelerationSoftLimits | Empty | JointAccelerationSoftLimits | Set the software joint acceleration limits. |
GetKinematicHardLimits | KinematicLimits | Empty | Retrieves angular and twist hard limits. |
GetKinematicSoftLimits | KinematicLimits | ControlModeInformation | Retrieves the software kinematic limits for a specific control mode. |
GetAllKinematicSoftLimits | KinematicLimitsList | Empty | Retrieves the software kinematic limits for all control modes. |
SetDesiredLinearTwist | Empty | LinearTwist | Set the desired linear twist when using the joystick. |
SetDesiredAngularTwist | Empty | AngularTwist | Set the desired angular twist when using the joystick. |
SetDesiredJointSpeeds | Empty | JointSpeeds | Set the desired joint speeds when using the joystick in angular mode. |
GetDesiredSpeeds | DesiredSpeeds | Empty | Retrieves the desired joystick speeds |
ResetGravityVector | GravityVector | Empty | Resets gravity vector to default values |
ResetPayloadInformation | PayloadInformation | Empty | Resets payload information to default values |
ResetToolConfiguration | ToolConfiguration | Empty | Resets tool configuration to default values |
ResetJointSpeedSoftLimits | JointSpeedSoftLimits | ControlModeInformation | Resets joint speed soft limits to default values |
ResetTwistLinearSoftLimit | TwistLinearSoftLimit | ControlModeInformation | Resets twist linear soft limit to default value |
ResetTwistAngularSoftLimit | TwistAngularSoftLimit | ControlModeInformation | Resets twist angular soft limit to default value |
ResetJointAccelerationSoftLimits | JointAccelerationSoftLimits | ControlModeInformation | Resets joint acceleration soft limits to default values |
OnNotificationControlModeTopic | NotificationHandle | NotificationOptions | Subscribes to control mode topic for notifications |
This section describes the data classes used in this API.
Messages
Class | Description |
---|---|
AngularTwist | Desired Joystick angular speed. |
CartesianReferenceFrameInfo | Cartesian reference frame |
CartesianTransform | Defines a Cartesian transform |
ControlConfigurationNotification | Notification about a single control configuration event |
ControlModeInformation | Control mode information |
ControlModeNotification | Notification about a single control mode event |
DesiredSpeeds | Desired Joystick speeds. |
GravityVector | Defines the gravity vector in terms of the robot base frame. If not explicitly configured, it defaults to (0, 0, -9.81), assuming a mounting on a horizontal surface. If the robot is mounted on a wall or ceiling, the gravity vector relative to the base frame will change. The control library needs to be aware of this to accurately compensate for gravity. |
JointAccelerationSoftLimits | Software Joint acceleration limits |
JointSpeedSoftLimits | Software joint speed limits |
JointSpeeds | Desired Joystick joint speeds. |
KinematicLimits | Kinematic limits |
KinematicLimitsList | Kinematic limits |
LinearTwist | Desired Joystick linear speed. |
PayloadInformation | Defines payload information |
Position | A Cartesian position |
ToolConfiguration | Defines a tool configuration |
TwistAngularSoftLimit | Software twist angular speed limit |
TwistLinearSoftLimit | Software twist linear speed limit |
Enumerators
Enumerator | Description |
---|---|
ControlConfigurationEvent | Admissible control configuration events |
ControlMode | Admissible robot control modes |
ServiceVersion | Identifies ControlConfig current version |