Variable speed running pipeline and robot gripping system

By combining a 3D line scan camera with a variable speed conveyor belt, the problem of robotic arms struggling to grasp products of different shapes and heights in existing technologies has been solved, achieving efficient product positioning and grasping, and improving the production efficiency of the assembly line.

CN118164148BActive Publication Date: 2026-05-08QIXING INTELLIGENT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
QIXING INTELLIGENT TECH CO LTD
Filing Date
2022-12-08
Publication Date
2026-05-08

AI Technical Summary

Technical Problem

Existing 2D vision systems struggle to locate and grasp products of different shapes and heights in real time on production lines, resulting in low robotic arm grasping efficiency and a tendency to miss or fail to grasp products in time.

Method used

A 3D line scan camera is used to acquire 3D images of the product. The shape, position and height data of the product are obtained through 3D image processing. Combined with the formula of the variable speed conveyor belt, the gripping speed and position of the robot are adjusted in real time to establish the real-time static position of the robot and the conveyor belt. PLC and industrial control computer are used for data processing and communication to realize the real-time positioning and gripping of products of different shapes and heights by the robot without stopping the conveyor belt.

Benefits of technology

It enables real-time positioning and gripping of products of different shapes and heights without stopping the conveyor belt, avoiding repeated gripping or missed gripping, improving the gripping efficiency of the robot arm, and can be applied to operations such as product traying, sorting, assembly and boxing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118164148B_ABST
    Figure CN118164148B_ABST
Patent Text Reader

Abstract

The application provides a variable-speed running pipeline and a mechanical arm grabbing system, and a speed transformation formula of a pipeline when a mechanical arm grabs a product N_k is V=(Vmax-Vmin) / (Ymax-Ymin) x YS+Vmin / p, and the speed of the pipeline when the mechanical arm grabs the product N_k is obtained according to the speed transformation formula. The mechanical arm can position and grab products with different shapes and different heights in real time without stopping the pipeline, and place the products at specified positions according to specified angles, so that the situation of repeatedly grabbing or missing the products is effectively avoided, the running speed of the pipeline can be automatically adjusted in real time, and the efficiency of the mechanical arm in grabbing the products is greatly improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application proposes a variable speed production line and a robotic gripping system, specifically relating to the field of industrial robot technology. Background Technology

[0002] Industrial automation is an industrial production model that allows production lines to run automatically without direct worker intervention. Using industrial robotic arms for grasping on production lines is a very important technology in industrial automation.

[0003] Currently, most industrial robots on production lines rely on vision systems for grasping. Cameras capture the product's position information, guiding the robot to perform the grasping task based on that information.

[0004] Currently, there are robotic gripper systems based on 2D vision, which are used to grasp products of the same height. However, products on a production line are constantly moving, and their shapes and heights may vary, making it difficult to perform real-time positioning and gripping with a robotic arm while the products are in motion. If a 2D vision system were to stop the conveyor belt to grasp the product, the robotic gripper would be inefficient.

[0005] Furthermore, by employing a vision system that combines 2D vision with constantly changing the time interval setting for image recognition, the process can easily lead to multiple shots of the same product or missed shots. Additionally, when there are many products on the conveyor belt, the industrial robotic arm may not be able to handle them all in time, causing products to leave the production line. Summary of the Invention

[0006] To address the aforementioned problems, the present invention aims to provide a variable-speed production line and a robotic gripping system, capable of gripping products of different shapes and heights on a variable-speed conveyor belt, overcoming or reducing the occurrence of missed or ungrabbed products on the conveyor belt. A variable-speed production line for robotic gripping products is characterized by the following formula for the speed V of the conveyor belt when the robotic gripper grips product N_k:

[0007] V=(Vmax-Vmin) / (Ymax-Ymin)×YS+Vmin / p

[0008] Where Vmax is the maximum conveyor speed of the conveyor belt (mm / s); Vmin is the minimum conveyor speed of the conveyor belt (mm / s); Ymax is the distance between the 3D line scan position and the rear boundary line; Ymin is the distance between the 3D line scan position and the front boundary line; YS is the difference in the y-coordinate of product N_k and product N_k+1 in the detection queue.

[0009] When 0 < YS < YSmax, YS = Y_K+1 - Y_K, that is, the water conveyor belt changes speed according to the variable speed formula;

[0010] The Y values of the coordinates are respectively denoted as Y_K, Y_K+1..., where p in the formula is the distance traveled by the water conveyor belt in one pulse, that is, the line spacing between pixels of the acquired image. The calculated speed V has the unit of pulse / s;

[0011] According to the speed transformation formula, the speed of the water conveyor belt when the manipulator grabs the product N_k in real time is obtained.

