A collision processing method, device, equipment and medium of a mechanical arm

CN122807891APending Publication Date: 2026-09-25SUZHOU ELITE ROBOTICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611054930.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-15
Publication Date
2026-09-25

AI Technical Summary

Technical Problem

[0004]本发明提供了一种机械臂的碰撞处理方法、装置、设备及介质,以解决现有技术中的机械臂的碰撞处理方案无法基于适合的运动方向控制机械臂的臂体快速离开碰撞点,难以有效降低碰撞力的问题

Benefits of technology

[0010]本发明实施例的技术方案,通过记录机械臂的各个关节在碰撞时刻的当前位置、当前速度以及当前转矩,确定各个关节的期望转矩;然后根据各个关节在碰撞时刻的当前位置和当前转矩、各个关节的期望转矩以及各个关节的安全间距,确定各个关节离开碰撞点的关节运动方向值和停止位置;最后根据各个关节离开碰撞点的关节运动方向值和停止位置,发送急停信息和控制指令至各个关节以使各个关节按照所对应的离开碰撞点的关节运动方向值和停止位置离开碰撞点,解决了现有技术中的机械臂的碰撞处理方案无法基于适合的运动方向控制机械臂的臂体快速离开碰撞点,难以有效降低碰撞力的问题,可以自动基于机械臂的各个关节在碰撞时刻的当前位置、当前速度以及当前转矩、各个关节的期望转矩,确定各个关节离开碰撞点的关节运动方向值和停止位置,进而控制各个关节按照所对应的离开碰撞点的关节运动方向值和停止位置离开碰撞点,实现自动确定适合机械臂的臂体快速离开碰撞点的运动方向,进而基于适合的运动方向控制机械臂的臂体快速离开碰撞点,有效降低碰撞力。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122807891A_ABST
    Figure CN122807891A_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of robots, and in particular to a collision processing method, device, equipment and medium for a mechanical arm. The method comprises: recording the current position, current speed and current torque of each joint of the mechanical arm at the collision moment, and determining the expected torque of each joint; determining the joint movement direction value and stop position of each joint away from the collision point; and sending an emergency stop information and control instruction to each joint to make each joint move away from the collision point according to the corresponding joint movement direction value and stop position away from the collision point. The embodiment of the present application can automatically control each joint to move away from the collision point according to the corresponding joint movement direction value and stop position away from the collision point based on the current position, current speed and current torque of each joint of the mechanical arm at the collision moment and the expected torque of each joint, so as to realize the control of the arm body of the mechanical arm to quickly move away from the collision point based on the suitable movement direction and effectively reduce the collision force.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robotics, and in particular to a collision handling method, apparatus, device, and medium for a robotic arm. Background Technology

[0002] Robotic arms may collide during operation. When a collision is detected, the controller must quickly move the arm away from the point of impact to reduce the impact force. The point of impact refers to the location of the robotic arm at the moment of impact, and the impact force is the maximum force exerted during the collision. Reducing the impact force typically requires the robotic arm to move quickly away from the point of impact.

[0003] In existing technologies, common collision handling solutions for robotic arms involve controlling the robotic arm to retract along a trajectory, thereby moving the arm away from the collision point and reducing the collision force. If a collision occurs while the robotic arm is moving forward, and an external force prevents further forward movement, to effectively reduce the collision force, the robotic arm needs to stop quickly and then move away from the collision point rapidly in the opposite direction. Similarly, if a collision occurs while the robotic arm is moving forward, and an external force also propels the arm forward, to effectively reduce the collision force, the robotic arm needs to move away from the collision point rapidly in the same direction. "Forward" refers to the direction of movement the robotic arm needs to maintain according to the work plan, and "opposite" refers to the direction opposite to "forward." Existing collision handling solutions for robotic arms directly control the arm to retract along a trajectory, making it impossible to determine a suitable direction of movement for the arm to quickly leave the collision point. Therefore, it is difficult to control the arm to quickly leave the collision point based on a suitable direction of movement, making it difficult to effectively reduce the collision force. Summary of the Invention

[0004] This invention provides a collision handling method, apparatus, device, and medium for robotic arms, to solve the problem that existing collision handling schemes for robotic arms cannot control the arm body to quickly leave the collision point based on a suitable motion direction, making it difficult to effectively reduce the collision force.

