首页> 中国专利> 自主定位导航设备、定位导航方法及自主定位导航系统

自主定位导航设备、定位导航方法及自主定位导航系统

摘要

本发明的目的是提供一种自主定位导航设备,包括:第一传输装置与所述宿主设备的底层装置进行数据通信,以获取底层定位导航相关信息和发送用于控制所述宿主设备运动的运动控制命令;第二传输装置与所述宿主设备的上层装置进行数据通信,以获取上层定位导航相关信息和发送用于所述宿主设备进行业务逻辑分析的运动相关逻辑数据;处理装置获取若干传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息,并生成所述运动相关逻辑数据和所述运动控制命令。能够降低与宿主设备的耦合度、提高灵活度,并使宿主设备具有更简洁、清晰的设备构成,极大的降低了具有自主定位导航设备的宿主设备的开发难度和时间周期,能够使宿主设备的体积化更小。

著录项

  • 公开/公告号CN106323269A

    专利类型发明专利

  • 公开/公告日2017-01-11

    原文格式PDF

  • 申请/专利权人 上海思岚科技有限公司;

    申请/专利号CN201510916639.9

  • 申请日2015-12-10

  • 分类号G01C21/00(20060101);

  • 代理机构上海百一领御专利代理事务所(普通合伙);

  • 代理人甘章乖;周建华

  • 地址 201203 上海市浦东新区张江高科技园区郭守敬路498号8幢19405B室

  • 入库时间 2023-06-19 01:22:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-03-31

    专利权质押合同登记的生效 IPC(主分类):G01C21/00 专利号:ZL2015109166399 登记号:Y2023310000067 登记生效日:20230316 出质人:上海思岚科技有限公司 质权人:兴业银行股份有限公司上海浦东支行 发明名称:自主定位导航设备、定位导航方法及自主定位导航系统 申请日:20151210 授权公告日:20190607

    专利权质押合同登记的生效、变更及注销

  • 2019-06-07

    授权

    授权

  • 2017-02-08

    实质审查的生效 IPC(主分类):G01C21/00 申请日:20151210

    实质审查的生效

  • 2017-01-11

    公开

    公开

说明书

技术领域

本发明涉及机器人领域,尤其涉及一种定位导航的技术。

背景技术

自主定位导航功能是实现服务机器设备实用化的关键,它允许机器人在没有人为辅助的情况下,自主地通过传感器数据构建出所在环境的地图信息,并实时进行环境位置的定位。进一步的,利用构建的地图数据和位置信息进行导航,机器人需要智能的规划处路径前往任务规定的目标地点,并且有效的规避环境中的行人、家具等障碍物。

目前上述自主定位导航功能在业内是分别通过同步定位导航算法(SLAM,Simultaneous localization and mapping)以及运动规划(Motion Planning)算法进行实现。同步定位导航算法允许机器人在任意未知环境中通过特定传感器数据,边建立地图的同时边实时定位,是目前自主定位导航中最为有效的算法。而为了让机器人展开行动,就需要采用某种运动规划算法进行机器人运动轨迹的规划并在行动中让机器人动态的规避各种障碍物,安全抵达目的地。

然而,目前在服务机器人中直接运行上述算法存在较多的挑战。首先,由于这类算法与机器人本身的实现存在高度耦合性,目前世面上尚不存在一个通用的,在不做出修改即可运行在任意机器人中的现成算法实现。这就导致机器人开发人员必须针对不同的机器人重新设计开发上述的同步定位导航和运动规划算法。然而,要实现这类算法要求开发人员具有比较深厚的理论功底,并且实现过程复杂繁琐耗时,因此只有少数的有实力厂家和学术机构有能力直接在自家机器人当中有效的使用自主定位导航算法。ROS(Robot Operating System)是目前行业内对这类通用型算法实现做的一次尝试,它将各算法模块作为独立接口的模块,方便开发人员使用。但由于ROS仅仅是软件层面的系统,并且不具有与具体机器人系统底层和上层协作的能力,因此它并不能缓解上述对于这类算法的使用难度问 题。另一方面,由于这类算法自身的复杂性,目前即使主流的计算机系统在运行这类算法时也具有较大的负载压力。而要将这类算法高效的运行于采用较低运算性能的嵌入式计算系统的服务机器人当中,就必须要要求开发人员对现有的算法做出一定的优化实现,这更进一步的加大了直接使用这类算法的难度。其次,为了进行地图绘制、实时定位以及障碍物规避,开发人员必须为机器人配备多种传感器,用于给上述算法提供数据。而各类传感器的性能差异,校正效果的好坏也很大的影响着导航定位算法的执行效果。

由于上述现状,目前自主定位导航功能难以被广大的服务机器人中所采用。如今世面上出现的具有自主定位导航的机器人往往被大型实力企业和研究机构占领,并且由于系统的高度耦合性和异化,导致目前的机器人软件系统难以在不同机器人之间重复使用,这极大的阻碍了服务机器人的产业化进程。

为解决该现状最直接的途径是将定位导航功能实现为独立的模块化系统,将广大服务机器人开发人员的工作负担从重复实现导航定位算法中解放出来。然而,现有的实现难以在可扩展灵活性与外部系统耦合度之间找到平衡点。对于可以快速整合进入机器人的导航定位设备,往往功能较为固定单一,用户难以在其基础上扩展出自身所需要的功能。而具有较大扩展灵活度的设备,也会因为与机器人系统存在较大的外部依赖,在整合过程中存在很大的技术难度。

产生该问题的根源在于这类定位导航算法对于不同机器人平台中的传感器配置、机器人外形尺寸、驱动模式都具有很大的依赖度。即自主定位导航设备与机器人宿主设备存在很高的耦合度。这种耦合度将导致作为宿主的机器人系统的开发人员需要为适配一个自主定位导航设备做出较多的准备工作。此外,由于机器人的具体工作行为是受该机器人的用途定义的,比如清扫机器人要求在运动规划算法能够进行沿着墙壁边沿行走随后进行弓字形往复行走的路径规划模式,而一个安防巡逻机器人却要求机器人以尽可能少的代价对环境完成一次巡逻任务。目前尚没有一个自主定位导航设备可以很好的处理这种业务逻辑的差异化。

发明内容

本发明的一个目的是提出高度模块化的自主定位导航设备、并基于自主定位导航设备实现定位导航方法及基于所述自主定位导航设备实现的自主定位导航系统,以降低自主定位导航设备对宿主设备的依赖、并提高自身的可扩展性。

为实现上述目的,根据本申请一方面提供的一种自主定位导航设备,所述自主定位导航设备用于对宿主设备进行定位导航,所述自主定位导航设备包括:第一传输装置、第二传输装置和处理装置;其中,

所述第一传输装置与所述宿主设备的底层装置进行数据通信,以获取底层定位导航相关信息和发送用于控制所述宿主设备运动的运动控制命令;

所述第二传输装置与所述宿主设备的上层装置进行数据通信,以获取上层定位导航相关信息和发送用于所述宿主设备进行业务逻辑分析的运动相关逻辑数据;

所述处理装置获取若干传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息,并生成所述运动相关逻辑数据和所述运动控制命令。

根据本申请另一方面提供的一种利用自主定位导航设备进行定位导航的方法,其中,所述自主定位导航设备用于对宿主设备进行定位导航,所述自主定位导航设备包括处理装置、第一传输装置和第二传输装置;其中,所述方法包括:

A所述第一传输装置从所述宿主设备的底层控制装置获取底层定位导航相关信息,所述第二传输装置从所述宿主设备的上层控制装置获取上层定位导航相关信息;

B所述处理装置获取若干传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息,并生成用于控制所述宿主设备运动的运动控制命令和用于所述宿主设备进行业务逻辑分析的运动相关逻辑数据;

C所述第一传输装置将所述运动控制命令发送至所述宿主设备的底层 控制装置,所述第二传输装置将所述运动相关逻辑数据发送至所述宿主设备的上层控制装置。

根据本申请再一方面提供的一种定位导航的方法,其中,所述方法包括:

a获取宿主设备的底层定位导航相关信息和上层定位导航相关信息;

b获取若干传感信息,并对若干所述传感信息进行预处理和预融合;

c基于所预处理和预融合的若干所述传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息生成用于控制所述宿主设备运动的运动控制命令和用于所述宿主设备进行业务逻辑分析的运动相关逻辑数据;

d将所述同步定位数据、所述地图数据、所述运动规划逻辑数据和所述运动控制命令发送至所述宿主设备。

根据本申请还一方面提供的一种自主定位导航设备,其中,所述自主定位导航设备包括:

第一装置,用于获取宿主设备的底层定位导航相关信息和上层定位导航相关信息;

第二装置,用于获取若干传感信息,并对若干所述传感信息进行预处理和预融合;

第三装置,用于基于所预处理和预融合的若干所述传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息生成用于控制所述宿主设备运动的运动控制命令和用于所述宿主设备进行业务逻辑分析的运动相关逻辑数据;

所述第一装置还用于将所述同步定位数据、所述地图数据、所述运动规划逻辑数据和所述运动控制命令发送至所述宿主设备。

与现有技术相比,根据本申请的实施例,本申请所述自主定位导航设备具有高度模块化,极大的降低了与宿主设备的耦合度、便于快速整合进入现有的宿主设备并可灵活扩展的优点。从而使得机器人等宿主设备具有更简洁、清晰的系统构成,极大的降低了具有自主定位导航设备的宿主设备的开发难度和时间周期。并且得益于自主定位导航设备的高度模块化, 使得宿主设备的小体积化成为可能。

进一步地,所述自主定位导航设备通过归纳了大部分自主定位导航设备所需要的传感信息依赖,将对若干传感信息的处理集成到自主定位导航设备本身,因此降低了与宿主设备的耦合程度。

进一步地,所述自主定位导航设备通过第一传输装置和第二传输装置,形成具有高度灵活性的统一外部通讯接口和协议规范,使得任何符合该接口协议规范的宿主设备均可轻松实现与自主定位导航设备1的对接并实现功能的扩展。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1示出根据本申请一方面提供的一种自主定位导航设备与宿主设备的配合结构示意图;

图2示出根据本申请一优选实施例中一种自主定位导航设备的结构示意图;

图3示出根据本申请一优选实施例中一种自主定位导航设备的第一传输装置与宿主设备的底层控制装置的配合过程中数据传输示意图。

图4示出根据本申请另一方面提供的一种自主定位导航设备的定位导航方法;

图5示出根据本申请一优选实施例提供的一种自主定位导航设备与宿主设备的配合结构示意图。

图6示出根据本申请一优选实施例提供的一种自主定位导航设备与宿主设备的配合结构示意图。

图7示出根据本申请再一优选实施例提供的一种自主定位导航设备与宿主设备的配合结构示意图;

图8示出根据本申请一优选实施例提供的一种定位导航方法。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本发明作进一步详细描述。

本申请旨在提出一种高度模块化的自主定位导航设备及自主定位导航设备,以降低对宿主设备的依赖、并提高自身的可扩展性。

图1示出根据本申请一方面提供的一种自主定位导航设备与宿主设备的配合结构示意图,其中,所述自主定位导航设备1用于为宿主设备2提供定位导航功能,所述自主定位导航设备1包括:第一传输装置11、第二传输装置12、处理装置13。

其中,所述第一传输装置11与所述宿主设备2的底层控制装置进行数据通信,以获取底层定位导航相关信息和发送用于控制所述宿主设备2运动的运动控制命令;所述第二传输装置12与所述宿主设备2的上层装置进行数据通信,以获取上层定位导航相关信息和发送用于所述宿主设备2进行业务逻辑分析的运动相关逻辑数据;所述处理装置13获取若干传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息,并生成所述运动相关逻辑数据和所述运动控制命令。

在此,所述宿主设备2可以是自动执行工作的机器装置,例如机器人等。所述宿主设备2既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动,以协助或取代人类的工作。其中,所述宿主设备2具有处理业务逻辑、分析制定行动目标的上层控制装置,还具有驱使执行机构运动的底层控制装置,即能够按照控制设备发出的控制信号,借助于动力元件使宿主设备2进行各种动作,其中,输入的控制信号是电信号,输出的是线、角位移量。所述宿主设备2使用的驱动装置可以是电力驱动装置(机械轮组),如步进电机、伺服电机等,此外也可以是采用液压、气动等驱动装置等。优选地,所述自主定位导航设备1搭设于所述宿主设备2上。

在此,所述底层定位导航相关信息可以包括所述宿主设备2的轮组状态信息,此外还可以包括宿主设备2的参数信息,所述上层定位导航相关信息可以包括所述宿主设备2需要进行运动规划的请求和/或所述宿主设备2需要其底层控制装置进行运动控制的请求,所述运动相关逻辑数据包 括地图数据、同步定位数据及运动规划逻辑数据。

具体地,第一传输装置11与宿主设备2的与所述宿主设备2的底层装置进行数据通信,以获取底层定位导航相关信息和发送用于控制所述宿主设备2运动的运动控制命令。所述第一传输装置11(控制信号接口)主要用于获取所述宿主设备2的底层运作状态,比如电机工作情况、轮组编码器数据,同时自主定位导航设备1对于宿主设备2的运动控制命令也通过所述第一传输装置11进行发送。

其中,所述自主定位导航设备1与所述宿主设备2在所述第一传输装置11中采用预先定义的统一通讯协议交换数据。所述第一传输装置11在实现上优选地采用UART串口(通用异步收发传输器,Universal Asynchronous Receiver Transmitter),因为UART串口被几乎所有的单片机和嵌入式设备所支持,所述宿主设备2仅需要实现预先定义好的通讯协议的处理,即可实现自主定位导航设备1与所述宿主设备2的协作,从而可以最大限度的方便宿主设备2与自主定位导航设备1的整合。此外,根据具体应用需求,诸如CAN总线(Controller Area Network,CAN)、SPI总线(串行外设接口,Serial Peripheral Interface)、I2C总线等同样可以完成控制信号通讯的接口形式也可被使用于所述第一传输装置11。此外,一个自主定位导航设备1上还可以包含任意多个、任意多种不同类型物理接口实现上述的控制信号所述第一传输装置11。

进一步地,为了适应更多不同类型的传感器,所述第一传输装置11上还定义了一种抽象化的外部传感器数据获取协议,可以实现对于任意类型传感器的支持。