[0012] Furthermore, when YS > YSmax, let YS = YSmax; that is, when the distance between the product N_k and the product N_k+1 is relatively large, the water conveyor belt runs at the maximum speed; when YS < 0, that is, Y_K > 0 and Y_K+1 = 0, which means there is only one object, the product N_K, in the current detection queue, and the water conveyor belt runs at the original speed without changing the speed; when Y_K = 0 and Y_K+1 = 0, let YS = YSmax; that is, when there is no object in the current detection queue, the water conveyor belt runs at the maximum speed.

[0013] A manipulator grasping system is proposed, which is characterized in that the system operation includes the following steps:

[0014] Step 1. Determine the real-time static positions of the manipulator and the water conveyor belt;

[0015] Step 2. The 3D line scan camera acquires 3D images of products with different shapes passing on the water conveyor belt, and uses the 3D line scan camera to process the 3D images to obtain product matching templates with different shapes. This step 2 can be completed earlier than step 1;

[0016] Step 3. The water conveyor belt starts to run, sets the initial running speed of the water conveyor belt as Vmax (unit: mm / s), and records it;

[0017] Step 4. Use the 3D line scan camera to collect images of the products on the water conveyor belt;

[0018] Step 5. Use the 3D line scan camera to perform shape matching between the product images and the product matching templates, and then obtain the positions, heights, and rotation data of products with different shapes, and record these data in the detection queue and send them to the industrial control computer and PLC in real time;

[0019] Step 6. The industrial control computer integrates the arrays in the detection queue;

[0020] Step 7: The industrial control computer calculates the PLC count value Y1 when the product reaches the front boundary line and the PLC count value Y2 when the product reaches the rear boundary line based on the data in the product inspection and detection queue, and sends Y1 and Y2 to the PLC in real time;

[0021] Step 8: When grasping product N_K, the PLC compares its own real-time count value with Y1 and Y2 of product N_K in the detection queue sent by the industrial control computer, and there are the following steps:

[0022] Step S1: The real-time count value of the PLC for product N_K is between [Y1, Y2], that is, the real-time count value of the PLC is between Y1 and Y2. The PLC calculates the difference YS in the y-coordinate values of products N_K and N_K + 1 in the detection queue;

[0023] Step S2: Calculate the speed of the manipulator to grasp product N_k according to the speed transformation formula. The speed transformation formula is as follows:

[0024] V = (Vmax - Vmin) / (Ymax - Ymin)×YS + Vmin / p

[0025] Where, Vmax is the maximum conveyor speed of the assembly line (mm / s); Vmin is the minimum conveyor speed of the assembly line (mm / s); Ymax is the distance between the 3D line scan position and the rear boundary line; Ymin is the distance between the 3D line scan position and the front boundary line; YS is the difference in the y-coordinate values of products N_k and N_k + 1 in the detection queue:

[0026] a): When YS > YSmax, let YS = YSmax; that is, when the distance between products N_k and N_k + 1 is far, the assembly line conveyor runs at the maximum speed;

[0027] b): When 0 < YS < YSmax, YS = Y_K + 1 - Y_K, that is, the assembly line conveyor changes speed according to the speed change formula;

[0028] c): When YS < 0, that is, Y_K > 0 and Y_K + 1 = 0, that is, there is only one object, product N_K, in the current detection queue, and the assembly line conveyor runs at the original speed without changing the speed;

[0029] d): When Y_K = 0 and Y_K + 1 = 0; let YS = YSmax; that is, when there is no object in the current detection queue, the assembly line conveyor runs at the maximum speed;

[0030] p in the formula is the distance that the assembly line conveyor runs in one pulse, and it is also the line spacing between pixels for image acquisition. The calculated speed V has the unit of pulse / s;

[0031] Step S3: The PLC adjusts the speed according to the calculated speed V and calculates an offset value R, which is then sent to the industrial computer. The calculation formula is: R = VT

[0032] Where V is the current speed of the conveyor belt, T is the time set by the user that is longer than the communication cycle, and R is the set offset of the gripping point from the standby position of the robotic arm.

[0033] Step S4: The industrial control computer calculates the pose transformation matrix between the product to be grasped and the robot's standby position based on the R value sent by the PLC, as well as the position data, height data and rotation data of the product obtained through image processing, and sends it to the robot.

[0034] Step S5: When the PLC real-time counter value reaches Y1+R of product N_K, that is, when the product is delivered to the PLC's designated gripping point, the PLC notifies the robot arm to grip it.

[0035] Step S6: After the robotic arm picks up the product, it immediately notifies the PLC to compare and process the next set of data, determine whether the current count value is between Y1 and Y2 of product N_K+1, calculate the difference YS between product Y_K+1 and product Y_K+2, and then change the speed of the conveyor belt according to YS.

