Ubuntu14.04_ROS学习笔记(7) odroid板上操作系统和电脑端主从连接

4/29日,距离上次写过于odroid_ROS的博客已经过去近4周,在这四周发生了很多曲折事,研究生的调剂和面试问题,导师双向选择也出现了问题,调档问题,然后和GF出去玩,不小心把额头给摔破了,简称破相……到现在那个伤口还没好。毕设的事就在这中间断断续续基本没有动静,最近这几天在宿舍闲来无事实在坐不住了,又跑到实验室开始做毕设。

其实从前几个星期的进度来看,已经完成了老师起初交给我的任务,用键盘控制小车,我也通读理解了小车源码,在源码的基础上做修改,达到了预期的效果。在之后追加筹码,需要做跟随控制,一台小车跟随另一台,这下刚好受伤,就没去管毕设,电脑都看不起字…过了一个多星期开始研究tf坐标变换,因为从网上收集的资料还有官网问答的资料来看,跟随控制的方式tf可以实现,但是现在我连tf源码都没有搞懂,所以先放下这一块。然后和老师讨论,我觉得一个节点完全可以用键盘发从信息控制两台小车,但是最后结论是错误的,因为想要达到的目的是一台小车A运动,另一台小车B跟着小车A走,走到小车A后停下来,如果是键盘控制两台小车,只会造成同时动作同时停止。之后根据导师要求,先把Rviz监测小车真是轨迹做出来,但是小车端下载rviz后出现了内存非法调用,所以要给小车重新分配内存才行,这就触及到我的知识盲区了,我不想浪费时间在这上面,就想着用电脑端可视化界面打开Rviz,需要使得电脑端虚拟机的Ubuntu ROS和小车端Ubuntu ROS搭建主从机,达到两机相互通讯的效果,就可以用电脑端rviz监测小车。

要实现主从机结构,就要通过修改配置文件增加识别ip,用各个静态ip来实现主从机结构
先在电脑端Ubuntu系统实现IP设置
ifconfig#查看Ubuntu无线连接的IP地址
Ubuntu14.04_ROS学习笔记(7) odroid板上操作系统和电脑端主从连接_第1张图片
然后设置网段,要和小车Ip在一个网段,所以这一切的前提是小车和电脑连在一个局域网内,这时候虚拟机要用桥接模式和主机通信,这样才能复用主机无线网卡的网段。
桥接模式

设置好虚拟机网络连接模式后,再设置Ubuntu网络的主从机,用同样的方式得到小车IP,我的是192.168.1.198
在虚拟机上设置别名

vim /etc/hosts #设置Ip别名
192.168.1.198 odroid.local
192.168.1.103 ly-virtual-machine.local#分别设置小车和虚拟机IP别名   

Ubuntu14.04_ROS学习笔记(7) odroid板上操作系统和电脑端主从连接_第2张图片
在小车上要做同样的设置
在前面已经讲述了如何设置小车无线WiFi的问题,在虚拟机上也要做同样的操作,因为每次启动都是分配给虚拟机动态IP地址,会变化,这样设置的别名就没有意义了,每次重启要从新设置,很麻烦,所以https://blog.csdn.net/qq_24182661/article/details/79535000
配置好后,还有最后一个步骤,设置主从机

sudo vim ~/.bashrc
#拉到最底下
#输入..
export ROS_HOSTNAME = ly-virtual-machine.local
export ROS_MASTER_URI = http://odroid.local:11311

Ubuntu14.04_ROS学习笔记(7) odroid板上操作系统和电脑端主从连接_第3张图片
在小车端做同样的操作,但是主机设置还是小车odroid.local
然后尝试互相PING对方,这时候应该是能够PING通了,如果小车不能PING通虚拟机,有一个问题就是路由器的防火墙,要把防火墙关闭,然后在PING,我在宿舍就不能PING通,同样的操作在实验室PING通了,我猜大概是防火墙的原因。

你可能感兴趣的:(Ubuntu14.04_ROS学习笔记(7) odroid板上操作系统和电脑端主从连接)