ROS挂载、虚拟机与小车之间的通信

  1. 在Ubuntu系统中,发现头文件导入出现错误,检查 c_cpp_properties.json 文件,找到includePath字段,检查其中是否包含头文件的路径

默认:

"/opt/ros/melodic/include/**",

"/usr/include/**"

  1. 为什么在.bashrc文件下,没有找到在终端下使用ip a 查找出来的ip地址,如果出现在.bashrc文件下,可以确保连接正常
  2. Ctrl+O 保存 Ctrl+X保存 Ctrl+D(或者exit)退出小车系统
  3. NFS挂载,将小车的文件挂载到其他的Ubuntu系统上

sudo mount -t nfs 192.168.0.100:/home/wheeltec/wheeltec_robot /mnt

目前还没挂载成功

  1. 基本命令
    1. rostopic list -- 查看话题
    2. rostopic info /话题名 -- 查看话题的类型
    3. rosmsg show 话题类型 -- 查看话题类型的具体结构

  1. 重新配置了一个新的网络设置,先是在win下使用ipconfig查看网关等相关信息,然后在虚拟机中填入。之后再改用桥接模式,重新挂载,成功!

对节点初始化:

roslaunch turn_on_wheeltec_robot turn_on_wheeltec_robot.launch

查看节点: rostopic list 出现 ERROR: Unable to communicate with master!

问题已经解决:

原因是export ROS_MASTER_URI=http://192.168.0.100:11311
这段代码中的URI打成了URL,写多了爬虫,默认为URL地址,虽然花费了很多时间,但这改BUG的过程中,自己也学习到了很多知识。

先在wheel端下初始化,输入roscore,打开节点管理器,然后rostopic list列出运行中的节点,发现没问题,进而将矛头转向主机端(kwh端),先是ping自己计算机名 和 虚拟机,在终端输入hostname即可以查看到自己计算机的名字。

发现两边的网络通信没问题,网络问题排除,最后找export ROS_MASTER_URI=http://192.168.0.100:11311,发现URI打错呈URL,问题解决。

1、ROS_MASTER_URI=http://192.168.0.100:11311这是ros主机的IP地址

2、ROS_HOSTNAME   当前虚拟机的 IP 地址,需要查询本虚拟机 IP 地址后再来填写、

3、 .bashrc文件里是没有这两句的,需要手动在文件尾添加这两句

4、小车的IP已设置为静态IP

猜你喜欢

转载自blog.csdn.net/Jack_wenbai/article/details/130311951