[0036] Step S7: Simultaneously, the robot arm places the product at a specified angle and position according to the rotation and shape data obtained from the image processing of the product; after successful placement, the robot arm returns to the standby position to wait for or execute a new grasping instruction from the PLC.

[0037] Furthermore, the real-time static position specifically includes: the position of the robot arm and the calculation and establishment of the distance between the 3D line scan camera and the robot arm's gripping area in the static state; the establishment of the robot arm's standby position and the robot arm's gripping area for grasping the product; and the determination of the robot arm's standby position; the calculation of the distance Ymin between the 3D line scan position and the front boundary line; the calculation of the distance Ymax between the 3D line scan position and the rear boundary line; the encoder detecting and collecting the running speed, distance, and position of the conveyor belt and sending them to the PLC; the calculation of the distance between the 3D line scan position and the front boundary line; and the calculation of the distance between the 3D line scan position and the rear boundary line.

[0038] Furthermore, the 3D image of the product acquired by the 3D line scan camera is obtained at a standard shooting position, which is a virtual 3D line scan camera line set on the conveyor belt.

[0039] Furthermore, when acquiring product images, an image overlap length needs to be set. The overlap length should be greater than the maximum length of the product. The actual length M of an image is the shooting length of the 3D line scan camera minus the image overlap length.

[0040] Furthermore, the data in the overlapping parts of the current detection queue are analyzed. If the x-coordinate values ​​are close and the y-coordinate value differs from the y-coordinate value of the product in the previous image by M (M is the actual length of an image), it indicates that the product has been photographed repeatedly and is removed from the detection queue. The integrated detection queue is sorted according to the y-coordinate value, and the products with smaller y-coordinate values, i.e., those at the front of the conveyor belt, are processed first. These products are denoted as product N_1, product N_2, product N_3... product N_K, product N_K+1... and their y-coordinate values ​​are denoted as Y_1, Y_2, Y_3... Y_K, Y_K+1... respectively.

[0041] Furthermore, Y1 and Y2 satisfy the following relationship:

[0042] Y1=Y+Ymin / p+n×M; Y2=Y+Ymax / p+n×M;

[0043] In the formula, Y represents the y-coordinate of the product after image processing, Ymin is the distance between the 3D line scan position and the front boundary line, Ymax is the distance between the 3D line scan position and the rear boundary line, p is the row spacing between adjacent pixels in the image acquired by the 3D line scan camera, n is the number of images captured by the camera, and M is the number of rows in a single image captured by the camera.

[0044] Furthermore, if the real-time count value of the PLC is less than Y1, the PLC does not take any action and waits for its actual count value to equal Y1.

[0045] If the real-time count value of the PLC is greater than Y2, the PLC will control the conveyor belt to stop.

[0046] Furthermore, the system includes an assembly line, a robotic arm, a 3D line scanner camera, a conveyor belt, an encoder, a camera mounting frame, and a control system. The robotic arm, conveyor belt, and camera mounting frame are installed on the assembly line. A 3D line scanner camera is fixed to the upper part of the camera mounting frame, with its lens facing the conveyor belt to capture images of the products moving at a constant speed. The robotic arm is located behind the camera mounting frame and can grip the products conveyed by the conveyor belt. The products on the conveyor belt are transported from the camera mounting frame towards the robotic arm; this direction is defined as the y-axis direction of the robotic arm's movement. The encoder is installed on the side of the conveyor belt to detect and collect real-time data on the conveyor belt's operation, including speed, distance, and position information. The control system includes a PLC, an industrial computer, and a vision tool. The control system is electrically connected to the robotic arm, 3D line scanner camera, conveyor belt, and encoder. The industrial computer is responsible for communication with the PLC and robotic arm. The PLC and robotic arm interact via I / O triggers.

[0047] The beneficial effect of this application is that the robotic arm can perform real-time positioning and gripping of products of different shapes and heights without stopping the conveyor belt, and place them at a specified angle in a specified position. It can also be used for product traying, sorting, assembly, boxing, quality inspection, etc., effectively avoiding repeated gripping or missed gripping of products. It can automatically adjust the speed of the conveyor belt in real time, and the standby time of the robotic arm will not be too long, which greatly improves the efficiency of the robotic arm in gripping products. Attached Figure Description

[0048] Figure 1 This is a schematic diagram of a variable speed production line and a robotic gripping system according to this application;

[0049] Figure 2 This is a flowchart of the steps of a variable speed production line and a robotic gripping system according to this application.

[0050] The parts and numbers in the above-mentioned attached diagrams are as follows: production line 1, robot arm 2, 3D line scan camera 3, conveyor belt 4, encoder 5, camera mounting frame 6, product 7, 3D line scan position a1, robot arm gripping area b1, front boundary line b2, rear boundary line b3. Detailed Implementation

