版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人工智能导论
Introduction
To
ArtificialIntelligence第八章机器人8.1机器人概述8.2
机器人控制技术8.3
机器人操作系统概述8.4
机器人智能应用8.5工业机器人8.6
无人驾驶8.7无人机8.8章节总结8.1机器人概述1.什么是机器人?机器人(Robot)是一种能够感知环境、处理信息并执行任务的自主或半自主机器。它们可以在各种领域发挥作用,如制造业、医疗、教育、家居、军事等。通常,机器人具有一定程度的自主性,可以根据预先编程的任务或者通过人工智能(AI)技术实现自主决策。图8-1机器人8.1机器人概述2.机器人分类根据功能和应用场景,机器人可以分为以下几类:①工业机器人:在制造业中广泛应用的机器人,如自动化生产线上的焊接机器人、装配机器人等。图8-2工业机器人8.1机器人概述②服务机器人:在生活、商业和公共环境中提供服务的机器人,如清洁机器人、导航机器人等。图8-3服务机器人8.1机器人概述③伴侣机器人:具有社交功能和情感互动能力的机器人,如陪伴机器人、教育机器人等。图8-4伴侣机器人8.1机器人概述④探测机器人:用于勘探和监测环境的机器人,如无人机(UAV)、水下机器人等。⑤医疗机器人:用于医疗诊断、治疗和康复的机器人,如外科手术机器人、康复机器人等。⑥军事机器人:用于军事侦查、战斗和后勤保障的机器人,如侦查机器人、战斗机器人等。图8-5探测机器人8.1机器人概述3.机器人的基本组成机器人通常由以下几个基本部分组成:①传感器:用于感知环境信息,如摄像头、麦克风、超声波传感器等。②执行器:用于执行动作,如电动机、舵机、气动和液压执行器等。③控制器:用于处理传感器数据和控制执行器的硬件和软件系统。④通信系统:用于与其他设备或人类进行通信,如Wi-Fi、蓝牙、RFID等。⑤电源:为机器人提供能量,如电池、太阳能板等。8.2机器人控制技术8.2.1机器人控制技术基本概念机器人控制技术是使机器人能够按照我们的命令进行运动和工作的关键技术。机器人控制系统通常由三个部分组成:感知系统、决策系统和执行系统。图8-6
机器人8.2机器人控制技术①感知系统通过各种传感器获取机器人内外部的信息,如机器人各关节的位置和速度,外界环境的视觉信息等。这些信息被传送到决策系统。②决策系统根据获取的信息和预定的控制算法或策略,计算出控制机器人运动的控制量,如电机的转速等。常用的控制算法有比例-积分-微分控制和PID控制等。决策系统将计算出的控制量发送到执行系统。③执行系统根据接收到的控制量,直接驱动机器人的各个关节和执行机构,如电机、气缸等,从而实现机器人的运动控制和路径规划。机器人控制系统通过感知、决策、执行三个环节,基于反馈信息实时调整机器人的状态和运动,实现对机器人运动的精密控制。这三个部分的技术发展正推动着机器人控制性能的提高和机器人应用场景的扩展。8.2机器人控制技术8.2.2
机器人控制架构机器人控制架构是组织和管理机器人控制系统的基本框架。图8-7
机器人功能分解8.2机器人控制技术主要有以下三种类型:①分层控制架构:将机器人控制任务划分为若干层次,如规划层、执行层和控制层。每个层次独立完成各自的任务,协同实现整体控制目标。②行为控制架构:将机器人行为分解为一组基本行为模块,通过协调这些模块来实现复杂任务。常见的行为控制架构有基于有限状态机(FSM)和行为树(BT)等。③混合控制架构:结合分层和行为控制架构的优点,实现更灵活、高效的控制。例如,分层中的规划层采用行为树进行任务分解和调度。8.2机器人控制技术机器人控制架构是指机器人系统中用来控制机器人运动和行为的计算机程序和硬件架构。机器人控制架构通常包括以下几个部分:①传感器:机器人控制架构的第一个组成部分是传感器。传感器被用来感知机器人周围的环境和状态,例如光线、声音、压力、温度、距离、速度等。传感器可以是各种各样的,例如摄像头、激光雷达、声纳、压力传感器、温度传感器等。②控制器:控制器是机器人控制架构的核心部分,它负责接收传感器的输入,计算机器人应该采取的行动,然后向执行器发送指令控制机器人的运动。控制器通常是一个嵌入式计算机,它运行着机器人的控制程序,接收传感器的数据,计算机器人应该采取的行动,并将指令发送给执行器。8.2机器人控制技术③执行器:执行器是机器人控制架构的另一个组成部分,它们接收控制器发送的指令并执行机器人的动作。执行器可以是各种各样的,例如电动机、气动元件、液压元件等。执行器的类型取决于机器人的应用领域和所需的精度和力量,例如工业机器人通常使用电动机,而航空和航天机器人通常使用气动元件。④人机交互界面:人机交互界面是机器人控制架构中一个非常重要的组成部分,它允许人类操作员与机器人系统进行交互。人机交互界面可以是各种各样的,例如触摸屏、键盘、鼠标、语音命令等。人机交互界面可以用来控制机器人的运动、调整机器人的参数、查看机器人传感器的数据等。⑤网络连接:网络连接是机器人控制架构的另一个重要组成部分,它允许机器人系统通过网络与其他计算机或设备进行通信。网络连接可以用来远程控制机器人、传输机器人传感器的数据、接收远程指令等。8.2机器人控制技术8.2.3控制策略和算法控制策略和算法是用于控制机器人行为的计算机程序和算法。它们可以帮助机器人完成各种任务,例如路径规划、动态避障、姿态控制、抓取和操纵等。以下是一些常见的控制策略和算法:①PID控制算法:PID控制算法是一种用于控制机器人位置和姿态的经典算法。PID控制器基于机器人当前的位置误差、速度误差和加速度误差,计算出一个控制量,然后将其发送给执行器。PID控制器可以通过调整三个参数(比例系数、积分系数和微分系数)来适应不同的应用场景。②路径规划算法:路径规划算法是用于规划机器人路径的一类算法。这些算法的目标是找到一条从起点到终点的最短路径或最优路径,同时避免碰撞和障碍物。常见的路径规划算法包括A*算法、D*算法、RRT算法等。8.2机器人控制技术③动态避障算法:动态避障算法是一种用于在机器人移动过程中避免碰撞的算法。这些算法基于机器人的传感器数据和环境模型,预测机器人的碰撞风险,并通过调整机器人的运动轨迹来避免碰撞。常见的动态避障算法包括VFH算法、DWA算法、MPC算法等。④强化学习算法:强化学习算法是一种用于训练机器人学习如何最优地完成任务的算法。强化学习算法基于机器人的行为和环境的反馈信号,通过调整机器人的行为策略来最大化累计奖励。常见的强化学习算法包括Q-learning、DeepQ-network、Actor-Critic等。⑤视觉控制算法:视觉控制算法是一种用于控制机器人姿态和位置的算法。这些算法基于机器人的视觉传感器数据,例如摄像头和激光雷达,计算出机器人的姿态和位置信息,并将其发送给执行器。常见的视觉控制算法包括视觉伺服算法、视觉里程计算法等。8.2机器人控制技术8.2.4通信协议实现机器人控制需要在控制器和各个子系统之间进行数据通信,常见的通信协议有以下几种:①ROS通信协议:ROS(RobotOperatingSystem)是一种流行的机器人操作系统,它提供了一套通信协议,用于在机器人系统内部进行通信。ROS通信协议基于TCP/IP协议栈,使用了ROS自己的消息格式,例如ROStopic、ROSservice和ROSparameter等。②CAN总线通信协议:CAN(ControllerAreaNetwork)总线是一种广泛应用于汽车和工业领域的通信协议。CAN总线通信协议基于一种分布式的消息传递机制,支持多个设备之间进行实时通信。CAN总线通信协议主要用于控制机器人的传感器和执行器等外部设备。8.2机器人控制技术③Ethernet通信协议:Ethernet通信协议是一种基于TCP/IP协议栈的通信协议,它广泛应用于计算机和网络设备之间的通信。Ethernet通信协议适用于机器人系统中需要进行大量数据传输和处理的场景,例如机器人视觉系统和控制系统之间的通信。④Modbus通信协议:Modbus是一种广泛应用于工业自动化领域的通信协议,它基于串行通信和TCP/IP通信的方式,用于在控制器和各个子系统之间进行通信。Modbus通信协议支持多种数据格式和数据传输方式,例如二进制数据、ASCII数据和RTU数据等。⑤MQTT通信协议:MQTT(MessageQueuingTelemetryTransport)是一种轻量级的、基于发布/订阅模式的通信协议,它适用于机器人系统中需要进行实时数据传输和控制的场景。MQTT通信协议支持多种消息格式和消息传输方式,例如JSON格式和二进制格式等。8.3
机器人操作系统概述8.3.1什么是机器人操作系统(ROS)机器人操作系统(ROS)并不是传统意义上的操作系统。它是一个用于机器人软件开发的开源框架,提供了一套软件库和工具,帮助开发人员更容易创建复杂而强大的机器人应用程序。ROS的主要目标是使不同机器人平台之间的软件复用变得更加容易,从而降低了开发成本和提高了效率。8.3
机器人操作系统概述ROS系统的设计目标是便于智能机器人研发过程中的代码复用,因此ROS采用开源的方式来维护整个系统,即通过现有的ROS系统来加快智能机器人系统的研发,并为这些研发工作提供完善且丰富的工具,从而使得开发人员可以有能力开发任何所需要的智能机器人。与此同时,又与开源社区保持紧密的互动可以为ROS提供丰富且可用的第三方功能包,从而进一步丰富智能机器人所需要的开发工具,实现系统闭环。图8-8ROS系统的生态8.3
机器人操作系统概述ROS系统主要有三个方面的特点:①分布式的架构:ROS将每个工作进程都看做是一个独立的节点,并使用节点管理工具进行统一的管理,同时还为这些节点提供了一套完整且高效的消息传递机制。这种架构可以把复杂的机器人系统分散为一个个独立且精巧的程序,从而以即插即用的方式进行功能拼装,以适应不同类型的机器人的协同工作的挑战,此外,分布式架构的实现中大量采用得Socket进行通信,使得这些节点既可以运行在比如说stm32这类的单片机系统上,也可以运行在比如树莓派这类计算设备上面,同时还能运行在大型服务器系统上,甚至可以运行在安卓等系统上。8.3
机器人操作系统概述②多语言的支持:由于采用分布式架构的特点,使得对于ROS节点来说,只要硬件平台支持Socket,那么就可以在该平台实现节点功能,也因为这个原因,节点程序可以使用任何的编程语言进行编写,因此ROS在许多功能上采用XML这类和编程语言无关的脚本实现。此外,ROS还支持多种现代编程语言,比如C++,python等。③良好的可伸缩性:在使用ROS进行智能机器人研发中,既可以简单地编写一两个节点单独运行,也可以直接使用社区贡献的功能节点,此外通过rospack、roslaunch等指令将很多个节点组织成一个更为庞大的工程,并指定它们之间的依赖关系及运行时的组织形式,从而得到了功能复杂的智能机器人。8.3
机器人操作系统概述8.3.2ROS的系统分层结构从软件工程的角度来看,ROS系统主要分为三个层次,分别是OS层、中间层和应用层。图8-9
从软件工程来看的ROS系统结构8.3
机器人操作系统概述①OS层:由于ROS系统并不是传统意义上的操作系统,而是一组智能机器人软件开发工具集,因此需要如Linux系统、Windows系统这样的操作系统做硬件抽象的支撑和资源的调度,如进程管理、内存管理等,因此正如第四章所说,目前ROS1支持的操作系统是Linux,如Ubuntu、Arch、Debian等,而ROS2则除了支持Linux系统外,还支持Windows和MACOS。②中间层:由于操作系统的通用性,因此并不会为了机器人开发对应的中间件,因此ROS在通用操作系统上进行了大量的工作,其中最为重要的就是完成了基于TCP和UDP的机器人通信系统,在再此基础上完成TCPROS和UDPROS,并实现如订阅-发布、客服端-服务器等通信模型。此外,ROS还开发了大量与机器人相关的基础库,如数据类型库、机器人坐标转换库和运动控制库等,这些库的完成为不同机器人提供统一的接口,而不需要进行重复的开发。8.3
机器人操作系统概述③应用层:最后是应用层,ROS完成了整个机器人系统的核心节点——Master,并且每个可运行的智能机器人系统只有一个Master。该节点主要负责整个机器人系统中各个节点之间的数据通信和队列调度,同时提供了标准的输入输出接口,使得开发人员不需要关心每个节点具体的数据通信过程,而只需要关心节点功能的实现,提高了智能机器人开发的效率。8.3
机器人操作系统概述从系统实现的角度来看,ROS系统也可以分为三个层次,分别是计算图、文件系统和开源社区。图8-10
从系统实现角度来看的ROS系统结构8.3
机器人操作系统概述①计算图:所谓计算图,是以数学中的“图”概念进行命名,即每个功能节点(Node)是图中的一个节点,节点和节点之间可以是双向通信,也可以是单向通信。Node与Node之间的数据采用消息(Message)的方式进行传递,并且Message中的数据以固定的结构进行组织,除了支持基本的数据类型,如整形等,还支持嵌套的数据类型,以及自定义的数据类型。而节点与节点之间有三种方式,第一种是订阅-发布,第二种是客户端-服务器,第三种是动作(action)。图8-11ROS中的计算图8.3
机器人操作系统概述②文件系统:一个完整的智能机器人系统包含众多的功能节点,而每个节点又包含了许多的消息类型、服务类型、功能代码等,因此ROS系统必须制定出一套文件系统的规则来组织这些功能节点,以及功能节点中的功能文件。在ROS系统中,首先需要有个工作空间(Workspace),该空间中存放源代码(src)、编译的过程文件(devel),以及编译完成的目标文件(build),而在源代码文件夹中又存放了各个功能节点,这些功能节点以包(Package)的形式存在,随后在每个功能包中又包含了消息类型(msg)、服务类型(srv)、功能代码(src)等。图8-12
文件系统结构8.3
机器人操作系统概述③开源社区:ROS的开源社区活跃,并且提供非常的丰富资源,包括众多可用的功能包,以及智能机器人的开发知识,其中软件包的获取通过几条简单的指令就可以集成和使用,而知识的获取则通过邮件列表、论坛、博客等形式获取,如图所示。具体来说ROS社区主要有六方面功能,分别是定期的ROS新版发行、软件源的维护、ROSWiki、邮件列表、ROSAnswer,以及博客。图8-13
开源组织形式8.3
机器人操作系统概述8.3.3ROS的功能ROS(RobotOperatingSystem,机器人操作系统)是一个用于编写机器人软件的框架。它是一个可扩展的、模块化的系统,适用于各种类型的机器人。ROS提供了许多工具、库和协议,使机器人开发者能够更轻松地创建复杂数字系统。8.3
机器人操作系统概述以下是ROS的一些主要功能,以及它们的作用和优缺点。①节点(Node):ROS的基本组成单位。节点是独立运行的进程,负责执行特定任务,如感知、控制或规划。节点可以跨多个计算机进行分布式计算,提高了系统的可扩展性和性能。优点:模块化设计,使得系统易于扩展,便于维护。缺点:节点间通信可能会增加延迟。②消息传递(MessagePassing):节点通过发布/订阅模型进行通信。发布者节点(Publisher)向特定主题(Topic)发送消息,订阅者节点(Subscriber)接收这些消息。这种方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年黑龙江省肇东市高三数学下册期末考试模拟检测卷含答案【黄金题型】
- 2026年黑龙江省虎林市高三数学下册期末考试模拟卷含完整答案【夺冠系列】
- 2026年黑龙江省虎林市高三数学下册期末考试模拟测试卷附参考答案(培优B卷)
- 2026年黑龙江省讷河市高三数学下册期末考试模拟测试卷含答案(典型题)
- 2026年黑龙江省铁力市高三数学下册期末考试模拟考试卷【历年真题】附答案
- 2026 年人教版八年级数学上册提升模拟测试卷
- 贸易壁垒破解与国际贸易战略调整可行性研究报告
- 农机安全生产工作汇报
- 智慧养殖无线数据采集系统搭建项目分析方案
- 环保出行的研究报告
- 《“诺曼底号”遇难记》课件
- 人教PEP四年级英语上册阅读理解专项30篇(含答案)
- 2026年秋季开学中秋诗词赏析课件
- 2026临汾市侯马市招聘乡(街道)消防协管员考试备考试题及答案详解
- 2026秋学期人教版小学数学六年级上册(新教材)教学计划附进度表
- 2026年秋季学期小学四年级上册英语(人教版PEP新教材)教学计划
- 自来水生产工岗前专项能力考核试卷含答案
- 2026教科版六年级科学上册第一单元《健康生活》全部教案
- 2026年山东青岛市中考历史试题(附答案)
- 江西省人才发展集团有限公司2026年春季集中招聘专题【11人】建设笔试备考题库及答案解析
- 2026年重庆市九龙坡区辅警人员招聘考试试卷及答案
评论
0/150
提交评论