CN113524205A - Throwing trajectory planning method, device and medium for redundant arm of humanoid robot - Google Patents

Throwing trajectory planning method, device and medium for redundant arm of humanoid robot Download PDF

Info

Publication number
CN113524205A
CN113524205A CN202111082022.3A CN202111082022A CN113524205A CN 113524205 A CN113524205 A CN 113524205A CN 202111082022 A CN202111082022 A CN 202111082022A CN 113524205 A CN113524205 A CN 113524205A
Authority
CN
China
Prior art keywords
joint
joint angle
trajectory
throwing
arm
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.)
Granted
Application number
CN202111082022.3A
Other languages
Chinese (zh)
Other versions
CN113524205B (en
Inventor
罗璇
刘益彰
熊友军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Ubtech Technology Co ltd
Original Assignee
Shenzhen Ubtech Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Ubtech Technology Co ltd filed Critical Shenzhen Ubtech Technology Co ltd
Priority to CN202111082022.3A priority Critical patent/CN113524205B/en
Publication of CN113524205A publication Critical patent/CN113524205A/en
Application granted granted Critical
Publication of CN113524205B publication Critical patent/CN113524205B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

本申请涉及抛投轨迹规划技术领域,揭示了一种仿人机器人的冗余手臂的抛投轨迹规划方法、装置及介质,其中方法包括:获取预设加速度变化曲线,根据预设加速度变化曲线、世界起点位置、世界目标点位置及世界出手点位置生成加速阶段轨迹;根据加速阶段轨迹得到抛投轨迹;采用预设时间间隔,对抛投轨迹进行离散处理得到多个离散位置;分别对每个离散位置进行关节角的求解得到多个求解结果;当存在求解结果为无解时,对世界出手点位置进行调整,重复执行获取预设加速轨迹曲线的步骤直至各个求解结果均为有解,根据各个求解结果均为有解对应的各个关节角确定目标关节角集合。实现仿人机器人的抛投轨迹规划,提高了轨迹求解精度,提高了轨迹求解速率。

Figure 202111082022

The present application relates to the technical field of throwing trajectory planning, and discloses a throwing trajectory planning method, device and medium for a redundant arm of a humanoid robot, wherein the method includes: acquiring a preset acceleration change curve, according to the preset acceleration change curve, The acceleration phase trajectory is generated from the world starting point position, the world target point position and the world shot point position; the throwing trajectory is obtained according to the acceleration phase trajectory; a preset time interval is used to discretely process the throwing trajectory to obtain multiple discrete positions; Solve the joint angle at discrete positions to obtain multiple solution results; when there is a solution result that is no solution, adjust the position of the world shot point, and repeat the steps of obtaining the preset acceleration trajectory curve until each solution result is a solution, according to Each solution result is a set of target joint angles determined by each joint angle corresponding to the solution. The projecting trajectory planning of the humanoid robot is realized, the trajectory solving accuracy is improved, and the trajectory solving rate is improved.

Figure 202111082022

Description

仿人机器人的冗余手臂的抛投轨迹规划方法、装置及介质Throwing trajectory planning method, device and medium for redundant arm of humanoid robot

技术领域technical field

本申请涉及到抛投轨迹规划技术领域,特别是涉及到一种仿人机器人的冗余手臂的抛投轨迹规划方法、装置及介质。The present application relates to the technical field of throwing trajectory planning, and in particular, to a throwing trajectory planning method, device and medium for a redundant arm of a humanoid robot.

背景技术Background technique

抛投是人的一种基本且重要的操作形式,而机器人同样可通过抛投来扩大自身的操作范围,以实现对操作目标的快速分拣或传送。目前对于机器人抛投的研究大多依托的是非冗余的工业机器人或冗余的协作机器人,这两类机器人均有较大的工作空间,可利用多种轨迹规划方法来满足在特定抛投点输出特定抛投速度的要求,比如关节空间规划、样条曲线、采样搜索、示教模仿、机器学习等。然而,仿人机器人的冗余手臂受限于躯干阻挡和关节范围,对于样条曲线或采样搜索这类可能生成复杂抛投路径的方法并不通用,而示教模仿和机器学习也存在轨迹精度和学习难度方面的问题,关节空间规划虽然简单通用,但是对于基座浮动的仿人机器人的冗余手臂,其抛投规划过程不直观,可应用性不强。Throwing is a basic and important form of human operation, and the robot can also expand its operating range by throwing, so as to achieve rapid sorting or transmission of operation targets. At present, most of the research on robot throwing relies on non-redundant industrial robots or redundant collaborative robots. Both types of robots have large workspaces, and various trajectory planning methods can be used to meet the output at specific throwing points. Requirements for specific casting speeds, such as joint space planning, splines, sampling searches, teach-in simulation, machine learning, etc. However, the redundant arm of the humanoid robot is limited by the torso block and joint range. It is not universal for methods such as spline curve or sampling search that may generate complex throwing paths, and teaching simulation and machine learning also have trajectory accuracy. And the problem of learning difficulty, although the joint space planning is simple and general, for the redundant arm of a humanoid robot with a floating base, its throwing planning process is not intuitive, and its applicability is not strong.

发明内容SUMMARY OF THE INVENTION

本申请的主要目的为提供一种仿人机器人的冗余手臂的抛投轨迹规划方法、装置及介质,旨在解决现有技术的抛投轨迹规划方法依托于工业机器人或协作机器人这类具有较大工作空间的机械臂,在仿人机器人的冗余手臂的应用上存在规划方法的实用性、轨迹求解速率和轨迹求解精度的技术问题。The main purpose of the present application is to provide a throwing trajectory planning method, device and medium for a redundant arm of a humanoid robot, which aims to solve the problem that the throwing trajectory planning method in the prior art relies on industrial robots or collaborative robots with relatively low performance. For a manipulator with a large workspace, there are technical problems in the application of the redundant arm of the humanoid robot, such as the practicability of the planning method, the trajectory solving rate and the trajectory solving accuracy.

为了实现上述发明目的,本申请提出一种仿人机器人的冗余手臂的抛投轨迹规划方法,所述方法适用于仿人机器人的冗余手臂,所述方法包括:In order to achieve the above purpose of the invention, the present application proposes a throwing trajectory planning method for a redundant arm of a humanoid robot, the method is suitable for the redundant arm of a humanoid robot, and the method includes:

获取世界坐标系下的世界起点位置、世界目标点位置及世界出手点位置;Obtain the world starting point position, the world target point position and the world shooting point position in the world coordinate system;

获取预设加速度变化曲线,根据所述预设加速度变化曲线、所述世界起点位置、所述世界目标点位置及所述世界出手点位置生成加速阶段轨迹;Acquire a preset acceleration change curve, and generate an acceleration phase trajectory according to the preset acceleration change curve, the world starting point position, the world target point position, and the world starting point position;

根据所述加速阶段轨迹分别进行跟随阶段轨迹的获取、减速阶段轨迹的获取及轨迹拼接,得到抛投轨迹;According to the acceleration phase trajectory, the following phase trajectory acquisition, the deceleration phase trajectory acquisition, and the trajectory splicing are respectively performed to obtain the throwing trajectory;

采用预设时间间隔,对所述抛投轨迹进行离散处理,得到多个离散位置;Using a preset time interval, discrete processing is performed on the throwing trajectory to obtain a plurality of discrete positions;

分别对每个所述离散位置进行关节角的求解,得到多个求解结果;The joint angle is solved for each of the discrete positions respectively, and a plurality of solution results are obtained;

当存在所述求解结果为无解时,对所述世界出手点位置进行调整,重复执行所述获取预设加速轨迹曲线的步骤,直至各个所述求解结果均为有解,根据各个所述求解结果均为有解对应的各个关节角确定目标关节角集合。When the solution result is no solution, adjust the position of the shot point in the world, repeat the steps of obtaining the preset acceleration trajectory curve, until each solution result is a solution, according to each solution The result is that each joint angle corresponding to the solution determines the target joint angle set.

本申请还提出了一种仿人机器人的冗余手臂的抛投轨迹规划装置,所述装置适用于仿人机器人的冗余手臂,所述装置包括:The application also proposes a throwing trajectory planning device for a redundant arm of a humanoid robot, the device is suitable for the redundant arm of a humanoid robot, and the device includes:

数据获取模块,用于获取世界坐标系下的世界起点位置、世界目标点位置及世界出手点位置;The data acquisition module is used to acquire the position of the world starting point, the position of the world target point and the position of the world starting point in the world coordinate system;

加速阶段轨迹确定模块,用于获取预设加速度变化曲线,根据所述预设加速度变化曲线、所述世界起点位置、所述世界目标点位置及所述世界出手点位置生成加速阶段轨迹;an acceleration phase trajectory determination module, configured to obtain a preset acceleration change curve, and generate an acceleration phase trajectory according to the preset acceleration change curve, the world starting point position, the world target point position, and the world starting point position;

抛投轨迹确定模块,用于根据所述加速阶段轨迹分别进行跟随阶段轨迹的获取、减速阶段轨迹的获取及轨迹拼接,得到抛投轨迹;The throwing trajectory determination module is used for obtaining the trajectory of the follow-up phase, the acquisition of the trajectory of the deceleration phase, and the splicing of the trajectory according to the trajectory of the acceleration phase, to obtain the trajectory of the throwing throw;

离散位置确定模块,用于采用预设时间间隔,对所述抛投轨迹进行离散处理,得到多个离散位置;a discrete position determination module, configured to perform discrete processing on the throwing trajectory using a preset time interval to obtain a plurality of discrete positions;

求解结果确定模块,用于分别对每个所述离散位置进行关节角的求解,得到多个求解结果;The solution result determination module is used to solve the joint angle of each discrete position respectively, and obtain a plurality of solution results;

目标关节角集合确定模块,用于当存在所述求解结果为无解时,对所述世界出手点位置进行调整,重复执行所述获取预设加速轨迹曲线的步骤,直至各个所述求解结果均为有解,根据各个所述求解结果均为有解对应的各个关节角确定目标关节角集合。The target joint angle set determination module is used to adjust the position of the world shot point when the solution result is no solution, and repeat the step of obtaining the preset acceleration trajectory curve until each of the solution results is no solution. In order to have a solution, the target joint angle set is determined according to each joint angle corresponding to each of the solution results.

本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。The present application also proposes a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of any one of the above methods when the processor executes the computer program.

本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。The present application also provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, implements the steps of any one of the methods described above.

本申请的仿人机器人的冗余手臂的抛投轨迹规划方法、装置及介质,其中方法通过首先根据预设加速度变化曲线、世界起点位置、世界目标点位置及世界出手点位置生成加速阶段轨迹,根据加速阶段轨迹分别进行跟随阶段轨迹的获取、减速阶段轨迹的获取及轨迹拼接,得到抛投轨迹,其次采用预设时间间隔,对抛投轨迹进行离散处理,得到多个离散位置,然后分别对每个离散位置进行关节角的求解,得到多个求解结果,最后当存在求解结果为无解时,对世界出手点位置进行调整,重复执行生成加速阶段轨迹的步骤直至各个求解结果均为有解,根据各个求解结果均为有解对应的各个关节角确定目标关节角集合,通过加速阶段轨迹、跟随阶段轨迹、减速阶段轨迹拼接得到三段式的抛投轨迹,三段式的抛投轨迹适用于仿人机器人的冗余手臂,从而实现仿人机器人的冗余手臂的抛投轨迹规划,面对不同的抛投目标具有较强的通用性;而且通过对抛投轨迹离散后针对每个离散位置进行关节角的求解,实现了对仿人机器人的冗余手臂的抛投规划的分步式解析逆解计算,提高了轨迹求解精度,提高了轨迹求解速率。The throwing trajectory planning method, device and medium of the redundant arm of the humanoid robot of the present application, wherein the method generates an acceleration phase trajectory according to a preset acceleration change curve, the world starting point position, the world target point position and the world shooting point position, According to the trajectory of the acceleration phase, the trajectory of the follow-up phase, the trajectory of the deceleration phase, and the trajectory splicing are respectively obtained to obtain the throwing trajectory. Secondly, the throwing trajectory is discretely processed at a preset time interval to obtain a plurality of discrete positions, and then respectively The joint angle is solved for each discrete position, and multiple solution results are obtained. Finally, when the solution result is no solution, the position of the world shot point is adjusted, and the steps of generating the trajectory of the acceleration phase are repeated until each solution result is a solution. , according to each joint angle corresponding to each solution result, the target joint angle set is determined, and the three-stage throwing trajectory is obtained by splicing the acceleration phase trajectory, the following phase trajectory, and the deceleration phase trajectory. The three-stage throwing trajectory is suitable for It is used for the redundant arm of the humanoid robot, so as to realize the throwing trajectory planning of the redundant arm of the humanoid robot, which has strong versatility in the face of different throwing targets; The joint angle is solved by the position, and the step-by-step analytical inverse solution calculation of the throwing plan of the redundant arm of the humanoid robot is realized, which improves the trajectory solving accuracy and the trajectory solving rate.

附图说明Description of drawings

图1为本申请一实施例的仿人机器人的冗余手臂的抛投轨迹规划方法的流程示意图;1 is a schematic flowchart of a method for planning a throwing trajectory of a redundant arm of a humanoid robot according to an embodiment of the application;

图2 为本申请一实施例的仿人机器人的冗余手臂的七度自由度的示意图;2 is a schematic diagram of seven degrees of freedom of a redundant arm of a humanoid robot according to an embodiment of the application;

图3 为本申请一实施例的仿人机器人的冗余手臂的抛物轨迹示意图;3 is a schematic diagram of a parabolic trajectory of a redundant arm of a humanoid robot according to an embodiment of the application;

图4 为本申请一实施例的仿人机器人的冗余手臂的调整第五关节的示意图;4 is a schematic diagram of adjusting the fifth joint of the redundant arm of the humanoid robot according to an embodiment of the application;

图5 为本申请一实施例的仿人机器人的冗余手臂的抛投轨迹规划装置的结构示意框图;5 is a schematic block diagram of the structure of a throwing trajectory planning device for a redundant arm of a humanoid robot according to an embodiment of the application;

图6 为本申请一实施例的计算机设备的结构示意框图。FIG. 6 is a schematic structural block diagram of a computer device according to an embodiment of the present application.

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。The realization, functional characteristics and advantages of the purpose of the present application will be further described with reference to the accompanying drawings in conjunction with the embodiments.

具体实施方式Detailed ways

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。In order to make the purpose, technical solutions and advantages of the present application more clearly understood, the present application will be described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, but not to limit the present application.

参照图1,本申请实施例中提供一种仿人机器人的冗余手臂的抛投轨迹规划方法,所述方法适用于仿人机器人的冗余手臂,所述方法包括:Referring to FIG. 1, an embodiment of the present application provides a throwing trajectory planning method for a redundant arm of a humanoid robot, and the method is applicable to the redundant arm of a humanoid robot, and the method includes:

S1:获取世界坐标系下的世界起点位置、世界目标点位置及世界出手点位置;S1: Obtain the world starting point position, the world target point position and the world shooting point position in the world coordinate system;

S2:获取预设加速度变化曲线,根据所述预设加速度变化曲线、所述世界起点位置、所述世界目标点位置及所述世界出手点位置生成加速阶段轨迹;S2: Obtain a preset acceleration change curve, and generate an acceleration phase trajectory according to the preset acceleration change curve, the world starting point position, the world target point position, and the world shooting point position;

S3:根据所述加速阶段轨迹分别进行跟随阶段轨迹的获取、减速阶段轨迹的获取及轨迹拼接,得到抛投轨迹;S3: According to the acceleration phase trajectory, the acquisition of the follow-up phase trajectory, the acquisition of the deceleration phase trajectory, and the trajectory splicing are respectively performed to obtain the throwing trajectory;

S4:采用预设时间间隔,对所述抛投轨迹进行离散处理,得到多个离散位置;S4: using a preset time interval to perform discrete processing on the throwing trajectory to obtain a plurality of discrete positions;

S5:分别对每个所述离散位置进行关节角的求解,得到多个求解结果;S5: Solve the joint angle for each of the discrete positions respectively, and obtain a plurality of solving results;

S6:当存在所述求解结果为无解时,对所述世界出手点位置进行调整,重复执行所述获取预设加速轨迹曲线的步骤,直至各个所述求解结果均为有解,根据各个所述求解结果均为有解对应的各个关节角确定目标关节角集合。S6: When there is no solution in the solution result, adjust the position of the world shot point, and repeat the step of obtaining the preset acceleration trajectory curve until each solution result is a solution. The above solution results are the set of target joint angles determined by each joint angle corresponding to the solution.

本实施例通过首先根据预设加速度变化曲线、世界起点位置、世界目标点位置及世界出手点位置生成加速阶段轨迹,根据加速阶段轨迹分别进行跟随阶段轨迹的获取、减速阶段轨迹的获取及轨迹拼接,得到抛投轨迹,其次采用预设时间间隔,对抛投轨迹进行离散处理,得到多个离散位置,然后分别对每个离散位置进行关节角的求解,得到多个求解结果,最后当存在求解结果为无解时,对世界出手点位置进行调整,重复执行生成加速阶段轨迹的步骤直至各个求解结果均为有解,根据各个求解结果均为有解对应的各个关节角确定目标关节角集合,通过加速阶段轨迹、跟随阶段轨迹、减速阶段轨迹拼接得到三段式的抛投轨迹,三段式的抛投轨迹适用于仿人机器人的冗余手臂,从而实现仿人机器人的冗余手臂的抛投轨迹规划,面对不同的抛投目标具有较强的通用性;而且通过对抛投轨迹离散后针对每个离散位置进行关节角的求解,实现了对仿人机器人的冗余手臂的抛投规划的分步式解析逆解计算,提高了轨迹求解精度,提高了轨迹求解速率。In this embodiment, the acceleration phase trajectory is first generated according to the preset acceleration change curve, the world starting point position, the world target point position, and the world shooting point position, and the following phase trajectory acquisition, deceleration phase trajectory acquisition, and trajectory splicing are respectively performed according to the acceleration phase trajectory. , obtain the throwing trajectory, and then use the preset time interval to discretely process the throwing trajectory to obtain multiple discrete positions, and then solve the joint angle for each discrete position separately to obtain multiple solution results, and finally when there is a solution When the result is no solution, adjust the position of the starting point in the world, repeat the steps of generating the trajectory of the acceleration phase until each solution result is a solution, and determine the target joint angle set according to each joint angle corresponding to each solution result. The three-stage throwing trajectory is obtained by splicing the acceleration phase trajectory, the following phase trajectory, and the deceleration phase trajectory. The three-stage throwing trajectory is suitable for the redundant arm of the humanoid robot, so as to realize the throwing of the redundant arm of the humanoid robot. Throwing trajectory planning has strong versatility in the face of different throwing targets; and by solving the joint angle for each discrete position after the throwing trajectory is discrete, the throwing of the redundant arm of the humanoid robot is realized. The planned step-by-step analytical inverse solution calculation improves the trajectory solving accuracy and the trajectory solving rate.

可以理解的是,本申请的所述仿人机器人的冗余手臂是七度自由度的手臂。It can be understood that the redundant arm of the humanoid robot of the present application is an arm with seven degrees of freedom.

参照图2,所述仿人机器人的冗余手臂的七度自由度包括7个关节,

Figure 679196DEST_PATH_IMAGE001
是第一关节的关节角,
Figure 189811DEST_PATH_IMAGE002
是第二关节的关节角,
Figure 766286DEST_PATH_IMAGE003
是第三关节的关节角,
Figure 347698DEST_PATH_IMAGE004
是第四关节的关节角,
Figure 958808DEST_PATH_IMAGE005
是第五关节的关节角,
Figure 640325DEST_PATH_IMAGE006
是第六关节的关节角,
Figure 969676DEST_PATH_IMAGE007
是第七关节的关节角,其中,第一关节、第二关节和第三关节是位于肩部的关节,第四关节是位于肘部的关节,第五关节、第六关节和第七关节是位于手腕的关节。2, the seven degrees of freedom of the redundant arm of the humanoid robot includes 7 joints,
Figure 679196DEST_PATH_IMAGE001
is the joint angle of the first joint,
Figure 189811DEST_PATH_IMAGE002
is the joint angle of the second joint,
Figure 766286DEST_PATH_IMAGE003
is the joint angle of the third joint,
Figure 347698DEST_PATH_IMAGE004
is the joint angle of the fourth joint,
Figure 958808DEST_PATH_IMAGE005
is the joint angle of the fifth joint,
Figure 640325DEST_PATH_IMAGE006
is the joint angle of the sixth joint,
Figure 969676DEST_PATH_IMAGE007
is the joint angle of the seventh joint, where the first, second and third joints are the joints at the shoulder, the fourth joint is the joint at the elbow, and the fifth, sixth and seventh joints are at the joint of the wrist.

可以理解的是,第一关节、第二关节、第三关节和第四关节决定仿人机器人的冗余手臂的手臂末端的位置,第五关节、第六关节和第七关节仅影响了仿人机器人的冗余手臂的手臂末端的姿态,在抛投过程中更为看重的是手臂末端的位置以及手掌开合的朝向。手臂末端,是指小臂的两端的靠近手的一端。It can be understood that the first joint, the second joint, the third joint and the fourth joint determine the position of the arm end of the redundant arm of the humanoid robot, and the fifth, sixth and seventh joints only affect the humanoid robot. The posture of the arm end of the redundant arm of the robot is more important during the throwing process is the position of the arm end and the orientation of the palm opening and closing. The end of the arm refers to the end of the two ends of the forearm that is close to the hand.

从所述冗余手臂到手依次包括:上臂、肘部、小臂、手腕、手。From the redundant arm to the hand, it includes: upper arm, elbow, forearm, wrist, and hand.

可以理解的是,在本申请中,

Figure 762051DEST_PATH_IMAGE008
中的上标T表述的对向量G1的转置,G1可以是本申请中的任一向量。It is understood that in this application,
Figure 762051DEST_PATH_IMAGE008
The transposition of the vector G1 expressed by the superscript T in , G1 may be any vector in this application.

对于S1,可以从所述仿人机器人的存储空间获取世界坐标系下的世界起点位置、世界目标点位置及世界出手点位置,也可以从工控机中获取世界坐标系下的世界起点位置、世界目标点位置及世界出手点位置,还可以从第三方应用系统中获取世界坐标系下的世界起点位置、世界目标点位置及世界出手点位置。For S1, the world starting point position, the world target point position and the world starting point position in the world coordinate system can be obtained from the storage space of the humanoid robot, and the world starting point position, the world starting point position and the world starting point position in the world coordinate system can also be obtained from the industrial computer. The position of the target point and the position of the world shot point can also be obtained from the third-party application system.

世界起点位置,是在世界坐标系下的仿人机器人的冗余手臂抛投时的起点位置。The starting position of the world is the starting position of the redundant arm of the humanoid robot in the world coordinate system when throwing.

世界目标点位置,是在世界坐标系下的仿人机器人的冗余手臂抛投时的抛投物体的目标位置。The position of the world target point is the target position of the thrown object when the redundant arm of the humanoid robot throws in the world coordinate system.

抛投物体,是需要抛投到世界目标点位置的物体。抛投物体放在所述仿人机器人的冗余手臂的手中进行抛投。Throwing objects are objects that need to be thrown to the position of the world target point. The throwing object is placed in the hands of the redundant arms of the humanoid robot for throwing.

世界出手点位置,是在世界坐标系下的仿人机器人的冗余手臂抛投时冗余手臂的手与抛投物体分离的位置。The position of the world shot point is the position where the hand of the redundant arm is separated from the thrown object when the redundant arm of the humanoid robot in the world coordinate system throws.

可以理解的是,世界起点位置和世界出手点位置,都是仿人机器人的冗余手臂的手臂末端在抛投是经过的位置。It is understandable that the position of the starting point in the world and the position of the shooting point in the world are both the positions where the arm end of the redundant arm of the humanoid robot passes through when throwing.

对于S2,可以从所述仿人机器人的存储空间获取预设加速度变化曲线,也可以从工控机中获取预设加速度变化曲线,还可以从第三方应用系统中获取预设加速度变化曲线。For S2, a preset acceleration change curve can be obtained from the storage space of the humanoid robot, a preset acceleration change curve can also be obtained from an industrial computer, and a preset acceleration change curve can also be obtained from a third-party application system.

预设加速度变化曲线是加速阶段的加速度的变化曲线。The preset acceleration change curve is the change curve of the acceleration in the acceleration phase.

可选的,所述预设加速度变化曲线设置为梯形曲线。从而实现先采用直线增加的加速度进行加速,然后采用固定的加速度进行加速,最后采用直线减少的加速度进行加速,简化了对冗余手臂的控制。Optionally, the preset acceleration change curve is set as a trapezoidal curve. In this way, the acceleration is firstly performed with a linearly increasing acceleration, then a fixed acceleration is used for acceleration, and finally a linearly decreasing acceleration is used for acceleration, which simplifies the control of the redundant arm.

可以理解的是,所述预设加速度变化曲线还可以设置成其他线性,比如正态分布曲线,在此不做具体限定。It can be understood that, the preset acceleration change curve may also be set to other linearity, such as a normal distribution curve, which is not specifically limited herein.

其中,先根据所述世界起点位置、所述世界目标点位置构建抛投平面和抛投坐标系,然后基于抛投平面和抛投坐标系,根据所述预设加速度变化曲线、所述世界起点位置、所述世界目标点位置及所述世界出手点位置生成加速阶段轨迹。Wherein, firstly construct the throwing plane and throwing coordinate system according to the world starting point position and the world target point position, and then construct the throwing plane and throwing coordinate system according to the throwing plane and throwing coordinate system, according to the preset acceleration change curve, the world starting point The position, the position of the world target point, and the position of the world shot point generate an acceleration phase trajectory.

对于S3,根据所述加速阶段轨迹获取跟随阶段轨迹,然后根据跟随阶段轨迹获取减速阶段轨迹,最后将加速阶段轨迹、跟随阶段轨迹、减速阶段轨迹进行依次拼接,将拼接得到的轨迹作为抛投轨迹。从而得到了三段式的抛投轨迹,三段式的抛投轨迹适用于仿人机器人的冗余手臂,从而实现仿人机器人的冗余手臂的抛投轨迹规划,面对不同的抛投目标具有较强的通用性。For S3, the following phase trajectory is obtained according to the acceleration phase trajectory, then the deceleration phase trajectory is obtained according to the following phase trajectory, and finally the acceleration phase trajectory, the following phase trajectory, and the deceleration phase trajectory are sequentially spliced, and the spliced trajectory is used as the throwing trajectory. . Thereby, a three-stage throwing trajectory is obtained. The three-section throwing trajectory is suitable for the redundant arm of the humanoid robot, so as to realize the throwing trajectory planning of the redundant arm of the humanoid robot and face different throwing targets. Has strong generality.

加速阶段轨迹,是冗余手臂为抛投做准备进行加速运动的轨迹。The trajectory of the acceleration phase is the trajectory of the redundant arm in preparation for the throwing to accelerate the movement.

跟随阶段轨迹,是冗余手臂在将抛投物体抛出之后跟随抛投物体做抛物线跟随运动的轨迹。The trajectory of the follow-up phase is the trajectory of the redundant arm following the projectile object to perform a parabolic following motion after the projectile object is thrown.

减速阶段轨迹,是冗余手臂在跟随阶段轨迹后做减速运动的轨迹。The deceleration phase trajectory is the trajectory of the redundant arm performing deceleration motion after following the phase trajectory.

可以理解的是,抛投轨迹是仿人机器人的冗余手臂的手臂末端在抛投时经过的位置数据集合。It can be understood that the throwing trajectory is a set of position data that the arm end of the redundant arm of the humanoid robot passes through when throwing.

可以理解的是,在加速阶段轨迹结束时冗余手臂将抛投物体抛出,然后跟随抛投物体做抛物线跟随运动,最后按减速阶段轨迹做减速运动直至停止。It can be understood that at the end of the trajectory in the acceleration phase, the redundant arm throws the projectile object, then follows the projectile object to perform a parabolic follow movement, and finally decelerates according to the trajectory of the deceleration phase until it stops.

对于S4,可以从所述仿人机器人的存储空间获取预设时间间隔,也可以从工控机中获取预设时间间隔,还可以从第三方应用系统中获取预设时间间隔。预设时间间隔,是一个具体数值。比如,预设时间间隔设置为0.01秒,在此举例不做具体限定。For S4, the preset time interval can be obtained from the storage space of the humanoid robot, the preset time interval can also be obtained from an industrial computer, and the preset time interval can also be obtained from a third-party application system. The preset time interval is a specific value. For example, the preset time interval is set to 0.01 seconds, which is not specifically limited in this example.

其中,对所述抛投轨迹进行离散处理,得到多个离散点,相邻两个离散点的时间差与预设时间间隔相同,将各个离散点的位置作为多个离散位置。从而为对仿人机器人的冗余手臂的抛投规划的分步式解析逆解计算提供了基础。Wherein, the throwing trajectory is discretely processed to obtain a plurality of discrete points, the time difference between two adjacent discrete points is the same as the preset time interval, and the position of each discrete point is used as a plurality of discrete positions. This provides the basis for the step-by-step analytical inverse solution calculation of the throwing planning of the redundant arm of the humanoid robot.

可以理解的是,离散位置是冗余手臂的手臂末端的位置数据。It can be understood that the discrete position is the position data of the arm end of the redundant arm.

对于S5,因为在抛投过程中更为看重的是手臂末端的位置以及手掌开合的朝向,因此在采用逆解计算对每个所述离散位置进行关节角的求解时,前五个关节(第一关节、第二关节、第三关节、第四关节、第五关节)的关节角的优先级高于后两个关节(第六关节、第七关节)的关节角,并且,受冗余手臂的结构空间限制,手腕处第六关节和第七关节的电机不论是力矩还是工作空间都较小,对抛投速度的贡献不大,因为手腕关节对末端姿态的影响会增加逆解计算的复杂度以及导致抛投规划过程的不直观,因此在抛投过程中将后两个关节(第六关节、第七关节)的关节角固定。For S5, because the position of the end of the arm and the orientation of the opening and closing of the palm are more important in the throwing process, when the inverse solution calculation is used to solve the joint angle for each of the discrete positions, the first five joints ( The joint angles of the first joint, the second joint, the third joint, the fourth joint, the fifth joint) have higher priority than the joint angles of the latter two joints (the sixth joint, the seventh joint), and are subject to redundancy The structural space of the arm is limited. The motors of the sixth and seventh joints at the wrist are small in terms of torque and working space, and do not contribute much to the throwing speed, because the influence of the wrist joint on the posture of the end will increase the calculation of the inverse solution. The complexity and the unintuitiveness of the throwing planning process, so the joint angles of the last two joints (the sixth joint and the seventh joint) are fixed during the throwing process.

因此,分别针对每个离散位置,基于所述冗余手臂的第五关节不影响所述抛投物体的位置和所述冗余手臂的第六关节及第七关节在抛投过程中固定不变的规则,在保持第五关节的关节角不变的情况下对前四个关节(第一关节、第二关节、第三关节、第四关节)进行关节角求解,然后根据求解得到的关节角进行手臂末端的姿态计算,最后基于将所述关节坐标系集合的第七坐标系的Z轴方向作为手掌开合方向和所述冗余手臂的所述第六关节及所述第七关节在抛投过程中固定不变的规则,对所述冗余手臂的各个关节进行关节角计算,从而完成了一轮逆解计算。Therefore, for each discrete position, the fifth joint based on the redundant arm does not affect the position of the throwing object and the sixth and seventh joints of the redundant arm are fixed during the throwing process. The rule of , while keeping the joint angle of the fifth joint unchanged, the joint angles of the first four joints (the first joint, the second joint, the third joint, and the fourth joint) are solved, and then the joint angles obtained by the solution are obtained. The attitude calculation of the end of the arm is performed, and finally the Z-axis direction of the seventh coordinate system of the joint coordinate system set is used as the palm opening and closing direction, and the sixth joint and the seventh joint of the redundant arm are cast in the throw. According to the fixed rules during the casting process, the joint angle calculation is performed on each joint of the redundant arm, thereby completing a round of inverse solution calculation.

对于S6,当存在所述求解结果为无解时,意味着当前的世界出手点位置不是合适的冗余手臂与抛投物体分离的位置,因此需要对所述世界出手点位置进行调整,调整后的所述世界出手点位置用于下一次迭代计算,重复执行步骤S2至步骤S6,直至各个所述求解结果均为有解,然后将最后一次迭代计算的各个离散位置各自对应的所有关节角作为目标关节角集合。也就是说,离散位置的数量乘以7等于目标关节角集合中的关节角数量。For S6, when the solution result is no solution, it means that the current position of the shot point in the world is not a suitable position where the redundant arm is separated from the throwing object. Therefore, the position of the shot point in the world needs to be adjusted. After adjustment The position of the world shot point is used for the next iterative calculation, and steps S2 to S6 are repeatedly executed until each of the solution results is a solution, and then all the joint angles corresponding to each discrete position calculated in the last iterative calculation are used as A collection of target joint angles. That is, the number of discrete positions multiplied by 7 equals the number of joint angles in the target joint angle set.

可选的,所述根据各个所述求解结果均为有解对应的各个关节角确定目标关节角集合的步骤,包括:将最后一次迭代计算的每个离散位置对应的七个关节角(第一关节、第二关节、第三关节、第四关节、第五关节、第六关节和第七关节对应的关节角)作为一个关节角向量,将所有关节角向量作为目标关节角集合。Optionally, the step of determining the target joint angle set according to each joint angle corresponding to each of the solution results, including: seven joint angles (the first one corresponding to each discrete position calculated in the last iteration) joint angle corresponding to the joint, the second joint, the third joint, the fourth joint, the fifth joint, the sixth joint and the seventh joint) as a joint angle vector, and take all the joint angle vectors as the target joint angle set.