[0051] The following is in conjunction with the appendix Figure 1-2 The preferred embodiments of this application are described in detail so that the advantages and features of this application can be more easily understood by those skilled in the art, thereby making a clearer and more definite definition of the scope of protection of this application. These embodiments are only used to illustrate the present invention and are not intended to limit the present invention.

[0052] Referring to the accompanying drawings, this application discloses a variable-speed production line and a robotic gripping system. The robotic gripping system comprises a production line 1, a robotic arm 2, a 3D line scanning camera 3, a conveyor belt 4, an encoder 5, a camera mounting frame 6, and a control system. The assembly line 1 is equipped with a robotic arm 2, a conveyor belt 4, and a camera mounting frame 6. A 3D line scan camera 3 is fixed on the upper part of the camera mounting frame 6. The lens of the 3D line scan camera 3 is opposite to the conveyor belt 4 and takes pictures of the products 7 on the conveyor belt 4, which is running at variable speed. The robotic arm 2 is located behind the camera mounting frame 6 and can grip the products 7 conveyed by the conveyor belt 4. The products 7 on the conveyor belt 4 are conveyed from the camera mounting frame 6 towards the robotic arm 2. This direction is defined as the y-axis direction of the robotic arm 2. An encoder 5 is installed on the side of the conveyor belt 4 and is used to detect and collect the running data of the conveyor belt 4 in real time, including running speed, distance, and position information. The control system has a PLC, an industrial computer, and vision tools. The control system is electrically connected to the robotic arm 2, the 3D line scan camera 3, the conveyor belt 4, and the encoder 5. The industrial computer is responsible for communication with the PLC and the robotic arm 2. The PLC and the robotic arm 2 achieve information interaction through I / O triggering.

[0053] This application relates to a variable speed production line, the purpose of which is to provide a way for a robot arm 2 to grasp products 7 with different shapes and heights on the production line 4 without stopping the production line 4, so as to overcome the limitations of existing ordinary robots arm that cannot grasp products 7 with different shapes and heights at the same time, and at the same time reduce the occurrence of repeated grasping, missed grasping or failure to grasp by the robot arm 2.

[0054] Figure 1 In the process, the 3D line scanning camera 3 takes pictures of the product 7 on the conveyor belt 4; a virtual 3D line scanning position a1 is set below the 3D line scanning camera 3 and on the conveyor belt 4, and the product 7 is photographed by the 3D line scanning camera 3 when it passes through the 3D line scanning camera a1.

[0055] Product 7 passes through the conveyor belt 4 and is set as the robotic arm grasping area b1 within the grasping range of the robotic arm 2. The front end of the robotic arm grasping area b1 is the front boundary line b2, and the rear end is the rear boundary line b3. When product 7 enters the robotic arm grasping area b1, it first crosses the front boundary line b2. Product 7 is grasped by the robotic arm 2 before crossing the rear boundary line b3. The front boundary line b2 and the rear boundary line b3 are also virtual boundaries.

[0056] The robotic arm 2 needs to work together with the control system, 3D line scanning camera 3, conveyor belt 4, and encoder 5 to grasp the product 7. The system operation involves the following steps:

[0057] Step 1: Establish the real-time static position of the robot arm 2 and the conveyor belt 4; establish the effectiveness of the encoder 5 in detecting the conveyor belt 4. The real-time static position specifically refers to: the position of the robot arm 2 and calculating and establishing the distance between the 3D line scan camera 3 and the robot arm's gripping area b1 in the static state. Specifically, the distance between the 3D line scan camera 3 and the robot arm's gripping area b1 is: establishing the standby position of the robot arm 2 and the robot arm's gripping area b1 for grasping product 7, while simultaneously determining the standby position of the robot arm 2; calculating the minimum distance Ymin between the 3D line scan camera 3 and the robot arm's gripping area b1, i.e., the distance Ymin between the 3D line scan position a1 and the front boundary line b2; calculating the maximum distance Ymax between the 3D line scan position a1 and the rear boundary line b3, i.e., the distance Ymax between the 3D line scan position a1 and the rear boundary line b3; the encoder 5 detects and collects the running speed, distance, and position of the conveyor belt 4 and sends it to the PLC. The static position information also includes: calculating the minimum distance Ymin between the 3D line scanning camera 3 and the robotic arm grasping area b1, that is, the distance between the 3D line scanning position a1 and the front boundary line b2; and calculating the maximum distance Ymax between the 3D line scanning camera 3 and the robotic arm grasping area b1, that is, the distance between the 3D line scanning position a1 and the rear boundary line b3.