[0005] According to one aspect of the present invention, a collision handling method for a robotic arm is provided, comprising: Record the current position, current velocity, and current torque of each joint of the robotic arm at the moment of collision, and determine the desired torque of each joint; Based on the current position and torque of each joint at the moment of collision, the expected torque of each joint, and the safe distance between each joint, determine the joint motion direction and stopping position of each joint leaving the collision point. Based on the joint motion direction value and stopping position of each joint leaving the collision point, emergency stop information and control commands are sent to each joint so that each joint leaves the collision point according to the corresponding joint motion direction value and stopping position.

[0006] According to another aspect of the present invention, a collision handling device for a robotic arm is provided, comprising: The information recording module is used to record the current position, current speed, and current torque of each joint of the robotic arm at the moment of collision, and to determine the expected torque of each joint. The information determination module is used to determine the joint motion direction and stopping position of each joint leaving the collision point based on the current position and current torque of each joint at the moment of collision, the expected torque of each joint, and the safe distance between each joint. The joint control module is used to send emergency stop information and control commands to each joint based on the joint movement direction value and stopping position of each joint leaving the collision point, so that each joint leaves the collision point according to the corresponding joint movement direction value and stopping position.

[0007] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising: At least one processor; and a memory communicatively connected to the at least one processor; The memory stores a computer program that is executed by the at least one processor, which enables the at least one processor to perform the collision handling method of the robotic arm according to any embodiment of the present invention.

[0008] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the collision handling method of the robotic arm according to any embodiment of the present invention.

[0009] According to another aspect of the present invention, a computer program product is provided, the computer program product comprising a computer program that, when executed by a processor, implements the collision handling method of the robotic arm according to any embodiment of the present invention.

[0010] The technical solution of this invention determines the desired torque of each joint by recording its current position, current velocity, and current torque at the moment of collision. Then, based on the current position and current torque of each joint at the moment of collision, the desired torque of each joint, and the safe distance between each joint, the joint movement direction and stopping position of each joint leaving the collision point are determined. Finally, based on the joint movement direction and stopping position of each joint leaving the collision point, emergency stop information and control commands are sent to each joint so that each joint leaves the collision point according to its corresponding joint movement direction and stopping position. This solves the mechanical problems in the prior art. The current collision handling scheme for robotic arms cannot control the arm to quickly leave the collision point based on a suitable motion direction, making it difficult to effectively reduce the collision force. This problem can be solved by automatically determining the joint motion direction and stopping position of each joint leaving the collision point based on the current position, current speed, current torque, and expected torque of each joint at the moment of collision, and then controlling each joint to leave the collision point according to the corresponding joint motion direction and stopping position. This achieves automatic determination of a suitable motion direction for the robotic arm to quickly leave the collision point, and then controlling the robotic arm to quickly leave the collision point based on the suitable motion direction, effectively reducing the collision force.

[0011] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description

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

[0013] Figure 1 This is a flowchart of a collision handling method for a robotic arm provided in Embodiment 1 of the present invention.

[0014] Figure 2 This is a schematic diagram illustrating the speed and current changes of a joint during collision handling in a robotic arm, as provided in Embodiment 1 of the present invention.

[0015] Figure 3 This is a schematic diagram illustrating the speed and current changes of a joint during collision handling in a robotic arm, as provided in Embodiment 1 of the present invention.

[0016] Figure 4 This is a flowchart of a collision handling method for a robotic arm provided in Embodiment 2 of the present invention.

[0017] Figure 5 This is a schematic diagram of the collision handling device for a robotic arm provided in Embodiment 3 of the present invention.

[0018] Figure 6 A schematic diagram of the structure of an electronic device for implementing the collision handling method of the robotic arm in this embodiment of the invention. Detailed Implementation

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

[0020] It should be noted that the terms "target," "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising," "including," and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0021] Example 1 Figure 1 This is a flowchart illustrating a collision handling method for a robotic arm according to Embodiment 1 of the present invention. This embodiment is applicable to situations where the robotic arm is controlled to quickly move away from the collision point. The method can be executed by a collision handling device for the robotic arm, which can be implemented in hardware and / or software and can be configured in a controller used to control the robotic arm. Figure 1 As shown, the method includes: Step 101: Record the current position, current velocity, and current torque of each joint of the robotic arm at the moment of collision, and determine the desired torque of each joint.

