Windows与Ubuntu间ROS主从机通信

目录

 一、Windows系统下的ROS安装

1.Visual Studio安装

2.巧克力 - Chocolatey安装

3. git安装

4.ROS安装

5.创建启动ROS的快捷方式

 二、Windows与Ubuntu间ROS主从机通信

1.主从机配置

 2.测试效果展示

可能遇到的问题:


 一、Windows系统下的ROS安装

1.Visual Studio安装

想要在Windows系统下运行ROS系统避免不了跟微软打交道,ROS的安装需要用到Visual Studio,本文以Visual Studio2019为例。相信大部分程序员都有安装这一软件,需要注意的是版本需Visual Studio2019及以后。安装时需要选择使用C++桌面开发和通用Windows开发平台,给出官网链接,安装过程这里不再赘述。

2.巧克力 Chocolatey安装

chocolatey是类似于apt-get的下载器

 在开始菜单中,找到“x64 Native Tools Command Prompt for VS 2019”项,以管理员身份运行。

复制一下代码到命令框中运用,允许所有操作

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command “iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’))” && SET “PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin”

安装完成后关闭命令框

3. git安装

重新打开“x64 Native Tools Command Prompt for VS 2019”,输入以下命令安装git

choco upgrade git -y

 确认git是否安装成功

git --version

4.ROS安装

本文ROS以melodic版本为例,对应为ubuntu18.04下的ROS系统,安装其他版本修改第4条的ros-melodic-desktop_full即可

mkdir c:\opt\chocolatey
set ChocolateyInstall=c:\opt\chocolatey
choco source add -n=ros-win -s="https://aka.ms/ros/public" --priority=1
choco upgrade ros-melodic-desktop_full -y --execution-timeout=0

上面的命令要一步一步执行,出现下载异常可更换网络尝试

5.创建启动ROS的快捷方式

右键桌面空白处创建快捷方式

输入以下位置,需要做替换。其中第一个引号内为Visual Studio安装路径下对应的VsDevCmd.bat路径需要根据安装情况修改,目标末尾的c:\opt\ros\melodic\x64\setup.bat需要根据版本修改。 

C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64&& set ChocolateyInstall=c:\opt\chocolatey&& c:\opt\ros\melodic\x64\setup.bat

 为快捷方式命名后创建成功,建议命名为ROS.exe。

右键快捷方式打开属性,点击高级设置勾选为以管理员方式启动

打开创建的ROS快捷方式,输入roscore测试

安装完成。

 二、Windows与Ubuntu间ROS主从机通信

1.主从机配置

与两ubuntu系统间通信相似,需要在同一局域网内,确认主从机ip,这边以ubuntu系统为主机,windows系统为从机。windows在网络的属性处查看ip地址

 

 ubuntu可用ifconfig查看

本文以windows ip 为192.168.0.105 ,hostname 为ningcong;ubuntu ip为192.168.106,hostname 为 nx 为例。

互相ping进行测试,可能出现ubuntu系统下ping不通的情况,需要修改防火墙设置,具体方法参照参考链接

在windows端以记事本方式打开C:\Windows\System32\drivers\etc\hosts文件

添加主机与从机ip与hostname,保存退出

 在ubuntu端输入

sudo gedit /etc/hosts

在文件顶端同样添加主机与从机ip与hostname,保存退出

再输入

sudo gedit .bashrc

在末尾添加一下内容,在本文中主机hostname替换为nx,主机IP替换为192.168.0.106,从机IP替换为192.168.0.105

export ROS_HOSTNAME=主机hostname
export ROS_MASTER_URI=http://主机IP:11311 
export ROS_IP=从机IP     

在windows端打开ROS.exe快捷方式,输入,在本文中主机IP替换为192.168.0.106,从机IP替换为192.168.0.105,注意此设置在未写脚本的情况下每次启动都要设置

set ROS_MASTER_URI=http://主机IP:11311
set ROS_IP=从机IP

至此通信配置完成,下面添加windows脚本设置

在桌面创建记事本文件,添加以下内容,并做对应修改 ,最后一行修改方法参照快捷方式创建过程,在本文中主机IP替换为192.168.0.106,从机IP替换为192.168.0.105

@ECHO OFF
setlocal EnableDelayedExpansion
  
PUSHD %~DP0 & cd /d "%~dp0"
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :target","","runas",1)(window.close)&goto :eof
:target

C:\Windows\System32\cmd.exe /k "cd C:\Windows\System32\&& "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64&& set ChocolateyInstall=c:\opt\chocolatey&& c:\opt\ros\melodic\x64\setup.bat&&set ROS_MASTER_URI=http://主机ip:11311 &&set ROS_IP=从机ip"

将记事本文件后缀名改为.bat即可,脚本可代替快捷方式作用.。

roscore测试

 2.测试效果展示

在ubuntu系统下打开roscore 并roabag play 包

在windows系统下通过run rviz rviz 进行数据查看(ros相关软件操作都一样)

在nx上跑bag可以在windows上实时读取到topic数据

可能遇到的问题:

1.通讯失败,原因为windows端或ubuntu端未进行ROS_MASTER_URI设置,参考上文

2.windows端接受ubuntu端发出的信息极度缓慢,未进行host文件设置,参考windows端host文件设置修改

3.ubuntu端接受不到windows端发出的信息,windows端或ubuntu端未进行ROS_IP设置
 

  • 19
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NINGCONG2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值