[0058] Step 2: The 3D line scan camera 3 acquires 3D images of products 7 of different shapes passing on the conveyor belt 4, and processes these 3D images to obtain matching templates for each product 7. The 3D images of the products 7 acquired by the 3D line scan camera 3 are obtained at a standard imaging position, which is a virtual 3D line scan camera line a1 set on the conveyor belt 4. It should be noted that this step 2 can be completed earlier, i.e., it can be completed before step 1.

[0059] Step 3: Start the flow conveyor belt 4 and set its initial speed to Vmax (unit: mm / s), and record it.

[0060] Step 4: Use the 3D line scan camera 3 to capture images of product 7 on the conveyor belt 4. Note: When capturing images of product 7, the image overlap length needs to be set. The overlap length should be greater than the maximum length of product 7. The actual length M of an image is the shooting length of the 3D line scan camera 3 minus the image overlap length. With this setting, theoretically all products 7 on the conveyor belt 4 can be captured by the 3D line scan camera 3, and there will be no product 7 missed.

[0061] Step 5: Use the 3D line scan camera 3 to perform shape matching between the product 7 image and the product 7 matching template, and then obtain the position, height and rotation data of the product 7 with different shapes. Record these data in the detection queue and send them to the industrial control computer and PLC in real time.

[0062] Step Six: The industrial control computer integrates the arrays in the detection queue: It analyzes the data in the overlapping parts of the current detection queue. If the x-coordinate values ​​are close and the y-coordinate value differs from the y-coordinate value of product 7 in the previous image by M (M is the actual length of an image), it indicates that product 7 has been photographed repeatedly and is removed from the detection queue. The integrated detection queue is sorted according to the y-coordinate value, prioritizing the processing of products with smaller y-coordinate values, i.e., products 7 at the front of the conveyor belt 4. This setting can prevent products 7 that are repeatedly recorded from being repeatedly grasped, realizing the function of the robot arm 2 to grasp the same object only once. For example, products 7 can be denoted as product 7N_1, product 7N_2, product 7N_3... product 7N_K, product 7N_K+1..., and their y-coordinate values ​​can be denoted as Y_1, Y_2, Y_3... Y_K, Y_K+1... respectively.

[0063] Step 7: The industrial control computer calculates the PLC count value Y1 when product 7 reaches the front boundary line b2 and the PLC count value Y2 when product 7 reaches the back boundary line b3 based on the data in the product 7 monitoring queue, and sends Y1 and Y2 to the PLC in real time.

[0064] Y1 and Y2 satisfy the following relationship: Y1=Y+Ymin / p+n×M; Y2=Y+Ymax / p+n×M;

[0065] In the formula, Y represents the y-coordinate of product 7 after image processing, Ymin is the distance between 3D line scan position a1 and front boundary line b2, Ymax is the distance between 3D line scan position a1 and rear boundary line b3, p is the row spacing between adjacent pixels in the image acquired by 3D line scan camera 3, n is the number of images captured by the camera, and M is the number of rows in an actual image captured by the camera.

[0066] Step 8: When grabbing product 7N_K, the PLC compares its own real-time count value with the Y1 and Y2 values ​​of product 7N_K in the detection queue sent by the industrial control computer. The steps are as follows:

[0067] Step S1: The real-time count value of product 7N_K in the PLC is between [Y1,Y2], that is, the real-time count value of the PLC is between Y1 and Y2. The PLC calculates the difference YS between the coordinate y values ​​of product 7N_K and product 7N_K+1 in the detection queue.

[0068] Step S2: Calculate the speed at which the robotic arm 2 grasps the product 7 N_k according to the speed transformation formula. The speed transformation formula is as follows:

[0069] V=(Vmax-Vmin) / (Ymax-Ymin)×YS+Vmin / p

[0070] Among them, Vmax is the maximum conveying speed (mm / s) of the water conveyor belt 4; Vmin is the minimum conveying speed (mm / s) of the water conveyor belt 4; Ymax is the distance between the 3D line scan position a1 and the rear boundary line b3; Ymin is the distance between the 3D line scan position a1 and the front boundary line b2; YS is the difference in the y-coordinate values of the products 7N_k and 7N_k+1 in the detection queue:

[0071] a): When YS > YSmax, let YS = YSmax; that is, when the products 7N_k and 7N_k+1 are far apart, the water conveyor belt 4 runs at the maximum speed;

[0072] b): When 0 < YS < YSmax, YS = Y_K+1 - Y_K, that is, the water conveyor belt 4 changes speed according to the speed change formula;

[0073] c): When YS < 0, that is, Y_K > 0 and Y_K+1 = 0, that is, there is only one object, the product 7N_K, in the current detection queue, and the water conveyor belt 4 runs at the original speed without changing the speed;

[0074] d): When Y_K = 0 and Y_K+1 = 0; let YS = YSmax; that is, when there is no object in the current detection queue, the water conveyor belt 4 runs at the maximum speed;

