Robot control method, apparatus, system, and storage medium

By using collision detection models and sensor technology in the robot system, the movement of the robotic arm is detected and controlled, thus solving the problem of collisions between robotic arms and improving the accuracy of collision detection and system safety.

CN116494236BActive Publication Date: 2026-02-03SHANGHAI MICROPORT MEDBOT (GRP) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310498903.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-05
Publication Date
2026-02-03
Estimated Expiration
2043-05-05

AI Technical Summary

Technical Problem

In existing robotic systems, collisions can easily occur between adjacent robotic arms during operation, leading to unexpected movements and posing significant surgical risks.

Method used

A collision detection model is used to detect real-time images of multiple robotic arms. Combined with air pressure sensors and non-contact sensors such as ultrasonic sensors and laser sensors, the distance and air pressure information between the robotic arms are obtained, and the movement of the robotic arms is controlled to avoid collisions.

Benefits of technology

It improves the accuracy of collision detection, avoids collisions between robotic arms, reduces the risk of unexpected movements, and ensures the safety and stability of the robot system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116494236B_ABST
    Figure CN116494236B_ABST
Patent Text Reader

Abstract

The application relates to a robot control method, device, system, storage medium and computer program product. The method comprises: acquiring real-time images of a plurality of mechanical arms; detecting the real-time images by using a collision detection model to obtain a model detection result; in the case that the collision air pressure of the mechanical arms meets an air pressure condition and the model collision result indicates that no collision occurs between the plurality of mechanical arms, determining that collision occurs between the corresponding mechanical arms, and controlling the plurality of mechanical arms to stop running; in the case that the collision air pressure of each mechanical arm does not meet the air pressure condition and the model collision result indicates that no collision occurs between the plurality of mechanical arms, acquiring the distance between each mechanical arm and the corresponding obstacle mechanical arm; and controlling the corresponding mechanical arm to move according to the distance between each mechanical arm and the corresponding obstacle mechanical arm. The method can avoid collision between the plurality of mechanical arms.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robot control technology, and in particular to a robot control method, apparatus, system, storage medium, and computer program product. Background Technology

[0002] Current robotic systems lack collision detection mechanisms, making it easy for adjacent robotic arms to collide during operation, leading to unexpected movements and posing significant surgical risks. Therefore, existing robot control methods suffer from the problem of collisions between multiple robotic arms. Summary of the Invention

[0003] Therefore, it is necessary to provide a robot control method, device, system, computer-readable storage medium, and computer program product that can avoid collisions between multiple robotic arms, addressing the problem that existing robot control methods are prone to collisions.

[0004] In a first aspect, this application provides a robot control method applied to a robot control system, the system including multiple robotic arms, the method comprising:

[0005] Acquire real-time images of multiple robotic arms;

[0006] A collision detection model is used to detect collisions in real-time images, and the model detection results are obtained. The model detection results are used to characterize whether collisions occur between multiple robotic arms.

[0007] If the air pressure of the robotic arm meets the air pressure condition and the model collision result indicates that no collision has occurred between multiple robotic arms, then the corresponding robotic arm is determined to have collided, and multiple robotic arms are controlled to stop running.

[0008] When the collision air pressure of each robotic arm does not meet the air pressure condition, and the model collision result indicates that no collision has occurred between the multiple robotic arms, the distance between each robotic arm and the corresponding obstacle robotic arm is obtained; wherein, for any robotic arm, the corresponding obstacle robotic arm is the other robotic arm among the multiple robotic arms excluding the corresponding robotic arm; the movement of the corresponding robotic arm is controlled according to the distance between each robotic arm and the corresponding obstacle robotic arm.

[0009] In one embodiment, a collision detection model is used to detect real-time images, and the model detection results are obtained, including:

[0010] The real-time image is denoised to obtain the denoised image;

[0011] Feature extraction and 3D reconstruction are performed on the denoised images to obtain 3D point clouds of multiple robotic arms;

[0012] Input the 3D point cloud into the collision detection model and output the collision results of the model.

[0013] In one embodiment, the system further includes a pressure sensor mounted on the robotic arm to be installed, the pressure sensor having multiple air chambers; and before determining that a collision has occurred with the corresponding robotic arm, it further includes:

[0014] Acquire the real-time air pressure of each of the multiple air chambers in the barometric pressure sensor;

[0015] When the real-time air pressure is greater than the air pressure threshold, it is determined that the air pressure of the collision with the robotic arm meets the air pressure condition. The air pressure threshold is obtained based on the initial average air pressure, which is the average air pressure of each air chamber when no collision occurs.

[0016] In one embodiment, after determining that a collision has occurred with the corresponding robotic arm, the process further includes:

[0017] The target air chamber where the collision occurred is determined based on the air pressure in each air chamber of the air pressure sensor installed on the corresponding robotic arm.

[0018] The collision position of the corresponding robotic arm is determined based on the location of the target air chamber in the air pressure sensor.

[0019] Generate collision warning information based on the collision location.

[0020] In one embodiment, the system further includes an ultrasonic sensor and a laser sensor; the ultrasonic sensor and the laser sensor are mounted on the robotic arm to which installation is required.

[0021] Obtain the distance between each robotic arm and the corresponding obstacle robotic arm, including:

[0022] For the current robotic arm and the current obstacle robotic arm, obtain the real-time ultrasonic distance collected by the ultrasonic sensor, as well as multiple historical ultrasonic distances within a preset time period before the current moment;

[0023] Acquire the real-time laser distance collected by the laser sensor, as well as multiple historical laser distances within a preset time period prior to the current moment;

[0024] The variance of the ultrasonic distance was determined based on multiple historical ultrasonic distances; the variance of the laser distance was determined based on multiple historical laser distances.

[0025] The compensation coefficient is determined based on the variances of ultrasonic and laser distances.

[0026] The fused distance is determined based on the real-time ultrasonic distance, real-time laser distance, and compensation coefficient; the fused distance is then used as the distance between the current robotic arm and the current obstacle robotic arm.

[0027] In one embodiment, the system further includes a control device; the system generates control commands in response to the control actions of the control device; the control commands are used to control the movement of multiple robotic arms;

[0028] Based on the distance between each robotic arm and the corresponding obstacle robotic arm, control the movement of the corresponding robotic arm, including:

[0029] For the current robotic arm, determine the repulsive force between the current robotic arm and the corresponding obstacle robotic arm based on the distance between the current robotic arm and the corresponding obstacle robotic arm;

[0030] Based on the repulsive force between the current robotic arm and the corresponding obstacle robotic arm, determine the joint torque of the current robotic arm;

[0031] The feedback force of the control device is determined based on the joint torque.

[0032] The current movement of the robotic arm is controlled based on the feedback force from the control device.

[0033] In one embodiment, controlling the current movement of the robotic arm based on the feedback force of the manipulation device includes:

[0034] The current command position of the robotic arm is obtained based on the feedback force of the control device, the desired position of the control device, and the external force acting on the control device.

[0035] Based on the repulsive force between the current robotic arm and the corresponding obstacle robotic arm, the commanded position of the current robotic arm, and the actual position of the current robotic arm, the joint position of the current robotic arm is obtained;

[0036] Control the current movement of the robotic arm to the joint position.

[0037] In one embodiment, the joint position of the current robotic arm is obtained based on the repulsive force between the current robotic arm and the corresponding obstacle robotic arm, the commanded position of the current robotic arm, and the actual position of the current robotic arm, including:

[0038] The command deviation is obtained based on the current commanded position and the current actual position of the robotic arm;

[0039] Based on the repulsive force and command deviation between the current robotic arm and the corresponding obstacle robotic arm, a virtual command force is obtained;

[0040] Based on the virtual command force, the virtual acceleration is obtained;

[0041] The current joint position of the robotic arm is obtained based on the virtual acceleration.

[0042] In one embodiment, controlling the current movement of the robotic arm based on the feedback force of the manipulation device includes:

[0043] Obtain the current joint position of the control device;

[0044] Based on the current joint position, the gravity and friction of the control device are obtained through gravity compensation;

[0045] The torque of the control device is determined based on the feedback force, gravity, and friction of the control device.

[0046] The movement of the robotic arm is controlled based on the torque of the control device.

[0047] In one embodiment, controlling the movement of a corresponding robotic arm based on the distance between each robotic arm and a corresponding obstacle robotic arm includes:

[0048] Regarding current robotic arms,

[0049] Obtain the current joint position and joint command speed of the robotic arm at the current moment;

[0050] Based on the current distance between the robotic arm and the corresponding obstacle robotic arm, determine the current interference distance between the current robotic arm and the corresponding obstacle robotic arm at the current moment;

[0051] Based on the current joint position and joint command velocity, the next joint position can be obtained.

[0052] Based on the joint position at the next moment, determine the interference distance between the current robotic arm and the corresponding obstacle robotic arm at the next moment;

[0053] If the interference distance at each next moment is not greater than the corresponding interference distance at the current moment, control the current robotic arm to continue moving;

[0054] If the interference distance at any next moment is greater than the corresponding interference distance at the current moment, control the current robotic arm to stop moving.

[0055] In one embodiment, determining the current interference distance between the current robotic arm and the corresponding obstacle robotic arm based on the distance between the current robotic arm and the corresponding obstacle robotic arm includes:

[0056] If the obstacle distance between the current robotic arm and any obstacle robotic arm is greater than or equal to a preset interference threshold, the current interference distance between the current robotic arm and the corresponding obstacle robotic arm is determined to be the preset value.

[0057] If the obstacle distance between the current robotic arm and any obstacle robotic arm is less than a preset interference threshold, the current interference distance between the current robotic arm and the corresponding obstacle robotic arm is determined to be the difference between the preset interference threshold and the obstacle distance.

