Mechanical arm linear motion trajectory planning method and device and electronic equipment

CN119458335BActive Publication Date: 2026-08-07POTEVIO LOGISTICS TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411647445.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-18
Publication Date
2026-08-07
Estimated Expiration
2044-11-18

AI Technical Summary

Technical Problem

[0003]本发明实施例提供了一种机械臂直线运动轨迹规划方法、装置及电子设备,用于解决目前的机器人作业和调试过程中,直线运动轨迹规划方面,操作不利于实际工程应用的技术问题

Benefits of technology

[0053]本发明实施例根据确定出的机械臂在下一时刻t+1的关节角度θ',可以快速方便地进行机械臂的直线运动轨迹规划,方便实际工程应用。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119458335B_ABST
    Figure CN119458335B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a mechanical arm linear motion trajectory planning method, device and electronic equipment. The method comprises the following steps: obtaining target parameters of the mechanical arm, the target parameters comprising expected speed (represented by a velocity screw), joint angle θ of a current time t and control step time Δt, ω and v representing angular velocity and linear velocity of a mechanical arm tail end respectively, t being an integer greater than or equal to 0; mapping the velocity screw to obtain joint speed of the mechanical arm; determining joint angle increment Δθ of the mechanical arm at a next time t+1 relative to the current time t according to the joint speed and the control step time Δt; determining joint angle θ' of the mechanical arm at the next time t+1 according to the joint angle increment Δθ and the joint angle θ of the current time t; and determining a position of the mechanical arm at the next time t+1 according to the joint angle θ'. According to the determined joint angle θ' of the mechanical arm at the next time t+1, the embodiment of the application can quickly and conveniently plan a linear motion trajectory of the mechanical arm, and is convenient for practical engineering application.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robotic arm technology, specifically to a method, apparatus, and electronic device for planning the linear motion trajectory of a robotic arm. Background Technology

[0002] With the development of technology, robotic arms, especially multi-degree-of-freedom collaborative robotic arms, are being used more and more widely, and the working environment is becoming increasingly complex. Consequently, the requirements for industrial robot trajectory planning are also increasing. Robots must not only complete point-to-point (PTP) and simple continuous path (CP) movements, but also balance work efficiency and the smoothness of complex trajectories. However, in current robot operation and debugging processes, linear motion trajectory planning is not conducive to practical engineering applications. Summary of the Invention

[0003] This invention provides a method, apparatus, and electronic device for planning the linear motion trajectory of a robotic arm, which addresses the technical problem that current linear motion trajectory planning is not conducive to practical engineering applications during robot operation and debugging.

[0004] In a first aspect, embodiments of the present invention provide a method for planning the linear motion trajectory of a robotic arm, comprising:

[0005] Obtain the target parameters of the robotic arm, including the desired velocity, the joint angle θ at the current time t, and the control step time Δt. The desired velocity is obtained using velocity screw. In this expression, ω represents the angular velocity of the robotic arm's end effector, v represents the linear velocity of the robotic arm's end effector, and t is an integer greater than or equal to 0;

[0006] Regarding the velocity spinor Perform mapping to obtain the joint velocities of the robotic arm.

[0007] According to the joint speed The control step time Δt determines the joint angle increment Δθ of the robotic arm at the next time t+1 relative to the current time t.

[0008] Based on the joint angle increment Δθ and the joint angle θ at the current time t, determine the joint angle θ' of the robotic arm at the next time t+1;

[0009] Based on the joint angle θ', determine the position of the robotic arm at the next moment t+1.

[0010] In one possible implementation, after obtaining the target parameters of the robotic arm, the method further includes:

[0011] Obtain the parameters of the robotic arm's helical axis;

[0012] Based on the aforementioned helical axis parameters, a forward kinematic model T(θ) is established.

[0013]

[0014] Where n represents the number of degrees of freedom of the robotic arm, θ1...θ n This represents the joint angles corresponding to the n joints of the robotic arm, S1...S... n This represents the normalized velocity spinor of n joints, where M is the end-effector pose of the robotic arm in its initial position, and the exponential product is... SE(3) is a special European group.

[0015]

[0016] SO(3) is a special orthogonal group.

[0017]

[0018] Where I represents the three-dimensional identity matrix

[0019] In one possible implementation, the velocity spinor Mapped to the joint velocity of the robotic arm include:

[0020] The velocity spinor is expressed using the Jacobian matrix J. Mapped to the joint velocity of the robotic arm

[0021]

