Manages moving joints to a new pose, determining when they are settled, and returning current joint_states. More...
#include <chain_manager.h>
Classes | |
struct | ChainController |
Public Member Functions | |
ChainManager (ros::NodeHandle &nh, double wait_time=15.0) | |
Constructor, sets up chains from ros parameters. More... | |
std::vector< std::string > | getChainJointNames (const std::string &chain_name) |
Get the joint names associated with a chain. Mainly for testing. More... | |
std::vector< std::string > | getChains () |
Get the names of chains. Mainly for testing. More... | |
std::string | getPlanningGroupName (const std::string &chain_name) |
bool | getState (sensor_msgs::JointState *state) |
Get the current JointState message. More... | |
bool | moveToState (const sensor_msgs::JointState &state) |
Send commands to all managed joints. The ChainManager automatically figures out which controller to send these to. More... | |
bool | waitToSettle () |
Wait for joints to settle. More... | |
Private Types | |
typedef actionlib::SimpleActionClient< moveit_msgs::MoveGroupAction > | MoveGroupClient |
typedef boost::shared_ptr< MoveGroupClient > | MoveGroupClientPtr |
typedef boost::shared_ptr< const moveit_msgs::MoveGroupResult > | MoveGroupResultPtr |
typedef actionlib::SimpleActionClient< control_msgs::FollowJointTrajectoryAction > | TrajectoryClient |
Private Member Functions | |
trajectory_msgs::JointTrajectoryPoint | makePoint (const sensor_msgs::JointState &state, const std::vector< std::string > &joints) |
void | stateCallback (const sensor_msgs::JointStateConstPtr &msg) |
Private Attributes | |
std::vector< boost::shared_ptr< ChainController > > | controllers_ |
double | duration_ |
MoveGroupClientPtr | move_group_ |
sensor_msgs::JointState | state_ |
bool | state_is_valid_ |
boost::mutex | state_mutex_ |
ros::Subscriber | subscriber_ |
double | velocity_factor_ |
Manages moving joints to a new pose, determining when they are settled, and returning current joint_states.
Definition at line 37 of file chain_manager.h.
|
private |
Definition at line 40 of file chain_manager.h.
|
private |
Definition at line 41 of file chain_manager.h.
|
private |
Definition at line 42 of file chain_manager.h.
|
private |
Definition at line 39 of file chain_manager.h.
robot_calibration::ChainManager::ChainManager | ( | ros::NodeHandle & | nh, |
double | wait_time = 15.0 |
||
) |
Constructor, sets up chains from ros parameters.
nh | The node handle, sets namespace for parameters. |
wait_time | The time to wait for each action to come up. |
Definition at line 25 of file chain_manager.cpp.
std::vector< std::string > robot_calibration::ChainManager::getChainJointNames | ( | const std::string & | chain_name | ) |
Get the joint names associated with a chain. Mainly for testing.
Definition at line 301 of file chain_manager.cpp.
std::vector< std::string > robot_calibration::ChainManager::getChains | ( | ) |
Get the names of chains. Mainly for testing.
Definition at line 291 of file chain_manager.cpp.
std::string robot_calibration::ChainManager::getPlanningGroupName | ( | const std::string & | chain_name | ) |
Definition at line 313 of file chain_manager.cpp.
bool robot_calibration::ChainManager::getState | ( | sensor_msgs::JointState * | state | ) |
Get the current JointState message.
Definition at line 124 of file chain_manager.cpp.
|
private |
Definition at line 132 of file chain_manager.cpp.
bool robot_calibration::ChainManager::moveToState | ( | const sensor_msgs::JointState & | state | ) |
Send commands to all managed joints. The ChainManager automatically figures out which controller to send these to.
Definition at line 156 of file chain_manager.cpp.
|
private |
Definition at line 85 of file chain_manager.cpp.
bool robot_calibration::ChainManager::waitToSettle | ( | ) |
Wait for joints to settle.
Definition at line 233 of file chain_manager.cpp.
|
private |
Definition at line 119 of file chain_manager.h.
|
private |
Definition at line 118 of file chain_manager.h.
|
private |
Definition at line 120 of file chain_manager.h.
|
private |
Definition at line 114 of file chain_manager.h.
|
private |
Definition at line 115 of file chain_manager.h.
|
private |
Definition at line 113 of file chain_manager.h.
|
private |
Definition at line 112 of file chain_manager.h.
|
private |
Definition at line 121 of file chain_manager.h.