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

一种移动操作机器人功能算法仿真验证平台及方法

文献发布时间:2024-04-18 19:58:53


一种移动操作机器人功能算法仿真验证平台及方法

技术领域

本发明涉及移动操作机器人功能算法开发技术领域,特别涉及一种移动操作机器人功能算法仿真验证平台及方法。

背景技术

在不同的工业应用场景中时,不同的作业性质对移动操作机器人的功能要求也不尽相同,因而,移动操作机器人的研发及落地部署经常呈现出一定程度的定制化特征。这种定制化特征主要表现在机器人研发过程中总是需要研发新的算法,新的功能,以便适应机器人的各种工作场景和要求。而研发结束,还需面临的问题是如何验证这些机器人新的算法以及新的功能的有效性和准确性。传统做法是将开发出来的算法功能直接在机器人上进行实地测试。然而,这样做的风险极大,一旦程序或算法有漏洞,或错误,或没有很好的优化,可能造成机器人的动作出现错误,甚至引起人身伤害。

因此,亟需一种更方便、更直观、省时高效的算法功能验证方法,用于移动草主机器人辅助研发过程中的软件算法开发。

发明内容

为了解决上述技术问题,本发明中披露了一种移动操作机器人功能算法仿真验证平台及方法,本发明的技术方案是这样实施的:

一种移动操作机器人功能算法仿真验证平台,包括算法模块模型、仿真机器人物理电气模型、仿真场景地图、算法模型化转换工具、场景模型转换工具;

其中,算法模型化转换工具用于将实际算法模块转换为算法模块模型;

场景模型转换工具用于将场景地图转换为仿真机器人物理电气模型运行的仿真场景地图或直接建立仿真场景地图;

仿真机器人物理电气模型包括底盘运动物理及电气模型、机械臂运动物理及电气模型、控制系统物理模型、传感器信号模型和机器人控制软件架构模型;

传感器信号模型用于反映传感器特性的物理模型以及信号处理数学模型;

机器人控制软件架构模型用于嵌入算法模块模型。

优选地,所述算法模块模型包括轨迹规划算法模块模型、运动控制解析模块模型、传感器信号处理模型、感知算法模块模型、机器人当前状态参数模型、决策算法模块模型、底盘避障算法模块模型、底盘执行控制模型、机械臂避障算法模型。

优选地,所述仿真场景地图包括场景元素模块库,所述场景元素模块库包括障碍物模块库等。

一种移动操作机器人功能算法仿真验证方法,使用一种移动操作机器人功能算法仿真验证平台,包括步骤如下:

S1,建立与待验证的机器人实际控制软件算法调度模块相应的软件算法模块及调度架构的仿真模型;

S2,将仿真模型嵌入机器人控制软件架构模型;

S3,建立仿真机器人物理电气模型运行的仿真场景地图;

S4,仿真模型控制仿真机器人物理电气模型在仿真场景地图中模拟运行;

S5,运行无误后,将机器人实际控制软件算法调度模块导入实际移动操作机器人进行实机测试。

优选地,包括并行执行和顺序执行;

所述并行执行包括同时驱动两个或两个以上所述算法模块模型中不同模型;

所述顺序执行包括按照设定的顺序依次驱动所述算法模块模型中不同模型。

优选地,所述S3中,包括场景模型转换工具用于将场景地图转换为仿真机器人物理电气模型运行的仿真场景地图或直接建立仿真场景地图。

优选地,所述S3中,还包括额外增加障碍物来模拟仿真机器人物理电气模型在仿真场景地图中模拟运行时如遇到突发状况时的场景,从而测试机器人实际控制软件算法调度模块相应的软件算法模块及调度架构的仿真模型在应对突发状况时的有效性。

本发明的有益效果如下:

对研发的软件算法,基于模块化的开发方法,采用算法模型化转换工具,将算法模块转换成算法模型,该算法模型被作为仿真验证软件平台中的算法库中的一个模块模型,可被仿真系统采用。用以验证其算法的有效性,这种通过仿真的方式验证算法有效性的方法,避免了直接在实际机器人上验证该算法带来的可能的风险。