[0022] In one possible implementation, the method further includes:

[0023] Based on the Jacobian matrix J, determine the pseudo-inverse matrix of the Jacobian matrix.

[0024]

[0025] In the case of J being full rank, when J is short and stout and n > m, the rank is m, and m is the number of degrees of freedom in space; or

[0026]

[0027] In the case of J being full rank, when J is tall and thin and n < m, the rank is n.

[0028] In one possible implementation, the joint velocity is... The control step length Δt determines the joint angle increment Δθ of the robotic arm at the next time t+1 relative to the current time t, including:

[0029] pass Combining formulas After discretization, we obtain

[0030]

[0031] In one possible implementation, determining the joint angle θ' of the robotic arm at the next time t+1 based on the joint angle increment Δθ and the joint angle θ at the current time t includes:

[0032] The joint angle increment Δθ is added to the joint angle θ at the current time t to obtain the joint angle θ' of the robotic arm at the next time t+1.

[0033] θ' = θ + Δθ.

[0034] In one possible implementation, the velocity spinor is expressed using the Jacobian matrix J. Mapped to the joint velocity of the robotic arm Previously, the method also included:

[0035] Determine the Jacobian matrix J = J in the base coordinate system. si (θ),

[0036]

[0037] Where i = 2, ..., n, represents the number of degrees of freedom of the robotic arm. Indicates the adjoint transformation, θ1...θ i-1 S1...S1 represents the joint angles corresponding to the first i-1 joints of the robotic arm. i-1 J represents the normalized velocity spinor corresponding to the i-1 joints. s1 (θ) = S1;

[0038] or,

[0039] Determine the Jacobian matrix J = J in the terminal coordinate system. bi' (θ),

[0040]

[0041] Where i' = 1, 2, ..., n, represents the number of degrees of freedom of the robotic arm. Indicates the accompanying transformation, T bs R represents the pose transformation from the base coordinate system to the end coordinate system. sbRepresents the rotation matrix of the terminal coordinate system relative to the base coordinate system, [p sb ] represents the antisymmetric matrix T, which represents the position of the origin of the terminal coordinate system relative to the origin of the base coordinate system. bs =T(θ).

[0042] Secondly, embodiments of the present invention provide a robotic arm linear motion trajectory planning device, comprising:

[0043] The acquisition unit is used to acquire the linear motion parameters of the robotic arm, including the desired velocity, the joint angle θ at the current time t, and the control step time Δt. The desired velocity uses velocity screw. In this expression, ω represents the angular velocity of the robotic arm's end effector, and v represents the linear velocity of the robotic arm's end effector.

[0044] Mapping unit, used for mapping the velocity spinor Perform mapping to obtain the joint velocities of the robotic arm.

[0045] The first determining unit is used to determine the joint velocity. The control step time Δt determines the joint angle increment Δθ of the robotic arm at the next time t+1 relative to the current time t.

[0046] The second determining unit is used to determine the joint angle θ' of the robotic arm at the next time t+1 based on the joint angle increment Δθ and the joint angle θ at the current time t.

[0047] The third determining unit is used to determine the position of the robotic arm at the next moment t+1 based on the joint angle θ'.

[0048] Thirdly, embodiments of the present invention provide an electronic device, comprising:

[0049] The system includes a memory and a processor, which communicate with each other via a bus; the memory stores program instructions that can be executed by the processor, which can invoke the program instructions to perform the steps of the method described in the first aspect and various possible implementations.

[0050] Fourthly, embodiments of the present invention provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method described in the first aspect and various possible implementations.

[0051] Fifthly, embodiments of the present invention provide a computer program product containing instructions that, when the computer program product is run on a computer, cause the steps of the method described in the first aspect and various possible implementations to be executed by the computer.

[0052] The embodiments of the present invention disclose the following technical effects:

[0053] Based on the determined joint angle θ' of the robotic arm at the next time t+1, the embodiments of the present invention can quickly and conveniently plan the linear motion trajectory of the robotic arm, which is convenient for practical engineering applications.

[0054] Of course, any product implementing this invention does not necessarily need to achieve all of the advantages described above at the same time. Attached Figure Description

[0055] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0056] Figure 1 This is a system architecture diagram applicable to the embodiments of the present invention;

[0057] Figure 2 A flowchart illustrating a linear motion trajectory planning method for a robotic arm provided in an embodiment of the present invention;

[0058] Figure 3 A schematic diagram of a collaborative robotic arm provided in an embodiment of the present invention;