可选的,所述对所述世界出手点位置进行调整的步骤,包括:根据所述求解结果为无解的所述离散位置进行无解轨迹阶段确定,得到无解轨迹阶段集合;获取预设的出手点调整规则,根据所述无解轨迹阶段集合和所述预设的出手点调整规则对所述世界出手点位置进行调整。Optionally, the step of adjusting the position of the world shot point includes: determining a solution-free trajectory stage according to the discrete position where the solution result is no solution, to obtain a solution-free trajectory stage set; obtaining a preset The shot point adjustment rule of , adjusts the position of the world shot point according to the unsolved trajectory stage set and the preset shot point adjustment rule.

无解轨迹阶段集合包括:加速阶段轨迹、跟随阶段轨迹、减速阶段轨迹中的一个或多个。The set of unsolved trajectory phases includes: one or more of acceleration phase trajectory, following phase trajectory, and deceleration phase trajectory.

可选的,所述预设的出手点调整规则为在预设位置范围内随机选择。可以理解的是,所述预设的出手点调整规则还可以设置为其他规则,比如,当所述无解轨迹阶段集合中包括减速阶段轨迹时,意味着抛投过早,此时将所述世界出手点位置往靠近减速阶段轨迹的方向调整,在此举例不做具体限定。Optionally, the preset shot point adjustment rule is randomly selected within a preset position range. It can be understood that the preset shot point adjustment rules can also be set to other rules. For example, when the unsolved trajectory stage set includes a deceleration stage trajectory, it means that the throw is too early, and the The position of the world shot point is adjusted to the direction close to the trajectory of the deceleration stage, which is not specifically limited in this example.

所述目标关节角集合,用于对仿人机器人的冗余手臂的关节的关节角控制,以实现将抛投物体抛投到世界目标点位置。The target joint angle set is used to control the joint angle of the joints of the redundant arm of the humanoid robot, so as to realize the projecting of the projectile object to the world target point position.

在一个实施例中,上述根据所述预设加速度变化曲线、所述世界起点位置、所述世界目标点位置及所述世界出手点位置生成加速阶段轨迹的步骤,包括:In one embodiment, the above-mentioned step of generating an acceleration phase trajectory according to the preset acceleration change curve, the world starting point position, the world target point position and the world starting point position includes:

S21:根据所述世界起点位置和所述世界目标点位置确定抛投平面及抛投坐标系;S21: Determine the throwing plane and throwing coordinate system according to the world starting point position and the world target point position;

S22:对所述世界起点位置、所述世界目标点位置及所述世界出手点位置进行抛投坐标系转换,得到抛投起点位置、抛投目标点位置和抛投出手点位置;S22: Converting the world starting point position, the world target point position and the world shooting point position to the coordinate system of casting, to obtain the starting point position of the casting, the position of the casting target point and the position of the throwing shooting point;

S23:获取预设加速轨迹曲线,在所述抛投平面中,根据所述预设加速度变化曲线、所述预设加速轨迹曲线、所述抛投起点位置、所述抛投目标点位置和所述抛投出手点位置生成所述加速阶段轨迹。S23: Acquire a preset acceleration trajectory curve, and in the throwing plane, according to the preset acceleration change curve, the preset acceleration trajectory curve, the throwing starting point position, the throwing target point position and the The acceleration phase trajectory is generated from the position of the throwing hand point.

本实施例实现了先建立抛投平面及抛投坐标系,然后基于抛投平面及抛投坐标系,根据所述预设加速度变化曲线、所述预设加速轨迹曲线生成所述加速阶段轨迹,从而为三段式的抛投轨迹的规划提供了基础。This embodiment realizes that the casting plane and the casting coordinate system are established first, and then the acceleration phase trajectory is generated according to the preset acceleration change curve and the preset acceleration trajectory curve based on the casting plane and the casting coordinate system, This provides the basis for the planning of the three-stage throwing trajectory.

对于S21,将重力方向、所述世界起点位置和所述世界目标点位置所在的平面作为抛投平面;然后根据抛投平面确定抛投坐标系,其中,将所述世界起点位置在抛投平面的位置作为抛投坐标系的原点,抛投坐标系的X轴与所述抛投平面平行,抛投坐标系的Y轴与所述抛投平面垂直,抛投坐标系的Z轴与重力方向相反。For S21, the plane where the gravity direction, the world starting point position and the world target point position are located is used as the throwing plane; then the throwing coordinate system is determined according to the throwing plane, wherein the world starting point position is on the throwing plane As the origin of the throwing coordinate system, the X-axis of the throwing coordinate system is parallel to the throwing plane, the Y-axis of the throwing coordinate system is perpendicular to the throwing plane, and the Z-axis of the throwing coordinate system is parallel to the direction of gravity on the contrary.

其中,抛投坐标系的X轴表述为

Figure 227668DEST_PATH_IMAGE009
,抛投坐标系的Y轴表述为
Figure 817436DEST_PATH_IMAGE010
,抛投坐标系的Z轴表述为
Figure 430820DEST_PATH_IMAGE011
,相互计算关系为:Among them, the X-axis of the throwing coordinate system is expressed as
Figure 227668DEST_PATH_IMAGE009
, the Y-axis of the throwing coordinate system is expressed as
Figure 817436DEST_PATH_IMAGE010
, the Z axis of the throwing coordinate system is expressed as
Figure 430820DEST_PATH_IMAGE011
, the mutual calculation relationship is:

Figure 964570DEST_PATH_IMAGE012
Figure 964570DEST_PATH_IMAGE012

Figure 347010DEST_PATH_IMAGE013
Figure 347010DEST_PATH_IMAGE013

Figure 573592DEST_PATH_IMAGE014
Figure 573592DEST_PATH_IMAGE014

Figure 877534DEST_PATH_IMAGE015
是所述世界目标点位置,
Figure 214974DEST_PATH_IMAGE016
是所述世界起点位置,
Figure 720430DEST_PATH_IMAGE017
是计算向量的
Figure 852334DEST_PATH_IMAGE018
的模长,
Figure 643572DEST_PATH_IMAGE019
Figure 581441DEST_PATH_IMAGE020
Figure 876156DEST_PATH_IMAGE021
中的T是转置。
Figure 877534DEST_PATH_IMAGE015
is the world target location,
Figure 214974DEST_PATH_IMAGE016
is the starting position of the world,
Figure 720430DEST_PATH_IMAGE017
is the computed vector
Figure 852334DEST_PATH_IMAGE018
the modulo length,
Figure 643572DEST_PATH_IMAGE019
for
Figure 581441DEST_PATH_IMAGE020
,
Figure 876156DEST_PATH_IMAGE021
The T in is the transpose.

Figure 710120DEST_PATH_IMAGE022
Figure 710120DEST_PATH_IMAGE022

其中,

Figure 723075DEST_PATH_IMAGE023
是抛投坐标系相对世界坐标系的齐次变换矩阵。in,
Figure 723075DEST_PATH_IMAGE023
is the homogeneous transformation matrix of the projection coordinate system relative to the world coordinate system.

也就是说,齐次变换矩阵包括旋转矩阵和位置坐标。That is, a homogeneous transformation matrix includes a rotation matrix and position coordinates.

对于S22,对所述世界起点位置进行抛投坐标系转换,得到抛投起点位置;对所述世界目标点位置进行抛投坐标系转换,得到抛投目标点位置;对所述世界出手点位置进行抛投坐标系转换,得到抛投出手点位置。因将所述世界起点位置在抛投平面的位置作为抛投坐标系的原点,所以所述抛投起点位置为(0,0,0)。For S22, transform the world starting point position to the casting coordinate system to obtain the throwing starting point position; perform the casting coordinate system transformation on the world target point position to obtain the throwing target point position; Convert the coordinate system of the throwing to get the position of the throwing point. Since the position of the world starting point position on the throwing plane is taken as the origin of the throwing coordinate system, the throwing starting point position is (0, 0, 0).

对于S23,可以从所述仿人机器人的存储空间获取预设加速轨迹曲线,也可以从工控机中获取预设加速轨迹曲线,还可以从第三方应用系统中获取预设加速轨迹曲线。For S23, the preset acceleration trajectory curve can be obtained from the storage space of the humanoid robot, the preset acceleration trajectory curve can also be obtained from an industrial computer, and the preset acceleration trajectory curve can also be obtained from a third-party application system.

可选的,所述预设加速轨迹曲线设置为直线,从而简化了对冗余手臂的控制。可以理解的是,所述预设加速轨迹曲线还可以设置为其他线性,比如,曲线,在此不做具体限定。Optionally, the preset acceleration trajectory curve is set as a straight line, thereby simplifying the control of the redundant arm. It can be understood that, the preset acceleration trajectory curve may also be set to other linearity, for example, a curve, which is not specifically limited herein.

其中,在所述抛投平面中,根据所述预设加速度变化曲线、所述预设加速轨迹曲线、所述抛投起点位置、所述抛投目标点位置和所述抛投出手点位置分别进行抛出角度计算、抛出速度计算及所述加速阶段轨迹生成。Wherein, in the throwing plane, according to the preset acceleration change curve, the preset acceleration trajectory curve, the throwing starting point position, the throwing target point position and the throwing hand position respectively The calculation of the throwing angle, the calculation of the throwing speed and the generation of the trajectory of the acceleration phase are performed.

在一个实施例中,上述在所述抛投平面中,根据所述预设加速度变化曲线、所述预设加速轨迹曲线、所述抛投起点位置、所述抛投目标点位置和所述抛投出手点位置生成所述加速阶段轨迹的步骤,包括:In one embodiment, in the throwing plane, according to the preset acceleration change curve, the preset acceleration trajectory curve, the throwing starting point position, the throwing target point position and the throwing The step of generating the trajectory of the acceleration phase from the position of the throwing hand point includes:

S231:在所述抛投平面中,根据所述预设加速轨迹曲线、所述抛投目标点位置和所述抛投出手点位置分别进行抛出角度计算及抛出速度计算,得到目标抛出角度和目标抛出速度;S231: In the throwing plane, according to the preset acceleration trajectory curve, the throwing target point position and the throwing hand point position, respectively perform throwing angle calculation and throwing speed calculation to obtain the target throwing angle and target throwing speed;

S232:获取起点速度、最大加速度、加速总时长和最大加速度用时比例;S232: Obtain the starting speed, the maximum acceleration, the total acceleration time and the maximum acceleration time ratio;

S233:在所述抛投平面中,根据所述目标抛出角度、所述目标抛出速度、所述抛投起点位置、所述起点速度、所述最大加速度、所述加速总时长和所述最大加速度用时比例生成所述加速阶段轨迹,其中,所述抛投出手点位置作为所述加速阶段轨迹的轨迹路径的终点,所述目标抛出速度作为所述加速阶段轨迹的轨迹路径的终点的轨迹速度,所述目标抛出角度作为所述加速阶段轨迹的轨迹路径的终点的切线的角度。S233: In the throwing plane, according to the target throwing angle, the target throwing speed, the throwing starting point position, the starting point speed, the maximum acceleration, the total acceleration time and the The maximum acceleration time ratio generates the acceleration phase trajectory, wherein the throwing hand position is used as the end point of the trajectory path of the acceleration phase trajectory, and the target throwing speed is used as the acceleration phase trajectory. Trajectory velocity, the target throw angle as the angle of the tangent to the end point of the trajectory path of the acceleration phase trajectory.

本实施例先在所述抛投平面中,根据所述预设加速轨迹曲线、所述抛投目标点位置和所述抛投出手点位置分别进行抛出角度计算及抛出速度计算,然后在所述抛投平面中,根据所述目标抛出角度、所述目标抛出速度、所述抛投起点位置、所述起点速度、所述最大加速度、所述加速总时长和所述最大加速度用时比例生成所述加速阶段轨迹,从而为三段式的抛投轨迹的规划提供了基础。In this embodiment, firstly, in the throwing plane, according to the preset acceleration trajectory curve, the position of the throwing target point and the position of the throwing hand point, the throwing angle calculation and throwing speed calculation are respectively performed, and then the throwing angle is calculated in the throwing plane. In the throwing plane, according to the target throwing angle, the target throwing speed, the throwing starting point position, the starting point speed, the maximum acceleration, the total acceleration time and the maximum acceleration time Proportional generation of the acceleration phase trajectory provides the basis for the planning of a three-stage throw trajectory.

对于S231,在所述抛投平面中,因为所述预设加速轨迹曲线为直线,所以根据所述抛投出手点位置进行抛出角度计算,将计算得到的抛出角度作为目标抛出角度;然后在所述抛投平面中,根据目标抛出角度、所述抛投目标点位置、所述抛投出手点位置和重力加速度进行抛出速度计算,将计算得到的抛出速度作为目标抛出速度。For S231, in the throwing plane, because the preset acceleration trajectory curve is a straight line, the throwing angle is calculated according to the throwing point position, and the calculated throwing angle is used as the target throwing angle; Then in the throwing plane, the throwing speed is calculated according to the target throwing angle, the throwing target point position, the throwing hand position and the acceleration of gravity, and the calculated throwing velocity is used as the target throwing speed. speed.

