一种机器人及其数据加载方法和装置与流程

文档序号:20437481发布日期:2020-04-17 22:10阅读:287来源:国知局
一种机器人及其数据加载方法和装置与流程

本申请属于机器人领域,尤其涉及一种机器人及其数据加载方法和装置。



背景技术:

随着科技的发展,人工智能技术越来越广泛的应用于各个领域,比如,室外的巡检机器人逐渐在日常安防巡检、电力巡检、物流运输等领域发挥着重要作用。

对于巡检机器人,一般会包括主控制模块、音视频采集模块、语音识别模块、图像处理模块、人脸识别模块、导航模块、底盘运动模块等模块。每个模块都有单独的启动程序、驱动程序和应用程序,而这些模块的启动程序、驱动程序和应用程序都需要专门的存储芯片来存储。这样会使得巡检机器人中需要使用多个大容量存储芯片来分别存储模块的启动程序、驱动启程和应用程序,导致机器人的设备成本较高。

并且,各个模块中的应用程序还会经常因功能优化、需求变更等原因需要优化升级,由于每个模块中的程序单独存放,当多个模块中的程序需要变更时,需要逐一对这些模块进行升级更新,导致机器人维护困难。



技术实现要素:

有鉴于此,本申请实施例提供了一种机器人及其数据加载方法和装置,以解决现有技术中外围模块分别存储应用程序和驱动程序,导致机器人成本较高,维护较为困难的问题。

本申请实施例的第一方面提供了一种机器人的数据加载方法,所述机器人的数据加载方法包括:

在机器人上电时,主控制模块正常启动,外围模块加载启动程序;

在主控制模块正常启动完成,且外围模块启动程序加载完成时,根据外围模块加载的启动程序所提供的通信接口,由主控模块将主控制模块所存储的待加载数据发送至对应的外围模块;

外围模块接收并运行所接收的待加载数据。

结合第一方面,在第一方面的第一种可能实现方式中,所述机器人为巡检机器人,所述外围模块包括音视频采集模块、语音识别模块、图像处理模块、人脸识别模块、导航模块、底盘运动模块中的一种或者多种。

结合第一方面,在第一方面的第二种可能实现方式中,所述根据外围模块加载的启动程序所提供的通信接口,由主控模块将主控制模块所存储的待加载数据发送至对应的外围模块的步骤包括:

通过外围模块加载的启动程序所提供的通信接口,外围模块向主控制模块发送数据加载请求;

主控制模块接收所述数据加载请求,识别发送所述数据加载请求的外围模块的标识信息

根据外围模块的标识信息查找对应的待加载数据。

结合第一方面,在第一方面的第三种可能实现方式中,所述外围模块接收并运行所接收的待加载数据的步骤包括:

外围模块接收所述主控制模块发送的待加载数据,并将所述待加载数据存储在动态存储器;

根据预先设定的启动顺序,外围模块启动所存储的待加载数据。

结合第一方面的第三种可能实现方式,在第一方面的第四种可能实现方式中,其特征在于,所述动态存储器为动态随机存储器dram、同步动态随机存储器sdram或双通道同步动态随机存储器ddrsdram中的一种或几种。

结合第一方面、第一方面的第一种可能实现方式、第一方面的第二种可能实现方式、第一方面的第三种可能实现方式或第一方面的第四种可能实现方式,在第一方面的第五种可能实现方式中,所述主控制模块运行所需要的数据和外围模块所对应的待加载数据存储在主控制模块中的同一存储芯片中,或者主控制模块运行所需要的数据存储在主控制模块中的第一存储芯片,外围模块所对应的待加载数据存储在主控制模块中的第二存储芯片。

结合第一方面、第一方面的第一种可能实现方式、第一方面的第二种可能实现方式、第一方面的第三种可能实现方式或第一方面的第四种可能实现方式,,在第一方面的第六种可能实现方式中,所述待加载数据包括应用程序或驱动程序中的一种或两种。