在一优选的实施例中,所述第一传输装置11传递的协议数据类型包括:从所述宿主设备2向所述自主定位导航设备1发送的宿主设备2的参数信息、轮组状态信息和宿主设备2传感信息,以及从所述自主定位导航设备1向所述宿主设备2发送的运动控制命令,所述宿主设备2的参数信息描述了宿主设备2的相关的配置参数,例如但不限于设备尺寸、驱动模式、安装的传感器种类以及位置等;所述轮组状态信息描述宿主设备2的各轮组运转数据,例如但不限于里程计信息;所述宿主设备2传感信息描 述宿主设备2上装备的希望自主定位导航设备1处理的额外传感器的抽象数据定义描述宿主设备2上装备的希望自主定位导航设备1处理的额外传感器的抽象数据定义;所述运动控制命令描述了定位导航识别期望宿主设备2进行移动的描述。所述运动控制命令包括自主定位导航设备1期望宿主设备2进行移动的描述。

图3示出根据本申请一优选实施例中一种自主定位导航设备1的第一传输装置与宿主设备2的底层控制装置的配合过程中数据传输示意图。在自主定位导航设备1开始运作的时刻,宿主设备2需要首先向自主定位导航设备1提供包含了自身信息相关的宿主设备2的参数信息,宿主设备2的参数信息用于描述当前宿主设备2的平台特性,比如自身的尺寸信息,驱动模式(两轮差分驱动/全向轮结构等),外置传感器(即外置传感器)安装的位置和角度以及如额外装配了其他传感器,则需要在此时将这类传感器的相关描述信息提供给自主定位导航设备1。

在收到了宿主设备2的参数信息之后,自主定位导航设备1将进行必要的初始化工作来适配当前的宿主设备2。随后,自主定位导航设备1将定期向宿主设备2发送所述运动控制命令。所述运动控制命令用于描述自主定位导航设备1下一刻期望宿主设备2进行移动的模式。对于采用双轮差分驱动的机器人而言,所述运动控制命令可以是左右轮组期望的运转速度量,对于采用万向轮方式的机器人,则所述运动控制命令可以是机器人下一时刻进行平移和转动的线速度(v)和角速度(w)。在自主定位导航设备1定期发送所述运动控制命令的同时,宿主设备2也需要定期向自主定位导航设备1发送描述自身运动情况的轮组状态信息。该信息一般包含了宿主设备2相对于上一时刻的位移量和航向角的变化量。而对于采用双轮查分驱动的宿主设备2,所述轮组状态信息可直接发送左右轮的累计转动圈数或者是累计行进的里程计信息。

与此同时,如果宿主设备2中如安装了一个或多个额外的传感器,也可定期向自主定位导航设备1发送宿主设备2传感信息,其中包含了具有统一定义的传感器数据描述信息。自主定位导航设备1可通过接受该传感器数据描述信息对额外的外部传感器进行处理,从而扩充自身的功能。

本领域技术人员应能够理解,上述数据是为了确保自主定位导航设备1正常运作所必须通过所述第一传输装置11传递的最小数据类型集合,仅为自主定位导航设备1的所述第一传输装置11和宿主设备2的底层控制装置21之间的通信过程中所传输的数据的优选的举例,为了扩充和增强自主定位导航设备1功能,在具体实现当中也可新增多种额外的数据协议类型,其他可能适用于本申请的适用在自主定位导航设备1的所述第一传输装置11和宿主设备2的底层控制装置21之间传输数据类型,仍可用引用的方式包含于此。

进一步地,所述第二传输装置12与所述宿主设备2的上层控制装置连接以进行数据通信。所述第二传输装置12(高速信号接口)用于实现自主定位导航设备1和宿主设备2的上层控制装置的数据交互工作,例如地图数据、定位坐标以及控制路径规划数据和宿主设备2行为数据传输等与业务逻辑相关的协作数据均通过所述第二传输装置12进行传输。

所述第二传输装置12在实现上优选地采用802.11规范的以太网接口,实现与外部宿主设备2进行大数据吞吐的通讯。随着应用需要,所述第二传输装置12也可包含WIFI无线通讯接口、USB接口、光纤接口等同样可以实现大数据量交互的通讯方式。此外,随着具体实现需求不同,高速信号接口中可以包含多组以太网接口、多种不同类型的接口形式:例如同时具有有线的以太网接口以及无线的WIFI接口。

在一优选的实施例中,所述第二传输装置12负责传输从自主定位导航设备1到所述宿主设备2的上层控制装置的地图数据、包括位置姿态信息和定位状态信息的同步定位数据及包括运动状态信息的运动规划逻辑数据,以及从宿主设备2到自主定位导航设备1的上层控制装置的运动执行请求、底层运动控制请求。其中,所述地图数据包括由自主定位导航设备1构建的特定区域的地图数据;所述位置姿态信息包括由自主定位导航设备1计算得到的当前宿主设备2的空间位置和姿态信息;所述定位状态信息包括由自主定位导航设备1计算得到的地图尺寸、定位状态(如协方差、是否成功定位);所述运动状态信息包括当前自主定位导航设备1正在执行的运动规划算法信息,例如但不限于比如正在进行路径规划时刻的规 划路径;所述运动执行请求包括宿主设备2要求自主定位导航设备1执行的内置运动规划算法的请求包;底层运动控制请求包括所述宿主设备2要求自主定位导航设备1直接控制宿主设备的底层系统进行运动的请求包,比如例如但不限于请求控制机器人前往特定目的地。

具体地,所述地图数据描述了宿主设备2所感兴趣的地图数据信息。该地图数据总是位于由自主定位导航设备1预先构建的环境地图中的一部分。宿主设备2可随自身需要,随机的向自主定位导航设备1获取该数据。所述位置姿态信息包含了由自主定位导航设备1计算得到的宿主设备2当前的位置坐标和姿态信息。例如,对于采用激光雷达进行二维环境移动的轮式机器人而言,该信息可以为机器人在平面内的坐标(x,y)以及航向角θ。宿主设备2可随自身需要,随机的向自主定位导航设备1获取该数据,也可以由自主定位导航设备1主动地向宿主设备2推送该数据。所述定位状态信息用于描述自主定位导航设备1目前进行定位和地图构建的工作情况。其包含的信息包含目前已经构建的地图总尺寸、定位精度信息、定位是否成功以及其他被宿主设备2所必要的数据集合。宿主设备2可随自身需要,随机的向自主定位导航设备1获取该数据,也可以由自主定位导航设备1主动地向宿主设备2推送该数据。所述运动状态信息描述了目前自主定位导航设备1正在进行的运动规划算法的执行情况。比如当前正在工作的运动规划算法的类型(空闲、路径规划、自主返回充电等)、已规划的通往目标地点的路径数据、要求宿主设备2进行的运动控制量等信息。宿主设备2可随自身需要,随机的向自主定位导航设备1获取该数据,也可以由自主定位导航设备1主动地向宿设备2统推送该数据。所述运动执行请求用于宿主设备2向自主定位导航设备1发起一个内置于自主定位导航设备1内部的运动规划算法的相关描述数据。一般实现中包含了宿主设备2希望执行的运动规划算法的类型(停止所有动作、路径规划、自主返回充电等)、相关的参数(目标地点坐标、移动速度等)。该信息由宿主设备2主动向自主定位导航设备1发起。所述底层运动控制请求用于宿主设备2通过自主定位导航设备1直接向宿主设备2的底层控制装置21下达运动相关的控制命令请求。该数据包用于实现对于自主定位导航设备1内 部现有运动控制算法的逻辑改写和扩充。一般实现中,该请求可以实现宿主设备2直接进行特定速度的前进、后退、旋转等底层的运动。对于双轮差分驱动的机器人,底层运动控制请求也可以包含对于左右轮电机转速的直接控制数据。