[0022] Optionally, a robotic arm typically includes multiple joints. For example, a robotic arm may include six joints. After a collision, controlling each joint to quickly move away from the point of impact allows the arm to move rapidly away from the point of impact. For each joint, the joint's current position at the moment of collision refers to its spatial position at the time of the collision. This spatial position can include horizontal, vertical, and triangular coordinates (i.e., coordinate values ​​in the X, Y, and Z axes). The joint's current velocity at the moment of collision refers to its speed of motion at the time of the collision. The joint's current torque at the moment of collision refers to its torque at the time of the collision. The desired torque of the joint can be calculated based on its current position, velocity, and torque at the moment of collision, representing the torque suitable for use when the joint moves away from the point of impact.

[0023] Optionally, each time the robotic arm collides, the current position, current speed, and current torque of each joint of the robotic arm at the moment of collision can be recorded to determine the desired torque of each joint.

[0024] Optionally, determining the desired torque for each joint includes: for each joint, substituting the joint's current position, current velocity, and current torque at the moment of collision into a preset inverse dynamics equation to calculate the joint's desired torque. The preset inverse dynamics equation can be a pre-defined equation used to calculate the joint's desired torque based on the joint's current position, current velocity, and current torque at the moment of collision. The desired torque can be obtained by substituting the joint's current position, current velocity, and current torque at the moment of collision into the preset inverse dynamics equation.

[0025] Step 102: Based on the current position and torque of each joint at the moment of collision, the expected torque of each joint, and the safe distance between each joint, determine the joint motion direction and stopping position of each joint leaving the collision point.

[0026] Optionally, for each joint of the robotic arm, the joint motion direction value away from the collision point can be a value indicating whether the appropriate joint motion direction is forward or reverse when the joint leaves the collision point. Forward can refer to the motion direction the joint needs to maintain according to the work plan. Reverse refers to the direction opposite to forward. The joint motion direction value away from the collision point is 1 or -1. A joint motion direction value of 1 indicates that the appropriate joint motion direction is forward when leaving the collision point. A joint motion direction value of -1 indicates that the appropriate joint motion direction is reverse. The stopping position of the joint away from the collision point refers to the appropriate spatial position the joint should be in after leaving the collision point. The safe clearance of the joint can be the distance that the joint needs to maintain with other components or devices. The joint stiffness can be the stiffness of the appropriate joint for use. The safety level of the joint can be a pre-set value characterizing the degree of harm after the joint is damaged. The higher the safety level of the joint, the more severe the harm after the joint is damaged.

[0027] Optionally, it also includes setting the safety spacing and joint stiffness of each joint according to the safety level of each joint.

[0028] Optionally, the controller can store various safety levels and corresponding safety clearances and joint stiffnesses. Each safety level can be one of multiple possible safety levels for a joint. The safety clearances and joint stiffnesses corresponding to each safety level can be the appropriate safety clearances and joint stiffnesses for the joint when its safety level is specified. For each joint of the robotic arm, the safety levels stored in the controller will include the joint's safety level. A target safety level with the same safety level as the joint can be queried from the safety levels stored in the controller. The safety clearances and joint stiffnesses corresponding to the target safety level are then determined as the joint's safety clearances and joint stiffnesses, thereby setting the joint's safety clearances and joint stiffnesses according to the joint's safety level. Generally, the higher the joint's safety level, the larger the joint's safety clearance and the smaller the joint stiffness.

[0029] Optionally, based on the current position and current torque of each joint at the moment of collision, the expected torque of each joint, and the safe distance between each joint, the joint motion direction value and stopping position of each joint leaving the collision point are determined, including: determining the joint motion direction value of each joint leaving the collision point based on the current torque and expected torque of each joint at the moment of collision; and determining the stopping position of each joint leaving the collision point based on the current position of each joint at the moment of collision, the joint motion direction value of each joint leaving the collision point, and the safe distance between each joint.

[0030] Optionally, based on the current torque of each joint at the moment of collision and the expected torque of each joint, the joint motion direction value of each joint leaving the collision point is determined, including: for each joint of the robotic arm, the following operation is performed: if the current torque of the joint at the moment of collision is greater than the expected torque of the joint, then the joint motion direction value of the joint leaving the collision point is determined to be reversed; if the current torque of the joint at the moment of collision is less than or equal to the expected torque of the joint, then the joint motion direction value of the joint leaving the collision point is determined to be forward.