[0059] Figure 4 Another flowchart illustrating a linear motion trajectory planning method for a robotic arm provided in an embodiment of the present invention;

[0060] Figure 5 A schematic block diagram of a linear motion trajectory planning device for a robotic arm provided in an embodiment of the present invention;

[0061] Figure 6 A schematic block diagram of an electronic device provided in an embodiment of the present invention. Detailed Implementation

[0062] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0063] The terminology used in the embodiments of this invention is for the purpose of describing particular embodiments only and is not intended to limit the invention. The singular forms “a,” “the,” and “the” as used in the embodiments of this invention and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise.

[0064] It should be understood that the term "and / or" used in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.

[0065] Depending on the context, the word "if" as used here can be interpreted as "when," "when," "in response to determination," or "in response to detection." Similarly, depending on the context, the phrase "if determination" or "if monitoring (the stated condition or event)" can be interpreted as "when determination," "in response to determination," "when monitoring (the stated condition or event)," or "in response to monitoring (the stated condition or event)."

[0066] In the current robot operation and debugging process, the linear motion trajectory planning is not conducive to practical engineering applications.

[0067] In view of this, the embodiments of the present invention provide a new approach. To facilitate understanding of this application, the system architecture on which the embodiments of the present invention are based will first be described. Figure 1 An exemplary system architecture to which embodiments of the present invention can be applied is shown, such as Figure 1 As shown, the system architecture may include a terminal device and a robotic arm linear motion trajectory planning device located on the server side.

[0068] The terminal devices can include, but are not limited to, smart mobile terminals, smart home devices, wearable devices, and PCs (Personal Computers). Smart mobile terminals can include mobile phones, tablets, laptops, PDAs (Personal Digital Assistants), and connected cars. Smart home devices can include smart TVs, smart refrigerators, and so on. Wearable devices can include smartwatches, smart glasses, virtual reality devices, augmented reality devices, and mixed reality devices (i.e., devices that support both virtual and augmented reality).

[0069] The robotic arm linear motion trajectory planning device can use the robotic arm linear motion trajectory planning method provided in the embodiments of the present invention to plan the linear motion trajectory of the robotic arm.

[0070] The aforementioned robotic arm linear motion trajectory planning device can be installed on a single server, a server cluster consisting of multiple servers, or a cloud server. A cloud server, also known as a cloud computing server or cloud host, is a host product within the cloud computing service system, designed to address the shortcomings of traditional physical hosts and Virtual Private Servers (VPS) services, such as high management difficulty and weak service scalability. In addition to... Figure 1 In addition to the architecture shown, the robotic arm linear motion trajectory planning device can also be set on a computer terminal with strong computing power.

[0071] Figure 2 This is a flowchart illustrating a method for planning the linear motion trajectory of a robotic arm according to an embodiment of the present invention. The method can be derived from... Figure 1 The linear motion trajectory planning device for the robotic arm in the system shown is executed. For example... Figure 2 As shown, the method may include the following steps:

[0072] Step 201: Obtain the target parameters of the robotic arm.

[0073] Step 202: Map the velocity spinor to obtain the joint velocities of the robotic arm.

[0074] Step 203: Based on the joint speed and control step time, determine the joint angle increment of the robotic arm at the next moment t+1 relative to the current moment t.

[0075] Step 204: Determine the joint angle of the robotic arm at the next time t+1 based on the joint angle increment and the joint angle at the current time t.

[0076] Step 205: Determine the position of the robotic arm at the next moment t+1 based on the joint angle of the robotic arm at the next moment t+1.

[0077] The following describes in detail each step of the above process and the effects that can be further produced, with reference to the embodiments of the present invention.

[0078] First, the above step 201, namely "obtaining the target parameters of the robotic arm", will be described in detail with reference to the embodiments of the present invention.

[0079] In this embodiment of the invention, the robotic arm can be a collaborative robotic arm, such as... Figure 3 As shown. The target parameters of the robotic arm, also known as linear motion parameters, include the desired velocity, the joint angle θ at the current time t, and the control step time Δt. The desired velocity is used to characterize the magnitude and direction of the velocity in Cartesian space. Specifically, the magnitude and direction of the desired velocity are expressed using a velocity spinor. Let ω represent the angular velocity of the robotic arm's end effector, v represent the linear velocity of the robotic arm's end effector, and t be an integer greater than or equal to 0. The velocity spinor is... Expressing linear velocity and angular velocity as a six-dimensional vector, namely the velocity spinor. It should be noted that velocity spinor There are coordinate system requirements. The velocity spinor represents the velocity relative to the base coordinate system. θ represents the velocity spinor relative to the end-effector coordinate system. It can be understood that if the robotic arm is a six-degree-of-freedom robotic arm, θ is a six-dimensional vector θ = (θ1, θ2, θ3, θ4, θ5, θ6), representing the angle of each joint of the robotic arm.