[0075] In the formula, p is the distance that the water conveyor belt 4 runs in one pulse, and it is also the line spacing between pixels for image acquisition. The calculated speed V has the unit of pulse / s.

[0076] Step S3: The PLC changes speed according to the calculated speed V, calculates an offset value R, and sends the R value to the industrial control computer. The calculation formula: R = VT

[0077] Among them, V is the current speed of the water conveyor belt 4, T is the time set by humans and is greater than the communication cycle, and R is the offset of the set grasping point from the standby position of the manipulator.

[0078] Step S4: The industrial control computer calculates the pose transformation matrix of the product 7 to be grasped and the standby position of the manipulator 2 based on the R value sent by the PLC, as well as the position data, height data, and rotation data obtained from the image processing of the product 7, and sends it to the manipulator 2.

[0079] Step S5: When the real-time count value of the PLC reaches Y1 + R of the product 7N_K, that is, when the product 7 is transported to the specified grasping point of the PLC, the PLC notifies the manipulator 2 to perform grasping.

[0080] Step S6: After the robotic arm 2 picks up product 7, it immediately notifies the PLC to compare and process the next set of data, determine whether the current count value is between Y1 and Y2 of product 7N_K+1, calculate the difference YS between product 7Y_K+1 and product 7Y_K+2, and then change the speed of the conveyor belt 4 according to YS.

[0081] Step S7: Simultaneously, the robot arm 2 places the product 7 at a specified angle and position according to the rotation data and shape data obtained from the image processing of the product 7; after successful placement, the robot arm 2 returns to the standby position to wait for or execute a new grasping instruction from the PLC.

[0082] The speed of the conveyor belt 4 when the robot arm 2 grasps product 7 (N_k) is obtained in real time according to the speed transformation formula. The running speed of the conveyor belt 4 can be automatically adjusted according to the number of products 7 passing through, thereby improving the efficiency of the robot arm 2 in grasping product 7.

[0083] This step eight, as another embodiment, proposes a variable-speed production line for robotic arms to grasp products. When robotic arm 2 grasps product 7N_k, the speed of the conveyor belt 4 can be automatically adjusted by the control system according to the number of products 7 passing through. The variable-speed conveyor belt 4 significantly improves the grasping efficiency of robotic arm 2.

[0084] Step 9: The above solution can effectively target the products 7 that actually pass through the conveyor belt 4. The control system can automatically adjust the running speed of the conveyor belt 4 to achieve the technical objective of the robot arm 2 grabbing the products 7 in the variable speed state.

[0085] In step nine above, the following two situations may also occur.

[0086] 1. If the real-time count value of the PLC is less than Y1, the PLC will not take any action and will wait for its actual count value to equal Y1.

[0087] 2. If the PLC real-time counter value is greater than Y2, the PLC controls the conveyor belt 4 to stop. The PLC calculates the difference between the real-time counter value and the Ymin value of the first set of data in the monitoring queue, obtaining the offset data of product 7 relative to the standby position of robot arm 2 in the direction of conveyor belt 4, and sends the offset data to the industrial control computer. The industrial control computer calculates the actual position of product 7 to be picked up based on the offset data sent by the PLC, and sends it to robot arm 2, which then picks up product 7. It should be noted here that between the PLC calculating the offset distance and robot arm 2 picking up product 7, a T0 slightly larger than the communication cycle needs to be set.

[0088] After the robotic arm 2 grabs product 7, it notifies the PLC to process the data of the next group in the monitoring queue. Following the above operation, it grabs all products 7 whose real-time count value of the PLC in the grab queue is greater than Ymin (i.e., product 7 is within the grabbing area). After all products 7 in the grabbing area have been grabbed, the conveyor belt 4 starts and reaches its maximum speed, and repeats step 10.

[0089] Special note: In this invention, at the beginning, the industrial control computer will give the conveyor belt 4 an initial speed. During the subsequent grasping process, the PLC will change the running speed of the conveyor belt 4 in real time according to the spacing of the items in the queue on the conveyor belt 4, so as to maximize efficiency, avoid the situation that the robot arm 2 is idle for too long, and try to avoid the situation that the product 7 cannot be grasped in time. The conveyor belt 4 is set to stop when the product 7 exceeds a certain range to avoid the situation that the product 7 cannot be grasped in time and thus misses the grasp.

[0090] The above description is only one of the preferred embodiments of this application and is not intended to limit the present invention, nor does it limit the scope of patent implementation of this application. Any equivalent structural or procedural transformations made using the shape, structure, and principle described in the specification and drawings of this application, or any direct or indirect application in other related technical fields; any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this invention are all included within the scope of patent protection of this application.

Claims

