CN112372632A - Mechanical arm motion control method and device and computer readable storage medium - Google Patents

Mechanical arm motion control method and device and computer readable storage medium Download PDF

Info

Publication number
CN112372632A
CN112372632A CN202011083937.1A CN202011083937A CN112372632A CN 112372632 A CN112372632 A CN 112372632A CN 202011083937 A CN202011083937 A CN 202011083937A CN 112372632 A CN112372632 A CN 112372632A
Authority
CN
China
Prior art keywords
mechanical arm
space
joint
voxel
target
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.)
Pending
Application number
CN202011083937.1A
Other languages
Chinese (zh)
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 Robotics Co Ltd
Original Assignee
Cloudminds Robotics 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 Robotics Co Ltd filed Critical Cloudminds Robotics Co Ltd
Priority to CN202011083937.1A priority Critical patent/CN112372632A/en
Publication of CN112372632A publication Critical patent/CN112372632A/en
Priority to PCT/CN2021/122362 priority patent/WO2022078234A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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

Landscapes

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

Abstract

The invention discloses a mechanical arm action control method, equipment and a computer readable storage medium, wherein the method comprises the following steps: acquiring motion planning path information of the mechanical arm, wherein the motion planning path information comprises space voxel codes of a plurality of target positions at the tail end of the mechanical arm corresponding to the motion planning path of the mechanical arm; determining target joint angles of all joints of the mechanical arm when the tail end of the mechanical arm is positioned in the space voxel coding according to the space voxel coding and the corresponding relation between the target position of the tail end of the mechanical arm and the joint angles of all joints of the mechanical arm; and according to the motion planning path information, sequentially controlling the joint angle of each joint of the mechanical arm to be adjusted to a target joint angle corresponding to the space voxel code. The problem that a complicated joint angle solving process is effectively avoided, the problem that the target position at the tail end of one mechanical arm corresponds to various joint angle adjusting schemes is solved, and the mechanical arm actions of the robot can be highly unified when a plurality of robots are required to execute the same action.

Description