[0080] It should be noted that after obtaining the target parameters of the robotic arm, the helical axis parameters of the robotic arm are then obtained. Based on screw theory, the screw exponential product method is used to establish the motion model of the robotic arm. Specifically, based on the helical axis parameters, a forward kinematic model T(θ) is established.

[0081]

[0082] Where n represents the number of degrees of freedom of the robotic arm, θ1...θ n This represents the joint angles corresponding to the n joints of the robotic arm, S1...S... n This represents the normalized velocity spinor of n joints, where M is the end-effector pose of the robotic arm in its initial position, and the exponential product is... SE(3) is a special European group.

[0083]

[0084] SO(3) is a special orthogonal group.

[0085]

[0086] Where I represents the three-dimensional identity matrix

[0087] The helical axis parameters of the six-degree-of-freedom collaborative robotic arm are shown in Table 1.

[0088] Table 1

[0089] i <![CDATA[ω i ]]> <![CDATA[q i ]]> <![CDATA[v i ]]> 1 (0,0,1) (0,0,0) (0,0,0) 2 (0,1,0) (0,0,0.2275) (-0.2275,0,0) 3 (0,1,0) (0,0,0.4275) (-0.4275,0,0) 4 (0,1,0) (0,0,0.5775) (-0.5775,0,0) 5 (0,0,1) (0,0,0) (0,0,0) 6 (0,1,0) (0,0,0.8110) (-0.8110,0,0)

[0090] v in the table above i =-ω i ×q i Among them, q iThis refers to the spatial coordinates of any point on the i-th joint helical axis (rotation axis). These spatial coordinates are not unique, and values ​​that are convenient to calculate can be selected first.

[0091] The following describes step 202, namely "mapping the velocity spinor to obtain the joint velocity of the robotic arm", in detail with reference to the embodiments of the present invention.

[0092] In one embodiment of the present invention, as a possible implementation, the Jacobian matrix J = J in the base coordinate system is determined. si (θ), its function is to map the joint angle to Cartesian space. The i-th column of the Jacobian matrix in the base coordinate system is shown in the following equation:

[0093]

[0094] Where i = 2, ..., n, represents the number of degrees of freedom of the robotic arm. Indicates the adjoint transformation, θ1...θ i-1 S1...S1 represents the joint angles corresponding to the first i-1 joints of the robotic arm. i-1 J represents the normalized velocity spinor corresponding to the i-1 joints. s1 (θ) = S1;

[0095] or,

[0096] Determine the Jacobian matrix J = J in the terminal coordinate system. bi' (θ),

[0097]

[0098] Where i' = 1, 2, ..., n, represents the number of degrees of freedom of the robotic arm. T represents the adjoint transformation, which transforms the Jacobian matrix between the base coordinate system and the terminal coordinate system. bs R represents the pose transformation from the base coordinate system to the end coordinate system. sb Represents the rotation matrix of the terminal coordinate system relative to the base coordinate system, [p sb ] represents the antisymmetric matrix T, which represents the position of the origin of the terminal coordinate system relative to the origin of the base coordinate system. bs =T(θ).

[0099] In one embodiment of the invention, as a possible implementation, the velocity spinor is represented by the Jacobian matrix J. Mapped to the joint velocity of the robotic arm Its function is to map the desired velocity in Cartesian space to joint space for linear motion trajectory planning.

[0100]

[0101] It should be noted that the value of J in formula (6) at the joint angle θ at the current time t is J. si (θ), or J bi' (θ) depends on the coordinate system in which the linear motion trajectory of the robotic arm is planned. If the linear motion trajectory of the robotic arm is planned in the base coordinate system, then the value of J is J si (θ). If the linear motion trajectory of the robotic arm is planned in the end-effector coordinate system, then the value of J is J. bi' (θ). And

[0102] The following describes in detail step 203, namely, "determining the joint angle increment of the robotic arm at the next moment t+1 relative to the current moment t, based on the joint speed and control step length", with reference to the embodiments of the present invention.

[0103] In this embodiment of the invention, before performing step 203, the pseudo-inverse matrix of the Jacobian matrix is ​​determined based on the Jacobian matrix J.