可以理解的是,

Figure 467565DEST_PATH_IMAGE024
是对
Figure 616787DEST_PATH_IMAGE025
的转置计算。Understandably,
Figure 467565DEST_PATH_IMAGE024
is true
Figure 616787DEST_PATH_IMAGE025
transpose calculation.

其中,所述预设加速轨迹曲线为直线,所述目标抛出角度

Figure 418389DEST_PATH_IMAGE026
的计算公式和目标抛出速度
Figure 449799DEST_PATH_IMAGE027
的计算公式为:Wherein, the preset acceleration trajectory curve is a straight line, and the target throwing angle
Figure 418389DEST_PATH_IMAGE026
Calculation formula and target throwing speed
Figure 449799DEST_PATH_IMAGE027
The calculation formula is:

Figure 463892DEST_PATH_IMAGE028
Figure 463892DEST_PATH_IMAGE028

Figure 998778DEST_PATH_IMAGE029
是四象限反正切函数,
Figure 165756DEST_PATH_IMAGE030
是所述抛投出手点位置,
Figure 887724DEST_PATH_IMAGE031
Figure 971087DEST_PATH_IMAGE032
Figure 94900DEST_PATH_IMAGE033
Figure 972726DEST_PATH_IMAGE034
Figure 447570DEST_PATH_IMAGE035
是所述抛投目标点位置,
Figure 537886DEST_PATH_IMAGE036
是转置计算,cos是余弦函数,sin是正弦函数,g是重力加速度。
Figure 998778DEST_PATH_IMAGE029
is the four-quadrant arctangent function,
Figure 165756DEST_PATH_IMAGE030
is the release point position of the throw,
Figure 887724DEST_PATH_IMAGE031
for
Figure 971087DEST_PATH_IMAGE032
,
Figure 94900DEST_PATH_IMAGE033
for
Figure 972726DEST_PATH_IMAGE034
,
Figure 447570DEST_PATH_IMAGE035
is the position of the target point of the cast,
Figure 537886DEST_PATH_IMAGE036
is the transpose calculation, cos is the cosine function, sin is the sine function, and g is the acceleration of gravity.

也就是说,在所述抛投平面中,因为所述预设加速轨迹曲线为直线,首先从所述抛投出手点位置中提取出Z轴方向的数值和X轴方向的数值,然后将提取出的Z轴方向的数值和X轴方向的数值输入四象限反正切函数进行反正切计算,将计算得到的数据作为目标抛出角度;将所述抛投目标点位置减去所述抛投出手点位置,得到抛投目标点与出手点直线距离;在所述抛投平面中,根据重力加速度、所述目标抛出角度和所述抛投目标点与出手点直线距离进行抛出速度计算,将计算得到的抛出速度作为目标抛出速度。That is to say, in the throwing plane, because the preset acceleration trajectory curve is a straight line, first extract the value in the Z-axis direction and the value in the X-axis direction from the position of the throwing hand point, and then extract The value in the Z-axis direction and the value in the X-axis direction are input into the four-quadrant arctangent function for arctangent calculation, and the calculated data is used as the target throwing angle; the position of the throwing target point is subtracted from the throwing hand. point position, the straight-line distance between the throwing target point and the shot point is obtained; in the throwing plane, the throwing speed is calculated according to the acceleration of gravity, the throwing angle of the target and the straight-line distance between the throwing target point and the shooting point, Use the calculated throwing velocity as the target throwing velocity.

对于S232,可以从所述仿人机器人的存储空间获取起点速度、最大加速度、加速总时长和最大加速度用时比例,还可以从第三方应用系统中获取起点速度、最大加速度、加速总时长和最大加速度用时比例,也可以将起点速度、最大加速度、加速总时长和最大加速度用时比例写入实现本申请的程序中。For S232, the starting point speed, the maximum acceleration, the total acceleration time and the maximum acceleration time ratio can be obtained from the storage space of the humanoid robot, and the starting point speed, the maximum acceleration, the total acceleration time and the maximum acceleration can also be obtained from a third-party application system. For the time-consuming ratio, the starting point speed, the maximum acceleration, the total acceleration duration and the maximum acceleration time-consuming ratio can also be written into the program implementing the present application.

起点速度是一个具体数值,是冗余手臂的手臂末端在所述抛投起点位置的速度。The starting speed is a specific value, which is the speed of the arm end of the redundant arm at the starting position of the throw.

可选的,所述起点速度设置为0。可以理解的是,所述起点速度还可以是其他数值,在此不做具体限定。Optionally, the starting point speed is set to 0. It can be understood that, the starting speed may also be other values, which are not specifically limited herein.

最大加速度,是冗余手臂的手臂末端在加速阶段(也就是所述加速阶段轨迹对应的阶段)的最大的加速度。The maximum acceleration is the maximum acceleration of the arm end of the redundant arm in the acceleration phase (that is, the phase corresponding to the acceleration phase trajectory).

最大加速度用时比例,是冗余手臂的手臂末端在加速阶段中从所述抛投起点位置开始加速到最大加速度所用时长占加速总时长的比例。The maximum acceleration time ratio is the ratio of the time taken by the arm end of the redundant arm to accelerate from the throwing starting point to the maximum acceleration in the acceleration phase to the total acceleration time.

加速总时长,是冗余手臂的手臂末端在加速阶段做加速运动的总时长。The total acceleration time is the total time that the arm end of the redundant arm does the acceleration movement in the acceleration phase.

对于S233,因为所述预设加速轨迹曲线为直线,以及冗余手臂的手臂末端是在加速阶段轨迹结束时将抛投物体抛出,所以所述加速阶段轨迹是一条直线轨迹,所述抛投出手点位置是所述加速阶段轨迹的轨迹路径的终点,所述目标抛出速度是所述加速阶段轨迹的轨迹路径的终点的轨迹速度,所述目标抛出角度是所述加速阶段轨迹的轨迹路径的终点的切线的角度。For S233, because the preset acceleration trajectory curve is a straight line, and the arm end of the redundant arm is to throw the throwing object at the end of the acceleration phase trajectory, the acceleration phase trajectory is a straight trajectory, and the throwing The shot point position is the end point of the trajectory path of the acceleration phase trajectory, the target throwing velocity is the trajectory speed of the end point of the trajectory path of the acceleration phase trajectory, and the target throw angle is the trajectory of the acceleration phase trajectory The angle of the tangent to the end point of the path.

其中,所述轨迹路径

Figure 519136DEST_PATH_IMAGE037
和所述轨迹速度
Figure 567863DEST_PATH_IMAGE038
的计算公式为:where the trajectory path
Figure 519136DEST_PATH_IMAGE037
and the trajectory velocity
Figure 567863DEST_PATH_IMAGE038
The calculation formula is:

Figure 264424DEST_PATH_IMAGE039
Figure 264424DEST_PATH_IMAGE039

Figure 689589DEST_PATH_IMAGE041
Figure 689589DEST_PATH_IMAGE041

Figure 787995DEST_PATH_IMAGE042
Figure 787995DEST_PATH_IMAGE042

Figure 7624DEST_PATH_IMAGE043
Figure 7624DEST_PATH_IMAGE043

Figure 194410DEST_PATH_IMAGE044
是所述目标抛出速度,
Figure 423266DEST_PATH_IMAGE045
是所述最大加速度用时比例,
Figure 110599DEST_PATH_IMAGE046
是所述加速总时长,
Figure 969971DEST_PATH_IMAGE047
是所述最大加速度,
Figure 437862DEST_PATH_IMAGE048
是所述起点速度,
Figure 408092DEST_PATH_IMAGE049
是所述抛投起点位置。
Figure 194410DEST_PATH_IMAGE044
is the target throw velocity,
Figure 423266DEST_PATH_IMAGE045
is the ratio of the maximum acceleration time,
Figure 110599DEST_PATH_IMAGE046
is the total duration of the acceleration,
Figure 969971DEST_PATH_IMAGE047
is the maximum acceleration,
Figure 437862DEST_PATH_IMAGE048
is the starting speed,
Figure 408092DEST_PATH_IMAGE049
is the starting position of the throw.

可以理解的是,

Figure 12248DEST_PATH_IMAGE050
是计算
Figure 842188DEST_PATH_IMAGE051
Figure 735058DEST_PATH_IMAGE052
Figure 305717DEST_PATH_IMAGE053
中的
Figure 967642DEST_PATH_IMAGE054
是所述目标抛出速度。Understandably,
Figure 12248DEST_PATH_IMAGE050
is to calculate
Figure 842188DEST_PATH_IMAGE051
of
Figure 735058DEST_PATH_IMAGE052
,
Figure 305717DEST_PATH_IMAGE053
middle
Figure 967642DEST_PATH_IMAGE054
is the target throw velocity.

也就是说,将抛投目标点与出手点直线距离的模长依次进行乘以2和除以所述目标抛出速度,将计算得到的数据作为所述加速总时长;将所述最大加速度用时比例与所述加速总时长进行相乘,得到持续增加加速度阶段的时长;将所述最大加速度除以所述持续增加加速度阶段的时长,得到持续增加加速度阶段的平均加速度;将所述加速总时长减去持续增加加速度阶段的时长,得到加速度保持不变阶段的结束时长。That is to say, multiply the modulo length of the straight-line distance between the throwing target point and the shooting point by 2 and divide by the target throwing speed in turn, and use the calculated data as the total acceleration time; use the maximum acceleration time The ratio is multiplied by the total acceleration duration to obtain the duration of the continuously increasing acceleration phase; the maximum acceleration is divided by the duration of the continuously increasing acceleration phase to obtain the average acceleration of the continuously increasing acceleration phase; the total acceleration duration is calculated Subtract the duration of the continuously increasing acceleration phase to get the end duration of the constant acceleration phase.

因所述预设加速度变化曲线设置为梯形曲线,针对小于所述持续增加加速度阶段的时长的加速阶段轨迹,根据所述起点速度、持续增加加速度阶段的平均加速度和运行时刻计算轨迹速度,根据所述抛投起点位置、所述起点速度、持续增加加速度阶段的平均加速度和运行时刻计算轨迹位置;针对大于或等于所述持续增加加速度阶段的时长,并且,小于或等于加速度保持不变阶段的结束时长的加速阶段轨迹,根据所述持续增加加速度阶段的时长、所述起点速度、持续增加加速度阶段的平均加速度和运行时刻计算轨迹速度,根据所述持续增加加速度阶段的时长、所述抛投起点位置、所述起点速度、持续增加加速度阶段的平均加速度和运行时刻计算轨迹位置;针对大于加速度保持不变阶段的结束时长,并且,小于所述加速总时长的加速阶段轨迹,根据所述加速总时长、所述持续增加加速度阶段的时长、所述起点速度、持续增加加速度阶段的平均加速度和运行时刻计算轨迹速度,根据所述加速总时长、所述持续增加加速度阶段的时长、所述抛投起点位置、所述起点速度、持续增加加速度阶段的平均加速度和运行时刻计算轨迹位置。Because the preset acceleration change curve is set as a trapezoidal curve, for the acceleration phase trajectory that is less than the duration of the continuously increasing acceleration phase, the trajectory speed is calculated according to the starting point speed, the average acceleration of the continuously increasing acceleration phase and the running time, according to the Calculate the trajectory position of the throwing starting point position, the starting point speed, the average acceleration of the continuously increasing acceleration phase and the running time; for the duration greater than or equal to the continuously increasing acceleration phase, and less than or equal to the end of the constant acceleration phase The acceleration phase trajectory of the duration, the trajectory speed is calculated according to the duration of the continuously increasing acceleration phase, the starting point speed, the average acceleration of the continuously increasing acceleration phase and the running time, and the duration of the continuously increasing acceleration phase, the casting start point The position, the starting speed, the average acceleration of the continuously increasing acceleration phase, and the running time are used to calculate the trajectory position; for the acceleration phase trajectory that is greater than the end duration of the acceleration phase that remains unchanged, and is less than the total acceleration duration, according to the acceleration total duration. The duration, the duration of the continuously increasing acceleration phase, the starting point speed, the average acceleration of the continuously increasing acceleration phase, and the running time to calculate the trajectory velocity, according to the total acceleration duration, the duration of the continuously increasing acceleration phase, the throwing The position of the starting point, the speed of the starting point, the average acceleration of the continuously increasing acceleration phase and the running time calculate the trajectory position.

其中,小于所述持续增加加速度阶段的时长的加速阶段轨迹是加速度持续增加的轨迹;大于或等于所述持续增加加速度阶段的时长,并且,小于或等于加速度保持不变阶段的结束时长的轨迹,是加速度保持不变的轨迹的加速阶段轨迹;大于加速度保持不变阶段的结束时长,并且,小于所述加速总时长的加速阶段轨迹,是加速度减少的轨迹。也就是说,加速阶段轨迹分为:加速度增加、加速度保持、加速度减少不变三个子阶段。Wherein, the acceleration phase trajectory that is less than the duration of the continuously increasing acceleration phase is the trajectory of the acceleration continuously increasing; the trajectory that is greater than or equal to the duration of the continuously increasing acceleration phase, and is less than or equal to the end duration of the constant acceleration phase, is the acceleration phase trajectory of the trajectory where the acceleration remains unchanged; the acceleration phase trajectory that is greater than the end duration of the acceleration maintaining phase and less than the total acceleration duration is the acceleration reduction trajectory. That is to say, the trajectory of the acceleration phase is divided into three sub-phases: acceleration increasing, acceleration maintaining, and acceleration decreasing unchanged.

参照图3,公开了抛物轨迹示意图,图中

Figure 168816DEST_PATH_IMAGE055
是抛物坐标系的原点,也就是所述抛投起点位置,
Figure 611299DEST_PATH_IMAGE056
是所述抛投出手点位置和跟随阶段轨迹的开始点,
Figure 672401DEST_PATH_IMAGE057
是跟随阶段轨迹的结束点和减速阶段轨迹的开始点,
Figure 516729DEST_PATH_IMAGE058
是减速阶段轨迹的结束点,
Figure 888805DEST_PATH_IMAGE059
是所述抛投目标点位置。Referring to FIG. 3, a schematic diagram of a parabolic trajectory is disclosed.
Figure 168816DEST_PATH_IMAGE055
is the origin of the parabolic coordinate system, that is, the starting point of the throwing,
Figure 611299DEST_PATH_IMAGE056
is the position of the throwing hand and the starting point of the trajectory of the follow-up phase,
Figure 672401DEST_PATH_IMAGE057
is the end point of the trajectory of the following phase and the start point of the trajectory of the deceleration phase,
Figure 516729DEST_PATH_IMAGE058
is the end point of the deceleration phase trajectory,
Figure 888805DEST_PATH_IMAGE059
is the throwing target point position.

在一个实施例中,上述分别对每个所述离散位置进行关节角的求解,得到多个求解结果的步骤,包括:In one embodiment, the above-mentioned steps of separately performing joint angle solutions for each of the discrete positions to obtain multiple solution results include:

S51:采用DH参数规则,针对所述冗余手臂的手臂基座及各个关节建立局部坐标系,得到手臂基座坐标系和关节坐标系集合;S51: Using the DH parameter rule, establish a local coordinate system for the arm base and each joint of the redundant arm, and obtain the arm base coordinate system and the set of joint coordinate systems;

S52:获取所述冗余手臂的上臂长度、小臂长度、手心到手腕长度;S52: Obtain the length of the upper arm, the length of the forearm, and the length from the palm to the wrist of the redundant arm;

S53:从各个所述离散位置中获取所述离散位置作为目标离散位置;S53: Obtain the discrete positions from each of the discrete positions as a target discrete position;

S54:根据所述目标离散位置、所述手心到手腕长度确定抛投物体的中心点在所述手臂基座坐标系下的中心点初始位置;S54: Determine the initial position of the center point of the center point of the thrown object under the arm base coordinate system according to the target discrete position and the length from the palm to the wrist;

S55:获取所述冗余手臂的第五关节角初始值、第六关节角初始值和第七关节角初始值,根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度、所述中心点初始位置、所述第五关节角初始值、所述第六关节角初始值和所述第七关节角初始值,对所述冗余手臂的各个关节进行关节角计算,得到关节角计算结果集合;S55: Obtain the initial value of the fifth joint angle, the initial value of the sixth joint angle, and the initial value of the seventh joint angle of the redundant arm, according to the arm base coordinate system, the joint coordinate system set, and the length of the upper arm , the length of the forearm, the length from the palm to the wrist, the initial position of the center point, the initial value of the fifth joint angle, the initial value of the sixth joint angle and the initial value of the seventh joint angle, for all The joint angle calculation is performed on each joint of the redundant arm, and the joint angle calculation result set is obtained;

S56:当所述关节角计算结果集合中不存在关节角计算结果为无解时,重复执行所述从各个所述离散位置中获取所述离散位置作为目标离散位置的步骤,直至所述关节角计算结果集合中存在所述关节角计算结果为无解或完成所述离散位置的获取;S56: When the joint angle calculation result does not exist in the joint angle calculation result set and the result is no solution, repeat the step of obtaining the discrete position from each of the discrete positions as the target discrete position, until the joint angle There is no solution in the calculation result set of the joint angle or the acquisition of the discrete position is completed;

S57:当所述关节角计算结果集合中存在所述关节角计算结果为无解时,确定存在所述关节角计算结果为无解的所述关节角计算结果集合对应的所述求解结果为无解;S57: When the joint angle calculation result is no solution in the joint angle calculation result set, it is determined that the joint angle calculation result corresponding to the joint angle calculation result set is no solution. untie;

S58:当所述关节角计算结果集合中不存在所述关节角计算结果为无解时,确定不存在所述关节角计算结果为无解的所述关节角计算结果集合对应的所述求解结果为有解。S58: When the joint angle calculation result does not exist in the joint angle calculation result set and the joint angle calculation result is no solution, determine that there is no solution result corresponding to the joint angle calculation result set for which the joint angle calculation result is no solution for solution.

本实施例先针对所述冗余手臂的手臂基座及各个关节建立局部坐标系,其次基于所述冗余手臂的第五关节不影响所述抛投物体的位置和所述冗余手臂的第六关节及第七关节在抛投过程中固定不变的规则进行关节角计算,然后根据计算得到的关节角进行在所述手臂基座坐标系下的手臂末端的姿态计算,最后基于将所述关节坐标系集合的第七坐标系的Z轴方向作为手掌开合方向和所述冗余手臂的所述第六关节及所述第七关节在抛投过程中固定不变的规则对所述冗余手臂的各个关节进行关节角计算,从而实现了采用逆解计算对每个所述离散位置进行关节角的求解,实现了对仿人机器人的冗余手臂的抛投规划的分步式解析逆解计算,提高了轨迹求解精度,提高了轨迹求解速率。In this embodiment, a local coordinate system is first established for the arm base and each joint of the redundant arm, and secondly, the fifth joint of the redundant arm does not affect the position of the thrown object and the first joint of the redundant arm. The joint angles of the sixth joint and the seventh joint are calculated according to the fixed rules during the throwing process, and then the posture of the arm end in the arm base coordinate system is calculated according to the calculated joint angles. The Z-axis direction of the seventh coordinate system of the joint coordinate system set is used as the palm opening and closing direction, and the sixth and seventh joints of the redundant arm are fixed during the throwing process. The joint angle calculation is carried out for each joint of the redundant arm, so that the joint angle is solved for each discrete position using the inverse solution calculation, and the step-by-step analytical inverse of the throwing planning of the redundant arm of the humanoid robot is realized. The solution calculation improves the trajectory solving accuracy and the trajectory solving rate.

对于S51,DH参数是机器人的机械臂的参数。DH参数一般使用四个参数:X轴旋转、X轴平移、Z轴旋转和Z轴平移;X轴旋转,一般使用α表示;X轴平移,一般使用a表示;Z轴旋转,一般使用θ表示;Z轴平移,一般使用d表示。根据轴的先后顺序分为标准DH参数和改进DH参数。For S51, the DH parameter is the parameter of the robotic arm of the robot. The DH parameter generally uses four parameters: X-axis rotation, X-axis translation, Z-axis rotation and Z-axis translation; X-axis rotation, generally expressed by α; X-axis translation, generally expressed by a; Z-axis rotation, generally expressed by θ ; Z-axis translation, generally expressed by d. According to the order of axes, it is divided into standard DH parameters and improved DH parameters.

其中,采用DH参数规则,针对所述冗余手臂的手臂基座及各个关节建立局部坐标系的具体步骤在此不做赘述。Wherein, using the DH parameter rule, the specific steps of establishing a local coordinate system for the arm base and each joint of the redundant arm will not be repeated here.

因本申请的所述仿人机器人的冗余手臂是七度自由度的手臂,所以关节坐标系集合中有7个关节坐标系。Since the redundant arm of the humanoid robot of the present application is an arm with seven degrees of freedom, there are seven joint coordinate systems in the set of joint coordinate systems.

对于S52,可以从所述仿人机器人的存储空间获取所述冗余手臂的上臂长度、小臂长度、手心到手腕长度,也可以从工控机中获取所述冗余手臂的上臂长度、小臂长度、手心到手腕长度,还可以从第三方应用系统中获取所述冗余手臂的上臂长度、小臂长度、手心到手腕长度,还可以将所述冗余手臂的上臂长度、小臂长度、手心到手腕长度写入实现本申请的程序中。For S52, the length of the upper arm, the length of the forearm, and the length from the palm to the wrist of the redundant arm can be obtained from the storage space of the humanoid robot, or the length of the upper arm, the length of the forearm of the redundant arm can be obtained from the industrial computer length, palm-to-wrist length, the upper arm length, forearm length, and palm-to-wrist length of the redundant arm can also be obtained from a third-party application system, and the upper arm length, forearm length, The palm-to-wrist length is written into the program implementing this application.

上臂长度,是所述冗余手臂的上臂的长度。The upper arm length is the length of the upper arm of the redundant arm.

小臂长度,是所述冗余手臂的小臂的长度。The forearm length is the length of the forearm of the redundant arm.

手心到手腕长度,是所述冗余手臂的手的手心到手腕的长度。The palm-to-wrist length is the length from the palm to the wrist of the hand of the redundant arm.

对于S53,依次从各个所述离散位置中获取一个所述离散位置,将获取的所述离散位置作为目标离散位置。For S53, one discrete position is sequentially acquired from each of the discrete positions, and the acquired discrete position is used as a target discrete position.

对于S54,因目标离散位置是抛投坐标系下的位置,将所述目标离散位置进行所述手臂基座坐标系下的位置转换,得到基座离散位置;基座离散位置是冗余手臂的手臂末端的位置数据,而手心到手腕的长度是固定数值,因此,根据基座离散位置和手心到手腕的长度,可以得到抛投物体的中心点在所述手臂基座坐标系下的中心点初始位置。For S54, since the target discrete position is the position under the throwing coordinate system, the target discrete position is converted into the position under the arm base coordinate system to obtain the base discrete position; the base discrete position is the redundant arm's position. The position data of the end of the arm, and the length from the palm to the wrist is a fixed value. Therefore, according to the discrete position of the base and the length from the palm to the wrist, the center point of the center point of the thrown object under the arm base coordinate system can be obtained. initial position.