Mechanical arm motion control method and device and computer readable storage medium
Technical Field
The invention relates to the field of mechanical arm motion control, in particular to a method and equipment for controlling the motion of a mechanical arm and a computer readable storage medium.
Background
In the process of planning the motion of the mechanical arm, after the motion trail of the end points of the mechanical arm is determined, the angles of all joints of the mechanical arm corresponding to each end point are calculated in sequence according to all points on the end point trail. The method belongs to the problem of solving the inverse motion of the mechanical arm, and at present, the problem of solving the inverse motion of the mechanical arm is mainly solved by an analytic method based on inverse multiplication. However, when the inverse motion problem of the mechanical arm is solved by adopting an inverse multiplication analytical method, the decoupling process is very complex due to the complex coupling relation among the angles of all joints of the mechanical arm, and roots may be added when solving a trigonometric equation, so that the pose of the mechanical arm needs to be determined according to the structural characteristics of the mechanical arm, and the requirement of real-time positioning cannot be realized. On the other hand, because the joint angles of the mechanical arm and the spatial position of the tail end of the mechanical arm are in a many-to-one relationship, a plurality of mechanical arm joint angles are usually obtained by a traditional analytical method, and a unique optimal solution for determining the mechanical arm joints in real time cannot be realized.
Disclosure of Invention
Embodiments of the present invention provide a method and an apparatus for controlling motions of a robot arm, and a computer-readable storage medium to solve the above problems in the process of controlling motions of the robot arm.
According to a first aspect of the present invention, there is provided a robot motion control method, the method comprising: acquiring motion planning path information of the mechanical arm, wherein the motion planning path information comprises space voxel codes of a plurality of target positions at the tail end of the mechanical arm corresponding to the motion planning path of the mechanical arm; determining target joint angles of all joints of the mechanical arm when the tail end of the mechanical arm is positioned in the space voxel code according to the space voxel code and the corresponding relation between the target position of the tail end of the mechanical arm and the joint angles of all joints of the mechanical arm; and sequentially controlling the joint angle of each joint of the mechanical arm to be adjusted to a target joint angle corresponding to the space voxel code according to the action planning path information.
According to an embodiment of the present invention, the correspondence between the target position of the end of the robot arm and the joint angle of each joint of the robot arm is determined by: determining the motion space of the robot arm; dividing the motion space into a plurality of space voxels, and determining a space voxel code of each space voxel; determining target joint angles of all joints of the mechanical arm when the mechanical arm moves to a target position and is in a stable state.
According to an embodiment of the present invention, the determining the motion space of the robot arm includes: and determining a first cube which can contain all target positions reached by each mechanical arm of the robot by taking the central point of the robot as an original point of an action space, and taking the first cube as the action space.
According to an embodiment of the present invention, the dividing the motion space into a plurality of spatial voxels and determining a spatial voxel code of each spatial voxel includes: dividing the first cube into a plurality of second cubes with equal volumes by using an octree algorithm, wherein each second cube serves as a spatial voxel; each of the second cubes is coded according to its position in the first cube.
According to an embodiment of the present invention, the sequentially controlling the joint angles of the joints of the robot arm to adjust to the target joint angle corresponding to the spatial voxel code according to the motion planning path information includes: when the motion planning path of the mechanical arm passes through a 1 st target position, a 2 nd target position and a 3 rd target position … … (M-1) th target position from the current position and finally moves to the M th position, controlling joint angles of N joints of the mechanical arm to be respectively adjusted to N target joint angles corresponding to spatial voxel codes of the 1 st target position; controlling joint angles of N joints of the mechanical arm to be respectively adjusted to N target joint angles corresponding to the space voxel code of the 2 nd target position; controlling joint angles of N joints of the mechanical arm to be respectively adjusted to N target joint angles corresponding to the space voxel code of the 3 rd target position; … …, controlling the joint angles of N joints of the mechanical arm to be respectively adjusted to N target joint angles corresponding to the spatial voxel code of the Mth target position; wherein M is the number of sampling points of the action planning path of the mechanical arm, N is the number of joints of the mechanical arm, and M, N are positive integers.
According to a second aspect of the present invention, there is also provided a robot motion control apparatus comprising: the mechanical arm motion planning system comprises a path acquisition device, a path acquisition device and a processing device, wherein the path acquisition device is used for acquiring motion planning path information of a mechanical arm, and the motion planning path information comprises space voxel codes of a plurality of target positions at the tail end of the mechanical arm corresponding to the motion planning path of the mechanical arm; the angle determining device is used for determining target joint angles of all joints of the mechanical arm when the tail end of the mechanical arm is positioned in the space voxel code according to the space voxel code and the corresponding relation between the target position of the tail end of the mechanical arm and the joint angles of all joints of the mechanical arm; and the joint adjusting device is used for sequentially controlling the joint angle of each joint of the mechanical arm to be adjusted to a target joint angle corresponding to the space voxel code according to the action planning path information.
According to an embodiment of the present invention, the angle determining apparatus includes: the relation pre-determining module is used for pre-determining the corresponding relation between the target position of the tail end of the mechanical arm and the joint angle of each joint of the mechanical arm: the method comprises the following steps: the action space determining submodule is used for determining the action space of the robot of the mechanical arm; the space division submodule is used for dividing the action space into a plurality of space voxels and determining the space voxel code of each space voxel; and the relation determination submodule is used for determining the target joint angle of each joint of the mechanical arm when the mechanical arm moves to the target position and is in a stable state.
According to an embodiment of the present invention, the motion space determination submodule determines the motion space of the robot arm by using: and determining a first cube which can contain all target positions reached by each mechanical arm of the robot by taking the central point of the robot as an original point of an action space, and taking the first cube as the action space.
According to an embodiment of the present invention, the spatial partitioning sub-module partitions the motion space into a plurality of spatial voxels and determines a spatial voxel code for each spatial voxel by: dividing the first cube into a plurality of second cubes with equal volumes by using an octree algorithm, wherein each second cube serves as a spatial voxel; each of the second cubes is coded according to its position in the first cube.
According to a third aspect of the present invention, there is also provided a computer-readable storage medium comprising a set of computer-executable instructions which, when executed, are operable to perform any of the robot arm motion control methods described above.
The embodiment of the invention divides the motion space of the robot into a plurality of small voxel spaces and codes, predetermines the corresponding relation between the target position at the tail end of the mechanical arm of the robot and the joint angle of each joint of the mechanical arm, when planning the motion of the mechanical arm of the robot, plans according to the voxel space to which the target position at the tail end of the mechanical arm belongs, thereby determining the target joint angle of each joint of the mechanical arm when the tail end of the mechanical arm is positioned at the space voxel code according to the space voxel code of the target position at the tail end of the mechanical arm and the corresponding relation between the target position at the tail end of the mechanical arm and the joint angle of each joint of the mechanical arm, and sequentially controls the joint angle of each joint of the mechanical arm to be adjusted to the target joint angle corresponding to the space voxel code according to the motion. Therefore, the complicated joint angle solving process of each joint of the mechanical arm is avoided, the corresponding relation between the target position at the tail end of the mechanical arm and the joint angle of each joint of the mechanical arm is uniquely determined, the problem that the target position at the tail end of one mechanical arm corresponds to various joint angle adjusting schemes is effectively solved, and the mechanical arm actions of the robot can be highly unified when a plurality of robots are required to execute the same action.
It is to be understood that the teachings of the present invention need not achieve all of the above-described benefits, but rather that specific embodiments may achieve specific technical results, and that other embodiments of the present invention may achieve benefits not mentioned above.
Drawings
The above and other objects, features and advantages of exemplary embodiments of the present invention will become readily apparent from the following detailed description read in conjunction with the accompanying drawings. Several embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which:
in the drawings, the same or corresponding reference numerals indicate the same or corresponding parts.
FIG. 1 is a schematic diagram illustrating a flow chart of a method for controlling a motion of a robot arm according to an embodiment of the present invention;
FIG. 2 is a schematic diagram illustrating a motion space of a robot arm in a robot arm motion control method according to an embodiment of the present invention;
fig. 3 is a schematic diagram showing a composition structure of a robot arm motion control apparatus according to an embodiment of the present invention.
Detailed Description
The principles and spirit of the present invention will be described with reference to a number of exemplary embodiments. It is understood that these embodiments are given only to enable those skilled in the art to better understand and to implement the present invention, and do not limit the scope of the present invention in any way. 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 technical solution of the present invention is further elaborated below with reference to the drawings and the specific embodiments.
Fig. 1 shows a schematic implementation flow diagram of a robot arm motion control method according to an embodiment of the present invention.
Referring to fig. 1, a method for controlling the motion of a mechanical arm according to an embodiment of the present invention at least includes the following steps: operation 101, acquiring motion planning path information of the mechanical arm, wherein the motion planning path information comprises space voxel codes of a plurality of target positions at the tail end of the mechanical arm corresponding to the motion planning path of the mechanical arm; operation 102, determining target joint angles of joints of the mechanical arm when the tail end of the mechanical arm is located in the space voxel coding according to the space voxel coding and the corresponding relation between the target position of the tail end of the mechanical arm and the joint angles of the joints of the mechanical arm; and operation 103, sequentially controlling the joint angles of all joints of the mechanical arm to be adjusted to the target joint angle corresponding to the space voxel code according to the motion planning path information.
In operation 101, motion planning path information of a mechanical arm is acquired, where the motion planning path information includes spatial voxel codes of a plurality of target positions at an end of the mechanical arm corresponding to the motion planning path of the mechanical arm.
For example, for a robot that needs to perform a specific action, for example: the mechanical arm needs to perform specific actions, such as grabbing articles, jumping dance, waving hands in welcoming, and the like. When the mechanical arm action is planned, the path of the tail end of the mechanical arm can be determined firstly, then a plurality of sampling points are selected on the path of the tail end of the mechanical arm to serve as a plurality of target positions of the tail end of the mechanical arm, and the joint angle of each joint of the mechanical arm is determined when the tail end of the mechanical arm is located at each sampling point.
In order to avoid the following problems caused by solving the inverse motion of the mechanical arm based on an analytical method adopting inverse multiplication: due to the complex coupling relation among the angles of all the joints of the mechanical arm, the decoupling process is very complex, roots may be added when solving a trigonometric equation, the pose of the mechanical arm needs to be determined according to the structural characteristics of the mechanical arm, and the requirement of real-time positioning of all the joints of the mechanical arm cannot be met.
In one embodiment of the present invention, the operation space of the robot is constructed with the center of the robot to which the robot arm belongs as the origin. For example: a first cube, which includes all the positions where the robot arms of the robot can reach all the target positions, may be determined as the motion space of the robot with the center of the robot to which the robot arms belong as the origin.
For example, the center of the robot may be determined according to the external dimensions of the robot, and the largest cube shown in fig. 2 is determined as the first cube, and the center point of the first cube coincides with the center of the robot. The robot body keeps still, and when only the mechanical arm moves, the maximum distance that each mechanical arm of the robot can extend is determined, and the action range of each mechanical arm is ensured to be within the range of the first cube.
In one embodiment of the invention, an octree algorithm is utilized to divide a first cube into a plurality of second cubes with equal volumes, and each second cube is used as a spatial voxel; each second cube is coded according to its position in the first cube.
For example, the working space of the robotic arm is partitioned based on the octree principle for the first cube, for example: the first cube is divided into eight small cubes with identical size and shape, and each of the divided small cubes (hereinafter referred to as spatial voxel or voxel) can be divided into 8 small cubes again, so that each small cube is divided continuously by using the octree principle. Until the first cube is divided into a plurality of second cubes with equal volumes, the size of the second cubes meets the action planning requirement of the mechanical arm, such as: the second cube has a side length of less than 1 cm.
For example: for the division of the largest cube shown in fig. 2, the largest cube can be divided into an upper layer and a lower layer, each layer is divided into four cubes on average, one of the four cubes on the upper layer is selected as a number 1 small cube, the number 2-4 small cubes are sorted by the reverse clock, the number 5 small cube in the second layer is positioned below the number 1 small cube, and the number 6-8 cubes are also sorted by the counterclockwise direction.
Each second cube serves as a spatial voxel of the mechanical arm motion space, and each spatial voxel has a unique code. Taking fig. 2 as an example, a first cube serving as a robot arm action space is taken as a first-level cube, the divided eight equally divided 1-8 minicubes are lower-level cubes of which a second-level cube is a first-level cube, and correspondingly, the first cube is an upper-level cube of the 1-8 minicubes, wherein the 6 minicubes are positioned below the 2 minicubes and are not visible in the schematic diagram of fig. 2, and therefore are not directly identified in fig. 2.
For each spatial voxel encoding may be performed using a process of dividing a first cube into a second cube. For example: one byte (bit) is used to express the order and position of a spatial voxel in eight newly generated voxels when the voxel is generated by octuple of the spatial voxel at the previous level. Thus, the specific position of the second cube, which is obtained after multiple partitions, can be expressed by using multiple bytes.
For example: the small cubes of numbers 1-8 are first coded in sequence as follows (2-system code):
0000 0001、0000 0010、0000 0100、0000 1000、
0001 0000、0010 0000、0100 0000、1000 0000,
the subcube of the minicube No. 1 can be represented as an array of two bytes:
[0000 0001、0000 0010]
the coding of the second cube which is obtained by continuous division and is used as a spatial voxel can be performed by continuously adding byte behind the array in an analogy manner. Thus, each second cube has a code, i.e. each spatial voxel has a spatial voxel code.
In operation 102, a target joint angle of each joint of the robot arm when the robot arm end is located in the space voxel code is determined according to the space voxel code and the corresponding relationship between the target position of the robot arm end and the joint angle of each joint of the robot arm.
In an embodiment of the present invention, the correspondence between the target position of the end of the robot arm and the joint angle of each joint of the robot arm is determined by: determining an action space of the mechanical arm robot; dividing the motion space into a plurality of space voxels, and determining a space voxel code of each space voxel; and determining the target joint angle of each joint of the mechanical arm when the mechanical arm moves to the target position and is in a stable state.
For example, all the spatial voxels described in operation 101 may be set up as a data Table join Table, where the Table index is the code of each spatial voxel. All spatial voxels build a data Table Joins Table, whose index is the code of each spatial voxel. The spatial voxel code of the spatial voxel that the end of the mechanical arm can reach is then determined. And further sequentially moving the tail end of the mechanical arm to the determined space topic codes, adjusting the mechanical arm to a stable state when the mechanical arm moves to each space voxel, recording the joint angle of each joint of the mechanical arm at the moment, and recording the joint angle of each joint of the mechanical arm in a Joints Table, thereby obtaining the corresponding relation between the target position of the tail end of the mechanical arm and the joint angle of each joint of the mechanical arm.
In an embodiment of the present invention, each spatial voxel may also be encoded using the concept of a three-dimensional coordinate system, for example: referring again to fig. 2, the center of the largest cube as the motion space of the robot arm is taken as the origin, and the direction shown toward the right side of fig. 2 along the common edges of the four microcubes No. 1, No. 4, No. 5, and No. 8 is taken as the x-axis positive direction; a direction shown toward the inner side of fig. 2 along the common side of the four microcubes No. 1, No. 2, No. 5, and No. 6 is taken as a y-axis forward direction; the direction shown toward the upper side of fig. 2 along the common edges of the four microcubes No. 1, No. 2, No. 3, and No. 4 is taken as the z-axis forward direction. The direction shown toward the inner side of fig. 2 refers to a direction pointing along the common edge of the No. 3, No. 4, No. 7, and No. 8 cubes to the common edge of the No. 1, No. 2, No. 5, and No. 6 microcubes. And then determining the coordinate of each space voxel by taking the side length of the second cube as the minimum unit of the three-dimensional coordinate system. For example: directly regarding the cube nos. 1 to 8 in fig. 2 as a space voxel respectively, the space voxels of the space voxels nos. 1 to 8 are (1,1,1), (-1, -1,1), (1,1, -1), (-1, -1), (1, -1, -1) in the order.
Similarly, all the spatial voxels described in operation 101 may be used to establish a data Table join Table with the coordinates of each spatial voxel in the three-dimensional coordinate system, and the Table index is the code of each spatial voxel. All spatial voxels build a data Table Joins Table, whose index is the code of each spatial voxel. The spatial voxel code of the spatial voxel that the end of the mechanical arm can reach is then determined. And further sequentially moving the tail end of the mechanical arm to the determined space topic codes, adjusting the mechanical arm to a stable state when the mechanical arm moves to each space voxel, recording the joint angle of each joint of the mechanical arm at the moment, and recording the joint angle of each joint of the mechanical arm in a Joints Table, thereby obtaining the corresponding relation between the target position of the tail end of the mechanical arm and the joint angle of each joint of the mechanical arm.
In operation 103, joint angles of the joints of the robot arm are sequentially controlled to be adjusted to target joint angles corresponding to the spatial voxel codes according to the motion planning path information.
In one embodiment of the present invention, sequentially controlling joint angles of joints of a robot arm to adjust to a target joint angle corresponding to a spatial voxel code according to motion planning path information includes: when the motion planning path of the mechanical arm passes through a 1 st target position, a 2 nd target position and a 3 rd target position … … (M-1) th target position from the current position and finally moves to the M th position, controlling joint angles of N joints of the mechanical arm to be respectively adjusted to N target joint angles corresponding to the space voxel code of the 1 st target position; controlling joint angles of N joints of the mechanical arm to be respectively adjusted to N target joint angles corresponding to the space voxel code of the 2 nd target position; controlling joint angles of N joints of the mechanical arm to be respectively adjusted to N target joint angles corresponding to the space voxel code of the 3 rd target position; … … controlling the joint angles of N joints of the mechanical arm to be respectively adjusted to N target joint angles corresponding to the spatial voxel code of the Mth target position; wherein M is the number of sampling points of the action planning path of the mechanical arm, N is the number of joints of the mechanical arm, and M, N are positive integers.
The embodiment of the invention divides the motion space of the robot into a plurality of small voxel spaces and codes the small voxel spaces, predetermines the corresponding relation between the target position at the tail end of the mechanical arm of the robot and the joint angle of each joint of the mechanical arm, when planning the motion of the mechanical arm of the robot, plans the voxel space to which the target position at the tail end of the mechanical arm belongs, thereby determining the target joint angle of each joint of the mechanical arm when the tail end of the mechanical arm is positioned in the space voxel codes according to the space voxel codes of the target position at the tail end of the mechanical arm and the corresponding relation between the target position at the tail end of the mechanical arm and the joint angle of each joint of the mechanical arm, and sequentially controls the joint angle of each joint of the mechanical arm to be adjusted to the target joint angle corresponding to the space. Therefore, the complicated joint angle solving process of each joint of the mechanical arm is avoided, the corresponding relation between the target position at the tail end of the mechanical arm and the joint angle of each joint of the mechanical arm is uniquely determined, the problem that the target position at the tail end of one mechanical arm corresponds to various joint angle adjusting schemes is effectively solved, and the mechanical arm actions of the robot can be highly unified when a plurality of robots are required to execute the same action.
Similarly, based on the above method for controlling the motion of the mechanical arm, an embodiment of the present invention further provides a computer-readable storage medium, where a program is stored, and when the program is executed by a processor, the processor is caused to perform at least the following operation steps: operation 101, acquiring motion planning path information of the mechanical arm, wherein the motion planning path information comprises space voxel codes of a plurality of target positions at the tail end of the mechanical arm corresponding to the motion planning path of the mechanical arm; operation 102, determining target joint angles of joints of the mechanical arm when the tail end of the mechanical arm is located in the space voxel coding according to the space voxel coding and the corresponding relation between the target position of the tail end of the mechanical arm and the joint angles of the joints of the mechanical arm; and operation 103, sequentially controlling the joint angles of all joints of the mechanical arm to be adjusted to the target joint angle corresponding to the space voxel code according to the motion planning path information. .
Further, based on the above method for controlling the motion of the robot arm, an embodiment of the present invention further provides a device for controlling the motion of the robot arm, as shown in fig. 3, where the device 30 includes: the path acquiring device 301 is configured to acquire motion planning path information of the mechanical arm, where the motion planning path information includes spatial voxel codes of multiple target positions at the end of the mechanical arm corresponding to the motion planning path of the mechanical arm; an angle determining device 302, configured to determine, according to the spatial voxel code and a corresponding relationship between a target position of the end of the mechanical arm and joint angles of joints of the mechanical arm, a target joint angle of each joint of the mechanical arm when the end of the mechanical arm is located in the spatial voxel code; and the joint adjusting device 303 is configured to sequentially control joint angles of joints of the mechanical arm to adjust to target joint angles corresponding to the spatial voxel codes according to the motion planning path information.
In an embodiment of the present invention, the angle determining device 302 includes: the relation pre-determining module is used for pre-determining the corresponding relation between the target position of the tail end of the mechanical arm and the joint angle of each joint of the mechanical arm: the method comprises the following steps: the action space determining submodule is used for determining the action space of the mechanical arm robot; the space division submodule is used for dividing the action space into a plurality of space voxels and determining the space voxel code of each space voxel; and the relation determination submodule is used for determining the target joint angle of each joint of the mechanical arm when the mechanical arm moves to the target position and is in a stable state.
In one embodiment of the present invention, the action space determination submodule determines the action space of the robot arm by using: and determining a first cube which can contain all target positions reached by each mechanical arm of the robot by taking the central point of the robot as the original point of the motion space as the motion space.
In an embodiment of the present invention, the spatial partitioning sub-module partitions the motion space into a plurality of spatial voxels and determines a spatial voxel code for each spatial voxel by: dividing the first cube into a plurality of second cubes with equal volumes by using an octree algorithm, wherein each second cube is used as a space voxel; each second cube is coded according to its position in the first cube.
Here, it should be noted that: the above description of the embodiment of the robot arm motion control apparatus is similar to the description of the method embodiment shown in fig. 1 and 2, and has similar beneficial effects to the method embodiment shown in fig. 1 and 2, and therefore, the description thereof is omitted. For technical details not disclosed in the embodiment of the robot arm motion control apparatus of the present invention, please refer to the description of the method embodiment shown in fig. 1 and 2 for understanding, and therefore will not be described again for brevity.
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, method, article, or apparatus 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, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. The above-described device embodiments are merely illustrative, for example, the division of a unit is only one logical function division, and there may be other division ways in actual implementation, such as: multiple units or components may be combined, or may be integrated into another system, or some features may be omitted, or not implemented. In addition, the coupling, direct coupling or communication connection between the components shown or discussed may be through some interfaces, and the indirect coupling or communication connection between the devices or units may be electrical, mechanical or other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units; can be located in one place or distributed on a plurality of network units; some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, all the functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may be separately regarded as one unit, or two or more units may be integrated into one unit; the integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional unit.
Those of ordinary skill in the art will understand that: all or part of the steps for realizing the method embodiments can be completed by hardware related to program instructions, the program can be stored in a computer readable storage medium, and the program executes the steps comprising the method embodiments when executed; and the aforementioned storage medium includes: various media that can store program codes, such as a removable Memory device, a Read Only Memory (ROM), a magnetic disk, or an optical disk.
Alternatively, the integrated unit of the present invention may be stored in a computer-readable storage medium if it is implemented in the form of a software functional module and sold or used as a separate product. Based on such understanding, the technical solutions of the embodiments of the present invention may be essentially implemented or a part contributing to the prior art may be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the methods of the embodiments of the present invention. And the aforementioned storage medium includes: a removable storage device, a ROM, a magnetic or optical disk, or other various media that can store program code.
The above description is only for the specific embodiments of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present invention, and the changes or substitutions should be covered within the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