[0104]

[0105] In the case of J being full rank, when J is short and stout and n > m, the rank is m, and m is the number of degrees of freedom in space; or

[0106]

[0107] In the case of J being full rank, when J is tall and thin and n < m, the rank is n.

[0108] In this embodiment of the invention, by Combining formula (6), after discretization, we obtain formula (9).

[0109]

[0110] The following describes in detail step 204, namely, "determining the joint angle of the robotic arm at the next moment t+1 based on the joint angle increment and the joint angle at the current moment t," with reference to embodiments of the present invention.

[0111] In this embodiment of the invention, the joint angle increment Δθ is added to the joint angle θ at the current time t to obtain the joint angle θ' of the robotic arm at the next time t+1.

[0112] θ'=θ+Δθ (10)

[0113] The following describes step 205, namely, "determining the position of the robotic arm at the next moment t+1 based on the joint angle of the robotic arm at the next moment t+1", in conjunction with the embodiments of the present invention.

[0114] In this embodiment of the invention, after determining the joint angle θ', each joint of the robotic arm can be moved from its current position (i.e., joint angle θ) at time t to its position (i.e., joint angle θ') at the next time t+1. It can be understood that if the robotic arm is a six-degree-of-freedom robotic arm, and θ' is a six-dimensional vector θ' = (θ1', θ2', θ3', θ4', θ5', θ6'), representing the angle of each joint of the robotic arm, then each joint of the six-degree-of-freedom robotic arm will move to the position represented by θ1', θ2', θ3', θ4', θ5', θ6'.

[0115] As can be seen from the above, the embodiments of the present invention can quickly and conveniently plan the linear motion trajectory of the robotic arm based on the determined joint angle θ' of the robotic arm at the next moment t+1, which is convenient for practical engineering applications.

[0116] Based on the same concept as the above-described method embodiments, this invention also proposes a method for planning the linear motion trajectory of a robotic arm, the flowchart of which is shown below. Figure 4 As shown, it includes:

[0117] S401, Obtain the target parameters of the robotic arm.

[0118] In this embodiment of the invention, the target parameters of the robotic arm are obtained, including the desired speed, the joint angle θ at the current time t, and the control step time Δt.

[0119] It should be noted that the desired velocity is used to characterize the magnitude and direction of velocity within Cartesian space. Specifically, the magnitude and direction of the desired velocity are expressed using the velocity spinor. Let ω represent the angular velocity of the robotic arm's end effector, v represent the linear velocity of the robotic arm's end effector, and t be an integer greater than or equal to 0. The velocity spinor is... Expressing linear velocity and angular velocity as a six-dimensional vector, namely the velocity spinor. It should be noted that velocity spinor There are coordinate system requirements. The velocity spinor represents the velocity relative to the base coordinate system. It represents the velocity spinor relative to the end coordinate system.

[0120] S402, obtain the helical axis parameters of the robotic arm, and establish a forward kinematics model based on the helical axis parameters.

[0121] In this embodiment of the invention, a positive kinematic model T(θ) is established based on the helical axis parameters.

[0122]

[0123] Where n represents the number of degrees of freedom of the robotic arm, θ1...θ n This represents the joint angles corresponding to the n joints of the robotic arm, S1...S... n This represents the normalized velocity spinor of n joints, where M is the end-effector pose of the robotic arm in its initial position, and the exponential product is... SE(3) is a special European group.

[0124]

[0125] SO(3) is a special orthogonal group.

[0126]

[0127] Where I represents the three-dimensional identity matrix

[0128] S403, determine the Jacobian matrix.

[0129] In this embodiment of the invention, the Jacobian matrix J = J in the base coordinate system is determined. si (θ),

[0130]

[0131] Where i = 2, ..., n, represents the number of degrees of freedom of the robotic arm. Indicates the adjoint transformation, θ1...θ i-1 S1...S1 represents the joint angles corresponding to the first i-1 joints of the robotic arm. i-1 J represents the normalized velocity spinor corresponding to the i-1 joints. s1 (θ) = S1;

[0132] or,

[0133] Determine the Jacobian matrix J = J in the terminal coordinate system. bi' (θ),

[0134]

[0135] Where i' = 1, 2, ..., n, represents the number of degrees of freedom of the robotic arm. Indicates the accompanying transformation, T bs R represents the pose transformation from the base coordinate system to the end coordinate system. sb Represents the rotation matrix of the terminal coordinate system relative to the base coordinate system, [p sb] represents the antisymmetric matrix T, which represents the position of the origin of the terminal coordinate system relative to the origin of the base coordinate system. bs =T(θ).

