自主导航机器人系统的制作方法

文档序号:17210482发布日期:2019-03-27 10:44阅读:126来源:国知局
自主导航机器人系统的制作方法
本发明涉及一种自主导航机器人系统,特别是涉及一种在室内外复杂环境中自主导航的机器人系统。
背景技术
:无人车的时代已经到来,但其硬件的高成本和安全性的不完全保证使它仍然不能被广泛使用,而自主导航技术的商业化应用也更多停留在固定的室内环境下。然而,虽然面临诸多问题,自主导航功能却是未来智能机器人的根本。机器人自主导航系统的研发将拥有广阔的市场空间。技术实现要素:有鉴于此,本发明提供了一种可自主导航的机器人系统,机器人在移动过程中,通过传感器感知自身状态和环境信息,构建地图并确定自己在地图中的位置,在障碍物众多且不断变化的情况下进行定位、路径规划、避障和移动。由于室外环境下光照、阴影、路面、障碍物类型等较于室内都更加复杂,本发明的设计方案在满足室外苛刻的环境要求时,也能够在室内运行。根据本发明的一方面,提供了一种自主导航机器人系统,包括:机器人主体,所述机器人主体包括四轮独立悬挂底盘,所述四轮独立悬挂底盘设置有两个驱动前轮以及两个万向后轮;传感器单元,用于感测所述机器人主体的姿态和环境信息;以及控制单元,用于根据来自所述传感器单元的信息,构建地图并在地图中定位、路径规划,并以双轮差速驱动方式控制两个驱动前轮进行避障和移动。在实施例中,所述机器人主体还包括:两个光电编码器,分别设置在所述两个驱动前轮的电机上,用于获取机器人的里程信息;两个电机及其驱动器,设置在所述两个驱动前轮之间,用于驱动所述驱动前轮转动;以及减速箱,设置在所述电机上,用于将所述电机的转速减少到目标速度。在实施例中,所述传感器单元包括:双目相机,设置在所述机器人主体上方,用于采集所述机器人系统所处环境的图像数据;惯性测量单元,设置在所述机器人主体的旋转中心处,用于测量所述机器人主体的姿态;以及激光雷达,设置在所述机器人主体的最顶端,用于探测障碍物,以辅助所述控制单元控制所述机器人主体躲避障碍。在实施例中,所述控制单元包括:中央处理器和图形处理器,用于处理所述传感器单元获取到的信息,结合所述信息对机器人运动轨迹进行决策,并向下位机发送速度控制命令,以控制所述两个驱动前轮行进,并且基于所述双目相机采集到的图像数据,运行即时定位与地图构建算法,以构建地图;以及下位机,用于向所述中央处理器和图形处理器传输由所述光电编码器记录的数值并且向电机驱动器发送速度命令。在实施例中,所述中央处理器和图形处理器运行即时定位与地图构建算法,对所述双目相机采集的每一张图像,提取特征点,将含有特征点信息的图像以及里程信息保存到数据库,并根据里程信息生成由图像构成的3d点云地图,以及将3d地图转换成2d地图。在实施例中,所述中央处理器和图形处理器还运行扩展卡尔曼滤波算法,以针对所述光电编码器和所述惯性测量单元进行数据融合,得到更准确的里程数据。在实施例中,所述中央处理器和图形处理器通过ros地图服务器,读取并且使用所述2d地图,利用读取到的地图信息,计算代价地图;根据所述机器人主体的起始位置和给定的目标位置,利用a*算法求出最短路径以作为导航的全局路径;以及使用滑动窗口算法来选择局部最优路径,在得出局部最优路径后,将该路径的速度信息作为控制信息发给所述下位机,以控制所述机器人主体完成相应的动作。在实施例中,所述滑动窗口算法根据当前速度、加速度以及想要预测的时间来对所述机器人主体将要行驶的路径进行打分,在打分时除了以全局路径作为局部规划的打分依据,还根据所述代价地图得出是否碰到障碍物、是否行驶到位置区域的信息,用于判断路径是否合理,以从所有路径中选择最优路径。在实施例中,当所述激光雷达探测到障碍物后,通过ros系统的话题机制将所述障碍物映射到地图中,以使得所述代价地图根据新添加的障碍物进行更新,并且在进行局部规划打分时在有新障碍物的基础上选择最优路径,以最优地躲开障碍物。在实施例中,所述中央处理器和图形处理器还运行即时定位与地图构建算法,以根据所述双目相机采集到的图像,找到该图像是否在地图数据库中,以及在地图数据库中的位置,从而确定机器人在实际地图中的位置。本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及说明书附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:图1示出根据本发明实施例的自主导航机器人系统的方框图;图2示出根据本发明实施例的自主导航机器人系统的远程控制架构示意图;图3示出根据本发明实施例的自主导航机器人系统的机器人主体的结构示意图;图4示出根据本发明实施例的自主导航机器人系统的控制单元的功能流程图;图5示出根据本发明实施例的自主导航机器人系统的控制单元的另一功能流程图;图6示出根据本发明实施例的自主导航机器人系统的控制单元构建地图的流程图;以及图7示出示出根据本发明实施例的自主导航机器人系统的控制单元进行导航的流程图。具体实施方式以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。同时,在以下说明中,出于解释的目的而阐述了许多具体细节,以提供对本发明实施例的彻底理解。然而,对本领域的技术人员来说显而易见的是,本发明可以不必用这里的具体细节或者所描述的特定方式来实施。图1示出根据本发明实施例的自主导航机器人系统的方框图。如图1所示,本发明的自主导航机器人系统包括:机器人主体,所述机器人主体包括四轮独立悬挂底盘,所述四轮独立悬挂底盘设置有两个驱动前轮以及两个万向后轮;传感器单元,用于感测所述机器人主体的姿态和环境信息;以及控制单元,用于根据来自所述传感器单元的信息,构建地图并在地图中定位、路径规划,并以双轮差速驱动方式控制两个驱动前轮进行避障和移动。图2示出根据本发明实施例的自主导航机器人系统的远程控制架构示意图。如图2所示,通过云服务器将机器人系统与其他计算机互联,从而进行远程通信,实现远程控制的功能。图3示出根据本发明实施例的自主导航机器人系统的机器人主体的结构示意图。如图3所示,采用四轮独立悬挂底盘,缓冲由不平路面传给底盘或机器人的冲击力,并衰减由此引起的震动,避免轮子悬空,保证码盘对轮子转动角度记录的有效性。驱动方式为双轮差速驱动,前两轮驱动。后轮使用万向轮。底盘四轮的独立悬挂,应用特质铰链加上减震器构成,前后轮均为橡胶充气轮,较刚性轮有较好的柔性,结合悬挂之后可轻松越过街道上常见的6-8cm高的减速带。底盘依靠铝制管材切割,焊接,搭建而成,成本较低,而且框架结构也使车体更轻,可随意安置电路元器件,改动更加容易。机器人主体的整车参数如下表所示。长宽高(mm)700*890*690轮半径(mm)75整备质量(kg)45最大速度(km/h)10加速度(km/s^2)10空载时连续工作时间:(h)>8在实施例中,机器人主体还包括:两个光电编码器,分别设置在所述两个驱动前轮的电机上,用于获取机器人的里程信息;两个电机及其驱动器,设置在两个驱动前轮之间,用于驱动机器人的驱动前轮转动;以及减速箱,设置在电机上,用于将电机转速减小到目标速度。在实施例中,传感器单元包括:双目相机,设置在机器人主体上方,用于采集所述机器人系统所处环境的图像数据;惯性测量单元,设置在机器人主体的旋转中心处,用于测量机器人主体的姿态;以及激光雷达,设置在机器人主体的最顶端,用于探测障碍物,以辅助所述控制单元控制所述机器人主体躲避障碍;如图1和2所示,在实施例中,控制单元包括:位于远程的中央处理器和图形处理器(cpu&gpu),用于处理所述传感器单元获取到的信息,结合所述信息对机器人运动轨迹进行决策,并向下位机发送速度控制命令,以控制所述两个驱动前轮行进,并且基于所述双目相机采集到的图像数据,运行即时定位与地图构建算法,以构建地图;以及下位机,用于向所述中央处理器和图形处理器传输由所述光电编码器记录的数值并且向电机驱动器发送速度命令。具体地,下位机包括以单片机stm32f407为核心的pcb,用于当接收到上位机(即cpu&gpu)最终决策得到的左右轮速度后,实现速度闭环控制的两轮差速驱动。根据整车参数计算电机所需扭矩及功率,适当考虑风阻后选择48v,40ah的电动车电池、48v/200w直流无刷电机及带霍尔传感器及光电编码器接口的驱动器,该驱动器自带pid控制。pcb自行绘制,板的设计主要包括电源系统,测试电路,为主机/电机驱动/光电编码器/超声波传感器定制的外设接口,核心芯片重要引脚的备用接口以及提供了电机驱动的多种控制方式接口(包括pwm波以及485速度控制接口)。板上的电源系统主要包括12v电源输入,12-5v和5-3.3vdc-dc转换,上位机与下位机通信所用串口的隔离和电平转换,电源滤波及测试电路。其中12v电源输入将设计防反接电路,电源反接指示灯不亮,不会对pcb板造成伤害;主控芯片与电机驱动之间的隔离采用tlp281-4光耦,对电机及编码器的每一路控制信号进行了隔离,防止外设在意外状况下产生的大电流对主控芯片产生影响;上位机与下位机通信的串口使用adm3251将rs232电平转换为ttl电平,该芯片带有全磁隔离,当该串口用于与其他大电流外设通信时将不会对主控芯片造成影响;此外,该pcb板对总电源输入及电压转换后的各输出均进行滤波,保证电源纹波稳定低于100mv。pcb板的外设接口包括两个光电编码器接口(4pin绿色端子),两个电机pwm波控制信号接口(5pin绿色端子),一个上位机与下位机通信用串口(9针串口),10个带4.7k上拉电阻的i2c接口(2510白色线座,主要用于超声波传感器)以及一些备用接口。各类接口互不相同,可有效防止错接。此外,因为车身体积有限,为使pcb板容易接线,所有接口均设计为立式。图4示出根据本发明实施例的自主导航机器人系统的控制单元的功能流程图。图5示出根据本发明实施例的自主导航机器人系统的控制单元的另一功能流程图。具体地,机器人通过单片机向驱动器发送目标速度命令实现对机器人的控制。机器人的编码器数值由单片机进行记录,并以50ms一次的周期发送给上位机。单片机上电启动时,会向驱动器发送命令,分别对左右两轮的驱动器进行使能modbus,读取驱动器工作状态,设置电机加速度的初始化操作。然后,程序进入主循环,单片机的tim2和tim4定时器分别进行左轮和右轮两个编码器的计数。tim5被配置为50ms进一次中断,在该中断服务程序中将当前编码器数值发送给上位机。同时,预设串口如果收到来自上位机的数据,则会触发中断,进入命令接收函数。在该函数中判定接收到的数据是否符合预定义的协议格式,并进行校验。如果该命令校验成功,则将其转换为驱动器支持的命令格式发送给驱动器,控制器机器人运动。下表示出速度控制命令格式以及编码器信息格式的示例性实施例。速度控制命令格式编码器信息格式上位机与下位机之间使用usb转rs232线连接,两者之间定义了精简、高效且完备的通信协议,用于上位机向单片机发送速度控制命令,及单片机向上位机传输编码器信息。图6示出根据本发明实施例的自主导航机器人系统的控制单元构建地图的流程图。slam(simultaneouslocalizationandmapping),即时定位与地图构建,是机器人导航离不开的。slam算法众多,根据传感器的类型分为使用摄像机的vslam和使用激光雷达的slam。由于单线激光雷达不适用于室外的空旷环境,多线激光雷达又比较昂贵,所以选择成本低、适合室外环境的双目相机作为slam的传感器。在vslam中又有很多种算法,这些算法各有利弊,最终选择比较适合双目相机并且重定位效果不错的rtabmap(一种开源的的算法)。在建图过程中,需要遥控机器人在位置的区域上行驶,机器人根据双目相机采集到的数据进行建图。首先对每一张图像,提取出图像中的特征点,rtabmap可以使用的特征点并不是唯一的,可以根据实际的需求选择合适的特征点。提取出特征点以后,将含有特征点信息的图像保存到数据库,和图像一起保存的还有机器人的里程信息,也就是机器人相对于起点走过的距离和方向。在遥控机器人行驶的过程中,相机不断地采集图像,不断地进行特征点地提取和保存,并根据里程信息生成一个由图像构成的3d点云地图。在机器人行驶完一圈,再次到达起点时,算法会将当前位置提取的特征与数据库中的图像进行对比,如果匹配到特征相似的图像,则代表这个地方已经来过了。之后算法会将两张图像对应的位置合并到一起,并对此之前建成的地图进行优化,从而让地图更符合实际环境。最后,3d地图构建完成后,还可以将3d地图转换成2d地图,3d地图是重定位所必需的,而2d地图则提供给导航模块使用。在优化方面,使用扩展卡尔曼滤波算法对光电编码器和惯导进行数据融合,得到更准确的里程数据,并用此数据替换rtabmap中的视觉里程计。这样不仅消除了由于视觉里程计计算量大导致的资源占用问题,而且极大地提高了建图过程的稳定性。图7示出示出根据本发明实施例的自主导航机器人系统的控制单元进行导航的流程图。通过ros(一种机器人操作系统)的地图服务器,对slam部分构建的2d地图进行读取并使用,地图中包含三种颜色,其中白色代表可通行,黑色代表障碍物,灰色代表未知区域。利用读取到的地图信息,进行代价地图的计算。首先将地图划分为数个栅格,每个栅格有自己独立的标号,然后根据栅格距离障碍物的远近计算每个栅格的代价值。在导航时,首先根据机器人的起始位置(通过视觉重定位自动获取)和给定的目标位置,利用a*算法(一种求最短路径的算法)求出最短路径。这条路径将作为机器人导航的全局路径。然后,使用滑动窗口算法进行局部最优路径的选择。滑动窗口算法会根据当前速度、加速度以及想要预测的时间来对机器人将要行驶的路径进行打分,然后从所有路径中选择最好的路径。打分时除了以全局路径作为局部规划的打分依据,还要根据代价地图得出是否会碰到障碍物,是否会行驶到位置区域等信息,用于判断路径是否合理。得出最优的局部路径后,将这条路径的速度信息作为控制信息发给下位机,下位机收到指令后控制机器人完成相应的动作。导航的另一个重要作用,是根据激光雷达来进行动态障碍物(行人、车辆等)的躲避。当雷达探测到障碍物后,ros系统的地图服务器(负责地图相关的软件模块)会根据雷达的距离信息将障碍物映射到地图中,这时代价地图会根据新添加的障碍物进行更新。之后局部规划在打分是会在有新障碍物的基础上选择最优路径,从而以最好的方式躲开障碍物。在导航算法的优化方面,根据实际测试时出现较多的问题,对导航的部分逻辑进行了改进。首先在动态窗口算法中加入了转向时的方向选择和保护,不仅能防止机器人在原地转向时的摇摆不定,也可以让机器人选择较近的方向旋转,而不是总朝一个方向旋转。其次在采样空间以外加入了向后行驶的速度,让机器人可以在左右前方被卡住的时候向后倒退,达到快速脱困的目的。在解决掉这些问题之后,机器人的导航过程已经基本完善,可以十分顺畅地完成路径规划、避障、脱困等,在实际测试中表现出了很好的效果。重定位(建图之后导航时确定机器人在地图中的位姿):重定位实际上是rtabmap的一部分,主要作用是根据当前相机采集到的图像,找到这张图像是否在数据库中,以及在数据库中什么位置。这个模块本身是用于建图过程中的回环检测,以对建好的地图进行优化。本发明中,在了解了重定位的原理之后,对其进行调整,使其不但可以在建图时使用,也可以让其在导航过程中发挥同样的作用。这样不仅可以让机器人开机便能找到自己在地图中的位置,也可以在导航过程中不断地纠正机器人的位置,极大地减少了行驶过程中的累计误差,从而使导航时刻保持准确。综上所述,本发明提供了一种自主导航机器人系统,其针对校园及社区环境设计机械结构及电路,稳定性高,适应性强。环境较城市道路更加简单,不容易出现安全问题。机械结构能够保证前轮始终着地,为机器人定位提供更可靠的编码器返回数据。pcb设计稳定性更高,接口更可靠。使用多传感器融合的方式代替昂贵的多线激光雷达。根据详细计算定制了带有光电编码器的直流无刷电机及其驱动器,使用485通信方式,在单片机控制时构成一次速度闭环。采用光电编码器与关心测量单元(imu)的融合信息代替视觉里程计作为rtabmap的里程计信息输入,提高了里程计的稳定性和实时性,并大幅度降低了上位机的计算量。改进ros提供的导航包ros_navigation的避障逻辑及导航措施,添加了后退机制,解决了自主导航机器人普遍存在的遇到障碍物原地打转、逃脱时撞障碍等问题,安全性、稳定性都得到明显提升。将视觉重定位与传感器融合定位结合,减小光电编码器与惯导传感器的定位误差。将机器人自主导航与远程控制结合,使用云服务器技术,当机器人在行驶过程中导航错误可以使用远程控制避免事故。结合深度学习与计算机视觉,可以通过摄像头精确识别出各种障碍物及人体、人脸,并作出相应的声音提示或操作,极大地提高了智能化程度。另外,室内外自主导航机器人系统降低了硬件加工成本,生产效率提高;同时在室内外的使用可以在更大范围内解放人力。可应用快递最后一公里无人配送、智能工厂的货物运输和搬送、有较好的人机互动体验。应该理解的是,本发明所公开的实施例不限于这里所公开的特定处理步骤或材料,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。说明书中提到的“实施例”意指结合实施例描述的特定特征、或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“实施例”并不一定均指同一个实施例。本领域的技术人员应该明白,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域的技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom或
技术领域
内所公知的任意其它形式的存储介质中。虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属
技术领域
内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的保护范围,仍须以所附的权利要求书所界定的范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1