永发信息网

ROS怎样实现在两台电脑间进行数据通信

答案:1  悬赏:40  手机版
解决时间 2021-03-18 13:18
ROS怎样实现在两台电脑间进行数据通信
最佳答案
在我看来,ROS最牛逼的地方就是它的通信机制了,不仅仅是进程间通信方便,就连不同设备间通信也很方便,只需添加几行代码,你就可以实现多电脑间的 Topi c共享, 远程控制等功能。下面就让我们一起来实现吧!
这里假设我们有两个电脑:电脑 A 为主机端,电脑 B 为控制端。最终要实现在 A 电脑上运行roscore,并且运行 Turtlesim 程序,然后在 B 电脑上运行键盘控制程序,控制 Turtlesim 小乌龟移动。
1. 查看电脑A和电脑B的 IP 和 Hostname
查看IP,在控制台输入:
$ ifconfig
如果电脑连接的时有线网,则显示结果中,etho 部分的 inet addr 后面就是该电脑的 IP 地址;
如果电脑连接的是无线,则 wlp3s0 部分的 inet addr 后就是 IP 地址。
查看 Hostname,在控制台输入:
$ hostname
2. 修改hosts文件内容
使用如下指令,分别在电脑A和电脑B的打开 hosts 文件:
$ sudo gedit /etc/hosts
在电脑A端的 hosts文件 中添加如下加粗指令:
复制代码
127.0.0.1    localhost
127.0.1.1 [ hostname_A ]
[IP_A] [ hostname_A ]
[IP_B] [ hostname_B ]
***
复制代码
同理,在电脑B端的 hosts 文件中,加入如下加粗指令:
复制代码
127.0.0.1    localhost
127.0.1.1 [ hostname_B ]
[IP_B] [ hostname_B ]
[IP_A] [ hostname_A ]
***
复制代码
3. 修改 .bashrc 文件
使用如下指令,分别在电脑A和电脑B的打开 .bashrc 文件
$ sudo gedit ~/.bashrc
在电脑A端和电脑B端打开的 .bashrc 文件的最后一行,加入如下代码:
export ROS_MASTER_URI=http://[hostname_A]:11311
[注意] 此处假设电脑A为主机,如果改成电脑B为主机,则只需要将此步中的 [hostname_A] 改成 [hostname_B] 即可。
4. 运行小乌龟程序
电脑A端:
首先启动 ROS:
$ roscore
然后 Ctrl + T 打开新的控制台,运行:
$ rosrun turtlesim turtlesim_node
电脑B端:
$ rosrun turtlesim turtle_teleop_key
现在,你就可以用电脑 B 控制电脑 A 中的小乌龟尽情遨游啦! ~\(≧▽≦)/~啦啦啦
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
今天早上,我骑踏板摩托车油门无法控制,是什
关于所得税年终奖个所税的计算
郑家凹地址在什么地方,想过去办事
商品航模锂电焊接方法
莫力达瓦达翰尔族自治旗阳光保险集团财产保险
海通大智慧软件的日K线图,被我调成布林线了
冬冬和沙沙两人拿一条绳子去量一口缸的周长,
美罗汇健康药房正蓝旗蓝中街店地址有知道的么
为什么在水平面上的固体压力等于固体的重力
打球扭伤脚踝,冷敷后疼痛加剧,如何处理
理光JP2800油印一体机出现,卸第二版纸时出现
电脑用户名怎么输
金茂·现代城2期南门我想知道这个在什么地方
我是三高人群,有没有适合我的减肥方法?
【EXO】吴世勋的英文名字到底是SE HUN还是OH
推荐资讯
哑铃一共几画
定积分的几何意义是曲边梯形的面积
春兴在什么地方啊,我要过去处理事情
家庭装修怎么改造电路?
电脑装双系统到底好不好?怎么才能使一个系统
100级的QQ宠物有多大
神武哪个职业捉鬼
怎样预防透明塑料被氧化变黑
韩律师:老板两间厂用的一个工商执照!法人代
燃料加油站-便利店地址在什么地方,想过去办
huang feng ming,这是三个什么字?
肝火旺盛的症状
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?