ROS学习笔记------ROS基础-----基础编程 day 4 2019/3/1 帅某(分布式通信,launch文件,TF坐标变换)

版权声明:转载请注释出处,帅某不胜感激。 https://blog.csdn.net/weixin_43262513/article/details/88060329

1.分布式通信

下文linux主机名称:shuaimou
下文linux从机名称:plus

ros是一种分布式软件框架,节点之间通过松耦合方式组合
2.分布式通信步骤
(1)设置IP地址

sudo vi /etc/hosts

设置对方的IP地址别名,类似于宏定义IP地址,方便远程登录。
(2)从机设置ros_MSSTER_URI.从机找到ROS MASTER——ros core只能运行到一台计算机上

export ROS_MASTER_URI=http://     你的  IP地址    :11311

11311,是端口号
(3)实验
本地端口打开小海龟历程,
从机(建议远程登录)打开小海龟控制,如下图:
在这里插入图片描述
可以看到从机plus可以打印出主机小海龟的节点。

注意:只能主机运行roscore,从机运行结果如下:
在这里插入图片描述
提示:roscore只能运行在主机,从机不能运行。
2.ros中的关键组件——launch文件
launch文件:是通过xml文件实现多节点的配置和启动(可自动启动ros master)
launch文件是可以同时很多节点自启动,非常重要

(1)launch文件介绍:
在这里插入图片描述
output:控制节点的打印,是否打印在电脑屏幕上
respawn:当前节点失效,重新启动。
required:launch最重要节点,required启动失败,ros启动失败。
在这里插入图片描述
在这里插入图片描述
重映射:移植别人功能包,把别人接口重新定义。
更多标签请参考网站:
https://wiki.ros.org/roslaunch/XML
3.TF坐标变换——妈耶,这么巧的嘛,我们正在学习。
在这里插入图片描述
(1)安装小海龟TF坐标变换节点包

sudo apt-get install ros-kinetic-turtle-tf

(2)启动节点(roslaunch)

roslaunch turtle_tf turtle_tf_demo.launch 

可以看到,中心出现一只小乌龟,过一会屏幕又出现移植小乌龟,后出现的小乌龟正在向最先出现的小乌龟哪里移动(跟随)
在这里插入图片描述
(3)启动键盘控制

rosrun turtlesim  turtle_teleop_key 

可以看到小海龟跟随现象。(外面是键盘控制的,里面是小乌龟跟随)
在这里插入图片描述
(4)查看TF坐标变换

rosrun tf view_frames

在这里插入图片描述
可以看到在根目录下生成哟个PDF文件。
我的是在home里面,打开PDF:
在这里插入图片描述
在这里插入图片描述
可以看到三个坐标系:Word,turtle1,turtle2 。

rosrun tf tf_echo tuetle1 turtle2

可以查看两个海龟之间坐标变换关系。
在这里插入图片描述
可以看到,PDF通过四种不同方式(表达意思一样)表示两种小海龟之间关系:
translation:空间位置关系,上图可以看到最终小海龟基本重合。
rotation:quaternion–>四元素法,本人才疏学浅,还没有学习。
RPY(radian)–>弧度表示
rpy(degree)–>角度表示
也可以使用RVIZ来显示可视化界面:

rosrun rviz rviz -d `rospack find turtle_tf`/rviz/turtle_rviz.rviz

在这里插入图片描述
黄色为世界坐标系,可以清楚显示两个小海龟相对于世界坐标系的位置。
4,TF广播器
源文件上传,下载链接:
https://download.csdn.net/download/weixin_43262513/10931519
运行命令

 roslaunch learning_tf start_demo_with_listener.launch 

期间遇到错误,如下:

[start_demo_with_listener.launch] is neither a launch file in package [rbx1_bringup] nor is [rbx1_bringup] a launch file name The traceback for the exception was written to the log file

具体解决方法见我的博客,连接:
https://blog.csdn.net/weixin_43262513/article/details/88049606
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43262513/article/details/88060329