[0136] S404 maps the velocity spinor to obtain the joint velocities of the robotic arm.

[0137] In this embodiment of the invention, the Jacobian matrix is ​​used to convert the velocity spinor. Mapped to the joint velocity of the robotic arm In the form of:

[0138]

[0139] S405. Based on the Jacobian matrix, determine the pseudo-inverse matrix of the Jacobian matrix.

[0140] In this embodiment of the invention, the pseudo-inverse matrix of the Jacobian matrix is ​​determined based on the Jacobian matrix J.

[0141]

[0142] In the case of J being full rank, when J is a short and stout type and n > m, the rank is m; or

[0143]

[0144] In the case of J being full rank, when J is tall and thin and n < m, the rank is n.

[0145] S406, based on the joint speed and control step time, determine the joint angle increment of the robotic arm at the next moment t+1 relative to the current moment t.

[0146] In this embodiment of the invention, by means of Combining formula (6), after discretization, we obtain formula (9).

[0147]

[0148] S407, based on the joint angle increment and the joint angle at the current time t, determine the joint angle of the robotic arm at the next time t+1.

[0149] In this embodiment of the invention, the joint angle increment Δθ is added to the joint angle θ at the current time t to obtain the joint angle θ' of the robotic arm at the next time t+1.

[0150] θ'=θ+Δθ(10)

[0151] S408, based on the joint angle of the robotic arm at the next moment t+1, determine the position of the robotic arm at the next moment t+1.

[0152] In this embodiment of the invention, after determining the joint angle θ', each joint of the robotic arm can be moved from its current position (i.e., joint angle θ) at time t to its position (i.e., joint angle θ') at the next time t+1. It can be understood that if the robotic arm is a six-degree-of-freedom robotic arm, and θ' is a six-dimensional vector θ' = (θ1', θ2', θ3', θ4', θ5', θ6'), representing the angle of each joint of the robotic arm, then each joint of the six-degree-of-freedom robotic arm will move to the position represented by θ1', θ2', θ3', θ4', θ5', θ6'.

[0153] According to another embodiment, a robotic arm linear motion trajectory planning device is provided. Figure 5 A schematic block diagram of a robotic arm linear motion trajectory planning device according to one embodiment is shown. This device can be disposed in... Figure 1 The server side in the illustrated architecture. For example... Figure 5 As shown, the device 500 may include: an acquisition unit 501, a mapping unit 502, a first determination unit 503, a second determination unit 504, and a third determination unit 505. The main functions of each component are as follows:

[0154] The acquisition unit 501 is used to acquire the target parameters of the robotic arm, including the desired velocity, the joint angle θ at the current time t, and the control step time Δt. The desired velocity uses velocity screw. Let ω represent the angular velocity of the robotic arm's end effector, v represent the linear velocity of the robotic arm's end effector, and t be an integer greater than or equal to 0.

[0155] Mapping unit 502 is used for mapping the velocity spinor Perform mapping to obtain the joint velocities of the robotic arm.

[0156] The first determining unit 503 is used to determine the joint speed. The control step length Δt determines the joint angle increment Δθ of the robotic arm at the next time t+1 relative to the current time t.

[0157] The second determining unit 504 is used to determine the joint angle θ' of the robotic arm at the next time t+1 based on the joint angle increment Δθ and the joint angle θ at the current time t.

[0158] The third determining unit 505 is used to determine the position of the robotic arm at the next moment t+1 based on the joint angle θ'.

[0159] In one possible way, the acquisition unit 501 is specifically used to acquire the helical axis parameters of the robotic arm;

[0160] Based on the aforementioned helical axis parameters, a forward kinematic model T(θ) is established.

[0161]

[0162] Where n represents the number of degrees of freedom of the robotic arm, θ1...θ n This represents the joint angles corresponding to the n joints of the robotic arm, S1...S... n This represents the normalized velocity spinor of n joints, where M is the end-effector pose of the robotic arm in its initial position, and the exponential product is... SE(3) is a special European group.

[0163]

[0164] SO(3) is a special orthogonal group.

[0165]

[0166] Where I represents the three-dimensional identity matrix

[0167] As one possible implementation, the mapping unit 502 is specifically used to map the velocity spinor using the Jacobian matrix J. Mapped to the joint velocity of the robotic arm

[0168]