[0058] In one embodiment, the robot control method further includes:

[0059] If the model collision results indicate that a collision has occurred between multiple robotic arms, a collision warning message is generated.

[0060] Secondly, this application also provides a robot control device for use in a robot control system, the system including multiple robotic arms, the device including:

[0061] The acquisition module is used to acquire real-time images of multiple robotic arms;

[0062] The model detection module is used to detect collisions in real-time images using a collision detection model and obtain model detection results; the model detection results are used to characterize whether collisions occur between multiple robotic arms.

[0063] The first control module is used to determine that a collision has occurred between multiple robotic arms when the air pressure of the robotic arm meets the air pressure condition and the model collision result indicates that no collision has occurred between multiple robotic arms, and to control multiple robotic arms to stop running.

[0064] The second control module is used to obtain the distance between each robotic arm and the corresponding obstacle robotic arm when the collision air pressure of each robotic arm does not meet the air pressure condition and the model collision result indicates that no collision has occurred between the multiple robotic arms; wherein, for any robotic arm, the corresponding obstacle robotic arm is the other robotic arm among the multiple robotic arms excluding the corresponding robotic arm; and the movement of the corresponding robotic arm is controlled according to the distance between each robotic arm and the corresponding obstacle robotic arm.

[0065] Thirdly, this application also provides a robot control system, the system comprising:

[0066] Multiple robotic arms;

[0067] Image acquisition equipment used to acquire real-time images of multiple robotic arms;

[0068] A pressure sensor is installed on the robotic arm where installation is required; the pressure sensor has multiple air chambers; the pressure sensor is used to collect the real-time air pressure of each of the multiple air chambers;

[0069] Ultrasonic and laser sensors are installed on the robotic arm to be installed. The ultrasonic sensor is used to collect the real-time ultrasonic distance between the corresponding robotic arm and the corresponding obstacle robotic arm, as well as multiple historical ultrasonic distances within a preset time period before the current moment. The laser sensor is used to collect the real-time laser distance between the corresponding robotic arm and the corresponding obstacle robotic arm, as well as multiple historical laser distances within a preset time period before the current moment. For any given robotic arm, the corresponding obstacle robotic arm is any of the other robotic arms excluding the corresponding robotic arm.

[0070] Control equipment is used to control the movement of multiple robotic arms;

[0071] A computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program performing the following steps:

[0072] Acquire real-time images of multiple robotic arms;

[0073] A collision detection model is used to detect collisions in real-time images, and the model detection results are obtained. The model detection results are used to characterize whether collisions occur between multiple robotic arms.

[0074] If the air pressure of the robotic arm meets the air pressure condition and the model collision result indicates that no collision has occurred between multiple robotic arms, then the corresponding robotic arm is determined to have collided, and multiple robotic arms are controlled to stop running.

[0075] When the collision air pressure of each robotic arm does not meet the air pressure condition, and the model collision result indicates that no collision has occurred between the multiple robotic arms, the distance between each robotic arm and the corresponding obstacle robotic arm is obtained; wherein, for any robotic arm, the corresponding obstacle robotic arm is the other robotic arm among the multiple robotic arms excluding the corresponding robotic arm; the movement of the corresponding robotic arm is controlled according to the distance between each robotic arm and the corresponding obstacle robotic arm.

[0076] Fourthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, performs the following steps:

[0077] Acquire real-time images of multiple robotic arms;

[0078] A collision detection model is used to detect collisions in real-time images, and the model detection results are obtained. The model detection results are used to characterize whether collisions occur between multiple robotic arms.

[0079] If the air pressure of the robotic arm meets the air pressure condition and the model collision result indicates that no collision has occurred between multiple robotic arms, then the corresponding robotic arm is determined to have collided, and multiple robotic arms are controlled to stop running.

[0080] When the collision air pressure of each robotic arm does not meet the air pressure condition, and the model collision result indicates that no collision has occurred between the multiple robotic arms, the distance between each robotic arm and the corresponding obstacle robotic arm is obtained; wherein, for any robotic arm, the corresponding obstacle robotic arm is the other robotic arm among the multiple robotic arms excluding the corresponding robotic arm; the movement of the corresponding robotic arm is controlled according to the distance between each robotic arm and the corresponding obstacle robotic arm.

[0081] Fifthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, performs the following steps:

[0082] Acquire real-time images of multiple robotic arms;

[0083] A collision detection model is used to detect collisions in real-time images, and the model detection results are obtained. The model detection results are used to characterize whether collisions occur between multiple robotic arms.

[0084] If the air pressure of the robotic arm meets the air pressure condition and the model collision result indicates that no collision has occurred between multiple robotic arms, then the corresponding robotic arm is determined to have collided, and multiple robotic arms are controlled to stop running.

[0085] When the collision air pressure of each robotic arm does not meet the air pressure condition, and the model collision result indicates that no collision has occurred between the multiple robotic arms, the distance between each robotic arm and the corresponding obstacle robotic arm is obtained; wherein, for any robotic arm, the corresponding obstacle robotic arm is the other robotic arm among the multiple robotic arms excluding the corresponding robotic arm; the movement of the corresponding robotic arm is controlled according to the distance between each robotic arm and the corresponding obstacle robotic arm.

[0086] The aforementioned robot control method, device, system, storage medium, and computer program product detect real-time images of multiple robotic arms using a collision detection model to obtain model detection results. If the collision air pressure of a robotic arm meets the air pressure condition and the model collision result indicates that no collision has occurred between the multiple robotic arms, a collision is determined for the corresponding robotic arm, and the multiple robotic arms are controlled to stop operating. If the collision air pressure of any robotic arm does not meet the air pressure condition and the model collision result indicates that no collision has occurred between the multiple robotic arms, the distance between each robotic arm and the corresponding obstacle robotic arm is obtained. Based on the distance between each robotic arm and the corresponding obstacle robotic arm, the movement of the corresponding robotic arm is controlled. The method of using a collision detection model to perform collision detection on real-time images of multiple robotic arms is beneficial for determining whether collisions occur between the robotic arms over a large area. If the model does not detect a collision, further collision detection is performed based on the collision pressure of the robotic arms, which helps to detect collisions that the collision detection model could not detect, thus improving the accuracy of collision detection. When the collision pressure of the robotic arms meets the pressure conditions, the robotic arms are controlled to stop running, which can prevent collisions between multiple robotic arms. When the collision pressure of the robotic arms does not meet the pressure conditions, the movement of the robotic arms is controlled based on the distance between the robotic arms, which helps to prevent collisions between multiple robotic arms. Attached Figure Description

[0087] Figure 1 This is a diagram illustrating the application environment of a robot control method in one embodiment;

[0088] Figure 2 This is a flowchart illustrating a robot control method in one embodiment;

[0089] Figure 3 This is a schematic diagram showing the deployment location of image acquisition device 1 in one embodiment;

[0090] Figure 4 This is a schematic diagram showing the deployment location of image acquisition device two in one embodiment;

[0091] Figure 5 This is a schematic diagram showing the deployment location of image acquisition device three in one embodiment;

[0092] Figure 6 This is a schematic diagram of a pressure sensor mounted on a robotic arm in one embodiment;

[0093] Figure 7 This is a schematic diagram showing the installation positions of the ultrasonic sensor and the laser sensor in one embodiment;

[0094] Figure 8 This is a schematic diagram illustrating the determination of repulsive force based on distance in one embodiment;

[0095] Figure 9 This is a control principle diagram for determining the current command position of the robotic arm in one embodiment;

[0096] Figure 10 This is a control principle diagram for determining the current joint position of a robotic arm in one embodiment;

[0097] Figure 11 This is a control principle diagram for generating the torque of the control device in one embodiment;

[0098] Figure 12 This is a schematic diagram illustrating the generation of collision alert information in one embodiment;

[0099] Figure 13 This is a schematic diagram of a robot control system in one embodiment;

[0100] Figure 14 This is a schematic diagram of the overall flow of a robot control method in one embodiment;

[0101] Figure 15 This is a schematic diagram of a collision detection process based on a collision detection model in one embodiment;

[0102] Figure 16 This is a schematic diagram of a collision detection process based on a barometric pressure sensor in one embodiment;

[0103] Figure 17 This is a schematic diagram of a non-contact sensor collision detection method in one embodiment;

[0104] Figure 18 This is a schematic diagram of collision detection based on repulsion in one embodiment;

[0105] Figure 19 This is a schematic diagram of a method for controlling a robotic arm using interference distance in one embodiment;

[0106] Figure 20 This is a structural block diagram of a robot control device in one embodiment;

[0107] Figure 21 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0108] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0109] The robot control method provided in this application embodiment can be applied to, for example, Figure 1The application environment shown is a robot control method applied to a robot control system, which includes a computer device 102 and multiple robotic arms 104. The computer device 102 includes a terminal or a server. The robot control method provided in this application embodiment can be executed by the computer device 102, by the terminal or the server alone, or by the terminal and the server working together. Taking the computer device 102 executing alone as an example: real-time images of multiple robotic arms 104 are acquired; a collision detection model is used to detect the real-time images to obtain the model detection result; the model detection result is used to characterize whether a collision occurs between the multiple robotic arms 104; if the collision air pressure of a robotic arm meets the air pressure condition and the model collision result indicates that no collision has occurred between the multiple robotic arms 104, it is determined that the corresponding robotic arm has collided, and the multiple robotic arms 104 are controlled to stop running; if the collision air pressure of each robotic arm does not meet the air pressure condition and the model collision result indicates that no collision has occurred between the multiple robotic arms 104, the distance between each robotic arm and the corresponding obstacle robotic arm is acquired; wherein, for any robotic arm, the corresponding obstacle robotic arm is the other robotic arm among the multiple robotic arms 104 excluding the corresponding robotic arm; the movement of the corresponding robotic arm is controlled according to the distance between each robotic arm and the corresponding obstacle robotic arm. The terminals can be, but are not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, and smart in-vehicle systems. Portable wearable devices can include smartwatches, smart bracelets, and head-mounted devices. Servers can be implemented using independent servers or server clusters composed of multiple servers.

