版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
机器人室内避障导航的技术路线与硬件平台分析案例目录TOC\o"1-3"\h\u24109机器人室内避障导航的技术路线与硬件平台分析案例 169411.1技术路线 1208321.2硬件平台搭建 3161461.1.1深度摄像头 3321271.1.2单线激光雷达 4166051.1.3树莓派开发板 5315561.1.4下位机开发板 5320611.1.5九轴姿态传感器 7265451.1.6直流减速电机 729191.1.7转向舵机 767831.3软件系统简介 7215631.4小结 81.1技术路线在室内进行避障和导航,需要先搭建一个适合在室内进行移动机器人。机器人需要获得当前室内环境的地图等信息,控制端根据这个地图信息发送的在地图上的目标点,让机器人在从当前位置前进到目标点,并在此过程中完成避障功能。在室内完成这一过程,存在两个基本要求:在沿最短直线行进过程中,需要知道室内环境信息,并规划处达到目标的路径。在行驶中偏离预定路线时需要即时纠正回到预定线路上。在行驶过程中遇到原先地图上不存在的新的障碍物时,需要重新划定局部规避路线,绕过障碍物并完成避障功能。在需求一中,机器人需要知道自身的周遭环境信息,这需要通过各种感知模块实现。在大多数情况下传感器大多使用,红外巡线传感器、超声波雷达、单线或多线激光雷达、单目和深度摄像头和霍尔编码器电机等。红外巡线传感器一般只作用于识别粘贴于地面上的反射红外的材料,通过反射率的不同判断自身处于引导线的位置。这种方式不够智能且局限性太大,而且可以使用摄像头的视觉方法进行巡线,故此不选用红外巡线传感器。超声波雷达所能收集的环境范围太局限,而且只能收集一个方向,对于移动机器人转弯时提供的信息不足。激光是目前常用的环境感知传感器,能够在很好的收集机器人附近的环境信息,不易受到外界环境影响。多线激光雷达虽然提供的信息较多但价格昂贵,而且较大的体积和重量并不适合搭载在室内环境下的机器人。所以本文使用简单轻巧的单线激光雷达,能够在室内环境下提供足够的环境信息。单目摄像头提供的信息太少,只有彩色的图像如果需要计算机视觉方式进行处理需要的算力较大。而深度摄像头可以提供比单目摄像头更多的信息,深度摄像头自身带有硬件支持,对算力要求不会有太大提升,所以使用深度摄像头。普通直流电机只能通过计算运行时间和脉冲等方式计算电机运动圈数,但是在电机实际运动时难以获知准确的运动状态,所以选用简单但有不增加电机大小的带霍尔编码器的直流电机作为机器人动力。最终选用硬件包括:单线激光雷达,深度摄像头,带霍尔编码器的直流电机。以上的硬件选择控制了成本,减少了因为过多传感器带来传输带宽和算力的压力,可以选择嵌入式的开发板处理传感器信息,并且很好的控制了机器人的体积和重量,保证机器人可以灵巧的在室内环境下进行移动。在需求二中,需要让机器人实时感知障碍物,根据收集障碍物信息不断规划避让路线。首先机器人需要知道自身的位姿信息和障碍物当前所在环境中的位置,在需求一中选用的传感器足够捕获这些信息。机器人利用传感器信息在SLAM技术就可以满足这个需求,从而能够让机器人完成避障动作。根据以上需求本文提出了技术方案如图2-1所示,整个系统主要包括运动控制模块、环境感知模块和导航决策模块。其中运动控制模块,由一个STM32的下位机控制电机和舵机完成小车的运动控制,STM32下位机和树莓派开发板上位机直接通过串口相互通信。环境感知模块包含,单线激光雷达、深度摄像头和陀螺仪等硬件设备,实时采集信息并将信息传输给上位机进行处理。导航决策模块是在上位机运行的软件系统,通过读取环境感知模块信息,建立地图并在地图上进行路线规划。由路线和机器人当前位置计算当前需要的运动信息发送给STM32下位机,由运动控制模块完成机器人移动。控制端可以发送导航目标和查看机器人所有的信息。图2-1技术方案图1.2硬件平台搭建1.1.1深度摄像头RGB-D相机是智能机器人上常见的视觉传感器,在传统的摄像头的RGB图像基础上增加了每个像素的深度信息ADDINNE.Ref.{9D8CA033-2B54-452A-9458-C7AC15C7774D}[3]。机器人使用的是英特尔(Intel)公司生产的深度摄像头RealSenceD435如图所示2-2,这个外形小巧的深度摄像头可以提供高质量深度信息,非常适合机器人。图2-2D435产品图技术参数如表2-1所示。表2-1D435技术参数表项目参数/范围深度范围0.3-3m深度视场(FOV)86°×57°(±3°)深度输出分辨率1280x720深度帧率90帧/秒RGB分辨率1920×1080RGB传感器视场FOV64°×41°(±3°)RGB帧率30帧/秒1.1.2单线激光雷达本文采用了RPIDARA1单线激光雷达,如图2-3所示图2-3RPLIDARA1产品图选择使用RPIDARA1激光雷达是因为这款激光雷达体积和重量较小,性价比高。技术参数如表2-2所示表2-2RPLIDARA1技术参数表项目单位典型值/范围测距范围米0.15-12扫描角度度0-360测量频率赫兹2000-8000扫描频率赫兹5.51.1.3树莓派开发板上位机使用的是树莓派(RaspberryPi)开发板的4B型号,树莓派是一种只有卡片大小的ARM微型电脑。树莓派上搭载了BMC2711SoC,其上有4个最高频率为1.5GHz的Cortex-A72核,并支持最高4GB内存ADDINNE.Ref.{FC01A10E-D91A-459C-84C8-5B0DDDFE00EB}[4]。树莓派上的SoC提供了足够的算力可以完成传感器的控制、构建环境地图和规划导航线路等任务。集成了USB3.0控制器、WIFI和蓝牙模块等通信模块,这些模块满足了传感器数据,下位机,控制端的通信需求。树莓派工作电压只需要5V直流电源,并可以输出5V的直流电压给深度摄像头和激光雷达供电。由于树莓派具有以上优点,本文将树莓派作为机器人主要计算单元,搭载了Linux(Ubuntu18.04)系统。树莓派通过两个USB3.0接口连接上述的深度摄像头和激光雷达接收并处理数据。而深度摄像头和激光雷达直接由树莓派USB接口直接供电,减少了供电电路的设计也降低了电池的负载,进一步减低了车身重量和体积。本文的控制端PC机,通过树莓派的WIFI模块在同一网段下通过TCP报文进行通信。1.1.4下位机开发板本文采用STM32F103VET6芯片的开发板作为下位机,如图2-4所示,该芯片拥有256KB的FLASH和48KB的SRAM,支持FSMC(FlexibleStaticMemoryController,可变静态存储控制器)和80个通用IO接口。丰富的接口和内存足以满足控制机器人运动和通信的需求。图2-4STM32F103开发板下位机包含以下功能模块:电源供电稳压模块机器人搭载了一块11.5V总容量为9800mAh的蓄电池,该电池提供11V~12V的直流电源经由板载的RT8289GSP芯片构成的降压稳压电路。12V一部分作为驱动电机的电源,另一部分经由稳压芯片将电源降低到5V作为上位机的工作电源、电机的5V逻辑电压和USB串口芯片等。其余的5V接入转3.3V的分压电路,向开发板上的STM32f103芯片和板载器件进行3.3V供电。电机驱动模块直流电机的驱动电路,由TB6612FNG模块进行控制ADDINNE.Ref.{6234AD7B-C5F1-4F8A-90CB-172ECD0D675A}[5]。芯片可以同时控制机器人的左右两个直流减速电机,直流减速电机需要的12V的工作电压也由该驱动电路和电池提供。STM32芯片产生PWM控制脉冲和控制电平用以控制电机运动方向和速度。STM32芯片读取减速电机尾部的摩尔编码器产生的反馈脉冲,反馈脉冲由STM32的定时器通道读取。反馈脉冲经过四分频技术读取电机运动状态作为里程计数据,从而更加方便推理小车移动距离。舵机控制模块STM32芯片解析机器人水平移动分量后,通过IO接口控制舵机摆动机器人转向轮。通过摆动前轮的方向从而让机器人向左前方、右前方、左后方和右后方改变行进方向。通信模块STM32通信模块由CP2102串口芯片,使用USB数据线在上位机和下位机直接进行串口通信。通信芯片可以让上位机和下位机经过串口进行全双工通信。1.1.5九轴姿态传感器MPU9250作为低成本的惯性测量单元(IMU),具有快速响应、低功耗及成本低等特点ADDINNE.Ref.{14BA24E4-6A6B-464E-B266-5C9B535125DB}[6]。本文使用的姿态传感器芯片在STM32开发板上,机器人的位姿和运动状态主要由该芯片进行反馈。本文中MPU9250通过I2C协议与STM32芯片进行通信,STM32将3个IO接口初始化为I2C作为通信口。在接收到移动命令后,STM32会按照20hz的频率读取MPU9250的数据,并将数据封装成XYZ三轴的运动数据发送给树莓派。树莓派通过这些速度信息感知机器人的运动状态,并实时调整移动机器人的运动状态。1.1.6直流减速电机机器人选用MG513P30型号的直流减速电机,具有较大的减速比和扭矩。该电机工作电压为12V,额定电流0.36A,功率在4.3W左右。电机尾部带有霍尔编码器,通过霍尔元件读取电机轴上的霍尔码盘几何位移量,霍尔元件输出脉冲或数字量。输出通过AB两项输出方波信号,编码器自带了上拉电阻,所以可以直接由STM32的IO读取电平和脉冲信息。磁编码器比常用光电编码器相对稳定一些,适配的单片机比较多。1.1.7转向舵机机器人以阿克曼结构为运动底层,需要转向舵机控制阿克曼梯形特性的四连杆机构。通过STM32芯片IO控制,移动机器人的运动底层。1.3软件系统简介上位机作为机器人的决策核心是软件系统的核心。树莓派上位机搭载了ROS的Melodic版本。ROS是机器人的开源操作系统,它可以提供开发机器人软件程序的灵活软件框架。开发者可以在ROS中使用硬件抽象、底层设备控制等常用功能的实现,较少了重复编译机器人通用的底层代码工作。ROS系统提供了一套完成的工具和库,具有灵活的跨平台性能。可以在许多嵌入式设备上构建和运行机器人控制程序,节省了大量复杂的代码移植过程,可以实现功能模块分析并应用到不同机器人上,获得了机器人开发者的青睐ADDINNE.Ref.{A4AF007D-06DA-45A5-9756-0F2C13683839}[7]。ROS最开始来自斯坦福大学人工智能实验室的斯坦福人工智能机器人项目的一个部分,以及柳树车库机器人公司的个人机器人计划。构建了一套符合服务机器人和机器人移动操作领域的系统。ROS的哲学就是,点对点、工具为基础、支持多种开发语言、轻量化和免费且开源ADDINNE.Ref.{879F73AC-AB65-49C0-AE2D-513C151B13A8}[8]。本文机器人的开发中主要用到的是文件系统层次和计算图层次。本文中使用的ROS文件系统层次重要概念:包(packages):包是ROS整理和组织软件的主要单元。一个包包含ROS程序库、数据集、配置文件等,是ROS建立和分享的最小单元。消息(msg)类型:自定义的通信类型用于信息描述,存储在包的msg文件夹下的Message文件,定义了ROS的messages信息传输的数据结构。服务(srv)类型:自定义的通信类型用于服务描述,存储在包的srv文件夹下的services文件,定义了ROS的服务通信时的请求(request)和响应(response)相关的数据结构。ROS计算图层次包含以下重要概念:节点(nodes):节点主要执行计算处理。ROS被设计为细粒度的模块化系统,一个机器人控制系统通常由很多节点组成。Master:Master属于结点管理器。提供节点注册服务和查找计算图其余部分的中心节点。没有Master,节点将无法找到对方、交换信息或调度服务。参数服务器(ParameterServer):存储各种参数的字典。表2-3话题与服务通信区别表话题(Topic)服务(service)通信方式异步通信同步通信通信数据格式msg(m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026福建泉州台商投资区第八幼儿园招聘保育员笔试题库附参考答案详解(典型题)
- 2026江苏盐城市大丰区大中街道招聘公益性岗位3人模拟试卷附答案详解(夺分金卷)
- 2026重庆小蚂蚁人力资源服务集团有限公司招聘劳务派遣员工3人备考题库附答案详解AB卷
- 2026北京信息科技大学聘用编岗位招聘10人(第二批)备考题库含答案详解【研优卷】
- 护理员沟通技巧提升培训
- 2026福建泉州市南安市康美第一幼儿园招聘保育员1人模拟试卷附答案详解(基础题)
- 护理核心制度与护理教育
- (2026年)妇产科妊娠合并缺铁性贫血患者疾病诊断与护理课件
- 泌尿外科护理伦理与法规
- 护理部护理工作中的创新思维
- 临床大面积下肢皮肤脱套伤伴全身多处骨折合并失血性休克患者护理
- 跨越电力线路施工规范详细解析
- 保险消保工作汇报
- 中国农业大学《电子电路基础》2023-2024学年第一学期期末试卷
- 医院科研诚信培训课件
- DB5107∕T 059-2018 莴笋周年绿色高效生产技术规范
- 企事业单位住房指标转让合同范本
- DB11-T 1014-2021 液氨使用与储存安全技术规范
- 知识点2、化学式和化合价-2022年浙江省中考科学一轮复习化学部分
- T 3034-2022化工过程安全管理导则知识培训
- DB13-T 5871-2023 矿山地质环境恢复治理工程资料管理规程
评论
0/150
提交评论