[0031] Optionally, based on the current position of each joint at the moment of collision, the joint motion direction value of each joint leaving the collision point, and the safety distance of each joint, the stopping position of each joint leaving the collision point is determined, including: for each joint of the robotic arm, performing the following operations: calculating the product of the joint motion direction value leaving the collision point and the safety distance; updating each coordinate in the current position of the joint at the moment of collision to the sum of each coordinate and the product, to obtain the stopping position of the joint leaving the collision point. The horizontal coordinate of the stopping position of the joint leaving the collision point is equal to the sum of the horizontal coordinate of the current position of the joint at the moment of collision and the product. The vertical coordinate of the stopping position of the joint leaving the collision point is equal to the sum of the vertical coordinate of the current position of the joint at the moment of collision and the product.

[0032] Step 103: Based on the joint motion direction value and stopping position of each joint leaving the collision point, send emergency stop information and control commands to each joint so that each joint leaves the collision point according to the corresponding joint motion direction value and stopping position.

[0033] Optionally, based on the joint motion direction value and stopping position of each joint leaving the collision point, emergency stop information and control commands are sent to each joint to cause each joint to leave the collision point according to the corresponding joint motion direction value and stopping position. This includes: performing the following operations for each joint of the robotic arm: determining the forced torque of the joint based on the maximum torque value and the joint motion direction value leaving the collision point; setting the torque of the joint to the forced torque of the joint through a forced torque command; and setting the movement speed of the joint to the current speed of the joint at the moment of collision through a forced speed command; sending emergency stop information to the joint to cause the joint to move to the stopping position of the collision point in the emergency stop information according to the joint motion direction value leaving the collision point in the emergency stop information; and setting the movement speed of the joint to 0 through a forced speed command after the joint moves to the stopping position of the collision point in the emergency stop information.

[0034] Optionally, the forced torque of the joint can be the torque suitable for the joint to maintain when it leaves the point of impact. The maximum torque can be the maximum torque that the joint can reach. The forced torque of the joint can be determined by multiplying the maximum torque by the joint movement direction value when the joint leaves the point of impact. The forced torque command can be a command used to set the torque of the joint to a specified torque. The forced speed command can be a command used to set the movement speed of the joint to a specified speed. First, the forced torque of the joint is determined by multiplying a preset coefficient by the current torque of the joint at the moment of impact. The torque of the joint is set to the forced torque of the joint by the forced torque command, and the movement speed of the joint is set to the current speed of the joint at the moment of impact by the forced speed command. Then, an emergency stop message is sent to the joint so that the joint moves to the stop position of the joint leaving the point of impact according to the joint movement direction value of the joint leaving the point of impact in the emergency stop message. The emergency stop message can be text used to instruct the joint to move to the spatial position suitable for the joint after leaving the point of impact according to the joint movement direction suitable for the joint when leaving the point of impact. The emergency stop message contains the joint movement direction value of the joint leaving the point of impact and the stop position. Upon receiving an emergency stop signal, the joint can determine the appropriate joint movement direction and spatial position after leaving the collision point based on the joint movement direction and stopping position specified in the emergency stop signal. It then moves according to the appropriate joint movement direction to the appropriate spatial position after leaving the collision point, thus leaving the collision point according to the corresponding joint movement direction and stopping position. Alternatively, after the joint reaches the stopping position specified in the emergency stop signal (i.e., after leaving the collision point), a forced speed command can be used to set the joint's speed to 0, causing the joint to remain stationary at the stopping position. This allows the joint to leave the collision point with maximum acceleration, meaning it moves away from the collision point with maximum torque. Without changing the control mode to position mode, the torque command can be reset to achieve the effect of the joint quickly leaving the collision point and reaching a safe position. Furthermore, the direction of the torque command is calculated by the controller, rather than the joint actively stopping.

[0035] Optionally, after the joint moves to the stopping position away from the collision point in the emergency stop information, the method further includes: setting a torque limit for the joint based on the joint's desired torque and joint stiffness.

[0036] Optionally, torque limits include forward motor torque limits and reverse motor torque limits. The forward motor torque limit can be a value that the joint torque needs to be less than. The reverse motor torque limit can be a value that the joint torque needs to be greater than. Setting the joint torque limit based on the joint's desired torque and joint stiffness includes: setting the joint's forward motor torque limit to the sum of the joint's desired torque and joint stiffness; and setting the joint's reverse motor torque limit to the difference between the joint's desired torque and joint stiffness.

