36 #include "kdl/chainfksolvervel_recursive.hpp" 46 CartesianTwistController::CartesianTwistController()
48 jnt_to_twist_solver_(NULL)
64 std::string root_name, tip_name;
66 ROS_ERROR(
"CartesianTwistController: No root name found on parameter server (namespace: %s)",
71 ROS_ERROR(
"CartesianTwistController: No tip name found on parameter server (namespace: %s)",
81 if (!
chain_.
init(robot_state, root_name, tip_name))
100 for (
unsigned int i=0; i<3; i++)
105 for (
unsigned int i=0; i<3; i++)
122 for (
unsigned int i=0; i<6; i++)
158 for (
unsigned int i=0; i<3; i++)
161 for (
unsigned int i=0; i<3; i++)
167 for (
unsigned int j=0; j<6; j++)
PLUGINLIB_EXPORT_CLASS(my_controller_ns::MyControllerClass, pr2_controller_interface::Controller)
void resize(unsigned int newNrOfColumns)
Subscriber subscribe(const std::string &topic, uint32_t queue_size, void(T::*fp)(M), T *obj, const TransportHints &transport_hints=TransportHints())
~CartesianTwistController()
void getVelocities(std::vector< double > &)
void resize(unsigned int newSize)
ros::Subscriber sub_command_
KDL::JntArrayVel jnt_posvel_
bool param(const std::string ¶m_name, T ¶m_val, const T &default_val) const
const std::string & getNamespace() const
std::vector< control_toolbox::Pid > fb_pid_controller_
unsigned int getNrOfJoints() const
bool init(pr2_mechanism_model::RobotState *robot, ros::NodeHandle &n)
void resize(unsigned int newSize)
pr2_mechanism_model::Chain chain_
bool getParam(const std::string &key, std::string &s) const
boost::scoped_ptr< KDL::ChainJntToJacSolver > jac_solver_
pr2_mechanism_model::RobotState * robot_state_
boost::scoped_ptr< KDL::ChainFkSolverVel > jnt_to_twist_solver_
bool init(RobotState *robot_state, const std::string &root, const std::string &tip)
void command(const geometry_msgs::TwistConstPtr &twist_msg)
void toKDL(KDL::Chain &chain)
void addEfforts(KDL::JntArray &)