A method for planning a station of a humanoid robot
By defining operation action templates, constructing an automatic trajectory generator, and using a particle swarm optimization algorithm, the operation positions of humanoid robots are planned, solving the problem of position planning for multi-step operation tasks in existing technologies. This achieves efficient and reliable operation position planning and obstacle avoidance capabilities, thereby improving robot operation efficiency.
Patent Information
- Application Number
- CN202410708139.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-03
- Publication Date
- 2026-08-25
- Estimated Expiration
- 2044-06-03
AI Technical Summary
Existing technologies struggle to plan optimal positioning for humanoid robots in multi-step tasks and cannot effectively avoid obstacles, resulting in unreachable arms and low operational efficiency.
By defining operation action templates, an automatic operation trajectory generator is constructed. The particle swarm optimization algorithm is used to plan the robot's operation position, generate virtual motion trajectories, iteratively calculate the optimal position, and combine the weighted calculation of position error, attitude error and operability to optimize the robot's position to perform multi-step operation tasks.
It enables humanoid robots to plan their positions efficiently and reliably in multi-step operation tasks, maintain high operability, avoid unreachable arm positions, and improve overall operation efficiency and obstacle avoidance capabilities.
Smart Images

Figure CN118478358B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of robot operation planning technology, specifically relating to a method for planning the operating positions of a humanoid robot. Background Technology
[0002] Humanoid robots have garnered widespread attention due to their anthropomorphic appearance and excellent terrain-crossing capabilities, and are considered an important carrier of embodied intelligence. In recent years, research on humanoid robots has largely focused on the stability of lower limb walking, with relatively little research on their operational planning. Existing important literature divides operational task planning into three parts: positioning planning, walking foothold planning, and operational action planning. That is, the primary task is to plan where the robot should stand to perform operational interactions, ensuring that the robot's arm reachability at that location meets the subsequent desired interactive actions. Therefore, operational positioning planning is a key technology for improving the operational capabilities of humanoid robots and enhancing their practical application capabilities.
[0003] Current research on positioning planning for humanoid robots is primarily data-based. This includes approaches such as the one developed by the Institute for Anthropomatics and Robotics at the Karlsruhe Institute of Technology in Germany, which constructs an offline reachability map (RM) for the robot arm based on its configuration. After specifying an operation (desired end-effector pose), it searches for feasible solutions in the reachability map and then reverse-engineers the robot's position. However, this method cannot plan obstacle avoidance and can only plan the position for a single operation. Another approach, proposed by the School of Informatics at the University of Edinburgh, involves inverse dynamic reachability maps (iDRM). These maps update obstacle information in the reachability map at regular intervals to facilitate the search for feasible obstacle avoidance solutions. However, this method still only allows planning based on a single operation. If the robot is required to perform a series of operations after standing, this method cannot derive the optimal position based on all desired actions. Summary of the Invention
[0004] To address the shortcomings of existing technologies, this invention provides a method for planning the operating position of a humanoid robot. The planned position not only enables the robot to perform the desired interactive actions, but also maintains the maximum possible operability of the arm.
[0005] The present invention achieves the above-mentioned technical objectives through the following technical means.
[0006] A method for planning the operating positions of a humanoid robot:
[0007] Define robot operation action templates in the computer, and design a series of expected operation actions that the robot should perform based on the robot operation action templates;
[0008] Construct an automatic operation trajectory generator to automatically generate the robot's virtual motion trajectory based on the desired operation actions described above;
[0009] Robot operation position planning based on particle swarm optimization algorithm: Several virtual robot positions are randomly generated as particles. A virtual motion trajectory is executed on each virtual position to obtain the corresponding pose. The error between the pose and the desired pose is used to calculate the particle value, thereby updating the particle parameters. After multiple iterations, the calculated optimal virtual position is used as the robot's actual operation position.
[0010] The actual operating position is transmitted to the robot's walking controller and joint actuators, and the robot moves to that position and performs the corresponding operation.
[0011] In a further technical solution, the operation action template is a set of state parameters, which includes the desired position and weight of the end of the arm, the desired posture and weight of the end of the arm, the opening and closing angle of the dexterous hand or gripper, the six-dimensional stiffness of admittance control, and the longest waiting time.
[0012] A further technical solution is that if the error between the position of the arm's end and the desired position of the arm's end is less than 0.01m and the posture error is less than 0.0174rad when the robot performs a certain action, it is determined that the robot has completed this action and begins to execute the next action.
[0013] A more advanced technical solution is to assume that if the longest waiting time is reached and neither the position error nor the posture error meets the requirements at the same time, the desired position and posture are outside the arm's workspace, and the current action is abandoned, and the next action is started.
[0014] In a further technical solution, the automatic operation trajectory generator is constructed based on quadratic programming. In each control cycle of the robot, the desired pose of the arm end in the current operation is read, and the virtual joint position of the next control cycle is calculated by the penalty function of quadratic programming. The output satisfies the joint limit constraint, the joint angular velocity constraint, and the joint angular acceleration constraint.
[0015] A further technical solution is that the particle value is calculated according to the following formula:
[0016] val=∑(ω position ×e position +ω posture×e posture +ω t ×t+ω m ×m)
[0017] Among them, e position e represents the positional error of the virtual robot in performing each step of its operation. posture The pose error of the virtual robot in performing each step is represented by t, the execution time of each step is m, and the operability is ω. position It is the weight of the position error, ω posture It is the weight of the attitude error, ω t It is the weight of the operation execution time, ω m It is the weight of operability.
[0018] The beneficial effects of this invention are as follows:
[0019] (1) The present invention randomly generates a set of virtual positions of humanoid robots as a particle swarm, uses a particle swarm optimization algorithm to iteratively calculate the optimal position, and uses the obtained optimal solution as the actual operation position of the robot. The robot can not only perform the predetermined operation actions well at this position, but also maintain a high degree of operability, leaving a margin for arm obstacle avoidance, compliant control and other movements.
[0020] (2) In the process of planning station positions using particle swarm optimization algorithm, the present invention uses the operation trajectory results generated by the trajectory automatic generator as the basis for particle update, so that the station positions after iterative update can obtain the optimal operation execution results.
[0021] (3) When calculating the value of each particle, the present invention uses a weighted calculation method of position error, posture error, execution time and operability. This calculation method can adjust the result by weighting the particle group to make it iterate in the desired direction. For example, by increasing the operability weight, the robot's arm will have higher operability when it operates in the station after iteration, thus avoiding the occurrence of strange configurations.
[0022] (4) In the operation action template designed in this invention, the template set includes: the desired position and weight of the end of the arm, the desired posture and weight of the end of the arm, the opening and closing angle of the dexterous hand or gripper, the six-dimensional stiffness of the admittance control and the longest waiting time. This template contains all the parameters required for the robot to generate the operation trajectory, and a series of operation actions can be conveniently designed according to this template.
[0023] (5) When planning the operation position, the present invention uses the trajectory results of multiple operation actions as the planning basis. Compared with the existing planning methods that can only target a single operation action, it reduces the situation where the robot has to adjust its position due to the arm being unable to reach when performing multi-step operation tasks, thus improving the overall operation efficiency. Attached Figure Description
[0024] Figure 1 This is a flowchart illustrating the overall planning process for the humanoid robot's operating station as described in this invention.
[0025] Figure 2 This is a schematic diagram of the design of the humanoid robot operation action template described in this invention;
[0026] Figure 3 This is a flowchart of the automatic operation trajectory generator described in this invention.
[0027] Figure 4 This is a flowchart of the operation station planning process described in this invention. Detailed Implementation
[0028] The present invention will be further described below with reference to the accompanying drawings and specific embodiments, but the scope of protection of the present invention is not limited thereto.
[0029] This invention plans the operating position of a humanoid robot in three parts. First, a robot operation action template is defined in the computer. Based on this template, a series of desired operation actions to be executed are designed, including the desired pose of the arm end and the opening and closing angle of the gripper. Second, an automatic trajectory generator is constructed, which can automatically generate a virtual motion trajectory of the robot based on the operation actions designed in the previous step. Finally, the robot operating position is planned based on a particle swarm optimization algorithm. Several virtual robot positions are randomly generated as particles. A virtual motion trajectory is executed at each virtual position to obtain the corresponding pose. The error between the pose and the desired pose is used to calculate the particle value, thereby updating the particle parameters. After multiple iterations, the calculated optimal virtual position is used as the robot's actual operating position and transmitted to the robot's walking controller and joint actuators to control the robot's execution. Figure 1 As shown below. The steps are explained in detail below:
[0030] (1) Template for humanoid robot operation actions
[0031] After a humanoid robot stands still, it often needs to perform multiple steps of operation to achieve its operational target. This invention defines an action template, based on which all operational tasks can be decomposed into several steps of operation. The action template is defined as a set of state parameters, which includes: ① desired position and weight of the arm end effector, ② desired posture and weight of the arm end effector, ③ opening and closing angle of the dexterous hand or gripper, ④ six-dimensional stiffness of admittance control, and ⑤ maximum waiting time (>0).
[0032] In this context, ① and ② represent the desired position and desired pose that the user expects the robot arm's end effector to reach in that step. Their weights indicate which target the robot prioritizes when automatically generating the trajectory (using the automatic trajectory generator). ③ represents the position values of each degree of freedom of the robot's end effector. ④ represents the control parameters when the robot arm is performing compliant control, indicating the degree of compliance during robot operation. ⑤ represents the maximum waiting time for each step. Due to the reachability of the robot arm, some operations may not be possible in the desired pose. When the automatic trajectory generator is working, it will stop automatically generating the trajectory after the maximum waiting time has elapsed.
[0033] Before performing a specific task, the programmer designs a sequence of actions based on this template, which the robot then executes one by one. If, during a certain action, the robot's end-effector position deviates from the designed desired end-effector position by less than 0.01m, and the posture error is less than 0.0174rad (under rotation vector description), then the accuracy requirements are met, and the robot is considered to have completed this action and begins executing the next action. Figure 2 As shown. If the "maximum waiting time" is reached and neither the position error nor the attitude error simultaneously meets the requirements, the desired pose is considered to be outside the arm's workspace. The current action is abandoned, and the next designed action is initiated.
[0034] (2) Automatic operation trajectory generator
[0035] An automatic trajectory generator based on quadratic programming is constructed to enable the humanoid robot's end effector to track its desired pose from its current position, automatically generating virtual trajectories for each joint. The generator takes as input the defined sequence of actions and outputs the robot's trajectory after calculation. Specifically, in each virtual control cycle, the robot reads the desired pose of the end effector from the current action and calculates the virtual joint positions for the next virtual control cycle using a quadratic programming penalty function, ensuring that the output satisfies the set robot constraints. After several virtual control cycles, the robot's end effector gradually approaches the desired pose. If the desired pose is unreachable, quadratic programming will eventually converge the end effector to the pose closest to the desired pose in the robot's workspace. Combining the outputs of all virtual control cycles calculated by the generator yields the trajectory, i.e., the virtual motion trajectory.
[0036] The penalty function for quadratic programming is:
[0037]
[0038] In the formula, E pThis represents the error between the current pose and the desired pose of the robot arm's end effector, and the acceleration of the change in this error. The rate of change of the error between the current pose and the desired pose of the robot arm's end effector J is the Jacobian of the robotic arm's end effector, q, and It represents the position, velocity, and acceleration of the robot's joint angular vectors, k. p w represents the tracking speed in quadratic programming. p It calculates the weights, N. p This indicates the total number of tasks performed at the end effector of the robotic arm.
[0039] The joint limit constraints, joint angular velocity constraints, and joint angular acceleration constraints in quadratic programming are as follows:
[0040]
[0041] The quadratic programming expression calculates and outputs a control quantity that meets the constraints. After integration, q can be obtained, which serves as the motion command for the position-controlled robot.
[0042] This trajectory generator performs calculations in each control cycle of the robot. After the robot completes a step, it automatically generates the trajectory for the next step, such as... Figure 3 As shown.
[0043] (3) Operation station planning
[0044] Based on the aforementioned action template and trajectory generator, the operational positioning is planned using a particle swarm optimization algorithm. Each particle represents the relative positioning of a virtual robot and the operational target, specifically the pose (x, y, z, yaw) of the virtual robot's torso in the operational target coordinate system, where x, y, and z represent the position of the virtual robot's torso in the operational target coordinate system, and yaw represents the robot's yaw. During particle swarm initialization, each particle randomly generates the above parameters. The particle swarm update method is as follows:
[0045] x i+1 =x i +v i (3)
[0046] v i+1 =ω×v i +c1×r()×(p i -x i )+c2×r()×(gx i (4)
[0047] In the formula, x i It is the current value of the i-th particle, v iω is the current velocity of the i-th particle, ω is the inertial term of the particle's update velocity, r() is a random term taking values between 0 and 1, c1 and c2 are learning factor coefficients, and p i Let represent the historical best value of the i-th particle, and g represent the current best particle in the swarm.
[0048] When evaluating particle values, each particle executes a virtual motion trajectory. After completing the operation, the position error, attitude error, execution time, and operability of each step are taken to comprehensively evaluate the virtual position, which serves as the basis for updating particle information. The evaluation method for particle value val is as follows:
[0049] val=∑(ω position ×e position +ω posture ×e posture +ω t ×t+ω m ×m) (5)
[0050] In the formula, e position e represents the positional error of the virtual robot in performing each step of its operation. posture The pose error of the virtual robot in performing each step is represented by t, the execution time of each step is m, and the operability is ω. position It is the weight of the position error, ω posture It is the weight of the attitude error, ω t It is the weight of the operation execution time, ω m This is the weight of operability. The calculation method for operability is as follows:
[0051]
[0052] In the formula, J is the Jacobian at the end of the arm. It is the square of the sum of the lengths of all the links in the arm.
[0053] After particle swarm optimization, the optimal particle result is considered as the desired operating position of the actual robot, such as... Figure 4 As shown.
[0054] The operation station planning is now complete. The robot will move to that location and perform the corresponding operation.
[0055] The embodiments described above are preferred embodiments of the present invention, but the present invention is not limited to the above embodiments. Any obvious improvements, substitutions or modifications that can be made by those skilled in the art without departing from the essence of the present invention shall fall within the protection scope of the present invention.
Claims
1. A method for planning the operating positions of a humanoid robot, characterized in that: Define robot operation action templates in the computer, and design a series of expected operation actions that the robot should perform based on the robot operation action templates; Construct an automatic operation trajectory generator to automatically generate the robot's virtual motion trajectory based on the desired operation actions described above; Robot operation position planning based on particle swarm optimization algorithm: Several virtual robot positions are randomly generated as particles. A virtual motion trajectory is executed on each virtual position to obtain the corresponding pose. The error between the pose and the desired pose is used to calculate the particle value, thereby updating the particle parameters. After multiple iterations, the calculated optimal virtual position is used as the robot's actual operation position. The actual operating position is transmitted to the robot's walking controller and joint actuators, and the robot moves to that position and performs the corresponding operation. The automatic operation trajectory generator is built on quadratic programming. In each control cycle of the robot, the expected pose of the arm end in the current operation is read and the virtual joint position of the next control cycle is calculated by the penalty function of quadratic programming. The output satisfies the joint limit constraint, the joint angular velocity constraint and the joint angular acceleration constraint. The particle value is calculated according to the following formula: in, This represents the positional error of the virtual robot performing each step of its operation. This represents the posture error of the virtual robot performing each step of its operation. It is the execution time of each operation. It's about operability. It is the weight of the position error. It is the weight of the attitude error. It is the weight of the operation execution time. It is the weight of operability.
2. The method for planning the operating position of a humanoid robot according to claim 1, characterized in that, The operation action template is a set of state parameters, which includes the desired position and weight of the end of the arm, the desired posture and weight of the end of the arm, the gripper opening and closing angle, the six-dimensional stiffness of admittance control, and the maximum waiting time.
3. The method for planning the operating position of a humanoid robot according to claim 2, characterized in that, If, when the robot performs a certain action, the error between the position of the arm's end and the expected position of the arm's end is less than 0.01m, and the posture error is less than 0.0174rad, the robot is determined to have completed this action and will begin to execute the next action.
4. The method for planning the operating position of a humanoid robot according to claim 3, characterized in that, If the longest waiting time is reached, and neither the position error nor the posture error meets the requirements simultaneously, it is assumed that the desired position and posture are outside the arm's workspace. Therefore, this step is abandoned, and the next step is started.
Citation Information
Patent Citations
A robot control method based on a particle swarm optimization algorithm
CN109711527A