[0110] In one embodiment, such as Figure 2 As shown, a robot control method is provided, which can be applied to... Figure 1 Taking computer device 102 as an example, the following steps are included:

[0111] S202, acquire real-time images of multiple robotic arms.

[0112] The computer device acquires real-time images of multiple robotic arms captured by the image acquisition device. These multiple robotic arms can be multiple arms of a single robot, or multiple arms of multiple robots. The robot control system includes one or more image acquisition devices. For example, the robot control system includes multiple image acquisition devices deployed at different locations to acquire real-time images from multiple angles; that is, the computer device acquires real-time images of the multiple robotic arms captured by the multiple image acquisition devices from multiple angles. Figure 3 The diagram shows the deployment location of image acquisition device one and its corresponding field of view. Image acquisition device one is deployed on top of the support beam of the robotic arm. Figure 4 The diagram shows the deployment location of image acquisition device two and its corresponding field of view. Image acquisition device two is deployed below the robotic arm linkage. Figure 5 The diagram shows the deployment location of image acquisition device three and its corresponding field of view. Image acquisition device three is deployed at the top of the space directly above the robotic arm. Deploying image acquisition devices in different locations facilitates obtaining real-time images from multiple angles.

[0113] S204. A collision detection model is used to detect real-time images and obtain the model detection results. The model detection results are used to characterize whether a collision occurs between multiple robotic arms.

[0114] The collision detection model is a pre-trained reinforcement learning model. The collision detection model is used to detect collisions in real-time images, yielding detection results. These results characterize whether collisions occur between multiple robotic arms. The training steps for the collision detection model include: acquiring multiple first sample images showing collisions between the robotic arms, and multiple second sample images showing no collisions; inputting these first and second sample images into an initial reinforcement learning model for training; and using the trained reinforcement learning model as the collision detection model.

[0115] S206, if the collision air pressure of the robotic arm meets the air pressure condition and the model collision result indicates that no collision has occurred between multiple robotic arms, determine that the corresponding robotic arm has collided and control multiple robotic arms to stop running.

[0116] The model collision results indicate that no collisions occurred between the multiple robotic arms, suggesting that the collision detection model did not detect any collisions when detecting real-time images.

[0117] In some embodiments, the collision pressure of the robotic arm refers to the air pressure at the moment of collision. In some embodiments, the robot control system further includes a pressure sensor. The computer device uses the air pressure data collected by the pressure sensor as the collision pressure of the robotic arm.

[0118] The existence of collision air pressure conditions for robotic arms refers to the existence of collision air pressure conditions for one or more robotic arms. In some embodiments, the air pressure condition may be that the collision air pressure of the robotic arm exceeds a preset air pressure value at a certain moment. In other embodiments, the air pressure condition may also be that the average collision air pressure of the robotic arm over a preset duration exceeds a preset air pressure value.

[0119] If the collision air pressure of the robotic arm meets the air pressure condition, and the model collision results indicate that no collision occurred between multiple robotic arms, the computer equipment determines that the robotic arm that meets the air pressure condition has collided.

[0120] S208, when the collision air pressure of each robotic arm does not meet the air pressure condition, and the model collision result indicates that no collision has occurred between the multiple robotic arms, obtain the distance between each robotic arm and the corresponding obstacle robotic arm; wherein, for any robotic arm, the corresponding obstacle robotic arm is the other robotic arm among the multiple robotic arms excluding the corresponding robotic arm; control the movement of the corresponding robotic arm according to the distance between each robotic arm and the corresponding obstacle robotic arm.

[0121] In cases where the collision air pressure of each robotic arm does not meet the air pressure condition, and the model collision results indicate that no collision occurred between the robotic arms, this indicates that the robotic arms either did not collide or experienced a minor collision. To prevent collisions or severe collisions between the robotic arms, the computer device acquires the distance between each robotic arm and its corresponding obstacle robotic arm, and controls the movement of the corresponding robotic arm based on this distance. For example, acquiring the distance between the current robotic arm and its corresponding obstacle robotic arm, and stopping the movement of the current robotic arm if any distance is less than a preset distance, can prevent the current robotic arm from colliding with other nearby robotic arms.

[0122] In the above robot control method, a collision detection model is used to detect real-time images of multiple robotic arms to obtain model detection results. If the collision air pressure of a robotic arm meets the air pressure condition and the model collision result indicates that no collision has occurred between the multiple robotic arms, it is determined that the corresponding robotic arm has collided, and the multiple robotic arms are controlled to stop running. If the collision air pressure of each robotic arm does not meet the air pressure condition and the model collision result indicates that no collision has occurred between the multiple robotic arms, the distance between each robotic arm and the corresponding obstacle robotic arm is obtained. Based on the distance between each robotic arm and the corresponding obstacle robotic arm, the movement of the corresponding robotic arm is controlled. The method of using a collision detection model to perform collision detection on real-time images of multiple robotic arms is beneficial for determining whether collisions occur between the robotic arms over a large area. If the model does not detect a collision, further collision detection is performed based on the collision pressure of the robotic arms, which helps to detect collisions that the collision detection model could not detect, thus improving the accuracy of collision detection. When the collision pressure of the robotic arms meets the pressure conditions, the robotic arms are controlled to stop running, which can prevent collisions between multiple robotic arms. When the collision pressure of the robotic arms does not meet the pressure conditions, the movement of the robotic arms is controlled based on the distance between the robotic arms, which helps to prevent collisions between multiple robotic arms.

[0123] In one embodiment, a collision detection model is used to detect real-time images and obtain model detection results, including: denoising the real-time images to obtain denoised images; extracting features and reconstructing three dimensions from the denoised images to obtain three-dimensional point clouds of multiple robotic arms; inputting the three-dimensional point clouds into the collision detection model and outputting model collision results.

[0124] The computer equipment employs denoising algorithms to process real-time images, resulting in denoised images. Examples of denoising algorithms include Gaussian filtering and image scaling. Feature extraction is then performed on the denoised images. Methods for feature extraction include SIFT (Scale Invariant Feature Transform), HOG (Histogram of Oriented Gradient), ORB (Oriented Fast and Rotated Brief), and Deep Learning algorithms. Based on the extracted feature points, binocular vision SLAM (Simultaneous Localization and Mapping) or structured light algorithms are used to construct 3D point clouds for multiple robotic arms.

[0125] The computer equipment inputs the 3D point cloud of multiple robotic arms into the collision detection model and outputs the collision results of the model.

[0126] In this embodiment, noise reduction of the real-time image removes interference information, which is beneficial for obtaining accurate model collision results. Feature extraction and 3D reconstruction methods can obtain 3D point clouds corresponding to multiple robotic arms. Using a collision detection model to perform collision detection on the 3D point clouds further facilitates obtaining accurate model collision results.

[0127] In one embodiment, the system further includes a pressure sensor mounted on the robotic arm to which installation is required, the pressure sensor having multiple air chambers; such as Figure 6 The diagram shows a barometric pressure sensor mounted on a robotic arm.

[0128] Before determining whether a collision has occurred with the corresponding robotic arm, the process also includes: acquiring the real-time air pressure of each of the multiple air chambers of the air pressure sensor; and determining that the air pressure of any collision involving the robotic arm meets the air pressure condition if the real-time air pressure is greater than the air pressure threshold. The air pressure threshold is obtained based on the initial average air pressure, which is the average air pressure of each air chamber when no collision has occurred.

[0129] The computer equipment acquires the real-time air pressure of each of the multiple air chambers collected by the air pressure sensor. The real-time air pressures of the multiple air chambers are then averaged to obtain the filtered air pressure. Specifically, the computer equipment calculates the average air pressure from the multiple air chambers and uses this average air pressure as the filtered air pressure.

[0130] If the filtered air pressure is greater than the air pressure threshold, the computer equipment determines that the air pressure at which the robotic arm collides meets the air pressure condition. The air pressure threshold is obtained based on the initial average air pressure, which is the average air pressure of each chamber when no collision occurs. For example, the air pressure threshold is the initial air pressure plus a preset air pressure value.

[0131] In some embodiments, if the filtered air pressure is not greater than the air pressure threshold, the computer device determines that the collision air pressure of the corresponding robotic arm does not meet the air pressure condition.

[0132] In this embodiment, by acquiring the real-time air pressure of each air chamber in the multiple air chambers of the air pressure sensor, the real-time air pressure of the multiple air chambers is averaged and filtered. If the filtered air pressure is greater than the air pressure threshold, it is determined that there is a collision of the robotic arm and the air pressure meets the air pressure condition. This is beneficial to determine the collision situation of the robotic arm based on the air pressure collected by the air pressure sensor installed on the robotic arm.

[0133] In one embodiment, after determining that a collision has occurred with the corresponding robotic arm, the method further includes: determining the target air chamber of the collision based on the air pressure of each air chamber in the air pressure sensor installed on the corresponding robotic arm; determining the collision position of the corresponding robotic arm based on the position of the target air chamber in the air pressure sensor; and generating a collision warning message based on the collision position.

[0134] The computer equipment determines the maximum air pressure from the air pressure of each air chamber and identifies the air chamber corresponding to the maximum air pressure as the target air chamber where the collision will occur.

[0135] The computer equipment can determine the collision location of the corresponding robotic arm based on the position of the target air chamber in the air pressure sensor and the installation position of the air pressure sensor in the corresponding robotic arm.