本领域技术人员应能够理解,上述自主定位导航设备1的第二传输装置12和宿主设备2的上层控制装置22之间的通信过程中所传输的数据为优选的举例,包括应该支持的最小数据包协议的集合,其他可能适用于本申请的适用在自主定位导航设备1的第二传输装置12和宿主设备2的上层控制装置22之间传输数据类型,仍可用引用的方式包含于此。

本申请所述自主定位导航设备1通过所述第一传输装置11和所述第二传输装置12协作,明确了自主定位导航设备1与宿主设备2之间的通讯规范和依赖关系,所述自主定位导航设备1与所述宿主设备2的交互和数据依赖均发生在所述第一传输装置11和所述第二传输装置12其中一条通讯接口链路上。

进一步地,所述处理装置13获取若干传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息,并生成所述运动相关逻辑数据和所述运动控制命令。具体地,所述处理装置13基于若干所述传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息生成地图数据和同步定位数据,并基于所述同步定位数据、所述地图数据及所述宿主设备2的上层定位导航相关信息生成运动规划逻辑数据和所述运动控制命令。

进一步地,所述第一传输装置11还可以从所述宿主设备2的底层控制装置获取宿主设备2自有传感器的宿主设备2传感信息,所述处理装置13可以结合宿主设备2传感信息和若干所述传感信息进行数据处理,具体地,所述第一传输装置11还从所述宿主设备2的底层控制装置获取宿主设备2传感信息;所述处理装置13基于所述宿主设备2传感信息、若干所述传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息生成所述宿主设备2的运动控制相关信息。

优选地,所述底层定位导航相关信息还包括所述宿主设备2的参数信 息;在自主定位导航设备1和宿主设备2进行初始化的阶段,所述第一传输装置11获取所述参数信息,所述处理装置13还基于所述参数信息生成运动初始控制命令,所述第一传输装置11将所述运动初始控制命令发送至所述宿主设备2的底层装置。

进一步地,所述自主定位导航设备1还包括内置传感器14和外置传感器15;其中,所述处理装置13从所述内置传感器14和外置传感器15获取若干所述传感信息。

在优选的实施例中,所述内置传感器14包括至少以下任一项:陀螺仪、加速度传感器、电子罗盘、温度传感器、湿度传感器、气压传感器。所述外置传感器包括至少以下任一项:激光雷达、声呐雷达、视觉传感器、UWB信标传感器。

在此,所述内置传感器13是集成在自主定位导航设备1内部的一系列传感器。所述内置传感器14在实现上可以包含采用MEMS技术的陀螺仪、加速度计、电子罗盘等惯性导航传感器,以及温度传感器、湿度传感器、气压传感器等传感器中的一种或几种的组合。所述内置传感器14的特点是可以在物理集成安装上直接放置于自主定位导航设备1中,例如所述自主定位导航设备1内部的PCB上等,无需外部宿主设备2的协助即可自行采集相关的内置传感信息。此外,随着具体的实现和应用需求不同,内置传感器13可以包含更多不同类型的传感器。

所述内置传感器14所获取的内置传感信息可以用于确定当前自主定位导航设备1所处于环境的俯仰角、翻滚角、航向角、高度信息、环境温度以及湿度等,以便于所述处理装置13进行宿主设备2的姿态解算任务。

在此,所述外置传感器15优选地包括激光雷达、视觉传感器(摄像头等)、UWB(Ultra-Wideband)信标传感器等一种或几种组合,具体地选择与自主定位导航设备1中具体运行的算法有关。随定位导航算法的不同,可能会包含多个、多种不同类型的外置传感器15。例如,为了增加定位和地图构建效果,一个自主定位导航设备1内可以同时采用多个激光雷达以及多个视觉传感器部件。外置传感器15与内置传感器13的区别在于前者需要在外部环境进行直接的测量和观测,因此无法像内置传感器13那样 在物理安装上直接放置于自主定位导航设备1内部,而必须裸露在外部,以方便直接测量物理环境。所述外置传感器15的安装的位置和角度、及额外装配了其他传感器的相关描述信息,在所述自主定位导航设备1初始化阶段通过所述第一传输装置11传输。

在本申请优选的实施例中,在具体的硬件设备实现上,上述部分装置可能会随着所述自主定位导航设备1的具体硬件芯片的选择,在物理上被设计成同一个芯片内,也可能同一个部件是由多个不同的分立硬件所构成的。此外,为了让设备运行,在具体实现上也会增加额外的功能单元,比如内部的供电管理装置,但这些部分并不是构成本发明自主定位导航设备1所必须的硬件单元。

在优选的实施例中,所述处理装置13主要用于运行自动定位导航相关的算法,例如包含但不限于:同步定位与建图(SLAM)、路径规划算法、障碍物躲避算法以及对内置传感器数据进行机器人空间姿态解算的算法。在实现上,所述处理装置13可以由一个或者多个计算机系统所构成,也可以是专用ASIC芯片(Application Specific Integrated Circuit)或者FPGA芯片(Field-Programmable Gate Array)等纯硬件化实现。当采用通用的计算机系统实现时,该单元内将包含一个或多个CPU单元(Central Processing Unit)、随机存储器(RAM)以及用于存放永久性程序和数据的ROM。

可选地,所述处理装置13包括主处理单元和从处理单元,其中,所述主处理单元基于若干所述传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息生成所述宿主设备2的所述运动相关逻辑数据和所述运动控制命令;所述从处理单元实时从所述内置传感器获取所述传感信息,以获取姿态解算任务,并将所述运动控制命令通过所述第一传输装置发送至所述宿主设备2的底层控制装置。

图2示出根据本申请一优选实施例中一种自主定位导航设备1的结构示意图,其中,所示的控制信号接口对应图1的所述第一传输装置11,所示的高速信号接口对应图1的所述第二传输装置12;所述处理装置13包括主处理单元和从处理单元,主运算单元(优选地为CPU)对应图1所示 的所述主处理单元,所示的从运算单元(优选地为MCU,Microcontroller Unit)对应图1所述从处理单元。为表述方便,我们将在本实施例中对所述第一传输装置11与所述控制信号接口、所述第二传输装置与所述高速信号接口、所述主处理单元与所述主运算单元、所述从处理单元与所述从运算单元分别进行互换使用。

其中,所述处理装置13在实现上使用了一个主运算单元和一个从运算单元。其中,主运算单元具有较强的运算能力,绝大部分的定位导航算法被安排在其中进行运算。从运算单元采用单片机实现,其运算能力相对较弱,但具有很好的实时性,因此被用来进行对从内置传感器获取数据的姿态解算任务,同时也负责实现设备中定义的控制信号接口,负责和外部宿主设备2的底层控制装置进行通讯。上述实现中包含了2个实现高速信号接口的物理接口:100M以太网接口以及802.11b/g WIFI无线网络接口。宿主设备2可按照自身需求,通过其中任意的一条具体物理接口与定位导航模块通讯。

此外,图2中的电子罗盘、陀螺仪、加速度计以及气压计构成了内置传感器,他们可以采集得到当前自主定位导航设备1所处于环境的俯仰角、翻滚角、航向角以及高度信息,配套的外置传感器在上述实现中使用了激光雷达。

