Class ChainManager

Nested Relationships

Nested Types

Class Documentation

class ChainManager

Manages moving joints to a new pose, determining when they are settled, and returning current joint_states.

Public Functions

ChainManager(rclcpp::Node::SharedPtr node, long int wait_time = 15)

Constructor, sets up chains from ros parameters.

Parameters:
  • node – The node handle, sets namespace for parameters.

  • wait_time – The time to wait for each action to come up.

bool moveToState(const sensor_msgs::msg::JointState &state)

Send commands to all managed joints. The ChainManager automatically figures out which controller to send these to.

Returns:

False if failed.

bool waitToSettle()

Wait for joints to settle.

Returns:

True if joints have settled, false if timeout was hit.

bool getState(sensor_msgs::msg::JointState *state)

Get the current JointState message.

std::vector<std::string> getChains()

Get the names of chains. Mainly for testing.

std::vector<std::string> getChainJointNames(const std::string &chain_name)

Get the joint names associated with a chain. Mainly for testing.

std::string getPlanningGroupName(const std::string &chain_name)