A robot door-opening method, device, readable storage medium, and robot
By establishing a unified coordinate system for full-body motion planning and control in the humanoid robot, planning the hand and waist trajectories, and performing smooth processing and multi-task operation control, the problem of low motion coordination of the humanoid robot is solved, and precise control of full-body motion is achieved.
Patent Information
- Application Number
- CN202211713588.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-29
- Publication Date
- 2025-07-08
- Estimated Expiration
- 2042-12-29
AI Technical Summary
In the prior art, the hand trajectory planning and waist trajectory planning of humanoid robots are independent, resulting in low motion coordination and making it difficult to achieve precise control of whole-body movement.
By establishing a coordinate system for robot full-body motion planning and control, the door handle and door axis positions are determined, the hand and waist trajectories are planned, and the admission control method is used for smooth processing, combining multi-task operation control and foot generation rules, the mapping of arm joint angles and discrete footsteps is achieved.
It improves the coordination of the robot's movement, realizes precise control of the robot's whole body movement, and improves the coordination and accuracy of door opening operations.
Smart Images

Figure CN116175557B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the technical field of robots, and particularly relates to a robot door opening method, device, computer-readable storage medium, and robot. Background Art
[0002] Anthropomorphic robots are considered to be the ultimate form of service robots that can be integrated into the human environment because of their human-like structures and motion potentials. Door opening, as a high-frequency action used by humans in daily life, is naturally one of the important functions that anthropomorphic robots need to be developed with.
[0003] However, in the prior art, the hand trajectory planning and waist trajectory planning of anthropomorphic robots are usually independent, resulting in low upper and lower body motion coordination when the anthropomorphic robot performs the door opening operation, and thus it is difficult to achieve precise control of the whole body motion of the anthropomorphic robot. Summary of the Invention
[0004] In view of this, embodiments of this application provide a robot door opening method, device, computer-readable storage medium, and robot to solve the problem in the prior art that the motion coordination is low when the robot performs the door opening operation, and thus it is difficult to achieve precise control of the whole body motion of the robot.
[0005] The first aspect of the embodiments of this application provides a robot door opening method, which may include:
[0006] Determine the first position of the door handle, and control the hand of the robot to hold the door handle according to the first position;
[0007] Determine the second position of the door hinge, and adjust the body orientation of the robot according to the second position;
[0008] Determine the first movement radius of the hand around the door hinge and the second movement radius of the waist of the robot around the door hinge;
[0009] Determine the hand planning trajectory and waist planning trajectory of the robot according to the first movement radius, the second movement radius, and a preset door opening angle;
[0010] Perform compliant processing on the hand planning trajectory using a preset admittance control method to obtain a compliant processed hand planning trajectory;
[0011] Perform multi-task operation control according to the compliant processed hand planning trajectory to obtain the arm joint angles of the robot;
[0012] Map the waist planning trajectory to discrete footsteps of the robot according to a preset footsteps generation rule;
[0013] Control the robot to perform a walking and door-opening operation according to the arm joint angle and the discrete walking gait. In a specific implementation manner of the first aspect, the multi-task operation control according to the planned trajectory of the hand to obtain the arm joint angle of the robot may include:
[0014] Determine the hand operation task of the robot according to the planned trajectory of the hand; wherein, the hand operation task includes a hand position arrival task and a hand posture arrival task;
[0015] According to the hand operation task, determine the weights and constraint conditions of the hand position arrival task and the hand posture task; wherein, the weight of the hand position arrival task is greater than the weight of the hand posture arrival task, and the constraint conditions include joint limit avoidance constraints and arm singularity avoidance constraints;
[0016] Perform weighted quadratic programming solution on the hand operation task according to the constraint conditions to obtain the arm joint angle of the robot.
[0017] In a specific implementation manner of the first aspect, the mapping of the waist planned trajectory to the discrete footsteps of the robot according to the preset footsteps generation rule may include:
[0018] Calculate the number of footsteps of the robot according to the preset door-opening operation execution duration and the footsteps generation interval duration;
[0019] Map the waist planned trajectory to the discrete footsteps of the robot according to the footsteps generation rule and the number of footsteps.
[0020] In a specific implementation manner of the first aspect, the determination of the hand planned trajectory and the waist planned trajectory of the robot according to the first movement radius, the second movement radius, and the preset door-opening angle may include:
[0021] With the door axis as the center and the first movement radius as the circle radius, determine the hand planned trajectory corresponding to the door-opening angle;
[0022] With the door axis as the center and the second movement radius as the circle radius, determine the waist planned trajectory corresponding to the door-opening angle.
[0023] A second aspect of the embodiments of the present application provides a robot door-opening device, which may include:
[0024] A first position determination module, configured to determine the first position of the door handle and control the hand of the robot to hold the door handle according to the first position;
[0025] A second position determination module, configured to determine a second position of the door hinge and adjust the body orientation of the robot according to the second position;
[0026] A movement radius determination module, configured to determine a first movement radius of the hand around the door hinge and a second movement radius of the robot's waist around the door hinge;
[0027] A planned trajectory determination module, configured to determine a planned trajectory of the robot's hand and a planned trajectory of the waist according to the first movement radius, the second movement radius, and a preset door opening angle;
[0028] A compliance processing module, configured to perform compliance processing on the planned hand trajectory using a preset admittance control method to obtain a compliant processed planned hand trajectory;
[0029] A multi-task operation control module, configured to perform multi-task operation control according to the compliant processed planned hand trajectory to obtain the arm joint angles of the robot;
[0030] A discrete footstep mapping module, configured to map the planned waist trajectory to discrete footsteps of the robot according to a preset footstep generation rule;
[0031] A door opening operation control module, configured to control the robot to perform a walking door opening operation according to the planned hand trajectory and the planned waist trajectory.
[0032] In a specific implementation manner of the second aspect, the multi-task operation control module may include:
[0033] A hand operation task determination unit, configured to determine a hand operation task of the robot according to the planned hand trajectory; wherein, the hand operation task includes a hand position arrival task and a hand posture arrival task;
[0034] A weight and constraint condition determination unit, configured to determine weights and constraint conditions of the hand position arrival task and the hand posture task according to the hand operation task; wherein, the weight of the hand position arrival task is greater than the weight of the hand posture arrival task, and the constraint conditions include joint limit avoidance constraints and arm singularity avoidance constraints;
[0035] A weight quadratic programming solution unit, configured to perform weight quadratic programming solution on the hand operation task according to the constraint conditions to obtain the arm joint angles of the robot.
[0036] In a specific implementation manner of the second aspect, the discrete footstep mapping module may include:
[0037] A step count calculation unit, configured to calculate the number of steps of the robot according to a preset execution duration of the door opening operation and a step generation interval duration;
[0038] A discrete step mapping unit, configured to map the waist planned trajectory to the discrete steps of the robot according to the step generation rule and the number of steps;
[0039] In a specific implementation manner of the second aspect, the planned trajectory determination module may include:
[0040] A hand planned trajectory determination unit, configured to determine a hand planned trajectory corresponding to the door opening angle with the door axis as the center and the first movement radius as the circle radius;
[0041] A waist planned trajectory determination unit, configured to determine a waist planned trajectory corresponding to the door opening angle with the door axis as the center and the second movement radius as the circle radius.
[0042] In a third aspect of the embodiments of the present application, there is provided a computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, the steps of any one of the above-mentioned robot door opening methods are implemented.
[0043] In a fourth aspect of the embodiments of the present application, there is provided a robot, including a memory, a processor, and a computer program stored in the memory and executable on the processor, and when the processor executes the computer program, the steps of any one of the above-mentioned robot door opening methods are implemented.
[0044] In a fifth aspect of the embodiments of the present application, there is provided a computer program product, and when the computer program product runs on a robot, the robot is enabled to execute the steps of any one of the above-mentioned robot door opening methods.
[0045] The beneficial effects of the embodiments of the present application compared with the prior art are as follows: In the embodiments of the present application, the first position of the door handle is determined, and the robot's hand is controlled to hold the door handle according to the first position; the second position of the door hinge is determined, and the robot's body orientation is adjusted according to the second position; the first movement radius of the hand around the door hinge, the second movement radius of the robot's waist around the door hinge, and the body orientation adjustment angle required for the line connecting the centers of the robot's two feet to pass through the door hinge are determined; the planned trajectory of the robot's hand and the planned trajectory of the waist are determined according to the first movement radius, the second movement radius, and the preset door opening angle; the robot is controlled to perform the door opening operation according to the planned trajectory of the hand and the planned trajectory of the waist. Through the embodiments of the present application, the hand trajectory and the waist trajectory of the robot can be planned simultaneously according to the movement radius, and the robot is controlled to perform the door opening operation according to the obtained planned trajectory of the hand and the planned trajectory of the waist, improving the movement coordination of the robot and achieving precise control of the whole-body movement of the robot. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for use in the embodiments or the description of the prior art. Obviously, the following drawings are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0047] Figure 1 Schematic diagram of the coordinate system for the whole-body movement of a humanoid robot;
[0048] Figure 2 Flowchart of an embodiment of a robot door opening method in the embodiments of the present application;
[0049] Figure 3 For the z-direction top view of the world coordinate system ∑ of the humanoid robot world ;
[0050] Figure 4 Schematic flowchart of the determination process of the hand planned trajectory and the waist planned trajectory;
[0051] Figure 5 Schematic flowchart of multi-task operation control for the hand planned trajectory;
[0052] Figure 6 Schematic flowchart of mapping the waist planned trajectory to the discrete footsteps of a humanoid robot;
[0053] Figure 7 Schematic diagram of the footsteps generation rule of a humanoid robot;
[0054] Figure 8Structural diagram of an embodiment of a robot door opening device in an embodiment of the present application;
[0055] Figure 9 Schematic block diagram of a robot in an embodiment of the present application. Detailed implementation manners
[0056] To make the objectives, features, and advantages of the present application more obvious and understandable, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the embodiments described below are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0057] It should be understood that when used in this specification and the appended claims, the term "comprising" indicates the presence of the described features, wholes, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components, and / or their combinations.
[0058] It should also be understood that the terms used in this specification of the present application are only for the purpose of describing specific embodiments and are not intended to limit the present application. As used in this specification of the present application and the appended claims, unless the context clearly indicates otherwise, the singular forms "a", "an", and "the" are intended to include the plural forms.
[0059] It should be further understood that the term "and / or" used in this specification of the present application and the appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.
[0060] As used in this specification and the appended claims, the term "if" can be interpreted as "when", "once", "in response to determining", or "in response to detecting" according to the context. Similarly, the phrase "if determined" or "if [the described condition or event] is detected" can be interpreted as meaning "once determined", "in response to determining", "once [the described condition or event] is detected", or "in response to detecting [the described condition or event]" according to the context.
[0061] In addition, in the description of the present application, the terms "first", "second", "third", etc. are only used for distinguishing descriptions and cannot be understood as indicating or implying relative importance.
[0062] In the prior art, the hand trajectory planning and waist trajectory planning of humanoid robots are usually independent, resulting in low motion coordination when the humanoid robot performs the door-opening operation, and thus it is difficult to achieve precise control of the humanoid robot.
[0063] In view of this, embodiments of the present application provide a robot door-opening method, device, computer-readable storage medium, and robot to solve the problem in the prior art that the motion coordination of the robot is low when performing the door-opening operation, and thus it is difficult to achieve precise control of the whole-body motion of the robot.
[0064] The robot door-opening method provided by the embodiments of the present application needs to establish a unified coordinate system for the whole-body motion planning and control of the humanoid robot. Since multiple steps in the method of the present application involve the use of the coordinate system of the humanoid robot, the whole-body motion coordinate system of the humanoid robot will be introduced first below.
[0065] Please refer to Figure 1 the schematic diagram of the coordinate system of the whole-body motion of the humanoid robot shown, where ∑ hand represents the hand coordinate system, which is located at the end of the arm; Σ LF and Σ RF respectively represent the left and right foot coordinate systems, which are located at the centers of the projections of the left and right feet on the ground; ∑ torso represents the waist coordinate system. If it is translated to the ground in the projection direction, it can exactly coincide with the midpoint of Σ LF and Σ RF ; ∑ world represents the world coordinate system, which can be placed at the center of the two feet when the humanoid robot stands initially.
[0066] When the humanoid robot walks on a plane, it can be considered that the projection distance h torso of ∑ torso onto the ground remains unchanged, and there is no forward or lateral inclination of the waist, that is, the waist pose can be represented by the world coordinate system as:
[0067] world T torso =(x torso y torso h torso 0 0 γ torso )
[0068] Please refer to Figure 2 , an embodiment of a robot door-opening method in the embodiments of the present application may include:
[0069] Step S101, determine the first position of the door handle, and control the hand of the robot to hold the door handle according to the first position.
[0070] In the embodiments of the present application, the first position of the door handle and the second position of the door hinge can be determined first, and then the trajectories of the hand and the waist can be planned according to the determined second position.
[0071] Specifically, an image acquisition device set in advance can be used to acquire an image of the door handle area, and the position of the door handle can be determined by any one of the image recognition methods in the prior art. The embodiments of the present application do not specifically limit the installation position of the image acquisition device and the image recognition method used, and can be set according to actual needs.
[0072] In a possible embodiment, a camera pre-installed on the humanoid robot or set at a preset position can be used to acquire an image or video of the door handle area, and the first position of the door handle can be determined by performing image recognition on a frame of the acquired image or video sequence.
[0073] It can be understood that, usually, the humanoid robot will perform hand-eye calibration during development or before the first use. Therefore, by recognizing the door handle through an image, the position of the door handle in the hand coordinate system can be obtained, and thus the hand of the humanoid robot can be controlled to hold the door handle.
[0074] In a possible embodiment, a common edge detection algorithm can be used to recognize the door handle, and the first position of the door handle can be determined accordingly.
[0075] In another possible embodiment, an artificial intelligence model pre-trained for door handle detection can be used to perform image recognition on the acquired image, and the first position of the door handle can be determined accordingly.
[0076] It can be understood that after determining the first position of the door handle, the hand of the humanoid robot can be controlled to hold the door handle according to the first position. For example, corresponding motion instructions can be issued according to the first position to control the humanoid robot to hold the door handle according to the instructions.
[0077] Step S102: Determine the second position of the door hinge, and adjust the body orientation of the robot according to the second position.
[0078] In the embodiments of the present application, after determining the first position of the door handle, the body orientation of the humanoid robot can be controlled to be adjusted by determining the second position of the door hinge.
[0079] Specifically, the body orientation angle γ that the humanoid robot needs to adjust can be determined according to the second position o , and then the body orientation can be adjusted according to γ o . Among them, γ o is the rotation angle of the body orientation required for the line connecting the centers of the two feet of the humanoid robot to pass through the second position.
[0080] In a possible embodiment, after the door handle is recognized, an image of the door area may be collected, and the second position of the door hinge may be recognized according to the image recognition method described in step S101.
[0081] In another possible embodiment, in order to facilitate subsequent trajectory planning for the door opening operation, when collecting images or video sequences of the door handle and the door hinge, information such as the door panel length and the distance of the door handle from the door panel may be recognized simultaneously.
[0082] After the second position is determined, the rotation angle γ of the body orientation required for the line connecting the centers of the two feet of the humanoid robot to pass through the second position may be determined according to the second position o , and the body orientation of the humanoid robot may be adjusted accordingly.
[0083] Step S103: Determine the first movement radius of the hand around the door hinge and the second movement radius of the waist of the robot around the door hinge.
[0084] It can be understood that in the embodiments of the present application, the first movement radius of the hand of the humanoid robot and the second movement radius of the waist may be used as the radii of the circles corresponding to their respective planned trajectories (the planned trajectories in the embodiments of the present application are arcs), and then combined with the preset door opening angle, the corresponding planned trajectories (arcs) may be determined. Therefore, the first movement radius of the hand of the humanoid robot and the second movement radius of the waist may be determined first, and then the hand planned trajectory and the waist planned trajectory may be finally determined according to the first movement radius, the second movement radius, and the preset door opening angle.
[0085] Specifically, after the second position is determined, the line connecting the hand of the humanoid robot and the door hinge may be used as the first movement radius, and the line connecting the waist of the humanoid robot and the door hinge may be used as the second movement radius.
[0086] Please refer to Figure 3 the top view schematic diagram of the z direction of the world coordinate system ∑ of the humanoid robot shown world , where the projection position of ∑ world onto the ground coincides with point O; point A is the position where the door hinge is located; point B is the position where the door handle is located; the door panel length AE = l; the distance BE of the door handle from the door panel = d; point O is the projection position where ∑ torso is located after the body orientation of the humanoid robot is adjusted; γ o is the rotation angle of the body orientation required for the line connecting the centers of the two feet of the humanoid robot to pass through point A; points D, C, and F are the positions where points O, B, and E are rotated 90 degrees counterclockwise around point A, that is, the arc BC is the hand planned trajectory, and the arc OD is the waist planned trajectory; r hand is the first movement radius; r torso is the second movement radius.
[0087] It can be understood that the hand coordinate system ∑ hand with respect to the waist coordinate system ∑ torso The pose can be obtained by solving the forward kinematics of the robot's arm. The specific formula is:
[0088] torso T hand = f k (q)
[0089] where q represents the arm joint position vector of the humanoid robot. Then the coordinates (x world , y b ) of point B in ∑ b The calculation formula is:
[0090] world T hand = world T torso torso T hand
[0091] After that, the coordinates of point A can be obtained based on the coordinates of point B. Specifically:
[0092] (x a , y a ) = (x b + d, y b + l)
[0093] Based on this, the calculation formulas for the first motion radius r hand , the second motion radius r torso and the rotation angle γ o are respectively:
[0094]
[0095]
[0096]
[0097] Thus, the specific values of the first motion radius r hand , the second motion radius r torso and the rotation angle γ o can be obtained.
[0098] Step S104: Determine the hand planning trajectory and waist planning trajectory of the robot according to the first motion radius, the second motion radius and the preset door opening angle.
[0099] Please refer to Figure 4 , step S104 may include the following specific process:
[0100] Step S1041: With the hinge axis as the center and the first motion radius as the radius of the circle, determine the hand planning trajectory corresponding to the door opening angle.
[0101] As an embodiment of the present application, the following will be combined with Figure 3 the z - direction top - view schematic diagram of ∑ world to illustrate the trajectory planning process of the hand and waist during the process of the humanoid robot using the right hand to hold the doorknob and pull the door.
[0102] Among them, the above - mentioned door opening angle is a preset angle. By setting the door opening angle, it can be determined whether the door opening operation of the humanoid robot is specifically pushing the door or pulling the door. If the door opening angle is set as the clockwise rotation angle, the door opening operation of pushing the door can be executed; conversely, if the door opening angle is set as the counter - clockwise rotation angle, the door opening operation of pulling the door can be executed. The present application does not make specific limitations on its value, and it can be set according to actual needs. In the embodiment of the present application, the door opening angle can be set as a counter - clockwise rotation of 90 degrees (i.e., pulling the door).
[0103] Please refer to Figure 3 , it is possible to use the position point A where the hinge axis is located as the center and the first motion radius r hand as the radius of the circle to determine the hand planning trajectory corresponding to the door opening angle (i.e., the arc BC).
[0104] Step S1042: With the hinge axis as the center and the second motion radius as the radius of the circle, determine the waist planning trajectory corresponding to the door opening angle.
[0105] In the embodiment of the present application, it is possible to use the hinge axis as the center and the second motion radius as the radius of the circle to determine the waist planning trajectory corresponding to the door opening angle, that is Figure 3 the arc OD determined with the radius of r torso as shown.
[0106] It can be understood that the above is the trajectory planning for the process of the humanoid robot pulling the door. The hand and waist planning trajectories during the process of the humanoid robot pushing the door can also be determined using the methods introduced in Step S1041 and Step S1042. The difference is that the door opening angle during the pushing - door process is set clockwise, while the door opening angle during the pulling - door process is set counter - clockwise.
[0107] Step S105: Use the preset admittance control method to perform compliance processing on the hand planning trajectory to obtain the compliant - processed hand planning trajectory.
[0108] In the embodiments of the present application, before determining the hand operation task of the humanoid robot according to the hand planned trajectory, the preset admittance control method can also be used to perform compliance processing on the hand planned trajectory to obtain the compliant processed hand planned trajectory. It can be understood that during the door opening operation of the humanoid robot, inevitable control errors will occur, resulting in an impact force between the hand of the humanoid robot and the doorknob. Therefore, the admittance control method can be used to perform compliance processing on the hand planned trajectory. The specific control principle is as follows:
[0109]
[0110] Among them, M, B, and K respectively represent the inertia matrix, damping matrix, and stiffness matrix of the impedance model, and respectively represent the first derivative and second derivative of the end-effector pose x; the subscripts com and ref respectively represent the calculated value and reference value of the quantity related to the end-effector pose x; represents the readings of the six force sensors at the end-effector. By iterating the above formula, we can obtain:
[0111]
[0112]
[0113]
[0114] Among them, e = x com -x ref ; and are respectively the first derivative and second derivative of e; Δt represents the calculation time step. Finally, the compliant processed hand planned trajectory can be obtained according to
[0115] Step S106: Perform multi-task operation control according to the compliant processed hand planned trajectory to obtain the arm joint angles of the robot.
[0116] It can be understood that when performing the door opening operation, the degrees of freedom of the humanoid robot's arm are redundant. Therefore, in the embodiments of the present application, after obtaining the hand planned trajectory, multi-task operation control can be performed on the hand planned trajectory to obtain the arm joint angles of the robot.
[0117] Please refer to Figure 5 , and step S106 may include the following specific process:
[0118] Step S1061: Determine the hand operation task of the robot according to the hand planned trajectory.
[0119] Among them, the above-mentioned hand operation tasks may include the hand position reaching task and the hand posture reaching task of the humanoid robot.
[0120] It can be understood that when controlling the humanoid robot to perform the door-opening operation according to the hand planning trajectory, in order to ensure the smooth progress of the door-opening operation, it is necessary to track the hand position and hand posture of the humanoid robot. That is to say, the process of hand tracking is a multi-task process. Therefore, in the embodiments of the present application, the hand operation task can be decomposed into a hand position reaching task and a hand posture reaching task according to the hand planning trajectory.
[0121] Step S1062: Determine the weights and constraint conditions of the hand position reaching task and the hand posture task according to the hand operation task.
[0122] Among them, the weight of the hand position reaching task is greater than the weight of the hand posture reaching task, and the constraint conditions may include joint limit avoidance constraints and arm singularity avoidance constraints.
[0123] In the embodiments of the present application, different weights can be assigned to the hand position reaching task and the hand posture reaching task to adjust the importance between the two tasks and improve the efficiency of tracking the hand operation movement.
[0124] It can be understood that in the embodiments of the present application, when the humanoid robot performs the door-opening operation, the primary task is to ensure the position accuracy of the hand operation movement, while the posture accuracy of the hand operation movement is relatively secondary. Therefore, in the embodiments of the present application, the weight of the hand position reaching task can be set to be greater than the weight of the hand posture reaching task. Among them, the weight values of the hand position reaching task and the hand posture reaching task can be set according to actual needs, and the present application does not make specific limitations on this.
[0125] Step S1063: Perform weighted quadratic programming solution on the hand operation task according to the constraint conditions to obtain the arm joint angles of the robot.
[0126] In the embodiments of the present application, weighted quadratic programming (WQP) solution can be performed on the hand operation task according to the preset constraint conditions.
[0127] Specifically, two tasks obtained by decomposition can be used to construct an objective optimization function, and then the objective function can be optimized and solved under the constraint conditions.
[0128] In the embodiment of the present application, since the hand position reaching task is relatively important, the weight of the hand position reaching task can preferably be set to 1, while the weight W of the relatively less important hand posture reaching task can be set to a value less than 1. The embodiment of the present application does not specifically limit its value. For example, the weight W can be set to 0.1, 0.05,.... Therefore, the two decomposed tasks can be used to construct the following objective optimization function through the corresponding weights:
[0129]
[0130] where ε t is the slack variable corresponding to the hand position reaching task, that is, the error between the calculated value of the hand position and its reference value; ε r is the slack variable corresponding to the hand posture reaching task, that is, the error between the calculated value of the hand posture and its reference value; is the arm joint speed.
[0131] It can be understood that during the movement of the humanoid robot, there are constraints on avoiding limits and singularities for the arm joints. Therefore, in the embodiment of the present application, the following constraint conditions can be set for the objective optimization function:
[0132]
[0133]
[0134]
[0135]
[0136] where J t and J r respectively represent the sub-matrices of the linear velocity and angular velocity corresponding to the arm Jacobian matrix J; and respectively represent the sub-vectors of the linear velocity and angular velocity corresponding to the reference velocity vector in the operation end task space; m and respectively represent the manipulability of the arm and its lower limit; J m represents the manipulability Jacobian matrix; and q respectively represent the upper and lower limits of the arm joint angles.
[0137] In the embodiment of the present application, the objective optimization function can be solved by using any quadratic programming solution method in the prior art to obtain the arm joint angles during the door opening operation.
[0138] Step S107: Map the waist planning trajectory to the discrete footsteps of the robot according to the preset footstep generation rule.
[0139] It can be understood that in the embodiments of the present application, it can be considered that during the door-opening operation of the humanoid robot, the waist does not tilt forward, backward or to the side. That is, it can be considered that the projection of the waist planned trajectory onto the ground coincides with the leg planned trajectory. Therefore, the waist planned trajectory can be mapped to the discrete footsteps of the humanoid robot to achieve the conversion from the waist trajectory to the leg trajectory, and improve the coordination of the hand and foot movements of the humanoid robot.
[0140] Please refer to Figure 6 , step S107 may include the following specific processes:
[0141] Step S1071: Calculate the number of footsteps of the robot according to the preset door-opening operation execution duration and the footstep generation interval duration.
[0142] Among them, the door-opening operation execution duration is a preset value. According to the door-opening operation execution duration and the footstep generation interval duration set in the footstep generation rule, the number of footsteps n that the humanoid robot needs to walk during the door-opening operation can be calculated step , that is, the number of times of issuing footstep instructions.
[0143] Step S1072: Map the waist planned trajectory to the discrete footsteps of the robot according to the footstep generation rule and the number of footsteps.
[0144] Among them, the above footstep generation rule is preset.
[0145] When the humanoid robot in the embodiments of the present application performs a planar walking task, when the footstep generation interval duration is determined, any one or two instructions in the instruction quantity (dx, dy, dγ) can be used to generate footsteps. For the convenience of description, in the embodiments of the present application, the combined instruction of (dx, dγ) will be used as an example to illustrate the footstep generation rule. Please refer to Figure 7 The schematic diagram of the footstep generation rule shown. In the figure, ∑ LF and ∑ RF respectively represent the left foot coordinate system and the right foot coordinate system; the numbers in ∑ LF and ∑ Rf represent the number of times of issuing footstep instructions. For example, 0 means no footstep instruction is issued, 1 means the first footstep instruction is issued, and 2 means the second footstep instruction is issued; then and mean that the humanoid robot stays still in place (no footstep instruction is issued), means the right foot coordinate system after the right foot takes a step according to the first footstep instruction, means the left foot coordinate system after the left foot takes a step according to the second footstep instruction, and so on.
[0146] It should be understood that the instructions (dx, dγ) issued in the embodiments of the present application are components relative to the coordinate system of the corresponding foot of the previous instruction. For example, the first footstep instruction can be issued to the right foot. After that, the second footstep instruction is issued to the left foot. Then, the first footstep instruction can be the component of the coordinate system of the corresponding foot according to the previous instruction (since there is no previous instruction here, the coordinate system of the left foot staying at the origin can be used as the coordinate system of the corresponding foot of the previous instruction). The second footstep instruction can be the component relative to the coordinate system of the corresponding foot of the first footstep instruction (i.e., the right foot) (i.e., ). And so on, the current footstep instruction can be issued according to the previous instruction. )
[0147] Taking the issuance of the first footstep instruction to the right foot as an example, the footstep generation rule is described here. At this time, the issued instruction is (dx1, dγ1), where dx1 corresponds to the component of the origin of the right foot coordinate system after taking the first step in the x direction relative to the left foot coordinate system . dγ1 corresponds to the rotation angle of the right foot coordinate system relative to the left foot coordinate system around the z-axis; according to the above instructions, the right foot of the humanoid robot takes a step from the corresponding footprint 0 and gets the corresponding footprint 1. If the instruction is continued to be issued, the left foot takes a step from the corresponding footprint 0' and gets the corresponding footprint 2'; otherwise, the left foot steps from footprint 0' to footprint 1' aligned with the footprint 1 where the right foot is located.
[0148] According to the number of footstep instructions n step to be issued, the corresponding instruction amount of each footstep instruction can be obtained. The specific formula is as follows:
[0149]
[0150] dx step = -(r torso - r fppt ) sin(dγ step )
[0151] where γ open represents the required door opening angle, r foot is half of the distance between the centers of the two feet when the humanoid robot stands, and the positive or negative value of dx step corresponds to the humanoid robot moving forward or backward respectively.
[0152] According to the above footstep generation rule, based on the odometer principle, the position of the legs of the humanoid robot in the waist coordinate system ∑ under each footstep instruction can be obtained.torso The coordinates below, namely:
[0153] γ torso γ(t) = γ torso (t - 1) + dγ
[0154] x torso x(t) = x torso (t - 1) + dx cos(γ torso (t)) - dy sin(γ torso (t))
[0155] y torso y(t) = y torso (t - 1) + dx sin(γ torso (t)) + dy cos(γ torso (t))
[0156] where t and t - 1 represent the current moment and the previous time step respectively. Then, according to the following formula:
[0157] world T torso = (x torso y torso h torso 0 0 γ torso )
[0158] the position of the waist coordinate system ∑ torso in the world coordinate system ∑ world can be obtained world T torso , and the foot movement of the humanoid robot is controlled accordingly.
[0159] Step S108: Control the robot to perform a walking door-opening operation according to the arm joint angles and discrete gaits.
[0160] It can be understood that after determining the arm joint angles and discrete gaits, the humanoid robot can be controlled to perform a walking door-opening operation according to the determined arm joint angles and discrete gaits.
[0161] Specifically, after obtaining the arm joint angles and discrete gaits, the hand movement of the humanoid robot can be controlled according to the arm joint angles, and the leg movement of the humanoid robot can be controlled according to the discrete gaits, so as to achieve the door-opening operation.
[0162] In summary, the embodiments of the present application determine the first position of the door handle and control the hand of the robot to hold the door handle according to the first position; determine the second position of the door hinge and adjust the body orientation of the robot according to the second position; determine the first movement radius of the hand around the door hinge, the second movement radius of the waist of the robot around the door hinge, and the body orientation adjustment angle required for the line connecting the centers of the two feet of the robot to pass through the door hinge; determine the planned trajectory of the hand and the planned trajectory of the waist of the robot according to the first movement radius, the second movement radius, and the preset door opening angle; control the robot to perform the door opening operation according to the planned trajectory of the hand and the planned trajectory of the waist. Through the embodiments of the present application, the hand trajectory and the waist trajectory of the robot can be planned simultaneously according to the movement radius, and the robot is controlled to perform the door opening operation according to the obtained planned trajectory of the hand and the planned trajectory of the waist, improving the movement coordination of the robot and achieving precise control of the whole-body movement of the robot.
[0163] It should be understood that the magnitudes of the sequence numbers of the steps in the above embodiments do not mean the order of execution. The order of execution of each process should be determined according to its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
[0164] Corresponding to the robot door opening method described in the above embodiments, Figure 8 Fig. shows a structural diagram of an embodiment of a robot door opening device provided by an embodiment of the present application.
[0165] In this embodiment, a robot door opening device may include:
[0166] A first position determination module 801, configured to determine the first position of the door handle and control the hand of the robot to hold the door handle according to the first position;
[0167] A second position determination module 802, configured to determine the second position of the door hinge and adjust the body orientation of the robot according to the second position;
[0168] A movement radius determination module 803, configured to determine the first movement radius of the hand around the door hinge and the second movement radius of the waist of the robot around the door hinge;
[0169] A planned trajectory determination module 804, configured to determine the planned trajectory of the hand and the planned trajectory of the waist of the robot according to the first movement radius, the second movement radius, and the preset door opening angle;
[0170] A compliance processing module 805, configured to perform compliance processing on the planned trajectory of the hand using a preset admittance control method to obtain a compliant processed planned trajectory of the hand;
[0171] The multi - task operation control module 806 is used to perform multi - task operation control according to the planned trajectory of the compliant - handled hand, and obtain the arm joint angles of the robot;
[0172] The discrete footstep mapping module 807 is used to map the planned waist trajectory into discrete footsteps of the robot according to the preset footstep generation rules;
[0173] The door - opening operation control module 808 is used to control the robot to perform a walking door - opening operation according to the planned hand trajectory and the planned waist trajectory.
[0174] In a specific implementation manner of the embodiment of the present application, the multi - task operation control module may include:
[0175] The hand operation task determination unit is used to determine the hand operation task of the robot according to the planned hand trajectory; wherein, the hand operation task includes a hand position arrival task and a hand posture arrival task;
[0176] The weight and constraint condition determination unit is used to determine the weights and constraint conditions of the hand position arrival task and the hand posture task according to the hand operation task; wherein, the weight of the hand position arrival task is greater than the weight of the hand posture arrival task, and the constraint conditions include joint limit avoidance constraints and arm singularity avoidance constraints;
[0177] The weight quadratic programming solution unit is used to perform weight quadratic programming solution on the hand operation task according to the constraint conditions, and obtain the arm joint angles of the robot.
[0178] In a specific implementation manner of the embodiment of the present application, the discrete footstep mapping module may include:
[0179] The footstep number calculation unit is used to calculate the number of footsteps of the robot according to the preset door - opening operation execution duration and the footstep generation interval duration;
[0180] The discrete footstep mapping unit is used to map the planned waist trajectory into discrete footsteps of the robot according to the footstep generation rules and the number of footsteps.
[0181] In a specific implementation manner of the embodiment of the present application, the planned trajectory determination module may include:
[0182] The hand planned trajectory determination unit is used to determine the hand planned trajectory corresponding to the door - opening angle with the door axis as the center and the first movement radius as the circle radius;
[0183] The waist planning trajectory determination unit is configured to determine a waist planning trajectory corresponding to the opening angle with the hinge axis as the center and the second movement radius as the radius of the circle.
[0184] Those skilled in the art can clearly understand that for the convenience and conciseness of description, the specific working processes of the devices, modules, and units described above can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein.
[0185] In the above embodiments, the descriptions of the various embodiments have their own emphases. For the parts not detailed or recorded in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0186] Figure 9 The schematic block diagram of a robot provided by an embodiment of the present application is shown. For the convenience of description, only the parts related to the embodiment of the present application are shown.
[0187] As Figure 9 shown, the robot 9 of this embodiment includes: a processor 90, a memory 91, and a computer program 92 stored in the memory 91 and executable on the processor 90. When the processor 90 executes the computer program 92, the steps in the foregoing method embodiments of various robot door opening methods are implemented, such as Figure 2 the steps S101 to S108 shown. Alternatively, when the processor 90 executes the computer program 92, the functions of the various modules / units in the foregoing device embodiments are implemented, such as Figure 8 the functions of the modules 801 to 808 shown.
[0188] Exemplarily, the computer program 92 can be divided into one or more modules / units. The one or more modules / units are stored in the memory 91 and executed by the processor 90 to complete the present application. The one or more modules / units can be a series of computer program instruction segments capable of performing specific functions, and these instruction segments are used to describe the execution process of the computer program 92 in the robot 9.
[0189] Those skilled in the art can understand that Figure 9 merely examples of the robot 9, which do not constitute a limitation on the robot 9, may include more or fewer components than shown in the figure, or combine some components, or different components. For example, the robot 9 may further include input / output devices, network access devices, buses, etc.
[0190] The processor 90 may be a Central Processing Unit (CPU), or may also be other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.
[0191] The memory 91 may be an internal storage unit of the robot 9, such as the hard disk or memory of the robot 9. The memory 91 may also be an external storage device of the robot 9, such as a plug-in hard disk equipped on the robot 9, a Smart Media Card (SMC), a Secure Digital (SD) card, a Flash Card, etc. Further, the memory 91 may also include both the internal storage unit of the robot 9 and the external storage device. The memory 91 is used to store the computer program and other programs and data required by the robot 9. The memory 91 may also be used to temporarily store data that has been output or is to be output.
[0192] Those skilled in the art can clearly understand that, for the convenience and conciseness of description, only the above division of each functional unit and module is used as an example. In actual applications, the above functions can be allocated to different functional units and modules according to needs, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiments may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit. The above integrated units may be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of each functional unit and module are only for the convenience of mutual distinction and do not limit the protection scope of this application. The specific working processes of the units and modules in the above system can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.
[0193] In the above embodiments, the descriptions of the various embodiments have their own emphases. For the parts not detailed or recorded in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.
[0194] Those of ordinary skill in the art will realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in hardware or software depends on the specific application and design constraints of the technical solution. A professional technician can use different methods for each specific application to implement the described functions, but such implementation should not be considered to exceed the scope of this application.
[0195] In the embodiments provided in this application, it should be understood that the disclosed devices / robots and methods can be implemented in other ways. For example, the device / robot embodiments described above are merely illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections between each other can be through some interfaces. The indirect couplings or communication connections of the devices or units can be in electrical, mechanical or other forms.
[0196] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place, or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0197] In addition, the functional units in each embodiment of this application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.
[0198] If the integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, to implement all or part of the processes in the above-described embodiment methods of this application, it can also be completed by instructing relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, the steps of the above-described various method embodiments can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in the form of source code, object code, executable file, or some intermediate form, etc. The computer-readable storage medium can include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disc, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal, and software distribution medium, etc. It should be noted that the content included in the computer-readable storage medium can be appropriately increased or decreased according to the requirements of legislation and patent practice within the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable storage medium does not include electrical carrier signals and telecommunication signals.
[0199] The above-described embodiments are only used to illustrate the technical solutions of this application, rather than to limit them; although this application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements on some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the various embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A robot door opening method, characterized in that, Including: Determine the first position of the door handle, and control the robot's hand to hold the door handle according to the first position; Determine the second position of the door hinge, and adjust the robot's body orientation according to the second position; Determine the first movement radius of the hand around the door hinge and the second movement radius of the robot's waist around the door hinge; Determine the hand planned trajectory and the waist planned trajectory of the robot according to the first movement radius, the second movement radius, and a preset opening angle; Perform compliant processing on the hand planned trajectory using a preset admittance control method to obtain a compliant processed hand planned trajectory; Perform multi-task operation control according to the compliant processed hand planned trajectory to obtain the robot's arm joint angles; Map the waist planned trajectory to the robot's discrete footsteps according to a preset footsteps generation rule; Control the robot to perform a walking door opening operation according to the arm joint angles and the discrete gait.
2. The robot door opening method according to claim 1, wherein The performing multi-task operation control according to the hand planned trajectory to obtain the robot's arm joint angles includes: Determine the robot's hand operation tasks according to the hand planned trajectory; wherein, the hand operation tasks include a hand position arrival task and a hand posture arrival task; According to the hand operation tasks, determine the weights and constraint conditions of the hand position arrival task and the hand posture task; wherein, the weight of the hand position arrival task is greater than the weight of the hand posture arrival task, and the constraint conditions include joint limit avoidance constraints and arm singularity avoidance constraints; Perform weighted quadratic programming solution on the hand operation tasks according to the constraint conditions to obtain the robot's arm joint angles.
3. The robot door opening method according to claim 1, characterized in that The mapping the waist planned trajectory to the robot's discrete footsteps according to a preset footsteps generation rule includes: Calculate the number of footsteps of the robot according to a preset door opening operation execution duration and a footsteps generation interval duration; Map the waist planned trajectory to the robot's discrete footsteps according to the footsteps generation rule and the number of footsteps.
4. The robot door opening method according to any one of claims 1 to 3, characterized in that, The determining the robot's hand planned trajectory and waist planned trajectory according to the first movement radius, the second movement radius, and a preset opening angle includes: With the door hinge as the center and the first movement radius as the circle radius, determine the hand planned trajectory corresponding to the opening angle; With the door hinge as the center and the second movement radius as the circle radius, determine the waist planned trajectory corresponding to the opening angle.
5. A robot door opening device, characterized in that, Including: A first position determination module, configured to determine the first position of the door handle, and control the robot's hand to hold the door handle according to the first position; A second position determination module, configured to determine the second position of the door hinge, and adjust the robot's body orientation according to the second position; A movement radius determination module, configured to determine the first movement radius of the hand around the door hinge and the second movement radius of the robot's waist around the door hinge; A planned trajectory determination module, configured to determine the robot's hand planned trajectory and waist planned trajectory according to the first movement radius, the second movement radius, and a preset opening angle; A compliance processing module, configured to perform compliance processing on the planned hand trajectory using a preset admittance control method to obtain a compliant processed planned hand trajectory; A multi-task operation control module, configured to perform multi-task operation control according to the compliant processed planned hand trajectory to obtain the arm joint angles of the robot; A discrete footstep mapping module, configured to map the planned waist trajectory to the discrete footsteps of the robot according to a preset footstep generation rule; A door opening operation control module, configured to control the robot to perform a walking door opening operation according to the arm joint angles and the discrete walking postures; 6. The robot door opening device according to claim 5, characterized in that The multi-task operation control module includes: A hand operation task determination unit, configured to determine the hand operation task of the robot according to the planned hand trajectory; wherein, the hand operation task includes a hand position arrival task and a hand posture arrival task; A weight and constraint condition determination unit, configured to determine the weights and constraint conditions of the hand position arrival task and the hand posture task according to the hand operation task; wherein, the weight of the hand position arrival task is greater than the weight of the hand posture arrival task, and the constraint conditions include joint limit avoidance constraints and arm singularity avoidance constraints; A weighted quadratic programming solution unit, configured to perform weighted quadratic programming solution on the hand operation task according to the constraint conditions to obtain the arm joint angles of the robot.
7. The robot door opening device according to claim 5, characterized in that, The discrete footstep mapping module includes: A footstep number calculation unit, configured to calculate the number of footsteps of the robot according to a preset door opening operation execution duration and a footstep generation interval duration; A discrete footstep mapping unit, configured to map the planned waist trajectory to the discrete footsteps of the robot according to the footstep generation rule and the number of footsteps.
8. The robot door opening device according to claim 5, characterized in that, The planned trajectory determination module includes: A hand planned trajectory determination unit, configured to determine a hand planned trajectory corresponding to the door opening angle with the door axis as the center and the first movement radius as the circle radius; A waist planned trajectory determination unit, configured to determine a waist planned trajectory corresponding to the door opening angle with the door axis as the center and the second movement radius as the circle radius.
9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, the steps of the robot door opening method according to any one of claims 1 to 4 are implemented.
10. A robot, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, the steps of the robot door opening method according to any one of claims 1 to 4 are implemented.
Citation Information
Patent Citations
Robot door opening control method and device and electronic equipment
CN113386138A
Robot door opening method and device, storage medium and electronic equipment
CN113492405A