ROS学习笔记 (四):使用ROS实现ARM与PC之间的通讯
2015-04-13 10:54
465 查看
这一篇文章在古月居的博客上有介绍点击打开链接,在此只是做一个简单的总结方便自己以后查阅。
示例使用的是ROS wiki上面的helloword示例点击打开链接。
在ROS中实现ARM与PC通讯的难点主要是架设ARM与PC之间的通路,这一块wiki上面有介绍多机通讯。
首先呢,我们需要将ARM和PC连到同一个网段里面,通过互相ping对方来确认是否已经好了。接下来分别在ARM和PC上面配置一下就好。
ARM端:
修改/etc/hosts文件,将PC的IP地址和主机名加入进去
上图中的172.18.129.143是我PC上的IP地址,yake-K42JE是我的主机名,这个两个都要写正确,否则会出现连接不上的问题。
接下来重启网络,让配置生效
最后将ROS 主机地址告诉ARM,一般来说,我们都是使用PC端作为主机(即启动roscore),命令如下:
PC端:
和ARM端类似,首先需要修改hosts文件,把ARM的ip+主机加入进去,然后重启网络,最后也要把ROS主机地址告诉系统;
在PC端,启动ROS程序
在PC上运行listener程序
示例使用的是ROS wiki上面的helloword示例点击打开链接。
在ROS中实现ARM与PC通讯的难点主要是架设ARM与PC之间的通路,这一块wiki上面有介绍多机通讯。
首先呢,我们需要将ARM和PC连到同一个网段里面,通过互相ping对方来确认是否已经好了。接下来分别在ARM和PC上面配置一下就好。
ARM端:
修改/etc/hosts文件,将PC的IP地址和主机名加入进去
root@linaro-ubuntu-desktop:~# cat /etc/hosts 127.0.0.1 localhost 172.18.129.143 yake-K42JE ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 127.0.1.1 linaro-ubuntu-desktop
上图中的172.18.129.143是我PC上的IP地址,yake-K42JE是我的主机名,这个两个都要写正确,否则会出现连接不上的问题。
接下来重启网络,让配置生效
root@linaro-ubuntu-desktop:~# sudo /etc/init.d/networking restart
最后将ROS 主机地址告诉ARM,一般来说,我们都是使用PC端作为主机(即启动roscore),命令如下:
root@linaro-ubuntu-desktop:~# export ROS_MASTER_URI=http://172.18.129.143:11311这样arm就可以找到主机了,接下来开始配置PC端。
PC端:
和ARM端类似,首先需要修改hosts文件,把ARM的ip+主机加入进去,然后重启网络,最后也要把ROS主机地址告诉系统;
root@linaro-ubuntu-desktop:~# export ROS_MASTER_URI=http://172.18.129.143:11311至此,ARM与PC之间的连接配置已经完成,我们可以使用wiki上面的那个小Demo实验一下。
在PC端,启动ROS程序
$ roscore在ARM端运行talker程序
$ rosrun beginner_tutorials talker
在PC上运行listener程序
$ rosrun beginner_tutorials listener这时候pc上会收到ARM端发过来的消息(借用了古月居实现的图片)
相关文章推荐
- SilverLight学习笔记--使用WebClient实现通讯(一)(上传和下载字符串数据)
- SilverLight学习笔记--使用WebClient实现通讯(二)(上传和下载流数据)
- 使用WebClient实现通讯(Silverlight学习笔记)
- 学习笔记一:使用Mutex实现线程之间互斥
- 学习笔记 --- LINNUX 使用异步通讯机制实现按键驱动代码分析
- 足迹二:Android客户端与PC服务端之间的SOCKET通讯实现登陆功能(客户端 仅供学习)
- SilverLight学习笔记--使用WebClient实现通讯(一)(上传和下载字符串数据)
- 在多台PC上进行ROS通讯-学习笔记
- 在多台PC上进行ROS通讯-学习笔记
- 在多台PC上进行ROS通讯-学习笔记
- 在多台PC上进行ROS通讯-学习笔记
- Angular 学习笔记——模块之间的通讯
- swift2.0学习笔记之使用第三方库KGFloatingDrawer实现抽屉
- Android 学习笔记之使用多线程实现断点下载
- 【python学习笔记】使用类封装实现贪吃蛇
- 优先级反转实验,使用信号量实现【RT-Thread学习笔记 5】
- Unity Shader 学习笔记(十四)使用屏幕特效实现亮度饱和度和对比度
- struts2学习笔记--使用servletAPI实现ajax的一个小Demo
- struts2学习笔记--使用struts2插件实现ajax处理(返回json数据)
- Androidx学习笔记(67)--- 使用代码注册广播接收者(实现屏幕锁屏和解锁)