在用ros进行编队仿真时遇到报错:
[ERROR] [1674979376.956803293, 256.792000000]: “tb3_2” passed to lookupTransform argument target_frame does not exist.
[ERROR] [1674979376.971983960, 256.807000000]: “tb3_1” passed to lookupTransform argument target_frame does not exist.
想要实现3个ros机器人实现一字型编队,2跟1,1跟0
launch文件如下:
<node pkg="test01" type="demo01_pos_pub" name="pub_robot_1" args="tb3_0" />
<node pkg="test01" type="demo01_pos_pub" name="pub_robot_2" args="tb3_1" />
<node pkg="test01" type="demo01_pos_pub" name="pub_robot_3" args="tb3_2" />
<node pkg="test01" type="demo02_pos_sub" name="sub_robot_2" args="tb3_0 tb3_1" output="screen"/>
<node pkg="test01" type="demo02_pos_sub" name="sub_robot_3" args="tb3_1 tb3_2" output="screen"/>
发布位姿代码:
#include"ros/ros.h"
#include"tf2_ros/transform_broadcaster.h"
#include"tf2/LinearMath/Quaternion.h"
#include"geometry_msgs/TransformStamped.h"
#include"nav_msgs/Odometry.h"
#include"tf/transform_broadcaster.h"
#include"tf/transform_datatypes.h"
std::string robotName;
void poseCallback(const nav_msgs::Odometry::ConstPtr& msg)
{
// 创建tf的广播器
static tf::TransformBroadcaster br