[0136] The computer device converts the collision location into a collision alert message. In some embodiments, the collision alert message may be text information that includes the location of the expansion. For example, the text information may state that a collision occurred 2 centimeters from the end of a robotic arm. In other embodiments, the collision alert message may also be an indicator light alert or a buzzer alert.

[0137] In this embodiment, the target air chamber where the collision occurred is determined by measuring the air pressure in each chamber of the air pressure sensor installed on the corresponding robotic arm. Based on the position of the target air chamber within the air pressure sensor, the collision location of the corresponding robotic arm is determined, generating a collision warning message. By using the voltage of each air chamber in the air pressure sensor, the precise location of the collision can be determined, which helps improve the accuracy of robot collision detection. Generating collision warning messages reminds operators to handle the situation promptly and avoid collision accidents.

[0138] In one embodiment, the system further includes an ultrasonic sensor and a laser sensor; the ultrasonic sensor and laser sensor are mounted on the robotic arm to be installed; the distance between each robotic arm and the corresponding obstacle robotic arm is obtained, including: for the current robotic arm and the current obstacle robotic arm, obtaining the real-time ultrasonic distance collected by the ultrasonic sensor, and multiple historical ultrasonic distances within a preset time period before the current moment; obtaining the real-time laser distance collected by the laser sensor, and multiple historical laser distances within a preset time period before the current moment; determining the ultrasonic distance variance based on the multiple historical ultrasonic distances; determining the laser distance variance based on the multiple historical laser distances; determining a compensation coefficient based on the ultrasonic distance variance and the laser distance variance; determining the fused distance based on the real-time ultrasonic distance, the real-time laser distance, and the compensation coefficient; and using the fused distance as the distance between the current robotic arm and the current obstacle robotic arm.

[0139] Among them, such as Figure 7 The diagram illustrates the mounting of ultrasonic and laser sensors on a robotic arm requiring installation. The robot control system comprises multiple robotic arms, each with multiple links. The ultrasonic and laser sensors are mounted on the tool arm. For any given robotic arm, the corresponding obstacle robotic arms are the other robotic arms excluding the current robotic arm. Each obstacle robotic arm is a robotic arm that poses a potential collision risk to the current robotic arm.

[0140] For the current obstacle robot arm, acquire the real-time ultrasonic distance collected by the ultrasonic sensor, as well as multiple historical ultrasonic distances within a preset time period prior to the current moment. The real-time ultrasonic distance is the ultrasonic ranging data from the current robot arm to each corresponding obstacle robot arm, collected in real time by the ultrasonic sensor. The historical ultrasonic distance is the ultrasonic ranging data from the current robot arm to each corresponding obstacle robot arm, collected by the ultrasonic sensor within a preset time period prior to the current moment.

[0141] Similarly, real-time laser distance is the laser ranging data from the current robotic arm to the corresponding obstacle robotic arms, collected in real time by the laser sensor. Historical laser distance is the laser ranging data from the current robotic arm to the corresponding obstacle robotic arms, collected by the laser wave sensor within a preset time period before the current moment.

[0142] Calculate the variance of multiple historical ultrasonic distances to obtain the ultrasonic distance variance; calculate the variance of multiple historical laser distances to obtain the laser distance variance.

[0143] The computer equipment determines the compensation coefficient based on the variances of the ultrasonic and laser distances. The formula for calculating the compensation coefficient is:

[0144]

[0145] Where k represents the compensation coefficient, var(d1) represents the ultrasonic distance variance, and var(d2) represents the laser distance variance.

[0146] The computer equipment determines the fused distance based on the real-time ultrasonic distance, real-time laser distance, and compensation coefficient using a fusion formula. The fusion formula is: d3 = d1 + K(d2 - d1). Where d3 represents the fused distance, d1 represents the real-time ultrasonic distance, and d2 represents the real-time laser distance.

[0147] The computer device uses the merged distance as the distance between the current robotic arm and the current obstacle robotic arm. This allows the computer to obtain the distance between each robotic arm and its corresponding obstacle robotic arms.

[0148] In this embodiment, by acquiring real-time ultrasonic distance and real-time laser distance, and combining them with compensation coefficients determined by historical ultrasonic distance and historical laser distance, the fused distance is obtained. This method of fusing the ultrasonic distance collected by the ultrasonic sensor and the laser distance collected by the laser sensor is beneficial for obtaining accurate distance data between each robotic arm and the corresponding obstacle robotic arm, and helps to avoid collisions between multiple robotic arms.

[0149] In one embodiment, the system further includes a control device; the system generates control commands in response to the control actions of the control device; the control commands are used to control the movement of multiple robotic arms; and controlling the movement of a corresponding robotic arm based on the distance between each robotic arm and a corresponding obstacle robotic arm includes: for the current robotic arm, determining the repulsive force between the current robotic arm and the corresponding obstacle robotic arm based on the distance between the current robotic arm and the corresponding obstacle robotic arm; determining the joint torque of the current robotic arm based on the repulsive force between the current robotic arm and the corresponding obstacle robotic arm; determining the feedback force of the control device based on the joint torque; and controlling the movement of the current robotic arm based on the feedback force of the control device.

[0150] Specifically, for the current robotic arm, the computer device considers all the other robotic arms excluding the current robotic arm as obstacle robotic arms. Obstacle robotic arms are robotic arms that pose a potential collision risk to the current robotic arm.

[0151] The computer equipment inputs the distances between the current robotic arm and the corresponding obstacle robotic arm into the repulsive force calculation formula to obtain the repulsive force between the current robotic arm and the corresponding obstacle robotic arm. The repulsive force calculation formula is: f c,i =k / l i 2 Among them, f c,i Let k represent the repulsive force between the current robotic arm and the i-th obstacle robotic arm, and l represent the repulsive force sensitivity. i This represents the distance from the i-th obstacle robot arm to the current robot arm. For example... Figure 8 The diagram shows a repulsive force determined based on distance.

[0152] The computer equipment incorporates the repulsive force between the current robotic arm and the corresponding obstacle robotic arm into the joint torque calculation formula to obtain the joint torque of the current robotic arm. The joint torque calculation formula is: Where, τ q J represents joint torque. i T Let represent the transpose of the Jacobian matrix corresponding to the i-th obstacle robotic arm, and n represent the number of obstacle robotic arms.

[0153] The computer system inputs the current joint torque of the robotic arm into the feedback force calculation formula to obtain the feedback force for controlling the device. The feedback force calculation formula is: f d =R -1 J T τ q Among them, f d R represents the feedback force of the control device. -1 J represents the mapping matrix from the current robotic arm to the control device. T The Jacobian matrix transpose represents the multiple obstacle robotic arms.

[0154] The control device controls the current movement of the robotic arm based on the feedback force.

[0155] In this embodiment, the repulsive force between the current robotic arm and the corresponding obstacle robotic arm is determined based on the distance between the current robotic arm and the corresponding obstacle robotic arm. The repulsive force of the current robotic arm is then converted into a feedback force of the control device. The control device controls the movement of the current robotic arm according to the feedback force, which helps to avoid collisions between multiple robotic arms.

[0156] In one embodiment, controlling the movement of the current robotic arm based on the feedback force of the control device includes: obtaining the command position of the current robotic arm based on the feedback force of the control device, the desired position of the control device, and the external force acting on the control device; obtaining the joint position of the current robotic arm based on the repulsive force between the current robotic arm and the corresponding obstacle robotic arm, the command position of the current robotic arm, and the actual position of the current robotic arm; and controlling the current robotic arm to move to the joint position.

[0157] Here, the current command position of the robotic arm refers to the position where the robotic arm moves as instructed by the control command corresponding to the control device. The desired position of the control device refers to the desired position of the control device in Cartesian space.

[0158] The computer device determines the current command position of the robotic arm based on the feedback force from the control device, the desired position of the control device, and the external force acting on the control device. For example... Figure 9 The diagram shows the control principle for determining the current commanded position of the robotic arm. Where C... F Denotes the Cartesian supremacy, x F Indicates the Cartesian compliant position, x d Indicates the desired position of the control device, K represents the gain, and f e f0 represents the Cartesian torque output by the joint, and f0 represents the floating torque of the control device. doc p represents the external force acting on the control device. cmd This indicates the current command position of the robotic arm.

[0159] The current commanded position and actual position of the robotic arm are both in Cartesian space. The current joint position of the robotic arm refers to its position in joint space.

[0160] The computer device obtains the joint position of the current robotic arm based on the repulsive force between the current robotic arm and the corresponding obstacle robotic arm, the command position of the current robotic arm, and the actual position of the current robotic arm, and controls the current robotic arm to move to the joint position.

[0161] In this embodiment, the commanded position of the robotic arm is obtained through the feedback force of the control device, the desired position of the control device, and the external force acting on the control device. Since there is often some deviation between the commanded position and the actual position of the robotic arm, the joint position of the current robotic arm is obtained based on the repulsive force between the current robotic arm and the corresponding obstacle robotic arm, the commanded position of the current robotic arm, and the actual position of the current robotic arm. This allows for the replanning of the joint position of the current robotic arm based on the repulsive force between the robotic arms and the deviation between the commanded and actual positions of the robotic arm, thus controlling the current robotic arm to move to the joint position and avoiding collisions between multiple robotic arms.

[0162] In one embodiment, the joint position of the current robotic arm is obtained based on the repulsive force between the current robotic arm and the corresponding obstacle robotic arm, the commanded position of the current robotic arm, and the actual position of the current robotic arm. This includes: obtaining a command deviation based on the commanded position and the actual position of the current robotic arm; obtaining a virtual command force based on the repulsive force between the current robotic arm and the corresponding obstacle robotic arm and the command deviation; obtaining a virtual acceleration based on the virtual command force; and obtaining the joint position of the current robotic arm based on the virtual acceleration.