对于S55,第五关节角初始值,是第五关节的关节角的初始值。第六关节角初始值,是第六关节的关节角的初始值。第七关节角初始值,是第七关节的关节角的初始值。In S55, the initial value of the fifth joint angle is the initial value of the joint angle of the fifth joint. The initial value of the sixth joint angle is the initial value of the joint angle of the sixth joint. The initial value of the seventh joint angle is the initial value of the joint angle of the seventh joint.

其中,根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度、所述中心点初始位置、所述第五关节角初始值、所述第六关节角初始值和所述第七关节角初始值,依次进行对所述冗余手臂的第一关节、第二关节、第三关节及第四关节进行关节角计算和对所述冗余手臂的各个关节进行关节角计算,将计算得到的各个关节角作为关节角计算结果集合Wherein, according to the arm base coordinate system, the joint coordinate system set, the length of the upper arm, the length of the forearm, the length from the palm to the wrist, the initial position of the center point, the initial position of the fifth joint angle value, the initial value of the sixth joint angle and the initial value of the seventh joint angle, the joint angle calculation and matching of the first joint, the second joint, the third joint and the fourth joint of the redundant arm are performed in turn. The joint angle calculation is performed on each joint of the redundant arm, and each joint angle obtained by the calculation is used as the joint angle calculation result set

对于S56,当所述关节角计算结果集合中不存在关节角计算结果为无解时,意味着在目标离散位置能计算出第一关节对应的关节角、第二关节对应的关节角、第三关节对应的关节角、第四关节对应的关节角、第五关节对应的关节角的值,重复执行步骤S53至步骤S56,直至所述关节角计算结果集合中存在所述关节角计算结果为无解或完成所述离散位置的获取。For S56, when there is no joint angle calculation result in the joint angle calculation result set and the result is no solution, it means that the joint angle corresponding to the first joint, the joint angle corresponding to the second joint, and the third joint can be calculated at the target discrete position. Values of the joint angle corresponding to the joint, the joint angle corresponding to the fourth joint, and the joint angle corresponding to the fifth joint, and repeat steps S53 to S56 until the joint angle calculation result exists in the joint angle calculation result set, and the calculation result of the joint angle is none. Solve or complete the acquisition of the discrete positions.

对于S57,当所述关节角计算结果集合中存在所述关节角计算结果为无解时,意味着存在所述关节角计算结果集合对应的所述离散位置对应的所述求解结果为无解,因此确定存在所述关节角计算结果为无解的所述关节角计算结果集合对应的所述离散位置对应的所述求解结果为无解。For S57, when there is no solution in the joint angle calculation result in the joint angle calculation result set, it means that the solution result corresponding to the discrete position corresponding to the joint angle calculation result set is no solution, Therefore, it is determined that the solution result corresponding to the discrete position corresponding to the joint angle calculation result set for which the joint angle calculation result is no solution is no solution.

对于S8,当所述关节角计算结果集合中不存在所述关节角计算结果为无解时,意味着所有的所述关节角计算结果集合中关节角计算结果都是有解的,因此确定不存在所述关节角计算结果为无解的所述关节角计算结果集合对应的所述离散位置对应的所述求解结果为有解。For S8, when the joint angle calculation result does not exist in the joint angle calculation result set and the joint angle calculation result is no solution, it means that all the joint angle calculation results in the joint angle calculation result set have solutions, so it is determined that there is no solution. The solution result corresponding to the discrete position corresponding to the joint angle calculation result set for which the joint angle calculation result is no solution exists is a solution.

在一个实施例中,上述根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度、所述中心点初始位置、所述第五关节角初始值、所述第六关节角初始值和所述第七关节角初始值,对所述冗余手臂的各个关节进行关节角计算,得到关节角计算结果集合的步骤,包括:In one embodiment, the above is based on the arm base coordinate system, the joint coordinate system set, the upper arm length, the forearm length, the length from the palm to the wrist, the initial position of the center point, the The initial value of the fifth joint angle, the initial value of the sixth joint angle and the initial value of the seventh joint angle, the joint angle calculation is performed on each joint of the redundant arm, and the steps of obtaining a set of joint angle calculation results include:

S551:基于所述冗余手臂的第五关节不影响所述抛投物体的位置和所述冗余手臂的第六关节及第七关节在抛投过程中固定不变的规则,根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度和所述中心点初始位置,对所述冗余手臂的第一关节、第二关节、第三关节及第四关节进行关节角计算,得到第一关节角待调整值、第二关节角待调整值、第三关节角待调整值和第四关节角待调整值;S551: Based on the rule that the fifth joint of the redundant arm does not affect the position of the object to be thrown and that the sixth and seventh joints of the redundant arm are fixed during the throwing process, according to the rule of the arm The base coordinate system, the set of joint coordinate systems, the length of the upper arm, the length of the forearm, the length from the palm to the wrist, and the initial position of the center point, for the first joint and the second joint of the redundant arm Joint angle calculation is performed on the joint, the third joint and the fourth joint to obtain the to-be-adjusted value of the first joint angle, the to-be-adjusted value of the second joint angle, the to-be-adjusted value of the third joint angle and the to-be-adjusted value of the fourth joint angle;

S552:根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度、所述中心点初始位置、所述第一关节角待调整值、所述第二关节角待调整值、所述第三关节角待调整值、所述第四关节角待调整值、所述第五关节角初始值、所述第六关节角初始值和所述第七关节角初始值,对所述冗余手臂的各个关节进行关节角计算,得到所述关节角计算结果集合。S552: Wait according to the arm base coordinate system, the joint coordinate system set, the upper arm length, the forearm length, the length from the palm to the wrist, the initial position of the center point, and the first joint angle Adjustment value, to-be-adjusted value of the second joint angle, to-be-adjusted value of the third joint angle, to-be-adjusted value of the fourth joint angle, initial value of the fifth joint angle, initial value of the sixth joint angle and the initial value of the seventh joint angle, perform joint angle calculation on each joint of the redundant arm, and obtain the joint angle calculation result set.

本实施例先基于所述冗余手臂的第五关节不影响所述抛投物体的位置和所述冗余手臂的第六关节及第七关节在抛投过程中固定不变的规则进行关节角计算,然后对所述冗余手臂的各个关节进行关节角计算,从而实现了采用逆解计算对每个所述离散位置进行关节角的求解,实现了对仿人机器人的冗余手臂的抛投规划的分步式解析逆解计算,提高了轨迹求解精度,提高了轨迹求解速率。In this embodiment, the joint angle is first determined based on the rule that the fifth joint of the redundant arm does not affect the position of the thrown object and that the sixth and seventh joints of the redundant arm are fixed during the throwing process Calculate, and then calculate the joint angle of each joint of the redundant arm, so as to realize the solution of the joint angle of each discrete position by using the inverse solution calculation, and realize the throwing of the redundant arm of the humanoid robot. The planned step-by-step analytical inverse solution calculation improves the trajectory solving accuracy and the trajectory solving rate.

对于S551,基于所述冗余手臂的第五关节不影响所述抛投物体的位置和所述冗余手臂的第六关节及第七关节在抛投过程中固定不变的规则,也就是保持第五关节对应的关节角、第六关节对应的关节角和第七关节对应的关节角不变化。For S551, based on the rule that the fifth joint of the redundant arm does not affect the position of the throwing object and the sixth and seventh joints of the redundant arm are fixed during the throwing process, that is, keep The joint angle corresponding to the fifth joint, the joint angle corresponding to the sixth joint, and the joint angle corresponding to the seventh joint do not change.

其中,对所述冗余手臂的第一关节、第二关节、第三关节及第四关节进行关节角计算,也就是计算所述冗余手臂的手臂末端运动到所述目标离散位置时,第一关节对应的关节角、第二关节对应的关节角、第三关节对应的关节角及第四关节对应的关节角的值。将对第一关节的关节角计算得到的数值作为第一关节角待调整值,将对第二关节的关节角计算得到的数值作为第二关节角待调整值,将对第三关节的关节角计算得到的数值作为第三关节角待调整值,将对第四关节的关节角计算得到的数值作为第四关节角待调整值。Wherein, the joint angle calculation is performed on the first joint, the second joint, the third joint and the fourth joint of the redundant arm, that is, when the arm end of the redundant arm is calculated to move to the target discrete position, the first joint angle is calculated. Values of the joint angle corresponding to one joint, the joint angle corresponding to the second joint, the joint angle corresponding to the third joint, and the joint angle corresponding to the fourth joint. The value calculated from the joint angle of the first joint is taken as the value to be adjusted for the first joint angle, the value calculated from the joint angle of the second joint is taken as the value to be adjusted for the second joint angle, and the joint angle of the third joint is taken as the value to be adjusted for the second joint. The calculated value is used as the to-be-adjusted value of the third joint angle, and the value calculated from the joint angle of the fourth joint is used as the to-be-adjusted value of the fourth joint angle.

对于S552,根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度、所述中心点初始位置、所述第一关节角待调整值、所述第二关节角待调整值、所述第三关节角待调整值、所述第四关节角待调整值、所述第五关节角初始值、所述第六关节角初始值和所述第七关节角初始值,依次进行在所述手臂基座坐标系下的手臂末端的姿态计算和对所述冗余手臂的各个关节进行关节角计算,将计算得到的各个关节角作为所述关节角计算结果集合。For S552, according to the arm base coordinate system, the joint coordinate system set, the upper arm length, the forearm length, the length from the palm to the wrist, the initial position of the center point, and the first joint angle Value to be adjusted, value to be adjusted of the second joint angle, value to be adjusted of the third joint angle, value to be adjusted of the fourth joint angle, initial value of the fifth joint angle, initial value of the sixth joint angle value and the initial value of the seventh joint angle, the posture calculation of the arm end in the arm base coordinate system and the joint angle calculation of each joint of the redundant arm are performed in turn, and the calculated joint angles are calculated. As the joint angle calculation result set.

在一个实施例中,上述根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度、所述中心点初始位置、所述第一关节角待调整值、所述第二关节角待调整值、所述第三关节角待调整值、所述第四关节角待调整值、所述第五关节角初始值、所述第六关节角初始值和所述第七关节角初始值,对所述冗余手臂的各个关节进行关节角计算,得到所述关节角计算结果集合的步骤,包括:In one embodiment, the above is based on the arm base coordinate system, the joint coordinate system set, the upper arm length, the forearm length, the length from the palm to the wrist, the initial position of the center point, the The value to be adjusted of the first joint angle, the value to be adjusted of the second joint angle, the value to be adjusted of the third joint angle, the value to be adjusted of the fourth joint angle, the initial value of the fifth joint angle, the The initial value of the six joint angles and the initial value of the seventh joint angle, the joint angle calculation is performed on each joint of the redundant arm, and the steps of obtaining the joint angle calculation result set include:

S5521:根据所述第一关节角待调整值、所述第二关节角待调整值、所述第三关节角待调整值、所述第四关节角待调整值、所述第五关节角初始值、所述第六关节角初始值和所述第七关节角初始值进行在所述手臂基座坐标系下的手臂末端的姿态计算,得到第一末端姿态;S5521: According to the to-be-adjusted value of the first joint angle, the to-be-adjusted value of the second joint angle, the to-be-adjusted value of the third joint angle, the to-be-adjusted value of the fourth joint angle, and the initial value of the fifth joint angle value, the initial value of the sixth joint angle and the initial value of the seventh joint angle to calculate the posture of the arm end under the arm base coordinate system to obtain the first end posture;

S5522:基于将所述关节坐标系集合的第七坐标系的Z轴方向作为手掌开合方向和所述冗余手臂的所述第六关节及所述第七关节在抛投过程中固定不变的规则,根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度、所述中心点初始位置和所述第一末端姿态,对所述冗余手臂的各个关节进行关节角计算,得到所述关节角计算结果集合。S5522: Based on taking the Z-axis direction of the seventh coordinate system of the joint coordinate system set as the palm opening and closing direction and the sixth joint and the seventh joint of the redundant arm being fixed during the throwing process according to the arm base coordinate system, the set of joint coordinate systems, the length of the upper arm, the length of the forearm, the length from the palm to the wrist, the initial position of the center point and the first end posture , perform joint angle calculation on each joint of the redundant arm, and obtain the joint angle calculation result set.

本实施例首先根据计算得到的关节角进行在所述手臂基座坐标系下的手臂末端的姿态计算,然后基于将所述关节坐标系集合的第七坐标系的Z轴方向作为手掌开合方向和所述冗余手臂的所述第六关节及所述第七关节在抛投过程中固定不变的规则对所述冗余手臂的各个关节进行关节角计算,从而实现了采用逆解计算对每个所述离散位置进行关节角的求解,实现了对仿人机器人的冗余手臂的抛投规划的分步式解析逆解计算,提高了轨迹求解精度,提高了轨迹求解速率。This embodiment firstly calculates the posture of the arm end in the arm base coordinate system according to the calculated joint angles, and then uses the Z-axis direction of the seventh coordinate system of the joint coordinate system set as the palm opening and closing direction The sixth joint and the seventh joint of the redundant arm are fixed and unchanged during the throwing process to calculate the joint angle of each joint of the redundant arm, so as to realize the inverse solution calculation. The joint angle is solved at each discrete position, which realizes the step-by-step analytical inverse solution calculation for the throwing planning of the redundant arm of the humanoid robot, improves the trajectory solving accuracy and improves the trajectory solving rate.

对于S5521,根据机器人的手臂的运动学正解,根据所述第一关节角待调整值、所述第二关节角待调整值、所述第三关节角待调整值、所述第四关节角待调整值、所述第五关节角初始值、所述第六关节角初始值和所述第七关节角初始值进行在所述手臂基座坐标系下的手臂末端的姿态计算,将计算得到的末端姿态作为第一末端姿态,从而实现将关节角映射到任务空间。For S5521, according to the positive kinematics solution of the robot arm, according to the to-be-adjusted value of the first joint angle, the to-be-adjusted value of the second joint angle, the to-be-adjusted value of the third joint angle, and the to-be-adjusted value of the fourth joint angle The adjustment value, the initial value of the fifth joint angle, the initial value of the sixth joint angle and the initial value of the seventh joint angle are used to calculate the posture of the arm end in the arm base coordinate system, and the calculated The end pose is used as the first end pose, thereby realizing the mapping of joint angles to the task space.

对于S5522,基于将所述关节坐标系集合的第七坐标系(第七关节对应的局部坐标系)的Z轴方向作为手掌开合方向和所述冗余手臂的所述第六关节及所述第七关节在抛投过程中固定不变的规则,也就是保持第六关节对应的关节角和第七关节对应的关节角不变化,在冗余手臂的手臂末端位于所述目标离散位置时,调整第五关节对应的关节角和计算第一关节对应的关节角、第二关节对应的关节角、第三关节对应的关节角及第四关节对应的关节角,以使手掌开合方向与抛投平面平行。For S5522, the Z-axis direction of the seventh coordinate system of the joint coordinate system set (the local coordinate system corresponding to the seventh joint) is used as the palm opening and closing direction and the sixth joint of the redundant arm and the The rule that the seventh joint is fixed during the throwing process, that is, the joint angle corresponding to the sixth joint and the joint angle corresponding to the seventh joint are kept unchanged. When the arm end of the redundant arm is located at the target discrete position, Adjust the joint angle corresponding to the fifth joint and calculate the joint angle corresponding to the first joint, the joint angle corresponding to the second joint, the joint angle corresponding to the third joint and the joint angle corresponding to the fourth joint, so that the opening and closing direction of the palm is consistent with the throwing direction. The projection plane is parallel.

其中,对所述冗余手臂的各个关节进行关节角计算,也就是计算所述冗余手臂的手臂末端运动到所述目标离散位置时,第一关节对应的关节角、第二关节对应的关节角、第三关节对应的关节角、第四关节对应的关节角、第五关节对应的关节角的值,当能计算出关节的关节角的值时意味着该关节对应的关节角计算结果为有解,当不能计算出关节的关节角的值时意味着该关节对应的关节角计算结果为无解。Wherein, the joint angle calculation is performed on each joint of the redundant arm, that is, when the arm end of the redundant arm moves to the target discrete position, the joint angle corresponding to the first joint and the joint corresponding to the second joint are calculated. angle, the joint angle corresponding to the third joint, the joint angle corresponding to the fourth joint, and the value of the joint angle corresponding to the fifth joint. When the value of the joint angle of the joint can be calculated, it means that the joint angle corresponding to the joint is calculated as There is a solution. When the value of the joint angle of the joint cannot be calculated, it means that the calculation result of the joint angle corresponding to the joint is no solution.

可以理解的是,每次对所述冗余手臂的各个关节进行关节角计算得到关节角计算结果集合时,关节角计算结果集合是指5个关节角计算结果,5个关节角计算结果分别对应第一关节、第一关节、第一关节、第一关节、第五关节。It can be understood that each time the joint angle calculation is performed on each joint of the redundant arm to obtain the joint angle calculation result set, the joint angle calculation result set refers to the five joint angle calculation results, and the five joint angle calculation results correspond to The first joint, the first joint, the first joint, the first joint, the fifth joint.

在一个实施例中,上述基于所述冗余手臂的第五关节不影响所述抛投物体的位置和所述冗余手臂的第六关节及第七关节在抛投过程中固定不变的规则,根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度和所述中心点初始位置,对所述冗余手臂的第一关节、第二关节、第三关节及第四关节进行关节角计算,得到第一关节角待调整值、第二关节角待调整值、第三关节角待调整值和第四关节角待调整值的步骤,包括:In one embodiment, the above-mentioned rule based on the fifth joint of the redundant arm does not affect the position of the throwing object and the rule that the sixth joint and the seventh joint of the redundant arm are fixed during the throwing process , according to the arm base coordinate system, the set of joint coordinate systems, the length of the upper arm, the length of the forearm, the length from the palm to the wrist and the initial position of the center point, the first position of the redundant arm is determined. The joint angles of the first joint, the second joint, the third joint and the fourth joint are calculated to obtain the first joint angle to be adjusted, the second joint angle to be adjusted, the third joint angle to be adjusted and the fourth joint angle to be adjusted value steps, including:

S5511:根据所述中心点初始位置、所述上臂长度、所述小臂长度和所述手心到手腕长度,对所述冗余手臂的第四关节进行关节角计算,得到所述第四关节角待调整值;S5511: Calculate the joint angle of the fourth joint of the redundant arm according to the initial position of the center point, the length of the upper arm, the length of the forearm, and the length from the palm to the wrist, to obtain the fourth joint angle value to be adjusted;

S5512:基于所述冗余手臂的第五关节不影响所述抛投物体的位置、所述冗余手臂的第六关节及第七关节在抛投过程中固定不变的规则和所述冗余手臂的手臂末端的运动学方程,根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度和所述中心点初始位置,确定所述关节坐标系集合中的第三坐标系相对所述手臂基座坐标系的初始旋转矩阵;S5512: Based on the rule that the fifth joint of the redundant arm does not affect the position of the thrown object, the sixth joint and the seventh joint of the redundant arm are fixed during the throwing process, and the redundant The kinematic equation of the arm end of the arm, according to the arm base coordinate system, the joint coordinate system set, the length of the upper arm, the length of the forearm, the length from the palm to the wrist and the initial position of the center point, determining the initial rotation matrix of the third coordinate system in the set of joint coordinate systems relative to the coordinate system of the arm base;

S5513:根据所述初始旋转矩阵,对所述冗余手臂的第一关节、第二关节和第三关节进行关节角计算,得到所述第一关节角待调整值、所述第二关节角待调整值和所述第三关节角待调整值。S5513: According to the initial rotation matrix, perform joint angle calculation on the first joint, the second joint and the third joint of the redundant arm to obtain the to-be-adjusted value of the first joint angle and the to-be-adjusted value of the second joint angle. The adjustment value and the to-be-adjusted value of the third joint angle.

本实施例实现了基于所述冗余手臂的第五关节不影响所述抛投物体的位置和所述冗余手臂的第六关节及第七关节在抛投过程中固定不变的规则,根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度和所述中心点初始位置,对所述冗余手臂的第一关节、第二关节、第三关节及第四关节进行关节角计算,为进行在所述手臂基座坐标系下的手臂末端的姿态计算提供了基础。This embodiment implements the rule that the fifth joint of the redundant arm does not affect the position of the throwing object and the sixth and seventh joints of the redundant arm are fixed during the throwing process. The arm base coordinate system, the joint coordinate system set, the length of the upper arm, the length of the forearm, the length from the palm to the wrist, and the initial position of the center point, for the first joint of the redundant arm , the second joint, the third joint and the fourth joint are used to calculate the joint angle, which provides a basis for the attitude calculation of the end of the arm in the coordinate system of the arm base.

第一关节角待调整值

Figure 756266DEST_PATH_IMAGE060
、所述第二关节角待调整值
Figure 871990DEST_PATH_IMAGE061
、所述第三关节角待调整值
Figure 570825DEST_PATH_IMAGE062
和所述第四关节角待调整值
Figure 848222DEST_PATH_IMAGE063
通过如下公式计算得到:The first joint angle to be adjusted
Figure 756266DEST_PATH_IMAGE060
, the value of the second joint angle to be adjusted
Figure 871990DEST_PATH_IMAGE061
, the value of the third joint angle to be adjusted
Figure 570825DEST_PATH_IMAGE062
and the value of the fourth joint angle to be adjusted
Figure 848222DEST_PATH_IMAGE063
It is calculated by the following formula:

所述冗余手臂的手臂末端的运动学方程为:The kinematic equation of the arm end of the redundant arm is:

Figure 2647DEST_PATH_IMAGE064
Figure 2647DEST_PATH_IMAGE064

其中,

Figure 922062DEST_PATH_IMAGE065
是所述中心点初始位置,
Figure 413086DEST_PATH_IMAGE066
是所述关节坐标系集合的第三坐标系相对所述手臂基座坐标系的初始旋转矩阵,
Figure 923702DEST_PATH_IMAGE067
是所述关节坐标系集合的第四坐标系相对所述关节坐标系集合的第三坐标系的所述旋转矩阵,
Figure 31335DEST_PATH_IMAGE068
是在所述冗余手臂的第五关节不影响所述抛投物体的位置和所述冗余手臂的第六关节及第七关节在抛投过程中固定不变时所述关节坐标系集合的第七坐标系相对所述关节坐标系集合的第四坐标系的所述旋转矩阵,
Figure 223282DEST_PATH_IMAGE069
是所述上臂长度,
Figure 631130DEST_PATH_IMAGE070
是所述小臂长度,
Figure 518839DEST_PATH_IMAGE071
是所述手心到手腕长度;in,
Figure 922062DEST_PATH_IMAGE065
is the initial position of the center point,
Figure 413086DEST_PATH_IMAGE066
is the initial rotation matrix of the third coordinate system of the joint coordinate system set relative to the arm base coordinate system,
Figure 923702DEST_PATH_IMAGE067
is the rotation matrix of the fourth coordinate system of the joint coordinate system set relative to the third coordinate system of the joint coordinate system set,
Figure 31335DEST_PATH_IMAGE068
It is the set of joint coordinate systems when the fifth joint of the redundant arm does not affect the position of the throwing object and the sixth and seventh joints of the redundant arm are fixed during the throwing process. the rotation matrix of the seventh coordinate system relative to the fourth coordinate system of the joint coordinate system set,
Figure 223282DEST_PATH_IMAGE069
is the upper arm length,
Figure 631130DEST_PATH_IMAGE070
is the forearm length,
Figure 518839DEST_PATH_IMAGE071
is the palm-to-wrist length;

