掌桥专利:专业的专利平台
掌桥专利
首页

构建移动机器人的工作场景的方法及装置

文献发布时间:2023-06-19 11:13:06


构建移动机器人的工作场景的方法及装置

技术领域

本申请属于移动机器人技术领域,尤其涉及一种构建移动机器人的工作场景的方法及装置。

背景技术

随着工业自动化进程和现代科技水平的不断发展,移动机器人技术也在不断地迭代更新。

目前,安装有Ros系统的移动机器人可以实现日志记录功能,例如我们可以对Rostopic中的数据进行记录、回放和分析,利用离线数据快速重现曾经的实际工作场景,即通过Ros系统的日志记录格式Rosbag来实现。然而,这种方式无论是日志记录还是回放,都与Ros系统的很多模块之间存在较高的耦合性,导致没有使用Ros框架开发的设备无法实现这种机器人工作状态的记录与回放功能,不利于独立开发的机器人框架对移动机器人的性能等场景进行分析。

针对上述问题,目前业界仍无较佳的解决方案。

发明内容

有鉴于此,本申请实施例提供了一种构建移动机器人的工作场景的方法及装置,以至少解决现有技术中基于独立框架开发的移动机器人难以在非Ros框架中记录和回放机器人工作日志的问题。

本申请实施例的第一方面提供了一种构建移动机器人的工作场景的方法,包括:获取移动机器人的多个传感检测数据,每一传感检测数据分别具有相应的时间戳;根据对应同一时间戳的传感检测数据,确定相应的机器人工作状态;基于解析得到的对应连续的所述时间戳的各个机器人工作状态,构建所述移动机器人的工作场景。

本申请实施例第二方面提供了一种构建移动机器人的工作场景的装置,包括:传感数据获取单元,被配置为获取移动机器人的多个传感检测数据,每一传感检测数据分别具有相应的时间戳;工作状态确定单元,被配置为根据对应同一时间戳的传感检测数据,确定相应的机器人工作状态;工作场景构建单元,被配置为基于解析得到的对应连续的所述时间戳的各个机器人工作状态,构建所述移动机器人的工作场景。

本申请实施例的第三方面提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。

本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。

本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备实现如上述方法的步骤。

本申请实施例与现有技术相比存在的有益效果是:

通过本申请实施例,上位机处理器可以获得移动机器人的具有时间戳的多个传感检测数据,并根据对应同一时间戳的传感检测数据来确定相应的机器人工作状态,并可以组合多个时间戳的机器人工作状态来构建或复现移动机器人的历史工作场景。由此,基于传感检测数据是与时间戳相对应的,上位机处理器可以通过整理对应同一时间戳的传感检测数据来确定相应时刻的检测数据,以得到精确的在当前时刻的机器人工作状态,并基于对应连续时间的各个机器人工作状态,可以构建移动机器人的工作场景,实现对移动机器人工作过程的记录和回放功能,并可以普适于各类非基于Ros框架开发的移动机器人的运行环境。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据本申请实施例的构建移动机器人的工作场景的方法的一示例的流程图;

图2示出了根据本申请实施例的确定机器人工作状态的一示例的流程图;

图3示出了根据本申请实施例的基于机器人工作状态构建移动机器人的工作场景的一示例的流程图;

图4示出了根据本申请实施例的构建移动机器人的工作场景的方法的一示例的信号交互图;

图5示出了根据本申请实施例的构建移动机器人的工作场景的装置的一示例的结构框图;

图6是本申请实施例的电子设备的一示例的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

具体实现中,本申请实施例中描述的电子设备包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,上述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器)的计算机。

在接下来的讨论中,描述了包括显示器和触摸敏感表面的电子设备。然而,应当理解的是,电子设备可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。

可以在电子设备上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。

在目前相关技术中,为了记录和复现机器人的行为过程,机器人一般会采用Ros系统,并将指定rostopic中的数据记录到“.bag”后缀的数据包中,便于对其中的数据进行离线分析和处理。示例性地,对于订阅(subscribe)某个标题(topic)的节点来说,它无法区分这个标题中的数据到底是实时获取的数据还是从rosbag中回放的数据。这样,有助于基于离线数据快速重现曾经的实际场景,进行可重复、低成本的分析和调试。

然而,基于自主框架开发的移动机器人在开发、调试的时候也需要用到类似rosbag提供的功能,但是如果移动机器人并未选择Ros框架,将难以实现日志记录和场景复现的功能。

图1示出了根据本申请实施例的构建移动机器人的工作场景的方法的一示例的流程图。关于本申请实施例的执行主体,其可以是用于对移动机器人的工作场景进行构建或复现的上位机。

如图1所示,在步骤110中,获取移动机器人的多个传感检测数据。这里,每一传感检测数据分别具有相应的时间戳。

需说明的是,移动机器人上通常设置有一个或多个传感器,以用于检测移动机器人的位置或距离等。此外,在移动机器人中的传感器完成数据采集操作时,可以将传感检测数据和相应的时间戳进行记录,实现在时间和相应的不同传感检测维度全面记录移动机器人的信息。

在步骤120中,根据对应同一时间戳的传感检测数据,确定相应的机器人工作状态。这样,上位机可以根据同一时间戳下所发生的传感检测数据来确定机器人在此时刻下的机器人工作状态。

在步骤130中,基于对应连续的时间戳的各个机器人工作状态,构建移动机器人的工作场景。示例性地,上位机可以将对应连续时刻的机器人工作状态进行组合,从而得到相应的移动机器人的工作场景,例如移动机器人在某段时间内静止在A处或从A处运动到了B处。

在本申请实施例的一些示例中,上位机中还可以配置有媒体播放器,以对所构建的移动机器人的工作场景进行回放。

通过本申请实施例,上位机可以利用对应各个时间戳的传感检测数据来复现机器人的工作状态和工作场景,无需上位机支持Ros系统,降低了用于复现移动机器人的工作场景的上位机的配置要求,便于采集并回放移动机器人的工作场景,而不受制于平台或者开发框架。

图2示出了根据本申请实施例的确定机器人工作状态的一示例的流程图。在本申请实施例的一些示例中,每一传感检测数据分别具有相应的传感类型,此时在机器人上可以配置有多种类型的传感器,例如距离传感器、位置传感器和速度传感器等,以及机器人根据雷达,里程计,IMU等传感器基于SLAM技术记录的位置以及环境地图等信息;此外,多个传感检测数据是移动机器人在各个时间戳按照预设的传感类型顺序进行配置的。示例性地,移动机器人可以将所采集的各个传感检测数据按照传感类型进行顺序配置,例如“IMU传感器-距离传感器-碰撞传感器”。

如图2所示,在步骤210中,按照传感类型顺序依次解析对应第一时间戳的多个传感检测数据,以得到与传感类型顺序中的各个传感类型分别相对应的传感检测数据。

需说明的是,由于传感检测数据是移动机器人按照传感类型顺序进行配置的,所以当上位机同样按照传感类型顺序依次进行解析时,可以相应得到各个传感类型下的传感检测数据,类似于针对传感类型填空传感检测数据,可以快速得到各个传感类型下的传感检测数据。

在步骤220中,根据对应各个传感器类型的传感检测数据,确定对应第一时间戳的机器人工作状态。示例性地,可以得到在时刻T处距离传感器、碰撞传感器和速度传感器所分别对应的传感检测数据,例如传感器信号值,由此得到对应时刻T处的机器人工作状态。

在本申请实施例中,通过约定在移动机器人和上位机中针对同一时刻的多个传感检测数据的配置顺序和解析顺序,可以快速得到移动机器人人中不同传感类型的传感检测数据,快速得到相应的机器人工作状态。

在本申请实施例的一些示例中,机器人运营方可以预先在各个移动机器人中分别配置数据顺序记录线程,通过该数据顺序记录线程,移动机器人可以记录传感检测数据和相应的时间戳,并按照上述传感类型顺序配置各个传感检测数据,以得到相应的上述多个传感检测数据。

图3示出了根据本申请实施例的基于机器人工作状态构建移动机器人的工作场景的一示例的流程图。

如图3所示,在步骤310中,针对连续的时间戳,根据时间戳所对应的机器人工作状态和预设的机器人场景模型确定相应的机器人场景状态图。这样,利用对应机器人工作状态的机器人场景模型来设置相应的机器人场景状态图,更加直观,例如可以在地图场景上显示机器人模型的位置。

在步骤320中,按照连续的时间戳,对各个相应的机器人场景状态图进行组合。由此,采用了轻量化低耦合的设计,实现了针对移动机器人的日志记录功能与回放功能。

通过本申请实施例,将不同机器人场景状态图进行组合,从而构建和复现移动机器人在连续时间的工作场景,有利于运维用户利用机器人的历史数据对机器人的工作状况进行分析。此外,实现了简易且方便的全场景日志记录功能,可以简单方便地在不同类型的机器人产品中移植,且不受制于所选择的平台或者开发框架。