Claims (10)

1. A method for controlling the motion of a robot arm, the method comprising:
acquiring motion planning path information of the mechanical arm, wherein the motion planning path information comprises space voxel codes of a plurality of target positions at the tail end of the mechanical arm corresponding to the motion planning path of the mechanical arm;
determining target joint angles of all joints of the mechanical arm when the tail end of the mechanical arm is positioned in the space voxel code according to the space voxel code and the corresponding relation between the target position of the tail end of the mechanical arm and the joint angles of all joints of the mechanical arm;
and sequentially controlling the joint angle of each joint of the mechanical arm to be adjusted to a target joint angle corresponding to the space voxel code according to the action planning path information.
2. The method according to claim 1, wherein the correspondence between the target position of the end of the robot arm and the joint angle of each joint of the robot arm is predetermined by:
determining the motion space of the robot arm;
dividing the motion space into a plurality of space voxels, and determining a space voxel code of each space voxel;
and determining the target joint angle of each joint of the mechanical arm when the mechanical arm moves to the target position and is in a stable state.
3. The method of claim 2, wherein the determining the robot arm motion space comprises:
and determining a first cube which can contain all target positions reached by each mechanical arm of the robot by taking the central point of the robot as an original point of an action space, and taking the first cube as the action space.
4. The method of claim 3, wherein the dividing the motion space into a number of spatial voxels and determining a spatial voxel code for each spatial voxel comprises:
dividing the first cube into a plurality of second cubes with equal volumes by using an octree algorithm, wherein each second cube serves as a spatial voxel;
each of the second cubes is coded according to its position in the first cube.
5. The method according to claim 1, wherein the sequentially controlling the joint angles of the joints of the mechanical arm to adjust to the target joint angle corresponding to the spatial voxel coding according to the motion planning path information comprises:
when the motion planning path of the mechanical arm passes through the (M-1) th target position of the 1 st target position, the 2 nd target position and the 3 rd target position … … from the current position and finally moves to the M < th > position,
controlling joint angles of N joints of the mechanical arm to be respectively adjusted to N target joint angles corresponding to the space voxel code of the 1 st target position;
controlling joint angles of N joints of the mechanical arm to be respectively adjusted to N target joint angles corresponding to the space voxel code of the 2 nd target position;
controlling joint angles of N joints of the mechanical arm to be respectively adjusted to N target joint angles corresponding to the space voxel code of the 3 rd target position;
……
controlling joint angles of N joints of the mechanical arm to be respectively adjusted to N target joint angles corresponding to the spatial voxel code of the Mth target position;
wherein M is the number of sampling points of the action planning path of the mechanical arm, N is the number of joints of the mechanical arm, and M, N are positive integers.
6. An arm motion control apparatus, characterized in that the apparatus comprises:
the mechanical arm motion planning system comprises a path acquisition device, a path acquisition device and a processing device, wherein the path acquisition device is used for acquiring motion planning path information of a mechanical arm, and the motion planning path information comprises space voxel codes of a plurality of target positions at the tail end of the mechanical arm corresponding to the motion planning path of the mechanical arm;
the angle determining device is used for determining target joint angles of all joints of the mechanical arm when the tail end of the mechanical arm is positioned in the space voxel code according to the space voxel code and the corresponding relation between the target position of the tail end of the mechanical arm and the joint angles of all joints of the mechanical arm;
and the joint adjusting device is used for sequentially controlling the joint angle of each joint of the mechanical arm to be adjusted to a target joint angle corresponding to the space voxel code according to the action planning path information.
7. The apparatus of claim 6, wherein the angle determining means comprises: the relation pre-determining module is used for pre-determining the corresponding relation between the target position of the tail end of the mechanical arm and the joint angle of each joint of the mechanical arm: the method comprises the following steps:
the action space determining submodule is used for determining the action space of the robot of the mechanical arm;
the space division submodule is used for dividing the action space into a plurality of space voxels and determining the space voxel code of each space voxel;
and the relation determination submodule is used for determining the target joint angle of each joint of the mechanical arm when the mechanical arm moves to the target position and is in a stable state.
8. The apparatus of claim 7, wherein the motion space determination submodule determines the motion space of the robot arm using:
and determining a first cube which can contain all target positions reached by each mechanical arm of the robot by taking the central point of the robot as an original point of an action space, and taking the first cube as the action space.
9. The apparatus of claim 8 wherein the spatial partitioning sub-module partitions the motion space into spatial voxels and determines a spatial voxel code for each spatial voxel by:
dividing the first cube into a plurality of second cubes with equal volumes by using an octree algorithm, wherein each second cube serves as a spatial voxel;
each of the second cubes is coded according to its position in the first cube.
10. A computer-readable storage medium comprising a set of computer-executable instructions that, when executed, perform the robotic arm motion control method of any of claims 1-5.
CN202011083937.1A 2020-10-12 2020-10-12 Mechanical arm motion control method and device and computer readable storage medium Pending CN112372632A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011083937.1A CN112372632A (en) 2020-10-12 2020-10-12 Mechanical arm motion control method and device and computer readable storage medium
PCT/CN2021/122362 WO2022078234A1 (en) 2020-10-12 2021-09-30 Mechanical arm movement control method and device, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011083937.1A CN112372632A (en) 2020-10-12 2020-10-12 Mechanical arm motion control method and device and computer readable storage medium