Figure 644927DEST_PATH_IMAGE072
是所述冗余手臂的肩部与手部之间的相对位置关系,
Figure 640564DEST_PATH_IMAGE073
是所述冗余手臂的肘部与手部之间的相对位置关系,
Figure 106181DEST_PATH_IMAGE074
是所述冗余手臂的手腕与手部之间的相对位置关系,分别表述为:
Figure 644927DEST_PATH_IMAGE072
is the relative positional relationship between the shoulder and the hand of the redundant arm,
Figure 640564DEST_PATH_IMAGE073
is the relative positional relationship between the elbow and the hand of the redundant arm,
Figure 106181DEST_PATH_IMAGE074
is the relative positional relationship between the wrist and the hand of the redundant arm, expressed as:

Figure 958599DEST_PATH_IMAGE075
Figure 958599DEST_PATH_IMAGE075

Figure 775245DEST_PATH_IMAGE076
Figure 775245DEST_PATH_IMAGE076

Figure 574574DEST_PATH_IMAGE077
Figure 574574DEST_PATH_IMAGE077

其中,

Figure 959944DEST_PATH_IMAGE078
是所述上臂长度,
Figure 452105DEST_PATH_IMAGE079
是所述小臂长度,
Figure 224889DEST_PATH_IMAGE080
是所述手心到手腕长度;in,
Figure 959944DEST_PATH_IMAGE078
is the upper arm length,
Figure 452105DEST_PATH_IMAGE079
is the forearm length,
Figure 224889DEST_PATH_IMAGE080
is the palm-to-wrist length;

根据所述第五关节不影响所述抛投物体的位置,确定手心到肘部长度

Figure 359067DEST_PATH_IMAGE081
的计算公式为:According to the position where the fifth joint does not affect the thrown object, determine the length from the palm to the elbow
Figure 359067DEST_PATH_IMAGE081
The calculation formula is:

Figure 861592DEST_PATH_IMAGE082
Figure 861592DEST_PATH_IMAGE082

所述冗余手臂的手臂末端的运动学方程表述为:The kinematic equation of the arm end of the redundant arm is expressed as:

Figure 993497DEST_PATH_IMAGE083
Figure 993497DEST_PATH_IMAGE083

Figure 572684DEST_PATH_IMAGE084
等效为:Will
Figure 572684DEST_PATH_IMAGE084
Equivalent to:

Figure 448236DEST_PATH_IMAGE085
Figure 448236DEST_PATH_IMAGE085

Figure 805268DEST_PATH_IMAGE086
Figure 805268DEST_PATH_IMAGE086

参照图4,其中,

Figure 108073DEST_PATH_IMAGE087
是所述冗余手臂的肘部,
Figure 714504DEST_PATH_IMAGE088
是所述冗余手臂的手腕,
Figure 190485DEST_PATH_IMAGE089
是所述冗余手臂的所述抛投物体的中心点;Referring to Figure 4, wherein,
Figure 108073DEST_PATH_IMAGE087
is the elbow of the redundant arm,
Figure 714504DEST_PATH_IMAGE088
is the wrist of the redundant arm,
Figure 190485DEST_PATH_IMAGE089
is the center point of the throwing object of the redundant arm;

参照图4,将

Figure 342636DEST_PATH_IMAGE090
平面与参考平面的夹角作为初始臂角,其中,所述参考平面是所述第三关节的关节角为0时的
Figure 144239DEST_PATH_IMAGE091
平面,
Figure 175649DEST_PATH_IMAGE092
是所述冗余手臂的肩部;Referring to Figure 4, the
Figure 342636DEST_PATH_IMAGE090
The angle between the plane and the reference plane is used as the initial arm angle, wherein the reference plane is the joint angle of the third joint when the joint angle is 0.
Figure 144239DEST_PATH_IMAGE091
flat,
Figure 175649DEST_PATH_IMAGE092
is the shoulder of the redundant arm;

根据罗德里格斯公式,将所述初始臂角

Figure 393003DEST_PATH_IMAGE093
相对所述手臂基座坐标系的旋转矩阵
Figure 724627DEST_PATH_IMAGE094
的计算公式为:According to the Rodrigues formula, the initial arm angle
Figure 393003DEST_PATH_IMAGE093
Rotation matrix relative to the arm base coordinate system
Figure 724627DEST_PATH_IMAGE094
The calculation formula is:

Figure 634815DEST_PATH_IMAGE095
Figure 634815DEST_PATH_IMAGE095

其中,

Figure 359713DEST_PATH_IMAGE096
Figure 443075DEST_PATH_IMAGE097
Figure 832468DEST_PATH_IMAGE098
Figure 913557DEST_PATH_IMAGE099
轴的单位矢量,
Figure 388400DEST_PATH_IMAGE100
Figure 9875DEST_PATH_IMAGE101
的反对称矩阵,
Figure 253774DEST_PATH_IMAGE102
轴是所述冗余手臂的肩部与所述抛投物体的中心点的连线;in,
Figure 359713DEST_PATH_IMAGE096
for
Figure 443075DEST_PATH_IMAGE097
,
Figure 832468DEST_PATH_IMAGE098
Yes
Figure 913557DEST_PATH_IMAGE099
the unit vector of the axis,
Figure 388400DEST_PATH_IMAGE100
Yes
Figure 9875DEST_PATH_IMAGE101
The antisymmetric matrix of ,
Figure 253774DEST_PATH_IMAGE102
The axis is the line connecting the shoulder of the redundant arm and the center point of the throwing object;

所述第三坐标系相对所述手臂基座坐标系的初始旋转矩阵

Figure 508694DEST_PATH_IMAGE103
计算公式为:The initial rotation matrix of the third coordinate system relative to the arm base coordinate system
Figure 508694DEST_PATH_IMAGE103
The calculation formula is:

Figure 267571DEST_PATH_IMAGE104
Figure 267571DEST_PATH_IMAGE104

Figure 630419DEST_PATH_IMAGE105
Figure 630419DEST_PATH_IMAGE105

Figure 728825DEST_PATH_IMAGE106
Figure 728825DEST_PATH_IMAGE106

Figure 214033DEST_PATH_IMAGE107
Figure 214033DEST_PATH_IMAGE107

其中,

Figure 397890DEST_PATH_IMAGE108
是3*3的矩阵,
Figure 95587DEST_PATH_IMAGE109
是3*3的矩阵,
Figure 328728DEST_PATH_IMAGE110
是3*3的矩阵,
Figure 719258DEST_PATH_IMAGE111
Figure 187148DEST_PATH_IMAGE112
为0时所述第三坐标系相对所述手臂基座坐标系的初始旋转矩阵;in,
Figure 397890DEST_PATH_IMAGE108
is a 3*3 matrix,
Figure 95587DEST_PATH_IMAGE109
is a 3*3 matrix,
Figure 328728DEST_PATH_IMAGE110
is a 3*3 matrix,
Figure 719258DEST_PATH_IMAGE111
Yes
Figure 187148DEST_PATH_IMAGE112
When it is 0, the initial rotation matrix of the third coordinate system relative to the arm base coordinate system;

根据三角形集合关系,得到所述第四关节角待调整值

Figure 954116DEST_PATH_IMAGE113
的计算公式:According to the triangle set relationship, the to-be-adjusted value of the fourth joint angle is obtained
Figure 954116DEST_PATH_IMAGE113
Calculation formula:

Figure 27114DEST_PATH_IMAGE114
Figure 27114DEST_PATH_IMAGE114

根据所述手臂末端的运动学方程的等式关系,得到所述第一关节角待调整值

Figure 588545DEST_PATH_IMAGE115
、第二关节角待调整值
Figure 484345DEST_PATH_IMAGE116
、第三关节角待调整值
Figure 523845DEST_PATH_IMAGE117
的计算公式:According to the equation relationship of the kinematic equation of the arm end, the to-be-adjusted value of the first joint angle is obtained
Figure 588545DEST_PATH_IMAGE115
, the second joint angle to be adjusted
Figure 484345DEST_PATH_IMAGE116
, the third joint angle to be adjusted
Figure 523845DEST_PATH_IMAGE117
Calculation formula:

Figure 716929DEST_PATH_IMAGE118
Figure 716929DEST_PATH_IMAGE118

Figure 714841DEST_PATH_IMAGE119
Figure 714841DEST_PATH_IMAGE119

Figure 891744DEST_PATH_IMAGE120
Figure 891744DEST_PATH_IMAGE120

其中,

Figure 938198DEST_PATH_IMAGE121
Figure 785455DEST_PATH_IMAGE122
的第2行第2列的值,
Figure 688689DEST_PATH_IMAGE123
Figure 821730DEST_PATH_IMAGE124
的第2行第2列的值,
Figure 671875DEST_PATH_IMAGE125
Figure 105130DEST_PATH_IMAGE126
的第2行第2列的值,
Figure 648107DEST_PATH_IMAGE127
Figure 802532DEST_PATH_IMAGE128
的第1行第2列的值,
Figure 456367DEST_PATH_IMAGE129
Figure 9709DEST_PATH_IMAGE130
的第1行第2列的值,
Figure 254745DEST_PATH_IMAGE131
Figure 96799DEST_PATH_IMAGE132
的第1行第2列的值,
Figure 351063DEST_PATH_IMAGE133
Figure 696594DEST_PATH_IMAGE134
的第3行第2列的值,
Figure 634901DEST_PATH_IMAGE135
Figure 495410DEST_PATH_IMAGE136
的第3行第2列的值,
Figure 225468DEST_PATH_IMAGE137
Figure 753401DEST_PATH_IMAGE138
的第3行第2列的值,
Figure 605820DEST_PATH_IMAGE139
Figure 156887DEST_PATH_IMAGE140
的第3行第3列的值,
Figure 755883DEST_PATH_IMAGE141
Figure 872744DEST_PATH_IMAGE142
的第3行第3列的值,
Figure 630484DEST_PATH_IMAGE143
Figure 668847DEST_PATH_IMAGE144
的第3行第3列的值,
Figure 68604DEST_PATH_IMAGE145
Figure 508813DEST_PATH_IMAGE146
的第3行第1列的值,
Figure 705964DEST_PATH_IMAGE147
Figure 966044DEST_PATH_IMAGE148
的第3行第1列的值,
Figure 169492DEST_PATH_IMAGE149
Figure 729786DEST_PATH_IMAGE150
的第3行第1列的值。in,
Figure 938198DEST_PATH_IMAGE121
Yes
Figure 785455DEST_PATH_IMAGE122
The value of row 2 and column 2 of ,
Figure 688689DEST_PATH_IMAGE123
Yes
Figure 821730DEST_PATH_IMAGE124
The value of row 2 and column 2 of ,
Figure 671875DEST_PATH_IMAGE125
Yes
Figure 105130DEST_PATH_IMAGE126
The value of row 2 and column 2 of ,
Figure 648107DEST_PATH_IMAGE127
Yes
Figure 802532DEST_PATH_IMAGE128
The value of row 1 and column 2 of ,
Figure 456367DEST_PATH_IMAGE129
Yes
Figure 9709DEST_PATH_IMAGE130
The value of row 1 and column 2 of ,
Figure 254745DEST_PATH_IMAGE131
Yes
Figure 96799DEST_PATH_IMAGE132
The value of row 1 and column 2 of ,
Figure 351063DEST_PATH_IMAGE133
Yes
Figure 696594DEST_PATH_IMAGE134
The value of row 3 and column 2 of ,
Figure 634901DEST_PATH_IMAGE135
Yes
Figure 495410DEST_PATH_IMAGE136
The value of row 3 and column 2 of ,
Figure 225468DEST_PATH_IMAGE137
Yes
Figure 753401DEST_PATH_IMAGE138
The value of row 3 and column 2 of ,
Figure 605820DEST_PATH_IMAGE139
Yes
Figure 156887DEST_PATH_IMAGE140
The value of row 3 and column 3 of ,
Figure 755883DEST_PATH_IMAGE141
Yes
Figure 872744DEST_PATH_IMAGE142
The value of row 3 and column 3 of ,
Figure 630484DEST_PATH_IMAGE143
Yes
Figure 668847DEST_PATH_IMAGE144
The value of row 3 and column 3 of ,
Figure 68604DEST_PATH_IMAGE145
Yes
Figure 508813DEST_PATH_IMAGE146
The value of row 3, column 1 of ,
Figure 705964DEST_PATH_IMAGE147
Yes
Figure 966044DEST_PATH_IMAGE148
The value of row 3, column 1 of ,
Figure 169492DEST_PATH_IMAGE149
Yes
Figure 729786DEST_PATH_IMAGE150
The value of row 3, column 1.

其中,所述旋转矩阵,是齐次变换矩阵的旋转矩阵。The rotation matrix is a rotation matrix of a homogeneous transformation matrix.

其中,根据所述手臂末端的运动学方程的等式关系,得到所述第一关节角待调整值

Figure 32592DEST_PATH_IMAGE151
、第二关节角待调整值
Figure 107864DEST_PATH_IMAGE152
、第三关节角待调整值
Figure 586774DEST_PATH_IMAGE153
的计算公式,也就是根据等效手臂的运动学方程等式关系得到所述第一关节角待调整值
Figure 532734DEST_PATH_IMAGE154
、第二关节角待调整值
Figure 6440DEST_PATH_IMAGE152
、第三关节角待调整值
Figure 303429DEST_PATH_IMAGE153
的计算公式。Wherein, according to the equation relationship of the kinematic equation of the arm end, the to-be-adjusted value of the first joint angle is obtained
Figure 32592DEST_PATH_IMAGE151
, the second joint angle to be adjusted
Figure 107864DEST_PATH_IMAGE152
, the third joint angle to be adjusted
Figure 586774DEST_PATH_IMAGE153
The calculation formula of , that is, the value to be adjusted of the first joint angle is obtained according to the equation relationship of the kinematic equation of the equivalent arm
Figure 532734DEST_PATH_IMAGE154
, the second joint angle to be adjusted
Figure 6440DEST_PATH_IMAGE152
, the third joint angle to be adjusted
Figure 303429DEST_PATH_IMAGE153
calculation formula.

也就是说,采用公式

Figure 317522DEST_PATH_IMAGE155
即可计算得到所述第四关节角待调整值
Figure 929374DEST_PATH_IMAGE156
。That is, using the formula
Figure 317522DEST_PATH_IMAGE155
The value to be adjusted of the fourth joint angle can be calculated
Figure 929374DEST_PATH_IMAGE156
.

采用公式

Figure 839561DEST_PATH_IMAGE157
即可计算得到所述第一关节角待调整值
Figure 623846DEST_PATH_IMAGE158
;采用公式
Figure 910471DEST_PATH_IMAGE159
即可计算得到所述第二关节角待调整值
Figure 34285DEST_PATH_IMAGE152
;采用公式
Figure 912111DEST_PATH_IMAGE160
即可计算得到所述第三关节角待调整值
Figure 121375DEST_PATH_IMAGE153
。using the formula
Figure 839561DEST_PATH_IMAGE157
The value to be adjusted of the first joint angle can be calculated and obtained
Figure 623846DEST_PATH_IMAGE158
; using the formula
Figure 910471DEST_PATH_IMAGE159
The value to be adjusted of the second joint angle can be calculated
Figure 34285DEST_PATH_IMAGE152
; using the formula
Figure 912111DEST_PATH_IMAGE160
The value to be adjusted of the third joint angle can be calculated
Figure 121375DEST_PATH_IMAGE153
.

在一个实施例中,上述基于将所述关节坐标系集合的第七坐标系的Z轴方向作为手掌开合方向和所述冗余手臂的所述第六关节及所述第七关节在抛投过程中固定不变的规则,根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度、所述中心点初始位置和所述第一末端姿态,对所述冗余手臂的各个关节进行关节角计算,得到所述关节角计算结果集合的步骤,包括:In one embodiment, the above is based on taking the Z-axis direction of the seventh coordinate system of the joint coordinate system set as the palm opening and closing direction and the sixth joint and the seventh joint of the redundant arm when throwing The rules that are fixed in the process are based on the arm base coordinate system, the joint coordinate system set, the upper arm length, the forearm length, the length from the palm to the wrist, the initial position of the center point and all The first terminal posture, the joint angle calculation is performed on each joint of the redundant arm, and the steps of obtaining the joint angle calculation result set include:

S55221:基于将所述第七坐标系的Z轴方向作为手掌开合方向和使所述第七坐标系的所述Z轴方向与所述抛投平面平行确定所述第五关节的调整角度;S55221: Determine the adjustment angle of the fifth joint based on taking the Z-axis direction of the seventh coordinate system as the palm opening and closing direction and making the Z-axis direction of the seventh coordinate system parallel to the throwing plane;

S55222:根据所述调整角度和所述第五关节角初始值确定所述第五关节对应的关节角计算结果;S55222: Determine the joint angle calculation result corresponding to the fifth joint according to the adjustment angle and the initial value of the fifth joint angle;

S55223:根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述上臂长度和所述手心到手腕长度,对所述冗余手臂的手腕的中心点进行在所述手臂基座坐标系下的位置计算,得到基座手腕中心位置;S55223: According to the arm base coordinate system, the joint coordinate system set, the length of the upper arm, the length of the upper arm, and the length from the palm to the wrist, perform the calculation on the center point of the wrist of the redundant arm on the Calculate the position in the arm base coordinate system to obtain the center position of the base wrist;

S55224:根据所述基座手腕中心位置、所述上臂长度和所述小臂长度进行所述冗余手臂的关节角计算,得到所述第四关节对应的关节角计算结果;S55224: Calculate the joint angle of the redundant arm according to the center position of the wrist of the base, the length of the upper arm and the length of the forearm, and obtain the calculation result of the joint angle corresponding to the fourth joint;

S55225:基于所述冗余手臂的所述第六关节及所述第七关节在抛投过程中固定不变的规则和罗德里格斯公式,根据所述调整角度、所述手臂基座坐标系、所述关节坐标系集合和所述第一末端姿态,确定所述关节坐标系集合中的第三坐标系相对所述手臂基座坐标系的目标旋转矩阵;S55225: Based on the rule that the sixth joint and the seventh joint of the redundant arm are fixed during the throwing process and the Rodrigues formula, according to the adjustment angle, the arm base coordinate system , the joint coordinate system set and the first end posture, determine the target rotation matrix of the third coordinate system in the joint coordinate system set relative to the arm base coordinate system;

S55226:根据所述目标旋转矩阵,对所述冗余手臂的第一关节、第二关节和第三关节进行关节角计算,得到所述第一关节对应的关节角计算结果、所述第二关节对应的关节角计算结果和所述第三关节对应的关节角计算结果;S55226: According to the target rotation matrix, perform joint angle calculation on the first joint, the second joint and the third joint of the redundant arm to obtain the joint angle calculation result corresponding to the first joint, the second joint The corresponding joint angle calculation result and the joint angle calculation result corresponding to the third joint;

S55227:根据所述第一关节对应的关节角计算结果、所述第二关节对应的关节角计算结果、所述第三关节对应的关节角计算结果、所述第四关节对应的关节角计算结果和所述第五关节对应的关节角计算结果,确定所述关节角计算结果集合。S55227: According to the calculation result of the joint angle corresponding to the first joint, the calculation result of the joint angle corresponding to the second joint, the calculation result of the joint angle corresponding to the third joint, and the calculation result of the joint angle corresponding to the fourth joint The joint angle calculation result corresponding to the fifth joint is used to determine the joint angle calculation result set.

本实施例实现了基于将所述关节坐标系集合的第七坐标系的Z轴方向作为手掌开合方向和所述冗余手臂的所述第六关节及所述第七关节在抛投过程中固定不变的规则,根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度、所述中心点初始位置和所述第一末端姿态,对所述冗余手臂的各个关节进行关节角计算,从而实现了对抛投轨迹离散后针对每个离散位置进行关节角的求解,实现了对仿人机器人的冗余手臂的抛投规划的分步式解析逆解计算,提高了轨迹求解精度,提高了轨迹求解速率。This embodiment realizes that the throwing process of the sixth joint and the seventh joint of the redundant arm is based on taking the Z-axis direction of the seventh coordinate system of the joint coordinate system set as the palm opening and closing direction and the sixth joint and the seventh joint of the redundant arm. The fixed and invariable rules are based on the arm base coordinate system, the joint coordinate system set, the upper arm length, the forearm length, the length from the palm to the wrist, the initial position of the center point and the first A terminal posture is used to calculate the joint angle of each joint of the redundant arm, so as to realize the solution of the joint angle for each discrete position after the throwing trajectory is discrete, and realize the throwing of the redundant arm of the humanoid robot. The step-by-step analytical inverse solution calculation of the investment planning improves the trajectory solving accuracy and the trajectory solving rate.

基于将所述第七坐标系的Z轴方向作为手掌开合方向和使所述第七坐标系的所述Z轴方向与所述抛投平面平行,采用调整角度

Figure 11358DEST_PATH_IMAGE161
对所述第五关节对应的关节角进行调整;Based on taking the Z-axis direction of the seventh coordinate system as the palm opening and closing direction and making the Z-axis direction of the seventh coordinate system parallel to the throwing plane, the adjustment angle is adopted.
Figure 11358DEST_PATH_IMAGE161
adjusting the joint angle corresponding to the fifth joint;

Figure 255258DEST_PATH_IMAGE162
Figure 255258DEST_PATH_IMAGE162

Figure 303985DEST_PATH_IMAGE163
Figure 303985DEST_PATH_IMAGE163

Figure 266125DEST_PATH_IMAGE164
Figure 266125DEST_PATH_IMAGE164

其中,

Figure 628973DEST_PATH_IMAGE165
是所述手臂基座坐标系相对所述世界坐标系的旋转矩阵,
Figure 524117DEST_PATH_IMAGE166
是围绕所述世界坐标系的X轴的旋转矩阵,
Figure 947008DEST_PATH_IMAGE167
是所述冗余手臂的第五关节角初始值,
Figure 930532DEST_PATH_IMAGE168
是所述抛投坐标系相对所述世界坐标系的旋转矩阵的第二列向量,
Figure 893809DEST_PATH_IMAGE169
Figure 846722DEST_PATH_IMAGE170
Figure 706093DEST_PATH_IMAGE171
是所述第一末端姿态,在采用调整角度
Figure 173984DEST_PATH_IMAGE161
对所述第五关节对应的关节角进行调整之后所述第一末端姿态更新为
Figure 878634DEST_PATH_IMAGE172
;in,
Figure 628973DEST_PATH_IMAGE165
is the rotation matrix of the arm base coordinate system relative to the world coordinate system,
Figure 524117DEST_PATH_IMAGE166
is the rotation matrix around the X-axis of the world coordinate system,
Figure 947008DEST_PATH_IMAGE167
is the initial value of the fifth joint angle of the redundant arm,
Figure 930532DEST_PATH_IMAGE168
is the second column vector of the rotation matrix of the cast coordinate system relative to the world coordinate system,
Figure 893809DEST_PATH_IMAGE169
for
Figure 846722DEST_PATH_IMAGE170
,
Figure 706093DEST_PATH_IMAGE171
is the first end attitude, in which the angle of adjustment is adopted
Figure 173984DEST_PATH_IMAGE161
After adjusting the joint angle corresponding to the fifth joint, the posture of the first end is updated as
Figure 878634DEST_PATH_IMAGE172
;