本申请实施例的第二方面提供了一种机器人的数据加载装置,所述机器人的数据加载方法包括:

上电启动单元,用于在机器人上电时,使主控制模块正常启动,使外围模块加载启动程序;

数据传送单元,用于在主控制模块正常启动完成,且外围模块启动程序加载完成时,根据外围模块加载的启动程序所提供的通信接口,由主控模块将主控制模块所存储的待加载数据发送至对应的外围模块;

外围模块运行单元,用于由外围模块接收并运行所接收的待加载数据。

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

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

本申请实施例与现有技术相比存在的有益效果是:在机器人上电时,主控制模块正常启动,外围模块仅加载启动程序,通过启动程序提供的通信接口,主控制模块向所述外围模块发送外围模块的待加载数据,外围模块接收主控制模块发送的待加载数据加载运行,从而可以不需要为每个外围模块设置大容量的存储器来存储待加载数据,有利于减少机器人成本,并且通过主控制模块统一对待加载数据进行更新维护,有利于提高数据维护的便利性。

附图说明

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

图1是本申请实施例提供的一种机器人的程序存储分布示意图;

图2是本申请实施例提供的一种机器人的数据加载方法的实现流程示意图;

图3是本申请实施例提供的一种主控制模块发送数据至外围模块的实现流程示意图;

图4是本申请实施例提供的一种机器人的数据加载装置的示意图;

图5是本申请实施例提供的机器人的示意图。

具体实施方式

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

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

图1为本申请实施例提供的一种机器人的数据存储结构示意图,如图1所示,所述机器人包括主控制模块以及一个或者多个外围模块(图中仅示意包括外围模块1和外围模块2)。对于主控制模块和外围模块,在运行时需要加载的数据可以包括启动程序、驱动程序和应用程序等。对于主控制模块所对应的待加载数据,可以直接存储在主控制模块的存储区,在主控制模块加电时,可以直接从主控制模块中获取所存储的待加载数据,按照预先设定的顺序,比如依次运行启动程序、驱动程序和应用程序。对于外围模块的启动程序,可以存储在外围模块对应的存储区,外围模块的待加载数据,可以包括如外围模块的驱动程序和外围模块的应用程序,可以存储在所述主控制模块的存储区。当外围模块启动时,外围模块可以先运行启动程序,由所述启动程序提供外围模块与主控制模块的通信接口,通过所述通信接口从主控制模块获取外围程序待加载的数据,包括如驱动程序或应用程序等。

所述外围模块可以包括音视频采集模块、语音识别模块、图像处理模块、人脸识别模块、导航模块、底盘运动模块中的一种或者多种。其中:

音视频采集模块,主要包括布置在巡检机器人上的全向高灵敏度拾音器和摄像头等。全向高灵敏度拾音器可以对巡逻路线周边一定范围内语音信息进行采集,摄像头可以对巡逻路线周边一定范围内场景信息进行采集,采集到的数据通过网络传送给主控制模块存储。

语音识别模块,基于深度学习算法,可对从主控制模块获取语音信息,并对语音信息进行语音识别和分析,可完成争执,呼救,异常语义等信息分析识别,并将分析结果传递给主控制模块。

图像处理模块,基于深度视觉算法,可对从主控制模块获取到的视频信息进行识别和分析,可完成人脸比对、特定人员的监测、特定区域异常出入、异常行为分析、异常人群聚集分析、纵火情况分析等功能,并将分析结果传递给主控制模块。

人脸识别模块,基于人脸识别算法,可对图像处理模块提供的人脸信息进行深入分析,并与存在服务器的人脸数据库中的信息进行比对和确认,对人群进行分类和特殊标识,并将人脸识别的结果反馈给主控制模块。

导航模块,包含多种导航避障传感器以及智能化的导航避障算法。导航避障传感器包含雷达、摄像头、超声传感器、惯性导航传感器和高精度差分全球卫星导航系统gnss等。导航避障算法根据场景选择以及各传感器输出信息,智能化的选择最佳的导航避障方案,控制机器人自主行走。