[0037] Optionally, after sending emergency stop information and control commands to each joint according to the joint motion direction value and stopping position of each joint leaving the collision point so that each joint leaves the collision point according to the corresponding joint motion direction value and stopping position, the method further includes: if there is an external force corresponding to the robotic arm, controlling each joint to move to the new position of each joint.

[0038] Optionally, the external force corresponding to the robotic arm can refer to the external force applied to the robotic arm. After sending emergency stop information and control commands to each joint according to the joint movement direction value and stopping position of each joint leaving the collision point, so that each joint leaves the collision point according to the corresponding joint movement direction value and stopping position, if there is still an external force corresponding to the robotic arm, the joints can be controlled to move to their new positions. Controlling the joints to move to their new positions can include controlling each joint to translate a specified distance. Thus, each joint will be pushed to its new position, avoiding continuous force.

[0039] Optionally, in a specific instance, the first joint is one of the joints of the robotic arm. The current position of the first joint at the moment of collision is... The current velocity of the first joint at the moment of collision is... The current torque of the first joint at the moment of collision is The expected torque of the first joint at the moment of collision is The direction of joint motion of the first joint away from the point of collision is... The stopping position of the first joint after leaving the point of collision is... The safe distance between the first joints is The joint stiffness of the first joint is... The maximum torque is The forced torque of the first joint is The forward motor torque of the first joint is limited to... The reverse motor torque of the first joint is limited to... The stopping position of the first joint after leaving the collision point can be represented as... The forced torque of a joint can be expressed as: The forward motor torque limit of the first joint can be expressed as: The reverse motor torque limit of the first joint can be expressed as: .

[0040] The technical solution of this invention determines the desired torque of each joint by recording its current position, current velocity, and current torque at the moment of collision. Then, based on the current position and current torque of each joint at the moment of collision, the desired torque of each joint, and the safe distance between each joint, the joint movement direction and stopping position of each joint leaving the collision point are determined. Finally, based on the joint movement direction and stopping position of each joint leaving the collision point, emergency stop information and control commands are sent to each joint so that each joint leaves the collision point according to its corresponding joint movement direction and stopping position. This solves the mechanical problems in the prior art. The current collision handling scheme for robotic arms cannot control the arm to quickly leave the collision point based on a suitable motion direction, making it difficult to effectively reduce the collision force. This problem can be solved by automatically determining the joint motion direction and stopping position of each joint leaving the collision point based on the current position, current speed, current torque, and expected torque of each joint at the moment of collision, and then controlling each joint to leave the collision point according to the corresponding joint motion direction and stopping position. This achieves automatic determination of a suitable motion direction for the robotic arm to quickly leave the collision point, and then controlling the robotic arm to quickly leave the collision point based on the suitable motion direction, effectively reducing the collision force.

[0041] The technical solution of this invention can minimize collision force. If a collision occurs while the robotic arm is moving forward, and an external force prevents the arm from moving forward, the robotic arm can be quickly stopped by controlling each joint to move away from the collision point according to its corresponding joint movement direction and stopping position. Furthermore, the robotic arm can quickly move away from the collision point by moving in the opposite direction, effectively reducing the collision force. The maximum torque output in the reverse direction achieves the maximum reverse acceleration and the shortest stopping time, thus reducing the collision force. Similarly, if a collision occurs while the robotic arm is moving forward, and an external force also propels the arm forward, the robotic arm can be quickly moved away from the collision point by controlling each joint to move away from the collision point according to its corresponding joint movement direction and stopping position. The maximum torque output in the forward direction achieves the maximum forward acceleration and the shortest time to leave the collision point, thus reducing the collision force. After leaving the collision point, the joints within the arm are under torque limitation, reducing the arm's stiffness. If the external force exceeds this torque limit, the arm will remain in a new position to reduce the holding force after the collision.

[0042] Optional, Figure 2This is a schematic diagram illustrating the speed and current changes of a joint during collision handling in a robotic arm, as provided in Embodiment 1 of the present invention. Figure 2 The joint velocity curve in the diagram is used to describe the velocity change trend of a certain joint of the robotic arm during the collision handling process when a collision occurs while the robotic arm is moving in the forward direction and an external force prevents the robotic arm body from moving in the forward direction. Figure 2 The joint current curve in the diagram is used to describe the current change trend of a certain joint of the robotic arm during the collision handling process when a collision occurs while the robotic arm is moving in the forward direction and an external force prevents the robotic arm body from moving in the forward direction.