将实际场景地图转换为仿真环境中可用的地图,同时,将实际规划的机器人行走轨迹转换为仿真环境中可用的轨迹,同时采用能够反映实际机器人控制特性的机器人模型,在仿真环境中运行时,能够离线观测或评估机器人的各项性能,以及可能出现的问题。从而修正实际算法,或为修正实际控制性能提供仿真依据。通过仿真,及早发现问题、解决问题,最终有利于降低实际机器人在现场部署时的人工劳动量和部署时间。

附图说明

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

图1为一种移动操作机器人功能算法仿真验证平台实施例的平台界面图

图2为模型转换的过程示意图;

图3为实际机器人的软件算法模块调度架构;

图4为仿真机器人的软件架构及算法模块仿真模型架构;

图5为实际机器人的软件算法模块的执行时间轴线图;

图6为仿真机器人的软件架构及算法模块仿真模型的执行时间轴线图。

在上述附图中,各图号标记分别表示:

1,轨迹规划算法;

2,运动控制解析;

3,传感器信号处理算法;3a,障碍物与机器人坐标关联描述函数算法;3b,传感数据处理算法;

4,感知算法;

5,机器人当前状态参数算法;

6,决策算法;

7,底盘避障算法;

8,底盘执行控制算法;8a,底盘运动动力学算法;8b,底盘运动控制算法;

9,机械臂避障算法;

10,机械臂运动控制算法;10a,机械臂运动动力学算法;10b,机械臂运动控制算法。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例

在一种具体的实施例中,如图1所示,一种移动操作机器人功能算法仿真验证平台,包括算法模块模型、仿真机器人物理电气模型、仿真场景地图、算法模型化转换工具、场景模型转换工具;其中,算法模型化转换工具用于将实际算法模块转换为算法模块模型;场景模型转换工具用于将场景地图转换为仿真机器人物理电气模型运行的仿真场景地图或直接建立仿真场景地图;仿真机器人物理电气模型包括底盘运动物理及电气模型、机械臂运动物理及电气模型、控制系统物理模型、传感器信号模型和机器人控制软件架构模型;传感器信号模型用于反映传感器特性的物理模型以及信号处理数学模型;机器人控制软件架构模型用于嵌入算法模块模型。底盘运动物理及电气模型包括底盘物理模型和轮毂驱动电气及控制模型;机械臂运动物理及电气模型包括机械臂机械物理模型和各关节驱动电气及控制模型;控制系统物理模型包括控制系统电气物理特性模型和控制系统逻辑处理单元模型。

本实施例在界面中设置了三个障碍物示意图。

机器人视在模型表示图形化的机器人模型,其底层为仿真机器人物理电气模型;

实际轨迹规划算法模块,通过算法模型化转换工具可转为仿真环境中的规划行走轨迹;

如果不采用实际场景地图,则可在仿真场景地图中人为设置障碍物。仿真中的障碍物设置可与实际环境中的设置基本相同,主要是位置点位的相同。

描述函数用于描述的机器人与相关障碍物之间的关系,如距离等函数描述,是机器人当前坐标,障碍物当前坐标,机器人当前运动状态的函数。

仿真验证软件平台环境为二维xy平面图形化显示;机器人行走轨迹为xy平面数据;因为实际机械臂动作轨迹为三维;因此在仿真环境中,针对机械臂动作控制为三维,机械臂的轨迹数据记录也为三维。但仿真环境显示界面依然为xy平面显示。

本实施例对算法模块的验证,通过各相应模块模型的运行结果数据验证模块算法是否达到设计效果。

场景元素模块库中包括自定义模块,可定义障碍物形状尺寸等;仿真验证软件环境中,设置有场景元素模块库和软件算法模块库。

场景元素模块库有常用障碍物模块库,用以作为在仿真环境中设置障碍物。每一元素模块,可通过其坐标位置数据与机器人建立描述函数仿真机器人传感器。