需要指出的是,上述仅为本申请所述自主定位导航设备在硬件上的一种参考设计实现。为了实现申请所属设备,其他可实现等价硬件构成和外部接口的方案都是可以被使用的。

相比于现有技术,本申请优选实施例所述自主定位导航设备1通过归纳了大部分自主定位导航设备1所需要的传感器,将陀螺仪、加速度计以及电子罗盘等惯性导航传感器等作为内置传感器物理融合入自主定位导航设备1的内部,并直接物理搭配激光、雷达或视觉传感器等外置传感器,以将定位导航所依赖的几乎所有传感器数据在自主定位导航设备1内的处理装置进行处理。因此,极大降低了对宿主设备2的传感器的依赖,所述宿主设备2即使在不具备额外传感器配备的情况下自主定位导航设备1也可完成定位导航工作,从而很好地解决了现有导航定位设备普遍存在的与宿主设备2的高 耦合性,并同时保证了灵活的可扩展性。

图4示出根据本申请一方面提供的一种利用自主定位导航设备1的定位导航方法,其中,所述自主定位导航设备1用于对宿主设备2进行定位导航,所述自主定位导航设备1包括处理装置、第一传输装置和第二传输装置;其中,所述方法包括:步骤S11、步骤S12和步骤S13。

所述步骤S11:所述第一传输装置从所述宿主设备2的底层控制装置获取底层定位导航相关信息,所述第二传输装置从所述宿主设备2的上层控制装置获取上层定位导航相关信息;所述步骤S12:所述处理装置获取若干传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息,并生成用于控制所述宿主设备2运动的运动控制命令和用于所述宿主设备2进行业务逻辑分析的运动相关逻辑数据;所述步骤S13:所述第一传输装置将所述运动控制命令发送至所述宿主设备2的底层控制装置,所述第二传输装置将所述运动相关逻辑数据发送至所述宿主设备2的上层控制装置。

在此,所述宿主设备2可以是自动执行工作的机器装置,例如机器人等。所述宿主设备2既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动,以协助或取代人类的工作。其中,所述宿主设备2具有处理业务逻辑、分析制定行动目标的上层控制装置,还具有驱使执行机构运动的底层控制装置,即能够按照控制设备发出的控制信号,借助于动力元件使宿主设备2进行各种动作,其中,输入的控制信号是电信号,输出的是线、角位移量。所述宿主设备2使用的驱动装置可以是电力驱动装置(机械轮组),如步进电机、伺服电机等,此外也可以是采用液压、气动等驱动装置等。

在此,所述底层定位导航相关信息可以包括所述宿主设备2的轮组状态信息,所述上层定位导航相关信息可以包括所述宿主设备2需要进行运动规划的请求和/或所述宿主设备2需要其底层控制装置进行运动控制的请求,所述运动相关逻辑数据包括地图数据、同步定位数据及运动规划逻辑数据。

具体地,在所述步骤S11和所述步骤S13中,所述第一传输装置11 与所述宿主设备2的底层装置进行数据通信,所述第二传输装置12与所述宿主设备2的上层装置进行数据通信,所述第一传输装置从所述宿主设备2的底层控制装置获取底层定位导航相关信息,所述第二传输装置从所述宿主设备2的上层控制装置获取上层定位导航相关信息,所述第一传输装置将所述运动控制命令发送至所述宿主设备2的底层控制装置,所述第二传输装置将所述运动相关逻辑数据发送至所述宿主设备2的上层控制装置。

在此,所述第一传输装置的内容与图1所示的第一传输装置11的内容相同或基本相同,所述第二传输装置的内容与图1所示的第二传输装置12的内容相同或基本相同,为简明起见,不再赘述,仅以引用的方式包含于此。

本申请所述定位导航方法通过所述第一传输装置11和所述第二传输装置12协作,明确了自主定位导航设备1与宿主设备2之间的通讯规范和依赖关系,所述自主定位导航设备1与所述宿主设备2的交互和数据依赖均发生在所述第一传输装置11和所述第二传输装置12其中一条通讯接口链路上。

图3示出根据本申请一优选实施例中一种自主定位导航设备1的第一传输装置与宿主设备2的底层控制装置的配合过程中数据传输示意图。在自主定位导航设备1开始运作的时刻,宿主设备2需要首先向自主定位导航设备1提供包含了自身信息相关的宿主设备2的参数信息,宿主设备2的参数信息用于描述当前宿主设备2的平台特性,比如自身的尺寸信息,驱动模式(两轮差分驱动/全向轮结构等),外置传感器安装的位置和角度以及如额外装配了其他传感器,则需要在此时将这类传感器的相关描述信息提供给自主定位导航设备1。

在收到了宿主设备2的参数信息之后,自主定位导航设备1将进行必要的初始化工作来适配当前的宿主设备2。随后,自主定位导航设备1将定期向宿主设备2发送所述运动控制命令。所述运动控制命令用于描述自主定位导航设备1下一刻期望宿主设备2进行移动的模式。对于采用双轮差分驱动的机器人而言,所述运动控制命令可以是左右轮组期望的运转速 度量,对于采用万向轮方式的机器人,则所述运动控制命令可以是机器人下一时刻进行平移和转动的线速度(v)和角速度(w)。在自主定位导航设备1定期发送所述运动控制命令的同时,宿主设备2也需要定期向自主定位导航设备1发送描述自身运动情况的轮组状态信息。该信息一般包含了宿主设备2相对于上一时刻的位移量和航向角的变化量。而对于采用双轮查分驱动的宿主设备2,所述轮组状态信息可直接发送左右轮的累计转动圈数或者是累计行进的里程计信息。

与此同时,如果宿主设备2中如安装了一个或多个额外的传感器,也可定期向自主定位导航设备1发送宿主设备2传感信息,其中包含了具有统一定义的传感器数据描述信息。自主定位导航设备1可通过接受该传感器数据描述信息对额外的外部传感器进行处理,从而扩充自身的功能。

本领域技术人员应能够理解,上述数据是为了确保自主定位导航设备1正常运作所必须通过所述第一传输装置11传递的最小数据类型集合,仅为自主定位导航设备1的所述第一传输装置11和宿主设备2的底层控制装置21之间的通信过程中所传输的数据的优选的举例,为了扩充和增强自主定位导航设备1功能,在具体实现当中也可新增多种额外的数据协议类型,其他可能适用于本申请的适用在自主定位导航设备1的所述第一传输装置11和宿主设备2的底层控制装置21之间传输数据类型,仍可用引用的方式包含于此。

在一优选的实施例中,所述第二传输装置12负责传输从自主定位导航设备1到所述宿主设备2的上层控制装置的地图数据、包括位置姿态信息和定位状态信息的同步定位数据及包括运动状态信息的运动规划逻辑数据,以及从宿主设备2到自主定位导航设备1的上层控制装置的运动执行请求、底层运动控制请求。其中,所述地图数据包括由自主定位导航设备1构建的特定区域的地图数据;所述位置姿态信息包括由自主定位导航设备1计算得到的当前宿主设备2的空间位置和姿态信息;所述定位状态信息包括由自主定位导航设备1计算得到的地图尺寸、定位状态(如协方差、是否成功定位);所述运动状态信息包括当前自主定位导航设备1正在执行的运动规划算法信息,例如但不限于比如正在进行路径规划时刻的规 划路径;所述运动执行请求包括宿主设备2要求自主定位导航设备1执行的内置运动规划算法的请求包;底层运动控制请求包括所述宿主设备2要求自主定位导航设备1直接控制宿主设备2的底层系统进行运动的请求包,比如例如但不限于请求控制机器人前往特定目的地。

