CN110370256B - Robot and path planning method, device and controller thereof - Google Patents

Robot and path planning method, device and controller thereof Download PDF

Info

Publication number
CN110370256B
CN110370256B CN201910556288.3A CN201910556288A CN110370256B CN 110370256 B CN110370256 B CN 110370256B CN 201910556288 A CN201910556288 A CN 201910556288A CN 110370256 B CN110370256 B CN 110370256B
Authority
CN
China
Prior art keywords
trunk
target
mechanical arm
pose
arm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910556288.3A
Other languages
Chinese (zh)
Other versions
CN110370256A (en
Inventor
王天昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cloudminds Beijing Technologies Co Ltd
Original Assignee
Cloudminds Beijing Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cloudminds Beijing Technologies Co Ltd filed Critical Cloudminds Beijing Technologies Co Ltd
Priority to CN201910556288.3A priority Critical patent/CN110370256B/en
Publication of CN110370256A publication Critical patent/CN110370256A/en
Application granted granted Critical
Publication of CN110370256B publication Critical patent/CN110370256B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J17/00Joints
    • B25J17/02Wrist joints
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/04Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type by rotating at least one arm, excluding the head movement itself, e.g. cylindrical coordinate type or polar coordinate type
    • B25J9/045Polar coordinate type
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

The embodiment of the invention relates to the technical field of robots, and discloses a robot, a path planning method and device thereof, and a controller. The method comprises the following steps: determining a target pose to be reached by a mechanical arm of the robot; solving each joint angle of the mechanical arm when the tail end of the mechanical arm is positioned at the target pose based on an inverse kinematics solving function; and when the joint angles of the mechanical arm cannot be solved, adjusting the joint angles of the trunk of the robot, re-determining the target pose according to the adjusted joint angles of the trunk, and solving the joint angles of the mechanical arm. The embodiment of the invention realizes the mutual matching of the trunk and the mechanical arm of the robot to plan the path.

Description

Robot and path planning method, device and controller thereof
Technical Field
The embodiment of the invention relates to the technical field of robots, in particular to a robot and a path planning method, a path planning device and a controller thereof.
Background
At present, the robot technology is vigorously developed under the background of accelerating aging of society. The existing social structures such as houses, tools, transportation and the like are designed by artificial objects, and humanoid robots and human beings have similar body structures, and if the humanoid robots have structures similar to the human beings, the humanoid robots can be certainly most suitable for various current environments, so that the humanoid robots will not play a powerful aid in human life.
When the robot walks into the family, the grabbing technology is a necessary condition for helping people to relieve labor. The comparatively ripe industrial robot field of arm control at present, but industrial robot generally only is 4/6/7 degrees of freedom, and only arm structure to do not have the health, this kind of structure is equivalent to the shoulder of having fixed humanoid robot, has restricted the working range of arm greatly.
Disclosure of Invention
In view of the above problems, embodiments of the present invention provide a robot, a path planning method, a device and a controller thereof, which overcome or at least partially solve the above problems.
According to an aspect of an embodiment of the present invention, there is provided a path planning method for a robot, including: determining a target pose to be reached by a mechanical arm of the robot; solving each joint angle of the mechanical arm when the tail end of the mechanical arm is positioned at the target pose based on an inverse kinematics solving function; and when the joint angles of the mechanical arm cannot be solved, adjusting the joint angles of the trunk of the robot, re-determining the target pose according to the adjusted joint angles of the trunk, and solving the joint angles of the mechanical arm.
In an optional mode, the target pose is a target point pose in a base coordinate system of the mechanical arm.
In an optional mode, the target pose is a homogeneous transformation matrix composed of a translation vector and a rotation vector.
In an alternative mode, the adjusting of the joint angles of the trunk of the robot includes: rotating a waist joint of the robot.
In an alternative mode, the re-determining the target pose according to the adjusted joint angles of the trunk includes: determining the pose of the adjusted trunk base coordinate system under the mechanical arm base coordinate systemarm trunkT; according toarm targetT=arm trunktrunk targetT determines the pose of a target point under a mechanical arm base coordinate systemarm targetT, whereintrunk targetT is the pose of the target point under the trunk base coordinate system,trunk targett is a constant.
In an alternative mode, the re-determining the target pose and solving the joint angles of the mechanical arm according to the adjusted joint angles of the trunk includes: is constantly changedarm trunkT and according to transformedarm trunkT determinationarm targetT, until the tail end of the mechanical arm can be solved based on the inverse kinematics solving function and is positioned at the position of the mechanical armarm targetAnd T is the angle of each joint of the mechanical arm.
In an optional manner, the re-determining the target pose and solving the joint angles of the mechanical arm according to the adjusted joint angles of the trunk further includes: and (3) adopting a genetic algorithm, and when the inverse kinematics solving function has a solution and the sum of the pose changes of the adjusted trunk basic coordinate system under the mechanical arm basic coordinate system is the minimum compared with the pose changes of the trunk basic coordinate system at the initial starting point under the mechanical arm basic coordinate system, performing path planning according to the pose of the trunk basic coordinate system under the mechanical arm basic coordinate system and the target pose at the moment.
According to another aspect of the embodiments of the present invention, there is provided a path planning apparatus for a robot, including: the determining module is used for determining a target pose to be reached by a mechanical arm of the robot; the solving module is used for solving each joint angle of the mechanical arm when the tail end of the mechanical arm is positioned at the target pose based on an inverse kinematics solving function; and the adjusting module is used for adjusting the joint angles of the trunk of the robot when the joint angles of the mechanical arm cannot be solved, re-determining the target pose according to the adjusted joint angles of the trunk and solving the joint angles of the mechanical arm.
According to another aspect of the embodiments of the present invention, there is provided a controller, including: the system comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete mutual communication through the communication bus; the memory is used for storing at least one executable instruction, and the executable instruction causes the processor to execute the steps of the path planning method of the robot.
According to another aspect of the embodiments of the present invention, there is provided a computer storage medium having at least one executable instruction stored therein, the executable instruction causing a processor to execute the steps of the path planning method for a robot as described above.
According to another aspect of the embodiments of the present invention, there is provided a robot provided with the controller as described above.
According to the embodiment of the invention, the mechanical arm and the trunk of the robot are separately planned, and when the angle of the mechanical arm cannot be solved based on the inverse kinematics solving function, a feasible trunk angle value is searched, so that the inverse kinematics solving function has a solution, and when the trunk moves to the angle value, the mechanical arm can reach a target pose, and the trunk and the mechanical arm of the robot are matched with each other to plan a path.
The foregoing description is only an overview of the technical solutions of the embodiments of the present invention, and the embodiments of the present invention can be implemented according to the content of the description in order to make the technical means of the embodiments of the present invention more clearly understood, and the detailed description of the present invention is provided below in order to make the foregoing and other objects, features, and advantages of the embodiments of the present invention more clearly understandable.
Drawings
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the invention. Also, like reference numerals are used to refer to like parts throughout the drawings. In the drawings:
fig. 1 shows a flowchart of a path planning method for a robot according to an embodiment of the present invention;
FIG. 2 shows a robot pose diagram;
fig. 3 is a flowchart illustrating a path planning method for a robot according to another embodiment of the present invention;
fig. 4 is a block diagram illustrating a path planning apparatus for a robot according to an embodiment of the present invention;
fig. 5 is a block diagram illustrating a controller according to an embodiment of the present invention;
fig. 6 shows a block diagram of a robot according to an embodiment of the present invention.
Reference numerals:
40 path planning device for robot 502 Processor with a memory having a plurality of memory cells
41 Determining module 504 Communication interface
42 Solving module 506 Memory device
43 Adjusting module 508 Communication bus
500 Controller 510 Procedure
100 Robot
Detailed Description
Exemplary embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the invention are shown in the drawings, it should be understood that the invention can be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
The embodiment of the invention provides a path planning method of a robot, which can be applied to humanoid robots and pet robots needing target touch or grabbing, and can be used for separately planning a mechanical arm and a trunk of the robot and finding out a trunk angle with an inverse kinematics function of the mechanical arm through trunk angle search so as to achieve the purpose of mutually matching the trunk and the mechanical arm to plan the path. Fig. 1 shows a flowchart of a path planning method for a robot according to an embodiment of the present invention. As shown in fig. 1, the method comprises the steps of:
step 11: and determining the target pose to be reached by the mechanical arm of the robot.
In this step, the target pose to be reached by the mechanical arm of the robot is determined based on the task. The task may be an instruction issued by a controller inside the robot, for example, an instruction to pick up the garbage when the controller of the robot recognizes that the garbage is on the ground; the task may also be instructions of the user that the robot acquires based on interaction with the user, e.g., the user using the robot instructs the robot to pick up trash on the ground by voice. After receiving the task, the robot can identify the position of the target object according to technologies such as image identification and the like, so that the target pose is determined.
The target pose is a target point pose in a robot arm base coordinate system, and the robot arm base coordinate system is a coordinate system of a first joint (such as a shoulder) of the robot arm. The target pose may be a homogeneous transformation matrix composed of a translation vector and a rotation vector, that is, displacement parameters in three directions and angle parameters in three directions including the position and the posture of the target point. Generally, when performing a task, it is necessary to bring the robot arm tip end of the robot arm to the target pose.
Specifically, the pose of the robot mainly refers to the position and posture of the end of the manipulator (i.e., the hand) of the mechanical arm of the robot in space. The position can be described by a position matrix composed of translation vectors, fig. 2 shows a robot pose diagram, and as shown in fig. 2, the position of a point p (i.e., a target point) in the diagram can be represented by formula (1):
Figure BDA0002106977720000051
the attitude can be represented by an attitude matrix composed of rotation vectors (such as cosine values of angles between three coordinate axes of a coordinate system). As shown in fig. 2, the pose of point p in the graph can be represented by equation (2):
Figure BDA0002106977720000052
the rotation vectors of the target point in the robot base coordinate system in three directions are represented by n, o and a, respectively, and the target point pose T in the robot base coordinate system can be represented by a 4 × 4 homogeneous transformation matrix shown in formula (3):
Figure BDA0002106977720000053
step 12: and solving each joint angle of the mechanical arm when the tail end of the mechanical arm is positioned at the target pose based on an inverse kinematics solving function.
Inverse kinematics is that the position and the attitude of the tail end of the robot are known, and all joint variables of the corresponding position of the robot are calculated. For example, the inverse kinematics solution is performed by the following function (4):
q=IK(arm targetT) (4)
wherein q is the angle of each joint of the mechanical arm,arm targett is the pose of the target point in the base coordinate system of the robot arm, i.e. the pose of the target described above that can be represented by a 4 × 4 homogeneous transformation matrix. IK being inverse kinematicsAnd solving the function.arm targetAnd T is known, and the solution is obtained according to the function, so that whether the solution exists in the current state can be known.
Step 13: and when the joint angles of the mechanical arm cannot be solved, adjusting the joint angles of the trunk of the robot, re-determining the target pose according to the adjusted joint angles of the trunk, and solving the joint angles of the mechanical arm.
Those skilled in the art will appreciate that the inverse kinematics problem is actually a solution problem for a nonlinear transcendental system of equations, and includes a series of complex problems including existence, uniqueness, etc. of solutions. Therefore, the calculation of the inverse solution of the robot kinematics first considers solvability, i.e. the cases of no solution, multiple solutions, etc. The first consideration is the case of no solution, which is obviously the case for target points outside the workspace of the robot's current position. In this step, each joint angle of the trunk, which allows the inverse kinematics function in step 12 to have a solution, is found by means of search and solution. If q has a solution in step 12, it indicates that the target pose can be reached in the current state, the search in this step can be directly skipped, and the grabbing path planning is performed according to each joint angle of the mechanical arm when the solved mechanical arm tail end of the mechanical arm is located at the target pose. If q is not solved in the step 12, it is indicated that the mechanical arm cannot reach the target pose in the current state, and the target pose in the base coordinate system of the mechanical arm needs to be changed. The change method can be used for adjusting the joint angles of the trunk of the robot, and finding out a group of joint angles of the trunk through continuous sampling search, so that the target pose under the base coordinate system of the mechanical arm is reachable (namely the inverse kinematics has a solution).
In this step, adjusting the joint angles of the trunk of the robot may be rotating the waist joint of the robot. By the waist rotation, the shoulder position of the mechanical arm is changed, thereby changing the base coordinate system of the mechanical arm, thereby leading toarm targetT is changed. Step 11 and step 12 are repeated at this point until the inverse kinematics function has a solution or until an optimal solution is found.
Target point pose under mechanical arm base coordinate systemarm targetPose of T and trunk base coordinate system under mechanical arm base coordinate systemarm trunkTarget point pose under T and trunk base coordinate systemtrunk targetT is related as shown in the following formula (5):
arm targetT=arm trunktrunk targetT (5)
since the body position of the robot does not change in the formula (5), the robot is not affected by the change in the body positiontrunk targetT is a constant value, and T is a constant value,trunk targetthe T matrix is constant.arm trunkT varies with the angle of each joint of the trunk. According to the above equation, thetrunk targetT is not changed, and the number of the T is not changed,arm trunkt is changed, thenarm targetT also changes. By constantly changingarm trunkT, obtaining newarm targetAnd the value T is solved according to the inverse kinematics function until the inverse kinematics function has a solution or until an optimal solution is found, so that the robot can reach the target pose.
Having described how to solve the problem of no solution of the inverse kinematics function in step 12, how to solve the problem of multiple solutions of the inverse kinematics function in step 12 will be described below by another embodiment. If the inverse kinematics has multiple solutions, the control program must select one of the solutions at run time and then cause the driver to drive the robot joint to rotate or translate. In actual execution, different criteria can be determined according to actual requirements, and a solution can be selected according to the determined criteria. FIG. 3 is a flow chart illustrating a method for planning a path of a robot according to another embodiment of the present invention, wherein the determination principle is to search for a solution to the inverse kinematics function and minimize the motion of joints of the trunkarm trunkAnd T. As shown in fig. 3, the method comprises the steps of:
step 31: and determining the pose of the target.
For the specific implementation of this step, reference may be made to step 11 in the foregoing embodiment, which is not described herein again.
Step 32: inverse kinematics solution is performed.
For the specific implementation of this step, reference may be made to step 12 in the foregoing embodiment, which is not described herein again.
Step 33: and judging whether the inverse kinematics has a solution, if so, executing a step 35, otherwise, executing a step 34.
Step 34: and searching each joint angle of the trunk through a genetic algorithm. Then, step 32 is performed.
In this step, the angles of each joint of the trunk, which enable the mechanical arm to reach the minimum change of the target pose, need to be searched through a genetic algorithm. In general, multiple sets of torso angles can make the inverse kinematics of the mechanical arm have solutions, and we need to find an optimal solution out of the solutions without sets. The method adopts a genetic algorithm, a set objective function is the sum of the angle changes of the trunk, and the motion amount of each joint of the trunk is the minimum when the value is the minimum. Thus, by searching for a group, the inverse kinematics can be solved with minimal motionarm trunkT, according toarm trunkT determinationarm targetAnd T, finally calculating the angle of each joint of the mechanical arm through inverse kinematics.
Step 35: determining the angles of all joints of the trunk and calculating the angles of all joints of the mechanical arm.
The determined angles of the joints of the trunk are the angles of the joints of the trunk which have the solution to inverse kinematics and have the least amount of movement. And solving the angle of each joint of the mechanical arm according to the target pose under the body angle, and planning the optimal path according to the solved angle of each joint of the mechanical arm.
According to the embodiment of the invention, the mechanical arm and the trunk of the robot are separately planned, and when the angle of the mechanical arm cannot be solved based on the inverse kinematics solving function, a feasible trunk angle value is searched, so that the inverse kinematics solving function has a solution, and when the trunk moves to the angle value, the mechanical arm can reach a target pose, and the trunk and the mechanical arm of the robot are matched with each other to plan a path.
Fig. 4 shows a block diagram of a path planning apparatus for a robot according to an embodiment of the present invention, and as shown in fig. 4, the apparatus 40 includes a determining module 41, a solving module 42, and an adjusting module 43.
The determining module 41 is configured to determine a target pose to be reached by a mechanical arm of the robot; the solving module 42 is configured to solve each joint angle of the mechanical arm when the end of the mechanical arm is located at the target pose based on an inverse kinematics solving function; the adjusting module 43 is configured to adjust each joint angle of the trunk of the robot when each joint angle of the mechanical arm cannot be solved, and re-determine the target pose according to each adjusted joint angle of the trunk and solve each joint angle of the mechanical arm.
In some embodiments, the target pose is a target point pose in a robot base coordinate system.
In some embodiments, the target pose is a homogeneous transformation matrix composed of translation vectors and rotation vectors.
In some embodiments, the adjusting the joint angles of the torso of the robot comprises:
rotating a waist joint of the robot.
In some embodiments, the re-determining the target pose according to the adjusted joint angles of the torso includes:
determining the pose of the adjusted trunk base coordinate system under the mechanical arm base coordinate systemarm trunkT;
According toarm targetT=arm trunktrunk targetT determines the pose of a target point under a mechanical arm base coordinate systemarm targetT, whereintrunk targetT is the pose of the target point under the trunk base coordinate system,trunk targett is a constant.
In some embodiments, the re-determining the target pose and solving for the joint angles of the mechanical arm according to the adjusted joint angles of the trunk includes:
is constantly changedarm trunkT and according to transformedarm trunkT determinationarm targetT until based on inverseThe kinematics solving function can solve that the tail end of the mechanical arm is positioned at the positionarm targetAnd T is the angle of each joint of the mechanical arm.
In some embodiments, the re-determining the target pose and solving for the joint angles of the mechanical arm according to the adjusted joint angles of the trunk further includes:
and (3) adopting a genetic algorithm, and when the inverse kinematics solving function has a solution and the sum of the pose changes of the adjusted trunk basic coordinate system under the mechanical arm basic coordinate system is the minimum compared with the pose changes of the trunk basic coordinate system at the initial starting point under the mechanical arm basic coordinate system, performing path planning according to the pose of the trunk basic coordinate system under the mechanical arm basic coordinate system and the target pose at the moment.
An embodiment of the present invention provides a computer storage medium, where at least one executable instruction is stored, and the executable instruction causes a processor to execute the steps of the path planning method for a robot according to the above embodiment.
Fig. 5 is a block diagram illustrating a structure of a controller according to an embodiment of the present invention, where the specific embodiment of the present invention does not limit the specific implementation of the controller.
As shown in fig. 5, the controller 500 may include: a processor (processor)502, a Communications Interface 504, a memory 506, and a communication bus 508.
Wherein: the processor 502, communication interface 504, and memory 506 communicate with one another via a communication bus 508. A communication interface 504 for communicating with network elements of other devices, such as clients or other servers. The processor 502 is configured to execute the program 510, and may specifically execute the relevant steps in the embodiment of the path planning method for a robot of a controller.
In particular, program 510 may include program code that includes computer operating instructions.
The processor 502 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more Integrated circuits configured to implement an embodiment of the present invention. The controller includes one or more processors, which may be the same type of processor, such as one or more CPUs; or may be different types of processors such as one or more CPUs and one or more ASICs.
And a memory 506 for storing a program 510. The memory 506 may comprise high-speed RAM memory, and may also include non-volatile memory (non-volatile memory), such as at least one disk memory.
Fig. 6 shows a block diagram of a robot according to an embodiment of the present invention. As shown in fig. 6, the robot 100 is provided with the controller 500 according to the above embodiment.
The algorithms or displays presented herein are not inherently related to any particular computer, virtual system, or other apparatus. Various general purpose systems may also be used with the teachings herein. The required structure for constructing such a system will be apparent from the description above. In addition, embodiments of the present invention are not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the embodiments of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the invention and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names. The steps in the above embodiments should not be construed as limiting the order of execution unless specified otherwise.

Claims (8)

1. A method for planning a path of a robot, comprising:
determining a target pose to be reached by a mechanical arm of the robot;
solving each joint angle of the mechanical arm when the tail end of the mechanical arm is positioned at the target pose based on an inverse kinematics solving function;
when the joint angles of the mechanical arm cannot be solved, adjusting the joint angles of the trunk of the robot, re-determining the target pose according to the adjusted joint angles of the trunk, and solving the joint angles of the mechanical arm;
the target pose is a target point pose under a mechanical arm base coordinate system;
the re-determining the target pose according to the adjusted joint angles of the trunk comprises:
determining the pose of the adjusted trunk base coordinate system under the mechanical arm base coordinate systemarm trunkT;
According toarm targetT=arm trunktrunk targetT determines the pose of a target point under a mechanical arm base coordinate systemarm targetT, whereintrunk targetT is the pose of the target point under the trunk base coordinate system,trunk targett is a constant;
the re-determining the target pose and solving the joint angles of the mechanical arm according to the adjusted joint angles of the trunk comprises the following steps:
is constantly changedarm trunkT and according to transformedarm trunkT determinationarm targetT, until the tail end of the mechanical arm can be solved based on the inverse kinematics solving function and is positioned at the position of the mechanical armarm targetAnd T is the angle of each joint of the mechanical arm.
2. The method of claim 1, wherein the target pose is a homogeneous transformation matrix consisting of translation vectors and rotation vectors.
3. The method of claim 1, wherein said adjusting each joint angle of the torso of the robot comprises:
rotating a waist joint of the robot.
4. The method of claim 1, wherein the re-determining the target pose from the adjusted joint angles of the torso and solving for the joint angles of the robotic arm further comprises:
and (3) adopting a genetic algorithm, and when the inverse kinematics solving function has a solution and the sum of the pose changes of the adjusted trunk basic coordinate system under the mechanical arm basic coordinate system is the minimum compared with the pose changes of the trunk basic coordinate system at the initial starting point under the mechanical arm basic coordinate system, performing path planning according to the pose of the trunk basic coordinate system under the mechanical arm basic coordinate system and the target pose at the moment.
5. A path planning apparatus for a robot, comprising:
the determining module is used for determining a target pose to be reached by a mechanical arm of the robot;
the solving module is used for solving each joint angle of the mechanical arm when the tail end of the mechanical arm is positioned at the target pose based on an inverse kinematics solving function;
the adjusting module is used for adjusting each joint angle of the trunk of the robot when each joint angle of the mechanical arm cannot be solved, re-determining the target pose according to the adjusted each joint angle of the trunk and solving each joint angle of the mechanical arm;
the target pose is a target point pose under a mechanical arm base coordinate system;
the adjustment module is further configured to:
determining the pose of the adjusted trunk base coordinate system under the mechanical arm base coordinate systemarm trunkT;
According toarm targetT=arm trunktrunk targetT determines the pose of a target point under a mechanical arm base coordinate systemarm targetT, whereintrunk targetT is the pose of the target point under the trunk base coordinate system,trunk targett is a constant;
is constantly changedarm trunkT and according to transformedarm trunkT determinationarm targetT, until the tail end of the mechanical arm can be solved based on the inverse kinematics solving function and is positioned at the position of the mechanical armarm targetAnd T is the angle of each joint of the mechanical arm.
6. A controller (500), comprising: a processor (502), a memory (506), a communication interface (504) and a communication bus (508), wherein the processor (502), the memory (506) and the communication interface (504) are communicated with each other through the communication bus (508);
the memory (506) is for storing at least one executable instruction which causes the processor (502) to perform the steps of the method of path planning for a robot according to any of claims 1-4.
7. A computer storage medium having stored therein at least one executable instruction causing a processor to perform the steps of the method of path planning for a robot according to any of claims 1-4.
8. A robot (100), characterized in that the robot (100) is provided with a controller (500) according to claim 6.
CN201910556288.3A 2019-06-25 2019-06-25 Robot and path planning method, device and controller thereof Active CN110370256B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910556288.3A CN110370256B (en) 2019-06-25 2019-06-25 Robot and path planning method, device and controller thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910556288.3A CN110370256B (en) 2019-06-25 2019-06-25 Robot and path planning method, device and controller thereof

Publications (2)

Publication Number Publication Date
CN110370256A CN110370256A (en) 2019-10-25
CN110370256B true CN110370256B (en) 2021-06-04

Family

ID=68249401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910556288.3A Active CN110370256B (en) 2019-06-25 2019-06-25 Robot and path planning method, device and controller thereof

Country Status (1)

Country Link
CN (1) CN110370256B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112372632A (en) * 2020-10-12 2021-02-19 达闼机器人有限公司 Mechanical arm motion control method and device and computer readable storage medium
CN113043286B (en) * 2020-12-25 2022-05-03 杭州电子科技大学 Multi-degree-of-freedom mechanical arm real-time obstacle avoidance path planning system and method
CN112975954B (en) * 2021-02-03 2022-07-26 武汉联影智融医疗科技有限公司 Control method of robot arm, computer device, and storage medium
CN113119120B (en) * 2021-03-30 2022-06-07 深圳市优必选科技股份有限公司 Robot control method and device and robot
CN113319863B (en) * 2021-05-11 2023-06-16 华中科技大学 Workpiece clamping pose optimization method and system for robot grinding and polishing machining of blisk
CN113379849B (en) * 2021-06-10 2023-04-18 南开大学 Robot autonomous recognition intelligent grabbing method and system based on depth camera
CN113589809B (en) * 2021-07-26 2024-04-05 江苏徐工工程机械研究院有限公司 Work track planning method and device for obstacle-avoidance excavator working device
CN114559432B (en) * 2022-03-02 2023-11-21 杭州柳叶刀机器人有限公司 Automatic positioning and path-finding method and device for surgical mechanical arm, robot and storage medium
CN116019564B (en) * 2023-03-28 2023-07-28 北京壹点灵动科技有限公司 Knee joint operation robot and control method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375416A (en) * 2010-08-13 2012-03-14 同济大学 Human type robot kicking action information processing method based on rapid search tree
WO2012090440A1 (en) * 2010-12-28 2012-07-05 川崎重工業株式会社 Control device and teaching method for seven-shaft multi-joint robot
CN107116553A (en) * 2017-05-08 2017-09-01 深拓科技(深圳)有限公司 The operating method and device of a kind of mechanical arm
CN107598929A (en) * 2017-10-25 2018-01-19 北京邮电大学 A kind of simple joint defective space mechanical arm pose reachable tree method for solving
CN108139730A (en) * 2015-12-11 2018-06-08 Abb瑞士股份有限公司 Robot off-line programming method and use its device
CN108499054A (en) * 2018-04-04 2018-09-07 清华大学深圳研究生院 A kind of vehicle-mounted mechanical arm based on SLAM picks up ball system and its ball picking method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108081270B (en) * 2017-12-15 2020-05-19 中国兵器装备集团自动化研究所 Dangerous goods processing system and control method
CN109732609A (en) * 2019-02-21 2019-05-10 电子科技大学中山学院 Redundant degree of freedom mechanical arm motion planning method and device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375416A (en) * 2010-08-13 2012-03-14 同济大学 Human type robot kicking action information processing method based on rapid search tree
WO2012090440A1 (en) * 2010-12-28 2012-07-05 川崎重工業株式会社 Control device and teaching method for seven-shaft multi-joint robot
CN108139730A (en) * 2015-12-11 2018-06-08 Abb瑞士股份有限公司 Robot off-line programming method and use its device
CN107116553A (en) * 2017-05-08 2017-09-01 深拓科技(深圳)有限公司 The operating method and device of a kind of mechanical arm
CN107598929A (en) * 2017-10-25 2018-01-19 北京邮电大学 A kind of simple joint defective space mechanical arm pose reachable tree method for solving
CN108499054A (en) * 2018-04-04 2018-09-07 清华大学深圳研究生院 A kind of vehicle-mounted mechanical arm based on SLAM picks up ball system and its ball picking method

Also Published As

Publication number Publication date
CN110370256A (en) 2019-10-25

Similar Documents

Publication Publication Date Title
CN110370256B (en) Robot and path planning method, device and controller thereof
JP5261495B2 (en) Real-time self-collision and obstacle avoidance using weight matrix
WO2018107851A1 (en) Method and device for controlling redundant robot arm
Huang et al. Particle swarm optimization for solving the inverse kinematics of 7-DOF robotic manipulators
US9411335B2 (en) Method and apparatus to plan motion path of robot
Kaltsoukalas et al. On generating the motion of industrial robot manipulators
US8406989B1 (en) Method for adaptive obstacle avoidance for articulated redundant robot arm
Sundaralingam et al. Geometric in-hand regrasp planning: Alternating optimization of finger gaits and in-grasp manipulation
Vahrenkamp et al. Efficient inverse kinematics computation based on reachability analysis
Zhang et al. A novel coordinated motion planner based on capability map for autonomous mobile manipulator
Bagheri et al. Kinematic analysis and design considerations for optimal base frame arrangement of humanoid shoulders
Feng et al. Inverse kinematic solution for robot manipulator based on electromagnetism-like and modified DFP algorithms
JP2011500349A (en) Real-time self-collision and obstacle avoidance
Scheurer et al. Path planning method for palletizing tasks using workspace cell decomposition
Luo et al. Analytical inverse kinematic solution for modularized 7-DoF redundant manipulators with offsets at shoulder and wrist
Tarbouriech et al. Bi-objective motion planning approach for safe motions: Application to a collaborative robot
CN111123943A (en) Pseudo-inverse constraint-based super-redundant robot trajectory planning method and system
Cruciani et al. Dual-arm in-hand manipulation and regrasping using dexterous manipulation graphs
Hernández et al. Lazy evaluation of goal specifications guided by motion planning
Jiang et al. An integrated inverse kinematic approach for the 7-DOF humanoid arm with offset wrist
Li et al. A general formulation and approach to constrained, continuum manipulation
Balaguer et al. Bimanual regrasping from unimanual machine learning
Akli Trajectory planning for mobile manipulators including Manipulability Percentage Index
Skrobek et al. Optimization of the operation of the anthropomorphic manipulator in a three-dimensional working space
Tufail et al. Impedance control schemes for bilateral teleoperation

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