@@ -47,6 +47,7 @@ class IdealStateGenerator {
4747 // ROS communcators
4848 ros::NodeHandle nh_;
4949 ros::Publisher ideal_state_pub_;
50+ ros::Publisher ideal_pose_marker_pub_;
5051 ros::Subscriber path_sub_;
5152 ros::Subscriber cmd_vel_sub_;
5253 ros::Subscriber odom_sub_;
@@ -61,6 +62,7 @@ const double pi = acos(-1.0);
6162IdealStateGenerator::IdealStateGenerator () {
6263 // Setup the ideal state pub
6364 ideal_state_pub_= nh_.advertise <precision_navigation_msgs::DesiredState>(" idealState" ,1 );
65+ ideal_pose_marker_pub_= nh_.advertise <geometry_msgs::PoseStamped>(" ideal_pose" ,1 );
6466 path_sub_ = nh_.subscribe <precision_navigation_msgs::Path>(" desired_path" , 1 , &IdealStateGenerator::pathCallback, this );
6567 cmd_vel_sub_ = nh_.subscribe <geometry_msgs::Twist>(" cmd_vel" , 1 , &IdealStateGenerator::cmdVelCallback, this );
6668 odom_sub_ = nh_.subscribe <nav_msgs::Odometry>(" odom" , 1 , &IdealStateGenerator::odomCallback, this );
@@ -141,14 +143,21 @@ void IdealStateGenerator::computeStateLoop(const ros::TimerEvent& event) {
141143 }
142144 // Publish twist message
143145 ideal_state_pub_.publish (desiredState_);
146+ geometry_msgs::PoseStamped des_pose;
147+ des_pose.header = desiredState_.header ;
148+ des_pose.pose .position .x = desiredState_.x ;
149+ des_pose.pose .position .y = desiredState_.y ;
150+ des_pose.pose .orientation = tf::createQuaternionMsgFromYaw (theta);
151+ ideal_pose_marker_pub_.publish (des_pose);
144152 }
145153}
146154
147155bool IdealStateGenerator::checkCollisions (bool checkEntireVolume) {
148156 geometry_msgs::PointStamped origin, origin_des_frame;
149157 origin_des_frame.header = desiredState_.header ;
150- origin_des_frame.point .x = desiredState_.x ;
151- origin_des_frame.point .x = desiredState_.y ;
158+ origin_des_frame.header .frame_id = std::string (" base_link" );
159+ origin_des_frame.point .x = 0.0 ;
160+ origin_des_frame.point .x = 0.0 ;
152161 origin_des_frame.point .z = 0.0 ;
153162 try {
154163 tf_listener_.transformPoint (" base_link" , origin_des_frame, origin);
0 commit comments