ROS中所有的零件都可以设定他的tf坐标数据,机器人在移动的时候会把这些点作为判断的数据,也是后面配置导航所必须的数据,具体的tf的概念,请学习官方文档http://wiki.ros.org/tf/Tutorials#Learning_tf,这里介绍diego中的代码
#include <ros/ros.h>
#include <tf/transform_broadcaster.h>
int main(int argc, char** argv){
ros::init(argc, argv, "robot_camera_tf_publisher");
ros::NodeHandle n;
ros::Rate r(10);
tf::TransformBroadcaster broadcaster;
while(n.ok()){
broadcaster.sendTransform(
tf::StampedTransform(
tf::Transform(tf::Quaternion(0, 0, 0, 1), tf::Vector3(0.12, 0.0, 0.1)),
ros::Time::now(),"base_link", "camera_link"));
r.sleep();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
代码很简单,主要的代码是设置Vector3(0.12, 0.0, 0.1))中的x,y,z参数,x代表传感器距离base_link的x轴距离,y代表传感器距离base_link的y轴距离,z代表传感器距离base_link的z轴距离,单位是m,可以按照自己机器人的实际情况来设置,其他的代码都是基本的ROS发布topic的代码,可以直接参考官方文档。
版权声明:本文为博主原创文章,未经博主允许不得转载。

浙公网安备 33010602011771号