Mechanical arm motion generation method and apparatus, readable storage medium and mechanical arm
By disassembling the robotic arm grab task into a subtask and determining the Riemann motion strategy based on a geometric dynamic system, the problems of low efficiency and insufficient safety of robotic arm motion generation in complex shelf environments are solved, and efficient and safe execution of robotic arm grab task is achieved.
Patent Information
- Application Number
- PCT/CN2023/142217
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-28
- Filing Date
- 2023-12-27
- Publication Date
- 2025-06-05
AI Technical Summary
The existing robotic arm motion generation method cannot be applied to more complex shelf environments, resulting in low efficiency and insufficient safety in performing shelf grab tasks.
The robotic arm grabbing task for the shelf scene is disassembled into multiple subtasks, and the Riemann motion strategy of each subtask is determined separately based on the geometric dynamic system, and the motion strategy of each subtask is integrated through the graph calculation process of the Riemann motion strategy to obtain the global motion strategy of the robot.
Real-time and stable robotic arm movement generation in complex shelf environments is achieved, improving the execution efficiency and safety of robotic arm grabbing tasks.
Smart Images

Figure CN2023142217_05062025_PF_FP_ABST
Abstract
Description
A method and device for generating motion of a robotic arm, a readable storage medium and a robotic arm
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on November 28, 2023, with application number 202311624625.0 and invention name “A method, device, readable storage medium and robotic arm for generating robotic arm motion”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application belongs to the field of robotic arm technology, and in particular relates to a robotic arm motion generation method, device, computer-readable storage medium, and robotic arm. Background Art
[0003] Grasping operations in shelf environments are a typical application scenario for service robots and also hold significant value in industrial settings. Currently, the prevailing solution in the industry is to design dedicated shelf-grasping robots that follow specific motion patterns to grasp objects of a specific category. This is because currently established motion planning techniques, including sampling, optimization, and stochastic process methods, are still offline planning methods within current computing power. Consequently, when using these techniques with a general-purpose robotic arm to perform shelf-grasping operations, the robotic arm must stop motion for each updated grasp until the new planned path is calculated. For frequent shelf-grasping tasks, this can significantly impact execution efficiency. While the artificial potential field method, a currently established online planning method, can address this issue by calculating attracting motion toward the grasp point and repelling motion away from obstacles in real time, the generation of these motions relies solely on the relative position information between the robotic arm and the target point or obstacle. This limits the flexibility of this motion strategy, making it prone to overshooting or becoming stuck in local optima, particularly in complex shelf environments. Technical issues
[0004] In view of this, embodiments of the present application provide a robot arm motion generation method, device, computer-readable storage medium, and robot arm to solve the problem that existing robot arm motion generation methods cannot be applied to more complex shelf environments. Technical Solutions
[0005] A first aspect of an embodiment of the present application provides a method for generating a robot arm motion, which may include:
[0006] Decompose the robotic arm grasping task for shelf scenarios into multiple subtasks;
[0007] Based on the geometric dynamic system, the Riemannian motion strategy for each subtask is determined separately;
[0008] The Riemann motion strategy of each subtask is integrated based on the graph computation process to obtain the global motion strategy of the robotic arm.
[0009] In a specific implementation of the first aspect, decomposing the robotic arm grasping task for the shelf scenario into multiple subtasks may include:
[0010] The robotic arm grasping task for shelf scenarios is decomposed into posture reaching subtask, shelf obstacle avoidance subtask, and joint limit avoidance subtask;
[0011] Accordingly, determining the Riemann motion strategy for each subtask includes:
[0012] Determine the Riemannian motion strategy for the posture arrival subtask, determine the Riemannian motion strategy for the shelf obstacle avoidance subtask, and determine the Riemannian motion strategy for the joint limit avoidance subtask.
[0013] In a specific implementation of the first aspect, the Riemannian motion strategy for determining the posture arrival subtask may include:
[0014] Determining three non-collinear control points at the operating end of the robotic arm;
[0015] The position arrival Riemannian motion strategy of the three control points is determined as the Riemannian motion strategy of the posture arrival subtask.
[0016] In a specific implementation of the first aspect, determining the Riemannian motion strategy for the shelf obstacle avoidance subtask may include:
[0017] Get the shape characteristics of the shelf;
[0018] A Riemannian motion strategy for the shelf obstacle avoidance subtask is determined according to the shape characteristics of the shelf.
[0019] In a specific implementation of the first aspect, the shape feature of the shelf may include a size vector, a position vector, and a rotation matrix of each rectangular obstacle constituting the shelf.
[0020] In a specific implementation of the first aspect, determining the Riemannian motion strategy for the joint limit avoidance subtask may include:
[0021] The finite configuration space of the robotic arm is mapped to an infinite real number space to determine the Riemannian motion strategy for the joint limit avoidance subtask.
[0022] In a specific implementation of the first aspect, the graph computation process based on the Riemannian motion strategy integrates the Riemannian motion strategy of each subtask to obtain the global motion strategy of the robotic arm, which may include:
[0023] determining the natural form of the global motion strategy according to the natural form of the Riemannian motion strategy of each subtask;
[0024] A canonical form of the global motion policy is determined according to the natural form of the global motion policy.
[0025] A second aspect of an embodiment of the present application provides a robotic arm motion generation device, which may include:
[0026] The subtask decomposition module is used to decompose the robotic arm grasping task for shelf scenarios into multiple subtasks;
[0027] The subtask strategy determination module is used to determine the Riemannian motion strategy for each subtask based on the geometric dynamic system;
[0028] The global motion strategy determination module is used to integrate the Riemannian motion strategy of each subtask based on the graph calculation process of the Riemannian motion strategy to obtain the global motion strategy of the robotic arm.
[0029] In a specific implementation of the second aspect, the subtask decomposition module can be specifically used to decompose the robotic arm grasping task for the shelf scenario into a posture reaching subtask, a shelf obstacle avoidance subtask, and a joint limit avoidance subtask;
[0030] Accordingly, the subtask strategy determination module may include:
[0031] A posture arrival subtask strategy determination unit, used to determine the Riemannian motion strategy of the posture arrival subtask;
[0032] a shelf obstacle avoidance subtask strategy determination unit, configured to determine a Riemannian motion strategy for the shelf obstacle avoidance subtask;
[0033] The joint limit avoidance subtask strategy determination unit is used to determine the Riemann motion strategy of the joint limit avoidance subtask.
[0034] In a specific implementation of the second aspect, the posture arrival subtask strategy determination unit can be specifically used to: determine three non-collinear control points at the operating end of the robotic arm; and determine the position arrival Riemannian motion strategy of the three control points as the Riemannian motion strategy of the posture arrival subtask.
[0035] In a specific implementation of the second aspect, the shelf obstacle avoidance subtask strategy determination unit may be specifically configured to: obtain shape features of the shelf; and determine a Riemannian motion strategy for the shelf obstacle avoidance subtask based on the shape features of the shelf.
[0036] In a specific implementation of the second aspect, the shape features of the shelf include a size vector, a position vector, and a rotation matrix of each rectangular obstacle constituting the shelf.
[0037] In a specific implementation of the second aspect, the joint limit avoidance subtask strategy determination unit can be specifically used to: map the finite configuration space of the robotic arm to an infinite real number space to determine the Riemann motion strategy of the joint limit avoidance subtask.
[0038] In a specific implementation of the second aspect, the global motion strategy determination module can be specifically used to: determine the natural form of the global motion strategy based on the natural form of the Riemann motion strategy of each subtask; and determine the canonical form of the global motion strategy based on the natural form of the global motion strategy.
[0039] A third aspect of an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the steps of any of the above-mentioned robot arm motion generation methods are implemented.
[0040] A fourth aspect of an embodiment of the present application provides a robotic arm, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any one of the above-mentioned robotic arm motion generation methods when executing the computer program.
[0041] A fifth aspect of an embodiment of the present application provides a computer program product, which, when run on a robotic arm, enables the robotic arm to execute the steps of any one of the above-mentioned robotic arm motion generation methods. Beneficial effects
[0042] Compared with the prior art, the embodiments of the present application have the following advantages: the embodiments of the present application decompose the robotic arm grasping task for the shelf scenario into multiple subtasks; based on the geometric dynamic system, the Riemannian motion strategy of each subtask is determined separately; based on the graph calculation process of the Riemannian motion strategy, the Riemannian motion strategy of each subtask is integrated to obtain the global motion strategy of the robotic arm. Through the embodiments of the present application, with the high efficiency of the graph calculation process of the Riemannian motion strategy and the richness and robustness of the geometric dynamic system model, the robotic arm motion generation can be performed in real time and stably, and the efficiency and safety of the robotic arm grasping task execution can be effectively guaranteed even in a relatively complex shelf environment. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments or descriptions of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0044] Figure 1 is a schematic diagram of a scenario in which a robotic arm performs a grasping task in a shelf environment;
[0045] Figure 2 is a schematic diagram of the RMPflow implementation process;
[0046] FIG3 is a flow chart of an embodiment of a method for generating motion of a robotic arm according to an embodiment of the present application;
[0047] FIG4 is a structural diagram of an embodiment of a robot arm motion generation device according to an embodiment of the present application;
[0048] FIG5 is a schematic block diagram of a robotic arm in an embodiment of the present application. Modes for Carrying Out the Invention
[0049] In order to make the purpose, features, and advantages of the invention of this application more obvious and easy to understand, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the embodiments described below are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0050] It will be understood that when used in this specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.
[0051] It should also be understood that the terms used in this specification are for the purpose of describing specific embodiments only and are not intended to limit the present application. As used in this specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly indicates otherwise.
[0052] It should be further understood that the term "and / or" used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
[0053] As used in this specification and the appended claims, the term "if" can be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.
[0054] In addition, in the description of the present application, the terms "first", "second", "third", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.
[0055] The embodiments of this application are primarily directed to scenarios where a robotic arm performs grasping tasks in a shelf environment. Figure 1 shows a schematic diagram of this scenario. The robotic arm has at least six degrees of freedom and can perform six-dimensional pose grasping. The global coordinate system {O-XYZ} of the scenario is located at the base of the robotic arm, and the local coordinate system {O-XYZ} of the gripper is located at the end of the robotic arm. The Z-axis and the Z-axis coincide with the axes of the first and last joints of the robotic arm, respectively. The main structure of the shelf is constructed from rectangular blocks. For example, as shown in the figure, it includes three shelves and four columns, a total of seven rectangular blocks, each of which can be considered an obstacle.
[0056] In an embodiment of the present application, based on Riemannian Motion Policies (RMP), the robotic arm grasping task for the shelf scenario is decomposed into multiple sub-tasks in different local spaces, and motion strategies based on the Geometric Dynamical System (GDS) model are designed for each of these sub-tasks. Then, according to the structured Riemannian motion strategy graph calculation process (RMPflow), these local motion strategies are integrated into a global motion strategy in the joint space, which enables the robotic arm to dynamically avoid obstacles in the identified environment while performing the grasping and reaching motion.
[0057] RMP refers to a type of motion strategy with geometric information described by a second-order differential equation in a Riemannian manifold space. Its mathematical canonical form is (a,M) Μ 。 Among them, Μ represents the spatial coordinates belonging to m-dimensional Riemannian manifold, a:Ρ m ×Ρ m → m Represents a second-order continuous motion strategy, M:Ρ m ×Ρ m → m×mrepresents a differential mapping. According to the naming convention of robot dynamics, a can also be regarded as the expected acceleration, and M can be regarded as the inertia matrix.
[0058] In addition to the canonical form, RMP also has a mathematical natural form [f,M] Μ , where f = Ma represents the expected force mapping. This mathematical expression is more convenient for RMP-algebra operations.
[0059] RMPflow is a graph computation process oriented towards manifold space. Its purpose is to rapidly integrate local RMPs designed for specific tasks on manifolds of different dimensions into a global RMP in the target space, thereby outputting a motion strategy that can achieve all specific tasks. The RMPflow process is primarily implemented through the iterative pushforward, pullback, and resolve operations. Pushforward refers to the forward propagation of the state information flow, pullback refers to the reverse propagation of the RMP information flow, and resolve refers to the mapping operation that returns the RMP information flow from its natural form to its canonical form.
[0060] Figure 2 is a schematic diagram of the RMPflow implementation process. As shown in the figure, first, the pushforward operation can be used to obtain the status information of each subtask based on the robot arm status information; then, based on the designed GDS, the natural form of the corresponding subtask RMP can be obtained according to the status information of each subtask; then, the pullback operation can be used to obtain the natural form of the global RMP according to the natural form of each subtask RMP; finally, the resolve operation can be used to obtain the standard form of the global RMP according to the natural form of the global RMP.
[0061] A GDS can be viewed as a virtual mechanical system defined on a manifold space, where the system inertia is determined by the configuration and velocity of the mechanical body. A GDS can be represented by a mathematical tuple consisting of four elements (Μ, G, B, Φ), satisfying the following differential equation:
[0062] in, is a geometric metric matrix that can be used to determine the desired mechanical body based on its state Design based on the response to be made; and They are the damping matrix and potential energy equation respectively, which can be designed by referring to the corresponding items in traditional mechanical systems; and is the curvature term of the system, which can be calculated based on get:
[0063] in, is a matrix The i-th column of .
[0064] When the GDS model is used to design the RMP, the corresponding [f,M] Μ It can be obtained by the following formula:
[0065] FIG3 is a flow chart of an embodiment of a method for generating motion of a robotic arm according to an embodiment of the present application. The method may be performed by a robotic arm. As shown in the figure, the method for generating motion of a robotic arm may include:
[0066] Step S301: Decompose the robotic arm grasping task for the shelf scenario into multiple subtasks.
[0067] In an embodiment of the present application, the robotic arm grasping task for the shelf scenario can be decomposed into a posture reaching subtask, a shelf obstacle avoidance subtask, and a joint limit avoidance subtask.
[0068] Step S302: Based on the geometric dynamic system, determine the Riemannian motion strategy for each subtask.
[0069] In the embodiment of the present application, the posture arrival subtask RMP, the shelf obstacle avoidance subtask RMP, and the joint avoidance limit subtask RMP can be determined separately.
[0070] For the pose arrival subtask RMP, three non-collinear control points can be determined at the operating end of the robot arm, and the positions of the three control points reaching the RMP are determined as the pose arrival subtask RMP.
[0071] As shown in Figure 1, three non-collinear control points can be set at the operating end of the robot arm (i.e., the gripper end), where p0 coincides with the origin of the gripper coordinate system, p1 is on the z-axis, and p2 is on the y-axis. When only p0 is controlled to move to the specified position, the gripper position arrival task of the robot arm grasping can be completed; when p0 and p1 are controlled, the gripper posture can be restricted to rotate only around the last joint axis of the robot arm; when p0, p1, and p2 are controlled simultaneously, the gripper posture can be completely restricted to achieve the posture arrival task of the robot arm grasping. Therefore, the position arrival RMP of multiple control points can be used to replace the posture arrival RMP, without having to debug a set of parameters specifically for the posture arrival RMP.
[0072] Taking p0 among the three control points as an example, when designing the pushforward so that its position reaches RMP, the state parameters of the manipulator joint space can be set to The state parameter of p0 in the operation space is Then we have:
[0073] x0=ψ0(q)
[0074] Among them, ψ0 is the kinematic solution of p0 on the manipulator, is the Jacobian matrix of the position arrival RMP.
[0075] When designing its GDS, we can set the manifold space where p0 is located to Ξ0, and the natural form of the corresponding position reaching RMP is With (Ξ 0, G g, B g ,Φ g ) represents the GDS designed for this RMP, then:
[0076] G g =wI, w=r σ (w u -w l )+w l , r σ =exp(-||e 2 / (2σ 2 ))
[0077] B g =r d w
[0078] Where I is the unit matrix with the same dimension as the joint space of the robot arm; w is the metric coefficient, w u and w l are their upper and lower limits respectively; r p and r d are proportional gain and speed gain respectively; is the vector difference with its target position, is the unit vector of e. So we can get:
[0079] The situations of control points p1 and p2 are similar to those of p0. The pushforward and GDS of their positions reaching the RMP can refer to the above content of p0, which will not be repeated in this embodiment of the present application.
[0080] For the shelf obstacle avoidance subtask RMP, the shelf shape features can be obtained and the shelf obstacle avoidance subtask RMP can be determined based on the shelf shape features. The shelf shape features may include the size vector, position vector, and rotation matrix of each rectangular obstacle that constitutes the shelf.
[0081] Considering that the shelf structure consists of n o Here, we take p0 and the i-th cuboid obstacle as an example. When designing the pushforward of its obstacle avoidance RMP, the size vector l of the i-th cuboid obstacle is known. i , position vector t i and the rotation matrix R i Among them, l i It is composed of the length, width and height of the cuboid, t i is the coordinate of the center of the cuboid in the global coordinate system; the local coordinate system of the obstacle is established at the center of the cuboid, with the three axes along the length, width, and height directions respectively, R i That is, the rotation matrix of the local coordinate system relative to the global coordinate system. Let s 0,i is the shortest distance between p0 and the i-th cuboid, θ i is the shortest distance function, then:
[0082] in, is the Jacobian matrix of the cuboid obstacle avoidance RMP. According to the derivation of the shortest distance function of the cuboid, we can know that:
[0083]
[0084] s 0,i =||d 0,i ||,
[0085] Here, sgn(v) represents the sign of each element in vector v, max(v,0) represents the comparison of each element in vector v with 0 and taking the larger value, and diag(v) represents the transformation of vector v into a diagonal matrix with the same dimensions and corresponding diagonal elements to v.
[0086] When designing its GDS, the shortest distance manifold space of the i-th cuboid can be set to Σ i , the natural form of the corresponding obstacle avoidance RMP is (Σ i ,g a ,b a ,φ a ) represents the GDS designed for this RMP, then:
[0087] b a =r d g a
[0088] Among them, s u and sl are the starting distance and the shortest safe distance of the obstacle avoidance task, ε is a very small positive value, r p and r d are proportional gain and speed gain respectively. So we can get:
[0089] For any control point and any rectangular obstacle, the pushforward and GDS of its obstacle avoidance RMP can refer to the above content of the obstacle avoidance RMP between p0 and the i-th rectangular obstacle, which will not be repeated in this embodiment of the present application.
[0090] For the joint limit avoidance subtask RMP, the finite configuration space of the manipulator can be mapped to the infinite real number space to determine the joint limit avoidance subtask RMP. In this process, the manipulator state quantity can be first mapped to the infinite real number space. Real space is used to design dynamic systems, and then the motion strategy is mapped back to the finite μ The motion strategy is solved in the m-dimensional configuration space. There are two specific implementation methods. The first is to first map the state quantity through calculation and then design the motion strategy based on the GDS model. The second is to directly reflect the mapping of the state quantity in the GDS design.
[0091] Here we take the example of directly reflecting the mapping of state quantities in the design of GDS as an example. When designing the pushforward of the joint limit avoidance RMP, there is no need to map the state information. That is, the state parameters of the manipulator are used in the joint limit avoidance RMP. So the corresponding Jacobian matrix J l =I m for μ The m-dimensional identity matrix.
[0092] When designing its GDS, you can The configuration space of the manipulator is X, and the natural form of the joint limit avoidance RMP is [f l ,M l ] X , with (X,G l ,B l ,Φ l ) represents the GDS designed for this RMP, then:
[0093] d i =s i (α u,i u i +(1-α u,i ))+(1-s i)(α l,i u i +(1-α l,i ))
[0094] u i =4s i (1-s i ),
[0095] b i =r d d i
[0096] Among them, q u,i ,q l,i and q 0,i The joint positions q are i The upper, lower and median values of r p and r d are proportional gain and speed gain respectively. So we can get:
[0097] M l =G l
[0098] Through the above process, the pose arrival subtask RMP, the shelf obstacle avoidance subtask RMP and the joint avoidance limit subtask RMP are determined respectively.
[0099] Step S303: Integrate the Riemannian motion strategies of each subtask based on the graph calculation process of the Riemannian motion strategy to obtain the global motion strategy of the robotic arm.
[0100] The robotic arm grasping task for shelf scenes uses at least N=n l +n g +n p ×n o There are n subtasks RMP. Among them, the joint avoidance limit RMP has n l =1, the number of positions reaching RMP is n g =3; n p Combination of robot arm anti-collision points n o There are n rectangular obstacles, then the obstacle avoidance RMP has n p ×n o indivual.
[0101] In the embodiment of the present application, the natural form of the global motion strategy can be determined according to the natural form of each subtask RMP, and the canonical form of the global motion strategy can be determined according to the natural form of the global motion strategy.
[0102] After determining the RMP of each subtask, based on the pullback operation, the natural form of the global motion strategy [f,M] can be determined according to the natural form of each subtask RMP. X :
[0103] in, They represent the queues formed by combining and rearranging the expected force, inertia matrix, and Jacobian matrix of all subtasks RMP.
[0104] By using the resolve operation to map the global motion strategy from its natural form back to its canonical form, the joint acceleration control value of the global motion strategy can be obtained:
[0105] a=M + f
[0106] Among them, M + =(M T M) -1 M T , represents the pseudo-inverse of M.
[0107] After the joint acceleration control amount is obtained, the motion of the robotic arm can be controlled according to the control amount so that the robotic arm can complete the task of grabbing objects from the shelf.
[0108] In summary, the embodiment of the present application decomposes the robotic arm grasping task for the shelf scenario into multiple subtasks; based on the geometric dynamic system, the Riemannian motion strategy of each subtask is determined separately; based on the graph calculation process of the Riemannian motion strategy, the Riemannian motion strategy of each subtask is integrated to obtain the global motion strategy of the robotic arm. Through the embodiment of the present application, relying on the efficiency of the graph calculation process of the Riemannian motion strategy and the richness and robustness of the geometric dynamic system model, the robotic arm motion generation can be performed in real time and stably, and the efficiency and safety of the robotic arm grasping task execution can be effectively guaranteed even in a relatively complex shelf environment.
[0109] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0110] Corresponding to the method for generating a robot arm motion described in the above embodiment, FIG4 shows a structural diagram of an embodiment of a robot arm motion generation device provided in an embodiment of the present application.
[0111] In this embodiment, a robotic arm motion generation device may include:
[0112] A subtask decomposition module 401 is used to decompose the robotic arm grasping task for the shelf scenario into multiple subtasks;
[0113] A subtask strategy determination module 402 is used to determine the Riemannian motion strategy of each subtask based on the geometric dynamic system;
[0114] The global motion strategy determination module 403 is used to integrate the Riemannian motion strategy of each subtask based on the graph calculation process of the Riemannian motion strategy to obtain the global motion strategy of the robotic arm.
[0115] In a specific implementation of the embodiment of the present application, the subtask decomposition module can be specifically used to decompose the robotic arm grasping task for the shelf scene into a posture reaching subtask, a shelf obstacle avoidance subtask, and a joint limit avoidance subtask;
[0116] Accordingly, the subtask strategy determination module may include:
[0117] A posture arrival subtask strategy determination unit, used to determine the Riemannian motion strategy of the posture arrival subtask;
[0118] a shelf obstacle avoidance subtask strategy determination unit, configured to determine a Riemannian motion strategy for the shelf obstacle avoidance subtask;
[0119] The joint limit avoidance subtask strategy determination unit is used to determine the Riemann motion strategy of the joint limit avoidance subtask.
[0120] In a specific implementation of an embodiment of the present application, the posture arrival subtask strategy determination unit can be specifically used to: determine three non-collinear control points at the operating end of the robotic arm; and determine the position arrival Riemannian motion strategy of the three control points as the Riemannian motion strategy of the posture arrival subtask.
[0121] In a specific implementation of an embodiment of the present application, the shelf obstacle avoidance subtask strategy determination unit can be specifically used to: obtain the shape characteristics of the shelf; and determine the Riemann motion strategy of the shelf obstacle avoidance subtask based on the shape characteristics of the shelf.
[0122] In a specific implementation of the embodiment of the present application, the shape characteristics of the shelf include the size vector, position vector and rotation matrix of each rectangular obstacle constituting the shelf.
[0123] In a specific implementation of an embodiment of the present application, the joint limit avoidance subtask strategy determination unit can be specifically used to: map the finite configuration space of the robotic arm to an infinite real number space to determine the Riemannian motion strategy of the joint limit avoidance subtask.
[0124] In a specific implementation of an embodiment of the present application, the global motion strategy determination module can be specifically used to: determine the natural form of the global motion strategy based on the natural form of the Riemann motion strategy of each subtask; determine the canonical form of the global motion strategy based on the natural form of the global motion strategy.
[0125] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices, modules and units can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0126] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.
[0127] FIG5 shows a schematic block diagram of a robotic arm provided in an embodiment of the present application. For ease of explanation, only the parts related to the embodiment of the present application are shown.
[0128] As shown in FIG5 , the robotic arm 5 of this embodiment includes: a processor 50, a memory 51, and a computer program 52 stored in the memory 51 and executable on the processor 50. When the processor 50 executes the computer program 52, it implements the steps in the aforementioned embodiments of the robotic arm motion generation method, such as steps S301 to S303 shown in FIG3 . Alternatively, when the processor 50 executes the computer program 52, it implements the functions of the modules / units in the aforementioned device embodiments, such as the functions of modules 401 to 403 shown in FIG4 .
[0129] For example, the computer program 52 may be divided into one or more modules / units, which are stored in the memory 51 and executed by the processor 50 to implement the present application. The one or more modules / units may be a series of computer program instruction segments capable of performing specific functions, and the instruction segments are used to describe the execution process of the computer program 52 in the robotic arm 5.
[0130] Those skilled in the art will understand that Figure 5 is merely an example of the robotic arm 5 and does not constitute a limitation on the robotic arm 5. The robotic arm 5 may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the robotic arm 5 may also include input and output devices, network access devices, buses, etc.
[0131] The processor 50 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.
[0132] The memory 51 may be an internal storage unit of the robotic arm 5, such as a hard disk or memory of the robotic arm 5. The memory 51 may also be an external storage device of the robotic arm 5, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the robotic arm 5. Furthermore, the memory 51 may include both an internal storage unit of the robotic arm 5 and an external storage device. The memory 51 is used to store the computer program and other programs and data required by the robotic arm 5. The memory 51 may also be used to temporarily store data that has been output or is to be output.
[0133] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In actual applications, the above-mentioned functions can be distributed and completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0134] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.
[0135] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0136] In the embodiments provided in the present application, it should be understood that the disclosed devices / robotic arms and methods can be implemented in other ways. For example, the device / robotic arm embodiments described above are merely schematic. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0137] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0138] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0139] If the integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the process in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and when the computer program is executed by the processor, it can implement the steps of the above-mentioned various method embodiments. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable storage medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable storage medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable storage media do not include electric carrier signals and telecommunication signals.
[0140] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present application, and should all be included in the scope of protection of the present application.
Claims
1. A method for generating robotic arm motion, characterized in that, it includes: Decompose the robotic arm grasping task for the shelf scenario into multiple subtasks; Based on the geometric dynamic system, determine the Riemannian motion strategy for each subtask respectively; Integrate the Riemannian motion strategies of each subtask based on the graph calculation process of the Riemannian motion strategy to obtain the global motion strategy of the robotic arm.
2. The method for generating robotic arm motion according to claim 1, characterized in that, The decomposition of the robotic arm grasping task for the shelf scenario into multiple subtasks includes: Decompose the robotic arm grasping task for the shelf scenario into a pose reaching subtask, a shelf obstacle avoidance subtask, and a joint limit avoidance subtask; Correspondingly, the determination of the Riemannian motion strategy for each subtask respectively includes: Determine the Riemannian motion strategy for the pose reaching subtask, determine the Riemannian motion strategy for the shelf obstacle avoidance subtask, and determine the Riemannian motion strategy for the joint limit avoidance subtask.
3. The method for generating robotic arm motion according to claim 2, characterized in that, The determination of the Riemannian motion strategy for the pose reaching subtask includes: Determine three non-collinear control points at the operating end of the robotic arm; Determine the position reaching Riemannian motion strategy of the three control points as the Riemannian motion strategy of the pose reaching subtask.
4. The method for generating robotic arm motion according to claim 2, characterized in that, The determination of the Riemannian motion strategy for the shelf obstacle avoidance subtask includes: Obtain the shape characteristics of the shelf; Determine the Riemannian motion strategy for the shelf obstacle avoidance subtask according to the shape characteristics of the shelf.
5. The method for generating robotic arm motion according to claim 4, characterized in that, The shape characteristics of the shelf include the size vectors, position vectors, and rotation matrices of the individual cuboid obstacles that make up the shelf.
6. The method for generating robotic arm motion according to claim 2, characterized in that, The determination of the Riemannian motion strategy for the joint limit avoidance subtask includes: Map the finite configuration space of the robotic arm to an infinite real number space to determine the Riemannian motion strategy for the joint limit avoidance subtask.
7. The method for generating robotic arm motion according to any one of claims 1 to 6, characterized in that, The integration of the Riemannian motion strategies of each subtask based on the graph calculation process of the Riemannian motion strategy to obtain the global motion strategy of the robotic arm includes: Determine the natural form of the global motion strategy according to the natural form of the Riemannian motion strategy of each subtask; Determine the canonical form of the global motion strategy according to the natural form of the global motion strategy.
8. A device for generating robotic arm motion, characterized in that, it includes: A subtask decomposition module for decomposing the robotic arm grasping task for the shelf scenario into multiple subtasks; A subtask strategy determination module for determining the Riemannian motion strategy for each subtask respectively based on the geometric dynamic system; A global motion strategy determination module for integrating the Riemannian motion strategies of each subtask based on the graph calculation process of the Riemannian motion strategy to obtain the global motion strategy of the robotic arm.
9. A computer-readable storage medium storing a computer program, wherein, when the computer program is executed by a processor, the steps of the robotic arm motion generation method according to any one of claims 1 to 7 are implemented.
10. A robotic arm comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein, when the processor executes the computer program, the steps of the robotic arm motion generation method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Method for real-time fusion of intelligent action of robot and dynamic pose of target
CN113119110A
Unmanned aerial vehicle path obstacle avoidance adjustment method, computer device and readable storage medium
CN113282105A
Mechanical arm continuous operation motion planning method
CN115723129A
Robot motion strategy generation method based on Riemannian motion strategy
CN115972196A
Policy layers for machine control
WO2022232186A1
Cited By
Task degree-of-freedom robot joint motion planning method based on Riemannian manifold
CN120735051A