[0043] Optional, Figure 3 This is a schematic diagram illustrating the speed and current changes of a joint during collision handling in a robotic arm, as provided in Embodiment 1 of the present invention. Figure 3 The joint velocity curve in the diagram is used to describe the velocity change trend of a certain joint of the robotic arm during the collision handling process when a collision occurs while the robotic arm is moving in the forward direction and the external force is also pushing the robotic arm body to move in the forward direction. Figure 3 The joint current curve in the diagram is used to describe the current change trend of a certain joint of the robotic arm during the collision handling process when a collision occurs while the robotic arm is moving in the forward direction and the external force is also pushing the robotic arm body to move in the forward direction.

[0044] Example 2 Figure 4 This is a flowchart illustrating a collision handling method for a robotic arm according to Embodiment 2 of the present invention. The embodiments of the present invention can be combined with various optional solutions from one or more of the above embodiments. For example... Figure 4 As shown, the method includes: Step 201: Record the current position, current speed, and current torque of each joint of the robotic arm at the moment of collision, and determine the desired torque of each joint.

[0045] Step 202: Determine the joint motion direction value of each joint leaving the collision point based on the current torque of each joint at the moment of collision and the expected torque of each joint.

[0046] Step 203: Determine the stopping position of each joint after leaving the collision point based on the current position of each joint at the moment of collision, the joint movement direction value of each joint leaving the collision point, and the safe distance of each joint.

[0047] Step 204: Based on the joint motion direction value and stopping position of each joint leaving the collision point, send emergency stop information and control commands to each joint so that each joint leaves the collision point according to the corresponding joint motion direction value and stopping position.

[0048] Step 205: If there is an external force corresponding to the robotic arm, control each joint to move to its new position.

[0049] The technical solution of this invention can automatically determine the joint movement direction value and stopping position of each joint leaving the collision point based on the current position, current speed, current torque, and expected torque of each joint of the robotic arm at the moment of collision. Then, it controls each joint to leave the collision point according to the corresponding joint movement direction value and stopping position, thereby automatically determining the suitable movement direction of the robotic arm to quickly leave the collision point. Based on the suitable movement direction, it controls the robotic arm to quickly leave the collision point, effectively reducing the collision force. Even if there is still an external force corresponding to the robotic arm after the robotic arm has quickly left the collision point, it can control each joint to move to a new position to avoid continuous force.

[0050] Example 3 Figure 5 This is a schematic diagram of a collision handling device for a robotic arm according to Embodiment 3 of the present invention. The device can be configured in an electronic device. Figure 5 As shown, the device includes: an information recording module 301, an information determination module 302, and a joint control module 303.

[0051] The information recording module 301 is used to record the current position, current speed, and current torque of each joint of the robotic arm at the moment of collision, and to determine the expected torque of each joint; the information determination module 302 is used to determine the joint movement direction value and stopping position of each joint leaving the collision point based on the current position and current torque of each joint at the moment of collision, the expected torque of each joint, and the safety distance of each joint; the joint control module 303 is used to send emergency stop information and control commands to each joint based on the joint movement direction value and stopping position of each joint leaving the collision point, so that each joint leaves the collision point according to the corresponding joint movement direction value and stopping position.

[0052] The technical solution of this invention determines the desired torque of each joint by recording its current position, current velocity, and current torque at the moment of collision. Then, based on the current position and current torque of each joint at the moment of collision, the desired torque of each joint, and the safe distance between each joint, the joint movement direction and stopping position of each joint leaving the collision point are determined. Finally, based on the joint movement direction and stopping position of each joint leaving the collision point, emergency stop information and control commands are sent to each joint so that each joint leaves the collision point according to its corresponding joint movement direction and stopping position. This solves the mechanical problems in the prior art. The current collision handling scheme for robotic arms cannot control the arm to quickly leave the collision point based on a suitable motion direction, making it difficult to effectively reduce the collision force. This problem can be solved by automatically determining the joint motion direction and stopping position of each joint leaving the collision point based on the current position, current speed, current torque, and expected torque of each joint at the moment of collision, and then controlling each joint to leave the collision point according to the corresponding joint motion direction and stopping position. This achieves automatic determination of a suitable motion direction for the robotic arm to quickly leave the collision point, and then controlling the robotic arm to quickly leave the collision point based on the suitable motion direction, effectively reducing the collision force.

