机器人报告Ubuntu安装ROS安装RIA-E100移动机器人操作.docx
- 文档编号:364610
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:59
- 大小:10.11MB
机器人报告Ubuntu安装ROS安装RIA-E100移动机器人操作.docx
《机器人报告Ubuntu安装ROS安装RIA-E100移动机器人操作.docx》由会员分享,可在线阅读,更多相关《机器人报告Ubuntu安装ROS安装RIA-E100移动机器人操作.docx(59页珍藏版)》请在冰点文库上搜索。
《机器人技术》
专业:
物联网工程
班级:
18-1
学号:
18034530141
姓名:
梁河金
指导老师:
李老师
完成时间:
2020年10月24日
摘要
当前我国正在推进“中国制造2025”,以实现制造业的转型升级。
智能制造是“中国制造2025”的五大工程之一,被列入战略性新兴产业。
智能制造包括智能装备、智能工厂、智能产品、智能物流和智能服务,进而支撑智能决策。
机器人作为“中国制造2025”十大重点发展领域之一以及核心的智能装备,本报告主要介绍在计算机上使用虚拟机安装Linux操作系统,进而安装机器人操作系统ROS和学习使用ROS进行RIAE100移动机器人的模拟仿真和进行真实的RIAE100移动机器人的真实操作等的操作步骤和遇到的问题解决方法。
关键词ROS虚拟机上安装LinuxRIAE100机器人
3
第一章机器人技术概述
Abstract
Atpresent,Chinaispromoting"madeinChina2025"torealizethetransformationandupgradingofmanufacturingindustry.Intelligentmanufacturingisoneofthefivemajorprojectsof"madeinChina2025",whichislistedasastrategicemergingindustry.Intelligentmanufacturingincludesintelligentequipment,intelligentfactory,intelligentproducts,intelligentlogisticsandintelligentservices,whichsupportsintelligentdecision-making.Robotisoneofthetoptenkeydevelopmentareasof"madeinChina2025"andthecoreintelligentequipment.ThisreportmainlyintroduceshowtousevirtualmachinetoinstallLinuxoperatingsystemoncomputer,andthentoinstallrobotoperatingsystemROSandlearntouseROStosimulateRIAE100mobilerobothumanandconductrealRIATheoperationstepsofE100mobilerobotsuchastherealoperationandthesolutionstotheproblemsencountered.
KeywordsROSvirtualmachineinstallationLinuxRIAE100robot
目录
摘要 2
Abstract 3
第一章机器人技术概述 5
1.1什么是机器人 5
1.2机器人技术 5
第二章ROS机器人操作系统简介 8
2.1什么是ROS 8
2.2ROS的起源 8
2.3ROS的设计目标 8
2.4ROS的特点 8
第三章ROS安装过程 10
3.1系统支持 10
3.2ROS安装过程 23
第四章移动机器人实际控制过程 40
4.1移动机器人简介 40
4.2移动机器人实际控制过程 41
第五章本人所承担的主要工作描述及心得体会 48
第六章总结 49
参考文献 50
第一章机器人技术概述
1.1什么是机器人
在科技界,科学家会给每个科技术语一个明确的定义,但机器人问世半个多世纪以来,对它的定义仍然众说纷纭,没有一个统一的意见。
在1967年日本召开的首届机器人学术会议上,提出了两个代表性的定义:
一个是森政弘与合田周平提出的“机器人是一种具有移动性、个体性、智能性、通用性、半机械半人性、自动性、奴隶性等特征的柔性机器人”;另一个是加藤一郎提出的具有“脑、手、脚”三要素的个体的机器人称为机器人。
上述定义强调了机器人应当仿人的含义,而现在的机器人的定义范围更广了:
美国机器人协会:
机器人是一种用于移动各种材料、零件、工具或专用装置的、通过可编程序动作来执行各种任务的、具有编程能力的多功能机械手。
国际标准化组织:
机器人是一种自动的、位置可控的、具有编程能力的多功能机械手。
这种机械手具有几个轴,能够借助于可编程序操作来处理各种材料、零件、工具和专用装置,以执行各种任务。
我国科学家对机器人的定义:
机器人是一种自动化的机器,所不同的是这种机器具备一些人或生物相似的智能能力,如感知能力、规划能力、动作能力和协同能力,是一种具有高度灵活性的自动化机器。
1.2机器人技术
机器人技术Error!
Referencesourcenotfound.集计算机技术、自动化技术、检测技术、机械设计技术、材料与加工技术、各种仿生技术、人工智能技术等学科为一体,是多学科科技发展的结果。
每一款机器人都是知识密集和技术密集的高科技化身。
机器人研究的知识主要集中在以下几个方面:
空间机构学Error!
Referencesourcenotfound.:
主要应用体现在机器人机身和臂部机构的设计、机器人手部机构设计、机器人行走机构的设计、机器人关节部结构的设计,包括仿生结构设计。
机器人运动学Error!
Referencesourcenotfound.:
机器人执行机构实际上是一个多刚体系统,研究要涉及组成这一系统的各杠杠之间以及系统与对象之间的相互关系,因此需要一种有效的数学描述方法,机器人运动学可以帮助解决这一问题。
机器人静力学Error!
Referencesourcenotfound.:
机器人与环境之间的接触会在机器人与环境之间引起相互的作用力和力矩,这种力和力矩的输入输出关系在机器人控制上是十分重要的。
静力学主要探讨机器人的手部端点力和驱动器输入力矩的关系。
机器人动力学Error!
Referencesourcenotfound.:
机器人是一个复杂的动力学系统,要研究和控制这个系统,首先必须要先建立它的动力学方程。
机器人控制技术:
机器人控制技术是在传统机械系统的控制技术基础上发展起来的,其主要研究的内容有机器人控制方式和控制策略。
机器人传感器Error!
Referencesourcenotfound.:
人有触觉、嗅觉、视觉、听觉和味觉,而机器人的感觉主要通过各种传感器来实现的。
传感器又可以分为内部传感器和外部传感器,主要用来检测机器人本身状态的传感器称为内部传感器,主要用来检测机器人所处的环境状况的传感器称为外部传感器。
机器人运动规划方法的研究Error!
Referencesourcenotfound.:
机器人运动规划包括全局路径规划、路径规划和轨迹规划三部分。
全局路径规划是指从起点到终点规划出一条最优路径;路径规划是指相邻的序列点之间通过一定的算法搜索出一条无碰撞的机器人运动
7
第一章机器人技术概述
路径;轨迹规划通过一定的算法,给机器人各关节形成一个运动轨迹。
机器人编程语言Error!
Referencesourcenotfound.:
机器人编程语言是机器人和用户的软件窗口,编程语言的功能决定了机器人适应性和给用户的方便性。
至今还没有完全公认的机器人编程语言,通常每个机器人制造厂都有自己的机器人语言。
实际上机器人的编程语言和传统的编程语言不太相同,机器人手部运动在一个复杂的空间环境中,还要监视和处理传感器的各种信息。
因此机器人编程语言主要有两类:
面向机器人的编程语言和面向任务的编程语言。
3
第一章机器人技术概述
第二章ROS机器人操作系统简介
2.1什么是ROS
ROS——(RobotOperatingSystem)Error!
Referencesourcenotfound.是一个机器人软件平台,它能为异质计算机集群提供类似操作系统的功能。
ROS的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目。
到2008年,主要由威楼加拉吉继续该项目的研发;ROS提供一些标准操作系统服务,例如硬件抽象,底层设备控制,常用功能实现,进程间消息以及数据包管理。
ROS是基于一种图状架构,从而不同节点的进程能接受,发布,聚合各种信息(例如传感,控制,状态,规划等等),目前ROS主要支持Ubuntu。
ROS可以分成两层,低层是上面描述的操作系统层,高层则是广大用户群贡献的实现不同功能的各种软件包,例如定位绘图,行动规划,感知,模拟等等。
ROS(低层)使用BSD许可证,所有是开源软件,并能免费用于研究和商业用途。
而高层的用户提供的包则可以使用很多种不同的许可证。
2.2ROS的起源
ROS是一个由来已久、贡献者众多的大型软件项目。
在ROS诞生之前,很多学者认为,机器人研究需要一个开放式的协作框架,并且已经有不少类似的项目致力于实现这样的框架。
在这些工作中,斯坦福大学在2000年年中开展了一系列相关研究项目,如斯坦福人工智能机器人(STandfordAIRobot,STAIR)项目、个人机器人(PersonalRobots,PR)项目等,在上述项目中,在研究具有代表性、集成式人工智能系统的过程中,创立了用于室内场景的高灵活性、动态软件系统,其可以用于机器人学研究。
2007年,柳树车库(WillowGarage)提供了大量资源,用于将斯坦福大学项目中的软件系统进行扩展与完善,同时,在无数研究人员的共同努力下,ROS的核心思想和基本软件包逐渐得到完善。
ROS在机器人领域的浪潮也涌入国内,近年来国内机器人开发者也普遍采用ROS开发机器人系统,不少科研院校和高新企业已经在ROS的集成方面取得了显著成果,并且不断反哺ROS社区,促进了开源社区的繁荣发展Error!
Referencesourcenotfound.。
2.3ROS的设计目标
ROS的设计目标是提高机器人研发中的软件复用率,所以它被设计成为一种分布式结构,使得框架中的每个功能模块都可以被单独设计、编译,并且在运行时以松散耦合的方式结合在一起。
ROS主要为机器人开发提供硬件抽象、底层驱动、消息传递、程序管理、应用原型等功能和机制,同时整合了许多第三方工具和库文件,帮助用户快速完成机器人应用的建立、编写和多机整合。
而且ROS中的功能模块都封装于独立的功能包或元功能包中,便于在社区中共享和开发。
2.4ROS的特点
(1)点对点的设计
在ROS中,每一个进程都以一个节点的形式运行,可以分布于多个不同的主机。
节点间的通信消息通过一个带有发布和订阅功能的RPC传输系统,从发布节点传送到接收节点。
这种点对点的设计可以分散定位、导航等功能带来的实时计算压力,适应多机器人的协同工作。
(2)多语言支持
为了支持更多应用的移植和开发,ROS被设计成为一种语言弱相关的框架结构。
ROS使用简洁、中立的定义语言描述模块之间的消息接口,在编译过程中再产生所使用语言的目标文件,为消息交互提供支持,同时也允许消息接口的嵌套使用。
目前已经支持python、C++、Java等多种不同的语言,也可以同时使用这些语言完成不同模块的编程。
(3)架构精简、集成度高
在已有繁杂的机器人应用中,软件的复用性是一个巨大的问题。
很多驱动程序应用算法、功能模块在设计时过于混乱,导致其很难在其他机器人或应用中进行移植和二次开发。
而ROS框架具有的模块化特点使得每个功能节点可以进行单独编译,并且使用统一的消息接口让模块的移植、复用更加便捷。
(4)组件化工具包丰富
移动机器人的开发往往需要一些友好的可视化工具和仿真软件,ROS采用组件化的方法将这些工具和软件集成到系统中并可以作为一个组件直接使用。
例如我在实验中使用的rviz三维可视化工具和gazebo仿真软件,rviz是将数据可视化,比如将机器人模型可视化、图像数据可视化、地图数据可视化等;gazebo仿真环境,可以给机器人运行中提供友好的虚拟物理仿真环境。
(5)免费并且开源
ROS遵照BSD许可给使用者较大的自由,允许其修改和重新发布其中的应用代码,甚至可以进行商业化的开发销售。
由不同国家的ROS社区组织开发和维护的全球范围的开源代码,在短短几年里,ROS软件包的数量呈指数级增长。
11
第三章ROS安装过程
第三章ROS安装过程
3.1系统支持
目前,机器人操作系统ROS1Error!
Referencesourcenotfound.和机器人操作系统ROS2已经基本上实现了全平台支持,即可以在Windows,MacOS和Linux安装运行,但是主流的还是在Linux(Ubuntu)上安装。
在此次安装ROS我选择的是Ubuntu16.04版本的计算机操作系统。
在安装ROS中,我选择的ROS是ROSKinetic桌面完整版。
3.1.1Linux操作系统简介
LinuxError!
Referencesourcenotfound.是由UNIX发展而来的多用户多任务操作系统。
它不仅稳定可靠,而且还具有良好的兼容性和可移植性,深得计算机专业人才的青睐,特别是运维、网络管理和程序员。
Linux是由芬兰赫尔辛基大学的一名叫LinusTorvalds的学生于1990年开发的,目的是设计一个代替Minix的操作系统,LinusTorvalds在1993年发布了Linux1.0版本。
Linux借助于Internet网络,并经过全世界各地的计算机爱好者的共同努力,现已成为世界上使用最多的一种UNIX类操作系统,并且使用人数还在迅猛增长。
Linux的版本分为两部分:
内核(Kernel)版本与发行套件版本。
内核版本是指在Linux领导下的开发小组开发的系统内核的版本号。
核心的开发和规范一直是由Linux社区控制着,版本也是唯一的。
3.1.2Ubuntu16.04操作系统的安装
安装Linux(Ubuntu)操作系统,我选择在虚拟机上安装,不会对多系统并存的分区划分、系统切换和兼容性隐患而担忧,而且通过虚拟技术,可以把物理上一台计算机上虚拟成有“多台”计算机,实现多系统之间的通信和互访。
安装步骤:
第一步:
先安装虚拟机,我选择的是VMwareWorkstationPro12。
安装教程请参考百度教程:
特别注意一点,执行安装程序的时候,一定要以管理员身份安装,要不然你会遇到下面问题:
在你输入许可证密钥后提交的时候(永久性许可证密钥可以在网上找到),它会提示:
Youdonothavepermissiontoenteralicensekey.Tryagainusingthesystemadministratoraccount.即是“您无权输入许可证密钥。
请使用系统管理员帐户重试。
”
解决方法:
1、以管理员身份运行命令提示符(CMD)
2、跳转到vmware-vmx.exe的安装目录:
比如,我是F:
\VM
3、运行命令:
vmware-vmx--new-snxxxxx-xxxxx-xxxxx-xxxxx-xxxxx(后面的是注册号,可以自行更换)。
第二个解决方法就是卸载已经安装的VMwareWorkstationPro12,重新以管理员身份安装。
我是使用此方法。
第二步:
下载Ubuntu16.04的镜像文件
推荐使用中国科学技术大学的开源镜像站下载:
选择进行下载。
第三步:
完成以上两步后,正式在VMwareWorkstationPro12上安装Ubuntu16.04
(1)打开VMware,选择创建新的虚拟机
(2)选择“自定义(高级)”,点击“下一步”;
(3)默认选项,点击“下一步”;
(4)选择“稍后安装操作系统”,点击“下一步”;
(5)选择“Linux”,“Ubuntu64位”,点击“下一步”;
注意:
如果你下载的是32位的Ubuntu,那么对应的应该选择“Linux”下的“Ubuntu”而不是图片中的选项。
(6)根据需要更改虚拟机名称及存放位置,点击“下一步”;
(7)这里可以使用默认值,这里我增加了处理器核心数量
(8)根据需要设置内存大小,注意不要超过实际电脑的内存,这里我使用最大推荐内存,点击“下一步”;
(9)默认选项,以下步骤都是直接点击“下一步”;
(10)根据需要调整最大磁盘大小,选择“将虚拟磁盘存储为单个文件”,点击“下一步”;
(11)默认选项,点击“下一步”;
(12)默认选项,点击“完成”。
(13)点击CD/DVD,选择下载的iso文件。
(14)点击开启此虚拟机后,左侧选择中文(简体),然后点击安装Ubuntu
(15)点击继续
此处清除整个磁盘是虚拟的,不会对windows操作系统的文件正常使用造成影响。
点击现在安装:
这里使用默认,点击继续
选择继续
设置账户密码(要是密码设置过于简单,需要连续输入两次)
接下来就是漫长的等待:
当出现这个提示,证明安装成功:
3.2ROS安装过程
3.2.1安装ROSKinetic桌面完整版
第一步:
添加ROS的镜像源(使用国内镜像源下载比较快,所以这里我使用的是“中国科学技术大学”的镜像源):
$sudosh-c‘./etc/lsb-release&&echo“deb$DISTRIB_CODENAMEmain”>/etc/apt/sources.list.d/ros-latest.list’
第二步:
添加密钥
$sudoapt-keyadv--keyserverhkp:
//ha.pool.sks-:
80--recv-key421C365BD9FF1F717815A3895523BAEEB01FA116
注:
密钥是提高下载安全性的,通过密钥对的验证,远程主机使用对方提交的公钥来解密进行身份验证。
第三步:
更新软件源
$sudoapt-getupdate
注:
此处要经过漫长的等待。
若上方的‘$sudoapt-getupdate’更新失败了,可以打开“设置-系统软件和更新”,随意勾选一项然后提示输入密码,接着再还原勾选的选项点击“关闭”,即会提示以下信息:
保证联网后,点击重新载入便会出现如下界面。
只需等待自动更新即可。
第四步:
执行完上面的步骤后,执行命令安装ROS桌面完整版
$sudoapt-getinstallros-kinetic-desktop-full
第五步:
由于网站的变更或依赖包的更新导致有些包无法下载,所以执行完上一条命令后,输入以下命令检查是否有漏的包,她可以自动的匹配和下载漏掉的包:
$sudoapt-getinstallros-kinetic-desktop-full–fix-missing
第六步:
初始化rosdep
$sudorosdepinit
$rosdepupdate
注释:
rosdep是ros的一个命令工具,用于安装系统依赖,即ros包的依赖。
在安装ros的时候rosdep会自动安装,所以此处直接初始化就可以了。
第七步:
设置环境变量:
$echo"source/opt/ros/kinetic/setup.bash">>~/.bashrc
$source~/.bashrc
注释:
写进./bashrc文件,ROS通过环境变量找到命令所在的位置。
第八步:
安装依赖项
$sudoapt-getinstallpython-rosinstallpython-rosinstall-generatorpython-wstoolbuild-essential
第九步:
测试ROS是否安装成功
(1)打开终端(Terminal),输入以下命令,初始化ROS环境:
$roscore
上面显示有ROS的版本、节点、端口等信息。
(2)另外再打开一个终端(Terminal),输入以下命令,弹出一个小乌龟窗口:
$rosrunturtlesimturtlesim_node
出现小乌龟后,再打开一个终端(Terminal),输入以下命令启动键盘控制小乌龟的运动:
$rosrunturtlesimturtle_teleop_key
(3)打开新的一个终端(Terminal),输入以下命令查看ROS节点信息:
$rosrunrqt_graphrqt_graph
要是可以完成第九步,证明ROS安装已经成功了。
3.2.2安装ROSKinetic普通版
ROSKinetic普通桌面版的安装与ROSKinetic桌面完整版的安装步骤基本一样。
而它们的区别就是ROSKinetic普通版需要手动安装依赖包和工具,而ROSKinetic桌面完整版安装时会自动下载安装众多依赖包和工具,包括我实验中使用到的rviz三维可视化工具和gazebo仿真软件。
第一步:
添加镜像源
sudosh-c'echo"debhttp:
//packages.ros.org/ros/ubuntu$(lsb_release-sc)main">/etc/apt/sources.list.d/ros-latest.list'
第二步:
添加密钥
sudoapt-keyadv--keyserver'hkp:
//:
80'--recv-keyC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
第三步:
更新包
sudoapt-getupdate
第四步:
安装ROSKinetic普通桌面版
sudoapt-getinstallros-kinetic-desktop
第五步:
初始化rosdep
sudorosdepinit
rosdepu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器人 报告 Ubuntu 安装 ROS RIA E100 移动 操作