具体地,所述地图数据描述了宿主设备2所感兴趣的地图数据信息。该地图数据总是位于由自主定位导航设备1预先构建的环境地图中的一部分。宿主设备2可随自身需要,随机的向自主定位导航设备1获取该数据。所述位置姿态信息包含了由自主定位导航设备1计算得到的宿主设备2当前的位置坐标和姿态信息。例如,对于采用激光雷达进行二维环境移动的轮式机器人而言,该信息可以为机器人在平面内的坐标(x,y)以及航向角θ。宿主设备2可随自身需要,随机的向自主定位导航设备1获取该数据,也可以由自主定位导航设备1主动地向宿主设备2推送该数据。所述定位状态信息用于描述自主定位导航设备1目前进行定位和地图构建的工作情况。其包含的信息包含目前已经构建的地图总尺寸、定位精度信息、定位是否成功以及其他被宿主设备2所必要的数据集合。宿主设备2可随自身需要,随机的向自主定位导航设备1获取该数据,也可以由自主定位导航设备1主动地向宿主设备2推送该数据。所述运动状态信息描述了目前自主定位导航设备1正在进行的运动规划算法的执行情况。比如当前正在工作的运动规划算法的类型(空闲、路径规划、自主返回充电等)、已规划的通往目标地点的路径数据、要求宿主设备2进行的运动控制量等信息。宿主设备2可随自身需要,随机的向自主定位导航设备1获取该数据,也可以由自主定位导航设备1主动地向宿设备2统推送该数据。所述运动执行请求用于宿主设备2向自主定位导航设备1发起一个内置于自主定位导航设备1内部的运动规划算法的相关描述数据。一般实现中包含了宿主设备2希望执行的运动规划算法的类型(停止所有动作、路径规划、自主返回充电等)、相关的参数(目标地点坐标、移动速度等)。该信息由宿主设备2主动向自主定位导航设备1发起。所述底层运动控制请求用于宿主设备2通过自主定位导航设备1直接向宿主设备2的底层控制装置21下达运动相关的控制命令请求。该数据包用于实现对于自主定位导航设备1内 部现有运动控制算法的逻辑改写和扩充。一般实现中,该请求可以实现宿主设备2直接进行特定速度的前进、后退、旋转等底层的运动。对于双轮差分驱动的机器人,底层运动控制请求也可以包含对于左右轮电机转速的直接控制数据。

本领域技术人员应能够理解,上述自主定位导航设备1的第二传输装置12和宿主设备2的上层控制装置22之间的通信过程中所传输的数据为优选的举例,包括应该支持的最小数据包协议的集合,其他可能适用于本申请的适用在自主定位导航设备1的第二传输装置12和宿主设备2的上层控制装置22之间传输数据类型,仍可用引用的方式包含于此。

接着,在所述步骤S12中,所述处理装置获取若干传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息,并生成用于控制所述宿主设备2运动的运动控制命令和用于所述宿主设备2进行业务逻辑分析的运动相关逻辑数据。

在此,所述处理装置的内容与图1所示的所述处理装置13的内容相同或基本相同,为简明起见,不再赘述,仅以引用的方式包含于此。

进一步地,所述自主定位导航设备1还包括内置传感器和外置传感器;所述步骤S12还包括:所述处理装置从所述内置传感器和外置传感器获取若干所述传感信息。

其中,所述内置传感器的内容与图1所示的内置传感器14的内容相同或基本相同,所述外置传感器与图1所示的外置传感器15的内容相同或基本相同,为简明起见,不再赘述,仅以引用的方式包含于此。

进一步地,所述步骤S11还包括:所述第一传输装置从所述宿主设备2的底层控制装置获取宿主设备2传感信息;所述步骤S12包括:所述处理装置基于所述宿主设备2传感信息、若干传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息生成所述宿主设备2的运动控制相关信息。

进一步地,所述底层定位导航相关信息包括所述宿主设备2的轮组状态信息,所述上层定位导航相关信息包括所述宿主设备2需要进行运动规划的请求和/或所述宿主设备2需要其底层控制装置进行运动控制的请求, 所述运动相关逻辑数据包括地图数据、同步定位数据及运动规划逻辑数据;所述步骤S12包括:所述处理装置基于若干所述传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息生成地图数据和同步定位数据,并基于所述同步定位数据、所述地图数据及所述宿主设备2的上层定位导航相关信息生成运动规划逻辑数据和所述运动控制命令。

优选的,在自主定位导航设备1和宿主设备2还进行初始化的阶段,所述步骤S12还包括:所述处理装置还基于所述参数信息生成运动初始控制命令;所述步骤S13还包括:所述第一传输装置将所述运动初始控制命令发送至所述宿主设备2的底层装置。

图5示出根据本申请一优选实施例提供的一种自主定位导航设备1与宿主设备2的配合结构示意图,所述自主定位导航设备1包括:第一装置31、第二装置32和第三装置33。

所述第一装置31,用于获取宿主设备2的底层定位导航相关信息和上层定位导航相关信息;所述第二装置32,用于获取若干传感信息,并对若干所述传感信息进行预处理和预融合;所述第三装置33,用于基于所预处理和预融合的若干所述传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息生成用于控制所述宿主设备2运动的运动控制命令和用于所述宿主设备2进行业务逻辑分析的运动相关逻辑数据;所述第一装置31还用于将所述同步定位数据、所述地图数据、所述运动规划逻辑数据和所述运动控制命令发送至所述宿主设备2。

进一步地,所述第一装置31还用于将所述同步定位数据、所述地图数据、所述运动规划逻辑数据和所述运动控制命令发送至所述宿主设备2;所述第三装置33包括:第一单元331,用于所述运动相关逻辑数据包括地图数据、同步定位数据及运动规划逻辑数据;基于所预处理和预融合的若干所述传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息生成地图数据和同步定位数据;第二单元332,用于基于所述同步定位数据、所述地图数据及所述宿主设备2的上层定位导航相关信息生成运动规划逻辑数据和用于控制所述宿主设备2运动的运动控制命令。

进一步地,所述第二装置32包括:第三单元,用于获取若干所述传 感信息,若干所述传感信息包括至少以下任一项:内置传感信息、外置传感信息和宿主设备2传感信息;第四单元,用于对若干所述传感信息进行预处理和预融合。

进一步地,所述第一装置31还包括:第五单元,用于将所述同步定位数据、所述地图数据、所述运动规划逻辑数据和所述运动控制命令按照统一的数据协议格式进行封装;第六单元,用于将封装后的数据发送至所述宿主设备2。

图6示出根据本申请一优选实施例提供的一种自主定位导航设备1与宿主设备2的配合结构示意图。结合图5和图6,其中,所述自主定位导航设备1包括:定位与地图构建模块、运动规划模块、运动控制与状态获取模块及通讯交互管理模块。所述宿主设备2包括行为控制与扩展模块,其中,所述定位与地图构建模块对应于所述第一单元331,所述运动规划模块对应于所述第二单元332,所述运动控制与状态获取模块对应于所述第二装置32,所述通讯交互管理模块对应于所述第一装置31,所述行为控制与扩展模块对应于所述第四装置41,为表述方便,以下将上述对应术语进行互换使用。