[0053] In an optional embodiment of the present invention, the information recording module 301 may, when performing the operation of determining the desired torque of each joint, specifically perform the following: for each joint, substitute the current position, current velocity and current torque of the joint at the moment of collision into a preset inverse dynamics equation for calculation to obtain the desired torque of the joint.

[0054] In an optional embodiment of the present invention, the information determination module 302 is specifically used to: determine the joint movement direction value of each joint leaving the collision point based on the current torque of each joint at the moment of collision and the expected torque of each joint; and determine the stopping position of each joint leaving the collision point based on the current position of each joint at the moment of collision, the joint movement direction value of each joint leaving the collision point, and the safety distance of each joint.

[0055] In an optional embodiment of the present invention, the joint control module 303 is specifically configured to: perform the following operations for each joint of the robotic arm: determine the forced torque of the joint based on the maximum torque value and the joint movement direction value away from the collision point; set the torque of the joint to the forced torque of the joint through a forced torque command; and set the movement speed of the joint to the current speed of the joint at the moment of collision through a forced speed command; send emergency stop information to the joint so that the joint moves to the stop position away from the collision point in the emergency stop information according to the joint movement direction value away from the collision point in the emergency stop information; and after the joint moves to the stop position away from the collision point in the emergency stop information, set the movement speed of the joint to 0 through a forced speed command.

[0056] In an optional embodiment of the present invention, the joint control module 303 may also be configured to: set a torque limit for the joint based on the desired torque and stiffness of the joint.

[0057] In an optional embodiment of the present invention, the joint control module 303 may also be used to: control each joint to move to a new position if there is an external force corresponding to the robotic arm.

[0058] In an optional embodiment of the present invention, the collision handling device of the robotic arm may further include: a joint setting module, used to set the safety distance and joint stiffness of each joint according to the safety level of each joint.

[0059] The collision handling device for the robotic arm provided in this embodiment of the invention can execute the collision handling method for the robotic arm provided in any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the method.

[0060] Example 4 Figure 6 A schematic diagram of an electronic device 10, which can be used to implement the collision handling method of a robotic arm according to embodiments of the present invention, is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workbenches, personal digital assistants, electronic devices, blade electronic devices, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0061] like Figure 6As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory 12 or a random access memory 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the read-only memory 12 or loaded from storage unit 18 into the random access memory 13. The random access memory 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, read-only memory 12, and random access memory 13 are interconnected via a bus 14. An input / output interface 15 is also connected to the bus 14.

[0062] Multiple components in electronic device 10 are connected to input / output interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of monitors, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0063] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, central processing units, graphics processing units, various special-purpose artificial intelligence computing chips, various processors running machine learning model algorithms, digital signal processors, and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as collision handling methods for robotic arms.

[0064] In some embodiments, the collision handling method for the robotic arm can be implemented as a computer program tangibly contained in a computer-readable storage medium, such as a storage unit. In some embodiments, part or all of the computer program can be loaded and / or installed on a heterogeneous hardware accelerator via read-only memory and / or a communication unit. When the computer program is loaded into random access memory and executed by a processor, one or more steps of the collision handling method for the robotic arm described above can be performed. Alternatively, in other embodiments, the processor can be configured to perform the collision handling method for the robotic arm by any other suitable means (e.g., by means of firmware).

[0065] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays, application-specific integrated circuits (ASICs), application-specific standard products (ASICs), systems-on-a-chip (SoCs), payload programmable logic devices (PLCs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0066] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or electronic device.

[0067] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory, read-only memory, erasable programmable read-only memory, optical fibers, portable compact disk read-only memory, optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0068] To provide user interaction, the systems and techniques described herein can be implemented on a heterogeneous hardware accelerator, which includes: a display device (e.g., a cathode ray tube or liquid crystal display monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the heterogeneous hardware accelerator. Other types of devices can also be used to provide user interaction; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or haptic feedback); and input from the user can be received in any form (including sound input, voice input, or haptic input).