底盘运动模块,为巡检机器人的行走机构。由主控制模块结合导航模块输出的控制信息来控制底盘运动模块。

图2为本申请实施例提供的一种机器人的数据加载方法的实现流程示意图,所述机器人加载方法可以基于图1所示的机器人数据存储结构,即对于机器人中的主控制模块所需要加载的数据,存储在主控制模块,可由机器人主控制模块根据预先设定的顺序依次加载运行。所述外围模块中的启动程序存储在外围模块,外围模块的待加载数据,即外围模块的驱动程序和应用程序,存储在主控制模块,所述机器人的数据加载方法包括:

在步骤s201中,在机器人上电时,主控制模块正常启动,外围模块加载启动程序;

具体的,本申请所述的机器人的主控制模块中,存储有主控制模块待加载的数据,包括主控制模块的启动程序、驱动程序和应用程序,当机器人上电时,主控制模块可以从自身所存储数据中直接获取,并按照预定的顺序进行加载。比如,可以按照启动程序、驱动程序和应用程序的顺序,依次加载。

所述外围模块中存储有外围模块所对应的启动程序。比如,音视频采集模块中,存储有音视频采集模块的启动程序,通过所述启动程序,可以提供音视频采集模块与主控制模块的通信接口,使得音视频采集模块可以与主控制模块进行通信,包括发起数据获取的请求等。

所述外围模块的待加载数据,可以为不包括启动程序以外的其它数据。比如可以包括驱动程序或应用程序,或者可以为驱动程序和应用程序。

其中,所述外围模块的待加载数据,可以与主控制模块所需要加载的数据存储在主控制模块下的同一存储芯片,或者所述外围模块的待加载数据,与主控制模块所需要加载的数据存储在不同的存储芯片,比如,主控制模块运行所需要的数据存储在主控制模块中的第一存储芯片,外围模块所对应的待加载数据存储在主控制模块中的第二存储芯片。

其中,所述主控制模块需要加载的数据,可以包括主控制模块的启动程序、驱动程序和应用程序等。所述外围模块中的待加载数据,可以为外围模块的驱动程序和应用程序。外围模块中的启动程序可以存储在外围模块中,可由外围模块直接加载。

在步骤s202中,在主控制模块正常启动完成,且外围模块启动程序加载完成时,根据外围模块加载的启动程序所提供的通信接口,由主控模块将主控制模块所存储的待加载数据发送至对应的外围模块;

由于主控制模块中存储有主控制模块的启动程序、驱动程序和应用程序等,在不需要模块之间传送数据,主控制模块即可以依次完成启动程序、驱动程序和应用程序的加载和运行。外围模块中存储有外围模块所对应的启动程序,外围模块可以自行完成启动同课异构的加载和运行。

在将外围模块的待加载数据传送至外围模块之前,还包括对外围模块和主控制模块的加载状态进行判断,即判断需要传送数据的外围模块的启动程序是否加载完成,主控制模块的启动程序、驱动程序和应用程序是否加载完成。如果程序未加载完成,则可以循环等待,直到所需要加载的数据全部加载完成。

其中,所述启动程序用于初始化外围模块的通信接口,使得外围模块的通信接口与主控制模块的通信接口进行通信。

所述主控制模块将主控制模块所存储的外围模块的待加载数据发送至对应的外围模块的流程可以如图3所示,包括:

在步骤s301中,通过外围模块加载的启动程序所提供的通信接口,外围模块向主控制模块发送数据加载请求;

在外围模块加载运行所述启动程序时,通过所述启动程序可以提供外围模块与其它模块,比如与主控制模块进行数据交换的通信接口,通过所述通信接口,外围模块可以向所述主控制模块发送数据加载请求。其中,所述数据加载请求中包括发送该请求的外围模块所对应的标识信息。所述标识信息可以为外围模块的序号标识,或者外围模块的版本标识、或者外围模块的名称标识等。