其中,所述行为控制与扩展模块配合所述通讯交互管理模块进行自主定位导航设备1和宿主设备2之间的数据传输,一般在物理实现上是运行于宿主设备2的计算机内部的。但从软件层面的角度,它仍旧属于自主定位导航系统整体。

其中,所述定位与地图构建模块构建地图数据和同步定位数据,具体地,所述定位与地图构建模块是对于特定同步定位与建图(SLAM)算法的实现,它可以是采用基于粒子滤波和栅格地图模型并采用激光雷达作为主要输入信号的SLAM算法,也可以是采用摄像头提供的二维数据的视觉SLAM算法。该模块通过内置传感器以及外置传感器获得输入数据,并将运算得到的地图信息和定位坐标信息提供给自主定位导航设备1内部的其他模块使用。

所述运动规划模块负责进行宿主设备2的行动控制,一般的实现上它将包含诸如A*、D*等基于地图的路径规划算法、引导宿主设备2(机器 人)进行实时障碍物规避的避障算法。随着具体应用需求,该模块也可以包含诸如自主返回充电的充电桩对接算法或者是清扫机器人需要的地面覆盖算法。该模块的另一个核心功能是接受来自外部宿主设备2中行为控制与扩展模块发回的扩展控制指令,包括所述宿主设备需要进行运动规划的请求或所述宿主设备需要其底层控制装置进行运动控制的请求,用于和自身的运动规划逻辑进行融合操作,可实现对现有运动规划算法进行扩展和修改的更复杂的控制逻辑。

所述运动控制与状态获取模块负责收集内置传感信息、外置传感信息以及来自宿主设备2的宿主设备传感信息,将他们进行必要的数据预处理和融合并提供给自主定位导航设备内其他模块使用,此外,该模块也充当了宿主设备差异的抽象层。将不同的宿主设备2平台间的差异进行隐藏以及必要的模拟,使得运行在其之上的定位与地图构建模块和运动规划模块能够最大限度的忽视具体的宿主设备2差异,采用相对通用的实现算法。

所述通讯与交互管理模块获取宿主设备2的底层定位导航相关信息和上层定位导航相关信息,负责直接通过自主定位导航设备1的高速信号接口以及控制信号接口与宿主设备2进行交互,它可以认为是对于具体通讯接口的抽象层。该模块负责将自主定位导航设备1其他模块需要的数据通过对应的接口从宿主设备2中获取,并负责将发送至宿主设备2的数据按照统一的数据协议格式进行封装后进行传输。此外,所述通讯与交互管理模块将运动控制指令及运动相关逻辑数据按照统一的协议规则进行相应地封装,封装后发送给宿主设备2。

此外,所述行为控制与扩展模块配合所述通讯交互管理模块进行自主定位导航设备1和宿主设备2之间的数据传输,以协助宿主设备2中的软件系统与自主定位导航设备1进行交互协作,因此它一般运行在宿主设备2的计算机系统当中。该模块可透过高速信号接口获取自主定位导航设备1其他模块提供的地图、位置坐标等状态信息,并可以通过预定义的运动规划扩展命令对运动规划模块内的现有算法进行调用执行、扩展修改等操作。在具体实现上,该模块一般以软件开发包(SDK)的形式提供给宿主设备2,并与宿主设备2中其他的软件模块进行整合。

本领域技术人员应当能够理解,上述对自主定位导航的具体算法描述均为举例,今后可能出现的并适用于本申请的,可包含在本申请的范围之内。

根据本申请又一方面提供的一种自主定位导航系统,其中,所述自主定位导航系统包括:前述的自主定位导航设备1和宿主设备2,其中,所述宿主设备2包括:第四装置,用于向所述自主定位导航设备1发送所述宿主设备2的底层定位导航相关信息和上层定位导航相关信息,并获取所述宿主设备2发送的用于控制所述宿主设备2运动的运动控制命令和用于所述宿主设备2进行业务逻辑分析的运动相关逻辑数据。

图7示出根据本申请再一优选实施例提供的一种自主定位导航设备1与宿主设备2的配合结构示意图。

运行在宿主设备2的行为控制与扩展模块按照职责划分成了面向宿主底层控制以及面向宿主上层业务逻辑的两个部分,分别对应图中的底层SDK(软件工具包)和上层SDK。对于面向宿主设备2的底层控制装置的部分,其通过控制信号接口与自主定位导航设备1本体进行通讯,负责进行与宿主设备2进行机器人运动信号的传递、以及传递来自宿主设备2的额外扩展传感器数据。而面向宿主设备2的上层控制装置通过高速信号接口与自主定位导航设备1本体进行通讯,它为宿主设备2提供由自主定位导航设备1产生的地图、定位坐标等信息,同时,其中包含了称为扩展运动规划框架的子模块,用于实现宿主设备2对定位导航模块内部运动规划算法逻辑的调用、扩展和行为修改工作。

在自主定位导航设备1内部,上述例子中采用激光雷达作为外置传感器,因此定位于地图构建模块采用使用粒子滤波的栅格地图的SLAM算法进行实现。SLAM所需要的传感器数据通过其他模块获取并进行必要的数据预融合后被最终读入。在SLAM模块完成处理后,得到的地图与坐标数据被暂时缓存在自主定位导航设备的内存当中,供其它模块以及外部的宿主设备2所使用。

运动规划模块中内置了可以进行任意亮点直接最短路径计算的D*路径规划算法、实时地通过各传感器数据帮助宿主设备2进行运动过程中障 碍物规避的避障算法以及自主返回充电桩进行对接充电的逻辑。当该模块运作时,其算法运算产生的控制信号将最终转化成对宿主设备的轮组控制命令,并透过控制信号接口传递给宿主设备2。

需要注意的是,上述例子仅为本发明描述的自主定位导航设备1软件部分的一种参考实现。任何其他可实现相同功能并符合本发明描述的软件系统模块划分的具体实现都可被接受。

本领域技术人员应当能够理解,上述对自主定位导航的具体算法描述均为举例,今后可能出现的并适用于本申请的,可包含在本申请的范围之内。

图8示出根据本申请一优选实施例提供的一种定位导航方法,根据本申请另一方面提供的一种定位导航的方法,其中,所述方法包括:步骤S31、步骤S32、步骤S33和步骤S34。

其中,步骤S31:获取宿主设备2的底层定位导航相关信息和上层定位导航相关信息;步骤S32:获取若干传感信息,并对若干所述传感信息进行预处理和预融合;步骤S33:基于所预处理和预融合的若干所述传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息生成用于控制所述宿主设备2运动的运动控制命令和用于所述宿主设备2进行业务逻辑分析的运动相关逻辑数据;步骤S34:将所述同步定位数据、所述地图数据、所述运动规划逻辑数据和所述运动控制命令发送至所述宿主设备2。

进一步地,所述运动相关逻辑数据包括地图数据、同步定位数据及运动规划逻辑数据;所述步骤S33包括:基于所预处理和预融合的若干所述传感信息、所述底层定位导航相关信息和所述上层定位导航相关信息生成地图数据和同步定位数据;

基于所述同步定位数据、所述地图数据及所述宿主设备2的上层定位导航相关信息生成运动规划逻辑数据和用于控制所述宿主设备2运动的运动控制命令。

进一步地,所述步骤S32包括:获取若干所述传感信息,若干所述传感信息包括至少以下任一项:内置传感信息、外置传感信息和宿主设备2 传感信息;对若干所述传感信息进行预处理和预融合。