[0069] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data electronic devices), or computing systems that include middleware components (e.g., application electronic devices), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0070] A computing system can include clients and electronic devices. Clients and electronic devices are generally geographically separated and typically interact via communication networks. The client-electronic device relationship is created by computer programs running on the respective computers and establishing a client-electronic device relationship between them. Electronic devices can be cloud electronic devices, also known as cloud computing electronic devices or cloud servers, which are host products within the cloud computing service system. These address the shortcomings of traditional physical hosts and virtual private server services, such as high management difficulty and weak business scalability.

[0071] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.

[0072] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A collision handling method for a robotic arm, characterized in that, include: Record the current position, current velocity, and current torque of each joint of the robotic arm at the moment of collision, and determine the desired torque of each joint; Based on the current position and torque of each joint at the moment of collision, the expected torque of each joint, and the safe distance between each joint, determine the joint motion direction and stopping position of each joint leaving the collision point. Based on the joint motion direction value and stopping position of each joint leaving the collision point, emergency stop information and control commands are sent to each joint so that each joint leaves the collision point according to the corresponding joint motion direction value and stopping position.

2. The collision handling method for a robotic arm according to claim 1, characterized in that, Determine the desired torque for each joint, including: For each joint, the current position, current velocity, and current torque of the joint at the moment of collision are substituted into the preset inverse dynamics equation for calculation to obtain the desired torque of the joint.

3. The collision handling method for a robotic arm according to claim 1, characterized in that, Based on the current position and torque of each joint at the moment of collision, the desired torque of each joint, and the safe clearance between each joint, determine the joint motion direction and stopping position of each joint leaving the collision point, including: Based on the current torque of each joint at the moment of collision and the expected torque of each joint, determine the joint motion direction value of each joint leaving the collision point. Based on the current position of each joint at the moment of collision, the joint motion direction value of each joint leaving the collision point, and the safe distance between each joint, determine the stopping position of each joint leaving the collision point.

4. The collision handling method for a robotic arm according to claim 1, characterized in that, Based on the joint motion direction value and stopping position of each joint leaving the collision point, emergency stop information and control commands are sent to each joint to ensure that each joint leaves the collision point according to its corresponding joint motion direction value and stopping position, including: Perform the following operations for each joint of the robotic arm: The forced torque of the joint is determined based on the maximum torque and the joint movement direction value away from the collision point. The torque of the joint is set to the forced torque of the joint through the forced torque command, and the movement speed of the joint is set to the current speed of the joint at the moment of collision through the forced speed command. Send an emergency stop message to the joint so that the joint moves to the stop position of the collision point according to the joint movement direction value of the emergency stop message; After the joint moves to the stop position of leaving the collision point in the emergency stop information, the joint's movement speed is set to 0 by a forced speed command.

5. The collision handling method for a robotic arm according to claim 4, characterized in that, After the joint moves to the stopping position away from the collision point in the emergency stop information, the following is also included: The torque limit of the joint is set according to the desired torque and joint stiffness.

6. The collision handling method for a robotic arm according to claim 1, characterized in that, After sending emergency stop information and control commands to each joint based on the joint motion direction value and stopping position of each joint leaving the collision point, so that each joint leaves the collision point according to the corresponding joint motion direction value and stopping position, the process also includes: If there is an external force corresponding to the robotic arm, then control each joint to move to its new position.

7. The collision handling method for a robotic arm according to claim 1, characterized in that, Also includes: Based on the safety level of each joint, set the safety spacing and joint stiffness for each joint.

8. A collision handling device for a robotic arm, characterized in that, include: The information recording module is used to record the current position, current speed, and current torque of each joint of the robotic arm at the moment of collision, and to determine the expected torque of each joint. The information determination module is used to determine the joint motion direction and stopping position of each joint leaving the collision point based on the current position and current torque of each joint at the moment of collision, the expected torque of each joint, and the safe distance between each joint. The joint control module is used to send emergency stop information and control commands to each joint based on the joint movement direction value and stopping position of each joint leaving the collision point, so that each joint leaves the collision point according to the corresponding joint movement direction value and stopping position.

9. An electronic device, characterized in that, The electronic device includes: At least one processor; and a memory communicatively connected to the at least one processor; The memory stores a computer program that is executed by the at least one processor, which enables the at least one processor to perform the collision handling method of the robotic arm according to any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed by a processor, implement the collision handling method of the robotic arm according to any one of claims 1-7.