所述冗余手臂的所述手腕的中心点在所述手臂基座坐标系下的位置作为基座手腕中心位置,基座手腕中心位置的计算公式

Figure 751300DEST_PATH_IMAGE173
为:The position of the center point of the wrist of the redundant arm in the arm base coordinate system is used as the base wrist center position, and the calculation formula of the base wrist center position
Figure 751300DEST_PATH_IMAGE173
for:

Figure 515994DEST_PATH_IMAGE174
Figure 515994DEST_PATH_IMAGE174

Figure 674443DEST_PATH_IMAGE175
是在采用调整角度
Figure 979522DEST_PATH_IMAGE176
对所述第五关节对应的关节角进行调整之后所述第三坐标系相对所述手臂基座坐标系的目标旋转矩阵,
Figure 172606DEST_PATH_IMAGE177
是在采用调整角度
Figure 170518DEST_PATH_IMAGE178
对所述第五关节对应的关节角进行调整之后所述第四坐标系相对所述第三坐标系的旋转矩阵;
Figure 674443DEST_PATH_IMAGE175
is adjusting the angle
Figure 979522DEST_PATH_IMAGE176
After adjusting the joint angle corresponding to the fifth joint, the target rotation matrix of the third coordinate system relative to the arm base coordinate system,
Figure 172606DEST_PATH_IMAGE177
is adjusting the angle
Figure 170518DEST_PATH_IMAGE178
a rotation matrix of the fourth coordinate system relative to the third coordinate system after adjusting the joint angle corresponding to the fifth joint;

在采用调整角度

Figure 285104DEST_PATH_IMAGE178
对所述第五关节对应的关节角进行调整之后所述初始臂角
Figure 650665DEST_PATH_IMAGE179
更新为调整后的臂角
Figure 698255DEST_PATH_IMAGE180
,根据罗德里格斯公式,将所述调整后的目标臂角
Figure 601489DEST_PATH_IMAGE180
相对所述手臂基座坐标系的旋转矩阵为
Figure 203372DEST_PATH_IMAGE181
:adjusting the angle
Figure 285104DEST_PATH_IMAGE178
The initial arm angle after adjusting the joint angle corresponding to the fifth joint
Figure 650665DEST_PATH_IMAGE179
Updated to adjusted arm angle
Figure 698255DEST_PATH_IMAGE180
, according to the Rodriguez formula, the adjusted target arm angle
Figure 601489DEST_PATH_IMAGE180
The rotation matrix relative to the arm base coordinate system is
Figure 203372DEST_PATH_IMAGE181
:

Figure 115833DEST_PATH_IMAGE182
Figure 115833DEST_PATH_IMAGE182

Figure 17930DEST_PATH_IMAGE183
Figure 17930DEST_PATH_IMAGE183

Figure 94995DEST_PATH_IMAGE184
Figure 94995DEST_PATH_IMAGE184

Figure 715332DEST_PATH_IMAGE185
Figure 715332DEST_PATH_IMAGE185

Figure 900326DEST_PATH_IMAGE186
Figure 900326DEST_PATH_IMAGE186

其中,

Figure 922508DEST_PATH_IMAGE187
是3*3的矩阵,
Figure 370807DEST_PATH_IMAGE188
是3*3的矩阵,
Figure 9599DEST_PATH_IMAGE189
是3*3的矩阵,
Figure 201546DEST_PATH_IMAGE190
是在采用调整角度
Figure 612323DEST_PATH_IMAGE191
对所述第五关节对应的关节角进行调整之后
Figure 293840DEST_PATH_IMAGE192
为0时所述第三坐标系相对所述手臂基座坐标系的旋转矩阵,
Figure 357611DEST_PATH_IMAGE193
Figure 618828DEST_PATH_IMAGE194
轴的单位矢量,
Figure 146762DEST_PATH_IMAGE195
Figure 936863DEST_PATH_IMAGE196
的反对称矩阵,
Figure 287597DEST_PATH_IMAGE197
轴是所述冗余手臂的肩部与所述冗余手臂的手腕的连线;in,
Figure 922508DEST_PATH_IMAGE187
is a 3*3 matrix,
Figure 370807DEST_PATH_IMAGE188
is a 3*3 matrix,
Figure 9599DEST_PATH_IMAGE189
is a 3*3 matrix,
Figure 201546DEST_PATH_IMAGE190
is adjusting the angle
Figure 612323DEST_PATH_IMAGE191
After adjusting the joint angle corresponding to the fifth joint
Figure 293840DEST_PATH_IMAGE192
When it is 0, the rotation matrix of the third coordinate system relative to the arm base coordinate system,
Figure 357611DEST_PATH_IMAGE193
Yes
Figure 618828DEST_PATH_IMAGE194
the unit vector of the axis,
Figure 146762DEST_PATH_IMAGE195
Yes
Figure 936863DEST_PATH_IMAGE196
The antisymmetric matrix of ,
Figure 287597DEST_PATH_IMAGE197
The axis is the line connecting the shoulder of the redundant arm and the wrist of the redundant arm;

根据三角形集合关系,得到计算公式:According to the triangle set relationship, the calculation formula is obtained:

Figure 149243DEST_PATH_IMAGE198
Figure 149243DEST_PATH_IMAGE198

其中,上标T是转置计算;Among them, the superscript T is the transpose calculation;

根据所述手臂末端的运动学方程的等式关系,得到所述第一关节对应的关节角计算结果

Figure 734945DEST_PATH_IMAGE199
、所述第二关节对应的关节角计算结果
Figure 695948DEST_PATH_IMAGE200
、所述第三关节对应的关节角计算结果
Figure 531049DEST_PATH_IMAGE201
的计算公式:According to the equation relationship of the kinematic equation of the arm end, the calculation result of the joint angle corresponding to the first joint is obtained
Figure 734945DEST_PATH_IMAGE199
, the calculation result of the joint angle corresponding to the second joint
Figure 695948DEST_PATH_IMAGE200
, the calculation result of the joint angle corresponding to the third joint
Figure 531049DEST_PATH_IMAGE201
Calculation formula:

Figure 461965DEST_PATH_IMAGE202
Figure 461965DEST_PATH_IMAGE202

Figure 916822DEST_PATH_IMAGE203
Figure 916822DEST_PATH_IMAGE203

Figure 314305DEST_PATH_IMAGE204
Figure 314305DEST_PATH_IMAGE204

其中,

Figure 636702DEST_PATH_IMAGE205
Figure 777833DEST_PATH_IMAGE206
的第2行第2列的值,
Figure 603707DEST_PATH_IMAGE207
Figure 968829DEST_PATH_IMAGE208
的第2行第2列的值,
Figure 515873DEST_PATH_IMAGE209
Figure 460695DEST_PATH_IMAGE210
的第2行第2列的值,
Figure 406654DEST_PATH_IMAGE211
Figure 208257DEST_PATH_IMAGE212
的第1行第2列的值,
Figure 239667DEST_PATH_IMAGE213
Figure 722601DEST_PATH_IMAGE208
的第1行第2列的值,
Figure 525996DEST_PATH_IMAGE214
Figure 764079DEST_PATH_IMAGE210
的第1行第2列的值,
Figure 548365DEST_PATH_IMAGE215
Figure 366148DEST_PATH_IMAGE216
的第3行第2列的值,
Figure 755541DEST_PATH_IMAGE217
Figure 571050DEST_PATH_IMAGE208
的第3行第2列的值,
Figure 48824DEST_PATH_IMAGE218
Figure 935877DEST_PATH_IMAGE210
的第3行第2列的值,
Figure 179777DEST_PATH_IMAGE219
Figure 431766DEST_PATH_IMAGE206
的第3行第3列的值,
Figure 128327DEST_PATH_IMAGE220
Figure 553492DEST_PATH_IMAGE208
的第3行第3列的值,
Figure 651898DEST_PATH_IMAGE221
Figure 862738DEST_PATH_IMAGE210
的第3行第3列的值,
Figure 46594DEST_PATH_IMAGE222
Figure 275450DEST_PATH_IMAGE206
的第3行第1列的值,
Figure 493942DEST_PATH_IMAGE223
Figure 87735DEST_PATH_IMAGE208
的第3行第1列的值,
Figure 758887DEST_PATH_IMAGE224
Figure 59943DEST_PATH_IMAGE225
的第3行第1列的值。in,
Figure 636702DEST_PATH_IMAGE205
Yes
Figure 777833DEST_PATH_IMAGE206
The value of row 2 and column 2 of ,
Figure 603707DEST_PATH_IMAGE207
Yes
Figure 968829DEST_PATH_IMAGE208
The value of row 2 and column 2 of ,
Figure 515873DEST_PATH_IMAGE209
Yes
Figure 460695DEST_PATH_IMAGE210
The value of row 2 and column 2 of ,
Figure 406654DEST_PATH_IMAGE211
Yes
Figure 208257DEST_PATH_IMAGE212
The value of row 1 and column 2 of ,
Figure 239667DEST_PATH_IMAGE213
Yes
Figure 722601DEST_PATH_IMAGE208
The value of row 1 and column 2 of ,
Figure 525996DEST_PATH_IMAGE214
Yes
Figure 764079DEST_PATH_IMAGE210
The value of row 1 and column 2 of ,
Figure 548365DEST_PATH_IMAGE215
Yes
Figure 366148DEST_PATH_IMAGE216
The value of row 3 and column 2 of ,
Figure 755541DEST_PATH_IMAGE217
Yes
Figure 571050DEST_PATH_IMAGE208
The value of row 3 and column 2 of ,
Figure 48824DEST_PATH_IMAGE218
Yes
Figure 935877DEST_PATH_IMAGE210
The value of row 3 and column 2 of ,
Figure 179777DEST_PATH_IMAGE219
Yes
Figure 431766DEST_PATH_IMAGE206
The value of row 3 and column 3 of ,
Figure 128327DEST_PATH_IMAGE220
Yes
Figure 553492DEST_PATH_IMAGE208
The value of row 3 and column 3 of ,
Figure 651898DEST_PATH_IMAGE221
Yes
Figure 862738DEST_PATH_IMAGE210
The value of row 3 and column 3 of ,
Figure 46594DEST_PATH_IMAGE222
Yes
Figure 275450DEST_PATH_IMAGE206
The value of row 3, column 1 of ,
Figure 493942DEST_PATH_IMAGE223
Yes
Figure 87735DEST_PATH_IMAGE208
The value of row 3, column 1 of ,
Figure 758887DEST_PATH_IMAGE224
Yes
Figure 59943DEST_PATH_IMAGE225
The value of row 3, column 1.

其中,采用调整角度

Figure 132941DEST_PATH_IMAGE226
对所述第五关节对应的关节角进行调整,以使手掌开合方向与抛投平面平行。Among them, the adjustment angle
Figure 132941DEST_PATH_IMAGE226
The joint angle corresponding to the fifth joint is adjusted so that the opening and closing direction of the palm is parallel to the throwing plane.

其中,采用公式

Figure 225531DEST_PATH_IMAGE227
即可计算得到所述第四关节对应的关节角计算结果
Figure 383980DEST_PATH_IMAGE228
;采用公式
Figure 892322DEST_PATH_IMAGE229
即可计算得到所述第一关节对应的关节角计算结果
Figure 616564DEST_PATH_IMAGE230
;采用公式
Figure 555089DEST_PATH_IMAGE231
即可计算得到所述第二关节对应的关节角计算结果
Figure 997572DEST_PATH_IMAGE232
;采用公式
Figure 309604DEST_PATH_IMAGE233
即可计算得到所述第三关节对应的关节角计算结果
Figure 888353DEST_PATH_IMAGE234
。Among them, the formula
Figure 225531DEST_PATH_IMAGE227
The calculation result of the joint angle corresponding to the fourth joint can be calculated.
Figure 383980DEST_PATH_IMAGE228
; using the formula
Figure 892322DEST_PATH_IMAGE229
The calculation result of the joint angle corresponding to the first joint can be calculated.
Figure 616564DEST_PATH_IMAGE230
; using the formula
Figure 555089DEST_PATH_IMAGE231
The calculation result of the joint angle corresponding to the second joint can be calculated.
Figure 997572DEST_PATH_IMAGE232
; using the formula
Figure 309604DEST_PATH_IMAGE233
The calculation result of the joint angle corresponding to the third joint can be calculated.
Figure 888353DEST_PATH_IMAGE234
.

其中,因所述冗余手臂的所述第六关节及所述第七关节在抛投过程中固定不变,因此可以将所述第六关节角初始值作为所述第六关节对应的关节角计算结果,可以将所述第七关节角初始值作为所述第七关节对应的关节角计算结果,最后将所述第一关节对应的关节角计算结果、所述第二关节对应的关节角计算结果、所述第三关节对应的关节角计算结果、所述第四关节对应的关节角计算结果、所述第五关节对应的关节角计算结果、所述第六关节对应的关节角计算结果和所述第七关节对应的关节角计算结果,作为所述关节角计算结果集合。Wherein, since the sixth joint and the seventh joint of the redundant arm are fixed during the throwing process, the initial value of the sixth joint angle can be used as the joint angle corresponding to the sixth joint As a result of the calculation, the initial value of the seventh joint angle can be used as the calculation result of the joint angle corresponding to the seventh joint, and finally the calculation result of the joint angle corresponding to the first joint and the joint angle corresponding to the second joint are calculated. result, the calculation result of the joint angle corresponding to the third joint, the calculation result of the joint angle corresponding to the fourth joint, the calculation result of the joint angle corresponding to the fifth joint, the calculation result of the joint angle corresponding to the sixth joint and The joint angle calculation result corresponding to the seventh joint is used as the joint angle calculation result set.

在一个实施例中,上述根据所述加速阶段轨迹分别进行跟随阶段轨迹的获取、减速阶段轨迹的获取及轨迹拼接,得到抛投轨迹的步骤,包括:In one embodiment, the above-mentioned steps of obtaining the trajectory of the follow-up phase, the acquisition of the trajectory of the deceleration phase, and the splicing of the trajectory according to the trajectory of the acceleration phase, to obtain the trajectory of the throwing phase, include:

S31:获取所述冗余手臂的手指开合延时数据;S31: Obtain finger opening and closing delay data of the redundant arm;

S32:根据所述手指开合延时数据和所述加速阶段轨迹获取所述跟随阶段轨迹;S32: Acquire the following phase trajectory according to the finger opening and closing delay data and the acceleration phase trajectory;

S33:获取所述冗余手臂的末端最大加速度;S33: Obtain the maximum acceleration of the end of the redundant arm;

S34:根据所述末端最大加速度和所述跟随阶段轨迹获取所述减速阶段轨迹;S34: Acquire the deceleration phase trajectory according to the terminal maximum acceleration and the following phase trajectory;

S35:将所述加速阶段轨迹、所述跟随阶段轨迹和所述减速阶段轨迹进行依次拼接,得到所述抛投轨迹。S35: Splicing the acceleration phase trajectory, the following phase trajectory, and the deceleration phase trajectory in sequence to obtain the throwing trajectory.

本实施例根据所述手指开合延时数据和所述加速阶段轨迹获取所述跟随阶段轨迹,根据所述末端最大加速度和所述跟随阶段轨迹获取所述减速阶段轨迹,最后将所述加速阶段轨迹、所述跟随阶段轨迹和所述减速阶段轨迹进行依次拼接,实现了三段式的抛投轨迹,三段式的抛投轨迹适用于仿人机器人的冗余手臂,从而实现仿人机器人的冗余手臂的抛投轨迹规划,面对不同的抛投目标具有较强的通用性。In this embodiment, the following phase trajectory is obtained according to the finger opening and closing delay data and the acceleration phase trajectory, the deceleration phase trajectory is obtained according to the terminal maximum acceleration and the following phase trajectory, and finally the acceleration phase trajectory is obtained. The trajectory, the trajectory of the following phase and the trajectory of the deceleration phase are sequentially spliced to realize a three-stage throwing trajectory. The three-stage throwing trajectory is suitable for the redundant arm of the humanoid robot, so as to realize the The throwing trajectory planning of redundant arms has strong versatility in the face of different throwing targets.

对于S31,可以从所述仿人机器人的存储空间获取所述冗余手臂的手指开合延时数据,也可以从工控机中获取所述冗余手臂的手指开合延时数据,还可以从第三方应用系统中获取所述冗余手臂的手指开合延时数据,还可以将所述冗余手臂的手指开合延时数据写入实现本申请的程序中。For S31, the finger opening and closing delay data of the redundant arm can be obtained from the storage space of the humanoid robot, or the finger opening and closing delay data of the redundant arm can be obtained from the industrial computer, or the data of the finger opening and closing delay of the redundant arm can be obtained from the industrial computer. The finger opening and closing delay data of the redundant arm is obtained in the third-party application system, and the finger opening and closing delay data of the redundant arm can also be written into the program for realizing the present application.

手指开合延时数据,是仿人机器人的冗余手臂从手指开合指令发出到仿人机器人的冗余手臂执行手指开合的时间差数据。The finger opening and closing delay data is the time difference data from the finger opening and closing command issued by the redundant arm of the humanoid robot to the finger opening and closing performed by the redundant arm of the humanoid robot.

对于S32,将所述加速阶段轨迹的终点数据作为所述跟随阶段轨迹的起点数据,根据与所述手指开合延时数据正比的关系,确定所述跟随阶段轨迹。For S32, the end point data of the acceleration phase trajectory is used as the starting point data of the following phase trajectory, and the following phase trajectory is determined according to a relationship proportional to the finger opening and closing delay data.

对于S33,可以从所述仿人机器人的存储空间获取所述冗余手臂的末端最大加速度,也可以从工控机中获取所述冗余手臂的末端最大加速度,还可以从第三方应用系统中获取所述冗余手臂的末端最大加速度,还可以将所述冗余手臂的末端最大加速度写入实现本申请的程序中。For S33, the maximum acceleration of the end of the redundant arm can be obtained from the storage space of the humanoid robot, the maximum acceleration of the end of the redundant arm can also be obtained from the industrial computer, and the maximum acceleration of the end of the redundant arm can also be obtained from a third-party application system. The maximum acceleration of the end of the redundant arm can also be written into the program implementing the present application.

所述冗余手臂的末端最大加速度,是仿人机器人的冗余手臂的手臂末端可以执行的加速度的最大值。The maximum acceleration of the end of the redundant arm is the maximum acceleration that can be performed by the end of the arm of the redundant arm of the humanoid robot.

对于S34,将所述跟随阶段轨迹的终点数据作为所述减速阶段轨迹的起点数据,根据与所述末端最大加速度的反比关系,确定所述减速阶段轨迹。For S34, the end point data of the following phase trajectory is used as the starting point data of the deceleration phase trajectory, and the deceleration phase trajectory is determined according to the inverse relationship with the maximum acceleration of the terminal.

可选的,所述减速阶段轨迹采用直线,从而简化了控制操作。Optionally, the trajectory of the deceleration phase adopts a straight line, thereby simplifying the control operation.

可选的,所述减速阶段轨迹的直线与所述跟随阶段轨迹的终点的切线位于同一直线上。Optionally, the straight line of the deceleration phase trajectory and the tangent to the end point of the following phase trajectory are located on the same straight line.

对于S35,将所述加速阶段轨迹、所述跟随阶段轨迹和所述减速阶段轨迹进行依次拼接,将拼接得到的轨迹作为所述抛投轨迹。因此,所述抛投轨迹依次包括三段轨迹,分别是:所述加速阶段轨迹、所述跟随阶段轨迹和所述减速阶段轨迹。For S35, the acceleration phase trajectory, the following phase trajectory, and the deceleration phase trajectory are sequentially spliced, and the spliced trajectory is used as the throwing trajectory. Therefore, the throwing trajectory sequentially includes three trajectories, namely: the acceleration phase trajectory, the following phase trajectory, and the deceleration phase trajectory.

参照图5,本申请还提出了一种仿人机器人的冗余手臂的抛投轨迹规划装置,所述装置适用于仿人机器人的冗余手臂,所述装置包括:5, the present application also proposes a throwing trajectory planning device for a redundant arm of a humanoid robot, the device is suitable for the redundant arm of a humanoid robot, and the device includes:

数据获取模块100,用于获取世界坐标系下的世界起点位置、世界目标点位置及世界出手点位置;The data acquisition module 100 is used to acquire the position of the world starting point, the position of the world target point and the position of the world shooting point in the world coordinate system;

加速阶段轨迹确定模块200,用于获取预设加速度变化曲线,根据所述预设加速度变化曲线、所述世界起点位置、所述世界目标点位置及所述世界出手点位置生成加速阶段轨迹;The acceleration phase trajectory determination module 200 is configured to obtain a preset acceleration change curve, and generate an acceleration phase trajectory according to the preset acceleration change curve, the world starting point position, the world target point position and the world starting point position;

抛投轨迹确定模块300,用于根据所述加速阶段轨迹分别进行跟随阶段轨迹的获取、减速阶段轨迹的获取及轨迹拼接,得到抛投轨迹;The throwing trajectory determination module 300 is configured to obtain the throwing trajectory by acquiring the following phase trajectory, acquiring the decelerating phase trajectory and splicing the trajectory according to the acceleration phase trajectory respectively;

离散位置确定模块400,用于采用预设时间间隔,对所述抛投轨迹进行离散处理,得到多个离散位置;A discrete position determination module 400, configured to perform discrete processing on the throwing trajectory using a preset time interval to obtain a plurality of discrete positions;

求解结果确定模块500,用于分别对每个所述离散位置进行关节角的求解,得到多个求解结果;The solution result determination module 500 is used to solve the joint angle for each of the discrete positions respectively to obtain a plurality of solution results;

目标关节角集合确定模块600,用于当存在所述求解结果为无解时,对所述世界出手点位置进行调整,重复执行所述获取预设加速轨迹曲线的步骤,直至各个所述求解结果均为有解,根据各个所述求解结果均为有解对应的各个关节角确定目标关节角集合。The target joint angle set determination module 600 is configured to adjust the position of the world shot point when the solution result is no solution, and repeat the step of obtaining the preset acceleration trajectory curve until each solution result is obtained. All have a solution, and the target joint angle set is determined according to each joint angle corresponding to each of the solution results.

