move away from deprecated functions, and do not use root namespace for subscription

This commit is contained in:
meeussen 2009-09-24 21:04:08 +00:00
parent 1252dd7566
commit 8fbaa701b0
5 changed files with 15 additions and 13 deletions

View File

@ -63,7 +63,7 @@ public:
private: private:
void callbackJointState(const JointStateConstPtr& state); void callbackJointState(const JointStateConstPtr& state);
NodeHandle n_; NodeHandle n_, n_tilde_;
Rate publish_rate_; Rate publish_rate_;
robot_state_publisher::RobotStatePublisher state_publisher_; robot_state_publisher::RobotStatePublisher state_publisher_;
Subscriber joint_state_sub_; Subscriber joint_state_sub_;

View File

@ -1,11 +1,13 @@
<package> <package>
<description brief="This package allows you to publish the state of a robot to the transform library topic"> <description brief="This package allows you to publish the state of a robot to the transform library topic">
This package allows you to publish the state of a robot to the transform library topic. Once the state This package allows you to publish the state of a robot to the
gets published, it is available to all components in the system using the transform library. transform library topic. Once the state gets published, it is
The package takes the joint angles of the robot as input and publishes the 3D poses available to all components in the system using the transform
of the robot links, using a kinematic tree model of the robot. The package can both be used library. The package takes the joint angles of the robot as input
as a library and as a ROS node. and publishes the 3D poses of the robot links, using a kinematic
tree model of the robot. The package can both be used as a library
and as a ROS node.
</description> </description>
<author>Wim Meeussen meeussen@willowgarage.com </author> <author>Wim Meeussen meeussen@willowgarage.com </author>

View File

@ -46,15 +46,15 @@ using namespace robot_state_publisher;
JointStateListener::JointStateListener(const KDL::Tree& tree) JointStateListener::JointStateListener(const KDL::Tree& tree)
: n_("~"), publish_rate_(0.0), state_publisher_(tree) : n_tilde_("~"), publish_rate_(0.0), state_publisher_(tree)
{ {
// set publish frequency // set publish frequency
double publish_freq; double publish_freq;
n_.param("publish_frequency", publish_freq, 50.0); n_tilde_.param("publish_frequency", publish_freq, 50.0);
publish_rate_ = Rate(publish_freq); publish_rate_ = Rate(publish_freq);
// subscribe to mechanism state // subscribe to mechanism state
joint_state_sub_ = n_.subscribe("/joint_states", 1, &JointStateListener::callbackJointState, this);; joint_state_sub_ = n_.subscribe("joint_states", 1, &JointStateListener::callbackJointState, this);;
}; };

View File

@ -36,7 +36,7 @@
#include <kdl/tree.hpp> #include <kdl/tree.hpp>
#include <ros/ros.h> #include <ros/ros.h>
#include <kdl_parser/dom_parser.hpp> #include <kdl_parser/kdl_parser.hpp>
#include <urdf/model.h> #include <urdf/model.h>
#include "robot_state_publisher/joint_state_listener.h" #include "robot_state_publisher/joint_state_listener.h"

View File

@ -40,7 +40,7 @@
#include <tf/transform_listener.h> #include <tf/transform_listener.h>
#include <boost/thread/thread.hpp> #include <boost/thread/thread.hpp>
#include <urdf/model.h> #include <urdf/model.h>
#include <kdl_parser/dom_parser.hpp> #include <kdl_parser/kdl_parser.hpp>
#include "robot_state_publisher/joint_state_listener.h" #include "robot_state_publisher/joint_state_listener.h"
@ -74,7 +74,7 @@ protected:
// constructs a kdl tree from the robot model // constructs a kdl tree from the robot model
Tree tree; Tree tree;
if (!kdl_parser::treeFromRobotModel(robot_model, tree)) if (!kdl_parser::treeFromUrdfModel(robot_model, tree))
ROS_ERROR("Failed to extract kdl tree from robot model"); ROS_ERROR("Failed to extract kdl tree from robot model");
publisher = new JointStateListener(tree); publisher = new JointStateListener(tree);
@ -106,7 +106,7 @@ TEST_F(TestPublisher, test)
ASSERT_TRUE(tf.canTransform("l_gripper_palm_link", "fl_caster_r_wheel_link", Time())); ASSERT_TRUE(tf.canTransform("l_gripper_palm_link", "fl_caster_r_wheel_link", Time()));
ASSERT_FALSE(tf.canTransform("base_link", "wim_link", Time())); ASSERT_FALSE(tf.canTransform("base_link", "wim_link", Time()));
tf::Stamped<tf::Transform> t; tf::StampedTransform t;
tf.lookupTransform("base_link", "r_gripper_palm_link",Time(), t ); tf.lookupTransform("base_link", "r_gripper_palm_link",Time(), t );
EXPECT_NEAR(t.getOrigin().x(), 0.769198, EPS); EXPECT_NEAR(t.getOrigin().x(), 0.769198, EPS);
EXPECT_NEAR(t.getOrigin().y(), -0.188800, EPS); EXPECT_NEAR(t.getOrigin().y(), -0.188800, EPS);