Skip to content

Latest commit

 

History

History
81 lines (68 loc) · 9.21 KB

File metadata and controls

81 lines (68 loc) · 9.21 KB

ControlConfig (C++)

This page describes the C++ ControlConfig API.

RPC reference

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

Class reference

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