ros移植win的一些探索【更新完结】

     @DavidHan ,
     http://blog.csdn.net/David_Han008/article/details/79183555

前言
最近这段时间,遇到的问题是:window和ubuntu分辨装在两个工控机。那么现在我们希望只用一台工控机来解决这个问题。截至目前2018年2月1日,已经尝试了3种解决方案。分别如下:

  1. 在win10当中安装ROS2,利用ROS2与ROS1的bridge来在ROS2中跑目前ROS1的代码
  2. 利用win10中linux子操作系统(WSL)来跑目前的ROS代码
  3. 在win7下面安装VMware虚拟机,并在虚拟机中安装Linux
  4. win下利用现有的.net软件

总结:目前1,2两种方案都已失败告终,方案1中,因为对ROS2在win10下的使用不熟悉,而且很多命令行都没有办法直接刷。目前的进展是,只能跑出简单的demo,但是对其如何移植还不是很确定。方案2中,linux子操作系统有一个关键的硬伤,目前,暂不支持对硬件的操作,暂不支持对硬件的操作,暂不支持对硬件的操作。重要的事情说三遍。简单来说,就是你插上摄像头,但是没有办法读取摄像头的数据,只是进行简单的终端命令行操作。但是我认为,无论如何,这些探索都是由价值的,因此向记录在这篇博文当中。方案4是目前测试出成功的,并且是后续会采用的方案


win10安装ROS2.0

准备:win10(win7不行)
安装参考指导
1、ros2的github的wiki–点击这里
2、lmyhit的博客–点击这里
所有安装包下载链接:点击这里
可能遇到的问题
1、安装Chocolatey
win10安装cholocatey-参考博客-点击这里
可能遇到不会在终端命令行中,不会粘贴代码-点击这里
win10以管理员身份运行cmd-点击这里
2、安装python
可能识别不了python,这个时候去C盘检查一下,是否有python36。如果有的话,只需要把python的目录添加到环境变量当中。
ros移植win的一些探索【更新完结】_第1张图片
3、接下来安装参考博客-依次安装openssl并设置好环境变量。
环境变量的添加方法:
ros移植win的一些探索【更新完结】_第2张图片
4、在安装VS2015的时候,出现了奇怪的问题(如果你是正常安装的,那么不需要考虑)
在页面上的提示,VS核心出现问题。
查看日志发现:error 997重叠I/O正在进行中,这个报错。
解决办法:
ros移植win的一些探索【更新完结】_第3张图片
将下面这个文件删除后,重新安装就可以了
ros移植win的一些探索【更新完结】_第4张图片

5、同样,安装boost和opencv,设置好环境变量,没有出现什么问题
6、在安装asio和tinyxml2依赖项的时候,出现一些问题
ros移植win的一些探索【更新完结】_第5张图片
在官网的介绍后面加入--force
原因是这样,因为初始的情况下,已经安装tinyxml2但是,但是现在我们要手动将下载安装包替换掉。
ros移植win的一些探索【更新完结】_第6张图片
7、python安装pyyaml setuptools报错

python -m pip install -U pyyaml setuptools  

报错的截图,我现在还没有,从报错上面来看,是因为编码问题
解决办法:
ros移植win的一些探索【更新完结】_第7张图片
将上图中的utf-8改成cp936
更改的文件的目录如下
这里写图片描述
8、最后安装官网演示的例子,发出hello-world
这里少一张图片

吐槽:
目前我还没有找到ROS2在window下使用的教程。大家有相关资料或者介绍,可以在博客下方留言,或者发私信给我。


win10安装WSL(window system linux)安装ROS

前提:必须是win10(除企业版外,其他版本都可以)
前提十分重要,我第一安装系统的时候,就是企业版,结果发现没有应用商店,即使后来安装的应用商店,但也是不支持,因此大家安装必须安装win10(除企业版)
我测试的版本是win10-1709
安装博客指导
WLS相关设置安装ubuntu–点击这里
anyesu 的对WSL相关探索–点击这里
janbernloehr的博客–点击这里
遇到的问题:
1、安装xming
下载链接:点击这里
安装指导博客:点击这里
2、安装ROS-kinetic
参考博客:点击这里
效果展示:
ros移植win的一些探索【更新完结】_第8张图片
可以通过键盘控制,小乌龟移动,可以打开RVIZ
吐槽:
1、整个过程安装,还是很缓慢的。下载ROS,安装ROS将近3个小时。
2、安装xming之后的效果还是很明显的,已经可以打开RVIZ,最后放弃的缺点也是致命的,就是目前的版本,没有办法对硬件进行操作。例如读取不到串口发来的数据。
ros移植win的一些探索【更新完结】_第9张图片
3、如果你想找到这个linxu系统的安装目录在哪里?那么建议你下载一个ever thing,然后搜索root就可以找到安装目录了。


win7安装VMware虚拟机后安装ubuntu

这种方案目前还在测试中,经过测试,VMware可以设置成开机自己启动,并且可以通过串口提取视频。如果新的电脑,想要使用虚拟机的话,需要进行一些设置
ros移植win的一些探索【更新完结】_第10张图片
后面因为需要占用很多计算机资源,但是我感觉这是值得尝试的


ROS .net (c sharp)相关

在这种方案中,参考了uml-robotics的相关github链接(点击这里)这个代码在编译的时候,会有$符号出现,在代码中,将$删除就可以,这个符号是反编译时候出现的,不重要。
这里实现的原理,就是ubuntu开启了ROS,然后另外一台win开启这个.net软件,并且在环境变量里面设置将URI和IP设置正确就可以了(当然ubuntu和win在同一wifi下面)
如果你已经接触过ros-android和两台ubuntu之间ros通信,那么这对于你理解来说会大有帮助。
另外关于IP地址,可以参考这幅图
ros移植win的一些探索【更新完结】_第11张图片

效果展示:
ros移植win的一些探索【更新完结】_第12张图片
最后感谢uml-robotics的分享。

你可能感兴趣的:(【ROS探索】)