ROS探索总结(五十五)—— Windows版ROS安装试用

19969
48
2018年10月17日 21时35分

Windows官方终于支持ROS了!

近期微软官方终于发布消息称,将把ROS带到Windows 10,并且命名为“ROS1”,而且还推出了一个实验版本。

消息一出,古月君当然也摩拳擦掌想要尝试一番,同时也将安装和测试的内容记录于此。

 

一、安装Visual Studio 2017

微软的东东当然离不开VS,所以上来的第一步就是要安装Visual Studio 2017。需要登录以下链接下载在线安装工具:

https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=Community&rel=15

 

古月居使用的是community版本,下载完成后双击,开始下载软件的安装文件:

Image

 

下载完成后,进入选择组件并且安装的界面,注意勾选C++支持,然后就可以开始安装了。

Image [2]

 

VS庞大的体积也是名不虚传的,可以去喝杯咖啡、看一集电视剧再回来了。

半个小时后重启电脑,VS的安装就此结束。

 

二、创建桌面快捷方式

 

Windows没有Linux如丝般顺滑的终端,只能凑乎用自带的命令行工具了。

在桌面右键新建一个快捷方式:

Image [3]

在输入框中复制粘贴以下内容:

> C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64
 

保存名称为“ROS”,以后这个快捷方式就成为我们在Windows下的ROS入口,相当于是Ubuntu中的终端。

Image [4]

 

这里还没结束,右键ROS快捷方式,添加管理员权限:

Image [5]

 

三、安装Chocolatey & Git

Chocolatey是Windows下的包管理工具,相当于Ubuntu中的apt-get,方便后续安装各种软件包。

双击打开刚才保存的“ROS”快捷方式,也就是打开一个终端,复制粘贴以下一大串安装命令:

> @"%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"

 

 

静静等待Chocolatey的安装吧:

Image [6]

 

Chocolatey安装完成后,就可以使用它安装其他软件了,比如这里需要的git:

Image [7]

 

四、安装ROS

终于轮到主角ROS登场了,安装方法简约而不简单:

> choco source add -n=ros-win -s="https://roswin.azurewebsites.net/api/v2" --priority=1
> choco upgrade ros-melodic-desktop -y

 

 

第一句命令添加软件源,第二句命令直接一键安装。

Image [8]

 

接下来将经历一段无聊的下载安装过程,建议睡个午觉,不过一觉起来可能会发现错误信息,古月君应该差不多安装了三、四次才完成,中间换了各种网络。

 

五、ROS测试

 

终于安装完成,所有安装的文件都放置在C盘下边的opt目录下,其中的结构和Ubuntu基本一致。打开后可以发现很多熟悉的ROS功能包都出现了:

Image [11]

管他三七二十一,先跑起来看看效果。

 

通过快捷方式打开一个命令行,然后进入ros的目录下,设置一下环境变量setup.bat!是的,你没看错,环境变量的魔爪依然逃脱不了。

Image [9]

 

经典的小海龟例程跑起来:

Image [10]

 

可以发现命令行中的ROS使用和Ubuntu是一样的,也可以试下ROS各种命令行工具:

Image [12]

rviz等明星工具也可以在Windows里运行起来,着实让人有点激动,不过目前还是实验版,众多功能包还没有加入,使用起来也总感觉有一种慢半拍的延时感。

微软表示,除了发布windows优化ROS版本外,它还与Open Robotics和ROS工业联盟合作,将ROS的能力“扩展”到制造业,并“提高工业机器人的生产率和投资回报”。

看来这次微软还是诚意满满,希望微软的加入能够推动ROS进一步的发展与应用!

 

发表评论

后才能评论