Publications (1)

Publication Number Publication Date
CN112372632A true CN112372632A (en) 2021-02-19

Family

ID=74581221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011083937.1A Pending CN112372632A (en) 2020-10-12 2020-10-12 Mechanical arm motion control method and device and computer readable storage medium

Country Status (2)

Country Link
CN (1) CN112372632A (en)
WO (1) WO2022078234A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114029944A (en) * 2021-10-08 2022-02-11 智动时代(北京)科技有限公司 Three-dimensional space grain orientation positioning algorithm
WO2022078234A1 (en) * 2020-10-12 2022-04-21 达闼机器人有限公司 Mechanical arm movement control method and device, and computer-readable storage medium
CN115157264A (en) * 2022-08-03 2022-10-11 法奥意威(苏州)机器人系统有限公司 Robot control method and device, cooperative robot and readable storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408224B1 (en) * 1999-11-10 2002-06-18 National Aerospace Laboratory Of Science Technology Agency Rotary articulated robot and method of control thereof
CN104331547A (en) * 2014-10-23 2015-02-04 北京控制工程研究所 Space mechanical arm structure parameter optimization method based on operability
CN104616345A (en) * 2014-12-12 2015-05-13 浙江大学 Octree forest compression based three-dimensional voxel access method
US20180364717A1 (en) * 2017-06-14 2018-12-20 Zoox, Inc. Voxel Based Ground Plane Estimation and Object Segmentation
CN110370256A (en) * 2019-06-25 2019-10-25 达闼科技(北京)有限公司 Robot and its paths planning method, device and controller

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5061798B2 (en) * 2007-08-31 2012-10-31 富士通株式会社 Movement path generation method, movement path generation apparatus, movement path generation program, robot arm control apparatus, and robot arm control program
CN101551654B (en) * 2009-04-29 2011-01-26 深圳市众为兴数控技术有限公司 Opened robot control method based on table programming and its system
CN111645079B (en) * 2020-08-04 2020-11-10 天津滨电电力工程有限公司 Device and method for planning and controlling mechanical arm path of live working robot
CN112372632A (en) * 2020-10-12 2021-02-19 达闼机器人有限公司 Mechanical arm motion control method and device and computer readable storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408224B1 (en) * 1999-11-10 2002-06-18 National Aerospace Laboratory Of Science Technology Agency Rotary articulated robot and method of control thereof
CN104331547A (en) * 2014-10-23 2015-02-04 北京控制工程研究所 Space mechanical arm structure parameter optimization method based on operability
CN104616345A (en) * 2014-12-12 2015-05-13 浙江大学 Octree forest compression based three-dimensional voxel access method
US20180364717A1 (en) * 2017-06-14 2018-12-20 Zoox, Inc. Voxel Based Ground Plane Estimation and Object Segmentation
CN110370256A (en) * 2019-06-25 2019-10-25 达闼科技(北京)有限公司 Robot and its paths planning method, device and controller

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王占刚: "《空间数据三维建模与可视化》", 30 September 2015, 北京:知识产权出版社 *
赵智远: "线驱动连续型机械臂运动学与运动规划研究", 《线驱动连续型机械臂运动学与运动规划研究 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022078234A1 (en) * 2020-10-12 2022-04-21 达闼机器人有限公司 Mechanical arm movement control method and device, and computer-readable storage medium
CN114029944A (en) * 2021-10-08 2022-02-11 智动时代(北京)科技有限公司 Three-dimensional space grain orientation positioning algorithm
CN115157264A (en) * 2022-08-03 2022-10-11 法奥意威(苏州)机器人系统有限公司 Robot control method and device, cooperative robot and readable storage medium
CN115157264B (en) * 2022-08-03 2023-09-29 法奥意威(苏州)机器人系统有限公司 Robot control method, robot control device, cooperative robot and readable storage medium

