人工智能技术 课件 21机器人的实现_第1页
人工智能技术 课件 21机器人的实现_第2页
人工智能技术 课件 21机器人的实现_第3页
人工智能技术 课件 21机器人的实现_第4页
人工智能技术 课件 21机器人的实现_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

人器机的实现目录ROS操作系统基本原理ROS平台搭建ROS机器人运动控制content010203ROS机器人的路径规划与导航04对话机器人05ROS操作系统基本原理ROS是用于编写机器人软件程序的一种高度灵活的软件框架。它包含了大量工具软件、库代码和约定协议,提供了类似操作系统的所提供的功能,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,旨在简化跨机器人平台创建复杂、鲁棒的机器人行为这一过程的难度与复杂度。基本原理ROS操作系统基本原理ROS架构设计ROS是一个机器人分布式框架,分为三个层次:基于Linux系统的OS层;基于ROS核心通信系统实现多种通信机制的数据传输的中间层;负责管理整个系统正常运行的应用层。在OS层,可以直接使用ROS官方支持程度最好的Ubuntu操作系统,当然在macOS、Arch、Debian等操作系统也可以使用;在中间层ROS需要做大量工作,其中最为重要的就是基于TCPROS/UDPROS的通信系统;提供一种进程内的通信方法——Nodelet,可以为多进程通信提供一种更优化的数据传输方式,适合对数据传输实时性方面有较高要求的应用;应用层,ROS需要运行一个管理者——Master,负责管理整个系统的正常运行。ROS社区内共享了许多的机器人应用功能包,而这些功能包内的模块是以节点为单位运行,以ROS标准的输入输出作为接口,开发者不需要关注模块的内部实现机制,需要了解的是接口规则即可实现复用,大大地提高了开发效率。ROS目前主要支持Ubuntu操作系统,安装方法主要有两种:软件源安装和源码编译安装。(1)版本选择ROS平台搭建(2)配置系统软件源ROS需要配置Ubuntu系统restricted(不完全的自由软件)、universe(Ubuntu官方不提供支持与补丁,全靠社区安全)、multiverse(非自由软件、完全不提供支持和补丁)这三种软件源。(3)添加ROS软件源将ROS的软件源地址添加到该文件中,确保之后的安装可以正确找到ROS相关软件的下载地址(4)添加密钥将使用如下命令添加密钥:curl-sSL'http://keyserver./pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654'|sudoapt-keyadd-(5)安装ROS机器人运动控制(1)机器人的组成机器人是一个机电一体化的设备,从控制的角度来说,机器人系统包括机械系统、驱动系统、控制系统和感知系统四大部分(2)机器人系统搭建以一款低成本、入门级的机器人平台MRobot为例,MRobot与TurtleBot类似,是一款差分轮式移动机器人已经实现了机械系统、驱动系统和内部传感模块,可以根据需求,配置摄像头、激光雷达等外部传感器。机械系统使用两个直流电机带动主动轮,配合一个从动轮实现机器人的移动。ROS机器人运动控制(3)硬件平台MRobot的主控板可以通过串口与控制系统通信,所以在控制系统上具有灵活性。本章选择RaspberryPi4B(树莓派4B)作为实现平台。(4)PC端控制MRobot加入PC端的功能,在PC端实现一个键盘遥控的节点,将键盘点击转换成Twist格式控制消息,发布消息后,RaspberryPi端接收到消息后控制MRobot运动。详细代码参见:https://github.com/ROSClub/mrobot/blob/master/mrobot_teleop/scripts/mrobot_teleot_key.pyROS机器人的路径规划与导航移动机器人在路径规划与导航中的重点是:地图精确建模、机器人精准定位、路径实时规划,使用ROS实现机器人的SLAM和自主导航等功能非常方便,开发者可以使用较多的ROS功能包,如gmapping、hector_slam、ORB_SLAM、move_base、amcl等(1)准备工作所需要使用到的包有:1)move_base:根据参照的消息进行路径规划,使移动机器人到达指定的位置;2)gmapping:根据激光数据(或者深度数据模拟的激光数据)建立地图;3)amcl:根据已经有的地图进行定位。(2)

gmapping

gmapping功能包继承了Rao-Blackwelliaed粒子滤波算法,省去了开发者的内部实现,gmapping功能包的总体框架。(3)

导航功能包机器人只需要发布必要的传感器信息和导航的目标位置,ROS就可以完成导航功能。move_base功能包提供导航的主要运行、交互接口,它主要包括两个部分。1)全局路径规划:根据给定的目标位置进行总体路径的规划。2)本地实时规划:根据附近的障碍物进行躲避路线规划。为了保证机器人路径规划与导航的准确性,机器人要对自己所在位置进行精准定位,amcl功能包可以实现这部分工作。对话机器人分类(1)检索式对话机器人检索式指的是机器人回复的内容都是预先定义好的,机器人只需要在知识库中找到最合适的答案即可。检索式对话机器人由于回复的内容是人工预先设定的,因此回复质量通常较高。但缺点也很明显,人工构造知识库耗时耗力且难以覆盖更多的对话领域,因此检索式对话机器人通常只应用于某些限定领域。其中最典型的例子是FAQ客服机器人(2)生成式对话机器人生成式指的是机器人在收到用户的输入内容后,会基于算法模型自动生成一句回复。生成式对话机器人不需要人工构建知识库,因此也不受对话领域的限制,而且相比于检索式,生成的答复内容更加丰富多样。生成式对话机器人虽然有很多优点,但当前工业界却很少采用该方式,究其原因主要是目前机器人生成的答复内容不可控,且容易出现语法错误、语句不通顺等问题。最著名的生成式对话机器人是Google翻译(3)限定域对话机器人限定域指的是机器人仅能在某个限定的领域内提供对话服务,而用户如果与机器人聊限定域之外的内容,机器人则回答不上来。用户的问题意图限定在特定领域中,在与机器人对话中,得到的对话答案的准确率也会提高对话机器人技术对比(1)深度学习(2)人工模板(3)检索技术基于深度学习聊天机器人的绝大多数技术都是在SequencetoSequence(Seq2Seq)深度学习技术框架下进行改进的。SequencetoSequence一般是通过Encoder-Decoder(编码-解码)框架实现,Encoder编码将输入序列转化成一个固定长度的向量编码,右侧Decoder解码将之前生成的固定向量再转化成输出序列,编解码部分可以采用CNN、RNN、LSTM、GRU、BLSTM等实现,所以基于Encoder-Decoder,我们可以设计出各种各样的应用算法人工模板的工作流程为将AIML文件知识库载入内存进行初始化,将接收到用户的输入请求后,通过提取关键词,替换,去除噪声等方式为问题查询推理,主要是通过与规则进行逐步匹配,对问题进行推理定位,最后进行模板处理,对上一步的问题进行完善,得到最可能的答案。这个技术路线的好处是精准,缺点是需要大量人工工作,缺乏灵活性,而且可扩展性差,需要到每一个场景去扩展。基于检索技术的聊天机器人则走的是类似搜索引擎的路线事

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论