图4示出了根据本申请实施例的构建移动机器人的工作场景的方法的一示例的信号交互图。具体地,其涉及在移动机器人10与上位机20之间的信号交互操作。

具体地,在机器人运行的过程中,机器人上的不同传感器可以分别产生相应的传感器数据,并可以共同记录机器人在运行中某一时刻的不同维度的状态信息,并可以通过上位机通信连接机器人,使得在上位机上实时查看机器人的状态。

如图4所示,在步骤410中,移动机器人10通过预先配置的日志记录线程,按照设定结构格式记录多个传感检测数据。示例性地,移动机器人可以每隔1秒的间隔性地在机器人中写入各个相关数据,加入到消息队列,并存到相应的文件。此外,设定结构格式可以是“传感器1-传感器2-…-传感器n”,使得不同传感检测数据形成相应的数据结构。

在一些应用场景下,上位机20可用于同时管理多个移动机器人10,并可以在每个移动机器人10中配置相应的日志记录线程。

在步骤420中,移动机器人110可以将多个传感检测数据发送至上位机20。

在步骤430中,上位机20按照设定结构格式解析多个传感检测数据。

在步骤440中,上位机20可以确定对应各个时间戳的机器人工作状态。

在步骤450中,上位机20可以根据各个时刻的机器人工作状态,构建移动机器人的工作场景。

示例性地,根据时间戳,上位机20可以按照时间顺序读取各个数值,并显示在表格中,针对移动机器人的位置姿态以及场景地图的内容,可以在上位机的三维场景中显示。

在本申请实施例中,可以在移动机器人中创建一个独立的线程,实时记录各个传感器的数据并附加时间戳,以二进制流方式存入本地文件。此外,还可以对上位机进行相应配置,以读取这个二进制流文件,并根据时间戳的先后顺序,将这些数据在上位机上显示出来,方便对机器人当时的工作状态进行回放和重现。由此,可以在不采用ros系统的情况下,较方便、快捷地实现机器人运行状态的全场景记录,便于实施针对移动机器人的调试操作和开发操作。

图5示出了根据本申请实施例的构建移动机器人的工作场景的装置的一示例的结构框图。

如图5所示,构建移动机器人的工作场景的装置500包括传感数据获取单元510、工作状态确定单元520和工作场景构建单元530。

传感数据获取单元510被配置为获取移动机器人的多个传感检测数据,每一传感检测数据分别具有相应的时间戳。

工作状态确定单元520被配置为根据对应同一时间戳的传感检测数据,确定相应的机器人工作状态。

工作场景构建单元530被配置为基于对应连续的所述时间戳的各个机器人工作状态,构建所述移动机器人的工作场景。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

图6是本申请实施例的电子设备的一示例的示意图。如图6所示,该实施例的电子设备600包括:处理器610、存储器620以及存储在所述存储器620中并可在所述处理器610上运行的计算机程序630。所述处理器610执行所述计算机程序630时实现上述构建移动机器人的工作场景的方法实施例中的步骤,例如图1所示的步骤110至130。或者,所述处理器610执行所述计算机程序630时实现上述各装置实施例中各模块/单元的功能,例如图5所示单元510至530的功能。

示例性的,所述计算机程序630可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器620中,并由所述处理器610执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序630在所述电子设备600中的执行过程。例如,所述计算机程序630可以被分割成传感数据获取程序模块、工作状态确定程序模块和工作场景构建程序模块,各程序模块具体功能如下:

传感数据获取程序模块,被配置为获取移动机器人的多个传感检测数据,每一传感检测数据分别具有相应的时间戳;

工作状态确定程序模块,被配置为根据对应同一时间戳的传感检测数据,确定相应的机器人工作状态;

工作场景构建程序模块,被配置为基于对应连续的所述时间戳的各个机器人工作状态,构建所述移动机器人的工作场景。

所述电子设备600可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述电子设备可包括,但不仅限于,处理器610、存储器620。本领域技术人员可以理解,图6仅是电子设备600的示例,并不构成对电子设备600的限定,可以包括比图示更多或少的部件,或组合某些部件,或不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器610可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器620可以是所述电子设备600的内部存储单元,例如电子设备600的硬盘或内存。所述存储器620也可以是所述电子设备600的外部存储设备,例如所述电子设备600上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器620还可以既包括所述电子设备600的内部存储单元也包括外部存储设备。所述存储器620用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器620还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述单元既可以采用硬件的形式实现,也可以采用软件的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 构建移动机器人的工作场景的方法及装置
  • 煤矿井下全工作面场景空间的数字化构建系统和方法
技术分类

06120112839191