场景元素模块库中还有自定义模块,可设置模块的形状,大小等。

软件算法模块库中的模型模块模型,由研发的实际算法模块,通过算法模型化转换工具转换而来。

本实施例包括行走轨迹数据,可打开该窗口,显示或下载机器人行走轨迹相关数据,以便分析其误差、对障碍物的判断而引起的轨迹变化等情况。

本实施例包括机械臂动作轨迹数据,可打开该窗口,显示或下载机器人机械臂在三维坐标系中的轨迹相关数据,以便分析动作特性和控制性能。同时,各算法模块模型的运行输入输出结果数据也可打开相应的窗口调取数据并分析。如果仿真机器人的运行过程中,有算法模块模型出现错误,或引起相应功能失效,可打开故障数据窗口进行数据调取分析。

本实施例可对各算法模块模型的执行效率等进行分析,以优化对应的实际算法模块。

本实施例可在仿真环境地图中,考察并行运行和顺序执行时对机器人控制性能的影响,从而优化程序算法模块。

本实施例将程序员开发的算法模块利用算法模型化转换工具转换成为仿真验证平台可用的算法模块模型,因此,算法模块与算法模块模型建立了一一对应关系;理论上,算法模块与相应的算法模块模型完全相同。

在开发环境中,通过模块化搭建的方法完成软件开发/编程(算法模块),同时在仿真环境中就搭建仿真软件模块(算法模块模型),并将该仿真软件模块和仿真机器人物理电气模型进行耦合,赋予仿真机器人物理电气模型具有软件算法一样的功能。该仿真机器人物理电气模型在仿真环境中运行,依据规划的轨迹行走,机械臂动作,传感器检测,并记录运行数据,可以对数据分析,从而评估整体机器人功能;或评估某个模块的功能。当仿真环境中仿真机器人物理电气模型运行无问题,基本表明实际的算法模块也没有问题;此时,可在实际机器人上嵌入算法模块进行实际测试了。

本实施例提供了一种机器人算法功能开发的方法,解决了算法开发过程中,尤其模块化开发过程中,算法模块、功能模块、整机控制功能模块的算法正确性、有效性无法验证的问题。通过在仿真环境中先运行,降低了将实际算法直接在机器人上运行时的风险,方便了算法开发验证。

本实施例包含的核心为模型转换,如图2所示,将模块式开发的算法模块,利用算法模型化转换工具转换成为仿真验证平台可用的算法模块模型。实际机器人在实际场景中获得的实际场景地图,通过场景模型转换工具转换为仿真平台的仿真场景地图。

本实施例中,机器人控制软件架构模型与实际机器人的软件算法模块调度架构相同。以便对应的算法模块模型可以嵌入进仿真机器人物理电气模型。全部或局部可运行的算法模块模型搭建完成之后,可在仿真验证平台中的仿真场景地图中搭建仿真机器人物理电气模型的行走路线和障碍物。

如图3所示,本实施例中将实际机器人的控制软件算法调度(也就是算法模块)分为10类,分别为轨迹规划算法模块、运动控制解析模块、传感器信号处理模块、感知算法模块、机器人当前状态参数模块、决策算法模块、底盘避障算法模块、底盘执行控制模块、机械臂避障算法模块和机械臂运动控制模块。这10类算法模块组成了实际机器人整体控制、运行所需要的功能模块,受到统一的进程调度模块的调度执行从而完成机器人的正常运行。

轨迹规划算法模块实施时,研发工程师可采用不同的轨迹规划算法,从而获得优化的轨迹规划能力。

运动控制解析模块用于从规划的轨迹数据(包括机器人行走数据和机械臂动作轨迹数据)中解析出移动底盘的运动数据和机械臂的运动数据。

传感器信号处理模块用于对机器人自身携带的传感器数据进行处理,从而获得对环境或障碍物的感知。不同的传感数据处理算法3b,将影响对环境或障碍物的识别、判断的准确性。