[0163] The computer device calculates the difference between the current commanded position and the current actual position of the robotic arm, and uses this position difference as the command deviation.

[0164] The computer device derives a virtual command force based on the repulsive force and command deviation between the current robotic arm and the corresponding obstacle robotic arm. Specifically, the computer device sums the repulsive forces between the current robotic arm and the corresponding obstacle robotic arm to obtain a repulsive force sum. This sum is then multiplied by a first weighting coefficient to obtain a first virtual attraction force. The command deviation is multiplied by a second weighting coefficient to obtain a second virtual attraction force. The first and second virtual attraction forces are then summed, and the resulting sum is used as the virtual command force. The formula for calculating the virtual command force is:

[0165] τ f =γ1f c +γ2Δp

[0166]

[0167] Δp=p cmd -p cur

[0168] Among them, f c τ represents the sum of repulsive forces. f The virtual command force is represented by γ1, the first weighting coefficient is represented by γ2, the second weighting coefficient is represented by Δp, and the command deviation is represented by p. cmd Indicates the instruction location, p cur Indicates the actual location.

[0169] The computer device multiplies the virtual command force by the transpose of the robotic arm's Jacobian matrix to obtain the joint virtual command torque. Multiplying the joint virtual command torque by a preset transformation matrix yields the virtual acceleration. The double integral of the virtual acceleration is used as the current joint position of the robotic arm. The formula for calculating virtual acceleration is:

[0170]

[0171]

[0172] in, Represents virtual acceleration. M represents the transpose of the Jacobian matrix of the robotic arm. -1 q represents the preset transformation matrix. cmd This indicates the current joint position of the robotic arm.

[0173] like Figure 10 The diagram shows the control principle for determining the current joint position of the robotic arm based on repulsive force and command deviation. The current joint position q of the robotic arm is shown. cmd Using the forward kinematics solution of the robot, the current Cartesian space position q of the robotic arm is obtained.cur The current Cartesian space position of the robotic arm can be used for repulsion calculations and robotic arm position optimization.

[0174] In this embodiment, a virtual command force is obtained by considering the command deviation between the current robotic arm's commanded position and its actual position, as well as the repulsive force between the current robotic arm and the corresponding obstacle robotic arm. Based on the virtual command force, a virtual acceleration is obtained, which in turn determines the joint position of the current robotic arm. Based on the repulsive force between the robotic arms and the deviation between the commanded and actual positions of the robotic arm, the joint position of the current robotic arm is replanned. The movement of the current robotic arm is controlled based on the replanned shutdown position, which can prevent collisions between multiple robotic arms.

[0175] In one embodiment, controlling the current movement of a robotic arm based on the feedback force of a control device includes: acquiring the current joint position of the control device; obtaining the gravity and friction of the control device through gravity compensation based on the current joint position; determining the torque of the control device based on the feedback force, gravity, and friction of the control device; and controlling the current movement of the robotic arm based on the torque of the control device.

[0176] The computer system calculates the gravity and friction of the control device based on its current joint position, thus compensating for the device's floating position in Cartesian space. The computer system then sums the feedback force, gravity, and friction of the control device, converting the resultant force into torque. This torque is used as the control device's torque, controlling the device's movement according to this torque, thereby controlling the current movement of the robotic arm. For example... Figure 11 The diagram shows the control principle of generating torque for the control device based on the feedback force of the control device. Where q master,cur Indicates the current joint position of the control device, τ q,1-7 This refers to the torque used to operate the equipment.

[0177] In this embodiment, by performing gravity compensation on the current joint position of the control device, the gravity and friction of the control device are obtained. Combined with the feedback force of the control device, the torque of the control device is determined, and the movement of the current robotic arm is controlled based on the torque of the control device. This method of converting the repulsive force of the current robotic arm into the feedback force of the control device, and then into the torque of the control device, and controlling the movement of the robotic arm based on the converted torque, can avoid collisions between multiple robotic arms.

[0178] In one embodiment, controlling the movement of a corresponding robotic arm based on various distances for each robotic arm includes: for the current robotic arm, obtaining the current joint position and joint command speed of the current robotic arm; determining the current interference distance between the current robotic arm and the corresponding obstacle robotic arm based on the distance between the current robotic arm and the corresponding obstacle robotic arm; obtaining the joint position at the next moment based on the current joint position and the joint command speed; determining the next interference distance between the current robotic arm and the corresponding obstacle robotic arm based on the next joint position; controlling the current robotic arm to continue moving if the interference distance at each next moment is not greater than the corresponding current interference distance; and controlling the current robotic arm to stop moving if the interference distance at any next moment is greater than the corresponding current interference distance.

[0179] Among them, the obstacle robotic arm is a robotic arm that poses a potential collision risk with the current robotic arm. Joint command speed refers to the speed at which the robotic arm responds to control commands from the control device. The computer equipment obtains the current joint positions and joint command speeds of the current robotic arm.

[0180] Based on the distance between the current robotic arm and the corresponding obstacle robotic arm, the current interference distance between the current robotic arm and the corresponding obstacle robotic arm is determined. The current interference distance characterizes the difference between the current distance between the current robotic arm and the corresponding obstacle robotic arm and a preset interference threshold.

[0181] The computer device obtains the time difference between the current moment and the next moment. The computer device adds the joint position at the current moment to the product of the joint command speed and the time difference to obtain the joint position at the next moment.

[0182] The computer device uses forward kinematics to obtain the Cartesian position of the next moment based on the joint position. Then, based on this Cartesian position, it determines the interference distance between the current robotic arm and the corresponding obstacle robotic arm at the next moment. The interference distance at the next moment represents the difference between the distance between the current robotic arm and the corresponding obstacle robotic arm at the next moment and a preset interference threshold.

[0183] If the interference distance at each next moment is not greater than the corresponding interference distance at the current moment, it indicates that the current robotic arm will move away from the robotic arm that encountered the obstacle at the next moment, or that the current robotic arm is far away from each obstacle robotic arm at the next moment. The current robotic arm will continue to move without collision, and the current robotic arm will continue to move.

[0184] If the interference distance at any next moment is greater than the corresponding interference distance at the current moment, it indicates that the current robotic arm will move towards the direction of the obstacle robotic arm at the next moment, and the distance between the current robotic arm and each obstacle robotic arm will be relatively close at the next moment. Control the current robotic arm to stop moving.

[0185] In this embodiment, the current joint position of the current robotic arm is used to determine the current interference distance. Based on the current joint position and joint command speed, the next joint position is obtained, and the next interference distance is determined. The interference distance at the next moment is compared with the current interference distance to control the current robotic arm to continue moving or stop moving, which can avoid collisions between multiple robotic arms.

[0186] In one embodiment, determining the current interference distance between the current robotic arm and the corresponding obstacle robotic arm based on the distance between the current robotic arm and the corresponding obstacle robotic arm includes: if the obstacle distance between the current robotic arm and any obstacle robotic arm is greater than or equal to a preset interference threshold, determining the current interference distance between the current robotic arm and the corresponding obstacle robotic arm as a preset value; if the obstacle distance between the current robotic arm and any obstacle robotic arm is less than the preset interference threshold, determining the current interference distance between the current robotic arm and the corresponding obstacle robotic arm as the difference between the preset interference threshold and the obstacle distance.

[0187] Specifically, if the obstacle distance between the current robotic arm and any obstacle robotic arm is greater than or equal to a preset interference threshold, the current interference distance between the current robotic arm and the corresponding obstacle robotic arm is determined as the preset value. If the obstacle distance between the current robotic arm and any obstacle robotic arm is less than the preset interference threshold, the current interference distance between the current robotic arm and the corresponding obstacle robotic arm is determined as the difference between the preset interference threshold and the obstacle distance. This is then used to determine the current interference distance between the current robotic arm and the corresponding obstacle robotic arm. The difference between the preset interference threshold and the obstacle distance is greater than the preset value. The formula for calculating the interference distance is as follows:

[0188]

[0189] Where ε represents the preset interference threshold, l i fd represents the obstacle distance between the current robotic arm and any obstacle robotic arm. i This represents the interference distance between the current robotic arm and the i-th obstacle robotic arm.

[0190] Similarly, the next moment's interference distance between the current robotic arm and the corresponding obstacle robotic arm can be obtained using the formula for solving the interference distance.

[0191] In this embodiment, if the obstacle distance between the current robotic arm and any obstacle robotic arm is greater than or equal to a preset interference threshold, the current interference distance between the current robotic arm and the corresponding obstacle robotic arm is determined to be a preset value. If the obstacle distance between the current robotic arm and any obstacle robotic arm is less than the preset interference threshold, the current interference distance between the current robotic arm and the corresponding obstacle robotic arm is determined to be the difference between the preset interference threshold and the obstacle distance. This method of determining the interference distance is beneficial for controlling the robotic arm to continue moving or stop moving based on the interference distance at the next moment and the interference distance at the current moment, thus avoiding collisions between multiple robotic arms.

[0192] In one embodiment, the robot control method further includes generating a collision warning message when the model collision result indicates that a collision has occurred between multiple robotic arms.

[0193] Specifically, when the model's collision results indicate a collision between multiple robotic arms, a collision warning message is generated. This message can be text, indicator lights, or a buzzer, etc. Figure 12 The image shown is a schematic diagram of generating a collision warning message.

[0194] In this embodiment, when the model collision results indicate that a collision has occurred between multiple robotic arms, a collision alert message is generated to remind the operator to receive the information about the collision in a timely manner and avoid collision accidents.

[0195] To illustrate the robot control method and its effects in this solution in detail, a specific embodiment is described below:

[0196] Robot control methods are applied to robot control systems. For example... Figure 13 The diagram shows a schematic of a robot control system. The robot control system includes a control console, an execution platform, an image acquisition carriage, and a tool carriage. The control console generates control commands in response to the manipulation actions of the control equipment. The execution platform is connected to multiple robotic arms, which move in response to the control commands. An image acquisition device is located on the image carriage and is used to acquire real-time images of the multiple robotic arms. A pressure sensor is mounted on the robotic arm where it is to be installed. The pressure sensor has multiple chambers and is used to acquire the real-time pressure of each chamber.

[0197] Ultrasonic and laser sensors are mounted on the robotic arms to be installed. The ultrasonic sensors collect real-time ultrasonic distances between the robotic arm and its corresponding obstacle robotic arm, as well as multiple historical ultrasonic distances within a preset time period prior to the current moment. The laser sensors collect real-time laser distances between the robotic arm and its corresponding obstacle robotic arm, as well as multiple historical laser distances within a preset time period prior to the current moment. For any given robotic arm, the corresponding obstacle robotic arm is any of the other robotic arms excluding the given robotic arm. A control device is used to control the movement of the multiple robotic arms. A tool cart provides the necessary tools and instruments for the robotic arm end effectors. Computer equipment is used to execute the robot control methods.

[0198] like Figure 14 The diagram illustrates the overall flow of the robot control method. This method includes a visual collision detection unit, a contact sensor collision detection unit, a non-contact sensor collision detection unit, a robotic arm control unit, and a visual feedback unit. The visual collision detection unit is used for collision detection using a collision detection model. If a collision is detected, the visual collision detection unit provides a collision warning via the visual feedback unit. If no collision is detected, the system proceeds to the contact sensor collision detection unit to determine if the collision pressure exceeds a threshold. If the threshold is exceeded, an error reporting mechanism is activated. If the collision does not exceed the specified area, the system proceeds to the non-contact sensor collision detection unit, which measures the distance using ultrasonic and laser sensors and refreshes the repulsion field based on the measured distance. The robotic arm control unit maps the repulsion field of the robotic arm to the control console according to a master-slave mapping relationship. The control console calculates the feedback force of the control device based on the repulsion field. This feedback force serves as a force feedback prompt, allowing the operator to avoid collisions with the robotic arm under the constraint of the feedback force. The operator generates a "no-collision" control command based on the feedback force prompt and uses an optimization algorithm to calculate the no-collision joint control command in real time based on the repulsion field and the control command. The robotic arm then performs trajectory tracking control based on the joint control command. The visual feedback unit displays collision information when a collision is detected by the visual sensor, barometric contact sensor, or ultrasonic / laser sensor, thus alerting the operator that the robotic arm has collided. Additionally, the visual feedback unit transmits the feedback force from the controlled device to the operator via indicator lights. A large feedback force results in a red indicator light, while zero feedback force results in a green indicator light.

[0199] Computer equipment acquires real-time images of multiple robotic arms captured by an image acquisition device. The real-time images are denoised to obtain denoised images. Feature extraction and 3D reconstruction are then performed on the denoised images to obtain 3D point clouds of the multiple robotic arms. These 3D point clouds are input into a collision detection model, and the model's collision results are output. The model's detection results are used to characterize whether collisions have occurred between the multiple robotic arms. Figure 15The diagram shows a flowchart of collision detection based on a collision detection model.

[0200] If the model collision results indicate that a collision has occurred between multiple robotic arms, a collision warning message is generated.

[0201] If the air pressure of the robotic arm meets the air pressure condition and the model collision results indicate that no collision has occurred between multiple robotic arms, then the corresponding robotic arm is determined to have collided, and multiple robotic arms are controlled to stop operating.

[0202] Before determining whether a collision has occurred with the corresponding robotic arm, the process includes: acquiring the real-time air pressure of each of the multiple air chambers of the air pressure sensor; and, if the real-time air pressure is greater than a pressure threshold, determining that the air pressure for any potential collision with the robotic arm meets the air pressure condition. The air pressure threshold is obtained based on an initial average air pressure, which is the average air pressure of each air chamber when no collision has occurred. Figure 16 The diagram shows a flowchart of collision detection based on a barometric pressure sensor.

[0203] After determining that a collision has occurred with the corresponding robotic arm, the process further includes: determining the target air chamber of the collision based on the air pressure of each air chamber in the air pressure sensor installed on the corresponding robotic arm; determining the collision location of the corresponding robotic arm based on the position of the target air chamber in the air pressure sensor; and generating a collision warning message based on the collision location.

[0204] When the collision air pressure of each robotic arm does not meet the air pressure condition, and the model collision results indicate that no collision occurred between multiple robotic arms, the distance between each robotic arm and the corresponding obstacle robotic arm is obtained. Specifically, for the current robotic arm and the current obstacle robotic arm, the real-time ultrasonic distance collected by the ultrasonic sensor, as well as multiple historical ultrasonic distances within a preset time period before the current moment, are obtained. Similarly, the real-time laser distance collected by the laser sensor, as well as multiple historical laser distances within a preset time period before the current moment, are obtained. The ultrasonic distance variance and the laser distance variance are determined based on the multiple historical ultrasonic distances. A compensation coefficient is determined based on the ultrasonic distance variance and the laser distance variance. The fused distance is determined based on the real-time ultrasonic distance, the real-time laser distance, and the compensation coefficient, and this fused distance is used as the distance between the current robotic arm and the current obstacle robotic arm. Figure 17 The diagram illustrates a collision detection method using non-contact sensors. Non-contact sensors refer to ultrasonic sensors and laser sensors.

[0205] Based on the corresponding distances of each robotic arm, the movement of the corresponding robotic arm is controlled, including three schemes.

[0206] Option 1: For the current robotic arm, determine the repulsive force between the current robotic arm and the corresponding obstacle robotic arm based on the distance between the current robotic arm and the obstacle robotic arm. For example... Figure 18 This is a schematic diagram of collision detection based on repulsion. The joint torque of the current robotic arm is determined based on the repulsion between the current robotic arm and the corresponding obstacle robotic arm. The feedback force of the control device is determined based on the joint torque. The command position of the current robotic arm is obtained based on the feedback force, the desired position of the control device, and the external force acting on the control device. The command deviation is obtained based on the command position and the actual position of the current robotic arm. A virtual command force is obtained based on the repulsion between the current robotic arm and the corresponding obstacle robotic arm and the command deviation. Virtual acceleration is obtained based on the virtual command force. The joint position of the current robotic arm is obtained based on the virtual acceleration, and the current robotic arm is controlled to move to the joint position. In this scheme, the repulsion field is used to determine the feedback force of the control device, thereby optimizing the target position of the robotic arm. Under the adjustment of the feedback force, the operator will move towards the target position, and the current robotic arm moves according to the command position p. cmd The movement can already avoid collisions. Furthermore, the actuator can use optimization algorithms to perform "remedial" planning for the robotic arm. That is, even if the operator violates the feedback force, the robotic arm can still move along the planned trajectory without collisions.

[0207] Option 2: The computer acquires the current joint position of the control device. Based on this position, and through gravity compensation, the gravity and friction of the control device are obtained. The torque of the control device is determined based on the feedback force, gravity, and friction. The movement of the robotic arm is then controlled based on this torque. In this option, trajectory planning for the robotic arm is not performed; instead, the repulsive force of the robotic arm is directly fed back to the control device. The control device uses a torque control mode to control the robotic arm, avoiding collisions between multiple robotic arms.

[0208] Option 3: For the current robotic arm, obtain its current joint position and joint command velocity. Based on the distance between the current robotic arm and the corresponding obstacle robotic arm, determine the current interference distance between them. Based on the current joint position and joint command velocity, obtain the next joint position. Based on the next joint position, determine the next interference distance between the current robotic arm and the corresponding obstacle robotic arm. If the interference distance at each next moment is not greater than the corresponding current moment interference distance, control the current robotic arm to continue moving; if any next moment interference distance is greater than the corresponding current moment interference distance, control the current robotic arm to stop moving. Figure 19This is a schematic diagram of a method for controlling a robotic arm using interference distance. In this scheme, the control device has no feedback force, optimizes the trajectory of the robotic arm, reduces the command for the current robotic arm to move towards the obstacle robotic arm, and only retains the command for the robotic arm to move away from the obstacle robotic arm, which can avoid collisions between multiple robotic arms.

[0209] Specifically, the current interference distance between the current robotic arm and the corresponding obstacle robotic arm is determined based on the distance between the current robotic arm and the corresponding obstacle robotic arm. This includes: if the obstacle distance between the current robotic arm and any obstacle robotic arm is greater than or equal to a preset interference threshold, the current interference distance between the current robotic arm and the corresponding obstacle robotic arm is determined to be a preset value. If the obstacle distance between the current robotic arm and any obstacle robotic arm is less than the preset interference threshold, the current interference distance between the current robotic arm and the corresponding obstacle robotic arm is determined to be the difference between the preset interference threshold and the obstacle distance.

[0210] The aforementioned robot control method uses a collision detection model to detect real-time images of multiple robotic arms, obtaining model detection results. If the collision air pressure of a robotic arm meets the air pressure condition and the model collision result indicates that no collision has occurred between the multiple robotic arms, the corresponding robotic arm is determined to have collided, and the multiple robotic arms are controlled to stop operating. If the collision air pressure of each robotic arm does not meet the air pressure condition and the model collision result indicates that no collision has occurred between the multiple robotic arms, the distance between each robotic arm and the corresponding obstacle robotic arm is obtained. Based on the distance between each robotic arm and the corresponding obstacle robotic arm, the movement of the corresponding robotic arm is controlled. The method of using a collision detection model to perform collision detection on real-time images of multiple robotic arms is beneficial for determining whether collisions occur between the robotic arms over a large area. If the model does not detect a collision, further collision detection is performed based on the collision pressure of the robotic arms, which helps to detect collisions that the collision detection model could not detect, thus improving the accuracy of collision detection. When the collision pressure of the robotic arms meets the pressure conditions, the robotic arms are controlled to stop running, which can prevent collisions between multiple robotic arms. When the collision pressure of the robotic arms does not meet the pressure conditions, the movement of the robotic arms is controlled based on the distance between the robotic arms, which helps to prevent collisions between multiple robotic arms.