[0169] As one possible implementation, the apparatus further includes a fourth determining unit for determining the pseudo-inverse of the Jacobian matrix J based on the Jacobian matrix J.

[0170]

[0171] In the case of J being full rank, when J is a short and stout type and n > m, the rank is m; or

[0172]

[0173] In the case of J being full rank, when J is tall and thin and n < m, the rank is n.

[0174] As one possible approach, the first determining unit 503 is specifically used to... Combining formulas After discretization, we obtain

[0175]

[0176] In one possible manner, the second determining unit 504 is specifically used to add the joint angle increment Δθ to the joint angle θ at the current time t to obtain the joint angle θ' of the robotic arm at the next time t+1.

[0177] θ' = θ + Δθ.

[0178] As one possible implementation, the apparatus further includes a fifth determining unit for determining the Jacobian matrix J = J in the base coordinate system. si (θ),

[0179]

[0180] Where i = 2, ..., n, represents the number of degrees of freedom of the robotic arm. Indicates the adjoint transformation, θ1...θ i-1 S1...S1 represents the joint angles corresponding to the first i-1 joints of the robotic arm. i-1 J represents the normalized velocity spinor corresponding to the i-1 joints. s1 (θ) = S1;

[0181] or,

[0182] Determine the Jacobian matrix J = J in the terminal coordinate system. bi' (θ),

[0183]

[0184] Where i' = 1, 2, ..., n, represents the number of degrees of freedom of the robotic arm. Indicates the accompanying transformation, T bs R represents the pose transformation from the base coordinate system to the end coordinate system. sb Represents the rotation matrix of the terminal coordinate system relative to the base coordinate system, [p sb ] represents the antisymmetric matrix T, which represents the position of the origin of the terminal coordinate system relative to the origin of the base coordinate system. bs =T(θ).

[0185] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on its differences from other embodiments. In particular, the device embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. 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 the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0186] In addition, embodiments of the present invention also provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method described in any of the foregoing method embodiments.

[0187] And an electronic device, comprising:

[0188] One or more processors; and

[0189] A memory associated with the one or more processors, the memory being used to store program instructions that, when read and executed by the one or more processors, perform the steps of the method described in any of the foregoing method embodiments.

[0190] This invention also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the method described in any of the foregoing method embodiments.

[0191] in, Figure 6 An exemplary architecture of an electronic device is shown, which may specifically include a processor 610, a video display adapter 611, a disk drive 612, an input / output interface 613, a network interface 614, and a memory 620. The processor 610, video display adapter 611, disk drive 612, input / output interface 613, network interface 614, and memory 620 can communicate with each other via a communication bus 630.

[0192] The processor 610 can be implemented using a general-purpose CPU, microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present invention.

[0193] The memory 620 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 620 can store the operating system 621 for controlling the operation of the electronic device 600, and the basic input / output system (BIOS) 622 for controlling the low-level operations of the electronic device 600. Additionally, it can store a web browser 623, a data storage management system 624, and a robotic arm linear motion trajectory planning device 625, etc. The aforementioned robotic arm linear motion trajectory planning device 625 can be the application program that specifically implements the aforementioned steps in this embodiment of the invention. In summary, when implementing the technical solution provided in this embodiment of the invention through software or firmware, the relevant program code is stored in the memory 620 and is called and executed by the processor 610.

[0194] Input / output interface 613 is used to connect input / output modules to realize information input and output. Input / output modules can be configured as components in the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Input devices may include keyboards, mice, touch screens, microphones, various sensors, etc., and output devices may include displays, speakers, vibrators, indicator lights, etc.

[0195] Network interface 614 is used to connect a communication module (not shown in the figure) to enable communication between this device and other devices. The communication module can communicate via wired means (e.g., USB, Ethernet cable) or wireless means (e.g., mobile network, Wi-Fi, Bluetooth).

[0196] Bus 630 includes a pathway for transmitting information between various components of the device, such as processor 610, video display adapter 611, disk drive 612, input / output interface 613, network interface 614, and memory 620.

[0197] It should be noted that although the above-described device only shows the processor 610, video display adapter 611, disk drive 612, input / output interface 613, network interface 614, memory 620, bus 630, etc., in specific implementations, the device may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the above-described device may only include the components necessary for implementing the solution of this application, and does not necessarily include all the components shown in the figures.

[0198] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.