感知算法模块用于从传感数据中获得完整的、准确的对环境因素、周围障碍物的感知能力,从而提供给机器人决策算法模块作为决策数据依据。采取的感知算法不同,将产生不同的感知能力和水平。

机器人当前状态参数模块含有机器人当前的运行状态参数,如行走速度,角度,加减速度,机械臂末端关节速度、加减速度等。

决策算法模块对三个源数据进行决策计算,分别是感知算法模块的数据、机器人当前状态参数模块的数据、运动控制解析模块的数据。决策算法模块具有智能算法嵌入其中。智能算法为本领域常用算法,在此并不举例。

底盘避障算法模块用以根据决策算法模块的结果解算底盘移动路线及避障行为。

底盘执行控制模块决定了底盘的运动控制效果。

机械臂避障算法模块用以根据决策算法模块的结果,解算机械臂末端的动作轨迹及避障行为

机械臂运动控制模块为机械臂运动控制算法,决定了机械臂各关节的轨迹及柔顺性。

以上10类算法模块内部均嵌入有相应的算法,接下来要对所有算法模块的有效性进行验证。因此,本实施例基于以上10类算法模块建立了10类相应的算法模块模型,如图4所示。算法模块模型分别为轨迹规划算法模块模型、运动控制解析模块模型、传感器信号处理模型、感知算法模块模型、机器人当前状态参数模型、决策算法模块模型、底盘避障算法模块模型、底盘执行控制模型、机械臂避障算法模型。

其中,传感器信号处理模型包括障碍物与机器人坐标关联描述函数算法3a和传感数据处理算法3b。

障碍物与机器人坐标关联描述函数算法3a其本质是模拟的实际中的机器人传感器的作用,建立了机器人运行坐标数据与某障碍物坐标数据之间的关联函数,等效于机器人传感器在接近障碍物周边时识别到障碍物。

传感数据处理算法3b为依据关联函数模型的输出,对数据进行算法处理,形成“类”传感器的输出。

底盘控制运动模型包括底盘运动动力学算法8a和底盘运动控制算法8b。其中的底盘运动动力学算法8a用于生成底盘执行控制数据;底盘运动控制算法8b用以仿真模拟实际机器人底盘的动力学特性。

机械臂避障算法模型包括机械臂运动动力学算法10a和机械臂运动控制算法10b。机械臂运动控制算法10a于生成机械臂末端运动控制数据,机械臂运动动力学算法10b用于仿真模拟实际机器人机械臂的动力学特性。

接下来,首先假设实际机器人实施例在进行功能算法测试时的软件算法模块的执行时间轴线图。

如图5所示,分别为并行执行和顺序执行。

顺序执行过程中,依次执行轨迹规划算法1、运动控制解析算法2、传感器信号处理算法3、感知算法4、机器人当前状态参数算法5、决策算法6。接下来,同步执行底盘避障算法7和机械臂避障算法9,同步执行底盘执行控制算法8和机械臂运动控制算法10,其中,需要注意的是底盘执行控制算法8和机械臂运动控制算法10为同步执行,底盘避障算法7和机械臂避障算法9为同步执行。

并行执行过程中,轨迹规划算法1和传感器信号处理算法3同步执行,然后运动控制解析算法2、感知算法4和机器人当前状态参数算法5同步执行,然后执行决策算法6,再同步执行底盘避障算法7和机械臂避障算法9,最后同步执行底盘执行控制算法8和机械臂运动控制算法10。

通过并行执行和顺序执行,可以获得不同的机器人响应速度和性能,实际操作时,则可以依据机器人的实际控制要求而优化选择。

设计好实际机器人实施例在进行功能算法测试时的软件算法模块的执行时间轴线图后,便可以进行仿真模型的测试,模拟测试过程如图6所示。

测试结束后,还可以在仿真环境中,可对以上两种执行方式效果进行对比分析或进行多次测试。

需要指出的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种可重用的仿真验证平台及仿真验证方法
  • 用于服务机器人操作演示与算法验证的三维仿真平台
  • 用于服务机器人操作演示与算法验证的三维仿真平台
技术分类

06120116507583