[0211] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0212] Based on the same inventive concept, this application also provides a robot control device for implementing the robot control method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more robot control device embodiments provided below can be found in the limitations of the robot control method described above, and will not be repeated here.

[0213] In one embodiment, such as Figure 20 As shown, a robot control device 100 is provided, applied to a robot control system. The system includes multiple robotic arms, and the device includes: an acquisition module 120, a model detection module 140, a first control module 160, and a second control module 180, wherein:

[0214] The acquisition module 120 is used to acquire real-time images of multiple robotic arms.

[0215] The model detection module 140 is used to detect real-time images using a collision detection model to obtain model detection results; the model detection results are used to characterize whether a collision occurs between multiple robotic arms.

[0216] The first control module 160 is used to determine that a collision has occurred between multiple robotic arms when the air pressure meets the air pressure conditions and the model collision results indicate that no collision has occurred between the multiple robotic arms, and to control the multiple robotic arms to stop operating.

[0217] The second control module 180 is used to obtain the distance between each robotic arm and the corresponding obstacle robotic arm when the collision air pressure of each robotic arm does not meet the air pressure condition and the model collision result indicates that no collision has occurred between the multiple robotic arms; wherein, for any robotic arm, the corresponding obstacle robotic arm is the other robotic arm among the multiple robotic arms excluding the corresponding robotic arm; and the movement of the corresponding robotic arm is controlled according to the distance between each robotic arm and the corresponding obstacle robotic arm.

[0218] The aforementioned robot control device detects real-time images of multiple robotic arms using a collision detection model, obtains model detection results, and determines that a collision has occurred when the collision air pressure of a robotic arm meets the air pressure condition and the model collision result indicates that no collision has occurred between the multiple robotic arms, thereby controlling the multiple robotic arms to stop operating; when the collision air pressure of each robotic arm does not meet the air pressure condition and the model collision result indicates that no collision has occurred between the multiple robotic arms, the device obtains the distance between each robotic arm and the corresponding obstacle robotic arm; and controls the movement of the corresponding robotic arm based on the distance between each robotic arm and the corresponding obstacle robotic arm. The method of using a collision detection model to perform collision detection on real-time images of multiple robotic arms is beneficial for determining whether collisions occur between the robotic arms over a large area. If the model does not detect a collision, further collision detection is performed based on the collision pressure of the robotic arms, which helps to detect collisions that the collision detection model could not detect, thus improving the accuracy of collision detection. When the collision pressure of the robotic arms meets the pressure conditions, the robotic arms are controlled to stop running, which can prevent collisions between multiple robotic arms. When the collision pressure of the robotic arms does not meet the pressure conditions, the movement of the robotic arms is controlled based on the distance between the robotic arms, which helps to prevent collisions between multiple robotic arms.

[0219] In one embodiment, a collision detection model is used to detect real-time images to obtain model detection results. The model detection module 140 is also used to: perform noise reduction processing on the real-time images to obtain noise-reduced images; perform feature extraction and three-dimensional reconstruction on the noise-reduced images to obtain three-dimensional point clouds of multiple robotic arms; input the three-dimensional point clouds into the collision detection model and output the model collision results.

[0220] In one embodiment, the system further includes a pressure sensor mounted on the robotic arm to be installed, the pressure sensor having multiple air chambers; before determining that a collision has occurred with the corresponding robotic arm, the first control module 160 is further configured to: acquire the real-time air pressure of each air chamber in the multiple air chambers of the pressure sensor; if the real-time air pressure is greater than a pressure threshold, determine that the air pressure of the collision with the robotic arm meets the air pressure condition; the pressure threshold is obtained based on an initial average air pressure, the initial average air pressure being the average air pressure of each air chamber when no collision has occurred.

[0221] In one embodiment, after determining that a collision has occurred with the corresponding robotic arm, the first control module 160 is further configured to: determine the target air chamber of the collision based on the air pressure of each air chamber in the air pressure sensor installed on the corresponding robotic arm; determine the collision position of the corresponding robotic arm based on the position of the target air chamber in the air pressure sensor; and generate a collision warning message based on the collision position.

[0222] In one embodiment, the system further includes an ultrasonic sensor and a laser sensor; the ultrasonic sensor and laser sensor are mounted on the robotic arm to be installed; the distance between each robotic arm and the corresponding obstacle robotic arm is acquired, and the second control module 180 is further configured to: acquire, for the current robotic arm and the current obstacle robotic arm, the real-time ultrasonic distance collected by the ultrasonic sensor, and multiple historical ultrasonic distances within a preset time period before the current moment; acquire the real-time laser distance collected by the laser sensor, and multiple historical laser distances within a preset time period before the current moment; determine the ultrasonic distance variance based on the multiple historical ultrasonic distances; determine the laser distance variance based on the multiple historical laser distances; determine a compensation coefficient based on the ultrasonic distance variance and the laser distance variance; determine the fused distance based on the real-time ultrasonic distance, the real-time laser distance, and the compensation coefficient; and use the fused distance as the distance between the current robotic arm and the current obstacle robotic arm.

[0223] In one embodiment, the system further includes a control device; the system generates control commands in response to the control actions of the control device; the control commands are used to control the movement of multiple robotic arms; and the system controls the movement of each robotic arm according to its respective distances. The second control module 180 is further configured to: determine the repulsive force between the current robotic arm and the corresponding obstacle robotic arm based on the distance between the current robotic arm and the corresponding obstacle robotic arm; determine the joint torque of the current robotic arm based on the repulsive force between the current robotic arm and the corresponding obstacle robotic arm; determine the feedback force of the control device based on the joint torque; and control the movement of the current robotic arm based on the feedback force of the control device.

[0224] In one embodiment, the second control module 180 controls the movement of the current robotic arm based on the feedback force of the control device. The second control module 180 is further configured to: obtain the command position of the current robotic arm based on the feedback force of the control device, the desired position of the control device, and the external force on the control device; obtain the joint position of the current robotic arm based on the repulsive force between the current robotic arm and the corresponding obstacle robotic arm, the command position of the current robotic arm, and the actual position of the current robotic arm; and control the current robotic arm to move to the joint position.

[0225] In one embodiment, the joint position of the current robotic arm is obtained based on the repulsive force between the current robotic arm and the corresponding obstacle robotic arm, the command position of the current robotic arm, and the actual position of the current robotic arm. The second control module 180 is further configured to: obtain the command deviation based on the command position and the actual position of the current robotic arm; obtain the virtual command force based on the repulsive force between the current robotic arm and the corresponding obstacle robotic arm and the command deviation; obtain the virtual acceleration based on the virtual command force; and obtain the joint position of the current robotic arm based on the virtual acceleration.

[0226] In one embodiment, the second control module 180 is further configured to: obtain the current joint position of the control device; obtain the gravity and friction of the control device through gravity compensation based on the current joint position; determine the torque of the control device based on the feedback force, gravity and friction of the control device; and control the current movement of the robotic arm based on the torque of the control device.

[0227] In one embodiment, the second control module 180 controls the movement of each robotic arm according to the corresponding distances. The second control module 180 is further configured to: for the current robotic arm, obtain the current joint position and joint command speed of the current robotic arm; determine the current interference distance between the current robotic arm and the corresponding obstacle robotic arm based on the current joint position; obtain the next joint position based on the current joint position and joint command speed; determine the next interference distance between the current robotic arm and the corresponding obstacle robotic arm based on the next joint position; control the current robotic arm to continue moving if the interference distance at each next moment is not greater than the corresponding current moment interference distance; and control the current robotic arm to stop moving if any next moment interference distance is greater than the corresponding current moment interference distance.

[0228] In one embodiment, based on the current joint position, the current interference distance between the current robotic arm and the corresponding obstacle robotic arm is determined. The second control module 180 is further configured to: determine the current interference distance between the current robotic arm and the corresponding obstacle robotic arm as a preset value if the obstacle distance between the current robotic arm and any obstacle robotic arm is greater than or equal to a preset interference threshold; and determine the current interference distance between the current robotic arm and the corresponding obstacle robotic arm as the difference between the preset interference threshold and the obstacle distance if the obstacle distance between the current robotic arm and any obstacle robotic arm is less than the preset interference threshold.

[0229] In one embodiment, the robot control device 100 is further configured to generate a collision warning message when the model collision results indicate that a collision has occurred between multiple robotic arms.

[0230] Each module in the aforementioned robot control device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.

[0231] In one embodiment, a robot control system is provided, the system comprising: multiple robotic arms; an image acquisition device for acquiring real-time images of the multiple robotic arms; a pressure sensor mounted on the robotic arm to be installed; the pressure sensor having multiple air chambers; and the pressure sensor for acquiring real-time air pressure in each of the multiple air chambers.