进一步地,所述步骤S34包括:将所述同步定位数据、所述地图数据、所述运动规划逻辑数据和所述运动控制命令按照统一的数据协议格式进行封装;将封装后的数据发送至所述宿主设备2。

继续参考图5和图6,其中,所述自主定位导航设备1包括:定位与地图构建模块、运动规划模块、运动控制与状态获取模块及通讯交互管理模块。所述宿主设备2包括行为控制与扩展模块,其中,所述定位与地图构建模块对应于所述第一单元331,所述运动规划模块对应于所述第二单元332,所述运动控制与状态获取模块对应于所述第二装置32,所述通讯交互管理模块对应于所述第一装置31,所述行为控制与扩展模块对应于所述第四装置41,为表述方便,以下将上述对应术语进行互换使用。

在步骤S31中,所述通讯与交互管理模块获取宿主设备2的底层定位导航相关信息和上层定位导航相关信息,所述通讯与交互管理模块负责可以直接通过自主定位导航设备1的高速信号接口(硬件形式接口或软件形式接口)以及控制信号接口(硬件形式接口或软件形式接口)与宿主设备2进行交互,它可以认为是对于具体通讯接口的抽象层。该模块负责将自主定位导航设备1其他模块需要的数据通过对应的接口从宿主设备2中获取,并负责将发送至宿主设备2的数据按照统一的数据协议格式进行封装后进行传输。

在所述步骤S32中,所述运动控制与状态获取模块负责收集内置传感信息、外置传感信息以及来自宿主设备2的宿主设备传感信息,将他们进行必要的数据预处理和融合并提供给自主定位导航设备内其他模块使用,此外,该模块也充当了宿主设备差异的抽象层。将不同的宿主设备2平台间的差异进行隐藏以及必要的模拟,使得运行在其之上的定位与地图构建模块和运动规划模块能够最大限度的忽视具体的宿主设备2差异,采用相对通用的实现算法。

在所述步骤S33中,所述定位与地图构建模块构建地图数据和同步定位数据,所述运动规划模块生成运动控制指令及运动相关逻辑数据,其中,所述定位与地图构建模块是对于特定同步定位与建图(SLAM)算法的实 现,它可以是采用基于粒子滤波和栅格地图模型并采用激光雷达作为主要输入信号的SLAM算法,也可以是采用摄像头提供的二维数据的视觉SLAM算法。所述定位与地图构建模块通过内置传感器以及外置传感器获得输入数据,并将运算得到的地图信息和定位坐标信息提供给自主定位导航设备1内部的其他模块使用。所述运动规划模块负责进行宿主设备2的行动控制,一般的实现上它将包含诸如A*、D*等基于地图的路径规划算法、引导宿主设备2(机器人)进行实时障碍物规避的避障算法。随着具体应用需求,该模块也可以包含诸如自主返回充电的充电桩对接算法或者是清扫机器人需要的地面覆盖算法。该模块的另一个核心功能是接受来自外部宿主设备2中行为控制与扩展模块发回的扩展控制指令,包括所述宿主设备需要进行运动规划的请求或所述宿主设备需要其底层控制装置进行运动控制的请求用于和自身的运动规划逻辑进行融合操作,可实现对现有运动规划算法进行扩展和修改的更复杂的控制逻辑。

在所述步骤S34中,所述通讯与交互管理模块将运动控制指令及运动相关逻辑数据按照统一的协议规则进行相应地封装,封装后发送给宿主设备2。

此外,所述行为控制与扩展模块配合所述通讯交互管理模块进行自主定位导航设备1和宿主设备2之间的数据传输。所述行为控制与扩展模块一般在物理实现上是运行于宿主设备2的计算机内部的。但从软件层面的角度,它仍旧属于自主定位导航系统整体。所述行为控制与扩展模块的用途是协助宿主设备2中的软件系统与自主定位导航设备1进行交互协作,因此它一般运行在宿主设备2的计算机系统当中。该模块可透过高速信号接口获取自主定位导航设备1其他模块提供的地图、位置坐标等状态信息,并可以通过预定义的运动规划扩展命令对运动规划模块内的现有算法进行调用执行、扩展修改等操作。在具体实现上,该模块一般以软件开发包(SDK)的形式提供给宿主设备2,并与宿主设备2中其他的软件模块进行整合。

本领域技术人员应当能够理解,上述对自主定位导航的各装置的模块化描述均为举例,今后可能出现的并适用于本申请的,可包含在本申请的 范围之内。

继续参考图7,运行在宿主设备2的行为控制与扩展模块按照职责划分成了面向宿主底层控制以及面向宿主上层业务逻辑的两个部分,分别对应图中的底层SDK(软件工具包)和上层SDK。对于面向宿主设备2的底层控制装置的部分,其通过控制信号接口与自主定位导航设备1本体进行通讯,负责进行与宿主设备2进行机器人运动信号的传递、以及传递来自宿主设备2的额外扩展传感器数据。而面向宿主设备2的上层控制装置通过高速信号接口与自主定位导航设备1本体进行通讯,它为宿主设备2提供由自主定位导航设备1产生的地图、定位坐标等信息,同时,其中包含了称为扩展运动规划框架的子模块,用于实现宿主设备2对定位导航模块内部运动规划算法逻辑的调用、扩展和行为修改工作。

在自主定位导航设备1内部,上述例子中采用激光雷达作为外置传感器,因此定位于地图构建模块采用使用粒子滤波的栅格地图的SLAM算法进行实现。SLAM所需要的传感器数据通过其他模块获取并进行必要的数据预融合后被最终读入。在SLAM模块完成处理后,得到的地图与坐标数据被暂时缓存在自主定位导航设备1的内存当中,供其它模块以及外部的宿主设备2所使用。

运动规划模块中内置了可以进行任意亮点直接最短路径计算的D*路径规划算法、实时地通过各传感器数据帮助宿主设备2进行运动过程中障碍物规避的避障算法以及自主返回充电桩进行对接充电的逻辑。当该模块运作时,其算法运算产生的控制信号将最终转化成对宿主设备2的轮组控制命令,并透过控制信号接口传递给宿主设备2。

需要注意的是,上述例子仅为本发明描述的自主定位导航设备1软件部分的一种参考实现。任何其他可实现相同功能并符合本发明描述的软件系统模块划分的具体实现都可被接受。

与现有技术相比,根据本申请的实施例,本申请所述自主定位导航设备1具有高度模块化,极大的降低了与宿主设备2的耦合度、便于快速整合进入现有的宿主设备2并可灵活扩展的优点。从而使得机器人等宿主设备2具有更简洁、清晰的系统构成,极大的降低了具有自主定位导航设备 1的宿主设备2的开发难度和时间周期。并且得益于系统的高度模块化,使得宿主设备2的小体积化成为可能。

进一步地,所述自主定位导航设备1通过归纳了大部分自主定位导航系统所需要的传感信息依赖,将对若干传感信息的处理集成到自主定位导航设备1本身,因此降低了与宿主设备2的耦合程度。

进一步地,所述自主定位导航设备1通过第一传输装置和第二传输装置,形成具有高度灵活性的统一外部通讯接口和协议规范,使得任何符合该接口协议规范的宿主设备2均可轻松实现与自主定位导航设备1的对接并实现功能的扩展。

需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限 定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号