评论列表(48条)

  • Limu Han 2019年5月31日 上午10:55

    胡博士你好,我想问一下您的ROS windows版安装完成后,用直接键入gazebo的方法能正常打开gazebo吗?我的ROS windows安装完成后启动roscore只能用rviz命令打开RVIZ但是用gazebo命令打不开gazebo,提示说“ ‘gazebo’ 不是内部或外部命令,也不是可运行的程序或批处理文件。”我检查了一下melodic的安装路径发现gazebo的文件包已经存在,可为什么在ROS终端里输入gazebo无效呢??

    • 古月 回复 Limu Han 2019年6月1日 上午8:09

      没试过gazebo,我不在windows下开发ROS

  • 洪瑾 2019年5月29日 下午5:48

    我安装完之后opt文件夹里面只有三个文件夹,而且都是你的截图里面没有的,怎么办。。。。。

  • wsh 2019年5月8日 下午5:29

    师兄你好,我在win10上安装ROS的时候,到完成安装运行roscore和rostopic list都没问题,但是运行节点或者rviz的时候就会显示:
    This application failed to start because it could not find or load the Qt platform plugin “windows” in “”.
    Available platform plugins are: direct2d, minimal, offscreen, windows.
    Reinstalling the application may fix this problem.
    我不知道具体什么原因什么解决办法,只是百度之后发现可能是qt platform相关问题,但是没有跟ros相关的解决方案,所以想请教下您帮助我解决,谢谢!

  • 刘畅 2019年5月4日 下午3:49

    你好,我想请问一下,在RosOnWindows上,VS2017的作用是什么?能使用它来编写代码并进行编译吗?如果能的话,怎么将它编译好的文件加入ROS?

    • 古月 回复 刘畅 2019年5月5日 下午10:51

      提供编译环境,应该可以编写代码,具体使用不清楚,还没用过

  • Butter 2019年4月22日 下午2:27

    老师您好,刚开始学习ros,windows命令行终端中的tab键无法补齐命令,自己手动输入的命令也是可以执行的,效率太低了,请问是什么原因

    • 古月 回复 Butter 2019年4月25日 下午7:39

      windows里边的终端不好用,linux里是可以补全的

  • 黄爽 2019年4月16日 下午9:09

    老师您好,我在执行choco upgrade ros-melodic-desktop -y后出现错误Error while runing’ c: \ProgramData\ chocolatey\lib \ros -catkin-tools \tool s \chocol ateyinstall. ps1 .是怎么回事呢?
    chocolatey upgraded 1/2 packages.1 package failed

    • 古月 回复 黄爽 2019年4月21日 下午10:46

      这个不清楚,看不到具体原因,google搜下

    • ykyk 回复 黄爽 2019年4月24日 上午10:11

      加–force

  • 陌上花开 2019年3月6日 上午10:18

    choco upgrade ros-catkin-tools 总是失败,请问是什么原因

    • 洋姜 回复 陌上花开 2019年4月16日 下午11:40

      是不是显示“无法连接到远程服务器”
      如果是的话,用梯子就好了

  • 熊雪 2019年3月6日 上午9:00

    您好,我在安装choco upgrade ros-catkin-tools -y总是失败,出现ERROR: The running command stopped because the preference variable “ErrorActionPreference” or common parameter is set to Stop: Exception:
    The upgrade of ros-catkin-tools was NOT successful.
    Error while running ‘C:\ProgramData\chocolatey\lib\ros-catkin-tools\tools\chocolateyinstall.ps1’.
    See log for details.重试了很多次都失败,请问是什么原因呢?

  • linxiao 2019年2月26日 上午8:56

    请问为什么最后都成功了,就是没有小乌龟啊

  • Baron 2019年2月19日 下午2:05

    @古月 老師您好
    想請教下,我照著您的方法安裝並執行了 rosrun turtlesim turtlesim_node但卻出現了以下錯誤
    rosrun turtlesim turtlesim_node This application failed to start because it could not find or load the Qt platform plugin “windows” in “”

    我有安裝QT5.9.2 Library(自己手動安裝的),看起來是沒有將QT dll檔放到正確路徑,想請問老師是否知道該放到ros哪個路徑呢?

    • 古月 回复 Baron 2019年2月28日 下午9:21

      qt我就是正常安装的,没有放到ros里

    • bowei bi 回复 古月 2019年3月10日 下午1:40

      需要重新指定一下Qt的安装位置(不要加任何的空格):
      将下面的命令加入到setup.bat 下面,等号两边不要有空格
      set QT_PLUGIN_PATH=c:\opt\rosdeps\x64\plugins

    • 古月 回复 bowei bi 2019年3月16日 下午9:37

      感谢

  • 王振鹏 2019年2月14日 下午6:26

    老师您好!
    我想问您一下,执行完成choco upgrade ros-melodic-desktop -y之后,
    然后运行call c:\opt\ros\melodic\x64\setup.bat,
    提示 系统找不到指定的路径。 命令语法不正确。
    我打开bat文件,发现里面的Python路径和我安装的不一致,修改C:/Python37/python.exe路径后,运行提示系统找不到指定的路径。
    您知道这种情况如何解决么?

    • 古月 回复 王振鹏 2019年2月14日 下午10:38

      这个不太清楚,可能是哪个地方的路径没设置对

    • 王振鹏 回复 古月 2019年2月15日 上午9:21

      非常感谢,我再研究研究,对于RosOnWindows的Python安装,您有推荐的途径么?也是用choco安装?

    • 古月 回复 王振鹏 2019年2月15日 下午10:26

      我就是按照本文的方式安装的

    • 王振鹏 回复 古月 2019年2月15日 下午3:18

      老师您好!
      我尝试将Python2.7直接安装到C:\opt\python27amd64下,并且手动安装了pip install defusedxml之后,能够运行setup.bat了,但是运行roscore会报如下错误,您之前有见过类似的错误么?

      process[rosout-1]: started with pid [4200]
      ?[31m[rosout-1] process has died [pid 4200, exit code -1073741515, cmd c:\opt\ros\melodic\x64\lib\rosout\rosout.exe __name:=rosout __log:=C:\Users\XASY-PC\.ros\log\4000f680-30f0-11e9-a020-10f005138883\rosout-1.log].
      log file: C:\Users\XASY-PC\.ros\log\4000f680-30f0-11e9-a020-10f005138883\rosout-1*.log?[0m
      [rosout-1] restarting process

      同时弹出系统错误:
      由于找不到boost_date_time-vc141-mt-x64-1_66.dll,无法继续执行代码。重新安装程序可能会解决此问题
      由于找不到boost_system-vc141-mt-x64-1_66.dll,无法继续执行代码。重新安装程序可能会解决此问题
      由于找不到log4cxx.dll,无法继续执行代码。重新安装程序可能会解决此问题

    • 刘畅 回复 王振鹏 2019年4月26日 下午5:29

      你好,请问一下,你解决这个问题了吗?我现在也遇到了这样的问题

    • 王振鹏 回复 刘畅 2019年11月11日 下午11:39

      我是网不好,没装全,还有注意设置安装的超时时间长一点,默认好像是2700秒还是多少,短了到时间会中断

    • 还有谁Un 回复 王振鹏 2019年5月22日 下午4:05

      你好,我的也遇到了这个问题,请问您怎么解决的

  • 黄小兵 2018年10月29日 上午7:20

    古月老师,您好,我是您培训班的学生和书的读者,由于个人学的不好网速又慢,一直配不好ROS环境,不知道可以请您发一个 培训用或书的ROS镜像到我邮箱或共享网盘?谢谢。

    • 黄小兵 回复 黄小兵 2018年10月29日 上午7:22

      邮箱584079435@qq.com,谢谢

    • 古月 回复 黄小兵 2018年10月29日 下午12:06

      我这里也没有做这样的镜像。
      环境的配置是ROS初学很重要的一环,如果这关没有过去话,用已有的镜像一样会有很多问题。
      所以不要着急,多从google上搜下,或者把遇到的问题发给我看下。

  • 菜伟 2018年10月28日 下午9:12

    老师,有的博客为什么看不到图片呢。以前的一些博客都没有图片,最近的有图。

    • 古月 回复 菜伟 2018年10月29日 下午12:04

      之前的博客有点问题,可以从这里看:https://blog.csdn.net/hcx25909

  • 菜伟 2018年10月28日 下午9:10

    老师,有的博客为什么看不到图片呢

  • 张企 2018年10月24日 下午8:42

    安装ros时所有文件都有,但不是文件包,dll格式,打开终端还是不能用,请教大神。

    • 张企 回复 张企 2018年10月24日 下午8:50

      不好意思,问错了。应该是打开终端还是之前的windows路径,怎么变成opt/ros…的

    • 古月 回复 张企 2018年10月28日 下午8:30

      用cd命令切换路径

    • 张企 回复 古月 2018年11月2日 下午3:11

      [ERROR:typescript.bat] TypeScript was not added to PATH since a valid installation was not found
      老师您好,cd试过显示没有指定路径。我的安装完之后终端会一直显示上面的错误,命令都不管用

    • 古月 回复 张企 2018年11月2日 下午4:04

      不确定什么错误,安装完成后c盘下会有一个opt文件夹,打开终端进入到该路径下才能设置环境变量

  • 颜斌 2018年10月19日 下午3:36

    问题:Chocolatey的安装代码,不对啊,免费各位小伙伴支个招

    • 古月 回复 颜斌 2018年10月23日 下午4:48

      可以参考官方链接:https://ros-win.visualstudio.com/_git/ros-win?path=%2Fdoc%2FSetup.md&version=GBmaster&createIfNew=true&_a=preview
      多试几次

  • Dean 2018年10月19日 下午2:23

    每次都要重新打开窗口然后cd 再setup.bat,太惨了。。。。 😆

    • ykyk 回复 Dean 2019年4月24日 上午10:10

      快捷方式后添加 && c:\opt\ros\melodic\x64\setup.bat

  • Dean 2018年10月19日 下午2:05

    每次都要重新打开窗口然后cd 再setup.bat,太惨了。。。。

    • 展 回复 Dean 2018年10月21日 下午12:28

      可以在环境变量里面添加给路径,我就简单的把执行setup.bat的语句写成ros.bat,然后加入路径,以后只要命令行输入ros就可以了