[0232] Ultrasonic and laser sensors are mounted on the robotic arms to be installed. The ultrasonic sensor is used to collect the real-time ultrasonic distance between the corresponding robotic arm and the corresponding obstacle robotic arm, as well as multiple historical ultrasonic distances within a preset time period prior to the current moment. The laser sensor is used to collect the real-time laser distance between the corresponding robotic arm and the corresponding obstacle robotic arm, as well as multiple historical laser distances within a preset time period prior to the current moment. For any given robotic arm, the corresponding obstacle robotic arm is one of the other robotic arms excluding the given robotic arm. A control device is used to control the movement of the multiple robotic arms. A computer device, which can be a terminal, has an internal structure diagram as shown below. Figure 21 As shown, the computer device includes a processor, memory, input / output interface, communication interface, display unit, and input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interface. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interface is used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements a robot control method.

[0233] Those skilled in the art will understand that Figure 21 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0234] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.

[0235] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.

[0236] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.

[0237] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data shall comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0238] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0239] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0240] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A robot control method, characterized in that, Applied to a robot control system, the system comprising multiple robotic arms, the method includes: Acquire real-time images of multiple robotic arms; A collision detection model is used to detect the real-time image, and the model detection result is obtained; the model detection result is used to characterize whether a collision occurs between the multiple robotic arms. If the air pressure of a collision with a robotic arm meets the air pressure condition, and the model detection result indicates that no collision has occurred between the multiple robotic arms, then it is determined that a collision has occurred with the corresponding robotic arm, and the multiple robotic arms are controlled to stop operating. When the collision air pressure of each robotic arm does not meet the air pressure condition, and the model detection result indicates that no collision has occurred between the multiple robotic arms, the distance between each robotic arm and the corresponding obstacle robotic arm is obtained; wherein, for any robotic arm, the corresponding obstacle robotic arm is the other robotic arm among the multiple robotic arms excluding the corresponding robotic arm; the movement of the corresponding robotic arm is controlled according to the distance between each robotic arm and the corresponding obstacle robotic arm.

2. The method according to claim 1, characterized in that, The collision detection model is used to detect the real-time image, and the model detection results are obtained, including: The real-time image is denoised to obtain a denoised image; Feature extraction and 3D reconstruction are performed on the denoised image to obtain 3D point clouds of multiple robotic arms; The 3D point cloud is input into the collision detection model, and the model detection results are output.

3. The method according to claim 1, characterized in that, The system also includes a pressure sensor mounted on the robotic arm to be installed, the pressure sensor having multiple air chambers; the process of determining before a collision occurs on the corresponding robotic arm further includes: The real-time air pressure of each of the multiple air chambers of the air pressure sensor is obtained; If the real-time air pressure is greater than the air pressure threshold, it is determined that the air pressure of any collision involving the robotic arm meets the air pressure condition; the air pressure threshold is obtained based on the initial average air pressure, which is the average air pressure of each air chamber when no collision occurs.

4. The method according to claim 3, characterized in that, After determining that the corresponding robotic arm has collided, the process also includes: The target air chamber where the collision occurred is determined based on the air pressure in each air chamber of the air pressure sensor installed on the corresponding robotic arm. The collision position of the corresponding robotic arm is determined based on the position of the target air chamber in the air pressure sensor. Based on the collision location, a collision warning message is generated.

5. The method according to claim 1, characterized in that, The system also includes ultrasonic sensors and laser sensors; the ultrasonic sensors and laser sensors are mounted on the robotic arm where installation is required. The process of obtaining the distance between each robotic arm and the corresponding obstacle robotic arm includes: For the current robotic arm and the current obstacle robotic arm, obtain the real-time ultrasonic distance collected by the ultrasonic sensor, as well as multiple historical ultrasonic distances within a preset time period before the current moment; The real-time laser distance collected by the laser sensor, as well as multiple historical laser distances within a preset time period before the current moment, are obtained. Based on the multiple historical ultrasonic distances, determine the ultrasonic distance variance; based on the multiple historical laser distances, determine the laser distance variance. The compensation coefficient is determined based on the ultrasonic distance variance and the laser distance variance; The fused distance is determined based on the real-time ultrasonic distance, the real-time laser distance, and the compensation coefficient; the fused distance is then used as the distance between the current robotic arm and the current obstacle robotic arm.

6. The method according to claim 1, characterized in that, The system also includes a control device; the system generates control commands in response to the control actions of the control device; the control commands are used to control the movement of multiple robotic arms. The step of controlling the movement of the corresponding robotic arm based on the distance between each robotic arm and the corresponding obstacle robotic arm includes: For the current robotic arm, the repulsive force between the current robotic arm and the corresponding obstacle robotic arm is determined based on the distance between the current robotic arm and the corresponding obstacle robotic arm. Based on the repulsive force between the current robotic arm and the corresponding obstacle robotic arm, the joint torque of the current robotic arm is determined; The feedback force of the control device is determined based on the joint torque; The current movement of the robotic arm is controlled based on the feedback force from the control device.

7. The method according to claim 6, characterized in that, The control of the current robotic arm movement based on the feedback force of the control device includes: The command position of the current robotic arm is obtained based on the feedback force of the control device, the desired position of the control device, and the external force acting on the control device. Based on the repulsive force between the current robotic arm and the corresponding obstacle robotic arm, the commanded position of the current robotic arm, and the actual position of the current robotic arm, the joint position of the current robotic arm is obtained; Control the current robotic arm to move to the joint position.

8. The method according to claim 7, characterized in that, The process of obtaining the joint position of the current robotic arm based on the repulsive force between the current robotic arm and the corresponding obstacle robotic arm, the commanded position of the current robotic arm, and the actual position of the current robotic arm includes: The command deviation is obtained based on the commanded position and the actual position of the current robotic arm. Based on the repulsive force between the current robotic arm and the corresponding obstacle robotic arm and the command deviation, a virtual command force is obtained; Based on the virtual command force, the virtual acceleration is obtained; The current joint position of the robotic arm is obtained based on the virtual acceleration.

9. The method according to claim 7, characterized in that, The control of the current robotic arm movement based on the feedback force of the control device includes: Obtain the current joint position of the control device; Based on the current joint position, the gravity and friction of the control device are obtained through gravity compensation; The torque of the control device is determined based on the feedback force of the control device, the gravity, and the friction force. The movement of the current robotic arm is controlled based on the torque of the control device.

10. The method according to claim 1, characterized in that, The step of controlling the movement of the corresponding robotic arm based on the distance between each robotic arm and the corresponding obstacle robotic arm includes: For the current robotic arm, obtain the current joint position and joint command speed of the current robotic arm at the current moment; Based on the distance between the current robotic arm and the corresponding obstacle robotic arm, determine the current interference distance between the current robotic arm and the corresponding obstacle robotic arm. The joint position at the next moment is obtained based on the current joint position and the joint command velocity; Based on the joint position at the next moment, determine the interference distance between the current robotic arm and the corresponding obstacle robotic arm at the next moment; If the interference distance at each next moment is not greater than the corresponding interference distance at the current moment, the current robotic arm is controlled to continue moving; If the interference distance at any next moment is greater than the corresponding interference distance at the current moment, control the current robotic arm to stop moving.

11. The method according to claim 10, characterized in that, The step of determining the current interference distance between the current robotic arm and the corresponding obstacle robotic arm based on the distance between the current robotic arm and the corresponding obstacle robotic arm includes: If the obstacle distance between the current robotic arm and any obstacle robotic arm is greater than or equal to a preset interference threshold, the current interference distance between the current robotic arm and the corresponding obstacle robotic arm is determined to be a preset value. If the obstacle distance between the current robotic arm and any obstacle robotic arm is less than a preset interference threshold, the current interference distance between the current robotic arm and the corresponding obstacle robotic arm is determined to be the difference between the preset interference threshold and the obstacle distance.

12. The method according to claim 1, characterized in that, The method further includes: If the model detection results indicate that a collision has occurred between the multiple robotic arms, a collision warning message is generated.

13. A robot control device, characterized in that, Applied to a robot control system, the system including multiple robotic arms, the device includes: The acquisition module is used to acquire real-time images of multiple robotic arms; The model detection module is used to detect the real-time image using a collision detection model to obtain model detection results; the model detection results are used to characterize whether a collision occurs between the multiple robotic arms. The first control module is used to determine that a collision has occurred between the robotic arms when the air pressure meets the air pressure conditions and the model detection results indicate that no collision has occurred between the robotic arms, and to control the robotic arms to stop operating. The second control module is used to obtain the distance between each robotic arm and the corresponding obstacle robotic arm when the collision air pressure of each robotic arm does not meet the air pressure condition and the model detection result indicates that no collision has occurred between the multiple robotic arms; wherein, for any robotic arm, the corresponding obstacle robotic arm is the other robotic arm among the multiple robotic arms excluding the corresponding robotic arm; and to control the movement of the corresponding robotic arm according to the distance between each robotic arm and the corresponding obstacle robotic arm.

14. A robot control system, characterized in that, The system includes: Multiple robotic arms; Image acquisition equipment used to acquire real-time images of multiple robotic arms; A pressure sensor is mounted on the robotic arm where installation is required; the pressure sensor has multiple air chambers; the pressure sensor is used to collect the real-time air pressure of each of the multiple air chambers; An ultrasonic sensor and a laser sensor are mounted on the robotic arm to which installation is required. The ultrasonic sensor is used to collect the real-time ultrasonic distance between the corresponding robotic arm and the corresponding obstacle robotic arm, as well as multiple historical ultrasonic distances within a preset time period prior to the current moment. The laser sensor is used to collect the real-time laser distance between the corresponding robotic arm and the corresponding obstacle robotic arm, as well as multiple historical laser distances within a preset time period prior to the current moment. For any given robotic arm, the corresponding obstacle robotic arm is any of the other robotic arms excluding the corresponding robotic arm. Control equipment is used to control the movement of multiple robotic arms; A computer device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the method according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Impact detection system for robotic device

    CN106029309A

  • Cotton picking system

    CN211509866U