Also Published As

Publication number Publication date
WO2022078234A1 (en) 2022-04-21

Similar Documents

Publication Publication Date Title
CN112372632A (en) Mechanical arm motion control method and device and computer readable storage medium
Kendall et al. Geometric loss functions for camera pose regression with deep learning
Ganovelli et al. Buckettree: Improving collision detection between deformable objects
Davison Real-time simultaneous localisation and mapping with a single camera
Pan et al. Real-time collision detection and distance computation on point cloud sensor data
CN102682103B (en) Three-dimensional space index method aiming at massive laser radar point cloud models
CN110501017A (en) A kind of Mobile Robotics Navigation based on ORB_SLAM2 ground drawing generating method
CN110796671B (en) Data processing method and related device
CN111152266B (en) Control method and system of cleaning robot
CN108701374A (en) The method and apparatus rebuild for three-dimensional point cloud
Kim et al. Six-degree-of-freedom haptic display using localized contact computations
US5488692A (en) System and method for representing and manipulating three-dimensional objects on massively parallel architectures
CN111192364A (en) Low-cost mobile multi-robot vision simultaneous positioning and map creating method
CN106066688A (en) A kind of virtual reality exchange method based on Wearable glove and device
CN109949418A (en) A kind of rigid body generation method, device, equipment and storage medium
CN109961516B (en) Surface acquisition method, device and non-transitory computer readable recording medium
CN110322539A (en) Threedimensional model cutting process display methods, device and the electronic equipment of three-dimension object
CN111433783A (en) Hand model generation method and device, terminal device and hand motion capture method
CN112513713A (en) System and method for map construction
CN114075810B (en) Space path fitting method and system for concrete 3D printing
CN116009552A (en) Path planning method, device, equipment and storage medium
KR101105244B1 (en) Apparatus and method for modeling curved surface using intersection points in three-dimensional grid structure
Yang et al. Survey of 3D map in SLAM: Localization and navigation
CN111830973A (en) Mobile robot path planning method and device under dynamic environment
CN113558524B (en) Sweeping robot and method and device for repositioning lifted sweeping 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
CB02 Change of applicant information

Address after: 201111 Building 8, No. 207, Zhongqing Road, Minhang District, Shanghai

Applicant after: Dayu robot Co.,Ltd.

Address before: 201111 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Applicant before: Dalu Robot Co.,Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20210219

RJ01 Rejection of invention patent application after publication