Mechanical arm linear motion track planning method and device and electronic equipment
By obtaining the target parameters of the robot arm and performing velocity rotation mapping, the joint velocity and angle increment are determined, the problem of unfavorable linear motion trajectory planning is solved, and the linear motion trajectory planning of the robot arm is realized for practical engineering applications.
Patent Information
- Application Number
- CN202411647445.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-18
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2044-11-18
AI Technical Summary
During robot operation and debugging, linear motion trajectory planning operations are not conducive to practical engineering applications.
By obtaining the target parameters of the robot arm, including the expected speed, the current joint angle and the control step time, velocity rotation mapping is performed, joint velocity and joint angle increments are determined, and the linear motion trajectory of the robot arm is planned.
It realizes rapid and convenient linear motion trajectory planning of the robotic arm, which is suitable for practical engineering applications.
Smart Images

Figure CN119458335A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the technical field of robotic arms, and in particular to a method, device and electronic device for planning a linear motion trajectory of a robotic arm. Background Art
[0002] With the development of science and technology, robotic arms, especially multi-DOF collaborative robotic arms, are increasingly widely used, and the working environment is becoming more and more complex. People's requirements for industrial robot trajectory planning are also getting higher and higher. Not only must point to point (PTP) and simple continuous path (CP) motion be completed, but also the robot's work efficiency and the smoothness of complex trajectories must be taken into account. However, in the current robot operation and debugging process, the operation of linear motion trajectory planning is not conducive to practical engineering applications. Summary of the invention
[0003] The embodiments of the present invention provide a method, device and electronic device for planning the linear motion trajectory of a robot arm, which are used to solve the technical problem that in the current robot operation and debugging process, the operation is not conducive to actual engineering application in terms of linear motion trajectory planning.
[0004] In a first aspect, an embodiment of the present invention provides a method for planning a linear motion trajectory of a robot arm, comprising:
[0005] Get the target parameters of the robot arm, which include the expected speed, the joint angle θ at the current time t, and the control step time Δt. The expected speed uses the speed screw represents, ω represents the angular velocity of the end of the robot arm, v represents the linear velocity of the end of the robot arm, and t is an integer greater than or equal to 0;
[0006] For the velocity spinor Mapping to obtain the joint velocity of the robotic arm
[0007] According to the joint velocity The control step time Δt determines the joint angle increment Δθ of the robot arm at the next time t+1 relative to the current time t;
[0008] Determine the joint angle θ' of the robot arm at the next time t+1 according to the joint angle increment Δθ and the joint angle θ at the current time t;
[0009] According to the joint angle θ', the position of the robot arm at the next time t+1 is determined.
[0010] In a possible implementation, after obtaining the target parameters of the robotic arm, the method further includes:
[0011] Get the screw axis parameters of the robot arm;
[0012] According to the screw axis parameters, a forward kinematics model T(θ) is established.
[0013]
[0014] Where n represents the number of degrees of freedom of the robot arm, θ 1 ...θ n represents the joint angles corresponding to the n joints of the robot arm, S 1 ...S n It represents the unitization of the velocity spin corresponding to n joints, M is the end position of the robot arm when it is in the initial position, and the exponential product part SE(3) is a special Euclidean group,
[0015]
[0016] SO(3) is a special orthogonal group,
[0017]
[0018] Where I represents the three-dimensional unit matrix
[0019] In a possible implementation, the velocity spinor Mapped to the joint velocity of the robot arm include:
[0020] The velocity spinor is converted using the Jacobian matrix J Mapped to the joint velocity of the robot arm
[0021]
[0022] In a possible implementation, the method further includes:
[0023] According to the Jacobian matrix J, determine the pseudo-inverse matrix of the Jacobian matrix
[0024]
[0025] Where, in the case of full rank of J, when J is short and thick, n>m, the rank is m, m is the spatial degree of freedom; or
[0026]
[0027] Among them, when J is full rank, when J is tall and thin, and n<m, the rank is n.
[0028] In a possible implementation, the joint velocity The control step time Δt determines the joint angle increment Δθ of the robot arm at the next time t+1 relative to the current time t, including:
[0029] pass Combining formulas After discretization, we get
[0030]
[0031] In a possible implementation, determining the joint angle θ' of the robot arm at the next time t+1 according to 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 robot arm at the next time t+1.
[0033] θ'=θ+Δθ.
[0034] In one possible implementation, the Jacobian matrix J is used to convert the velocity spinor Mapped to the joint velocity of the robot arm Previously, the method also included:
[0035] Determine the Jacobian matrix J=J in the basis coordinate system si (θ),
[0036]
[0037] Where i=2,···,n, represents the number of degrees of freedom of the robot arm. represents the adjoint transformation, θ 1 ...θ i-1 represents the joint angle corresponding to the first i-1 joints of the robot arm, S 1 ...S i-1 represents the unitization of the velocity spinor corresponding to the i-1 joint, J s1 (θ) = S 1 ;
[0038] or,
[0039] Determine the Jacobian matrix J=J in the terminal coordinate system bi' (θ),
[0040]
[0041] Among them, i'=1,2,...,n, represents the number of degrees of freedom of the robot arm, represents the adjoint transformation, Tbs Represents the pose transformation from the base coordinate system to the terminal coordinate system, R sb represents the rotation matrix of the terminal coordinate system relative to the base coordinate system, [p sb ] represents the antisymmetric matrix of the origin of the terminal coordinate system relative to the origin of the base coordinate system, T bs =T(θ).
[0042] In a second aspect, an embodiment of the present invention provides a robot arm linear motion trajectory planning device, comprising:
[0043] The acquisition unit is used to acquire the linear motion parameters of the robot arm, wherein the linear motion parameters include the desired speed, the joint angle θ at the current time t, and the control step time Δt. The desired speed uses the speed screw Indicates, ω represents the angular velocity of the end of the robot arm, and v represents the linear velocity of the end of the robot arm;
[0044] A mapping unit for mapping the velocity spinor Mapping to obtain the joint velocity of the robotic arm
[0045] The first determining unit is used to determine the joint speed according to the The control step time Δt determines the joint angle increment Δθ of the robot arm at the next time t+1 relative to the current time t;
[0046] A second determining unit is used to determine the joint angle θ' of the robot arm at the next time t+1 according to 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 robot arm at the next time t+1 according to the joint angle θ'.
[0048] In a third aspect, an embodiment of the present invention provides an electronic device, including:
[0049] A memory and a processor, wherein the processor and the memory communicate with each other via a bus; the memory stores program instructions executable by the processor, and the processor calls the program instructions to execute the method described in the first aspect and each step in various possible implementations.
[0050] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in the first aspect and each step in various possible implementations.
[0051] In a fifth aspect, an embodiment of the present invention provides a computer program product comprising instructions, and when the computer program product is run on a computer, each step in the method described in the first aspect and its various possible implementations is executed by the computer.
[0052] The embodiments of the present invention disclose the following technical effects:
[0053] According to the determined joint angle θ' of the robot arm at the next time t+1, the embodiment of the present invention can quickly and conveniently plan the linear motion trajectory of the robot arm, which is convenient for practical engineering applications.
[0054] Of course, any product implementing the present invention does not necessarily need to achieve all of the advantages described above at the same time. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0056] Figure 1 A system architecture diagram applicable to the embodiment of the present invention;
[0057] Figure 2 A schematic diagram of a flow chart of a method for planning a linear motion trajectory of a robotic arm provided by an embodiment of the present invention;
[0058] Figure 3 A schematic diagram of a collaborative robot arm provided by an embodiment of the present invention;
[0059] Figure 4 Another schematic diagram of a process flow of a method for planning a linear motion trajectory of a robotic arm provided by 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 by an embodiment of the present invention;
[0061] Figure 6 A schematic block diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0062] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0063] The terms used in the embodiments of the present invention are only for the purpose of describing specific embodiments, and are not intended to limit the present invention. The singular forms "a", "said" and "the" used in the embodiments of the present invention and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings.
[0064] It should be understood that the term "and / or" used in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.
[0065] The word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrases "if determining" or "if monitoring (stated condition or event)" may be interpreted as "when determining" or "in response to determining" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)", depending on the context.
[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 embodiment of the present invention provides a new idea. In order to facilitate the understanding of the present application, the system architecture based on the embodiment of the present invention is first described. Figure 1 An exemplary system architecture to which the present invention can be applied is shown. Figure 1 As shown in , 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 may include, but are not limited to, smart mobile terminals, smart home devices, wearable devices, PCs (Personal Computers), etc. Smart mobile terminals may include mobile phones, tablet computers, laptop computers, PDAs (Personal Digital Assistants), Internet cars, etc. Smart home devices may include smart TVs, smart refrigerators, etc. Wearable devices may include smart watches, smart glasses, virtual reality devices, augmented reality devices, mixed reality devices (i.e., devices that can support virtual reality and augmented reality), etc.
[0069] The robot arm linear motion trajectory planning device can use the robot arm linear motion trajectory planning method provided in the embodiment of the present invention to perform linear motion trajectory planning of the robot arm.
[0070] The above-mentioned robot arm linear motion trajectory planning device can be set in a single server, or in a server group consisting of multiple servers, or in a cloud server. A cloud server, also known as a cloud computing server or cloud host, is a host product in the cloud computing service system to solve the defects of difficult management and weak service scalability in traditional physical hosts and virtual private servers (VPS). Figure 1 In addition to the shown architecture, the robot arm linear motion trajectory planning device can also be set on a computer terminal with strong computing power.
[0071] Figure 2 A schematic diagram of a process flow of a robot arm linear motion trajectory planning method provided by an embodiment of the present invention. The method can be performed by Figure 1 The robot arm linear motion trajectory planning device in the system shown is executed. Figure 2 As shown in , the method may include the following steps:
[0072] Step 201: Obtain target parameters of the robot arm.
[0073] Step 202: Map the velocity spinor to obtain the joint velocity of the robot arm.
[0074] Step 203: Determine the joint angle increment of the robot arm at the next time t+1 relative to the current time t according to the joint speed and the control step time.
[0075] Step 204: Determine the joint angle of the robot arm at the next time t+1 according to 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 according to the joint angle of the robotic arm at the next moment t+1.
[0077] The following describes in detail each step in the above process and the effects that can be further produced in conjunction with the embodiments of the present invention.
[0078] First, the above step 201, namely “obtaining target parameters of the robot arm” is described in detail in conjunction with the embodiment of the present invention.
[0079] In an embodiment of the present invention, the robot arm may be a collaborative robot arm, such as Figure 3 As shown in Figure 2. The target parameters of the robot arm can also be called linear motion parameters, including the desired speed, the joint angle θ at the current time t, and the control step time Δt. The desired speed is used to characterize the magnitude and direction of the speed in Cartesian space. Specifically, the magnitude and direction of the desired speed are expressed using the velocity spinor ω represents the angular velocity of the end of the robot arm, v represents the linear velocity of the end of the robot arm, and t is an integer greater than or equal to 0. The linear velocity and angular velocity are expressed as a six-dimensional vector, namely the velocity spinor It should be noted that the velocity spinor There are coordinate system requirements. represents the velocity spinor relative to the base coordinate system, represents the velocity spinor relative to the end coordinate system. It can be understood that if the robot arm is a six-degree-of-freedom robot arm, θ is a six-dimensional vector θ=(θ 1 ,θ 2 ,θ 3 ,θ 4 ,θ 5 ,θ 6 ), which represent the angle of each joint of the robotic arm.
[0080] It should be noted that after obtaining the target parameters of the robot arm, the screw axis parameters of the robot arm are obtained. Based on the screw theory, the screw exponential product method is used to establish the motion model of the robot arm. Specifically, according to the screw axis parameters, the forward kinematics model T(θ) is established.
[0081]
[0082] Where n represents the number of degrees of freedom of the robot arm, θ 1 ...θ n represents the joint angles corresponding to the n joints of the robot arm, S 1 ...S n It represents the unitization of the velocity spin corresponding to n joints, M is the end position of the robot arm when it is in the initial position, and the exponential product part SE(3) is a special Euclidean group,
[0083]
[0084] SO(3) is a special orthogonal group,
[0085]
[0086] Where I represents the three-dimensional unit matrix
[0087] Among them, the screw axis parameters of the six-DOF collaborative robot 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] In the above table, v i =-ω i ×q i Among them, q i It refers to the spatial coordinates of any point on the screw axis (rotation axis) of the i-th joint. The spatial coordinates are not unique, and the values that are convenient for calculation can be selected first.
[0091] The above step 202, namely "mapping the velocity spinor to obtain the joint velocity of the robot arm" is described in detail below in conjunction with an embodiment of the present invention.
[0092] In an embodiment of the present invention, as a possible implementation method, the Jacobian matrix J in the base coordinate system is determined as follows: si (θ), which is used to map the joint angle to Cartesian space. The i-th column of the Jacobian matrix based on the base coordinate system is as follows:
[0093]
[0094] Where i=2,···,n, represents the number of degrees of freedom of the robot arm. represents the adjoint transformation, θ 1 ...θ i-1 represents the joint angle corresponding to the first i-1 joints of the robot arm, S 1 ...S i-1 represents the unitization of the velocity spinor corresponding to the i-1 joint, J s1 (θ) = S 1 ;
[0095] or,
[0096] Determine the Jacobian matrix J=J in the terminal coordinate system bi' (θ),
[0097]
[0098] Among them, i'=1,2,...,n, represents the number of degrees of freedom of the robot arm, represents the adjoint transformation, which converts the Jacobian matrix between the base coordinate system and the terminal coordinate system. bs Represents the pose transformation from the base coordinate system to the terminal coordinate system, R sb represents the rotation matrix of the terminal coordinate system relative to the base coordinate system, [p sb ] represents the antisymmetric matrix of the origin of the terminal coordinate system relative to the origin of the base coordinate system, T bs =T(θ).
[0099] In an embodiment of the present invention, as a possible implementation method, the velocity spinor is converted into Mapped to the joint velocity of the robot 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 robot arm’s linear motion trajectory is planned. If the robot arm’s linear motion trajectory is planned in the base coordinate system, the value of J is J si (θ). If the linear motion trajectory of the robot is planned in the end coordinate system, the value of J is J bi' (θ).
[0102] The above step 203, i.e., "determining the joint angle increment of the robot arm at the next moment t+1 relative to the current moment t according to the joint speed and the control step time" is described in detail below in conjunction with an embodiment of the present invention.
[0103] In the embodiment of the present invention, before performing step 203, the pseudo-inverse matrix of the Jacobian matrix J is determined:
[0104]
[0105] Where, in the case of full rank of J, when J is short and thick, n>m, the rank is m, m is the spatial degree of freedom; or
[0106]
[0107] Among them, when J is full rank, when J is tall and thin, and n<m, the rank is n.
[0108] In the embodiment of the present invention, by Combining formula (6) and discretizing it, we get formula (9).
[0109]
[0110] The above step 204, i.e., "determining the joint angle of the robot arm at the next time t+1 according to the joint angle increment and the joint angle at the current time t" is described in detail below in conjunction with an embodiment of the present invention.
[0111] In the embodiment of the present invention, the joint angle increment Δθ is added to the joint angle θ at the current time t to obtain the joint angle θ' of the robot arm at the next time t+1.
[0112] θ'=θ+Δθ (10)
[0113] The above step 205, i.e., "determining the position of the robot arm at the next moment t+1 according to the joint angle of the robot arm at the next moment t+1" is described in detail below in conjunction with an embodiment of the present invention.
[0114] In the embodiment of the present invention, after the joint angle θ' is determined, each joint of the robot arm can be moved from the position at the current time t (i.e., the joint angle θ) to the position at the next time t+1 (i.e., the joint angle θ'). It can be understood that if the robot arm is a six-degree-of-freedom robot arm, θ' is a six-dimensional vector θ'=(θ 1 ',θ 2 ',θ 3 ',θ 4 ',θ 5 ',θ 6 '), respectively representing the angle of each joint of the robot arm, then each joint of the six-degree-of-freedom robot arm will move to θ 1 ',θ 2 ',θ 3 ',θ 4 ',θ 5 ',θ 6 ' represents the position.
[0115] It can be seen from the above content that the embodiment of the present invention can quickly and conveniently plan the linear motion trajectory of the robot arm according to the determined joint angle θ' of the robot arm at the next time t+1, which is convenient for practical engineering applications.
[0116] Based on the same concept as the above method embodiment, the present invention also proposes a method for planning a linear motion trajectory of a robot arm, and its flow chart is as follows: Figure 4 As shown, including:
[0117] S401, obtaining target parameters of the robot arm.
[0118] In an embodiment of the present invention, target parameters of the robot 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 expected velocity is used to characterize the magnitude and direction of the velocity in Cartesian space. Specifically, the magnitude and direction of the expected velocity are expressed using the velocity spinor ω represents the angular velocity of the end of the robot arm, v represents the linear velocity of the end of the robot arm, and t is an integer greater than or equal to 0. The linear velocity and angular velocity are expressed as a six-dimensional vector, namely the velocity spinor It should be noted that the velocity spinor There are coordinate system requirements. represents the velocity spinor relative to the base coordinate system, Represents the velocity spinor relative to the end coordinate system.
[0120] S402, obtaining the screw axis parameters of the robot arm, and establishing a forward kinematics model according to the screw axis parameters.
[0121] In the embodiment of the present invention, a forward kinematics model T(θ) is established according to the screw axis parameters.
[0122]
[0123] Where n represents the number of degrees of freedom of the robot arm, θ 1 ...θ n represents the joint angles corresponding to the n joints of the robot arm, S 1 ...S n It represents the unitization of the velocity spin corresponding to n joints, M is the end position of the robot arm when it is in the initial position, and the exponential product part SE(3) is a special Euclidean group,
[0124]
[0125] SO(3) is a special orthogonal group,
[0126]
[0127] Where I represents the three-dimensional unit matrix
[0128] S403, determine the Jacobian matrix.
[0129] In the embodiment of the present invention, the Jacobian matrix J in the base coordinate system is determined as follows: si (θ),
[0130]
[0131] Where i=2,···,n, represents the number of degrees of freedom of the robot arm. represents the adjoint transformation, θ 1 ...θ i-1 represents the joint angle corresponding to the first i-1 joints of the robot arm, S 1 ...S i-1 represents the unitization of the velocity spinor corresponding to the i-1 joint, J s1 (θ) = S 1 ;
[0132] or,
[0133] Determine the Jacobian matrix J=J in the terminal coordinate system bi' (θ),
[0134]
[0135] Among them, i'=1,2,...,n, represents the number of degrees of freedom of the robot arm, represents the adjoint transformation, T bs Represents the pose transformation from the base coordinate system to the terminal coordinate system, R sb represents the rotation matrix of the terminal coordinate system relative to the base coordinate system, [p sb ] represents the antisymmetric matrix of the origin of the terminal coordinate system relative to the origin of the base coordinate system, T bs =T(θ).
[0136] S404, mapping the velocity spinor to obtain the joint velocity of the robot arm.
[0137] In an embodiment of the present invention, the Jacobian matrix is used to convert the velocity spinor Mapped to the joint velocity of the robot arm Such as:
[0138]
[0139] S405, determining a pseudo inverse matrix of the Jacobian matrix according to the Jacobian matrix.
[0140] In an embodiment of the present invention, according to the Jacobian matrix J, the pseudo-inverse matrix of the Jacobian matrix is determined:
[0141]
[0142] Among them, when J is full rank, when J is short and thick, n>m, the rank is m; or
[0143]
[0144] Among them, when J is full rank, when J is tall and thin, and n<m, the rank is n.
[0145] S406, determining the joint angle increment of the robot arm at the next time t+1 relative to the current time t according to the joint speed and the control step time.
[0146] In the embodiment of the present invention, in the embodiment of the present invention, by Combining formula (6) and discretizing it, we get formula (9).
[0147]
[0148] S407, determining the joint angle of the robot arm at the next time t+1 according to the joint angle increment and the joint angle at the current time t.
[0149] In the embodiment of the present invention, the joint angle increment Δθ is added to the joint angle θ at the current time t to obtain the joint angle θ' of the robot arm at the next time t+1.
[0150] θ'=θ+Δθ(10)
[0151] S408, determining the position of the robotic arm at the next moment t+1 according to the joint angle of the robotic arm at the next moment t+1.
[0152] In the embodiment of the present invention, after the joint angle θ' is determined, each joint of the robot arm can be moved from the position at the current time t (i.e., the joint angle θ) to the position at the next time t+1 (i.e., the joint angle θ'). It can be understood that if the robot arm is a six-degree-of-freedom robot arm, θ' is a six-dimensional vector θ'=(θ 1 ',θ 2 ',θ 3 ',θ 4 ',θ 5 ',θ 6 '), respectively representing the angle of each joint of the robot arm, then each joint of the six-degree-of-freedom robot arm will move to θ 1 ',θ 2 ',θ 3 ',θ 4 ',θ 5 ',θ 6 ' represents the position.
[0153] According to an embodiment of another aspect, a robot arm linear motion trajectory planning device is provided. Figure 5 A schematic block diagram of a robot arm linear motion trajectory planning device according to an embodiment is shown. The device can be arranged at Figure 1 The server side of the architecture shown in Figure 1. 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 unit are as follows:
[0154] The acquisition unit 501 is used to acquire the target parameters of the robot arm, which include the expected speed, the joint angle θ at the current time t, and the control step time Δt. The expected speed uses the speed screw Indicates that ω represents the angular velocity of the end of the robot arm, v represents the linear velocity of the end of the robot arm, and t is an integer greater than or equal to 0.
[0155] The mapping unit 502 is used to map the velocity spinor Mapping to obtain the joint velocity of the robotic arm
[0156] The first determining unit 503 is used to determine the joint speed according to the The control step time Δt determines the joint angle increment Δθ of the robot 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 robot arm at the next time t+1 according to 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 robot arm at the next time t+1 according to the joint angle θ'.
[0159] As a feasible method, the acquisition unit 501 is specifically used to acquire the screw axis parameters of the robot arm;
[0160] According to the screw axis parameters, a forward kinematics model T(θ) is established.
[0161]
[0162] Where n represents the number of degrees of freedom of the robot arm, θ 1 ...θ n represents the joint angles corresponding to the n joints of the robot arm, S 1 ...S n It represents the unitization of the velocity spin corresponding to n joints, M is the end position of the robot arm when it is in the initial position, and the exponential product part SE(3) is a special Euclidean group,
[0163]
[0164] SO(3) is a special orthogonal group,
[0165]
[0166] Where I represents the three-dimensional unit matrix
[0167] As a possible implementation method, the mapping unit 502 is specifically configured to use the Jacobian matrix J to transform the velocity spinor Mapped to the joint velocity of the robot arm
[0168]
[0169] As an achievable method, the device further includes a fourth determining unit, configured to determine the pseudo-inverse of the Jacobian matrix J according to the Jacobian matrix J.
[0170]
[0171] Among them, when J is full rank, when J is short and thick, n>m, the rank is m; or
[0172]
[0173] Among them, when J is full rank, when J is tall and thin, and n<m, the rank is n.
[0174] As a possible implementation method, the first determining unit 503 is specifically configured to: Combining formulas After discretization, we get
[0175]
[0176] As an implementable manner, the second determining unit 504 is specifically configured to add the joint angle increment Δθ to the joint angle θ at the current time t to obtain the joint angle θ' of the robot arm at the next time t+1.
[0177] θ'=θ+Δθ.
[0178] As an achievable manner, the device further comprises a fifth determining unit, configured to determine 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 robot arm. represents the adjoint transformation, θ 1 ...θ i-1 represents the joint angle corresponding to the first i-1 joints of the robot arm, S 1 ...S i-1 represents the unitization of the velocity spinor corresponding to the i-1 joint, J s1 (θ) = S 1 ;
[0181] or,
[0182] Determine the Jacobian matrix J=J in the terminal coordinate system bi' (θ),
[0183]
[0184] Among them, i'=1,2,...,n, represents the number of degrees of freedom of the robot arm, represents the adjoint transformation, T bs Represents the pose transformation from the base coordinate system to the terminal coordinate system, R sb represents the rotation matrix of the terminal coordinate system relative to the base coordinate system, [p sb ] represents the antisymmetric matrix of the origin of the terminal coordinate system relative to the origin of the base coordinate system, T bs =T(θ).
[0185] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment. The device embodiment described above is only schematic, wherein the unit described as a separate component may or may not be physically separated, and the component displayed as a unit may or may not be a physical unit, that is, it may be located in one place, or it may be distributed on multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative work.
[0186] In addition, an embodiment of the present invention further provides a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the steps of any one of the methods in the aforementioned method embodiments are implemented.
[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, wherein the program instructions, when read and executed by the one or more processors, execute the steps of the method described in any one of the aforementioned method embodiments.
[0190] An embodiment of the present invention further provides a computer program product, including a computer program, which implements the steps of any one of the methods in the aforementioned method embodiments when executed by a processor.
[0191] in, Figure 6 The architecture of the electronic device is exemplarily shown, which may 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, the video display adapter 611, the disk drive 612, the input / output interface 613, the network interface 614, and the memory 620 may be communicatively connected via a communication bus 630.
[0192] The processor 610 may be implemented by a general-purpose CPU, a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, etc., and is used to execute relevant programs to implement the technical solutions provided by 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 an operating system 621 for controlling the operation of the electronic device 600, and a basic input and output system (BIOS) 622 for controlling the low-level operation of the electronic device 600. In addition, a web browser 623, a data storage management system 624, and a robot arm linear motion trajectory planning device 625, etc. can also be stored. The above-mentioned robot arm linear motion trajectory planning device 625 can be an application program that specifically implements the operations of the aforementioned steps in the embodiment of the present invention. In short, when the technical solution provided by the embodiment of the present invention is implemented by software or firmware, the relevant program code is stored in the memory 620 and is called and executed by the processor 610.
[0194] The input / output interface 613 is used to connect the input / output module to realize information input and output. The input / output module can be configured in the device as a component (not shown in the figure), or it can be externally connected to the device to provide corresponding functions. Among them, the input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device may include a display, a speaker, a vibrator, an indicator light, etc.
[0195] The network interface 614 is used to connect to a communication module (not shown) to achieve communication interaction between the device and other devices. The communication module can achieve communication through a wired mode (such as USB, network cable, etc.) or a wireless mode (such as mobile network, WIFI, Bluetooth, etc.).
[0196] The bus 630 comprises a pathway for transmitting information between the various components of the device (eg, the processor 610, the video display adapter 611, the disk drive 612, the input / output interface 613, the network interface 614, and the memory 620).
[0197] It should be noted that, although the above device only shows a processor 610, a video display adapter 611, a disk drive 612, an input / output interface 613, a network interface 614, a memory 620, a bus 630, etc., in the specific implementation process, the device may also include other components necessary for normal operation. In addition, it can be understood by those skilled in the art that the above device may also only include components necessary for implementing the solution of the present application, and does not necessarily include all the components shown in the figure.
[0198] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment 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, rather than to limit them. Although the embodiments of the present invention have 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 replace some or all of the technical features therein with equivalents. However, these modifications or replacements 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 a linear motion trajectory of a robotic arm, characterized in that: include: Get the target parameters of the robot arm, which include the expected speed, the joint angle θ at the current time t, and the control step time Δt. The expected speed uses the speed screw represents, ω represents the angular velocity of the end of the robot arm, v represents the linear velocity of the end of the robot arm, and t is an integer greater than or equal to 0; For the velocity spinor Mapping to obtain the joint velocity of the robotic arm According to the joint velocity The control step time Δt determines the joint angle increment Δθ of the robot arm at the next time t+1 relative to the current time t; Determine the joint angle θ' of the robot arm at the next time t+1 according to the joint angle increment Δθ and the joint angle θ at the current time t; According to the joint angle θ', the position of the robot arm at the next time t+1 is determined.
2. The method according to claim 1, characterized in that After obtaining the target parameters of the robotic arm, the method further includes: Get the screw axis parameters of the robot arm; According to the screw axis parameters, a forward kinematics model T(θ) is established. Where n represents the number of degrees of freedom of the robot arm, θ1...θ n Indicates the joint angles corresponding to the n joints of the robot arm, S1...S n It represents the unitization of the velocity spin corresponding to n joints, M is the end position of the robot arm when it is in the initial position, and the exponential product part SE(3) is a special Euclidean group, SO(3) is a special orthogonal group, Where I represents the three-dimensional unit matrix 3. The method according to claim 1 or 2, characterized in that: The velocity spin Mapped to the joint velocity of the robot arm include: The velocity spinor is converted using the Jacobian matrix J Mapped to the joint velocity of the robot arm 4. The method according to claim 3, characterized in that: The method further comprises: According to the Jacobian matrix J, determine the pseudo-inverse matrix of the Jacobian matrix Where, in the case of full rank of J, when J is short and thick, n>m, the rank is m, m is the spatial degree of freedom; or Among them, when J is full rank, when J is tall and thin, and n<m, the rank is n.
5. The method according to claim 4, characterized in that The joint speed The control step time Δt determines the joint angle increment Δθ of the robot arm at the next time t+1 relative to the current time t, including: pass Combining formulas After discretization, we get 6. The method according to claim 1 or 2, characterized in that: The step of determining the joint angle θ' of the robot arm at the next time t+1 according to the joint angle increment Δθ and the joint angle θ at the current time t comprises: The joint angle increment Δθ is added to the joint angle θ at the current time t to obtain the joint angle θ' of the robot arm at the next time t+1. θ'=θ+Δθ.
7. The method according to claim 3, characterized in that The Jacobian matrix J is used to convert the velocity spinor Mapped to the joint velocity of the robot arm Previously, the method also included: Determine the Jacobian matrix J=J in the basis coordinate system si (θ), Where i=2,···,n, represents the number of degrees of freedom of the robot arm. represents the adjoint transformation, θ1...θ i-1 represents the joint angles corresponding to the first i-1 joints of the robot arm, S1...S i-1 represents the unitization of the velocity spinor corresponding to the i-1 joint, J s1 (θ) = S1; or, Determine the Jacobian matrix J=J in the terminal coordinate system bi' (θ), Among them, i'=1,2,...,n, represents the number of degrees of freedom of the robot arm, represents the adjoint transformation, Tbs represents the pose transformation from the base coordinate system to the terminal coordinate system, R sb represents the rotation matrix of the terminal coordinate system relative to the base coordinate system, [p sb ] represents the antisymmetric matrix of the origin of the terminal coordinate system relative to the origin of the base coordinate system, T bs =T(θ).
8. A robot arm linear motion trajectory planning device, characterized in that: include: The acquisition unit is used to acquire the linear motion parameters of the robot arm, wherein the linear motion parameters include the desired speed, the joint angle θ at the current time t, and the control step time Δt. The desired speed uses the speed screw Indicates, ω represents the angular velocity of the end of the robot arm, and v represents the linear velocity of the end of the robot arm; A mapping unit for mapping the velocity spinor Mapping to obtain the joint velocity of the robotic arm The first determining unit is used to determine the joint speed according to the The control step time Δt determines the joint angle increment Δθ of the robot arm at the next time t+1 relative to the current time t; A second determining unit is used to determine the joint angle θ' of the robot arm at the next time t+1 according to the joint angle increment Δθ and the joint angle θ at the current time t; The third determining unit is further used to determine the position of the robot arm at the next time t+1 according to the joint angle θ'.
9. An electronic device, characterized in that: include: A memory and a processor, wherein the processor and the memory communicate with each other via a bus; The memory stores program instructions executable by the processor, and the processor can execute the method according to any one of claims 1 to 7 by calling the program instructions.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.
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
Mechanical arm space trajectory tracking dynamic compensation method and system
CN109159151A
Trajectory error compensation method for controlling linear machining of robot through inverse dynamics
CN111037542A
SRS type mechanical arm control method and device with seven degrees of freedom and piano playing robot
CN114952868A