1. A variable speed production line, characterized in that, Velocity transformation formula of the water conveyor belt when the manipulator grasps product N_k: V = (Vmax - Vmin) / (Ymax - Ymin) × YS + Vmin / p Among them, Vmax is the maximum conveying speed of the water conveyor belt (mm / s); Vmin is the minimum conveying speed of the water conveyor belt (mm / s); Ymax is the distance between the 3D line scan position and the rear boundary line; Ymin is the distance between the 3D line scan position and the front boundary line; YS is the difference in the y coordinate values of products N_k and N_k+1 in the detection queue; When 0 < YS < YSmax, YS = Y_K+1 - Y_K, that is, the water conveyor belt changes speed according to the speed change formula; The coordinate Y values are respectively recorded as Y_K, Y_K+1 ……, p in the formula is the distance traveled by the water conveyor belt in one pulse, that is, the line spacing between pixels of the acquired image, and the calculated speed V, with the unit of speed V being pulse / s; The real-time speed of the water conveyor belt when the manipulator grasps product N_k is obtained according to the speed transformation formula; When YS > YSmax, let YS = YSmax; that is, when the distance between product N_k and product N_k+1 is relatively far, the water conveyor belt runs at the maximum speed; When YS < 0, that is, Y_K > 0 and Y_K+1 = 0, that is, there is only one object, product N_K, in the current detection queue, and the water conveyor belt maintains its original speed without changing the speed; When Y_K = 0 and Y_K+1 = 0; let YS = YSmax; that is, when there is no object in the current detection queue, the water conveyor belt runs at the maximum speed.

2. A robotic gripping system, characterized in that: The system operation includes the following steps: Step 1. Determine the real-time static positions of the manipulator and the water conveyor belt; Step 2. The 3D line scan camera acquires 3D images of products with different shapes passing on the water conveyor belt, and uses the 3D line scan camera to process the 3D images to obtain product matching templates with different shapes. This step 2 can be completed earlier than step 1; Step 3. The water conveyor belt starts to run, sets the initial running speed of the water conveyor belt to Vmax (unit: mm / s), and records it; Step 4. Use the 3D line scan camera to acquire images of the products on the water conveyor belt; Step 5. Use the 3D line scan camera to perform shape matching on the product images and the product matching templates, and then obtain the positions, heights, and rotation data of products with different shapes, and record these data in the detection queue and send them to the industrial control computer and PLC in real time; Step 6. The industrial control computer integrates the arrays in the detection queue; Step 7. The industrial control computer calculates the PLC count values Y1 when the product reaches the front boundary line and the PLC count value Y2 when the product reaches the rear boundary line according to the data in the product detection queue, and sends Y1 and Y2 to the PLC in real time; Step 8. When grasping product N_K, the PLC compares its own real-time count value with Y1 and Y2 of product N_K in the detection queue sent by the industrial control computer, and there are the following steps: Step S1: The real-time count value of the PLC for product N_K is between [Y1, Y2], that is, the real-time count value of the PLC is between Y1 and Y2. The PLC calculates the difference YS in the y-coordinate values of products N_K and N_K+1 in the detection queue. Step S2: Calculate the speed of the robot arm to grasp product N_k according to the speed conversion formula. The speed conversion formula is as follows: V = (Vmax - Vmin) / (Ymax - Ymin) × YS + Vmin / p Where, Vmax is the maximum conveying speed of the conveyor belt (mm / s); Vmin is the minimum conveying speed of the conveyor belt (mm / s); Ymax is the distance between the 3D line scan position and the rear boundary line; Ymin is the distance between the 3D line scan position and the front boundary line; YS is the difference in the y-coordinate values of products N_k and N_k+1 in the detection queue: a): When YS > YSmax, let YS = YSmax; that is, when the distance between products N_k and N_k+1 is far, the conveyor belt runs at the maximum speed. b): When 0 < YS < YSmax, YS = Y_K+1 - Y_K, that is, the conveyor belt changes speed according to the speed change formula. c): When YS < 0, that is, Y_K > 0 and Y_K+1 = 0, that is, there is only one object, product N_K, in the current detection queue, and the conveyor belt runs at the original speed without changing the speed. d): When Y_K = 0 and Y_K+1 = 0; let YS = YSmax; that is, when there is no object in the current detection queue, the conveyor belt runs at the maximum speed. In the formula, p is the distance traveled by the conveyor belt in one pulse, which is also the line spacing between pixels for image acquisition. The calculated speed V is in units of pulses / s. Step S3: The PLC changes speed according to the calculated speed V and calculates an offset value R, and sends the R value to the industrial control computer. The calculation formula: R = VT Where, V is the current speed of the conveyor belt, T is the time set by the user that is greater than the communication cycle, and R is the offset of the set grasping point from the standby position of the robot arm. Step S4: The industrial control computer calculates the pose transformation matrix between the product to be grasped and the standby position of the robot arm based on the R value sent by the PLC, as well as the position data, height data, and rotation data obtained from image processing of the product, and sends it to the robot arm. Step S: When the real-time count value of the PLC reaches Y1 + R of product N_K, that is, when the product is delivered to the designated grasping point by the PLC, the PLC notifies the robot arm to grasp. Step S6: After the robot arm grasps the product, it immediately notifies the PLC to compare and process the next set of data, determines whether the current count value is between Y1 and Y2 of product N_K+1, calculates the difference YS between products Y_K+1 and Y_K+2, and then changes the speed of the conveyor belt according to YS. Step S7: At the same time, the robot arm places the product at the designated position at the designated angle according to the rotation data and shape data obtained from image processing of the product; after successful placement, the robot arm returns to the standby position to wait or execute a new grasping instruction from the PLC.