本实施例通过首先根据预设加速度变化曲线、世界起点位置、世界目标点位置及世界出手点位置生成加速阶段轨迹,根据加速阶段轨迹分别进行跟随阶段轨迹的获取、减速阶段轨迹的获取及轨迹拼接,得到抛投轨迹,其次采用预设时间间隔,对抛投轨迹进行离散处理,得到多个离散位置,然后分别对每个离散位置进行关节角的求解,得到多个求解结果,最后当存在求解结果为无解时,对世界出手点位置进行调整,重复执行生成加速阶段轨迹的步骤直至各个求解结果均为有解,根据各个求解结果均为有解对应的各个关节角确定目标关节角集合,通过加速阶段轨迹、跟随阶段轨迹、减速阶段轨迹拼接得到三段式的抛投轨迹,三段式的抛投轨迹适用于仿人机器人的冗余手臂,从而实现仿人机器人的冗余手臂的抛投轨迹规划,面对不同的抛投目标具有较强的通用性;而且通过对抛投轨迹离散后针对每个离散位置进行关节角的求解,实现了对仿人机器人的冗余手臂的抛投规划的分步式解析逆解计算,提高了轨迹求解精度,提高了轨迹求解速率。In this embodiment, the acceleration phase trajectory is first generated according to the preset acceleration change curve, the world starting point position, the world target point position, and the world shooting point position, and the following phase trajectory acquisition, deceleration phase trajectory acquisition, and trajectory splicing are respectively performed according to the acceleration phase trajectory. , obtain the throwing trajectory, and then use the preset time interval to discretely process the throwing trajectory to obtain multiple discrete positions, and then solve the joint angle for each discrete position separately to obtain multiple solution results, and finally when there is a solution When the result is no solution, adjust the position of the starting point in the world, repeat the steps of generating the trajectory of the acceleration phase until each solution result is a solution, and determine the target joint angle set according to each joint angle corresponding to each solution result. The three-stage throwing trajectory is obtained by splicing the acceleration phase trajectory, the following phase trajectory, and the deceleration phase trajectory. The three-stage throwing trajectory is suitable for the redundant arm of the humanoid robot, so as to realize the throwing of the redundant arm of the humanoid robot. Throwing trajectory planning has strong versatility in the face of different throwing targets; and by solving the joint angle for each discrete position after the throwing trajectory is discrete, the throwing of the redundant arm of the humanoid robot is realized. The planned step-by-step analytical inverse solution calculation improves the trajectory solving accuracy and the trajectory solving rate.

参照图6,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于储存仿人机器人的冗余手臂的抛投轨迹规划方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种仿人机器人的冗余手臂的抛投轨迹规划方法。所述仿人机器人的冗余手臂的抛投轨迹规划方法,所述方法适用于仿人机器人的冗余手臂,所述方法包括:获取世界坐标系下的世界起点位置、世界目标点位置及世界出手点位置;获取预设加速度变化曲线,根据所述预设加速度变化曲线、所述世界起点位置、所述世界目标点位置及所述世界出手点位置生成加速阶段轨迹;根据所述加速阶段轨迹分别进行跟随阶段轨迹的获取、减速阶段轨迹的获取及轨迹拼接,得到抛投轨迹;采用预设时间间隔,对所述抛投轨迹进行离散处理,得到多个离散位置;分别对每个所述离散位置进行关节角的求解,得到多个求解结果;当存在所述求解结果为无解时,对所述世界出手点位置进行调整,重复执行所述获取预设加速轨迹曲线的步骤,直至各个所述求解结果均为有解,根据各个所述求解结果均为有解对应的各个关节角确定目标关节角集合。Referring to FIG. 6 , an embodiment of the present application further provides a computer device, the computer device may be a server, and its internal structure may be as shown in FIG. 6 . The computer device includes a processor, memory, a network interface, and a database connected by a system bus. Among them, the processor of the computer design is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium, an internal memory. The nonvolatile storage medium stores an operating system, a computer program, and a database. The memory provides an environment for the execution of the operating system and computer programs in the non-volatile storage medium. The database of the computer equipment is used for storing data such as the throwing trajectory planning method of the redundant arm of the humanoid robot. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a method for planning a throwing trajectory of a redundant arm of a humanoid robot is realized. The method for planning the throwing trajectory of the redundant arm of the humanoid robot, the method is applicable to the redundant arm of the humanoid robot, and the method includes: obtaining the world starting point position, the world target point position and the world position in the world coordinate system The position of the shot point; obtain a preset acceleration change curve, and generate an acceleration stage trajectory according to the preset acceleration change curve, the world starting point position, the world target point position, and the world shooting point position; according to the acceleration stage trajectory Obtaining the trajectory in the following phase, acquiring the trajectory in the deceleration phase, and splicing the trajectory respectively, to obtain the throwing trajectory; using a preset time interval, discretely processing the throwing trajectory to obtain a plurality of discrete positions; The joint angle is solved at discrete positions, and multiple solution results are obtained; when there is no solution in the solution result, the position of the world shot point is adjusted, and the steps of obtaining the preset acceleration trajectory curve are repeated until each The solution results are all solutions, and the target joint angle set is determined according to each joint angle corresponding to each solution result being a solution.

本实施例通过首先根据预设加速度变化曲线、世界起点位置、世界目标点位置及世界出手点位置生成加速阶段轨迹,根据加速阶段轨迹分别进行跟随阶段轨迹的获取、减速阶段轨迹的获取及轨迹拼接,得到抛投轨迹,其次采用预设时间间隔,对抛投轨迹进行离散处理,得到多个离散位置,然后分别对每个离散位置进行关节角的求解,得到多个求解结果,最后当存在求解结果为无解时,对世界出手点位置进行调整,重复执行生成加速阶段轨迹的步骤直至各个求解结果均为有解,根据各个求解结果均为有解对应的各个关节角确定目标关节角集合,通过加速阶段轨迹、跟随阶段轨迹、减速阶段轨迹拼接得到三段式的抛投轨迹,三段式的抛投轨迹适用于仿人机器人的冗余手臂,从而实现仿人机器人的冗余手臂的抛投轨迹规划,面对不同的抛投目标具有较强的通用性;而且通过对抛投轨迹离散后针对每个离散位置进行关节角的求解,实现了对仿人机器人的冗余手臂的抛投规划的分步式解析逆解计算,提高了轨迹求解精度,提高了轨迹求解速率。In this embodiment, the acceleration phase trajectory is first generated according to the preset acceleration change curve, the world starting point position, the world target point position, and the world shooting point position, and the following phase trajectory acquisition, deceleration phase trajectory acquisition, and trajectory splicing are respectively performed according to the acceleration phase trajectory. , obtain the throwing trajectory, and then use the preset time interval to discretely process the throwing trajectory to obtain multiple discrete positions, and then solve the joint angle for each discrete position separately to obtain multiple solution results, and finally when there is a solution When the result is no solution, adjust the position of the starting point in the world, repeat the steps of generating the trajectory of the acceleration phase until each solution result is a solution, and determine the target joint angle set according to each joint angle corresponding to each solution result. The three-stage throwing trajectory is obtained by splicing the acceleration phase trajectory, the following phase trajectory, and the deceleration phase trajectory. The three-stage throwing trajectory is suitable for the redundant arm of the humanoid robot, so as to realize the throwing of the redundant arm of the humanoid robot. Throwing trajectory planning has strong versatility in the face of different throwing targets; and by solving the joint angle for each discrete position after the throwing trajectory is discrete, the throwing of the redundant arm of the humanoid robot is realized. The planned step-by-step analytical inverse solution calculation improves the trajectory solving accuracy and the trajectory solving rate.

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种仿人机器人的冗余手臂的抛投轨迹规划方法,包括步骤:所述方法适用于仿人机器人的冗余手臂,所述方法包括:获取世界坐标系下的世界起点位置、世界目标点位置及世界出手点位置;获取预设加速度变化曲线,根据所述预设加速度变化曲线、所述世界起点位置、所述世界目标点位置及所述世界出手点位置生成加速阶段轨迹;根据所述加速阶段轨迹分别进行跟随阶段轨迹的获取、减速阶段轨迹的获取及轨迹拼接,得到抛投轨迹;采用预设时间间隔,对所述抛投轨迹进行离散处理,得到多个离散位置;分别对每个所述离散位置进行关节角的求解,得到多个求解结果;当存在所述求解结果为无解时,对所述世界出手点位置进行调整,重复执行所述获取预设加速轨迹曲线的步骤,直至各个所述求解结果均为有解,根据各个所述求解结果均为有解对应的各个关节角确定目标关节角集合。An embodiment of the present application also provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, a method for planning a throwing trajectory of a redundant arm of a humanoid robot is implemented, including the steps of: The method is applicable to the redundant arm of a humanoid robot, and the method includes: obtaining the world starting point position, the world target point position and the world shooting point position in the world coordinate system; obtaining a preset acceleration change curve, according to the preset acceleration The change curve, the position of the world starting point, the position of the world target point and the position of the world shot point generate an acceleration phase trajectory; according to the acceleration phase trajectory, the acquisition of the follow-up phase trajectory, the acquisition of the deceleration phase trajectory and the trajectory splicing are performed respectively, Obtaining a throwing trajectory; using a preset time interval to perform discrete processing on the throwing trajectory to obtain a plurality of discrete positions; respectively solving the joint angles for each of the discrete positions to obtain a plurality of solving results; When the solution result is no solution, adjust the position of the world shot point, and repeat the steps of obtaining the preset acceleration trajectory curve until each solution result is a solution, and according to each solution result is Each joint angle corresponding to the solution determines the target joint angle set.

