机器人的仿真方法、装置、设备及存储介质与流程
未命名
07-12
阅读:87
评论:0
1.本技术涉及机器人仿真领域,尤其涉及一种机器人的仿真方法、装置、设备及存储介质。
背景技术:
2.机器人仿真是指是通过计算机对实体机器人系统进行模拟的技术,主要是对机器人本体的运动学和动力学特性进行仿真,例如移动机器人在二维平面的运动仿真,机器人的关节模组及末端执行机构的运动仿真。仿真是机器人研发过程中的重要一环,准确的仿真能够极大地减小算法实机部署和调试的时间,提高开发和测试效率。
3.现有技术中,对机器人(例如四足、双足、机械臂等)进行仿真的仿真器会将机器人处理成关节模组和连杆模型,即将机器人抽象为连杆模型,每个连杆的两端分别连接两个关节模组轴,将连杆视为刚体进行仿真。
4.但是仅使用连杆模型进行仿真,会忽略关节模组转子力矩的影响,导致仿真与真机之间存在差异,并且如果电机减速比越大,这个差异将会越明显,导致仿真结果准确度受到影响。
技术实现要素:
5.本技术提供了一种机器人的仿真方法、装置、设备及存储介质,用于使机器人在仿真过程中能够引入电机转子的影响,减小仿真与真机之间的差异。
6.本技术第一方面提供了一种机器人的仿真方法,包括:
7.确定机器人当前的仿真模式;
8.根据所述仿真模式获取所述机器人至少一个关节模组的转子仿真数据;
9.将所述转子仿真数据与连杆仿真数据结合,得到仿真结果。
10.可选的,所述根据所述仿真模式获取所述机器人至少一个关节模组的转子仿真数据包括:
11.对所述机器人的动力学方程进行线性化处理,得到目标动力学方程;
12.对所述目标动力学方程进行拆分得到转子动力学方程和连杆动力学方程;
13.根据所述仿真模式和所述转子动力学方程获取所述机器人至少一个关节模组的转子仿真数据。
14.可选的,所述当所述仿真模式为位置或速度仿真模式时,所述根据所述仿真模式和所述转子动力学方程获取所述机器人至少一个关节模组的转子仿真数据包括:
15.获取待仿真的输入关节模组状态,所述输入关节模组状态包括所述机器人至少一个关节模组的关节角度、角速度和角加速度;
16.根据所述待仿真的输入关节模组状态和所述转子动力学方程计算转子仿真力矩;
17.所述将所述转子仿真数据与连杆仿真数据结合,得到仿真结果包括:
18.根据所述输入关节模组状态进行连杆动力学仿真,得到连杆仿真力矩;
19.合并所述连杆仿真力矩和所述转子仿真力矩,得到力矩仿真结果。
20.可选的,当所述仿真模式为力控仿真模式时,所述根据所述仿真模式和所述转子动力学方程获取所述机器人至少一个关节模组的转子仿真数据包括:
21.获取所述机器人当前的运行关节模组状态,所述运行关节模组状态包括所述机器人至少一个关节模组的关节角度、角速度和角加速度;
22.根据所述运行关节模组状态和所述转子动力学方程计算转子仿真力矩;
23.所述将所述转子仿真数据与连杆仿真数据结合,得到仿真结果包括:
24.获取待仿真的输入力矩;
25.根据所述待仿真的输入力矩和所述转子仿真力矩确定连杆力矩,并根据所述连杆力矩进行仿真,得到关节模组运动仿真结果,所述连杆力矩为所述待仿真的输入力矩和所述转子仿真力矩的差值。
26.所述对机器人的动力学方程进行线性化处理,得到目标动力学方程包括:
27.对机器人的动力学方程进行线性化处理;
28.获取所述机器人每个关节模组的激励数据,并通过所述激励数据进行参数辨识,得到目标动力学参数;
29.根据所述目标动力学参数建立目标动力学方程。
30.可选的,所述目标动力学方程为:
31.τ=yπ;
32.其中,τ表示整机力矩,y为所述目标动力学参数对应的系数矩阵,π为所述目标动力学参数。
33.可选的,所述目标动力学参数包括连杆动力学参数和转子动力学参数,所述对所述目标动力学方程进行拆分得到转子动力学方程包括:
34.根据所述连杆动力学参数和所述转子动力学参数对所述目标动力学方程进行参数重组,得到重组后的目标动力学方程;
35.将所述重组后的目标动力学方程拆分为连杆动力学方程和转子动力学方程。
36.可选的,所述重组后的目标动力学方程为:
[0037][0038]
所述转子动力学方程为:
[0039]
τ2=y2π2;
[0040]
其中,y1、y2分别为连杆动力学和转子动力学参数对应的系数矩阵,π1、π2分别为连杆动力学参数和转子动力学参数。
[0041]
本技术第二方面提供了一种机器人的仿真装置,包括:
[0042]
模式确定单元,用于确定机器人当前的仿真模式;
[0043]
数据获取单元,用于根据所述仿真模式获取所述机器人至少一个关节模组的转子仿真数据;
[0044]
仿真处理单元,用于将所述转子仿真数据与连杆仿真数据结合,得到仿真结果。
[0045]
可选的,所述数据获取单元具体用于:对所述机器人的动力学方程进行线性化处理,得到目标动力学方程;
[0046]
对所述目标动力学方程进行拆分得到转子动力学方程和连杆动力学方程;
[0047]
根据所述仿真模式和所述转子动力学方程获取所述机器人至少一个关节模组的转子仿真数据。
[0048]
可选的,当所述仿真模式为位置或速度仿真模式时,所述数据获取单元具体用于:
[0049]
获取待仿真的输入关节模组状态,所述输入关节模组状态包括所述机器人至少一个关节模组的关节角度、角速度和角加速度;
[0050]
根据所述待仿真的输入关节模组状态和所述转子动力学方程计算转子仿真力矩;
[0051]
所述仿真处理单元具体用于:
[0052]
根据所述输入关节模组状态进行连杆动力学仿真,得到连杆仿真力矩;
[0053]
合并所述连杆仿真力矩和所述转子仿真力矩,得到力矩仿真结果。
[0054]
可选的,当所述仿真模式为力控仿真模式时,所述数据获取单元具体用于:
[0055]
获取所述机器人当前的运行关节模组状态,所述运行关节模组状态包括所述机器人至少一个关节模组的关节角度、角速度和角加速度;
[0056]
根据所述运行关节模组状态和所述转子动力学方程计算转子仿真力矩;
[0057]
所述仿真处理单元具体用于:
[0058]
获取待仿真的输入力矩;
[0059]
根据所述待仿真的输入力矩和所述转子仿真力矩确定连杆力矩,并根据所述连杆力矩进行仿真,得到关节模组运动仿真结果,所述连杆力矩为所述待仿真的输入力矩和所述转子仿真力矩的差值。
[0060]
可选的,所述数据获取单元具体还用于:
[0061]
对机器人的动力学方程进行线性化处理;
[0062]
获取所述机器人每个关节模组的激励数据,并通过所述激励数据进行参数辨识,得到目标动力学参数;
[0063]
根据所述目标动力学参数建立目标动力学方程。
[0064]
可选的,所述目标动力学方程为:
[0065]
τ=yπ;
[0066]
其中,τ表示整机力矩,y为所述目标动力学参数对应的系数矩阵,π为所述目标动力学参数。
[0067]
可选的,所述数据获取单元具体还用于:
[0068]
根据所述连杆动力学参数和所述转子动力学参数对所述目标动力学方程进行参数重组,得到重组后的目标动力学方程;
[0069]
将所述重组后的目标动力学方程拆分为连杆动力学方程和转子动力学方程。
[0070]
可选的,所述重组后的目标动力学方程为:
[0071][0072]
所述转子动力学方程为:
[0073]
τ2=y2π2;
[0074]
其中,y1、y2分别为连杆动力学和转子动力学参数对应的系数矩阵,π1、π2分别为连杆动力学参数和转子动力学参数。
[0075]
本技术第三方面提供了一种机器人的仿真设备,所述设备包括:
[0076]
处理器、存储器、输入输出单元以及总线;
[0077]
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
[0078]
所述存储器保存有程序,所述处理器调用所述程序以执行第一方面以及第一方面中任一项可选的机器人的仿真方法。
[0079]
本技术第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行第一方面以及第一方面中任一项可选的机器人的仿真方法。
[0080]
从以上技术方案可以看出,本技术具有以下优点:
[0081]
在对机器人进行仿真时,首先确定当前的仿真模式,再基于仿真模式获取对应的转子仿真数据,最后结合转子仿真数据和连杆仿真数据,得到仿真结果,使得机器人在仿真过程中能够引入电机转子的影响,减小仿真与真机之间的差异,提高仿真结果准确度。
附图说明
[0082]
为了更清楚地说明本技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0083]
图1为本技术提供的机器人的硬件结构示意图;
[0084]
图2为本技术提供的机器人的机械结构示意图;
[0085]
图3为本技术提供的机器人的仿真方法一个实施例流程示意图;
[0086]
图4为本技术提供的机器人的仿真方法另一个实施例流程示意图;
[0087]
图5为本技术提供的机器人的仿真方法中动力学方程拆分示意图;
[0088]
图6-1和图6-2为本技术提供的机器人的仿真方法中位置和速度仿真模式的仿真流程示意图;
[0089]
图7-1和图7-2为本技术提供的机器人的仿真方法中力控仿真模式的仿真流程示意图;
[0090]
图8为本技术提供的机器人的仿真装置一个实施例结构示意图;
[0091]
图9为本技术提供的机器人的仿真设备一个实施例结构示意图。
具体实施方式
[0092]
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0093]
在后续的描述中,使用用于表示部件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
[0094]
请参阅图1,图1为本发明其中一个实施方式的机器人100(以下简称为机器人100)的硬件结构示意图。在图1所示的实施方式中,机器人100包括机械单元101、通讯单元102、传感单元103、接口单元104、存储单元105、控制模块110、电源111。机器人100的各种部件可以以任何方式连接,包括有线或无线连接等。本领域技术人员可以理解,图1中示出的机器人100的具体结构并不构成对机器人100的限定,机器人100可以包括比图示更多或更少的
部件,某些部件也并不属于机器人100的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略,或者组合某些部件。
[0095]
下面结合图1对机器人100的各个部件进行具体的介绍:
[0096]
机械单元101为机器人100的硬件。如图1所示,机械单元101可包括驱动板1011、电机1012、机械结构1013,如图2所示,机械结构1013可包括机身主体1014、可伸展的腿部1015、足部1016,在本技术中,机械结构1013还可包括可伸展的机械臂(图未示)、可转动的头部结构1017、可摇动的尾巴结构1018、载物结构1019、鞍座结构1020、摄像头结构1021等。需要说明的是,机械单元101的各个部件模块可以为一个也可以为多个,可根据具体情况设置,比如腿部1015可为4个,每个腿部1015可配置3个电机1012,对应的电机1012为12个。
[0097]
通讯单元102可用于信号的接收和发送,还可以通过与网络和其他设备通信,比如,接收遥控器或其他机器人100发送的按照特定步态以特定速度值向特定方向移动的指令信息后,传输给控制模块110处理。通讯单元102包括如wifi模块、4g模块、5g模块、蓝牙模块、红外模块等。
[0098]
传感单元103用于获取机器人100周围环境的信息数据以及监控机器人100内部各部件的参数数据,并发送给控制模块110。传感单元103包括多种传感器,如获取周围环境信息的传感器:激光雷达(用于远程物体检测、距离确定和/或速度值确定)、毫米波雷达(用于短程物体检测、距离确定和/或速度值确定)、摄像头、红外摄像头、全球导航卫星系统(gnss,global navigation satellite system)等。如监控机器人100内部各部件的传感器:惯性测量单元(imu,inertial measurement unit)(用于测量速度值、加速度值和角速度值的值),足底传感器(用于监测足底着力点位置、足底姿态、触地力大小和方向)、温度传感器(用于检测部件温度)。至于机器人100还可配置的载荷传感器、触摸传感器、电机角度传感器、扭矩传感器等其他传感器,在此不再赘述。
[0099]
接口单元104可以用于接收来自外部装置的输入(例如,数据信息、电力等)并且将接收到的输入传输到机器人100内的一个或多个部件,或者可以用于向外部装置输出(例如,数据信息、电力等)。接口单元104可包括电源端口、数据端口(如usb端口)、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口等。
[0100]
存储单元105用于存储软件程序以及各种数据。存储单元105可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统程序、运动控制程序、应用程序(比如文本编辑器)等;数据存储区可存储机器人100在使用中所生成的数据(比如传感单元103获取的各种传感数据,日志文件数据)等。此外,存储单元105可以包括高速随机存取存储器,还可以包括非易失性存储器,例如磁盘存储器、闪存器、或其他易失性固态存储器。
[0101]
显示单元106用于显示由用户输入的信息或提供给用户的信息。显示单元106可包括显示面板1061,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板1061。
[0102]
输入单元107可用于接收输入的数字或字符信息。具体地,输入单元107可包括触控面板1071以及其他输入设备1072。触控面板1071,也称为触摸屏,可收集用户的触摸操作(比如用户使用手掌、手指或适合的附件在触控面板1071上或在触控面板1071附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板1071可包括触摸检测装置1073和触摸控制器1074两个部分。其中,触摸检测装置1073检测用户的触摸方位,并检测触摸操
作带来的信号,将信号传送给触摸控制器1074;触摸控制器1074从触摸检测装置1073上接收触摸信息,并将它转换成触点坐标,再送给控制模块110,并能接收控制模块110发来的命令并加以执行。除了触控面板1071,输入单元107还可以包括其他输入设备1072。具体地,其他输入设备1072可以包括但不限于遥控操作手柄等中的一种或多种,具体此处不做限定。
[0103]
进一步的,触控面板1071可覆盖显示面板1061,当触控面板1071检测到在其上或附近的触摸操作后,传送给控制模块110以确定触摸事件的类型,随后控制模块110根据触摸事件的类型在显示面板1061上提供相应的视觉输出。虽然在图1中,触控面板1071与显示面板1061是作为两个独立的部件来分别实现输入和输出功能,但是在某些实施例中,可以将触控面板1071与显示面板1061集成而实现输入和输出功能,具体此处不做限定。
[0104]
控制模块110是机器人100的控制中心,利用各种接口和线路连接整个机器人100的各个部件,通过运行或执行存储在存储单元105内的软件程序,以及调用存储在存储单元105内的数据,从而对机器人100进行整体控制。
[0105]
电源111用于给各个部件供电,电源111可包括电池和电源控制板,电源控制板用于控制电池充电、放电、以及功耗管理等功能。在图1所示的实施方式中,电源111电连接控制模块110,在其它的实施方式中,电源111还可以分别与传感单元103(比如摄像头、雷达、音箱等)、电机1012电性连接。需要说明的是,各个部件可以各自连接到不同的电源111,或者由相同的电源111供电。
[0106]
在上述实施方式的基础上,具体地,在一些实施方式中,可以通过终端设备来与机器人100进行通信连接,在终端设备与机器人100进行通信时,可以通过终端设备来向机器人100发送指令信息,机器人100可通过通讯单元102来接收指令信息,并可在接收到指令信息的情况下,将指令信息传输至控制模块110,使得控制模块110可根据指令信息来处理得到目标速度值。终端设备包括但不限于:具备图像拍摄功能的手机、平板电脑、服务器、个人计算机、可穿戴智能设备、其它电器设备。
[0107]
指令信息可以根据预设条件来确定。在一个实施方式中,机器人100可以包括传感单元103,传感单元103可根据机器人100所在的当前环境可生成指令信息。控制模块110可根据指令信息来判断机器人100的当前速度值是否满足对应的预设条件。若满足,则会保持机器人100的当前速度值和当前步态移动;若不满足,则会根据对应的预设条件来确定目标速度值和相应的目标步态,从而可控制机器人100以目标速度值和相应的目标步态移动。环境传感器可以包括温度传感器、气压传感器、视觉传感器、声音传感器。指令信息可以包括温度信息、气压信息、图像信息、声音信息。环境传感器与控制模块110之间的通信方式可以为有线通信,也可以为无线通信。无线通信的方式包括但不限于:无线网络、移动通信网络(3g、4g、5g等)、蓝牙、红外。
[0108]
以上对本技术提供的机器人的硬件结构和机械结构进行说明,下面对本技术提供的机器人的仿真方法进行说明。本技术提供了一种机器人的仿真方法,用于使机器人在仿真过程中能够引入电机转子的影响,减小仿真与真机之间的差异,提高仿真结果准确度。请参阅图3,图3为本技术提供的机器人的仿真方法的一个实施例,该方法包括:
[0109]
301、确定机器人当前的仿真模式;
[0110]
仿真是机器人学习和研究过程中最重要的工具之一,仿真在复杂的机器人项目中可以有效的帮助提高开发和测试效率。本技术中对机器人进行仿真具体是指对机器人本体
的运动学和动力学特性进行仿真,例如移动机器人在二维平面的运动,机械臂的关节及末端执行机构的运动。一般来说,仿真“机器人的运动”需要先对机器人建模得到运动学和动力学模型,然后利用模型结合给定的输入,例如输入力和力矩,然后得到实际情况中机器人应该有怎么样的运动表现。
[0111]
终端设备在进行机器人的仿真之前,首先需要根据给定输入来确定当前的仿真模式。对于机器人的运动学仿真,主要是针对机器人各个关节角以及末端位姿之间的数学关系,而动力学仿真则是针对机器人关节角度、角速度以及角加速度和关节力矩之间的关系。在本技术中,对于机器人的动力学仿真,至少可以提供两种不同的仿真模式,其一是力控仿真,即给定输入为力矩,可以计算得到连杆上的受力情况,从而仿真得到各个关节的关节角度、角速度以及角加速度;其二是位置或速度仿真,即给定输入为关节的关节角度、角速度以及角加速度,仿真得到各个关节需要施加的力矩。
[0112]
302、根据仿真模式获取机器人至少一个关节模组的转子仿真数据;
[0113]
本实施例中提供的机器人的仿真方法应用于包含多个关节模组的机器人,即由多个关节模组和多个连杆构成的机器人,例如多轴机械臂、外骨骼机器人、双足机器人、四足机器人、手术机器人等。机器人的关节模组具体是指由伺服电机、编码器、减速机等在内的多个机器人关节核心部件连接整合在一起的集成模块化组件,机器人的关节模组连接在两个连杆之间,允许连杆之间进行相对运动,关节模组是机器人最重要的基础部件之一,也是运动的核心部件。
[0114]
对于机器人关节的驱动离不开电机,关节越多,其柔性和精度就越高,所要求使用的电机数量就越多。具体的,机器人的电机包括定子和转子,定子是指电机中固定的部分,转子则是指电枢铁心和电枢绕组,转子力矩则是转子所能产生的“扭力”的大小。现有技术中,在对机器人进行仿真时会将机器人处理为关节和连杆模型,忽略了关节内部的转子力矩,但实际上转子力矩也会对机器人的动力学特性产生一定的影响,因此在本实施例中,为了在仿真过程中引入转子力矩的影响,终端设备需要根据不同的仿真模式,获取对应的转子仿真数据。
[0115]
303、将转子仿真数据与连杆仿真数据结合,得到仿真结果。
[0116]
机器人还需要根据仿真模式和给定输入得到机器人的连杆仿真数据,再将转子仿真数据和连杆仿真数据进行结合,得到仿真结果,即在连杆仿真部分的基础上加上转子部分仿真,从而实现包含转子动力学的机器人的仿真。
[0117]
在本实施例中,在对机器人进行仿真时,首先确定当前的仿真模式,再基于仿真模式获取对应的转子仿真数据,最后结合转子仿真数据和连杆仿真数据,得到仿真结果,使得机器人在仿真过程中能够引入电机转子的影响,减小仿真与真机之间的差异,提高仿真准确度。
[0118]
下面对本技术提供的机器人的仿真方法中转子仿真数据的获取方式进行详细说明,请参阅图4为本技术提供的机器人的仿真方法的另一个实施例,该方法包括:
[0119]
401、确定机器人当前的仿真模式;
[0120]
在本实施例中,步骤401与前述实施例步骤101类似,此处不再赘述。
[0121]
402、对机器人的动力学方程进行线性化处理,得到目标动力学方程;
[0122]
在本实施例中,终端设备对机器人的动力学方程进行线性化处理,建立机器人的
[0140]
目标动力学参数已通过参数辨识得到,因此通过读取关节角度、角速度、角加速度即可分别计算连杆力矩τ1和转子力矩τ2。
[0141]
404、根据仿真模式和转子动力学方程获取机器人至少一个关节模组的转子仿真数据;
[0142]
在得到转子动力学方程后,终端设备则可根据不同的仿真模式,以及具体的给定输入,通过该转子动力学方程计算转子仿真数据,获得机器人至少一个关节模组的转子仿真数据。
[0143]
405、将转子仿真数据与连杆仿真数据结合,得到仿真结果。
[0144]
在本实施例中,步骤405与前述实施例步骤303类似,此处不再赘述。
[0145]
需要说明的是,关于机器人的连杆仿真数据,可以直接通过现有的仿真器进行仿真得到,例如pybullet、gazebo、vrep、webots等仿真器均可。
[0146]
在本实施例中,通过对动力学方程进行线性化处理,以便于动力学参数拆分重组,分离动力学方程中连杆部分和转子部分,提取出转子动力学方程。通过该转子动力学方程能够计算转子仿真数据,最后结合转子仿真数据和连杆仿真数据得到整机的仿真结果。本技术通过在现有的仿真器中加入电机转子仿真的方法,使得机器人在仿真过程中能够引入电机转子的影响,减小仿真与真机之间的差异,提高仿真结果准确度。
[0147]
在本技术中,对机器人的仿真可分为位置或速度仿真以及力控仿真两种模式,针对这两种不同的仿真模式,具体的仿真流程有所不同,下面分别进行说明:
[0148]
一、位置或速度仿真模式:
[0149]
请参阅图6-1和图6-2,图6-1为本技术提供的机器人的仿真方法中关于位置或速度仿真的一个实施例,该仿真方法包括:
[0150]
601、确定机器人当前的仿真模式为位置或速度仿真模式;
[0151]
在本实施例中,主要针对位置或速度仿真的仿真模式下仿真流程进行描述,即终端设备确定机器人当前的仿真模式为位置或速度仿真模式。在位置或速度仿真模式下,终端设备根据输入的机器人至少一个关节模组的关节角度q、角速度dq和角加速度ddq,即机器人至少一个关节模组的运动表现,预测需要对该至少一个关节模组所施加的力矩。
[0152]
602、获取待仿真的输入关节模组状态,输入关节模组状态包括机器人至少一个关节模组的关节角度、角速度和角加速度;
[0153]
在位置或速度仿真模式下,给定输入为机器人至少一个关节模组的关节角度q、角速度dq和角加速度ddq,即本实施例中的待仿真的输入关节模组状态。需要说明的是,该关节角度不仅指关节的角度位置,还包括关节模组中转子的角度位置。
[0154]
603、根据待仿真的输入关节模组状态和转子动力学方程计算转子仿真力矩;
[0155]
关于转子动力学仿真部分,由于关节模组的关节角度q、角速度dq和角加速度ddq和关节模组内转子的角度q'、角速度dq'和角加速度ddq'成固定比例关系,数值上等于关节减速比,因此根据读取到的输入关节模组状态乘以减速比后,再根据图4对应实施例中得到的转子动力学方程:τ2=y2π2,代入可以计算得到转子仿真力矩τ2,即驱动关节运动所需要的转子力矩。
[0156]
604、根据输入关节模组状态进行连杆动力学仿真,得到连杆仿真力矩;
[0157]
关于连杆动力学仿真部分,终端设备则根据获取的输入关节模组状态使用现有的
仿真器进行仿真,得到连杆仿真力矩。
[0158]
605、合并连杆仿真力矩和转子仿真力矩,得到力矩仿真结果。
[0159]
请参阅图6-2,终端设备合并转子仿真力矩和连杆仿真力矩,将合并结果确定为最终的力矩仿真结果,实现转子仿真数据和连杆仿真数据的结合,从而实现包含转子动力学的机器人位置或速度的仿真。
[0160]
二、力控仿真模式:
[0161]
请参阅图7-1和图7-2,图7-1为本技术提供的机器人的仿真方法中关于力控仿真的一个实施例,该仿真方法包括:
[0162]
701、确定机器人当前的仿真模式为力控仿真模式;
[0163]
在本实施例中,主要针对力控仿真的仿真模式下仿真流程进行描述,即终端设备确定机器人当前的仿真模式为力控仿真模式。在力控仿真模式中,终端设备根据输入的力或力矩预测机器人至少一个关节模组的关节角度、角速度与角加速度,即预测机器人的运动表现。
[0164]
702、获取机器人当前的运行关节模组状态,运行关节模组状态包括机器人至少一个关节模组的关节角度、角速度和角加速度;
[0165]
在力控仿真模式下,终端设备需要从仿真器中读取机器人当前的运行关节模组状态,即从仿真器中读取机器人当前至少一个关节模组的关节角度q、角速度dq和角加速度ddq,需要说明的是,该关节角度包括关节模组中转子的角度位置。
[0166]
703、根据运行关节模组状态和转子动力学方程计算转子仿真力矩;
[0167]
由于关节模组的关节角度q、角速度dq和角加速度ddq和关节模组内转子的角度q'、角速度dq'和角加速度ddq'成固定比例关系,数值上等于关节减速比,因此根据读取到的运行关节模组状态乘以减速比后,再根据图4对应实施例中得到的转子动力学方程:τ2=y2π2,可以计算得到当前机器人至少一个关节模组的转子仿真力矩τ2。
[0168]
704、获取待仿真的输入力矩;
[0169]
在力控仿真模式下,给定输入为关节的驱动力矩,即本实施例中待仿真的输入力矩,终端设备获取该待仿真的输入力矩。
[0170]
705、根据待仿真的输入力矩和转子仿真力矩确定连杆力矩,并根据连杆力矩进行仿真,得到关节模组运动仿真结果。
[0171]
请参阅图7-2,终端设备使用待仿真的输入力矩减去转子仿真力矩,得到连杆力矩,再使用该连杆力矩输入现有的仿真器中进行仿真,得到关节模组的运动仿真结果,从而预测关节模组的运动表现。通过计算输入力矩减去转子仿真力矩得到连杆力矩,使用该连杆力矩进行力控仿真,在力控仿真模式下引入了电机转子力矩的影响,在现有仿真器仿真的基础上加入了转子动力学,模拟带转子动力学的整机仿真效果,减小仿真与真机之间的差异,提高仿真结果准确度。
[0172]
请参阅图8,图8为本技术提供的机器人的仿真装置一个实施例,该装置包括:
[0173]
模式确定单元801,用于确定机器人当前的仿真模式;
[0174]
数据获取单元802,用于根据仿真模式获取机器人至少一个关节模组的转子仿真数据;
[0175]
仿真处理单元803,用于将转子仿真数据与连杆仿真数据结合,得到仿真结果。
[0176]
可选的,数据获取单元802具体用于:对机器人的动力学方程进行线性化处理,得到目标动力学方程;
[0177]
对目标动力学方程进行拆分得到转子动力学方程和连杆动力学方程;
[0178]
根据仿真模式和转子动力学方程获取机器人至少一个关节模组的转子仿真数据。
[0179]
可选的,当仿真模式为位置或速度仿真模式时,数据获取单元802具体用于:
[0180]
获取待仿真的输入关节模组状态,输入关节模组状态包括机器人至少一个关节模组的关节角度、角速度和角加速度;
[0181]
根据待仿真的输入关节模组状态和转子动力学方程计算转子仿真力矩;
[0182]
仿真处理单元803具体用于:
[0183]
根据输入关节模组状态进行连杆动力学仿真,得到连杆仿真力矩;
[0184]
合并连杆仿真力矩和转子仿真力矩,得到力矩仿真结果。
[0185]
可选的,当仿真模式为力控仿真模式时,数据获取单元802具体用于:
[0186]
获取机器人当前的运行关节模组状态,运行关节模组状态包括机器人至少一个关节模组的关节角度、角速度和角加速度;
[0187]
根据运行关节模组状态和转子动力学方程计算转子仿真力矩;
[0188]
仿真处理单元803具体用于:
[0189]
获取待仿真的输入力矩;
[0190]
根据待仿真的输入力矩和转子仿真力矩确定连杆力矩,并根据连杆力矩进行仿真,得到关节模组运动仿真结果,连杆力矩为待仿真的输入力矩和转子仿真力矩的差值。
[0191]
可选的,数据获取单元802具体还用于:
[0192]
对机器人的动力学方程进行线性化处理;
[0193]
获取机器人每个关节模组的激励数据,并通过激励数据进行参数辨识,得到目标动力学参数;
[0194]
根据目标动力学参数建立目标动力学方程。
[0195]
可选的,目标动力学方程为:
[0196]
τ=yπ;
[0197]
其中,τ表示整机力矩,y为目标动力学参数对应的系数矩阵,π为目标动力学参数。
[0198]
可选的,数据获取单元802具体还用于:
[0199]
根据连杆动力学参数和转子动力学参数对目标动力学方程进行参数重组,得到重组后的目标动力学方程;
[0200]
将重组后的目标动力学方程拆分为连杆动力学方程和转子动力学方程。
[0201]
可选的,重组后的目标动力学方程为:
[0202][0203]
转子动力学方程为:
[0204]
τ2=y2π2;
[0205]
其中,y1、y2分别为连杆动力学和转子动力学参数对应的系数矩阵,π1、π2分别为连杆动力学参数和转子动力学参数。
[0206]
本实施例装置中,各单元的功能与前述图3、4、6-1、7-1所示方法实施例中的步骤
对应,此处不再赘述。
[0207]
本技术还提供了一种机器人的仿真设备,请参阅图9,图9为本技术提供的机器人的仿真设备一个实施例,该设备包括:
[0208]
处理器901、存储器902、输入输出单元903、总线904;
[0209]
处理器901与存储器902、输入输出单元903以及总线904相连;
[0210]
存储器902保存有程序,处理器901调用程序以执行如上任一机器人的仿真方法。
[0211]
本技术还涉及一种计算机可读存储介质,计算机可读存储介质上保存有程序,其特征在于,当程序在计算机上运行时,使得计算机执行如上任一机器人的仿真方法。
[0212]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0213]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0214]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0215]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0216]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
技术特征:
1.一种机器人的仿真方法,其特征在于,所述仿真方法包括:确定机器人当前的仿真模式;根据所述仿真模式获取所述机器人至少一个关节模组的转子仿真数据;将所述转子仿真数据与连杆仿真数据结合,得到仿真结果。2.根据权利要求1所述的仿真方法,其特征在于,所述根据所述仿真模式获取所述机器人至少一个关节模组的转子仿真数据包括:对所述机器人的动力学方程进行线性化处理,得到目标动力学方程;对所述目标动力学方程进行拆分得到转子动力学方程和连杆动力学方程;根据所述仿真模式和所述转子动力学方程获取所述机器人至少一个关节模组的转子仿真数据。3.根据权利要求2所述的仿真方法,其特征在于,当所述仿真模式为位置或速度仿真模式时,所述根据所述仿真模式和所述转子动力学方程获取所述机器人至少一个关节模组的转子仿真数据包括:获取待仿真的输入关节模组状态,所述输入关节模组状态包括所述机器人至少一个关节模组的关节角度、角速度和角加速度;根据所述待仿真的输入关节模组状态和所述转子动力学方程计算转子仿真力矩;所述将所述转子仿真数据与连杆仿真数据结合,得到仿真结果包括:根据所述输入关节模组状态进行连杆动力学仿真,得到连杆仿真力矩;合并所述连杆仿真力矩和所述转子仿真力矩,得到力矩仿真结果。4.根据权利要求2所述的仿真方法,其特征在于,当所述仿真模式为力控仿真模式时,所述根据所述仿真模式和所述转子动力学方程获取所述机器人至少一个关节模组的转子仿真数据包括:获取所述机器人当前的运行关节模组状态,所述运行关节模组状态包括所述机器人至少一个关节模组的关节角度、角速度和角加速度;根据所述运行关节模组状态和所述转子动力学方程计算转子仿真力矩;所述将所述转子仿真数据与连杆仿真数据结合,得到仿真结果包括:()获取待仿真的输入力矩;根据所述待仿真的输入力矩和所述转子仿真力矩确定连杆力矩,并根据所述连杆力矩进行仿真,得到关节模组运动仿真结果,所述连杆力矩为所述待仿真的输入力矩和所述转子仿真力矩的差值。5.根据权利要求2至4中任一项所述的仿真方法,其特征在于,所述对机器人的动力学方程进行线性化处理,得到目标动力学方程包括:对机器人的动力学方程进行线性化处理;获取所述机器人每个关节模组的激励数据,并通过所述激励数据进行参数辨识,得到目标动力学参数;根据所述目标动力学参数建立目标动力学方程。6.根据权利要求5所述的方法,其特征在于,所述目标动力学方程为:τ=yπ;其中,τ表示整机力矩,y为所述目标动力学参数对应的系数矩阵,π为所述目标动力学
参数。7.根据权利要求5所述的仿真方法,其特征在于,所述目标动力学参数包括连杆动力学参数和转子动力学参数,所述对所述目标动力学方程进行拆分得到转子动力学方程包括:根据所述连杆动力学参数和所述转子动力学参数对所述目标动力学方程进行参数重组,得到重组后的目标动力学方程;将所述重组后的目标动力学方程拆分为连杆动力学方程和转子动力学方程。8.根据权利要求7所述的仿真方法,其特征在于,所述重组后的目标动力学方程为:所述转子动力学方程为:τ2=y2π2;其中,y1、y2分别为连杆动力学和转子动力学参数对应的系数矩阵,π1、π2分别为连杆动力学参数和转子动力学参数。9.一种机器人的仿真装置,其特征在于,所述仿真装置包括:模式确定单元,用于确定机器人当前的仿真模式;数据获取单元,用于根据所述仿真模式获取所述机器人至少一个关节模组的转子仿真数据;仿真处理单元,用于将所述转子仿真数据与连杆仿真数据结合,得到仿真结果。10.一种机器人的仿真设备,其特征在于,所述仿真设备包括:处理器、存储器、输入输出单元以及总线;所述处理器与所述存储器、所述输入输出单元以及所述总线相连;所述存储器保存有程序,所述处理器调用所述程序以执行如权利要求1至8中任一项所述方法。11.一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行如权利要求1至8中任一项所述方法。
技术总结
本申请公开了一种机器人的仿真方法、装置、设备及存储介质,用于使机器人在仿真过程中能够引入电机转子的影响,减小仿真与真机之间的差异。本申请方法包括:确定机器人当前的仿真模式;根据所述仿真模式获取所述机器人至少一个关节模组的转子仿真数据;将所述转子仿真数据与连杆仿真数据结合,得到仿真结果。得到仿真结果。得到仿真结果。
技术研发人员:余志友
受保护的技术使用者:深圳鹏行智能研究有限公司
技术研发日:2022.12.28
技术公布日:2023/7/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