[0199] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the embodiments of the present invention, and are not intended to limit them. Although the embodiments of the present invention have been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A method for planning the linear motion trajectory of a robotic arm, characterized in that, include: Obtain the target parameters of the robotic arm, including the desired velocity and the joint angle at the current time t. and control step duration The desired velocity is achieved using velocity spinor. express, This represents the angular velocity at the end of the robotic arm. This represents the linear velocity at the end of the robotic arm, where t is an integer greater than or equal to 0; Regarding the velocity spinor Perform mapping to obtain the joint velocities of the robotic arm. ; According to the joint speed The control step time Determine the joint angle increment of the robotic arm at the next time t+1 relative to the current time t. ; Based on the joint angle increment and the joint angle at the current time t Determine the joint angles of the robotic arm at the next moment t+1. ; According to the joint angle Determine the position of the robotic arm at the next time step t+1.

2. The method according to claim 1, characterized in that, After obtaining the target parameters of the robotic arm, the method further includes: Obtain the parameters of the robotic arm's helical axis; Based on the aforementioned helical axis parameters, a forward kinematic model is established. , in, This indicates the number of degrees of freedom of the robotic arm. Indicating robotic arm The joint angles corresponding to each joint. express Unitization of the velocity spinor corresponding to each joint. Given the end effector pose of the robotic arm in its initial position, the exponential product part , It is a special European style group. , It is a special orthogonal group. in, Represents the three-dimensional identity matrix .

3. The method according to claim 1 or 2, characterized in that, The spinor of the velocity Perform mapping to obtain the joint velocities of the robotic arm. ,include: Using the Jacobian matrix The velocity spinor Mapped to the joint velocity of the robotic arm , 。 4. The method according to claim 3, characterized in that, The method further includes: According to the Jacobian matrix Determine the pseudo-inverse of the Jacobian matrix. , Among them, When the rank is full, It is short and stout. At that time, the rank was , For spatial degrees of freedom; or Among them, When the rank is full, Tall and thin, At that time, the rank was .

5. The method according to claim 4, characterized in that, According to the joint speed The control step time Determine the joint angle increment of the robotic arm at the next time t+1 relative to the current time t. ,include: pass Combined with formula After discretization, we obtain 。 6. The method according to claim 1 or 2, characterized in that, The increment based on the joint angle and the joint angle at the current time t Determine the joint angles of the robotic arm at the next moment t+1. ,include: The joint angle increment and the joint angle at the current time t Add them together to obtain the joint angles of the robotic arm at the next moment t+1. , 。 7. The method according to claim 3, characterized in that, The use of Jacobian matrix The velocity spinor Mapped to the joint velocity of the robotic arm Previously, the method also included: Determine the Jacobian matrix in the base coordinate system , in, , indicating the number of degrees of freedom of the robotic arm. Indicates the accompanying transformation, Indicates the front of the robotic arm The joint angles corresponding to each joint. express Unitization of the velocity spinor corresponding to each joint. ; or, Determine the Jacobian matrix in the terminal coordinate system , in, , indicating the number of degrees of freedom of the robotic arm. Indicates the accompanying transformation, This represents the pose transformation from the base coordinate system to the end coordinate system. This represents the rotation matrix of the terminal coordinate system relative to the base coordinate system. The antisymmetric matrix representing the position of the origin of the terminal coordinate system relative to the origin of the base coordinate system. .

8. A linear motion trajectory planning device for a robotic arm, characterized in that, include: The acquisition unit is used to acquire the linear motion parameters of the robotic arm, including the desired velocity and the joint angle at the current time t. and control step duration The desired velocity is achieved using velocity spinor. express, This represents the angular velocity at the end of the robotic arm. This indicates the linear velocity at the end effector of the robotic arm; Mapping unit for mapping the velocity spinor Perform mapping to obtain the joint velocities of the robotic arm. ; The first determining unit is configured to determine the joint speed based on the joint velocity. The control step time Determine the joint angle increment of the robotic arm at the next time t+1 relative to the current time t. ; The second determining unit is used to determine the joint angle increment. and the joint angle at the current time t Determine the joint angles of the robotic arm at the next moment t+1. ; The third determining unit is also used to determine the joint angle. Determine the position of the robotic arm at the next time step t+1.

9. An electronic device, characterized in that, include: The memory and the processor communicate with each other via a bus; The memory stores program instructions that can be executed by the processor, which can invoke the program instructions to perform the method as described in any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Practical industry six-axis mechanical arm rectilinear motion track planning method and system

    CN108189038A

  • Method and device for determining joint rotation angles of series robot

    CN108406769A