上述执行的仿人机器人的冗余手臂的抛投轨迹规划方法,本实施例通过首先根据预设加速度变化曲线、世界起点位置、世界目标点位置及世界出手点位置生成加速阶段轨迹,根据加速阶段轨迹分别进行跟随阶段轨迹的获取、减速阶段轨迹的获取及轨迹拼接,得到抛投轨迹,其次采用预设时间间隔,对抛投轨迹进行离散处理,得到多个离散位置,然后分别对每个离散位置进行关节角的求解,得到多个求解结果,最后当存在求解结果为无解时,对世界出手点位置进行调整,重复执行生成加速阶段轨迹的步骤直至各个求解结果均为有解,根据各个求解结果均为有解对应的各个关节角确定目标关节角集合,通过加速阶段轨迹、跟随阶段轨迹、减速阶段轨迹拼接得到三段式的抛投轨迹,三段式的抛投轨迹适用于仿人机器人的冗余手臂,从而实现仿人机器人的冗余手臂的抛投轨迹规划,面对不同的抛投目标具有较强的通用性;而且通过对抛投轨迹离散后针对每个离散位置进行关节角的求解,实现了对仿人机器人的冗余手臂的抛投规划的分步式解析逆解计算,提高了轨迹求解精度,提高了轨迹求解速率。The above-mentioned method for planning the throwing trajectory of the redundant arm of the humanoid robot, in this embodiment, the acceleration phase trajectory is first generated according to the preset acceleration change curve, the world starting point position, the world target point position and the world shooting point position, and the acceleration phase trajectory is generated according to the acceleration phase position. The trajectory is obtained by acquiring the trajectory in the following phase, acquiring the trajectory in the deceleration phase, and splicing the trajectory to obtain the throwing trajectory. Secondly, using a preset time interval, the throwing trajectory is discretely processed to obtain multiple discrete positions, and then each discrete position is obtained separately. The joint angle is solved at the position, and multiple solution results are obtained. Finally, when the solution result is no solution, the position of the world shot point is adjusted, and the steps of generating the trajectory of the acceleration stage are repeated until each solution result is a solution. The solution results are that each joint angle corresponding to the solution determines the target joint angle set, and the three-stage throwing trajectory is obtained by splicing the acceleration phase trajectory, the following phase trajectory, and the deceleration phase trajectory. The redundant arm of the robot realizes the throwing trajectory planning of the redundant arm of the humanoid robot, and has strong versatility in the face of different throwing targets; and after discretizing the throwing trajectory, joints are performed for each discrete position. The solution of the angle realizes the step-by-step analytical inverse solution calculation of the throwing planning of the redundant arm of the humanoid robot, which improves the trajectory solving accuracy and the trajectory solving rate.

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be implemented by instructing relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage In the medium, when the computer program is executed, it may include the processes of the above-mentioned method embodiments. Wherein, any reference to memory, storage, database or other medium provided in this application and used in the embodiments may include non-volatile and/or volatile memory. Nonvolatile memory may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double-rate SDRAM (SSRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。It should be noted that, herein, the terms "comprising", "comprising" or any other variation thereof are intended to encompass non-exclusive inclusion, such that a process, device, article or method comprising a series of elements includes not only those elements, It also includes other elements not expressly listed or inherent to such a process, apparatus, article or method. Without further limitation, an element qualified by the phrase "comprising a..." does not preclude the presence of additional identical elements in the process, apparatus, article, or method that includes the element.

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。The above are only the preferred embodiments of the present application, and are not intended to limit the scope of the patent of the present application. Any equivalent structure or equivalent process transformation made by using the contents of the description and drawings of the present application, or directly or indirectly applied to other related The technical field is similarly included in the scope of patent protection of this application.

Claims (12)

1.一种仿人机器人的冗余手臂的抛投轨迹规划方法,其特征在于,所述方法适用于仿人机器人的冗余手臂,所述方法包括:1. the throwing trajectory planning method of the redundant arm of a humanoid robot, is characterized in that, described method is applicable to the redundant arm of humanoid robot, and described method comprises: 获取世界坐标系下的世界起点位置、世界目标点位置及世界出手点位置;Obtain the world starting point position, the world target point position and the world shooting point position in the world coordinate system; 获取预设加速度变化曲线,根据所述预设加速度变化曲线、所述世界起点位置、所述世界目标点位置及所述世界出手点位置生成加速阶段轨迹;Acquire a preset acceleration change curve, and generate an acceleration phase trajectory according to the preset acceleration change curve, the world starting point position, the world target point position, and the world starting point position; 根据所述加速阶段轨迹分别进行跟随阶段轨迹的获取、减速阶段轨迹的获取及轨迹拼接,得到抛投轨迹;According to the acceleration phase trajectory, the following phase trajectory acquisition, the deceleration phase trajectory acquisition, and the trajectory splicing are respectively performed to obtain the throwing trajectory; 采用预设时间间隔,对所述抛投轨迹进行离散处理,得到多个离散位置;Using a preset time interval, discrete processing is performed on the throwing trajectory to obtain a plurality of discrete positions; 分别对每个所述离散位置进行关节角的求解,得到多个求解结果;The joint angle is solved for each of the discrete positions respectively, and a plurality of solution results are obtained; 当存在所述求解结果为无解时,对所述世界出手点位置进行调整,重复执行所述获取预设加速轨迹曲线的步骤,直至各个所述求解结果均为有解,根据各个所述求解结果均为有解对应的各个关节角确定目标关节角集合。When the solution result is no solution, adjust the position of the shot point in the world, repeat the steps of obtaining the preset acceleration trajectory curve, until each solution result is a solution, according to each solution The result is that each joint angle corresponding to the solution determines the target joint angle set. 2.根据权利要求1所述的仿人机器人的冗余手臂的抛投轨迹规划方法,其特征在于,所述根据所述预设加速度变化曲线、所述世界起点位置、所述世界目标点位置及所述世界出手点位置生成加速阶段轨迹的步骤,包括:2. the throwing trajectory planning method of the redundant arm of the humanoid robot according to claim 1, is characterized in that, described according to described preset acceleration change curve, described world starting point position, described world target point position and the steps of generating the acceleration phase trajectory from the position of the world shot point, including: 根据所述世界起点位置和所述世界目标点位置确定抛投平面及抛投坐标系;Determine the throwing plane and throwing coordinate system according to the world starting point position and the world target point position; 对所述世界起点位置、所述世界目标点位置及所述世界出手点位置进行抛投坐标系转换,得到抛投起点位置、抛投目标点位置和抛投出手点位置;Converting the world starting point position, the world target point position and the world shooting point position to the coordinate system of the throwing to obtain the starting point position of the throwing, the position of the throwing target point and the position of the throwing shooting point; 获取预设加速轨迹曲线,在所述抛投平面中,根据所述预设加速度变化曲线、所述预设加速轨迹曲线、所述抛投起点位置、所述抛投目标点位置和所述抛投出手点位置生成所述加速阶段轨迹。Obtain a preset acceleration trajectory curve, in the throwing plane, according to the preset acceleration change curve, the preset acceleration trajectory curve, the throwing starting point position, the throwing target point position and the throwing The release hand position generates the acceleration phase trajectory. 3.根据权利要求2所述的仿人机器人的冗余手臂的抛投轨迹规划方法,其特征在于,所述在所述抛投平面中,根据所述预设加速度变化曲线、所述预设加速轨迹曲线、所述抛投起点位置、所述抛投目标点位置和所述抛投出手点位置生成所述加速阶段轨迹的步骤,包括:3. the throwing trajectory planning method of the redundant arm of the humanoid robot according to claim 2, is characterized in that, described in described throwing plane, according to described preset acceleration change curve, described preset The step of generating the acceleration phase trajectory from the acceleration trajectory curve, the throwing starting point position, the throwing target point position and the throwing hand point position, including: 在所述抛投平面中,根据所述预设加速轨迹曲线、所述抛投目标点位置和所述抛投出手点位置分别进行抛出角度计算及抛出速度计算,得到目标抛出角度和目标抛出速度;In the throwing plane, according to the preset acceleration trajectory curve, the throwing target point position and the throwing hand position, the throwing angle calculation and throwing speed calculation are respectively performed to obtain the target throwing angle and target throwing speed; 获取起点速度、最大加速度、加速总时长和最大加速度用时比例;Get the starting point speed, maximum acceleration, total acceleration time and the ratio of maximum acceleration time; 在所述抛投平面中,根据所述目标抛出角度、所述目标抛出速度、所述抛投起点位置、所述起点速度、所述最大加速度、所述加速总时长和所述最大加速度用时比例生成所述加速阶段轨迹,其中,所述抛投出手点位置作为所述加速阶段轨迹的轨迹路径的终点,所述目标抛出速度作为所述加速阶段轨迹的轨迹路径的终点的轨迹速度,所述目标抛出角度作为所述加速阶段轨迹的轨迹路径的终点的切线的角度。In the throwing plane, according to the target throwing angle, the target throwing speed, the throwing starting point position, the starting point speed, the maximum acceleration, the total acceleration time and the maximum acceleration The acceleration phase trajectory is generated by the time ratio, wherein the position of the throwing hand point is used as the end point of the trajectory path of the acceleration phase trajectory, and the target throwing speed is used as the trajectory speed of the end point of the trajectory path of the acceleration phase trajectory , the target throwing angle is taken as the angle of the tangent to the end point of the trajectory path of the acceleration phase trajectory. 4.根据权利要求3所述的仿人机器人的冗余手臂的抛投轨迹规划方法,其特征在于,所述分别对每个所述离散位置进行关节角的求解,得到多个求解结果的步骤,包括:4. the throwing trajectory planning method of the redundant arm of the humanoid robot according to claim 3, is characterized in that, described separately carries out the solution of joint angle to each described discrete position, obtains the step of a plurality of solution results ,include: 采用DH参数规则,针对所述冗余手臂的手臂基座及各个关节建立局部坐标系,得到手臂基座坐标系和关节坐标系集合;Using the DH parameter rule, a local coordinate system is established for the arm base and each joint of the redundant arm, and the arm base coordinate system and the joint coordinate system set are obtained; 获取所述冗余手臂的上臂长度、小臂长度、手心到手腕长度;Obtain the length of the upper arm, the length of the forearm, and the length from the palm to the wrist of the redundant arm; 从各个所述离散位置中获取所述离散位置作为目标离散位置;obtaining the discrete position from each of the discrete positions as a target discrete position; 根据所述目标离散位置、所述手心到手腕长度确定抛投物体的中心点在所述手臂基座坐标系下的中心点初始位置;Determine the initial position of the center point of the center point of the thrown object under the arm base coordinate system according to the target discrete position and the length from the palm to the wrist; 获取所述冗余手臂的第五关节角初始值、第六关节角初始值和第七关节角初始值,根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度、所述中心点初始位置、所述第五关节角初始值、所述第六关节角初始值和所述第七关节角初始值,对所述冗余手臂的各个关节进行关节角计算,得到关节角计算结果集合;Obtain the initial value of the fifth joint angle, the initial value of the sixth joint angle and the initial value of the seventh joint angle of the redundant arm, according to the arm base coordinate system, the joint coordinate system set, the upper arm length, the The length of the forearm, the length from the palm to the wrist, the initial position of the center point, the initial value of the fifth joint angle, the initial value of the sixth joint angle and the initial value of the seventh joint angle, for the redundant The joint angle calculation is performed on each joint of the remaining arm to obtain a set of joint angle calculation results; 当所述关节角计算结果集合中不存在关节角计算结果为无解时,重复执行所述从各个所述离散位置中获取所述离散位置作为目标离散位置的步骤,直至所述关节角计算结果集合中存在所述关节角计算结果为无解或完成所述离散位置的获取;When there is no joint angle calculation result in the joint angle calculation result set and the result is no solution, repeat the step of obtaining the discrete position from each of the discrete positions as the target discrete position until the joint angle calculation result In the set, the joint angle calculation result is no solution or the acquisition of the discrete position is completed; 当所述关节角计算结果集合中存在所述关节角计算结果为无解时,确定存在所述关节角计算结果为无解的所述关节角计算结果集合对应的所述求解结果为无解;When the joint angle calculation result has no solution in the joint angle calculation result set, it is determined that the solution result corresponding to the joint angle calculation result set for which the joint angle calculation result is no solution is no solution; 当所述关节角计算结果集合中不存在所述关节角计算结果为无解时,确定不存在所述关节角计算结果为无解的所述关节角计算结果集合对应的所述求解结果为有解。When the joint angle calculation result does not exist in the joint angle calculation result set and the joint angle calculation result is no solution, it is determined that there is no joint angle calculation result corresponding to the joint angle calculation result set corresponding to the joint angle calculation result is yes. untie. 5.根据权利要求4所述的仿人机器人的冗余手臂的抛投轨迹规划方法,所述根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度、所述中心点初始位置、所述第五关节角初始值、所述第六关节角初始值和所述第七关节角初始值,对所述冗余手臂的各个关节进行关节角计算,得到关节角计算结果集合的步骤,包括:5. the throwing trajectory planning method of the redundant arm of the humanoid robot according to claim 4, described according to the arm base coordinate system, the joint coordinate system set, the length of the upper arm, the forearm Length, the length from the palm to the wrist, the initial position of the center point, the initial value of the fifth joint angle, the initial value of the sixth joint angle and the initial value of the seventh joint angle, the The steps of calculating the joint angle for each joint to obtain a set of joint angle calculation results include: 基于所述冗余手臂的第五关节不影响所述抛投物体的位置和所述冗余手臂的第六关节及第七关节在抛投过程中固定不变的规则,根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度和所述中心点初始位置,对所述冗余手臂的第一关节、第二关节、第三关节及第四关节进行关节角计算,得到第一关节角待调整值、第二关节角待调整值、第三关节角待调整值和第四关节角待调整值;Based on the rule that the fifth joint of the redundant arm does not affect the position of the thrown object and the sixth and seventh joints of the redundant arm are fixed during the throwing process, according to the arm base The coordinate system, the set of joint coordinate systems, the length of the upper arm, the length of the forearm, the length from the palm to the wrist, and the initial position of the center point, for the first joint, second joint, The third joint and the fourth joint perform joint angle calculation to obtain the to-be-adjusted value of the first joint angle, the to-be-adjusted value of the second joint angle, the to-be-adjusted value of the third joint angle and the to-be-adjusted value of the fourth joint angle; 根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度、所述中心点初始位置、所述第一关节角待调整值、所述第二关节角待调整值、所述第三关节角待调整值、所述第四关节角待调整值、所述第五关节角初始值、所述第六关节角初始值和所述第七关节角初始值,对所述冗余手臂的各个关节进行关节角计算,得到所述关节角计算结果集合。According to the arm base coordinate system, the set of joint coordinate systems, the length of the upper arm, the length of the forearm, the length from the palm to the wrist, the initial position of the center point, and the value to be adjusted for the first joint angle , the to-be-adjusted value of the second joint angle, the to-be-adjusted value of the third joint angle, the to-be-adjusted value of the fourth joint angle, the initial value of the fifth joint angle, the initial value of the sixth joint angle, and the The seventh initial value of the joint angle is used, and joint angle calculation is performed on each joint of the redundant arm to obtain the joint angle calculation result set. 6.根据权利要求5所述的仿人机器人的冗余手臂的抛投轨迹规划方法,所述根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度、所述中心点初始位置、所述第一关节角待调整值、所述第二关节角待调整值、所述第三关节角待调整值、所述第四关节角待调整值、所述第五关节角初始值、所述第六关节角初始值和所述第七关节角初始值,对所述冗余手臂的各个关节进行关节角计算,得到所述关节角计算结果集合的步骤,包括:6. the throwing trajectory planning method of the redundant arm of the humanoid robot according to claim 5, described according to the arm base coordinate system, the joint coordinate system set, the upper arm length, the forearm length, the length from the palm to the wrist, the initial position of the center point, the to-be-adjusted value of the first joint angle, the to-be-adjusted value of the second joint angle, the to-be-adjusted value of the third joint angle, the fourth The joint angle to be adjusted, the initial value of the fifth joint angle, the initial value of the sixth joint angle, and the initial value of the seventh joint angle, and calculating the joint angle of each joint of the redundant arm to obtain the The steps of joint angle calculation result set, including: 根据所述第一关节角待调整值、所述第二关节角待调整值、所述第三关节角待调整值、所述第四关节角待调整值、所述第五关节角初始值、所述第六关节角初始值和所述第七关节角初始值进行在所述手臂基座坐标系下的手臂末端的姿态计算,得到第一末端姿态;According to the to-be-adjusted value of the first joint angle, the to-be-adjusted value of the second joint angle, the to-be-adjusted value of the third joint angle, the to-be-adjusted value of the fourth joint angle, the initial value of the fifth joint angle, The initial value of the sixth joint angle and the initial value of the seventh joint angle are calculated for the posture of the arm end under the arm base coordinate system to obtain the first end posture; 基于将所述关节坐标系集合的第七坐标系的Z轴方向作为手掌开合方向和所述冗余手臂的所述第六关节及所述第七关节在抛投过程中固定不变的规则,根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度、所述中心点初始位置和所述第一末端姿态,对所述冗余手臂的各个关节进行关节角计算,得到所述关节角计算结果集合。Based on the rule that the Z-axis direction of the seventh coordinate system of the joint coordinate system set is used as the palm opening and closing direction, and the sixth joint and the seventh joint of the redundant arm are fixed during the throwing process. , according to the arm base coordinate system, the joint coordinate system set, the upper arm length, the forearm length, the length from the palm to the wrist, the initial position of the center point and the first end posture, to Each joint of the redundant arm performs joint angle calculation to obtain the joint angle calculation result set. 7.根据权利要求6所述的仿人机器人的冗余手臂的抛投轨迹规划方法,其特征在于,所述基于所述冗余手臂的第五关节不影响所述抛投物体的位置和所述冗余手臂的第六关节及第七关节在抛投过程中固定不变的规则,根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度和所述中心点初始位置,对所述冗余手臂的第一关节、第二关节、第三关节及第四关节进行关节角计算,得到第一关节角待调整值、第二关节角待调整值、第三关节角待调整值和第四关节角待调整值的步骤,包括:7. The throwing trajectory planning method of the redundant arm of the humanoid robot according to claim 6, wherein the fifth joint based on the redundant arm does not affect the position and the position of the throwing object. The sixth and seventh joints of the redundant arm are fixed in the casting process, according to the arm base coordinate system, the joint coordinate system set, the length of the upper arm, the length of the forearm, The length from the palm to the wrist and the initial position of the center point, calculate the joint angle of the first joint, the second joint, the third joint and the fourth joint of the redundant arm, and obtain the first joint angle to be adjusted value, The steps of the to-be-adjusted value of the second joint angle, the to-be-adjusted value of the third joint angle, and the to-be-adjusted value of the fourth joint angle include: 根据所述中心点初始位置、所述上臂长度、所述小臂长度和所述手心到手腕长度,对所述冗余手臂的第四关节进行关节角计算,得到所述第四关节角待调整值;According to the initial position of the center point, the length of the upper arm, the length of the forearm, and the length from the palm to the wrist, the joint angle of the fourth joint of the redundant arm is calculated, and the fourth joint angle to be adjusted is obtained. value; 基于所述冗余手臂的第五关节不影响所述抛投物体的位置、所述冗余手臂的第六关节及第七关节在抛投过程中固定不变的规则和所述冗余手臂的手臂末端的运动学方程,根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度和所述中心点初始位置,确定所述关节坐标系集合中的第三坐标系相对所述手臂基座坐标系的初始旋转矩阵;Based on the rule that the fifth joint of the redundant arm does not affect the position of the thrown object, the sixth and seventh joints of the redundant arm are fixed during the throwing process, and the The kinematic equation of the arm end is determined according to the arm base coordinate system, the joint coordinate system set, the length of the upper arm, the length of the forearm, the length from the palm to the wrist and the initial position of the center point. the initial rotation matrix of the third coordinate system in the set of joint coordinate systems relative to the coordinate system of the arm base; 根据所述初始旋转矩阵,对所述冗余手臂的第一关节、第二关节和第三关节进行关节角计算,得到所述第一关节角待调整值、所述第二关节角待调整值和所述第三关节角待调整值。According to the initial rotation matrix, the joint angle calculation is performed on the first joint, the second joint and the third joint of the redundant arm to obtain the to-be-adjusted value of the first joint angle and the to-be-adjusted value of the second joint angle and the third joint angle to be adjusted. 8.根据权利要求7所述的仿人机器人的冗余手臂的抛投轨迹规划方法,其特征在于,所述基于将所述关节坐标系集合的第七坐标系的Z轴方向作为手掌开合方向和所述冗余手臂的所述第六关节及所述第七关节在抛投过程中固定不变的规则,根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述小臂长度、所述手心到手腕长度、所述中心点初始位置和所述第一末端姿态,对所述冗余手臂的各个关节进行关节角计算,得到所述关节角计算结果集合的步骤,包括:8. the throwing trajectory planning method of the redundant arm of the humanoid robot according to claim 7, is characterized in that, described based on the Z-axis direction of the seventh coordinate system of described joint coordinate system set as palm opening and closing The direction and the rule that the sixth joint and the seventh joint of the redundant arm are fixed during the throwing process, according to the arm base coordinate system, the joint coordinate system set, the length of the upper arm , the length of the forearm, the length from the palm of the hand to the wrist, the initial position of the center point and the attitude of the first end, perform joint angle calculation on each joint of the redundant arm, and obtain the joint angle calculation result set steps, including: 基于将所述第七坐标系的Z轴方向作为手掌开合方向和使所述第七坐标系的所述Z轴方向与所述抛投平面平行确定所述第五关节的调整角度;The adjustment angle of the fifth joint is determined based on taking the Z-axis direction of the seventh coordinate system as the palm opening and closing direction and making the Z-axis direction of the seventh coordinate system parallel to the throwing plane; 根据所述调整角度和所述第五关节角初始值确定所述第五关节对应的关节角计算结果;Determine the joint angle calculation result corresponding to the fifth joint according to the adjustment angle and the initial value of the fifth joint angle; 根据所述手臂基座坐标系、所述关节坐标系集合、所述上臂长度、所述上臂长度和所述手心到手腕长度,对所述冗余手臂的手腕的中心点进行在所述手臂基座坐标系下的位置计算,得到基座手腕中心位置;According to the arm base coordinate system, the joint coordinate system set, the upper arm length, the upper arm length, and the length from the palm to the wrist, the center point of the wrist of the redundant arm is calculated on the arm base Calculate the position in the coordinate system to obtain the center position of the wrist of the base; 根据所述基座手腕中心位置、所述上臂长度和所述小臂长度进行所述冗余手臂的关节角计算,得到所述第四关节对应的关节角计算结果;Calculate the joint angle of the redundant arm according to the center position of the wrist of the base, the length of the upper arm and the length of the forearm, and obtain the calculation result of the joint angle corresponding to the fourth joint; 基于所述冗余手臂的所述第六关节及所述第七关节在抛投过程中固定不变的规则和罗德里格斯公式,根据所述调整角度、所述手臂基座坐标系、所述关节坐标系集合和所述第一末端姿态,确定所述关节坐标系集合中的第三坐标系相对所述手臂基座坐标系的目标旋转矩阵;Based on the rule that the sixth joint and the seventh joint of the redundant arm are fixed during the throwing process and the Rodrigues formula, according to the adjustment angle, the coordinate system of the arm base, the the joint coordinate system set and the first end posture, and determine the target rotation matrix of the third coordinate system in the joint coordinate system set relative to the arm base coordinate system; 根据所述目标旋转矩阵,对所述冗余手臂的第一关节、第二关节和第三关节进行关节角计算,得到所述第一关节对应的关节角计算结果、所述第二关节对应的关节角计算结果和所述第三关节对应的关节角计算结果;According to the target rotation matrix, the joint angle calculation is performed on the first joint, the second joint and the third joint of the redundant arm to obtain the joint angle calculation result corresponding to the first joint and the joint angle corresponding to the second joint. The joint angle calculation result and the joint angle calculation result corresponding to the third joint; 根据所述第一关节对应的关节角计算结果、所述第二关节对应的关节角计算结果、所述第三关节对应的关节角计算结果、所述第四关节对应的关节角计算结果和所述第五关节对应的关节角计算结果,确定所述关节角计算结果集合。According to the calculation result of the joint angle corresponding to the first joint, the calculation result of the joint angle corresponding to the second joint, the calculation result of the joint angle corresponding to the third joint, the calculation result of the joint angle corresponding to the fourth joint and the The joint angle calculation result corresponding to the fifth joint is determined, and the joint angle calculation result set is determined. 9.根据权利要求1所述的仿人机器人的冗余手臂的抛投轨迹规划方法,其特征在于,所述根据所述加速阶段轨迹分别进行跟随阶段轨迹的获取、减速阶段轨迹的获取及轨迹拼接,得到抛投轨迹的步骤,包括:9. the throwing trajectory planning method of the redundant arm of the humanoid robot according to claim 1, is characterized in that, described according to described acceleration phase trajectory, respectively carry out the acquisition of following phase trajectory, the acquisition of deceleration phase trajectory and the trajectory The steps of splicing to get the throwing trajectory include: 获取所述冗余手臂的手指开合延时数据;Acquiring finger opening and closing delay data of the redundant arm; 根据所述手指开合延时数据和所述加速阶段轨迹获取所述跟随阶段轨迹;Obtain the following phase trajectory according to the finger opening and closing delay data and the acceleration phase trajectory; 获取所述冗余手臂的末端最大加速度;Obtain the maximum acceleration of the end of the redundant arm; 根据所述末端最大加速度和所述跟随阶段轨迹获取所述减速阶段轨迹;Obtain the deceleration phase trajectory according to the terminal maximum acceleration and the following phase trajectory; 将所述加速阶段轨迹、所述跟随阶段轨迹和所述减速阶段轨迹进行依次拼接,得到所述抛投轨迹。The trajectory of the acceleration phase, the trajectory of the following phase, and the trajectory of the deceleration phase are sequentially spliced to obtain the throwing trajectory. 10.一种仿人机器人的冗余手臂的抛投轨迹规划装置,其特征在于,所述装置适用于仿人机器人的冗余手臂,所述装置包括:10. A throwing trajectory planning device for a redundant arm of a humanoid robot, wherein the device is suitable for the redundant arm of a humanoid robot, and the device comprises: 数据获取模块,用于获取世界坐标系下的世界起点位置、世界目标点位置及世界出手点位置;The data acquisition module is used to acquire the position of the world starting point, the position of the world target point and the position of the world starting point in the world coordinate system; 加速阶段轨迹确定模块,用于获取预设加速度变化曲线,根据所述预设加速度变化曲线、所述世界起点位置、所述世界目标点位置及所述世界出手点位置生成加速阶段轨迹;an acceleration phase trajectory determination module, configured to obtain a preset acceleration change curve, and generate an acceleration phase trajectory according to the preset acceleration change curve, the world starting point position, the world target point position, and the world starting point position; 抛投轨迹确定模块,用于根据所述加速阶段轨迹分别进行跟随阶段轨迹的获取、减速阶段轨迹的获取及轨迹拼接,得到抛投轨迹;The throwing trajectory determination module is used for obtaining the trajectory of the follow-up phase, the acquisition of the trajectory of the deceleration phase, and the splicing of the trajectory according to the trajectory of the acceleration phase, to obtain the trajectory of the throwing throw; 离散位置确定模块,用于采用预设时间间隔,对所述抛投轨迹进行离散处理,得到多个离散位置;a discrete position determination module, configured to perform discrete processing on the throwing trajectory using a preset time interval to obtain a plurality of discrete positions; 求解结果确定模块,用于分别对每个所述离散位置进行关节角的求解,得到多个求解结果;The solution result determination module is used to solve the joint angle of each discrete position respectively, and obtain a plurality of solution results; 目标关节角集合确定模块,用于当存在所述求解结果为无解时,对所述世界出手点位置进行调整,重复执行所述获取预设加速轨迹曲线的步骤,直至各个所述求解结果均为有解,根据各个所述求解结果均为有解对应的各个关节角确定目标关节角集合。The target joint angle set determination module is used to adjust the position of the world shot point when the solution result is no solution, and repeat the step of obtaining the preset acceleration trajectory curve until each of the solution results is no solution. In order to have a solution, the target joint angle set is determined according to each joint angle corresponding to each of the solution results. 11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述方法的步骤。11. A computer device, comprising a memory and a processor, wherein the memory stores a computer program, wherein the processor implements the steps of the method according to any one of claims 1 to 9 when the processor executes the computer program . 12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。12. A computer-readable storage medium on which a computer program is stored, characterized in that, when the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 9 are implemented.
CN202111082022.3A 2021-09-15 2021-09-15 Throwing track planning method, device and medium for redundant arms of humanoid robot Active CN113524205B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111082022.3A CN113524205B (en) 2021-09-15 2021-09-15 Throwing track planning method, device and medium for redundant arms of humanoid robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111082022.3A CN113524205B (en) 2021-09-15 2021-09-15 Throwing track planning method, device and medium for redundant arms of humanoid robot

Publications (2)

Publication Number Publication Date
CN113524205A true CN113524205A (en) 2021-10-22
CN113524205B CN113524205B (en) 2021-12-31

Family

ID=78123141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111082022.3A Active CN113524205B (en) 2021-09-15 2021-09-15 Throwing track planning method, device and medium for redundant arms of humanoid robot

Country Status (1)

Country Link
CN (1) CN113524205B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113997287A (en) * 2021-10-29 2022-02-01 广东技术师范大学 A fruit picking method based on visual servo control robot
CN114330384A (en) * 2021-11-24 2022-04-12 南京邮电大学 A method for tracking arm motion trajectory based on passive RFID phase information
CN116871802A (en) * 2023-09-08 2023-10-13 惠生(南通)重工有限公司 Multifunctional special-shaped assembly welding platform
CN118672257A (en) * 2024-05-30 2024-09-20 中国兵器工业集团江山重工研究院有限公司 Method, system, equipment and storage medium for planning uncapping ejection track and drop point

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1103451A2 (en) * 1999-11-25 2001-05-30 Sony Corporation Legged mobile robot and method and apparatus for controlling the operation of a robot
US20050036649A1 (en) * 2001-08-23 2005-02-17 Jun Yokono Robot apparatus, face recognition method, and face recognition apparatus
WO2008076910A1 (en) * 2006-12-15 2008-06-26 The Board Of Trustees Of The Leland Stanford Junior University Image mosaicing systems and methods
CN101525011A (en) * 2008-03-04 2009-09-09 王慧娟 Jumping robot and motion optimization method adopting inertia matching
US20130054471A1 (en) * 2007-04-19 2013-02-28 Gideon Samid Bit Currency: Transactional Trust Tools
CN103235513A (en) * 2013-04-24 2013-08-07 武汉科技大学 Genetic-algorithm-based trajectory planning optimization method for mobile mechanical arm
CN105128011A (en) * 2015-09-15 2015-12-09 北京理工大学 Humanoid robot throwing and stability control method based on vision and movement
CN105758306A (en) * 2016-03-01 2016-07-13 安徽工程大学 Method for tracking and reproducing movement track of point on spatial movement rigid body
CN108140162A (en) * 2015-09-29 2018-06-08 亚马逊技术股份有限公司 Robot throwing of the project in inventory system
CN110307838A (en) * 2019-08-26 2019-10-08 深圳市优必选科技股份有限公司 Robot repositioning method and device, computer-readable storage medium and robot
CN111208823A (en) * 2020-02-17 2020-05-29 哈尔滨工业大学 Motion control system and method for ice cleaning robot of ice pot
CN111399514A (en) * 2020-03-30 2020-07-10 浙江钱江机器人有限公司 Robot time optimal trajectory planning method
CN111914980A (en) * 2020-05-30 2020-11-10 中南大学 Redundant mechanical arm kinematics resolving method based on analytical solution and improved genetic algorithm

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1103451A2 (en) * 1999-11-25 2001-05-30 Sony Corporation Legged mobile robot and method and apparatus for controlling the operation of a robot
US20050036649A1 (en) * 2001-08-23 2005-02-17 Jun Yokono Robot apparatus, face recognition method, and face recognition apparatus
WO2008076910A1 (en) * 2006-12-15 2008-06-26 The Board Of Trustees Of The Leland Stanford Junior University Image mosaicing systems and methods
US20130054471A1 (en) * 2007-04-19 2013-02-28 Gideon Samid Bit Currency: Transactional Trust Tools
CN101525011A (en) * 2008-03-04 2009-09-09 王慧娟 Jumping robot and motion optimization method adopting inertia matching
CN103235513A (en) * 2013-04-24 2013-08-07 武汉科技大学 Genetic-algorithm-based trajectory planning optimization method for mobile mechanical arm
CN105128011A (en) * 2015-09-15 2015-12-09 北京理工大学 Humanoid robot throwing and stability control method based on vision and movement
CN108140162A (en) * 2015-09-29 2018-06-08 亚马逊技术股份有限公司 Robot throwing of the project in inventory system
CN105758306A (en) * 2016-03-01 2016-07-13 安徽工程大学 Method for tracking and reproducing movement track of point on spatial movement rigid body
CN110307838A (en) * 2019-08-26 2019-10-08 深圳市优必选科技股份有限公司 Robot repositioning method and device, computer-readable storage medium and robot
CN111208823A (en) * 2020-02-17 2020-05-29 哈尔滨工业大学 Motion control system and method for ice cleaning robot of ice pot
CN111399514A (en) * 2020-03-30 2020-07-10 浙江钱江机器人有限公司 Robot time optimal trajectory planning method
CN111914980A (en) * 2020-05-30 2020-11-10 中南大学 Redundant mechanical arm kinematics resolving method based on analytical solution and improved genetic algorithm

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
NICO MANSFELD: "Speed Gain in Elastic Joint Robots: An Energy Conversion-Based Approach", 《SPEED GAIN IN ELASTIC JOINT ROBOTS: AN ENERGY CONVERSION-BASED APPROACH》 *
XUAN LUO: "An Improved Method for the Error Modeling of a 5-DoF Parallel Machining Robot Based on Measurement by a Laser Tracker", 《AN IMPROVED METHOD FOR THE ERROR MODELING OF A 5-DOF PARALLEL MACHINING ROBOT BASED ON MEASUREMENT BY A LASER TRACKER》 *
张帅等: "双臂冗余机器人主动自避碰控制策略研究", 《双臂冗余机器人主动自避碰控制策略研究 *
李敬: "仿人机器人乒乓球击打运动规划与稳定控制", 《仿人机器人乒乓球击打运动规划与稳定控制 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113997287A (en) * 2021-10-29 2022-02-01 广东技术师范大学 A fruit picking method based on visual servo control robot
CN114330384A (en) * 2021-11-24 2022-04-12 南京邮电大学 A method for tracking arm motion trajectory based on passive RFID phase information
CN116871802A (en) * 2023-09-08 2023-10-13 惠生(南通)重工有限公司 Multifunctional special-shaped assembly welding platform
CN116871802B (en) * 2023-09-08 2023-11-24 惠生(南通)重工有限公司 Multifunctional special-shaped assembly welding platform
CN118672257A (en) * 2024-05-30 2024-09-20 中国兵器工业集团江山重工研究院有限公司 Method, system, equipment and storage medium for planning uncapping ejection track and drop point
CN118672257B (en) * 2024-05-30 2025-01-24 中国兵器工业集团江山重工研究院有限公司 Method, system, device and storage medium for planning trajectory and landing point of opening and throwing

Also Published As

Publication number Publication date
CN113524205B (en) 2021-12-31

Similar Documents

Publication Publication Date Title
CN113524205A (en) Throwing trajectory planning method, device and medium for redundant arm of humanoid robot
Liu et al. Analytical inverse kinematics solver for anthropomorphic 7-DOF redundant manipulators with human-like configuration constraints
Duka Neural network based inverse kinematics solution for trajectory tracking of a robotic arm
Cheah et al. Adaptive vision and force tracking control for robots with constraint uncertainty
Wang et al. A multi-objective approach for the trajectory planning of a 7-DOF serial-parallel hybrid humanoid arm
Gallardo-Alvarado A Gough–Stewart parallel manipulator with configurable platform and multiple end-effectors
Qiu et al. Inverse kinematics of high dimensional robotic arm-hand systems for precision grasping
Li et al. Dynamic visual servoing of a 6-RSS parallel robot based on optical CMM
Crenganiş et al. The inverse kinematics solutions of a 7 DOF robotic arm using Fuzzy Logic
Wu et al. Novel adaptive zeroing neural dynamics schemes for temporally-varying linear equation handling applied to arm path following and target motion positioning
Yamada et al. Comparison between admittance and impedance control of a multi-finger-arm robot using the guaranteed manipulability method
Zhao et al. Efficient inverse kinematics for redundant manipulators with collision avoidance in dynamic scenes
Nazari et al. Screw theory-based mobility analysis and projection-based kinematic modeling of a 3-CRRR parallel manipulator
Crenganis et al. Inverse kinematics of a 7 DOF manipulator using adaptive neuro-fuzzy inference systems
Seven et al. Inverse kinematic analysis of irb120 robot arm
Bsili et al. An evolutionary approach for the optimal design of the iCub mk. 3 parallel wrist
Chin et al. Closed-form and generalized inverse kinematics solutions for the analysis of human motion
Zhang et al. Kuka youBot arm path planning based on gravity
Gao et al. Research on stability of dual-arm cooperative execution task
Khezrian et al. Multi criteria design of a spherical 3-DoF parallel manipulator for optimal dynamic performance
Ma et al. The kinematic analysis and trajectory planning study of high-speed SCARA robot handling operation
Patiño et al. On mapping stiffness and damping in robotic impedance control: a spatial validation of coupling
Zhang et al. Optimizing Redundant Robot Kinematics and Motion Planning via Advanced DH Analysis and Enhanced Artificial Potential Fields.
Zhang et al. Beetle bee algorithm applied to trajectory tracking control of omni manipulator
Fang et al. RRT-based motion planning with sampling in redundancy space for robots with anthropomorphic arms

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant