Class AsyncPositionControlHandler

Nested Relationships

Nested Types

Class Documentation

class AsyncPositionControlHandler

Handler for asynchronous joint position control.

The defined structures will allow us to further extend the interface in the future.

Public Functions

virtual ~AsyncPositionControlHandler()
auto setJointPositionTarget(const JointPositionTarget &target) -> CommandResult

Sets the next joint positions for the asynchronous control.

Parameters:

target – The target joint positions to set.

Returns:

CommandResult containing the result for the proposed next target.

auto getTargetFeedback() -> TargetFeedback

Retrieves feedback about the current control state.

Returns:

TargetFeedback containing the current status and joint positions.

auto stopControl() -> void

Stops the asynchronous position control.

Public Static Functions

static auto configure(const std::shared_ptr<Robot> &robot, const Configuration &configuration) -> ConfigurationResult

Constructs the async control handler.

Parameters:
  • robot – Shared pointer to the robot instance.

  • configuration – Input parameters for the initialization.

Returns:

ConfigurationResult containing either the handler or an error message.

struct CommandResult

Public Members

std::optional<std::string> motion_uuid = {}
bool was_successful = {}
std::optional<std::string> error_message = {}
struct Configuration

Public Members

std::optional<std::vector<double>> maximum_joint_velocities = {}
std::optional<double> goal_tolerance = {}
struct ConfigurationResult

Public Members

std::shared_ptr<AsyncPositionControlHandler> handler = {}
std::optional<std::string> error_message = {}
struct JointPositionTarget

Public Members

std::array<double, Robot::kNumJoints> joint_positions = {}
struct TargetFeedback

Public Members

TargetStatus status = {TargetStatus::kIdle}
std::optional<std::string> error_message = {}