所述外围模块在正常运行启动程序后,向主控制模块发送数据加载请求之前,可以先向主控制模块发送运行状态获取指令,获取主控制模块的运行状态,包括判断主控制模块加载的驱动程序、启动程序和应用程序是否运行正常的状态,或者还可以包括主控制模块的通信接口是否正常的状态。如果主控制模块需要加载的数据正常运行,或者还包括主控制模块的通信接口正常,则向所述主控制模块发送待加载数据的加载请求,请求主控制模块发送外围模块的待加载数据。

在步骤s302中,主控制模块接收所述数据加载请求,识别发送所述数据加载请求的外围模块的标识信息

主控制模块接收外围模块发送的数据加载请求,根据数据加载请求中包括的标识信息,结合预先设定的标识信息与待加载数据的对应关系,查找外围模块所对应的待加载数据,并可通过启动程序所提供的通信接口,将所述待加载数据发送至外围模块。

在步骤s303中,根据外围模块的标识信息查找对应的待加载数据。

所述主控制模块中存储的外围模块的待加载数据,可以根据外围模块的数量,设定对应的待加载数据。比如,外围模块中包括音视频采集模块、语音识别模块、图像处理模块、人脸识别模块、导航模块、底盘运动模块,可以分别设定音视频采集模块、语音识别模块、图像处理模块、人脸识别模块、导航模块、底盘运动模块所对应的待加载数据,并标识各个待加载数据与标识信息的对应关系。当解析得到外围模块的标识信息时,可以快速的查找到标识信息所对应的待加载数据。另外,由于外围模块为不同的类型,所述标识信息也可以为所述外围模块的类型。

在步骤s203中,外围模块接收并运行所接收的待加载数据。

所述存储器可以动态存储器,比如可以包括如动态随机存储器dram、同步动态随机存储器sdram或双通道同步动态随机存储器ddrsdram中的一种或几种。

通过动态存储器存储所述待加载数据时,可以使得外围模块快速的加载和运行所述待加载数据,并且在机器人断电时,动态存储器自动清除所述待加载数据,不需要占用额外的存储空间。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

图4为本申请实施例提供的一种机器人的数据加载装置的结构示意图,所述机器人的数据加载装置包括:

上电启动单元401,用于在机器人上电时,使主控制模块正常启动,使外围模块加载启动程序;

数据传送单元402,用于在主控制模块正常启动完成,且外围模块启动程序加载完成时,根据外围模块加载的启动程序所提供的通信接口,由主控模块将主控制模块所存储的待加载数据发送至对应的外围模块;

外围模块运行单元403,用于由外围模块接收并运行所接收的待加载数据。

图4所述的机器人的数据加载装置,与图2所述的机器人的数据加载方法对应。

图5是本申请一实施例提供的机器人的示意图。如图5所示,该实施例的机器人5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52,例如机器人的数据加载程序。所述处理器50执行所述计算机程序52时实现上述各个机器人的数据加载方法实施例中的步骤。或者,所述处理器50执行所述计算机程序52时实现上述各装置实施例中各模块/单元的功能。

示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述机器人5中的执行过程。例如,所述计算机程序52可以被分割成:

上电启动单元,用于在机器人上电时,使主控制模块正常启动,使外围模块加载启动程序;

数据传送单元,用于在主控制模块正常启动完成,且外围模块启动程序加载完成时,根据外围模块加载的启动程序所提供的通信接口,由主控模块将主控制模块所存储的待加载数据发送至对应的外围模块;

外围模块运行单元,用于由外围模块接收并运行所接收的待加载数据。

所述机器人可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是机器人5的示例,并不构成对机器人5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人还可以包括输入输出设备、网络接入设备、总线等。

所称处理器50可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器51可以是所述机器人5的内部存储单元,例如机器人5的硬盘或内存。所述存储器51也可以是所述机器人5的外部存储设备,例如所述机器人5上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器51还可以既包括所述机器人5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述机器人所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。

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

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

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

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

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

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

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

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1