在调试机器人时发现Rviz上发布的点位信息机器人没有执行,经检查是由于网络配置原因,本文记录解决方法。
使用ssh将笔记本与实物机器人连接,机器人中控使用的工控机,机器人作为显示器和键盘输入
pc端使用的虚拟机Ubuntu18.04配置ROS-Melodic,机器人搭载WiFi模块
1.pc连接上机器人的Wi-Fi或者机器人与pc处于同负一Wi-Fi环境下(保证机器人与pc在同一网段下)
2.开启ssh服务
sudo apt-get install openssh-server
使用ssh服务将pc与工控机连接
ssh <机器人名字>@ip
回车后输入密码后即可进入机器人终端,在从终端可对机器人进行编辑
3.网络配置:
ctrl+alt+T打开pc本地终端
ifconfig
查看pc的IP,同样操作查看机器人的IP地址
正常情况下(pc连接上机器人的Wi-Fi或者机器人与pc处于同负一WiFi环境下)机器人的IP和pc的IP是在同一网段下的,如果使用的虚拟机进行连接,可行会在这一步出现一些意想不到的错误(因为我使用的虚拟机网络连接方式使用的NAT)
导致虚拟机与主机不在同一个网段内,可以ping的通,但是后续在使用Rviz导航功能时出现了错误。
将NAT模式改为桥接模式就可以解决这个问题,
如果不通过虚拟机而采用直接连接方式连接网络就不会出现这个问题,比如双系统或者直接电脑直接装的Linux系统。
修改hosts文件
sudo vi /etc/host
添加图中选中的两行,分别为
<robotIP> <robot设备名>
<本地pcIP> <pc名>
robot端也是如此修改
rosmaster配置
在pc端打开.bashrc文件加入ROS_MASTER_URI
gedit ~/.bashrc
在最后加入
export ROS_MASTER_URI=http://<robotIP>:11311
保存后
source ~/.bashrc
使环境变量生效
再通过本地pc在Rviz上发布点位信息机器人即可做出相应的动作。
在调试机器人时发现Rviz上发布的点位信息机器人没有执行,经检查是由于网络配置原因,本文记录解决方法。
使用ssh将笔记本与实物机器人连接,机器人中控使用的工控机,机器人作为显示器和键盘输入
pc端使用的虚拟机Ubuntu18.04配置ROS-Melodic,机器人搭载WiFi模块
1.pc连接上机器人的Wi-Fi或者机器人与pc处于同负一Wi-Fi环境下(保证机器人与pc在同一网段下)
2.开启ssh服务
sudo apt-get install openssh-server
使用ssh服务将pc与工控机连接
ssh <机器人名字>@ip
回车后输入密码后即可进入机器人终端,在从终端可对机器人进行编辑
3.网络配置:
ctrl+alt+T打开pc本地终端
ifconfig
查看pc的IP,同样操作查看机器人的IP地址
正常情况下(pc连接上机器人的Wi-Fi或者机器人与pc处于同负一WiFi环境下)机器人的IP和pc的IP是在同一网段下的,如果使用的虚拟机进行连接,可行会在这一步出现一些意想不到的错误(因为我使用的虚拟机网络连接方式使用的NAT)
导致虚拟机与主机不在同一个网段内,可以ping的通,但是后续在使用Rviz导航功能时出现了错误。
将NAT模式改为桥接模式就可以解决这个问题,
如果不通过虚拟机而采用直接连接方式连接网络就不会出现这个问题,比如双系统或者直接电脑直接装的Linux系统。
修改hosts文件
sudo vi /etc/host
添加图中选中的两行,分别为
<robotIP> <robot设备名>
<本地pcIP> <pc名>
robot端也是如此修改
rosmaster配置
在pc端打开.bashrc文件加入ROS_MASTER_URI
gedit ~/.bashrc
在最后加入
export ROS_MASTER_URI=http://<robotIP>:11311
保存后
source ~/.bashrc
使环境变量生效
再通过本地pc在Rviz上发布点位信息机器人即可做出相应的动作。