前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows使用ROS机器人操作系统全面资料汇总

Windows使用ROS机器人操作系统全面资料汇总

作者头像
zhangrelay
发布2019-10-22 15:52:43
2.3K0
发布2019-10-22 15:52:43
举报

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

代码语言:txt
复制
                 本文链接:[https://blog.csdn.net/ZhangRelay/article/details/101685013](https://blog.csdn.net/ZhangRelay/article/details/101685013) 

0 摘要:

本文以Win10系统中安装使用ROS1MelodicROS2Dashing为基础,并通过开源硬件设备Arduino与ROS的通信为示例,具体介绍机器人操作系统ROS1和ROS2的细节。部分内容已经在高校本科课程中进行讲解,详情可搜索:机器人控制器编程


1 引言:

机器人操作系统ROS,可以被理解为一个特定的应用于机器人领域的物联网(IoT)系统,很多知识点和技能相似相通,学习并掌握这个工具非常重要。ROS接口丰富,并可与OpenCV,OpenAI等多种第三方开源工具结合,开发出新奇实用的各类机器人。

全平台(Windows/Linux/MacOS/……)和全语言(C++/Python/Java/……)是ROS的另一个典型特点。大部分ROS课程基于Ubuntu讲解。本课程从设计之初就考虑到不同平台使用用户特定场景之差异,课程涵盖了Windows/Linux/MacOS。但测试过程并未公开,依据大量反馈,以学生为中心,目标导向和持续改进为内核,课程将全面免费公开Windows版本内容,该版本在测试与反馈中获得较为温和评价,Windows系统目前仍然是国内占有率最高的桌面平台。

课程部分介绍资料参考链接:机器人编程实践-ROS2基础与应用-

必备工具,请安装最新版本


2 ROS1:

安装:http://wiki.ros.org/Installation/Windows

使用:https://ms-iot.github.io/ROSOnWindows/

中文:https://cloud.tencent.com/developer/article/1387076

注意:中文版本是一年以前写的,现在已经有些变动,将在下文列出。

除了基本教程,还支持服务机器人工业机械臂

这些在之前博客中已经详细介绍过了,这里就不再重复了。只列出一些要点:

Windows操作系统

  • Windows的ROS1&2需要64位Windows 10桌面或Windows 10 IoT Enterprise。

预留安装空间

  • 在继续操作之前,请清理并备份c:\opt下的所有现有数据。
  • c:\opt是指定的安装位置。当前未启用重定位。不支持安装在其他位置!!!
  • 请确保C:\ 驱动器上有10 GB的可用空间用于安装和开发。

安装路径

安装Visual Studio 2019

为Windows生成ROS项目需要Visual Studio和Windows的Microsoft SDK。

代码语言:txt
复制
- 包括“**使用C++桌面开发**”工作部件(工作负载)。
- 如果要构建WinML,请包括“通用Windows应用程序”工作部件。

使用C++的桌面开发

安装到D:

d:

安装Windows软件包管理器

Chocolatey是Windows的程序包管理器。它用于简化安装构建和运行ROS项目所需的工具和库的过程。

  • 在“开始”菜单中,找到“ VS 2019 x64本机工具命令提示符”项。
  • 右键单击,选择“更多”,然后选择“以管理员身份运行”
  • 复制以下命令行:
代码语言:javascript
复制
@"%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" 
  • 将其粘贴到命令窗口中。
  • 批准任何提示(确定
  • 完成后,关闭命令提示符以完成安装。

安装Git:

  • 如上所述,重新打开Visual Studio命令窗口。
  • 即使您已将其安装为应用程序,也请使用此处的命令安装Git。
代码语言:javascript
复制
choco install git -y
  • 安装Git之后,请确保ROS命令提示符中现在提供了Git。
代码语言:javascript
复制
git --version
  • 如上所述,关闭并重新打开Visual Studio命令窗口。

二进制软件包安装

要为Windows设置ROS,请遵循以下建议步骤:

win10中ros软件包安装

ROS 1最新的(LKG)编译好的安装包-Melodic

要开始,请安装推荐的desktop_full元软件包。元软件包是其他软件包的集合。桌面完全元软件包是指构建,运行,调试和可视化机器人所需的许多其他软件包。

如上所述,以管理员身份打开Visual Studio命令提示符。

代码语言:javascript
复制
choco source add -n=ros-win -s="https://roswin.azurewebsites.net/api/v2" --priority=1
choco upgrade ros-melodic-desktop_full -y --execution-timeout=0

ros-melodic

ROS 2最新的编译好的安装包-Dashing

要开始使用ROS 2,也可以按照类似的步骤从同一Chocolatey Feed中安装ROS 2。

例如,如果要安装最新ROS2 Dashing版本,请打开上面创建的ROS命令提示符,如果尚未打开,请批准管理标高。

代码语言:javascript
复制
choco source add -n=ros-win -s="https://roswin.azurewebsites.net/api/v2" --priority=1
choco upgrade ros-dashing-desktop -y --execution-timeout=0 --pre

请一定,一定,一定测试安装是否成功!!!

ROS1:

roscore

ROS2:

发布

接收

创建ROS命令窗口快捷方式

为了在Windows上使用ROS,需要在每个命令窗口中调用ROS设置脚本。为了将来不会忘记,使用自动执行此操作的ROS快捷方式将很有帮助。

  • 为Visual Studio创建一个管理命令行快捷方式:
  • 右键单击Windows资源管理器文件夹,选择“新建”>“快捷方式”
  • 在快捷方式路径中,根据上面安装的Visual Studio,从以下选项中复制突出显示的命令行:
  • 如果使用Community社区版本:
代码语言:javascript
复制
C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64 && c:\opt\ros\melodic\x64\setup.bat
  • 如果使用的是Professional:
代码语言:javascript
复制
C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64 && c:\opt\ros\melodic\x64\setup.bat
  • 如果使用的是Enterprise:
代码语言:javascript
复制
C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64 && c:\opt\ros\melodic\x64\setup.bat
  • 将快捷方式命名为“ ROS”
  • 将该快捷方式设置为管理员
    • 右键单击快捷方式,然后选择“属性”。
    • 选择“快捷方式”选项卡(如果尚未选择)。
    • 按下进阶按钮
    • 检查按钮“以管理员身份运行”。
    • 在“高级属性”对话框上按“确定”。
    • 在“ ROS属性”快捷方式对话框上按“确定”。

参考:

ROS1:

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

ROS2:

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

(可选)使用新的Windows终端

Microsoft正在为Windows开发新的开源终端,该终端对内置命令行进行了许多改进,包括选项卡和外观自定义。您可以从Microsoft Store安装它。

为ROS设置终端:

  • 从开始菜单中找到Windows终端,右键单击并选择“以管理员身份运行”
  • 从添加选项卡(+)按钮旁边的下拉箭头中选择设置。
  • 在“配置文件”部分,为ROS添加一个新块。
代码语言:javascript
复制
    "profiles" : 
    [
        {
            "acrylicOpacity" : 0.5,
            "background" : "#012456",
            "closeOnExit" : true,
            "colorScheme" : "Campbell",
            "commandline" : "C:\\Windows\\System32\\cmd.exe /k \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\Common7\\Tools\\VsDevCmd.bat\" -arch=amd64 -host_arch=amd64 && c:\\opt\\ros\\melodic\\x64\\setup.bat",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "guid" : "{xxxxx}",
            "historySize" : 9001,
            "icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
            "name" : "ROS",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : "c:\\ws",
            "useAcrylic" : true
        },
  • 使用guid生成器自定义“ guid”条目。
  • (可选)在“全局”部分中将此GUId设置为“ defaultProfile”。
代码语言:javascript
复制
{
    "globals" : 
    {
        "alwaysShowTabs" : true,
        "copyOnSelect" : false,
        "defaultProfile" : "{xxxx}",
        ....
    }
}

启动新的Windows终端时,请记住以“以管理员身份运行”,方法是右键单击Windows终端并选择“以管理员身份运行”。在取消此要求之前,需要实施“ 始终运行终端”提升功能请求

保持最新

如果要更新ROS安装,请使用Chocolatey的升级功能:

打开上面创建的ROS命令提示符,并批准管理海拔(如果尚未打开)。

运行以下命令:

代码语言:javascript
复制
choco upgrade ros-melodic-desktop_full -y --execution-timeout=0

建议添加 --execution-timeout=0 ,以避免由于网络缓慢而导致的chocolatey 安装失败。

3 ROS2:

安装:https://index.ros.org/doc/ros2/Installation/Dashing/Windows-Install-Binary/

使用类似ROS1方式更为简洁,也可以使用源码编译。

ROS1和ROS2在Windows 10中详细安装调试记录参考,如下链接:

Windows安装使用ROS机器人操作系统1&2记录

安装配置完成后,可以直接与Linux或MacOS中的ROS通讯互联,也可以连接丰富外部设备。

4 Ardurno:

什么是Arduino?(课程包含avr和arm)

Arduino是一个基于易于使用的硬件和软件的开源电子平台。 Arduino开发板能够读取传感器上输入,控制灯,按钮或Twitter消息-并将其转换为输出-启动电动机,打开LED并在线发布内容。可以通过向板上的微控制器发送一组指令来告诉该怎么做。为此,可以使用Arduino编程语言(基于Wiring)和Arduino软件(IDE)(基于Processing)

多年来,Arduino一直是数千个项目的大脑,从日常对象到复杂的科学仪器。这个开放源代码平台聚集了世界各地的开发人员社区,包括学生,业余爱好者,艺术家,程序员和专业人士,他们的贡献积累了无与伦比的可访问性知识,对新手和专家都可以提供极大的帮助。

Arduino出生于Ivrea交互设计学院,是一种快速原型制作的简便工具,主要面向没有电子和编程背景的学生。Arduino板一旦进入更广泛的社区,便开始进行更改以适应新的需求和挑战,将其产品从简单的8位板扩展到IoT应用,可穿戴,3D打印和嵌入式环境的产品。所有Arduino开发板都是完全开源的,使用户能够独立构建它们,并最终使它们适应其特定需求。该软件也是开源的,并且通过全球用户的贡献而不断发展。

为什么选择Arduino?

由于其简单易用的用户体验,Arduino已用于数千个不同的项目和应用程序中。Arduino软件对于初学者来说易于使用,但对于高级用户而言足够灵活。它可以在Mac,Windows和Linux上运行。老师和学生使用它来构建低成本的科学仪器,证明化学和物理原理,或开始编程和机器人技术。设计师和建筑师构建交互式原型,音乐家和艺术家将其用于安装并尝试新的乐器。例如,制造商当然会使用它来构建在Maker Faire上展出的许多项目。Arduino是学习新事物的关键工具。任何人-儿童,业余爱好者,艺术家,程序员-都可以按照套件的逐步说明进行修补,

还有许多其他微控制器和微控制器平台可用于物理计算。Parallax Basic Stamp,Netmedia的BX-24,Phidg​​ets,MIT的Handyboard以及许多其他产品都提供了类似的功能。所有这些工具都采用了微控制器编程的繁琐细节,并将其包装在易于使用的程序包中。Arduino还简化了使用微控制器的过程,但与其他系统相比,它为教师,学生和感兴趣的业余爱好者提供了一些优势:

  • 便宜 -与其他微控制器平台相比,Arduino板相对便宜。可以手动组装最便宜的Arduino模块版本,甚至预组装的Arduino模块的价格也不到50美元
  • 跨平台 -Arduino软件(IDE)在Windows,Macintosh OSX和Linux操作系统上运行。大多数微控制器系统仅限于Windows。
  • 简单,清晰的编程环境 -Arduino软件(IDE)对于初学者来说易于使用,但足够灵活,高级用户也可以利用。对于老师来说,它很方便地基于处理编程环境,因此学习在该环境中进行编程的学生将熟悉Arduino IDE的工作方式。
  • 开源和可扩展软件 -Arduino软件作为开源工具发布,可供经验丰富的程序员进行扩展。可以通过C ++库扩展该语言,并且希望了解技术细节的人们可以从Arduino过渡到基于该语言的AVR C编程语言。同样,您可以根据需要将AVR-C代码直接添加到Arduino程序中。
  • 开源和可扩展的硬件 -Arduino开发板的计划是在Creative Commons许可下发布的,因此经验丰富的电路设计人员可以制作自己的模块版本,进行扩展和改进。甚至相对没有经验的用户也可以构建该模块的试验板版本,以了解其工作原理并节省资金。

如何使用Arduino?

请参阅入门指南。如果您正在寻找灵感,可以在Arduino Project Hub上找到各种各样的教程。

Arduino入门指南的文本已获得 Creative Commons Attribution-ShareAlike 3.0 License的许可。该指南中的代码示例已发布到公共领域。

安装:https://www.arduino.cc/en/Main/Software

选择windows版本直接安装即可使用,在库中可以直接安装加载ROS库。

win10 ros2 arduino

5 Webots:

为什么选择Webots?

Webots是一个开放源代码的机器人模拟仿真器,它提供了完整的开发环境来对机器人进行建模,编程和仿真。全球数以千计的机构将其用于研发和教学。自1996年以来,Webots由洛桑瑞士联邦理工学院联合开发,经过全面测试,充分记录并持续维护。它是快速获得专业成果的最有效解决方案,包括:

  • 复杂机器人系统的开发 -从头开始快速原型制作
  • 模拟无人驾驶汽车 -配备传感器并与环境互动
  • 验证新的机器人技术 —深度学习,进化算法,多智能体等。
  • 训练练习的设置 -用于机器人教室 通过操纵杆,驱动轮,踏板和VR接口
  • 对飞行员进行培训 直接向您的客户
  • 提供定制的仿真

Webots功能

  • 精确的物理仿真模拟 -逼真的模拟依赖于已校准的模型
  • 机器人,传感器,执行器和对象库 -模拟的构建块
  • 导入/导出 — CAD模型,OpenStreetMap,电影,Web
  • API和插件 -编程语言,集成的IDE,场景树编辑器
  • 多平台 -Windows,Linux,macOS(以及更多)

投资组合:基于Webots

  • 行业 -他们在研发,测试和应用程序中使用Webots
  • 学术界 -他们与Webots一起进行教学和研究
  • 咨询 -我们为他们提供自定义的Webots模拟
  • 欧洲研究部 -我们以财团成员的身份为他们提供专业知识

开始使用

请遵循以下步骤以熟练掌握Webots:

  1. 在Webots中学习3D导航: Viewpoint Control 在线模拟。
  2. 用Python编程机器人: 机器人编程 在线模拟。
  3. 探索更多高级编程: robotbenchmark.net 在线模拟。
  4. 下载,安装Webots并遵循《 Webots用户指南》的教程
  5. 运用Cyber​​botics机器人课程进一步学习

安装:https://www.cyberbotics.com/#download

选择windows版本,免费版本无服务支持。

6 V-Rep:

具有集成开发环境的机器人模拟仿真器V-REP基于分布式控制体系结构:每个对象/模型都可以通过嵌入式脚本,插件,ROS或BlueZero节点,远程API客户端或自定义进行单独控制解。这使得V-REP非常通用,非常适合多机器人应用。控制器可以用C / C ++,Python,Java,Lua,Matlab或Octave编写。

V-REP用于快速算法开发,工厂自动化仿真,快速原型制作和验证,机器人技术相关的教育,远程监控,安全性双重检查以及数字孪生等等。可以在此处找到功能概述

安装:http://coppeliarobotics.com/downloads.html

7 Matlab:

官网:https://ww2.mathworks.cn/products/matlab.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0 摘要:
  • 1 引言:
  • 2 ROS1:
    • Windows操作系统
      • 预留安装空间
        • 安装Visual Studio 2019
          • 安装Windows软件包管理器
            • 二进制软件包安装
              • ROS 1最新的(LKG)编译好的安装包-Melodic
              • ROS 2最新的编译好的安装包-Dashing
            • 创建ROS命令窗口快捷方式
              • (可选)使用新的Windows终端
                • 保持最新
                • 什么是Arduino?(课程包含avr和arm)
                • 为什么选择Arduino?
                • 如何使用Arduino?
            • 3 ROS2:
            • 4 Ardurno:
            • 5 Webots:
            • 为什么选择Webots?
            • Webots功能
            • 投资组合:基于Webots
            • 开始使用
            • 6 V-Rep:
            • 7 Matlab:
            相关产品与服务
            文档服务
            文档服务(Document Service,DS)是腾讯云数据万象提供云上文档处理服务,支持多种类型的文件生成图片或 html 格式的预览,可以解决文档内容的页面展示问题,满足 PC、App 等多端的文档在线浏览需求。同时,本产品还提供文本隐私筛查能力,可以有效识别文本中的身份证号、银行卡号、手机号等敏感数据,满足数据可用性和隐私保护的各种要求。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档