3. The robotic gripping system according to claim 2, characterized in that: The real-time static position specifically includes: the position of the robot arm and the calculation and establishment of the distance between the 3D line scan camera and the robot arm's gripping area in the static state; the establishment of the robot arm's standby position and the robot arm's gripping area for grasping the product; the determination of the robot arm's standby position; the calculation of the distance Ymin between the 3D line scan position and the front boundary line; the calculation of the distance Ymax between the 3D line scan position and the rear boundary line; the encoder detecting and collecting the speed, distance, and position of the conveyor belt and sending them to the PLC; the calculation of the distance between the 3D line scan position and the front boundary line; and the calculation of the distance between the 3D line scan position and the rear boundary line.

4. The robotic gripping system according to claim 2, characterized in that: The 3D image of the product is acquired by the 3D line scan camera at a standard shooting position, which is a virtual 3D line scan camera line set on the conveyor belt.

5. The robotic gripping system according to claim 2, characterized in that: When acquiring product images, an image overlap length needs to be set. The overlap length should be greater than the maximum length of the product. The actual length M of an image is the shooting length of the 3D line scan camera minus the image overlap length.

6. The robotic gripping system according to claim 2, characterized in that: Analyze the overlapping data in the current detection queue. If the x-coordinates are close and the y-coordinate differs from the y-coordinate of the product in the previous image by M, where M is the actual length of an image, it indicates that the product has been photographed repeatedly, and it is removed from the detection queue. The integrated detection queue is sorted according to the y-coordinates, and the products with smaller y-coordinates, i.e., those at the front of the conveyor belt, are processed first. These products are denoted as product N_1, product N_2, product N_3... product N_K, product N_K+1..., and their y-coordinates are denoted as Y_1, Y_2, Y_3... Y_K, Y_K+1..., respectively.

7. The robotic gripping system according to claim 3, characterized in that: Y1 and Y2 satisfy the following relationship: Y1=Y+Ymin / p+n×M; Y2=Y+Ymax / p+n×M; In the formula, Y represents the y-coordinate of the product after image processing, Ymin is the distance between the 3D line scan position and the front boundary line, Ymax is the distance between the 3D line scan position and the rear boundary line, p is the row spacing between adjacent pixels in the image acquired by the 3D line scan camera, n is the number of images captured by the camera, and M is the number of rows in a single image captured by the camera.

8. The robotic gripping system according to claim 2, characterized in that: If the real-time count value of the PLC is less than Y1, the PLC will not take any action and will wait for its actual count value to equal Y1. If the real-time count value of the PLC is greater than Y2, the PLC will control the conveyor belt to stop.

9. A robotic gripping system according to claim 2, characterized in that: The system comprises an assembly line, a robotic arm, a 3D line scanner camera, a conveyor belt, an encoder, a camera mounting frame, and a control system. The assembly line is equipped with the robotic arm, the conveyor belt, and the camera mounting frame. A 3D line scanner camera is fixed to the upper part of the camera mounting frame, with its lens facing the conveyor belt to capture images of the products moving at a constant speed. The robotic arm is located behind the camera mounting frame and can grip the products conveyed by the conveyor belt. The products on the conveyor belt are transported from the camera mounting frame towards the robotic arm; this direction is defined as the y-axis direction of the robotic arm's movement. The encoder is installed on the side of the conveyor belt to detect and collect real-time data on the conveyor belt's operation, including speed, distance, and position information. The control system consists of a PLC, an industrial computer, and vision tools. The control system is electrically connected to the robot, 3D line scan camera, conveyor belt, and encoder. The industrial computer is responsible for communication with the PLC and the robot. The PLC and the robot interact with each other through I / O triggers.

Citation Information

Patent Citations

  • Method for tracking moving object on production line

    CN101872423A