33 ROS_ERROR(
"Failed to construct kdl tree");
41 ROS_ERROR(
"Failed to initialize kinematic chain");
59 ROS_ERROR(
"X_NEGATIVE axis_type not supported");
63 ROS_ERROR(
"Y_NEGATIVE axis_type not supported");
67 ROS_ERROR(
"Z_NEGATIVE axis_type not supported");
92 KDL::Segment offset_link(
"offset_link", offset_joint, offset);
96 KDL::Joint lookat_lin_joint(
"lookat_lin_joint", lookat_lin_joint_type);
97 KDL::Segment lookat_rotx_link(
"lookat_rotx_link", lookat_lin_joint);
105 KDL::Segment lookat_roty_link(
"lookat_roty_link", lookat_rotx_joint);
116 KDL::Segment lookat_rotz_link(
"lookat_rotz_link", lookat_roty_joint);
127 KDL::Segment lookat_focus_frame(
"lookat_focus_frame", lookat_rotz_joint);
164 boost::mutex::scoped_lock lock(
mutex_);
174 boost::mutex::scoped_lock lock(
mutex_);
181 for (
unsigned int i = 0; i< chain_dof; i++)
188 for (
unsigned int i = 0; i <
ext_dof_; i++)
202 for (
unsigned int i = 0; i <
ext_dof_; i++)
215 boost::mutex::scoped_lock lock(
mutex_);
216 std::vector<double> pos;
217 std::vector<double> vel;
219 for (
unsigned int i = 0; i <
ext_dof_; i++)
226 for (
unsigned int i = 0; i <
ext_dof_; i++)
238 boost::mutex::scoped_lock lock(
mutex_);
std::vector< double > limits_min
virtual KDL::Jacobian adjustJacobian(const KDL::Jacobian &jac_chain)
boost::shared_ptr< KDL::ChainJntToJacSolver > jnt2jac_
tf::TransformListener tf_listener_
boost::shared_ptr< KDL::ChainFkSolverPos_recursive > fk_solver_ext_
unsigned int rows() const
void addSegment(const Segment &segment)
void transformKDLToTF(const KDL::Frame &k, tf::Transform &t)
static Rotation Quaternion(double x, double y, double z, double w)
KDL::JntArray current_q_dot_
LookatAxisTypes lookat_axis_type
std::vector< double > limits_ext_vel_
LookatOffset lookat_offset
std::string lookat_pointing_frame
std::vector< double > limits_ext_min_
std::string chain_tip_link
std::vector< double > limits_acc
tf::TransformBroadcaster br_
void transformTFToKDL(const tf::Transform &t, KDL::Frame &k)
const TwistControllerParams & params_
std::string chain_base_link
Timer createTimer(Rate r, Handler h, Obj o, bool oneshot=false, bool autostart=true) const
void addChain(const Chain &chain)
unsigned int getNrOfJoints() const
std::vector< double > limits_ext_max_
#define ROS_WARN_STREAM(args)
void resize(unsigned int newSize)
std::vector< double > limits_max
boost::shared_ptr< SimpsonIntegrator > integrator_
bool getChain(const std::string &chain_root, const std::string &chain_tip, Chain &chain) const
void SetToZero(Jacobian &jac)
KDL_PARSER_PUBLIC bool treeFromParam(const std::string ¶m, KDL::Tree &tree)
JointStates joint_states_full_
KDL::JntArray last_q_dot_
virtual void processResultExtension(const KDL::JntArray &q_dot_ik)
JointStates joint_states_ext_
virtual LimiterParams adjustLimiterParams(const LimiterParams &limiter_params)
std::vector< double > limits_ext_acc_
virtual JointStates adjustJointStates(const JointStates &joint_states)
std::vector< double > limits_vel
void broadcastFocusFrame(const ros::TimerEvent &event)