CN118114709A - 一种四足机器人动作设计与复杂行为生成方法及系统 - Google Patents
一种四足机器人动作设计与复杂行为生成方法及系统 Download PDFInfo
- Publication number
- CN118114709A CN118114709A CN202410248990.4A CN202410248990A CN118114709A CN 118114709 A CN118114709 A CN 118114709A CN 202410248990 A CN202410248990 A CN 202410248990A CN 118114709 A CN118114709 A CN 118114709A
- Authority
- CN
- China
- Prior art keywords
- robot
- motion
- action
- time
- design
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 139
- 238000013461 design Methods 0.000 title claims abstract description 80
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000009471 action Effects 0.000 claims abstract description 170
- 230000006399 behavior Effects 0.000 claims abstract description 80
- 230000008569 process Effects 0.000 claims abstract description 22
- 230000006870 function Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 15
- 230000001133 acceleration Effects 0.000 claims description 12
- 238000012886 linear function Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 6
- 238000006073 displacement reaction Methods 0.000 claims description 6
- 230000005021 gait Effects 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 4
- 150000001875 compounds Chemical class 0.000 claims description 3
- 230000001788 irregular Effects 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims 1
- 230000000007 visual effect Effects 0.000 abstract description 3
- 210000000988 bone and bone Anatomy 0.000 description 24
- 230000000875 corresponding effect Effects 0.000 description 13
- 210000002414 leg Anatomy 0.000 description 13
- 238000000605 extraction Methods 0.000 description 11
- 230000001276 controlling effect Effects 0.000 description 10
- 238000003786 synthesis reaction Methods 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 7
- 230000002787 reinforcement Effects 0.000 description 7
- 238000013515 script Methods 0.000 description 6
- 238000012938 design process Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 210000001503 joint Anatomy 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000000323 shoulder joint Anatomy 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 210000000689 upper leg Anatomy 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 210000000610 foot bone Anatomy 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Landscapes
- Manipulator (AREA)
Abstract
本发明属于四足机器人控制技术领域,提供了一种四足机器人动作设计与复杂行为生成方法及系统,根据四足机器人的信息,建立四足机器人的动画模型;根据所述动画模型,进行动作设计;对所设计的动作进行轨迹数据的提取,以及以四足机器人获得的累积奖励最大为目标进行优化,建立动作库;对所述动作库中的动作,在时间轴下进行组合后生成行为轨迹数据;根据生成的行为轨迹数据,控制四足机器人。以可视化的动画模型为基础,采用动作函数的形式进行动作设计,动作更具灵活性和可编辑性,可以通过轻松修改函数来改变动作,在实现动作精确控制的前提下,提高了动作设计效率;同时,在时间轴下组合生成行为,组合时间过程较短,行为生成效率较高。
Description
技术领域
本发明属于四足机器人技术领域,尤其涉及一种四足机器人动作设计与复杂行为生成方法及系统。
背景技术
四足机器人与其他类型的腿足式机器人相比既有较好的静态稳定性,又有较好的动态性能,是比较经济实用的配置形式。
发明人发现,在复杂环境下进行四足机器人控制时,动作生成以及通过动作合成行为过程中,现有方法主要存在动作设计和行为合成对专业要求的门槛较高,以及动作设计和行为合成的效率较低等问题。
发明内容
本发明为了解决上述问题,提出了一种四足机器人动作设计与复杂行为生成方法及系统,本发明以可视化的动画模型为基础,降低了动作设计入门门槛,提高了动作设计效率;采用动作函数的形式进行动作设计,动作更具灵活性和可编辑性,可以通过轻松修改函数来改变动作,在实现动作精确控制的前提下,进一步的提高了动作设计效率;同时,在时间轴下组合生成行为,组合时间过程较短,行为生成效率较高。
为了实现上述目的,本发明是通过如下的技术方案来实现:
第一方面,本发明提供了一种四足机器人动作设计与复杂行为生成方法,包括:
根据四足机器人的信息,建立四足机器人的动画模型;
根据所述动画模型,进行动作设计;其中,对于水平方向的关于时间的轨迹参数方程选择一次函数的形式,对于竖直方向的关于时间的轨迹参数方程选择幂函数的形式;
对所设计的动作进行轨迹数据的提取,以及以四足机器人获得的累积奖励最大为目标进行优化,建立动作库;
对所述动作库中的动作,在时间轴下进行组合后生成行为轨迹数据;在时间轴中,创建不同的时间段;每个时间段包括一个开始时间和一个结束时间,用于规定在时间段内执行所述动作库中的哪些动作;
根据生成的行为轨迹数据,控制四足机器人。
进一步的,建立四足机器人的动画模型时,根据关节属性,确定所设置的关节处的控制骨骼位置,并以根骨骼为基础,按照运动学关系和坐标轴位置,在根骨骼中添加其余的骨骼;设置link原点位置,遍历出每一个link的原点位置,并在基坐标系下确定出机器人本体坐标系位置并完成构建;然后,获取link的相关数据,并将相关数据构建至四足机器人模型中,与关节形成一个完成的四足机器人动画模型。
进一步的,四足机器人跳跃的轨迹方程为:
其中,x(t)为水平方向的关于时间的轨迹参数方程,t为运动时间;S为前进距离;T为运动周期;y(t)为竖直方向的关于时间的轨迹参数方程;H为抬腿高度;n为幂函数阶次。
进一步的,选择不同的插值方式来模拟四足机器人在物理约束下的动作,进行无规则曲线运动时,采用贝塞尔曲线插值方式;在离地到顶点过程,采用抛体插值;在顶点到触地过程,采用自由落体插值。
进一步的,在设计行走动作时,选择复合摆线形式的插值:
其中,S为步幅;Tm为运动周期;t为运动时间;H为抬腿高度;x为水平方向上的位移;y为竖直方向上的位移。
进一步的,提取得到四足机器人质心的位置、质心的速度、质心的加速度和质心的角度,以及足端的位置、速度、加速度和触地状态;以四足机器人获得的累积奖励最大为目标进行优化,建立动作库。
进一步的,对动作库中的动作,在时间轴下组合生成行为。
第二方面,本发明还提供了一种四足机器人动作设计与复杂行为生成系统,包括:
动画模型建立模块,被配置为:根据四足机器人的信息,建立四足机器人的动画模型;
动作设计模块,被配置为:根据所述动画模型,进行动作设计;其中,对于水平方向的关于时间的轨迹参数方程选择一次函数的形式,对于竖直方向的关于时间的轨迹参数方程选择幂函数的形式;
动作库建立模块,被配置为:对所设计的动作进行轨迹数据的提取,以及以四足机器人获得的累积奖励最大为目标进行优化,建立动作库;
行为生成模块,被配置为:对所述动作库中的动作,在时间轴下进行组合后生成行为轨迹数据;在时间轴中,创建不同的时间段;每个时间段包括一个开始时间和一个结束时间,用于规定在时间段内执行所述动作库中的哪些动作;
控制模块,被配置为:根据生成的行为轨迹数据,控制四足机器人。
第三方面,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现了第一方面所述的四足机器人动作设计与复杂行为生成方法的步骤。
第四方面,本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并能够在处理器上运行的计算机程序,所述处理器执行所述程序时实现了第一方面所述的四足机器人动作设计与复杂行为生成方法的步骤。
第五方面,本发明还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时,实现了第一方面所述的四足机器人动作设计与复杂行为生成方法的步骤。
与现有技术相比,本发明的有益效果为:
1、本发明中,首先,根据四足机器人的信息,建立四足机器人的动画模型;然后,根据所述动画模型,进行动作设计;其中,对于水平方向的关于时间的轨迹参数方程选择一次函数的形式,对于竖直方向的关于时间的轨迹参数方程选择幂函数的形式;对所设计的动作进行轨迹数据的提取,以及以四足机器人获得的累积奖励最大为目标进行优化,建立动作库;对所述动作库中的动作,在时间轴下进行组合后生成行为轨迹数据;最后,根据生成的行为轨迹数据,控制四足机器人。以可视化的动画模型为基础,降低了动作设计入门门槛,提高了动作设计效率;采用动作函数的形式进行动作设计,动作更具灵活性和可编辑性,可以通过轻松修改函数来改变动作,在实现动作精确控制的前提下,进一步的提高了动作设计效率;同时,在时间轴下组合生成行为,组合时间过程较短,行为生成效率较高,在时间轴中,用户可以创建不同的时间段,每个时间段都有一个开始时间和结束时间,用于规定在这段时间内应该执行哪些子动作,通过引入时间段后可以提高子动作切换的稳定性与柔顺性;
2、本发明相比于传统四足机器人动作设计,采用动画编辑进行动作设计,可视化动作设计过程,降低动作设计入门门槛,提高动作设计效率;通过编写轨迹提取脚本提取对应规划点所对应的骨骼位置、速度、加速度和角度等数据,获取所对应的动作轨迹信息,更加灵活和便捷;将所设计的动作在时间轴下组合生成行为,进行组合时,组合时间过程较短,行为生成效率较高,并可将生成的行为可视化。
附图说明
构成本实施例的一部分的说明书附图用来提供对本实施例的进一步理解,本实施例的示意性实施例及其说明用于解释本实施例,并不构成对本实施例的不当限定。
图1为实施例1的四足机器人结构示意图;
图2为实施例1的四足机器人动作设计与复杂行为生成方法的整体流程图;
图3为实施例1的四足机器人动画模型骨骼父子级关系图;
图4为实施例1的轨迹提取流程图;
图5为实施例1的四足机器人使用强化学习优化轨迹流程图;
图6为实施例1的行为生成软件页面图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
实施例1:
四足机器人与其他类型的腿足式机器人相比既有较好的静态稳定性,又有较好的动态性能,是比较经济实用的配置形式。四足机器人不再是简单的工业装置,而是日益智能化、灵活适应多样任务的实体,其应用涵盖工业制造、医疗服务、物流配送和军事应用等多个领域。面对复杂情景下的复杂任务的完成,需要根据具体任务的不同而设计不同的动作,并以此构成复杂行为,提高了四足机器人在协作、交互和执行复杂任务方面的能力。
针对复杂环境下四足机器人作业/移动技能行为获得问题,研究基于动作设计的四足机器人动作设计与复杂行为生成方法,实现四足机器人动作设计与复杂行为生成需要考虑多个问题:
一是四足机器人动作的设计。通过动作设计构成子动作,是生成复杂行为的基础。通过基于轨迹规划的方法能够使用目标函数对四足机器人进行动作设计,但是该方法在保证四足机器人动作在执行过程中的柔顺性与在后期合成行为的整体协调性上有较大困难,且四足机器人动作多样,所需的规划算法也会有不同,难度大,效率低。通过基于运动数据的方法进行动作设计,使用目标追踪算法获得视频中的运动数据,可以实现更加逼真、自然的动作,但是该方法所需较多动物运动数据集,并且目标跟踪的数据结果不够准确。通过基于动作捕捉的方法进行动作设计能够得到精度较高运动细节,但该方法需要专业的设备和特定的软硬件,成本较高。通过基于强化学习的方法进行动作设计能够实现非线性和高动态的动作,但该方法训练时间较长,所需计算资源较多,并且在缺乏先验知识的情况下,该方法不适用事先确定规则或约束的情况。
二是动作轨迹的获取。当对四足机器人动作设计完成后,为后续行为组合与样机验证打下基础。但是由于所选择的四足机器人类型的不同,采用的运动学模型也不相同,因此对于不同动作轨迹数据的提取有不同。不仅如此,使用传感器获取动作轨迹时,传感器的精度和误差是一个关键问题。传感器可能受到噪声、环境条件和硬件限制的影响,导致测量结果不准确。而且在应用场景中,后一时刻的动作状态可能会受前一时刻影响,如触地状态等,因此在动作轨迹提取中需要注意前后状态的承接,这在实现过程中是较为困难的。
三是动作合成行为。当设计完若干动作后,便可以根据任务的不同选择不同的动作合成行为。但在行为生成过程中,为了使机器人的运动看起来自然而流畅,合成的行为需要确保动作轨迹在关节空间上是平滑和连续的,避免关节角度和速度的突变对于机器人的稳定性和执行效果非常重要。在行为生成时,需要考虑足端与地面的接触情况,这一部分涉及到足端的接触控制,需要对足端传感器进行数据融合,较为复杂。当四足机器人运动时,需要考虑多个足端协调运动,以确保机器人整体的平衡和稳定,合成行为需要考虑足端之间的协同工作,以避免冲突和碰撞,但这一过程需要考虑到若干足的位置变化,只能通过仿真实验将所有动作组合完成后才可观测到,无法提前观测。
针对存在动作设计和行为合成对专业要求的门槛较高,以及动作设计和行为合成的效率较低等问题;本实施例提供了一种四足机器人动作设计与复杂行为生成方法,包括:
根据四足机器人的信息,建立四足机器人的动画模型;
根据所述动画模型,进行动作设计;其中,对于水平方向的关于时间的轨迹参数方程选择一次函数的形式,对于竖直方向的关于时间的轨迹参数方程选择幂函数的形式;
对所设计的动作进行轨迹数据的提取,以及以四足机器人获得的累积奖励最大为目标进行优化,建立动作库;
对所述动作库中的动作,在时间轴下进行组合后生成行为轨迹数据;在时间轴中,创建不同的时间段;每个时间段包括一个开始时间和一个结束时间,用于规定在时间段内执行所述动作库中的哪些动作;
根据生成的行为轨迹数据,控制四足机器人。
通过机器人运动学关系,在动画编辑软件中构建机器人三维模型,定义机器人躯干、腿和臂坐标系,对四足机器人进行动作设计,与轨迹规划、目标跟踪、动作捕捉和强化学习等动作设计方法相比,本实施例中的方法可以将动作设计过程可视化和简便化,提高了动作设计的效率,并采用程序脚本的形式,编写坐标点提取插件,提取四足机器人相应规划点的轨迹坐标,且通过上位机编写行为生成系统,在该系统中具有若干动作轨迹数据的存放、动作之间的组合生成行为与生成后的行为预览等功能。
本实施例通过动画编辑的方法,进行四足机器人动作设计,将动作设计过程可视化和便捷化,并进行轨迹提取获取四足机器人轨迹数据,在进行轨迹优化后对动作轨迹数据进行封装。然后进行四足机器人动作在时间轴下的组合生成行为,能够实现复杂行为的生成。
如图1所示,可选的,本实施例中的四足机器人,为前肘后肘式的腿部结构,每条腿具有3个自由度,还包括至少一个6自由度机械臂。
本实施例中的方法,可选的,首先,采用动画编辑软件进行动作设计,可视化动作设计过程,降低了动作设计入门门槛,提高了动作设计效率。其次,通过编写轨迹提取脚本,提取对应规划点所对应的骨骼位置、速度、加速度和角度等数据,获取所对应的动作轨迹信息,轨迹数据的获取灵活和便捷。最后,将动作在时间轴下组合生成行为,进行组合时,组合时间较短,行为生成效率较高,并可将生成的行为可视化。如图2所示,本实施例方法的具体步骤如下:
S1、构建动画模型:
S1.1、对四足机器人进行建模。可选的,采用3D设计软件SolidWorks对四足机器人的各部件进行设计,建立出各部件的STL模型文件,并进行组装,组装成一个完整的四足机器人。
S1.2、将建立的STL模型文件转成URDF(Universal Robot Description Format)文件。可选的,在SolidWorks中安装对应的转换插件后,设置机器人本体坐标系(base_link),修改设计模型中的连杆link为每个单独的link,并对关节joint进行修改,对旋转关节设置转动范围,使其与实际下旋转角度约束相一致。
S1.3、将导出的URDF文件在rviz中显示出。可选的,在Ubuntu18.04系统下的ROS-melodic中,编写launch文件,启动rviz显示四足机器人模型。rviz是ROS中的一个开源工具,主要用于机器人的可视化,它能够显示和调试机器人的传感器数据、状态信息以及运动规划等。
S1.4、将生成的URDF模型转成fbx动画模型。可选的,通过python脚本编写转换插件,将该插件导入到blender中,完成模型的转换。
可选的,插件使用python语言进行编写,集成blender的python API,主要分为机器人模型构建、导入urdf文件和导出fbx文件三部分。
综上,对于机器人模型构建部分,主要是在动画编辑软件中构建机器人模型。具体的,首先,构建机器人模型主类,包括对URDF文件进行清理、解析和优化等功能;定义一系列模型参数用于构建机器人动画模型,包括link属性、joint属性、坐标轴属性、材质属性与骨骼属性等。然后,确定出腿、躯干和臂坐标系的位置,搭建出适合于动作编辑软件中的坐标系相对关系。根据URDF文件找到模型的root部分,定义出根骨骼root.bone骨骼,用于控制整体的模型移动和旋转,并将root.bone添加至动画编辑软件blender的场景中。根据URDF文件中的joint属性部分,确定所设置的joint处的控制骨骼位置,并以root.bone为基础,按照运动学关系和坐标轴位置,在root.bone中添加其余的bone骨骼。设置link原点位置,遍历出每一个link的原点位置,并在基坐标系下确定出base_link位置并完成构建。然后,获取link的相关数据,如网格名称、文件路径、位置、旋转、缩放和材质等,并将其构建至blender中,与joint形成一个完成的link-joint模型,将四足机器人模型在blender中显示出。最后,通过joint的位置关系,将构建的骨骼模型与实体模型进行链接,并在特定位置中设置相应的控制骨骼,并通过获取URDF中joint的控制link范围,让骨骼控制相应的link,实现骨骼控制实体link与蒙皮操作,最终将该模型构建出。
本实施例中,对于导入URDF文件部分,主要作用是允许用户通过blender导入URDF文件,并提供了一些选项来控制材质的合并、重命名、weld修饰符的应用以及是否使用唯一的纹理名称。
本实施例中,对于导出fbx文件部分,主要作用是提供了导出操作的辅助工具,并针对四足机器人模型选择了是否进行3D建模和渲染功能,并增加存储临时纹理的选择,允许用户在blender中选择导出的fbx文件,同时保留纹理信息。
S2、动作设计:
与基于轨迹规划、运动数据、动作捕捉和强化学习的动作设计相比,本实施例中,基于动画编辑软件的动作设计更加便捷且门槛较低,对于复杂动作的设计更加方便。
blender采用的是动画的方式实现四足机器人的动作设计和运动控制,通过蒙皮操作,将实体与骨骼进行一对一的绑定,并通过设置父子级关系,形成一幅完整骨架,以此控制机器人实体,骨骼父子级关系如图3所示。与实体四足机器人模型相配合的骨架主要分为躯干控制骨、机械臂控制骨和足部控制骨三部分,其中,躯干控制骨可进行旋转和移动操作,实现机器人整体的旋转和移动,并可以获取四足机器人的质心运动轨迹数据;机械臂控制骨包括基座骨骼、六根控制骨和末端骨骼,基座骨骼不可移动和旋转,六根控制骨代表机械臂具有六自由度,可进行旋转操作,实现机械臂的运动,机械臂末端骨骼主要用于动作轨迹获取与引入逆运动学后进行机械臂整体控制;足部控制骨包括肩关节侧摆骨骼、大腿关节俯仰骨骼、小腿关节俯仰骨骼和足端骨骼等,其中,通过对肩关节骨骼、大腿关节骨骼和小腿关节骨骼的旋转操作,可以控制足部的运动,足端骨骼主要用于足部动作轨迹的获取与引入逆运动学控制后的腿部整体的控制。将构建成功的动画模型导入到动画编辑软件blender中,并通过对所设置的骨架中的控制骨骼进行移动和旋转操作,控制所关联实体即四足机器人模型的运动情况,最终实现动作设计。
S2.1、在进行动作设计时,通过在blender中的脚本使用python进行动作函数编写,进行动作设计。
可选的,以四足机器人跳跃(bound)步态为例。bound步态主要分为两个周期过程,第一个周期为蹬地周期,此时四足机器人处于支撑相阶段。第二个周期为跳跃周期,此时四足机器人处于腾空相阶段。在支撑相阶段,应该提供较大的蹬地力实现向腾空相的切换,即的值尽量大。不仅如此,该轨迹方程还需要满足以下条件:当t=0时,x(0)=0,y(0)=0,并且应该确保在t=0时,/>的值尽量大,即y′(0)=k,k≠0;当/>水平方向上,足端应该到达前进距离的一半,即/>竖直方向上,足端应该到达抬腿高度,即并且此时竖直方向的速度和加速度都应该为0,即/>当t=T时,水平方向上,足端应该到达前进距离,即x(T)=S,竖直方向上,足端应该回到初始高度,即y(T)=0,并且为确保对称,此时的速度大小应该与初始速度大小相同,即y′(T)=-k,k≠0。
综上所述,对于水平方向的关于时间的轨迹参数方程x(t)选择一次函数的形式,根据任务要求可得:
对于竖直方向的关于时间的轨迹参数方程y(t),根据任务要求,选择幂函数作为y(t)的函数形式:
带入所满足的任务要求,求出:
得到y(t)的函数形式为:
最终,得到四足机器人bound的轨迹方程如下所示:
上式即为输入控制运动周期T、前进距离S、抬腿高度H和幂函数阶次n,输出水平和竖直方向参数方程x(t)和y(t)的bound轨迹参数。
以上过程便是以bound步态为例,通过将推导出的轨迹参数方程导入到python所编写的四足机器人控制器中,实现四足机器人在blender动画编辑软件下的bound步态运动,运动过程自然、柔顺。并且所编写的控制器可以实现多个控制函数下的四足机器人动作设计,相比于一般情境下在动画软件进行动作设计,在控制器中采用动作函数的形式进行动作设计,会使动作更具灵活性和可编辑性,可以通过轻松修改函数来改变动作,并且在使用函数后,可以实现动作的精确控制。而且,使用动作函数能够在动作中引入逻辑和条件,这意味着可以基于某些条件使机器人执行不同的动作,从而模拟更智能和灵活的行为。
S2.2、在进行动作设计时,由于没有添加物理学约束,因此无法保证四足机器人符合物理环境下的动作形式,由于在动作设计时是采用动画的形式,因此可以通过选择不同的插值方式来模拟物理约束下的动作。通过选择不同的插值方式实现关键帧之间的过渡,以此保证所执行的动作更加自然。
采用贝塞尔曲线插值方式,主要针对四足机器人在进行无规则曲线运动的动作。选择三次贝塞尔曲线作为关键帧之间的插值方式,这种插值方法允许动画过渡更加平滑和自然,同时给予用户更大的控制权,以调整曲线的形状来影响动作的速度和缓动效果。通过在关键帧之间创建三次贝塞尔曲线,用户可以在动画中实现更复杂的运动和变化。三次贝塞尔曲线上任意坐标为:
B(t)=(1-t)3P0+3t(1-t)2P1+3t2(1-t)P2+t3P3
其中,P0,P1,P2,P3为控制点。对于两关键帧之间插值的控制点选择,首先选择这两处关键帧处的值,保证控制点首末的两点是最终曲线的端点(意味着首末控制点会在最终曲线上),且各自与相邻点的连线同最终曲线相切。然后选择两个影响曲线形状的控制点,这两点的选择决定了曲线在关键帧之间的弯曲和方向,即对曲线的路径和曲率造成影响。
采用抛体插值和自由落体插值方式,主要是针对四足机器人在弹跳过程中的动作插值。在弹跳动作中,主要分为两个过程,第一个过程是离地-顶点这一过程,在这过程中,采用抛体插值,已知离地时刻的高度和速度,到达顶点时速度为零,忽略空气阻力的影响,可以通过下式计算出到达顶点的时刻和高度:
其中,v0为离地时刻的速度;g为重力加速度;t为离地到顶点的时间差;h0为离地时刻高度;h1为顶点时刻高度。
当确定出离地-顶点时刻的高度和速度后,便可采用抛体插值方式进行插值,所采用的计算公式为:
其中,h表示高度;t表示时刻;通过此方程可以给出离地-顶点处各时刻的高度值,实现插值。
第二个过程是顶点-触地这一过程,在这过程中,采用自由落体插值,所采用的计算公式为:
通过此方程可以给出顶点-着地处各时刻的高度值,实现插值。使用这两种插值方式,并可对离地-顶点-着地过程实现符合物理约束的插值。
不仅如此,针对其他不同的动作可以选择不同的插值方式,如针对环形运动可以采取圆形插值或正弦插值,针对所设计的行走动作选择摆线插值方式,可以实现行走关键帧之间的插值,通过该插值方法可以实现模拟自然的行走或移动动作。在对摆线插值的选择过程中,应该充分考虑到当足端开始抬起和落下时冲击力应该尽可能小,即x″(t=0)=0,y″(t=0)=0,x″(t=Tm)=0,y″(t=Tm)=0,其中Tm为摆动相周期,且当到达最高点时,足端在y方向的速度和加速度应该为0,即根据行走动作,选择的复合摆线形式的插值方程如下所示:
其中,S为步幅;H为抬腿高度;x为水平方向上的位移;y为竖直方向上的位移。
选择该复合摆线作为行走动作的插值方式,插值后的动作更加自然。
S2.3、在动作设计时,在动画编辑软件中引入机械臂和足部的逆运动学模型,可以简化动作设计过程,并让所设计的动作显得更加自然。通过在blender中的脚本程序中编写相关的python程序,将机械臂逆运动学模型引入到动作设计过程中,可以通过调整机械臂末端位置,计算出对应的关节角,并赋值为相应的骨骼,以此控制四足机器人动作。
S3、动作轨迹提取与优化:
动作设计完成后,需要对所设计的动作进行轨迹数据的提取与优化,最终将优化的轨迹数据进行封装,为后续进行行为组合提供动作库。
S3.1、通过轨迹提取插件,对动作数据轨迹进行提取,轨迹提取流程如图4所示。针对确定的轨迹提取规划点,对四足机器人动作的轨迹数据进行提取,提取的数据应该包括质心的位置、速度、加速度、角度和角速度以及足端的位置、速度、加速度和触地状态。
S3.2、提取完动作轨迹后,由于blender动画编辑软件没有引入物理学约束,所得到的动作轨迹可能不符合物理条件下的实际情况,因此需要对动作轨迹进行优化。
利用强化学习方法对四足机器人动作轨迹进行优化,强化学习优化轨迹流程图如图5所示:
优化的目标为选取一个策略π使得在这一优化过程中四足机器人获得的累积奖励最大:
其中,γ∈(0,1)为折扣函数,τ(π)表示机器人的运动轨迹,受四足机器人的策略π和环境的影响。
对于奖励函数的选择,主要选择以下三个奖励函数进行模型的训练:
身体位置模仿奖励
其中,为t时刻身体位置,/>为t时刻期望身体位置。
身体姿态模仿奖励身体姿态模仿奖励
其中,为t时刻身体姿态,/>为t时刻期望身体姿态。
足部末端模仿奖励
其中,为t时刻单腿足端相对于质心的位置,/>为t时刻期望单腿足端相对于质心的位置,e为足部序号。
通过强化学习完成优化后,所得到的动作轨迹将更加符合物理学约束,然后对优化后的轨迹数据进行封装,作为组成行为的子动作。
S4、动作组合与行为生成:
单动作在设计和优化后,封装成多个动作文件,可通过行为生成软件实现动作组合生成行为,行为生成软件页面如图6所示。行为生成软件主要包括子动作库、行为生成器和显示器三部分。
所述子动作库是四足机器人行为生成软件的核心功能之一。用户可以在此处创建、管理和编辑各种动作序列,包括机器人应该采取的每个子动作。该软件提供了一个直观的界面,用户可以轻松拖放、复制和粘贴子动作,以便创建复杂的行为。每个子动作都包括以下信息:
子动作名称,用于标识动作的名称,以便用户识别和管理动作序列。运动数据,包括机器人关节的位置、角度、速度和加速度等信息,可以通过blender动画软件进行动作编辑。时序信息,确定每个子动作在动作序列中的执行顺序。
所述子动作库中存放所有封装好的动作文件,当选择完成子动作数据文件后,会在子动作库中自动添加子动作名称,代表该子动作已从动作库中存储至子动作库中,子动作库可以存储多个子动作,在子动作库中可以实现若干动作名称可视化,并在这一过程中实现子动作轨迹数据的传递,实现后期的行为生成。
所述行为生成器是四足机器人行为生成软件的另一个重要组成部分。所述行为生成器允许用户将子动作库中的子动作组合成复杂的行为,并生成行为数据和执行脚本。行为生成器提供了以下功能:
动作组合,用户可以通过拖拽子动作库中的子动作等形式,选择并组合若干子动作,以创建复杂的机器人行为。数据导出,生成的行为数据和执行脚本可以导出到blender动作编辑器和机器人控制系统中,用于显示器动作预览和实际机器人的运动控制。时序控制,行为生成器中引入时间轴,可以实现不同子动作在时间轴下的执行,最终实现整个时间轴下的复杂行为。可拓展性,该行为生成器还可以实现一个机器人手臂层、躯干层和腿层等不同部位的行为构建,或多个机器人的行为构建。
在所述行为生成器中,引入时间轴的概念,它代表了时间的流逝,允许用户在不同的时间段内创建、组合和编辑子动作。在动作轴中可以选择不同的时间单位,以确定时间轴的粒度,时间单位如秒或者毫秒等。并且在时间轴中,用户可以创建不同的时间段,每个时间段都有一个开始时间和结束时间,用于规定在这段时间内应该执行哪些子动作,通过引入时间段后可以提高子动作切换的稳定性与柔顺性。
所述显示器是四足机器人行为生成软件的第三个关键组件。它允许用户在虚拟环境中显示机器人执行动作,以便预览和调试动作序列。显示器提供了以下功能:
三维模型,显示四足机器人的精确三维模型,包括其结构和关节。动作预览,显示器可以实时显示机器人执行动作的效果,用户可以观察机器人的运动轨迹、姿势和运动范围。
通过所述显示器,用户可以快速检查和修改动作序列,以确保机器人在执行时能够达到期望的效果。这有助于提高开发效率和降低机器人的制造和测试成本。
S5、四足机器人控制:
本实施例中,对四足机器人的控制,可以通过常规技术实现;在其他一些实施例中,可选的,将提取的动作/行为轨迹数据导入到控制器中,结合全身控制,得到所对应轨迹数据下的关节扭矩,实现在仿真环境下的仿真实验,判断所设计的动作在物理环境下的实现情况。
实施例2:
本实施例提供了一种四足机器人动作设计与复杂行为生成系统,包括:
动画模型建立模块,被配置为:根据四足机器人的信息,建立四足机器人的动画模型;
动作设计模块,被配置为:根据所述动画模型,进行动作设计;其中,对于水平方向的关于时间的轨迹参数方程选择一次函数的形式,对于竖直方向的关于时间的轨迹参数方程选择幂函数的形式;
动作库建立模块,被配置为:对所设计的动作进行轨迹数据的提取,以及以四足机器人获得的累积奖励最大为目标进行优化,建立动作库;
行为生成模块,被配置为:对所述动作库中的动作,在时间轴下进行组合后生成行为轨迹数据;在时间轴中,创建不同的时间段;每个时间段包括一个开始时间和一个结束时间,用于规定在时间段内执行所述动作库中的哪些动作;
控制模块,被配置为:根据生成的行为轨迹数据,控制四足机器人。
所述系统的工作方法与实施例1的四足机器人动作设计与复杂行为生成方法相同,这里不再赘述。
实施例3:
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现了实施例1所述的四足机器人动作设计与复杂行为生成方法的步骤。
实施例4:
本实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并能够在处理器上运行的计算机程序,所述处理器执行所述程序时实现了实施例1所述的四足机器人动作设计与复杂行为生成方法的步骤。
实施例5:
本实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时,实现了实施例1所述的四足机器人动作设计与复杂行为生成方法的步骤。
以上所述仅为本实施例的优选实施例而已,并不用于限制本实施例,对于本领域的技术人员来说,本实施例可以有各种更改和变化。凡在本实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本实施例的保护范围之内。
Claims (10)
1.一种四足机器人动作设计与复杂行为生成方法,其特征在于,包括:
根据四足机器人的信息,建立四足机器人的动画模型;
根据所述动画模型,进行动作设计;其中,对于水平方向的关于时间的轨迹参数方程选择一次函数的形式,对于竖直方向的关于时间的轨迹参数方程选择幂函数的形式;
对所设计的动作进行轨迹数据的提取,以及以四足机器人获得的累积奖励最大为目标进行优化,建立动作库;
对所述动作库中的动作,在时间轴下进行组合后生成行为轨迹数据;在时间轴中,创建不同的时间段;每个时间段包括一个开始时间和一个结束时间,用于规定在时间段内执行所述动作库中的哪些动作;
根据生成的行为轨迹数据,控制四足机器人。
2.如权利要求1所述的一种四足机器人动作设计与复杂行为生成方法,其特征在于,建立四足机器人的动画模型时,根据关节属性,确定所设置的关节处的控制骨骼位置,并以根骨骼为基础,按照运动学关系和坐标轴位置,在根骨骼中添加其余的骨骼;设置link原点位置,遍历出每一个link的原点位置,并在基坐标系下确定出机器人本体坐标系位置并完成构建;然后,获取link的相关数据,并将相关数据构建至四足机器人模型中,与关节形成一个完成的四足机器人动画模型。
3.如权利要求1所述的一种四足机器人动作设计与复杂行为生成方法,其特征在于,四足机器人跳跃步态的轨迹方程为:
其中,x(t)为水平方向的关于时间的轨迹参数方程,t为运动时间;S为前进距离;T为运动周期;y(t)为竖直方向的关于时间的轨迹参数方程;H为抬腿高度;n为幂函数阶次。
4.如权利要求1所述的一种四足机器人动作设计与复杂行为生成方法,其特征在于,选择不同的插值方式来模拟四足机器人在物理约束下的动作,进行无规则曲线运动时,采用贝塞尔曲线插值方式;在离地到顶点过程,采用抛体插值;在顶点到触地过程,采用自由落体插值。
5.如权利要求4所述的一种四足机器人动作设计与复杂行为生成方法,其特征在于,选择复合摆线形式的插值:
其中,S为步幅;Tm为运动周期;t为运动时间;H为抬腿高度;x为水平方向上的位移;y为竖直方向上的位移。
6.如权利要求1所述的一种四足机器人动作设计与复杂行为生成方法,其特征在于,提取得到四足机器人质心的位置、质心的速度、质心的加速度和质心的角度,以及足端的位置、速度、加速度和触地状态。
7.一种四足机器人动作设计与复杂行为生成系统,其特征在于,包括:
动画模型建立模块,被配置为:根据四足机器人的信息,建立四足机器人的动画模型;
动作设计模块,被配置为:根据所述动画模型,进行动作设计;其中,对于水平方向的关于时间的轨迹参数方程选择一次函数的形式,对于竖直方向的关于时间的轨迹参数方程选择幂函数的形式;
动作库建立模块,被配置为:对所设计的动作进行轨迹数据的提取,以及以四足机器人获得的累积奖励最大为目标进行优化,建立动作库;
行为生成模块,被配置为:对所述动作库中的动作,在时间轴下进行组合后生成行为轨迹数据;在时间轴中,创建不同的时间段;每个时间段包括一个开始时间和一个结束时间,用于规定在时间段内执行所述动作库中的哪些动作;
控制模块,被配置为:根据生成的行为轨迹数据,控制四足机器人。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现了如权利要求1-6任一项所述的四足机器人动作设计与复杂行为生成方法的步骤。
9.一种电子设备,包括存储器、处理器及存储在存储器上并能够在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现了如权利要求1-6任一项所述的四足机器人动作设计与复杂行为生成方法的步骤。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时,实现了如权利要求1-6任一项所述的四足机器人动作设计与复杂行为生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410248990.4A CN118114709A (zh) | 2024-03-05 | 2024-03-05 | 一种四足机器人动作设计与复杂行为生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410248990.4A CN118114709A (zh) | 2024-03-05 | 2024-03-05 | 一种四足机器人动作设计与复杂行为生成方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118114709A true CN118114709A (zh) | 2024-05-31 |
Family
ID=91215064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410248990.4A Pending CN118114709A (zh) | 2024-03-05 | 2024-03-05 | 一种四足机器人动作设计与复杂行为生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118114709A (zh) |
-
2024
- 2024-03-05 CN CN202410248990.4A patent/CN118114709A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6144385A (en) | Step-driven character animation derived from animation data without footstep information | |
US5731821A (en) | Computer user interface for step-driven character animation | |
Lau et al. | Precomputed search trees: Planning for interactive goal-driven animation | |
US7099747B2 (en) | Motion editing apparatus and method for robot device, and computer program | |
KR101098834B1 (ko) | 동역학 기반 동작 생성 장치 및 방법 | |
Nakaoka et al. | Intuitive and flexible user interface for creating whole body motions of biped humanoid robots | |
CN111476882B (zh) | 一种面向浏览器的机器人虚拟图形建模方法 | |
CN104050702B (zh) | 直接操纵计算机生成角色的受限模型的方法和系统 | |
Mattingly et al. | Robot design using Unity for computer games and robotic simulations | |
CN102214365A (zh) | 基于骨骼动画原理的通用虚拟人仿真技术 | |
CN102495752B (zh) | 柔性绳索的仿真方法 | |
CN118114709A (zh) | 一种四足机器人动作设计与复杂行为生成方法及系统 | |
CN105825024A (zh) | 一种实现焦化厂鼓风冷凝工段协同式三维仿真的方法 | |
Ismail et al. | A Review of Dynamic Motion Control Considering Physics for Real Time Animation Character | |
Kim et al. | Keyframe-based multi-contact motion synthesis | |
CN102867333A (zh) | 一种基于di-guy的虚拟人物动作可视化方法 | |
TWI752629B (zh) | 訓練虛擬動物基於控制參數運動的方法 | |
Yonemoto | A sketch-based skeletal figure animation tool for novice users | |
Moss et al. | Constraint‐based motion synthesis for deformable models | |
Bernier et al. | The ICEA plug-in for virtual reality, immersive creation and edition of animation | |
Wu | The implement of animation state transitions in interactive scenes based on graphic finite state machine | |
Delicado Alcántara | Synthesising character animation for real time crowd simulation systems in Unreal Engine | |
Wang et al. | Optimization control for biped motion trajectory | |
Gazizov et al. | Modification of Skeletal Character Animation Using Inverse Kinematics Controllers | |
Cao et al. | Anima studio: A platform for character motion synthesis and interaction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |