CN113524205A - Throwing track planning method, device and medium for redundant arms of humanoid robot - Google Patents
Throwing track planning method, device and medium for redundant arms of humanoid robot Download PDFInfo
- 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
- throwing
- joint angle
- arm
- track
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000001133 acceleration Effects 0.000 claims abstract description 255
- 230000008859 change Effects 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000004364 calculation method Methods 0.000 claims description 156
- 210000000707 wrist Anatomy 0.000 claims description 54
- 239000011159 matrix material Substances 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 31
- 238000005266 casting Methods 0.000 claims description 18
- 210000000245 forearm Anatomy 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 12
- 239000013598 vector Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 3
- 230000005484 gravity Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000017105 transposition Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 210000001513 elbow Anatomy 0.000 description 1
- 101150012763 endA gene Proteins 0.000 description 1
- 210000004247 hand Anatomy 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 210000003857 wrist joint Anatomy 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, 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
The application relates to the technical field of throwing track planning, and discloses a throwing track planning method, a throwing track planning device and a throwing track planning medium for redundant arms of a humanoid robot, wherein the method comprises the following steps: acquiring a preset acceleration change curve, and generating an acceleration stage track according to the preset acceleration change curve, the world starting point position, the world target point position and the world starting point position; obtaining a throwing track according to the track of the acceleration stage; adopting a preset time interval to carry out discrete processing on the throwing track to obtain a plurality of discrete positions; respectively solving the joint angle of each discrete position to obtain a plurality of solving results; and when the solving result is no solution, adjusting the position of the world hand-out point, repeatedly executing the step of obtaining the preset acceleration track curve until all the solving results are solutions, and determining a target joint angle set according to all the joint angles corresponding to all the solving results which are solutions. The throwing track planning of the humanoid robot is realized, the track solving precision is improved, and the track solving speed is improved.
Description
Technical Field
The application relates to the technical field of throwing track planning, in particular to a throwing track planning method, a throwing track planning device and a throwing track planning medium for redundant arms of a humanoid robot.
Background
Throwing is a basic and important operation form of human, and a robot can expand the operation range of the robot through throwing so as to realize quick sorting or conveying of operation targets. At present, the majority of the research on robot throwing relies on non-redundant industrial robots or redundant cooperative robots, both of which have larger working spaces, and can meet the requirements of outputting a specific throwing speed at a specific throwing point by utilizing various trajectory planning methods, such as joint space planning, spline curve, sampling search, teaching simulation, machine learning and the like. However, the redundant arm of the humanoid robot is limited by the trunk blocking and the joint range, the method which can generate a complex throwing path such as spline curve or sampling search is not universal, the problems of track precision and learning difficulty also exist in teaching simulation and machine learning, joint space planning is simple and universal, but the throwing planning process of the redundant arm of the humanoid robot with a floating base is not intuitive, and the applicability is not strong.
Disclosure of Invention
The application mainly aims to provide a throwing track planning method, a throwing track planning device and a throwing track planning medium for redundant arms of a humanoid robot, and aims to solve the technical problems that the throwing track planning method in the prior art depends on mechanical arms with large working spaces such as industrial robots or cooperative robots, and the practicability, the track solving rate and the track solving precision of the planning method exist in the application of the redundant arms of the humanoid robot.
In order to achieve the above object, the present application provides a method for planning a throwing track of a redundant arm of a humanoid robot, the method is applied to the redundant arm of the humanoid robot, and the method includes:
acquiring a world starting point position, a world target point position and a world starting point position in a world coordinate system;
acquiring a preset acceleration change curve, and generating an acceleration stage track according to the preset acceleration change curve, the world starting point position, the world target point position and the world hand-out point position;
acquiring a following stage track, acquiring a deceleration stage track and splicing the tracks according to the acceleration stage track to obtain a throwing track;
adopting a preset time interval to carry out discrete processing on the throwing track to obtain a plurality of discrete positions;
respectively solving the joint angle of each discrete position to obtain a plurality of solving results;
and when the solving result is no solution, adjusting the position of the world hand-out point, repeatedly executing the step of obtaining the preset acceleration track curve until all the solving results are solutions, and determining a target joint angle set according to all joint angles corresponding to all the solving results with solutions.
The application still provides a trajectory planning device that jettisonings of humanoid robot's redundant arm, the device is applicable to humanoid robot's redundant arm, the device includes:
the data acquisition module is used for acquiring a world starting point position, a world target point position and a world starting point position in a world coordinate system;
the acceleration stage track determining module is used for acquiring a preset acceleration change curve and generating an acceleration stage track 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 track determining module is used for respectively acquiring a following stage track, a deceleration stage track and track splicing according to the acceleration stage track to obtain a throwing track;
the discrete position determining module is used for performing discrete processing on the throwing track by adopting a preset time interval to obtain a plurality of discrete positions;
the solving result determining module is used for respectively solving the joint angle of each discrete position to obtain a plurality of solving results;
and the target joint angle set determining module is used for adjusting the position of the world hand-out point when the solving result is no solution, repeatedly executing the step of acquiring the preset acceleration track curve until all the solving results are solutions, and determining a target joint angle set according to each joint angle corresponding to each solving result with a solution.
The present application further proposes a computer device comprising a memory and a processor, the memory storing a computer program, the processor implementing the steps of any of the above methods when executing the computer program.
The present application also proposes a computer-readable storage medium having stored thereon a computer program which, when being executed by a processor, carries out the steps of the method of any of the above.
The method comprises the steps of firstly generating an acceleration stage track according to a preset acceleration change curve, a world starting point position, a world target point position and a world hand-out point position, respectively obtaining a following stage track, obtaining a deceleration stage track and splicing tracks according to the acceleration stage track to obtain a throwing track, secondly performing discrete processing on the throwing track by adopting a preset time interval to obtain a plurality of discrete positions, then respectively solving a joint angle of each discrete position to obtain a plurality of solving results, finally adjusting the world hand-out point position when the solving result is a solution-free state, repeatedly executing the step of generating the acceleration stage track until each solving result is a solution, and determining a target joint angle set according to each joint angle corresponding to each solving result, the three-section throwing track is obtained by splicing the acceleration stage track, the following stage track and the deceleration stage track, and is suitable for the redundant arm of the humanoid robot, so that the throwing track planning of the redundant arm of the humanoid robot is realized, and the throwing track planning has strong universality in the aspect of different throwing targets; and the solution of the joint angle is carried out on each discrete position after the throwing track is dispersed, so that the step-by-step analytic inverse solution calculation of the throwing plan of the redundant arm of the humanoid robot is realized, the track solution precision is improved, and the track solution speed is improved.
Drawings
Fig. 1 is a schematic flowchart of a method for planning a throwing track of a redundant arm of a humanoid robot according to an embodiment of the present application;
FIG. 2 is a diagram illustrating a seven degree of freedom of a redundant arm of a humanoid robot in accordance with an embodiment of the present application;
FIG. 3 is a schematic diagram of a parabolic trajectory of a redundant arm of a humanoid robot in accordance with an embodiment of the present application;
FIG. 4 is a schematic diagram illustrating adjustment of a fifth joint of a redundant arm of a humanoid robot according to an embodiment of the present application;
fig. 5 is a schematic block diagram illustrating a configuration of a casting trajectory planning apparatus for redundant arms of a humanoid robot according to an embodiment of the present disclosure;
fig. 6 is a block diagram illustrating a structure of a computer device according to an embodiment of the present application.
The implementation, functional features and advantages of the objectives of the present application will be further explained with reference to the accompanying drawings.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
Referring to fig. 1, in an embodiment of the present application, a method for planning a throwing track of a redundant arm of a humanoid robot is provided, where the method is applied to the redundant arm of the humanoid robot, and the method includes:
s1: acquiring a world starting point position, a world target point position and a world starting point position in a world coordinate system;
s2: acquiring a preset acceleration change curve, and generating an acceleration stage track according to the preset acceleration change curve, the world starting point position, the world target point position and the world hand-out point position;
s3: acquiring a following stage track, acquiring a deceleration stage track and splicing the tracks according to the acceleration stage track to obtain a throwing track;
s4: adopting a preset time interval to carry out discrete processing on the throwing track to obtain a plurality of discrete positions;
s5: respectively solving the joint angle of each discrete position to obtain a plurality of solving results;
s6: and when the solving result is no solution, adjusting the position of the world hand-out point, repeatedly executing the step of obtaining the preset acceleration track curve until all the solving results are solutions, and determining a target joint angle set according to all joint angles corresponding to all the solving results with solutions.
The method comprises the steps of firstly generating an acceleration stage track according to a preset acceleration change curve, a world starting point position, a world target point position and a world handle point position, respectively obtaining a following stage track according to the acceleration stage track, obtaining a deceleration stage track and splicing the tracks to obtain a throwing track, secondly performing discrete processing on the throwing track by adopting a preset time interval to obtain a plurality of discrete positions, then respectively solving a joint angle of each discrete position to obtain a plurality of solution results, finally adjusting the world handle point position when the solution results are non-solution, repeatedly executing the step of generating the acceleration stage track until all the solution results are solution, determining a target joint angle set according to all the joint angles corresponding to all the solution results, and determining the target joint angle set through the acceleration stage track, the following stage track, The trajectory splicing in the deceleration stage is carried out to obtain a three-section throwing trajectory, and the three-section throwing trajectory is suitable for the redundant arm of the humanoid robot, so that the throwing trajectory planning of the redundant arm of the humanoid robot is realized, and the three-section throwing trajectory has strong universality in the face of different throwing targets; and the solution of the joint angle is carried out on each discrete position after the throwing track is dispersed, so that the step-by-step analytic inverse solution calculation of the throwing plan of the redundant arm of the humanoid robot is realized, the track solution precision is improved, and the track solution speed is improved.
It will be appreciated that the redundant arm of the humanoid robot of the present application is a seven degree of freedom arm.
Referring to fig. 2, the seven-degree-of-freedom of the redundant arm of the humanoid robot includes 7 joints,is the joint angle of the first joint,is the joint angle of the second joint,is the joint angle of the third joint,is the joint angle of the fourth joint,is the joint angle of the fifth joint,is the joint angle of the sixth joint,is a joint angle of a seventh joint, wherein the first joint, the second joint, and the third joint are joints located at the shoulder, the fourth joint is a joint located at the elbow, and the fifth joint, the sixth joint, and the seventh joint are joints located at 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, the fifth joint, the sixth joint and the seventh joint only affect the posture of the arm end of the redundant arm of the humanoid robot, and the position of the arm end and the opening and closing orientation of the palm are more important in the throwing process. The arm end refers to the end of the small arm near the hand.
From the redundant arm to the hand in turn comprising: upper arm, elbow, forearm, wrist, hand.
It will be appreciated that, in the present application,the superscript T in (a) denotes the transpose of vector G1, G1 may be any vector in this application.
In S1, the world start point position, the world target point position, and the world hand point position in the world coordinate system may be acquired from the storage space of the humanoid robot, the world start point position, the world target point position, and the world hand point position in the world coordinate system may be acquired from an industrial personal computer, or the world start point position, the world target point position, and the world hand point position in the world coordinate system may be acquired from a third-party application system.
The world starting point position is a starting point position when the redundant arm of the humanoid robot in the world coordinate system is thrown.
The world target point position is the target position of the throwing object when the redundant arms of the humanoid robot throw under the world coordinate system.
The throwing object is an object which needs to be thrown to a target point position in the world. And throwing the throwing object in the hand of the redundant arm of the humanoid robot.
The world hand position is the position where the hand of the redundant arm is separated from the throwing object when the redundant arm of the humanoid robot throws under the world coordinate system.
It can be understood that the world starting point position and the world hand-out point position are positions where the arm ends of the redundant arms of the humanoid robot pass through in the toss.
For S2, a preset acceleration change curve can be obtained from a storage space of the humanoid robot, a preset acceleration change curve can also be obtained from an industrial personal computer, and a preset acceleration change curve can also be obtained from a third-party application system.
The preset acceleration profile is a profile of acceleration during the acceleration phase.
Optionally, the preset acceleration change curve is set to be a trapezoidal curve. Therefore, the acceleration is accelerated by adopting the acceleration increased linearly, then accelerated by adopting the fixed acceleration, and finally accelerated by adopting the acceleration reduced linearly, and the control on the redundant arm is simplified.
It is understood that the preset acceleration variation curve can also be set to other linear curves, such as a normal distribution curve, and is not limited in this regard.
Firstly, a throwing plane and a throwing coordinate system are established according to the world starting point position and the world target point position, and then an acceleration stage track is generated according to the preset acceleration change curve, the world starting point position, the world target point position and the world hand-out point position on the basis of the throwing plane and the throwing coordinate system.
And S3, acquiring a following stage track according to the accelerating stage track, acquiring a decelerating stage track according to the following stage track, splicing the accelerating stage track, the following stage track and the decelerating stage track in sequence, and taking the spliced track as a throwing track. Therefore, a three-section throwing track is obtained, and the three-section throwing track is suitable for the redundant arm of the humanoid robot, so that the throwing track planning of the redundant arm of the humanoid robot is realized, and the three-section throwing track has strong universality in the aspect of different throwing targets.
The trajectory of the acceleration stage is the trajectory of the redundant arm for making preparations for throwing to perform accelerated motion.
And the following stage track is a track for the redundant arm to do parabolic following motion along with the throwing object after throwing the throwing object.
And the deceleration stage track is the track of the redundant arm which performs deceleration motion after following the stage track.
It will be appreciated that the trajectory of the cast is a set of positional data that the end of the arm of the redundant arm of the humanoid robot passes through when cast.
It can be understood that the redundant arm throws out the throwing object at the end of the acceleration stage trajectory, then makes a parabolic following movement along with the throwing object, and finally makes a deceleration movement according to the deceleration stage trajectory until stopping.
For S4, the preset time interval may be obtained from a storage space of the humanoid robot, the preset time interval may also be obtained from an industrial personal computer, and the preset time interval may also be obtained from a third-party application system. The predetermined time interval is a specific value. For example, the preset time interval is set to 0.01 second, and this example is not limited in particular.
And carrying out discrete processing on the throwing track to obtain a plurality of discrete points, wherein the time difference between two adjacent discrete points is the same as the preset time interval, and the position of each discrete point is taken as a plurality of discrete positions. Therefore, a foundation is provided for step-by-step analytic inverse solution calculation of the throwing plan of the redundant arms of the humanoid robot.
It will be appreciated that the discrete positions are position data of the arm ends of the redundant arms.
For S5, because the more important in the throwing process is the position of the arm end and the orientation of the palm opening and closing, when the inverse solution calculation is used to solve the joint angle of each discrete position, the priority of the joint angle of the first five joints (first joint, second joint, third joint, fourth joint, and fifth joint) is higher than that of the joint angle of the second two joints (sixth joint and seventh joint), and limited by the structural space of the redundant arm, the motors of the sixth joint and the seventh joint at the wrist are smaller in both moment 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 can increase the complexity of the inverse solution calculation and cause the non-intuitive throwing planning process, so the joint angles of the second two joints (sixth joint and seventh joint) are fixed in the throwing process.
Therefore, for each discrete position, based on the rule that the fifth joint of the redundant arm does not affect the position of the tossed object and the sixth joint and the seventh joint of the redundant arm are fixed in the tossing process, the joint angle of the first four joints (the first joint, the second joint, the third joint and the fourth joint) is solved under the condition that the joint angle of the fifth joint is kept unchanged, then the posture of the tail end of the arm is calculated according to the solved joint angle, and finally the joint angle of each joint of the redundant arm is calculated 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 in the tossing process, so that one round of inverse solution calculation is completed.
For S6, when the solution result is no solution, it means that the current world hand-out point position is not a suitable position where the redundant arm is separated from the tossed object, and therefore the world hand-out point position needs to be adjusted, the adjusted world hand-out point position is used for the next iterative computation, the steps S2 to S6 are repeatedly executed until each solution result is a solution, and then all joint angles corresponding to each discrete position of the last iterative computation are used as a target joint angle set. 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 a target joint angle set according to each joint angle corresponding to a solution of each solution result includes: and taking seven joint angles (joint angles corresponding to the first joint, the second joint, the third joint, the fourth joint, the fifth joint, the sixth joint and the seventh joint) corresponding to each discrete position calculated in the last iteration as a joint angle vector, and taking all the joint angle vectors as a target joint angle set.
Optionally, the step of adjusting the world hand-out point position includes: determining a solution-free track stage according to the discrete position with the solution-free result to obtain a solution-free track stage set; and acquiring a preset hand-out point adjusting rule, and adjusting the position of the world hand-out point according to the non-solution track stage set and the preset hand-out point adjusting rule.
The solution-free trajectory phase set comprises: one or more of an acceleration phase trajectory, a following phase trajectory, a deceleration phase trajectory.
Optionally, the preset play point adjustment rule is randomly selected within a preset position range. It is to be understood that the preset exit point adjustment rule may also be set as another rule, for example, when the no-solution trajectory phase set includes a deceleration phase trajectory, which means that the cast is too early, the world exit point position is adjusted to a direction close to the deceleration phase trajectory, which is not limited in this example.
And the target joint angle set is used for controlling joint angles of joints of redundant arms of the humanoid robot so as to throw the throwing object to the world target point position.
In an embodiment, the step of generating the acceleration stage trajectory according to the preset acceleration variation curve, the world starting point position, the world target point position, and the world hand-out point position includes:
s21: determining a throwing plane and a throwing coordinate system according to the world starting point position and the world target point position;
s22: converting a throwing coordinate system for the world starting point position, the world target point position and the world hand-out point position to obtain a throwing starting point position, a throwing target point position and a throwing hand-out point position;
s23: and acquiring a preset acceleration track curve, and generating the acceleration stage track according to the preset acceleration change curve, the preset acceleration track curve, the throwing starting point position, the throwing target point position and the throwing hand point position in the throwing plane.
According to the embodiment, the throwing plane and the throwing coordinate system are established firstly, and then the acceleration stage track is generated according to the preset acceleration change curve and the preset acceleration track curve based on the throwing plane and the throwing coordinate system, so that a basis is provided for planning the three-section type throwing track.
For S21, taking the plane where the gravity direction, the world starting point position and the world target point position are located as a throwing plane; and then determining a throwing coordinate system according to the throwing plane, wherein the position of the world starting point on the throwing plane is taken 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 vertical to the throwing plane, and the Z axis of the throwing coordinate system is opposite to the gravity direction.
Wherein the X-axis of the casting coordinate system is expressed asThe Y axis of the casting coordinate system is expressed asThe Z axis of the casting coordinate system is expressed asThe mutual calculation relationship is as follows:
is the location of the world target point,is the location of the origin of the world,is to calculate a vectorThe length of the die (c) is,is composed of,T in (2) is transpose.
Wherein,is a homogeneous transformation matrix of the casting coordinate system relative to the world coordinate system.
That is, the homogeneous transformation matrix includes a rotation matrix and position coordinates.
For S22, converting the world starting point position by a throwing coordinate system to obtain a throwing starting point position; converting a throwing coordinate system of the world target point position to obtain a throwing target point position; and converting a throwing coordinate system for the position of the world hand-out point to obtain the position of the throwing hand-out point. Since the position of the world starting point position on the casting plane is set as the origin of the casting coordinate system, the casting starting point position is (0, 0, 0).
For step S23, a preset acceleration trajectory curve may be obtained from a storage space of the humanoid robot, a preset acceleration trajectory curve may also be obtained from an industrial personal computer, or a preset acceleration trajectory curve may also be obtained from a third-party application system.
Optionally, the preset acceleration trajectory curve is set to be a straight line, so that control over redundant arms is simplified. It is understood that the preset acceleration trajectory curve may also be set to be other linear curves, for example, a curve, which is not limited herein.
In the throwing plane, throwing angle calculation, throwing speed calculation and acceleration stage track generation are respectively carried out according to the preset acceleration change curve, the preset acceleration track curve, the throwing starting point position, the throwing target point position and the throwing hand point position.
In one embodiment, the step of generating the acceleration stage trajectory according to the preset acceleration variation curve, the preset acceleration trajectory curve, the throwing starting point position, the throwing target point position and the throwing hand point position in the throwing plane includes:
s231: in the throwing plane, respectively carrying out throwing angle calculation and throwing speed calculation according to the preset acceleration track curve, the throwing target point position and the throwing hand point position to obtain a target throwing angle and a target throwing speed;
s232: acquiring a starting point speed, a maximum acceleration, a total acceleration duration and a maximum acceleration time proportion;
s233: in the throwing plane, generating the acceleration stage track 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 duration and the maximum acceleration time-consuming proportion, wherein the throwing hand point position is used as the terminal point of the track path of the acceleration stage track, the target throwing speed is used as the track speed of the terminal point of the track path of the acceleration stage track, and the target throwing angle is used as the angle of the tangent line of the terminal point of the track path of the acceleration stage track.
In this embodiment, firstly, in the throwing plane, a throwing angle calculation and a throwing speed calculation are respectively performed according to the preset acceleration trajectory curve, the throwing target point position and the throwing hand point position, and then, in the throwing plane, the acceleration stage trajectory is generated 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 duration and the maximum acceleration time-consuming ratio, so that a basis is provided for planning of a three-stage throwing trajectory.
For S231, in the throwing plane, because the preset acceleration track curve is a straight line, calculating a throwing angle according to the position of the throwing hand point, and taking the calculated throwing angle as a target throwing angle; and then, in the throwing plane, calculating the throwing speed according to the target throwing angle, the throwing target point position, the throwing hand point position and the gravitational acceleration, and taking the calculated throwing speed as the target throwing speed.
Wherein the preset acceleration trajectory curve is a straight line, and the target throwing angle isCalculation formula of (2) and target throwing speedThe calculation formula of (2) is as follows:
is a four-quadrant arctan function of,is the position of the throwing-out hand point,is composed of,Is composed of,Is the position of the target throwing point,is a transposition calculation, cos is a cosine function, sin is a sine function, and g is a gravitational acceleration.
That is to say, in the throwing plane, because the preset acceleration trajectory curve is a straight line, firstly, a numerical value in the Z-axis direction and a numerical value in the X-axis direction are extracted from the throwing-out hand position, then the extracted numerical values in the Z-axis direction and the extracted numerical values in the X-axis direction are input into a four-quadrant arc tangent function for arc tangent calculation, and the calculated data is used as a target throwing-out angle; subtracting the position of the throwing hand from the position of the throwing target point to obtain the linear distance between the throwing target point and the hand-out point; and in the throwing plane, calculating the throwing speed according to the gravitational acceleration, the target throwing angle and the linear distance between the throwing target point and the hand-out point, and taking the calculated throwing speed as the target throwing speed.
For step S232, the starting point speed, the maximum acceleration, the total acceleration duration, and the maximum acceleration time proportion may be obtained from the storage space of the humanoid robot, the starting point speed, the maximum acceleration, the total acceleration duration, and the maximum acceleration time proportion may also be obtained from a third-party application system, and the starting point speed, the maximum acceleration, the total acceleration duration, and the maximum acceleration time proportion may also be written in a program for implementing the present application.
The starting point velocity is a specific value, which is the velocity of the arm end of the redundant arm at the casting starting point position.
Optionally, the start speed is set to 0. It is understood that the starting point speed may be other values, and is not limited in particular.
The maximum acceleration is the maximum acceleration of the arm end of the redundant arm during the acceleration phase (i.e., the phase corresponding to the trajectory of the acceleration phase).
The time-use ratio of the maximum acceleration is the ratio of the time length of the arm tail end of the redundant arm from the throwing starting point position to the maximum acceleration in the acceleration stage to the total acceleration time length.
The total acceleration duration is the total duration of the acceleration movement of the arm tail end of the redundant arm in the acceleration stage.
For S233, since the preset acceleration trajectory curve is a straight line, and the arm end of the redundant arm throws the throwing object at the end of the acceleration stage trajectory, the acceleration stage trajectory is a straight line trajectory, the throwing hand point position is the end point of the trajectory path of the acceleration stage trajectory, the target throwing speed is the trajectory speed of the end point of the trajectory path of the acceleration stage trajectory, and the target throwing angle is the angle of the tangent line of the end point of the trajectory path of the acceleration stage trajectory.
is the speed of the ejection of the object,is the time-consuming proportion of the maximum acceleration,is the total duration of the acceleration,it is the maximum acceleration that is to be expected,is the speed of the starting point and is,is the casting start point position.
It will be appreciated that the above-described,is a calculation ofIs/are as follows,In (1)Is the target throw speed.
That is to say, the module length of the linear distance between the throwing target point and the hand-out point is multiplied by 2 and divided by the target throwing speed in sequence, and the calculated data is used as the total acceleration duration; multiplying the maximum acceleration time-consuming proportion by the total acceleration time length to obtain the time length of a continuous acceleration increasing stage; dividing the maximum acceleration by the duration of the continuous acceleration increasing stage to obtain the average acceleration of the continuous acceleration increasing stage; and subtracting the duration of the acceleration stage from the total acceleration duration to obtain the ending duration of the acceleration keeping stage.
Because the preset acceleration change curve is set to be a trapezoidal curve, aiming at the track of the acceleration stage with the duration less than the continuous acceleration increasing stage, the track speed is calculated according to the starting point speed, the average acceleration of the continuous acceleration increasing stage and the running time, and the track position is calculated according to the throwing starting point position, the starting point speed, the average acceleration of the continuous acceleration increasing stage and the running time; aiming at an acceleration stage track which is greater than or equal to the duration of the continuous acceleration increasing stage and less than or equal to the ending duration of the acceleration keeping stage, calculating a track speed according to the duration of the continuous acceleration increasing stage, the starting point speed, the average acceleration of the continuous acceleration increasing stage and the running time, and calculating a track position according to the duration of the continuous acceleration increasing stage, the throwing starting point position, the starting point speed, the average acceleration of the continuous acceleration increasing stage and the running time; and aiming at the track of the acceleration stage which is longer than the ending time length of the acceleration keeping unchanged stage and is shorter than the total acceleration period, calculating the track speed according to the total acceleration period, the time length of the continuous acceleration increasing stage, the starting point speed, the average acceleration of the continuous acceleration increasing stage and the running time, and calculating the track position according to the total acceleration period, the time length of the continuous acceleration increasing stage, the throwing starting point position, the starting point speed, the average acceleration of the continuous acceleration increasing stage and the running time.
Wherein an acceleration phase trajectory that is less than the duration of the continuously increasing acceleration phase is a trajectory in which acceleration is continuously increasing; the track which is greater than or equal to the duration of the acceleration continuously increasing phase and is less than or equal to the ending duration of the acceleration keeping constant phase is the track of the acceleration phase of the track with constant acceleration; the acceleration phase trajectory, which is greater than the end duration of the acceleration keeping unchanged phase and less than the total acceleration duration, is a trajectory in which the acceleration decreases. That is, the acceleration phase trajectory is divided into: acceleration increasing, acceleration keeping and acceleration decreasing are unchanged.
Referring to fig. 3, a schematic diagram of a parabolic trajectory is disclosed, in whichIs the origin of a parabolic coordinate system, namely the casting starting point position,is the starting point of the casting hand position and the following phase trajectory,is the end point of the following phase trajectory and the start point of the deceleration phase trajectory,is the end point of the deceleration phase trajectory,is the position of the target throwing point.
In an embodiment, the step of solving the joint angle for each discrete position to obtain a plurality of solution results includes:
s51: establishing a local coordinate system aiming at the arm base and each joint of the redundant arm by adopting a DH parameter rule to obtain an arm base coordinate system and a joint coordinate system set;
s52: acquiring the length of an upper arm, the length of a small arm, the length of a palm to a wrist of the redundant arm;
s53: acquiring the discrete position from each discrete position as a target discrete position;
s54: determining the initial position of the central point of the tossed object under the arm base coordinate system according to the target discrete position and the length from the palm to the wrist;
s55: acquiring a fifth joint angle initial value, a sixth joint angle initial value and a seventh joint angle initial value of the redundant arm, and performing joint angle calculation on each joint of the redundant 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, the central point initial position, the fifth joint angle initial value, the sixth joint angle initial value and the seventh joint angle initial value to obtain a joint angle calculation result set;
s56: when the joint angle calculation result does not exist in the joint angle calculation result set and is a solution-free result, repeatedly executing the step of acquiring the discrete position from each discrete position as a target discrete position until the joint angle calculation result exists in the joint angle calculation result set and is a solution-free result or the acquisition of the discrete position is completed;
s57: when the joint angle calculation result is a solution-free result in the joint angle calculation result set, determining that the solution result corresponding to the joint angle calculation result set with the joint angle calculation result being a solution-free result;
s58: and when the joint angle calculation result does not exist in the joint angle calculation result set and is a solution, determining that the solution result corresponding to the joint angle calculation result set without the joint angle calculation result is a solution.
In this embodiment, a local coordinate system is established for the arm base and each joint of the redundant arm, joint angle calculation is performed based on the rule that the fifth joint of the redundant arm does not affect the position of the tossed object and the sixth joint and the seventh joint of the redundant arm are fixed during the tossing process, then posture calculation of the arm end under the arm base coordinate system is performed according to the calculated joint angle, and finally joint angle calculation is performed for each joint of the redundant arm based on the rule that the Z-axis direction of the seventh coordinate system of the joint coordinate system set is taken as the palm opening and closing direction and the sixth joint and the seventh joint of the redundant arm are fixed during the tossing process, so that the solution of the joint angle is performed for each discrete position by using inverse solution calculation, and step-by-step analytical inverse solution calculation of the tossing plan of the redundant arm of the humanoid robot is realized, the track solving precision is improved, and the track solving speed is improved.
For S51, the DH parameters are parameters of the robot arm. The DH parameters generally use four parameters: x-axis rotation, X-axis translation, Z-axis rotation and Z-axis translation; x-axis rotation, generally denoted by α; x-axis translation, generally denoted by a; z-axis rotation, generally denoted by θ; z-axis translation, generally denoted by d. The standard DH parameters and the modified DH parameters were classified according to the order of axes.
The specific steps of establishing the local coordinate system for the arm base and each joint of the redundant arm by using the DH parameter rule are not repeated here.
Since the redundant arm of the humanoid robot of the present application is an arm with seven degrees of freedom, there are 7 joint coordinate systems in the set of joint coordinate systems.
For S52, the length of the upper arm, the length of the lower arm, and the length from the palm to the wrist of the redundant arm can be obtained from the storage space of the humanoid robot, the length of the upper arm, the length of the lower arm, and the length from the palm to the wrist of the redundant arm can also be obtained from an industrial personal computer, the length of the upper arm, the length of the lower arm, and the length from the palm to the wrist of the redundant arm can also be obtained from a third-party application system, and the length of the upper arm, the length of the lower arm, and the length from the palm to the wrist of the redundant arm can also be written into a program for realizing the application.
The upper arm length is the length of the upper arm of the redundant arm.
And the arm length is the length of the arm of the redundant arm.
The length from the palm to the wrist is the length from the palm to the wrist of the hand of the redundant arm.
For S53, one of the discrete positions is sequentially acquired from each of the discrete positions, and the acquired discrete position is taken as a target discrete position.
For S54, as the target discrete position is the position under the throwing coordinate system, the target discrete position is subjected to position conversion under the arm base coordinate system to obtain a base discrete position; the base discrete position is position data of the arm tail end of the redundant arm, and the length from the palm to the wrist is a fixed value, so that the initial position of the central point of the tossed object under the arm base coordinate system can be obtained according to the base discrete position and the length from the palm to the wrist.
For S55, the fifth joint angle initial value is the initial value of the joint angle of the fifth joint. The sixth joint angle initial value is an initial value of the joint angle of the sixth joint. The seventh joint angle initial value is an initial value of the joint angle of the seventh joint.
Sequentially calculating joint angles of a first joint, a second joint, a third joint and a fourth joint of the redundant arm and calculating the joint angles of all joints of the redundant arm 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 central 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, and taking all the calculated joint angles as a joint angle calculation result set
In S56, when the joint angle calculation result is not solved in the joint angle calculation result set, it means that values of the joint angle corresponding to the first joint, the joint angle corresponding to the second joint, the joint angle corresponding to the third joint, the joint angle corresponding to the fourth joint, and the joint angle corresponding to the fifth joint can be calculated at the target discrete position, and the steps S53 to S56 are repeatedly executed until the joint angle calculation result is solved or the acquisition of the discrete position is completed in the joint angle calculation result set.
For S57, when the joint angle calculation result is a solution-free 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 a solution-free result, and thus it is determined that the solution result corresponding to the discrete position corresponding to the joint angle calculation result set in which the joint angle calculation result is a solution-free result.
For S8, when the joint angle calculation result is not present in the joint angle calculation result set as a non-solution, it means that the joint angle calculation results are present in all the joint angle calculation result sets, and thus it is determined that the solution result corresponding to the discrete position corresponding to the joint angle calculation result set in which the joint angle calculation result is not present is present as a solution.
In one embodiment, the step of calculating joint angles of the joints of the redundant arm according to the arm base coordinate system, the set of joint coordinate systems, the length of the upper arm, the length of the lower arm, the length from the palm of the hand 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 to obtain the set of joint angle calculation results includes:
s551: based on the rule that the fifth joint of the redundant arm does not influence the position of the throwing object and the sixth joint and the seventh joint of the redundant arm are fixed and unchangeable in the throwing process, calculating joint angles of the first joint, the second joint, the third joint and the fourth joint of the redundant arm according to the arm base coordinate system, the joint coordinate system set, the length of the upper arm, the length of the lower arm, the length from the palm of the hand to the wrist and the initial position of the central point to obtain a first joint angle value to be adjusted, a second joint angle value to be adjusted, a third joint angle value to be adjusted and a fourth joint angle value to be adjusted;
s552: and calculating joint angles of all joints of the redundant 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 of the hand to the wrist, the initial position of the central point, 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 initial value of the sixth joint angle and the initial value of the seventh joint angle to obtain the joint angle calculation result set.
In this embodiment, joint angle calculation is performed based on a rule that the fifth joint of the redundant arm does not affect the position of the tossed object and the sixth joint and the seventh joint of the redundant arm are fixed in the tossing process, and then joint angle calculation is performed on each joint of the redundant arm, so that the solution of the joint angle is performed on each discrete position by using inverse solution calculation, the step-by-step analytic inverse solution calculation of the tossing plan of the redundant arm of the humanoid robot is realized, the trajectory solution precision is improved, and the trajectory solution speed is improved.
For S551, based on the rule that the fifth joint of the redundant arm does not affect the position of the tossed object and the sixth joint and the seventh joint of the redundant arm are fixed and unchanged in the tossing process, that is, 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 are kept unchanged.
And calculating joint angles of the first joint, the second joint, the third joint and the fourth joint of the redundant arm, namely calculating values of 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 when the arm tail end of the redundant arm moves to the target discrete position. And taking a numerical value obtained by calculating the joint angle of the first joint as a first joint angle value to be adjusted, taking a numerical value obtained by calculating the joint angle of the second joint as a second joint angle value to be adjusted, taking a numerical value obtained by calculating the joint angle of the third joint as a third joint angle value to be adjusted, and taking a numerical value obtained by calculating the joint angle of the fourth joint as a fourth joint angle value to be adjusted.
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 of the hand to the wrist, the center point initial position, the first joint angle to-be-adjusted value, the second joint angle to-be-adjusted value, the third joint angle to-be-adjusted value, the fourth joint angle to-be-adjusted value, the fifth joint angle initial value, the sixth joint angle initial value, and the seventh joint angle initial value, posture calculation of the arm end in the arm base coordinate system and joint angle calculation of each joint of the redundant arm are sequentially performed, and each calculated joint angle is taken as the joint angle calculation result set.
In one embodiment, the step of calculating joint angles of joints of the redundant arm according to the arm base coordinate system, the set of joint coordinate systems, the length of the upper arm, the length of the lower arm, the length from the palm of the hand to the wrist, the initial position of the central point, 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 initial value of the sixth joint angle, and the initial value of the seventh joint angle to obtain the set of joint angle calculation results includes:
s5521: calculating the posture of the tail end of the arm under the arm base coordinate system according to the first joint angle value to be adjusted, the second joint angle value to be adjusted, the third joint angle value to be adjusted, the fourth joint angle value to be adjusted, the fifth joint angle initial value, the sixth joint angle initial value and the seventh joint angle initial value to obtain a first tail end posture;
s5522: and calculating joint angles of all joints of the redundant 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, the initial position of the central point and the first terminal posture on the basis of a rule that the Z-axis direction of a seventh coordinate system of the joint coordinate system set is taken as the palm opening and closing direction and the sixth joint and the seventh joint of the redundant arm are fixed and unchanged in the throwing process, so as to obtain the joint angle calculation result set.
In this embodiment, firstly, the attitude of the arm end under the arm base coordinate system is calculated according to the calculated joint angle, and then the joint angle calculation is performed on each joint of the redundant arm based on the rule that the Z-axis direction of the seventh coordinate system of the joint coordinate system set is taken as the palm opening and closing direction and the sixth joint and the seventh joint of the redundant arm are fixed in the throwing process, so that the solution of the joint angle is performed on each discrete position by using the inverse solution calculation, the step-by-step analytic inverse solution calculation of the throwing plan of the redundant arm of the humanoid robot is realized, the track solution accuracy is improved, and the track solution rate is improved.
For S5521, according to a kinematic positive solution of an arm of the robot, performing posture calculation of an arm end under the arm base coordinate system according to the first joint angle value to be adjusted, the second joint angle value to be adjusted, the third joint angle value to be adjusted, the fourth joint angle value to be adjusted, the fifth joint angle initial value, the sixth joint angle initial value, and the seventh joint angle initial value, and using the calculated end posture as a first end posture, thereby implementing mapping of a joint angle to a task space.
For S5522, based on a rule that the Z-axis direction of a seventh coordinate system (a local coordinate system corresponding to a seventh joint) of the joint coordinate system set is taken as the palm opening and closing direction and the sixth joint and the seventh joint of the redundant arm are fixed during the tossing 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, the joint angle corresponding to the fifth joint is adjusted and 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 are calculated, so that the palm opening and closing direction is parallel to the tossing plane.
When the joint angle calculation is performed for each joint of the redundant arm, that is, when the arm end of the redundant arm moves to the target discrete position, the values of the joint angle corresponding to the first joint, the joint angle corresponding to the second joint, the joint angle corresponding to the third joint, the joint angle corresponding to the fourth joint, and the joint angle corresponding to the fifth joint are calculated.
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 5 joint angle calculation results, and the 5 joint angle calculation results respectively correspond to the first joint, and the fifth joint.
In one embodiment, the step of calculating joint angles of the first joint, the second joint, the third joint and the fourth joint of the redundant arm according to the arm base coordinate system, the joint coordinate system set, the upper arm length, the forearm length, the palm to wrist length and the central point initial position based on the rule that the fifth joint of the redundant arm does not affect the position of the tossed object and the sixth joint and the seventh joint of the redundant arm are fixed and unchanged in the tossing process to obtain the first joint angle to-be-adjusted value, the second joint angle to-be-adjusted value, the third joint angle to-be-adjusted value and the fourth joint angle to-be-adjusted value includes:
s5511: calculating a joint angle of a fourth joint of the redundant arm according to the initial position of the central point, the length of the upper arm, the length of the lower arm and the length from the palm to the wrist to obtain a value to be adjusted of the fourth joint angle;
s5512: determining an initial rotation matrix of a third coordinate system in the joint coordinate system set relative to the arm base coordinate system according to the arm base coordinate system, the joint coordinate system set, the upper arm length, the forearm length, the palm to wrist length and the central point initial position based on a rule that a fifth joint of the redundant arm does not influence the position of the tossed object, a rule that a sixth joint and a seventh joint of the redundant arm are fixed and unchanged in the tossing process and a kinematic equation of the arm end of the redundant arm;
s5513: and calculating joint angles of a first joint, a second joint and a third joint of the redundant arm according to the initial rotation matrix to obtain a value to be adjusted of the first joint angle, a value to be adjusted of the second joint angle and a value to be adjusted of the third joint angle.
According to the embodiment, based on the rule that the fifth joint of the redundant arm does not influence the position of the tossed object and the sixth joint and the seventh joint of the redundant arm are fixed and unchanged in the tossing process, joint angle calculation is performed on the first joint, the second joint, the third joint and the fourth joint of the redundant 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 of the hand to the wrist and the central point initial position, so that a basis is provided for performing posture calculation of the tail end of the arm in the arm base coordinate system.
First joint angle to be adjustedThe second joint angle to be adjustedThe value to be adjusted of the third joint angleAnd the fourth joint angle to be adjusted valueCalculated by the following formula:
the kinematic equation of the arm tail end of the redundant arm is as follows:
wherein,is the initial position of the center point and,is an initial rotation matrix of a third coordinate system of the joint coordinate system set relative to the arm base coordinate system,is the rotation matrix of a fourth coordinate system of the set of joint coordinate systems relative to a third coordinate system of the set of joint coordinate systems,is the rotation matrix of a seventh coordinate system of the set of joint coordinate systems relative to a fourth coordinate system of the set of joint coordinate systems when a fifth joint of the redundant arm does not affect the position of the tossed object and a sixth joint and a seventh joint of the redundant arm are fixed during tossing,is the length of the upper arm, and,is the length of the small arm, and,is the palm to wrist length;
is the relative positional relationship between the shoulders and the hands of the redundant arms,is the relative positional relationship between the elbow and the hand of the redundant arm,is the relative position relationship between the wrist and the hand of the redundant arm, which is respectively expressed as:
wherein,is the length of the upper arm, and,is the length of the small arm, and,is the palm to wrist length;
determining the length from the palm of the hand to the elbow according to the position of the fifth joint which does not influence the throwing objectThe calculation formula of (2) is as follows:
the kinematic equation of the arm tail end of the redundant arm is expressed as follows:
referring to fig. 4, in which,is the elbow of the redundant arm or arms,is the wrist of the redundant arm or arms,is the center point of the object cast for the redundant arm;
referring to fig. 4, willThe included angle between the plane and the reference plane is used as the initial arm angle, wherein the reference plane is the angle of the joint of the third joint when the joint angle is 0The plane is a plane, and the plane is a plane,is a shoulder of the redundant arm;
according to the formula of Rodrigues, the initial arm angle is adjustedRotation matrix relative to the arm base coordinate systemThe calculation formula of (2) is as follows:
wherein,is composed of,Is thatThe unit vector of the axis is,is thatThe anti-symmetric matrix of (a) is,the axis is a connecting line of the shoulder of the redundant arm and the center point of the throwing object;
initial rotation matrix of the third coordinate system relative to the arm base coordinate systemThe calculation formula is as follows:
wherein,is a matrix of 3 x 3,is a matrix of 3 x 3,is a matrix of 3 x 3,is thatWhen the rotation matrix is 0, the third coordinate system is relative to the initial rotation matrix of the arm base coordinate system;
obtaining the value to be adjusted of the fourth joint angle according to the triangle set relationThe calculation formula of (2):
obtaining the value to be adjusted of the first joint angle according to the equation relation of the kinematic equation of the arm tail endThe second joint angle to be adjustedThe third joint angle to be adjustedThe calculation formula of (2):
wherein,is thatThe 2 nd row and 2 nd column values of,is thatThe 2 nd row and 2 nd column values of,is thatThe 2 nd row and 2 nd column values of,is thatThe value of row 1 and column 2,is thatThe value of row 1 and column 2,is thatThe value of row 1 and column 2,is thatThe value of row 3 and column 2,is thatThe value of row 3 and column 2,is thatThe value of row 3 and column 2,is thatThe value of row 3 and column 3,is thatThe value of row 3 and column 3,is thatThe value of row 3 and column 3,is thatThe value of row 3 and column 1,is thatThe value of row 3 and column 1,is thatRow 3, column 1.
Wherein, the rotation matrix is a rotation matrix of a homogeneous transformation matrix.
Obtaining the value to be adjusted of the first joint angle according to the equation relation of the kinematic equation of the arm tail endThe second joint angle to be adjustedThe third joint angle to be adjustedThe first joint angle to be adjusted is obtained according to the equation relation of the kinematic equation of the equivalent armThe second joint angle to be adjustedThe third joint angle to be adjustedThe calculation formula of (2).
That is, the formula is adoptedNamely, the value to be adjusted of the fourth joint angle can be calculated。
Using a formulaNamely, the value to be adjusted of the first joint angle can be calculated(ii) a Using a formulaNamely, the value to be adjusted of the second joint angle can be calculated(ii) a Using a formulaNamely, the value to be adjusted of the third joint angle can be calculated。
In one embodiment, the step of calculating joint angles of the joints of the redundant arm according to the arm base coordinate system, the joint coordinate system set, the upper arm length, the forearm length, the palm to wrist length, the center point initial position and the first end posture based on a rule that a Z-axis direction of a seventh coordinate system of the joint coordinate system set is taken as a palm opening and closing direction and the sixth joint and the seventh joint of the redundant arm are fixed and unchanged during the throwing process to obtain the joint angle calculation result set includes:
s55221: determining an adjustment angle of the fifth joint based on taking a Z-axis direction of the seventh coordinate system as a palm opening and closing direction and making the Z-axis direction of the seventh coordinate system parallel to the casting plane;
s55222: determining a joint angle calculation result corresponding to the fifth joint according to the adjustment angle and the fifth joint angle initial value;
s55223: according to the arm base coordinate system, the joint coordinate system set, the length of the upper arm and the length from the palm to the wrist, calculating the position of the center point of the wrist of the redundant arm in the arm base coordinate system to obtain the center position of the wrist of the base;
s55224: calculating the joint angle of the redundant arm according to the center position of the base wrist, the length of the upper arm and the length of the lower arm to obtain a joint angle calculation result corresponding to the fourth joint;
s55225: determining a target rotation matrix of a third coordinate system in the joint coordinate system set relative to the arm base coordinate system according to the adjustment angle, the arm base coordinate system, the joint coordinate system set and the first end posture based on a rule that the sixth joint and the seventh joint of the redundant arm are fixed and unchanged in the casting process and a Rodrigues formula;
s55226: according to the target rotation matrix, joint angle calculation is carried out on a first joint, a second joint and a third joint of the redundant arm, and a joint angle calculation result corresponding to the first joint, a joint angle calculation result corresponding to the second joint and a joint angle calculation result corresponding to the third joint are obtained;
s55227: and determining the joint angle calculation result set according to the joint angle calculation result corresponding to the first joint, the joint angle calculation result corresponding to the second joint, the joint angle calculation result corresponding to the third joint, the joint angle calculation result corresponding to the fourth joint and the joint angle calculation result corresponding to the fifth joint.
According to the embodiment, joint angle calculation is performed on each joint of the redundant arm 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 central point initial position and the first terminal posture based on a rule that the Z-axis direction of the seventh coordinate system of the joint coordinate system set is taken as the palm opening and closing direction and the sixth joint and the seventh joint of the redundant arm are fixed in the throwing process, so that the throwing track is solved for each discrete position after being discrete, the step-by-step analysis inverse solution calculation of the throwing plan of the redundant arm of the humanoid robot is realized, the track solving precision is improved, and the track solving speed is improved.
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, adopting an adjustment angleAdjusting a joint angle corresponding to the fifth joint;
wherein,is a rotation matrix of the arm base coordinate system relative to the world coordinate system,is surrounded byA rotation matrix of an X-axis of the world coordinate system,is the initial value of the fifth joint angle of the redundant arm,is a second column vector of the rotation matrix of the casting coordinate system relative to the world coordinate system,is composed of,Is the first end attitude, adopting an angle of adjustmentAfter the joint angle corresponding to the fifth joint is adjusted, the first terminal posture is updated to;
The position of the center point of the wrist of the redundant arm under the arm base coordinate system is used as the center position of the base wrist, and a calculation formula of the center position of the base wristComprises the following steps:
adopts the angle adjustmentAfter the joint angle corresponding to the fifth joint is adjusted, the third coordinate system rotates relative to the target rotation matrix of the arm base coordinate system,adopts the angle adjustmentA rotation matrix of the fourth coordinate system relative to the third coordinate system after adjusting the joint angle corresponding to the fifth joint;
by adopting an angle of adjustmentAdjusting the joint angle corresponding to the fifth joint to obtain the initial arm angleUpdated to the adjusted arm angleAdjusting the adjusted target arm angle according to the Rodrigues formulaA rotation matrix relative to the arm base coordinate system of:
Wherein,is a matrix of 3 x 3,is a matrix of 3 x 3,is a matrix of 3 x 3,adopts the angle adjustmentAfter the joint angle corresponding to the fifth joint is adjustedA rotation matrix of the third coordinate system relative to the arm base coordinate system when the rotation matrix is 0,is thatThe unit vector of the axis is,is thatThe anti-symmetric matrix of (a) is,the axis is the line connecting the shoulder of the redundant arm and the wrist of the redundant arm;
obtaining a calculation formula according to the triangle set relation:
wherein, superscript T is a transposition calculation;
obtaining a joint angle calculation result corresponding to the first joint according to the equation relation of the kinematic equation of the arm tail endA joint angle calculation result corresponding to the second jointA joint angle calculation result corresponding to the third jointThe calculation formula of (2):
wherein,is thatThe 2 nd row and 2 nd column values of,is thatThe 2 nd row and 2 nd column values of,is thatThe 2 nd row and 2 nd column values of,is thatThe value of row 1 and column 2,is thatThe value of row 1 and column 2,is thatThe value of row 1 and column 2,is thatThe value of row 3 and column 2,is thatThe value of row 3 and column 2,is thatThe value of row 3 and column 2,is thatThe value of row 3 and column 3,is thatThe value of row 3 and column 3,is thatThe value of row 3 and column 3,is thatThe value of row 3 and column 1,is thatThe value of row 3 and column 1,is thatRow 3, column 1.
Wherein, the angle of adjustment is adoptedAnd adjusting the joint angle corresponding to the fifth joint to enable the palm opening and closing direction to be parallel to the throwing plane.
Wherein, a formula is adoptedNamely, the joint angle calculation result corresponding to the fourth joint can be calculated(ii) a Using a formulaNamely, the calculation result of the joint angle corresponding to the first joint can be calculated(ii) a Using a formulaNamely, the joint angle calculation result corresponding to the second joint can be calculated(ii) a Using a formulaNamely, the joint angle calculation result corresponding to the third joint can be calculated。
Since the sixth joint and the seventh joint of the redundant arm are fixed during the tossing process, the sixth joint angle initial value may be used as the joint angle calculation result corresponding to the sixth joint, the seventh joint angle initial value may be used as the joint angle calculation result corresponding to the seventh joint, and finally the joint angle calculation result corresponding to the first joint, the joint angle calculation result corresponding to the second joint, the joint angle calculation result corresponding to the third joint, the joint angle calculation result corresponding to the fourth joint, the joint angle calculation result corresponding to the fifth joint, the joint angle calculation result corresponding to the sixth joint, and the joint angle calculation result corresponding to the seventh joint may be used as the joint angle calculation result set.
In an embodiment, the step of obtaining the trajectory of the following stage, obtaining the trajectory of the deceleration stage, and stitching the trajectories according to the trajectory of the acceleration stage to obtain the trajectory of the throwing process includes:
s31: acquiring finger opening and closing delay data of the redundant arm;
s32: acquiring the track of the following stage according to the finger opening and closing delay data and the track of the acceleration stage;
s33: acquiring the maximum terminal acceleration of the redundant arm;
s34: acquiring the track of the deceleration stage according to the maximum terminal acceleration and the track of the following stage;
s35: and sequentially splicing the acceleration stage track, the following stage track and the deceleration stage track to obtain the throwing track.
According to the embodiment, the following stage track is obtained according to the finger opening and closing delay data and the accelerating stage track, the decelerating stage track is obtained according to the terminal maximum acceleration and the following stage track, and finally the accelerating stage track, the following stage track and the decelerating stage track are sequentially spliced, so that a three-section throwing track is realized, and the three-section throwing track is suitable for redundant arms of the humanoid robot, so that throwing track planning of the redundant arms of the humanoid robot is realized, and the three-section throwing track has strong universality in the aspect of different throwing targets.
For S31, the finger opening and closing delay data of the redundant arm can be obtained from the storage space of the humanoid robot, the finger opening and closing delay data of the redundant arm can also be obtained from an industrial personal computer, the finger opening and closing delay data of the redundant arm can also be obtained from a third-party application system, and the finger opening and closing delay data of the redundant arm can also be written into a program for realizing the application.
The finger opening and closing delay data is time difference data from the time when the redundant arm of the humanoid robot sends the finger opening and closing instruction to the time when the redundant arm of the humanoid robot executes the finger opening and closing.
And S32, determining the track of the following stage by taking the end point data of the track of the acceleration stage as the start point data of the track of the following stage according to the proportional relation with the finger opening and closing delay data.
For S33, the maximum terminal acceleration of the redundant arm may be obtained from a storage space of the humanoid robot, the maximum terminal acceleration of the redundant arm may also be obtained from an industrial personal computer, the maximum terminal acceleration of the redundant arm may also be obtained from a third-party application system, and the maximum terminal acceleration of the redundant arm may also be written into a program that implements the present application.
The maximum acceleration of the tail end of the redundant arm is the maximum value of the acceleration which can be executed by the tail end of the arm of the redundant arm of the humanoid robot.
For S34, determining the deceleration stage trajectory from an inverse relationship with the terminal maximum acceleration using the end point data of the following stage trajectory as the start point data of the deceleration stage trajectory.
Optionally, the trajectory of the deceleration stage is a straight line, so that the control operation is simplified.
Optionally, the straight line of the deceleration stage trajectory and the tangent of the end point of the following stage trajectory are located on the same straight line.
And S35, sequentially splicing the acceleration stage track, the following stage track and the deceleration stage track, and taking the spliced track as the throwing track. Therefore, the trajectory of the cast comprises three segments of trajectories in sequence, respectively: the acceleration phase trajectory, the following phase trajectory, and the deceleration phase trajectory.
Referring to fig. 5, the present application further provides a trajectory planning device for throwing of a redundant arm of a humanoid robot, the device being suitable for the redundant arm of the humanoid robot, the device comprising:
the data acquisition module 100 is configured to acquire a world starting point position, a world target point position, and a world starting point position in a world coordinate system;
an acceleration stage trajectory determining module 200, configured to 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 starting point position;
the throwing track determining module 300 is configured to obtain a following stage track, obtain a deceleration stage track, and splice the tracks according to the acceleration stage track to obtain a throwing track;
a discrete position determining module 400, configured to perform discrete processing on the casting trajectory at preset time intervals to obtain multiple discrete positions;
a solution result determining module 500, configured to perform solution on the joint angle for each discrete position to obtain multiple solution results;
and a target joint angle set determining module 600, configured to adjust the world hand-out point position when the solution result is no solution, repeat the step of obtaining the preset acceleration trajectory curve until each solution result is a solution, and determine a target joint angle set according to each joint angle corresponding to each solution result.
The method comprises the steps of firstly generating an acceleration stage track according to a preset acceleration change curve, a world starting point position, a world target point position and a world handle point position, respectively obtaining a following stage track according to the acceleration stage track, obtaining a deceleration stage track and splicing the tracks to obtain a throwing track, secondly performing discrete processing on the throwing track by adopting a preset time interval to obtain a plurality of discrete positions, then respectively solving a joint angle of each discrete position to obtain a plurality of solution results, finally adjusting the world handle point position when the solution results are non-solution, repeatedly executing the step of generating the acceleration stage track until all the solution results are solution, determining a target joint angle set according to all the joint angles corresponding to all the solution results, and determining the target joint angle set through the acceleration stage track, the following stage track, The trajectory splicing in the deceleration stage is carried out to obtain a three-section throwing trajectory, and the three-section throwing trajectory is suitable for the redundant arm of the humanoid robot, so that the throwing trajectory planning of the redundant arm of the humanoid robot is realized, and the three-section throwing trajectory has strong universality in the face of different throwing targets; and the solution of the joint angle is carried out on each discrete position after the throwing track is dispersed, so that the step-by-step analytic inverse solution calculation of the throwing plan of the redundant arm of the humanoid robot is realized, the track solution precision is improved, and the track solution speed is improved.
Referring to fig. 6, a computer device, which may be a server and whose internal structure may be as shown in fig. 6, is also provided in the embodiment of the present application. The computer device includes a processor, a memory, a network interface, and a database connected by a system bus. Wherein the computer designed processor is used to provide computational and control capabilities. The memory of the computer device comprises a nonvolatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer equipment is used for storing data such as a throwing track planning method of redundant arms of the humanoid robot. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to realize a throwing track planning method of redundant arms of the humanoid robot. The throwing track planning method for the redundant arm of the humanoid robot is suitable for the redundant arm of the humanoid robot, and comprises the following steps: acquiring a world starting point position, a world target point position and a world starting point position in a world coordinate system; acquiring a preset acceleration change curve, and generating an acceleration stage track according to the preset acceleration change curve, the world starting point position, the world target point position and the world hand-out point position; acquiring a following stage track, acquiring a deceleration stage track and splicing the tracks according to the acceleration stage track to obtain a throwing track; adopting a preset time interval to carry out discrete processing on the throwing track to obtain a plurality of discrete positions; respectively solving the joint angle of each discrete position to obtain a plurality of solving results; and when the solving result is no solution, adjusting the position of the world hand-out point, repeatedly executing the step of obtaining the preset acceleration track curve until all the solving results are solutions, and determining a target joint angle set according to all joint angles corresponding to all the solving results with solutions.
The method comprises the steps of firstly generating an acceleration stage track according to a preset acceleration change curve, a world starting point position, a world target point position and a world handle point position, respectively obtaining a following stage track according to the acceleration stage track, obtaining a deceleration stage track and splicing the tracks to obtain a throwing track, secondly performing discrete processing on the throwing track by adopting a preset time interval to obtain a plurality of discrete positions, then respectively solving a joint angle of each discrete position to obtain a plurality of solution results, finally adjusting the world handle point position when the solution results are non-solution, repeatedly executing the step of generating the acceleration stage track until all the solution results are solution, determining a target joint angle set according to all the joint angles corresponding to all the solution results, and determining the target joint angle set through the acceleration stage track, the following stage track, The trajectory splicing in the deceleration stage is carried out to obtain a three-section throwing trajectory, and the three-section throwing trajectory is suitable for the redundant arm of the humanoid robot, so that the throwing trajectory planning of the redundant arm of the humanoid robot is realized, and the three-section throwing trajectory has strong universality in the face of different throwing targets; and the solution of the joint angle is carried out on each discrete position after the throwing track is dispersed, so that the step-by-step analytic inverse solution calculation of the throwing plan of the redundant arm of the humanoid robot is realized, the track solution precision is improved, and the track solution speed is improved.
An embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements a method for planning a throwing trajectory of redundant arms of a humanoid robot, including the steps of: the method is suitable for redundant arms of a humanoid robot, and comprises the following steps: acquiring a world starting point position, a world target point position and a world starting point position in a world coordinate system; acquiring a preset acceleration change curve, and generating an acceleration stage track according to the preset acceleration change curve, the world starting point position, the world target point position and the world hand-out point position; acquiring a following stage track, acquiring a deceleration stage track and splicing the tracks according to the acceleration stage track to obtain a throwing track; adopting a preset time interval to carry out discrete processing on the throwing track to obtain a plurality of discrete positions; respectively solving the joint angle of each discrete position to obtain a plurality of solving results; and when the solving result is no solution, adjusting the position of the world hand-out point, repeatedly executing the step of obtaining the preset acceleration track curve until all the solving results are solutions, and determining a target joint angle set according to all joint angles corresponding to all the solving results with solutions.
In the method for planning the throwing track of the redundant arm of the humanoid robot, according to the embodiment, an acceleration stage track is generated according to a preset acceleration change curve, a world starting point position, a world target point position and a world hand-out point position, the following stage track is acquired, the deceleration stage track is acquired and the tracks are spliced according to the acceleration stage track to obtain the throwing track, then discrete processing is carried out on the throwing track by adopting a preset time interval to obtain a plurality of discrete positions, then the joint angle is solved for each discrete position respectively to obtain a plurality of solution results, finally when the solution result is no solution, the position of the world hand-out point is adjusted, the step of generating the acceleration stage track is repeatedly executed until each solution result is a solution, a target joint angle set is determined according to each solution result which is corresponding joint angle, the three-section throwing track is obtained by splicing the acceleration stage track, the following stage track and the deceleration stage track, and is suitable for the redundant arm of the humanoid robot, so that the throwing track planning of the redundant arm of the humanoid robot is realized, and the throwing track planning has strong universality in the aspect of different throwing targets; and the solution of the joint angle is carried out on each discrete position after the throwing track is dispersed, so that the step-by-step analytic inverse solution calculation of the throwing plan of the redundant arm of the humanoid robot is realized, the track solution precision is improved, and the track solution speed is improved.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium provided herein and used in the examples may include non-volatile and/or volatile memory. Non-volatile memory can include read-only memory (ROM), Programmable ROM (PROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), double-rate SDRAM (SSRSDRAM), Enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), Rambus Direct RAM (RDRAM), direct bus dynamic RAM (DRDRAM), and bus dynamic RAM (RDRAM).
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, apparatus, article, or method that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, apparatus, article, or method. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, apparatus, article, or method that includes the element.
The above description is only a preferred embodiment of the present application, and not intended to limit the scope of the present application, and all modifications of equivalent structures and equivalent processes, which are made by the contents of the specification and the drawings of the present application, or which are directly or indirectly applied to other related technical fields, are also included in the scope of the present application.
Claims (12)
1. A throwing track planning method for redundant arms of a humanoid robot is characterized in that the method is suitable for the redundant arms of the humanoid robot, and comprises the following steps:
acquiring a world starting point position, a world target point position and a world starting point position in a world coordinate system;
acquiring a preset acceleration change curve, and generating an acceleration stage track according to the preset acceleration change curve, the world starting point position, the world target point position and the world hand-out point position;
acquiring a following stage track, acquiring a deceleration stage track and splicing the tracks according to the acceleration stage track to obtain a throwing track;
adopting a preset time interval to carry out discrete processing on the throwing track to obtain a plurality of discrete positions;
respectively solving the joint angle of each discrete position to obtain a plurality of solving results;
and when the solving result is no solution, adjusting the position of the world hand-out point, repeatedly executing the step of obtaining the preset acceleration track curve until all the solving results are solutions, and determining a target joint angle set according to all joint angles corresponding to all the solving results with solutions.
2. The method of claim 1, wherein the step of generating an acceleration stage trajectory from the predetermined acceleration variation curve, the world origin position, the world target point position, and the world departure point position comprises:
determining a throwing plane and a throwing coordinate system according to the world starting point position and the world target point position;
converting a throwing coordinate system for the world starting point position, the world target point position and the world hand-out point position to obtain a throwing starting point position, a throwing target point position and a throwing hand-out point position;
and acquiring a preset acceleration track curve, and generating the acceleration stage track according to the preset acceleration change curve, the preset acceleration track curve, the throwing starting point position, the throwing target point position and the throwing hand point position in the throwing plane.
3. The method for planning a throwing trajectory of a redundant arm of a humanoid robot according to claim 2, wherein the step of generating the acceleration stage trajectory in the throwing plane according to the preset acceleration change curve, the preset acceleration trajectory curve, the throwing start position, the throwing target point position, and the throwing hand point position includes:
in the throwing plane, respectively carrying out throwing angle calculation and throwing speed calculation according to the preset acceleration track curve, the throwing target point position and the throwing hand point position to obtain a target throwing angle and a target throwing speed;
acquiring a starting point speed, a maximum acceleration, a total acceleration duration and a maximum acceleration time proportion;
in the throwing plane, generating the acceleration stage track 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 duration and the maximum acceleration time-consuming proportion, wherein the throwing hand point position is used as the terminal point of the track path of the acceleration stage track, the target throwing speed is used as the track speed of the terminal point of the track path of the acceleration stage track, and the target throwing angle is used as the angle of the tangent line of the terminal point of the track path of the acceleration stage track.
4. The method for planning a throwing track of a redundant arm of a humanoid robot according to claim 3, wherein the step of solving the joint angle for each discrete position to obtain a plurality of solution results comprises:
establishing a local coordinate system aiming at the arm base and each joint of the redundant arm by adopting a DH parameter rule to obtain an arm base coordinate system and a joint coordinate system set;
acquiring the length of an upper arm, the length of a small arm, the length of a palm to a wrist of the redundant arm;
acquiring the discrete position from each discrete position as a target discrete position;
determining the initial position of the central point of the tossed object under the arm base coordinate system according to the target discrete position and the length from the palm to the wrist;
acquiring a fifth joint angle initial value, a sixth joint angle initial value and a seventh joint angle initial value of the redundant arm, and performing joint angle calculation on each joint of the redundant 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, the central point initial position, the fifth joint angle initial value, the sixth joint angle initial value and the seventh joint angle initial value to obtain a joint angle calculation result set;
when the joint angle calculation result does not exist in the joint angle calculation result set and is a solution-free result, repeatedly executing the step of acquiring the discrete position from each discrete position as a target discrete position until the joint angle calculation result exists in the joint angle calculation result set and is a solution-free result or the acquisition of the discrete position is completed;
when the joint angle calculation result is a solution-free result in the joint angle calculation result set, determining that the solution result corresponding to the joint angle calculation result set with the joint angle calculation result being a solution-free result;
and when the joint angle calculation result does not exist in the joint angle calculation result set and is a solution, determining that the solution result corresponding to the joint angle calculation result set without the joint angle calculation result is a solution.
5. The method for planning a throwing track of a redundant arm of a humanoid robot according to claim 4, wherein the step of calculating joint angles of the respective joints of the redundant arm according to the arm base coordinate system, the set of joint coordinate systems, the length of the upper arm, the length of the lower arm, the length from the palm of the hand 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 to obtain a set of joint angle calculation results includes:
based on the rule that the fifth joint of the redundant arm does not influence the position of the throwing object and the sixth joint and the seventh joint of the redundant arm are fixed and unchangeable in the throwing process, calculating joint angles of the first joint, the second joint, the third joint and the fourth joint of the redundant arm according to the arm base coordinate system, the joint coordinate system set, the length of the upper arm, the length of the lower arm, the length from the palm of the hand to the wrist and the initial position of the central point to obtain a first joint angle value to be adjusted, a second joint angle value to be adjusted, a third joint angle value to be adjusted and a fourth joint angle value to be adjusted;
and calculating joint angles of all joints of the redundant 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 of the hand to the wrist, the initial position of the central point, 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 initial value of the sixth joint angle and the initial value of the seventh joint angle to obtain the joint angle calculation result set.
6. The method for planning a throwing track of a redundant arm of a humanoid robot according to claim 5, wherein the step of calculating joint angles of the respective joints of the redundant arm according to the arm base coordinate system, the set of joint coordinate systems, the length of the upper arm, the length of the lower arm, the length from the palm of the hand to the wrist, the initial position of the center point, 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 initial value of the sixth joint angle, and the initial value of the seventh joint angle to obtain the set of joint angle calculation results includes:
calculating the posture of the tail end of the arm under the arm base coordinate system according to the first joint angle value to be adjusted, the second joint angle value to be adjusted, the third joint angle value to be adjusted, the fourth joint angle value to be adjusted, the fifth joint angle initial value, the sixth joint angle initial value and the seventh joint angle initial value to obtain a first tail end posture;
and calculating joint angles of all joints of the redundant 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, the initial position of the central point and the first terminal posture on the basis of a rule that the Z-axis direction of a seventh coordinate system of the joint coordinate system set is taken as the palm opening and closing direction and the sixth joint and the seventh joint of the redundant arm are fixed and unchanged in the throwing process, so as to obtain the joint angle calculation result set.
7. The method for planning a throwing track of a redundant arm of a humanoid robot according to claim 6, wherein the step of calculating joint angles of the first joint, the second joint, the third joint and the fourth joint of the redundant arm according to the arm base coordinate system, the joint coordinate system set, the upper arm length, the forearm length, the palm to wrist length and the central point initial position to obtain a first joint angle value to be adjusted, a second joint angle value to be adjusted, a third joint angle value to be adjusted and a fourth joint angle value to be adjusted includes, based on a rule that the fifth joint of the redundant arm does not affect the position of the thrown object and the sixth joint and the seventh joint of the redundant arm are fixed and unchanged during throwing, the step of:
calculating a joint angle of a fourth joint of the redundant arm according to the initial position of the central point, the length of the upper arm, the length of the lower arm and the length from the palm to the wrist to obtain a value to be adjusted of the fourth joint angle;
determining an initial rotation matrix of a third coordinate system in the joint coordinate system set relative to the arm base coordinate system according to the arm base coordinate system, the joint coordinate system set, the upper arm length, the forearm length, the palm to wrist length and the central point initial position based on a rule that a fifth joint of the redundant arm does not influence the position of the tossed object, a rule that a sixth joint and a seventh joint of the redundant arm are fixed and unchanged in the tossing process and a kinematic equation of the arm end of the redundant arm;
and calculating joint angles of a first joint, a second joint and a third joint of the redundant arm according to the initial rotation matrix to obtain a value to be adjusted of the first joint angle, a value to be adjusted of the second joint angle and a value to be adjusted of the third joint angle.
8. The method for planning a throwing trajectory of a redundant arm of a humanoid robot according to claim 7, wherein the step of calculating joint angles of the respective joints of the redundant arm based on the arm base coordinate system, the joint coordinate system set, the upper arm length, the forearm length, the palm to wrist length, the center point initial position, and the first end posture based on a rule that a Z-axis direction of a seventh coordinate system of the joint coordinate system set is taken as a palm opening and closing direction and the sixth joint and the seventh joint of the redundant arm are fixed during throwing to obtain the joint angle calculation result set comprises:
determining an adjustment angle of the fifth joint based on taking a Z-axis direction of the seventh coordinate system as a palm opening and closing direction and making the Z-axis direction of the seventh coordinate system parallel to the casting plane;
determining a joint angle calculation result corresponding to the fifth joint according to the adjustment angle and the fifth joint angle initial value;
according to the arm base coordinate system, the joint coordinate system set, the length of the upper arm and the length from the palm to the wrist, calculating the position of the center point of the wrist of the redundant arm in the arm base coordinate system to obtain the center position of the wrist of the base;
calculating the joint angle of the redundant arm according to the center position of the base wrist, the length of the upper arm and the length of the lower arm to obtain a joint angle calculation result corresponding to the fourth joint;
determining a target rotation matrix of a third coordinate system in the joint coordinate system set relative to the arm base coordinate system according to the adjustment angle, the arm base coordinate system, the joint coordinate system set and the first end posture based on a rule that the sixth joint and the seventh joint of the redundant arm are fixed and unchanged in the casting process and a Rodrigues formula;
according to the target rotation matrix, joint angle calculation is carried out on a first joint, a second joint and a third joint of the redundant arm, and a joint angle calculation result corresponding to the first joint, a joint angle calculation result corresponding to the second joint and a joint angle calculation result corresponding to the third joint are obtained;
and determining the joint angle calculation result set according to the joint angle calculation result corresponding to the first joint, the joint angle calculation result corresponding to the second joint, the joint angle calculation result corresponding to the third joint, the joint angle calculation result corresponding to the fourth joint and the joint angle calculation result corresponding to the fifth joint.
9. The method for planning a throwing track of a redundant arm of a humanoid robot according to claim 1, wherein the step of obtaining the throwing track by respectively obtaining a following stage track, obtaining a deceleration stage track and splicing the tracks according to the acceleration stage track comprises:
acquiring finger opening and closing delay data of the redundant arm;
acquiring the track of the following stage according to the finger opening and closing delay data and the track of the acceleration stage;
acquiring the maximum terminal acceleration of the redundant arm;
acquiring the track of the deceleration stage according to the maximum terminal acceleration and the track of the following stage;
and sequentially splicing the acceleration stage track, the following stage track and the deceleration stage track to obtain the throwing track.
10. A trajectory planning device for throwing of redundant arms of a humanoid robot is characterized in that the device is suitable for redundant arms of the humanoid robot, and the device comprises:
the data acquisition module is used for acquiring a world starting point position, a world target point position and a world starting point position in a world coordinate system;
the acceleration stage track determining module is used for acquiring a preset acceleration change curve and generating an acceleration stage track 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 track determining module is used for respectively acquiring a following stage track, a deceleration stage track and track splicing according to the acceleration stage track to obtain a throwing track;
the discrete position determining module is used for performing discrete processing on the throwing track by adopting a preset time interval to obtain a plurality of discrete positions;
the solving result determining module is used for respectively solving the joint angle of each discrete position to obtain a plurality of solving results;
and the target joint angle set determining module is used for adjusting the position of the world hand-out point when the solving result is no solution, repeatedly executing the step of acquiring the preset acceleration track curve until all the solving results are solutions, and determining a target joint angle set according to each joint angle corresponding to each solving result with a solution.
11. A computer device comprising a memory and a processor, the memory storing a computer program, wherein the processor implements the steps of the method of any one of claims 1 to 9 when executing the computer program.
12. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the method of any one of claims 1 to 9.
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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113997287A (en) * | 2021-10-29 | 2022-02-01 | 广东技术师范大学 | Fruit picking method based on visual servo control robot |
CN114330384A (en) * | 2021-11-24 | 2022-04-12 | 南京邮电大学 | Passive RFID phase information-based arm motion track tracking method |
CN116871802A (en) * | 2023-09-08 | 2023-10-13 | 惠生(南通)重工有限公司 | Multifunctional special-shaped assembly welding platform |
Citations (13)
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 |
-
2021
- 2021-09-15 CN CN202111082022.3A patent/CN113524205B/en active Active
Patent Citations (13)
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)
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 (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113997287A (en) * | 2021-10-29 | 2022-02-01 | 广东技术师范大学 | Fruit picking method based on visual servo control robot |
CN114330384A (en) * | 2021-11-24 | 2022-04-12 | 南京邮电大学 | Passive RFID phase information-based arm motion track tracking method |
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 |
Also Published As
Publication number | Publication date |
---|---|
CN113524205B (en) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113524205B (en) | Throwing track planning method, device and medium for redundant arms of humanoid robot | |
Huang et al. | Particle swarm optimization for solving the inverse kinematics of 7-DOF robotic manipulators | |
Nguyen-Tuong et al. | Using model knowledge for learning inverse dynamics | |
WO2018107851A1 (en) | Method and device for controlling redundant robot arm | |
Babaghasabha et al. | Adaptive control of KNTU planar cable-driven parallel robot with uncertainties in dynamic and kinematic parameters | |
Oriolo et al. | Repeatable motion planning for redundant robots over cyclic tasks | |
Kouabon et al. | A Learning Framework to inverse kinematics of high DOF redundant manipulators | |
CN113043278B (en) | Mechanical arm track planning method based on improved whale searching method | |
Nguyen et al. | Analytic deep neural network-based robot control | |
Wang et al. | Toward a new task assignment and path evolution (TAPE) for missile defense system (MDS) using intelligent adaptive SOM with recurrent neural networks (RNNs) | |
WO2022126352A1 (en) | Robot obstacle avoidance method and apparatus, robot, and storage medium | |
Chwa et al. | Online trajectory planning of robot arms for interception of fast maneuvering object under torque and velocity constraints | |
Zhao et al. | Efficient inverse kinematics for redundant manipulators with collision avoidance in dynamic scenes | |
Al-Qurashi et al. | Hybrid algorithm for inverse kinematics using deep learning and coordinate transformation | |
Lu et al. | An iterative calculation method for solve the inverse kinematics of a 7-DOF robot with link offset | |
Chaparro-Altamirano et al. | Kinematic and workspace analysis of a parallel robot used in security applications | |
Buessler et al. | Multiple self-organizing maps to facilitate the learning of visuo-motor correlations | |
Heyu et al. | Impedance control method with reinforcement learning for dual-arm robot installing slabstone | |
Zhang et al. | Inequality-based manipulator-obstacle avoidance using the LVI-based primal-dual neural network | |
Hirota et al. | Nonlinear receding-horizon differential game between a multirotor UAV and a moving object | |
Zhang et al. | Image-Based Visual Servoing of Manipulators With Unknown Depth: A Recurrent Neural Network Approach | |
Yovchev et al. | Preliminary Study of Self-adaptive Constrained Output Iterative Learning Control for Robotic Manipulators | |
Wang et al. | The trajectory planning of 9 degree-of-freedom manipulator based on model predictive control method | |
Dharmendra et al. | Kinematic modeling and hardware development of 5-dof robot manipulator | |
Wu et al. | FBCCD: A Forward and Backward Cyclic Iterative Solver for the Inverse Kinematics of Continuum Robot |
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 |