A composite robot CNC loading and unloading method and device
By combining laser SLAM navigation with 3D and 2D cameras and positioning markers, the problems of low deployment efficiency and high cost in CNC loading and unloading of composite robots have been solved, realizing efficient and low-cost loading and unloading operations and avoiding the impact of environmental interference on accuracy.
Patent Information
- Application Number
- CN202510434223.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-08
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2045-04-08
AI Technical Summary
Existing technologies for CNC loading and unloading of composite robots suffer from problems such as low deployment efficiency, high camera cost, large size, and reduced accuracy. In particular, when loading and unloading multiple CNC machine tools, the teaching time increases and the operation becomes more difficult.
Laser SLAM navigation is used in combination with 3D and 2D cameras. The optimal loading and unloading poses are obtained through teaching, the relative pose difference is recorded, and the data is calculated during the deployment phase for later CNC machine tool deployment, reducing repeated teaching. During the loading and unloading phase, the 2D or 3D camera is used in conjunction with the positioning mark plate to avoid directly photographing the loading seat and avoid environmental interference.
It improved deployment efficiency, reduced costs, avoided the impact of environmental interference on accuracy, and achieved efficient and low-cost loading and unloading operations.
Smart Images

Figure CN120206521B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of machine vision fusion application technology, specifically a composite robot CNC loading and unloading method and device. Background Technology
[0002] In the process of manufacturing automation, composite robots are increasingly widely used for loading and unloading CNC machine tools. Composite robots integrate a movable chassis and a robotic arm. The end effector of the robotic arm can be equipped with loading and unloading grippers and a camera. Among them, the camera is a key 3D positioning sensor, and there are two main types: 2D cameras and 3D cameras. The working principles of the two are significantly different, and each has its advantages and disadvantages in CNC loading and unloading scenarios.
[0003] 2D cameras only provide two-dimensional information. When used for CNC loading and unloading, they need to be paired with a dedicated 2D feature pattern (i.e., a 2D positioning marker) to acquire 3D information for aligning the material with the loading platform. This 2D feature pattern has a fixed size and identifiable orientation. It must be fixed near the loading platform and maintain a fixed spatial relationship with it during each loading and unloading operation. An algorithm can calculate its precise pose (including three-dimensional coordinates xyz and three-axis rotation angles rpy) in the 2D camera coordinate system based on its fixed size. When using a 2D camera for loading and unloading, the deployment phase requires teaching to determine the optimal TCP pose for loading and unloading and the pose phase difference of the 2D positioning marker. Subsequent loading and unloading phases rely on the 2D camera to photograph and position the 2D positioning marker, and the data saved during deployment is used to complete precise loading and unloading. However, each CNC machine tool's loading platform requires teaching. If a machine tool has multiple loading platforms, the teaching time during deployment will increase significantly, hindering flexible production scheduling.
[0004] 3D cameras possess depth information, allowing direct imaging of the loading platform. A template matching algorithm is then used to obtain the precise pose (including 3D coordinates x, y, z and three-axis rotation angles r, py) of the loading platform's matching template center within the 3D camera coordinate system. When implementing loading and unloading based on a 3D camera, if multiple CNC machine tools use loading platforms of the same shape, only the first machine needs to be taught to determine the optimal loading / unloading TCP pose. The loading platforms of other machine tools do not require repeated teaching, and subsequent loading / unloading stages can directly utilize the teaching results from the first machine. However, this approach has significant drawbacks. The imaging and matching positioning of the loading platform are easily affected by cutting fluid, metal chips, and workpieces. To ensure positioning accuracy, a specially designed loading platform is required, which is quite difficult to implement in practice. Furthermore, high-precision 3D cameras are expensive and bulky, increasing equipment investment and space requirements.
[0005] Currently, in the field of CNC loading and unloading of composite robots, deployment efficiency, camera cost and size, and loading / unloading accuracy are mutually restrictive issues, urgently requiring innovative solutions. This invention addresses these practical challenges by leveraging the strengths of both technologies to improve deployment efficiency and reduce costs while maintaining accuracy in CNC loading and unloading scenarios, thereby promoting the widespread application of this technology. Summary of the Invention
[0006] To overcome the shortcomings of the existing technology, the present invention provides a composite robot CNC loading and unloading device, including a composite robot and a CNC machine tool;
[0007] The composite robot includes a mobile chassis, a robotic arm, loading and unloading grippers, and a 3D camera; one end of the robotic arm is mounted on the mobile chassis, and the other end is mounted on the loading and unloading grippers via a mounting platform at the end of the robotic arm; the 3D camera is mounted on the mounting platform.
[0008] Each of the CNC machine tools has a loading base and a positioning mark plate of the same shape and size; the relative positions of the loading base and the positioning mark plate on each of the CNC machine tools are fixed.
[0009] The mobile chassis of the composite robot is guided to a designated position in front of multiple CNC machine tools using laser SLAM navigation. Each CNC machine tool is equipped with its own navigation station, and all navigation stations are marked on the laser SLAM navigation map. The composite robot is dispatched to the navigation station corresponding to any CNC machine tool with loading and unloading needs through the laser SLAM navigation system and the navigation stations on the navigation map.
[0010] Preferably, a 2D camera is installed on the mounting platform; the positioning marker is a 2D positioning marker; the 3D camera is used in the deployment stage of the CNC machine tool and the composite robot; the 2D camera, combined with the 2D positioning marker, forms pose data, and the data is recorded by the control software, and the optimal loading pose of the composite robot for each CNC machine tool is recorded for use in the loading and unloading stage.
[0011] Preferably, the positioning marker is a 3D positioning marker; the 3D camera is used in the deployment and loading / unloading stages of the CNC machine tool and the composite robot; the 3D camera, combined with the 3D positioning marker, forms pose data, and the data is recorded by the control software, and the optimal loading pose of the composite robot for each CNC machine tool is recorded for use in the loading / unloading stage.
[0012] A method for loading and unloading materials using a composite robot CNC, the deployment phase of the first CNC machine includes the following steps:
[0013] Step 1: Obtain the optimal loading / unloading pose of the TCP through teaching;
[0014] Step 2: Adjust the end effector pose of the robotic arm to the optimal pose for the 3D camera to photograph the loading platform, and record the adjustment amount ΔT3D1 for use in Step 3. Record the coordinates ZTCP3D of the TCP for use when the 3D camera is photographing and positioning during the deployment of other CNC machine tools. Calculate and record the optimal loading and unloading pose in the 3D camera coordinate system pose T3D.
[0015] Step 3: Readjust the end effector pose of the robotic arm to the optimal photo-taking pose of the 2D camera on the 2D positioning marker plate, and record the TCP coordinates ZTCP2D for use when the 2D camera takes photos and positions the loads during the loading and unloading stages; record the first optimal loading and unloading pose T2D1 on the 2D camera's three-dimensional coordinate system, relative to the center of the 2D positioning marker plate on the first CNC machine.
[0016] Step two specifically includes the following:
[0017] Adjust the robot arm's pose so that the loading platform is within the 3D camera's field of view and in the center position. Record the relative adjustment amount ΔT3D1 of the TCP and the TCP coordinates ZTCP3D at this time. Take a picture of the loading platform with a high-precision 3D camera fixed at the end of the robot arm to obtain the matching template of the loading platform and the pose T3D1 of the center point of the loading platform in the 3D camera's stereo coordinate system. Calculate the optimal loading / unloading pose in the 3D camera coordinate system based on the adjustment amount of the robot arm's end pose: T3D = T3D1 - ΔT3D1.
[0018] Step three specifically includes the following:
[0019] Adjust the end effector of the robotic arm so that the 2D positioning marker is within the field of view of the 2D camera and in the center position. Record the total adjustment amount ΔT2D1 between the robotic arm TCP and the optimal loading / unloading pose at this time, and record the TCP coordinates at this time as ZTCP2D. Take a picture of the 2D positioning marker with the 2D camera to obtain the pose Z2D1 of the center point of the 2D positioning marker in the 2D camera's stereo coordinate system. Obtain the optimal loading / unloading pose T2D1 = ΔT2D1 - Z2D1 on the first CNC machine relative to the center of the 2D positioning marker on the 2D camera's stereo coordinate system. Record this value for use in the loading / unloading stage.
[0020] Preferably, the process also includes the deployment stage of the nth CNC machine tool, where n > 1; the composite robot remains stable at the entrance of the nth CNC machine tool, adjusts the 3D camera's image position according to the ZTCP3D recorded by the first deployment, takes an image of the loading seat, and obtains the pose T3Dn of the current loading seat center point in the 3D camera's stereo coordinate system using the matching template obtained from the first deployment; simultaneously, it adjusts the 2D camera's image position according to the ZTCP2D recorded by the first deployment, records the adjustment amount ΔT2Dn relative to the robot arm's TCP, and takes an image of the 2D positioning mark plate by the 2D camera fixed at the end of the robot arm, obtaining the pose Z2Dn of the 2D positioning mark plate center point in the 2D camera's stereo coordinate system; the optimal loading / unloading pose T2Dn = ΔT2Dn + (T3Dn - T3D) - Z2Dn on the 2D camera's stereo coordinate system relative to the center of the 2D positioning mark plate on the nth CNC machine tool is obtained, and this value is recorded for use in the loading / unloading stage.
[0021] Preferably, the loading and unloading stage includes the following:
[0022] Only use 2D cameras, not 3D cameras;
[0023] The mobile chassis of the scheduling composite robot remains stable at the entrance of the m-th CNC, where m ≥ 1. Referring to the ZTCP2D recorded by the first deployment, the end effector of the robotic arm is adjusted to the position of the 2D camera. The 2D camera fixed at the end effector of the robotic arm takes a picture of the 2D positioning marker fixed on the m-th CNC, obtaining the pose Z2Dm of the center point of the 2D positioning marker in the 2D camera's 3D coordinate system at the moment of this picture. The optimal loading / unloading pose T2Dm of the m-th CNC, relative to the center of the 2D positioning marker on the m-th CNC, is read from the 2D camera's 3D coordinate system. The relative increment that the TCP needs to adjust to reach the optimal loading / unloading pose of the m-th CNC for this loading task is calculated as W2Dm = Z2Dm + T2Dm.
[0024] A method for loading and unloading materials using a composite robot CNC, the deployment phase of the first CNC machine includes the following steps:
[0025] Step 1: Obtain the optimal loading / unloading pose of the TCP through teaching;
[0026] Step 2: Adjust the end effector pose of the robotic arm to the optimal pose for the 3D camera to photograph the loading platform, and record the adjustment amount ΔT3D1 for use in Step 3. Record the coordinates ZTCP3D of the TCP for use when the 3D camera is photographing and positioning during the deployment of other CNC machine tools. Calculate and record the optimal loading and unloading pose in the 3D camera coordinate system pose T3D.
[0027] Step 3: Readjust the end effector pose of the robotic arm to the optimal pose for the 3D camera to capture the 3D positioning marker, and record the TCP coordinates ZTCP2D for use by the 3D camera during the loading and unloading stages. Record the optimal loading and unloading pose T2D1 on the 3D camera's stereo coordinate system, relative to the center of the 3D positioning marker on the first CNC machine.
[0028] Step two specifically includes the following:
[0029] Adjust the robot arm's pose so that the loading platform is within the 3D camera's field of view and in the center position. Record the relative adjustment amount ΔT3D1 of the TCP and the TCP coordinates ZTCP3D at this time. Take a picture of the loading platform with a high-precision 3D camera fixed at the end of the robot arm to obtain the matching template of the loading platform and the pose T3D1 of the center point of the loading platform in the 3D camera's stereo coordinate system. Calculate the optimal loading / unloading pose in the 3D camera coordinate system based on the adjustment amount of the robot arm's end pose: T3D = T3D1 - ΔT3D1.
[0030] Step three specifically includes the following:
[0031] Adjust the end effector of the robotic arm so that the 3D positioning marker is within the field of view of the 3D camera and in the center position. Record the total adjustment amount ΔT2D1 between the robotic arm TCP and the optimal loading / unloading pose at this time, and record the TCP coordinate at this time as ZTCP2D. The 3D camera takes a picture of the 3D positioning marker and obtains the pose Z2D1 of the center point of the 3D positioning marker in the 3D camera's stereo coordinate system. Obtain the optimal loading / unloading pose T2D1 = ΔT2D1 - Z2D1 of the first CNC machine relative to the center of the 3D positioning marker on the 3D camera's stereo coordinate system. Record this value for use in the loading / unloading stage.
[0032] Preferably, the loading and unloading stage includes the following:
[0033] This also includes the deployment stage of the nth CNC machine tool, where n > 1; the composite robot remains stable at the entrance of the nth CNC machine tool, adjusts the 3D camera's image position according to the ZTCP3D recorded by the first deployment, takes a picture of the loading seat, and uses the matching template of the loading seat obtained from the first deployment to obtain the pose T3Dn of the current loading seat center point in the 3D camera's stereo coordinate system; at the same time, it adjusts the 3D camera's image position according to the ZTCP2D recorded by the first deployment, and records the adjustment amount ΔT2Dn relative to the robot arm TCP; the 3D camera fixed at the end of the robot arm takes a picture of the 3D positioning mark plate, and obtains the pose Z2Dn of the 3D positioning mark plate center point in the 3D camera's stereo coordinate system; the optimal loading and unloading pose T2Dn = ΔT2Dn + (T3Dn - T3D) - Z2Dn of the nth CNC machine tool relative to the center of the 3D positioning mark plate on the nth CNC machine tool in the 3D camera's stereo coordinate system is obtained, and this value is recorded for use in the loading and unloading stage.
[0034] Preferably, the loading and unloading stage includes the following:
[0035] The mobile chassis of the scheduling composite robot remains stable at the entrance of the m-th CNC, where m ≥ 1. Referring to the ZTCP2D recorded by the first deployment, the end effector of the robotic arm is adjusted to the position of the 3D camera. The 3D camera fixed at the end effector of the robotic arm takes a picture of the 3D positioning marker fixed on the m-th CNC, obtaining the pose Z2Dm of the center point of the 3D positioning marker in the 3D camera's stereo coordinate system at the moment of this picture. The optimal loading / unloading pose T2Dm of the m-th CNC, which is recorded in the 3D camera's stereo coordinate system relative to the center of the 3D positioning marker on the m-th CNC, is read. The relative increment that the TCP needs to adjust to reach the optimal loading / unloading pose of the m-th CNC for this loading task is calculated as W2Dm = Z2Dm + T2Dm.
[0036] Preferably, during the deployment phases of the first and nth CNC machine tools, after determining the optimal loading and unloading pose for TCP, the position of the current composite robot mobile chassis in the laser SLAM navigation system is calibrated and recorded.
[0037] The beneficial effects of this invention are as follows:
[0038] 1. In the deployment phase, the invention teaches the first CNC machine tool during deployment, and takes pictures of the loading seat with a 3D camera to calculate the deployment phase data for subsequent deployment of other CNC machine tools. This eliminates the need to teach each CNC machine tool, effectively improving deployment efficiency.
[0039] 2. This invention utilizes a combination of a 2D camera and a 3D camera. During the deployment phase, the relative pose difference between the 2D positioning marker and the loading seat can be obtained and recorded. During the loading and unloading phases, the relative pose difference can be used directly without photographing the loading seat, thus avoiding the impact of cutting fluid, metal shavings, and unloading workpieces on the accuracy of the camera algorithm. At the same time, the loading and unloading phases can also use a combination of a 3D camera and a 3D positioning marker, without using a 2D camera and a 2D positioning marker, which can also effectively avoid the impact of cutting fluid, metal shavings, and unloading workpieces on the accuracy of the camera algorithm.
[0040] 3. In the deployment phase, this invention uses a 2D camera combined with a 2D positioning marker to measure the relative pose adjustment amount and calculate the optimal loading and unloading position of TCP. This allows the 3D camera to be removed during the loading and unloading phase and only the 2D camera to be used. This reduces costs and avoids the inconvenience caused by the large size and weight of the 3D camera in actual use. Attached Figure Description
[0041] The invention will now be further described with reference to the accompanying drawings.
[0042] Figure 1 This is a flowchart of a composite robot CNC loading and unloading method provided by the present invention;
[0043] Figure 2 These are the 3D camera and loading stand used in the embodiments of the present invention;
[0044] Figure 3 These are the 2D camera and 2D positioning marker used in the embodiments of the present invention;
[0045] Figure 4 These are the 3D camera and 3D positioning marker used in the embodiments of the present invention. Detailed Implementation
[0046] To make the technical means, creative features, objectives and effects of this invention easier to understand, the invention will be further described below in conjunction with specific embodiments.
[0047] Example 1: Figures 1-3 The present invention provides a composite robot CNC loading and unloading device, comprising a composite robot and a CNC machine tool;
[0048] The composite robot includes a mobile chassis, a robotic arm, loading and unloading grippers, a 3D camera, and a 2D camera; one end of the robotic arm is mounted on the mobile chassis, and the other end is mounted on the loading and unloading grippers via a mounting platform; the 3D camera and the 2D camera are mounted on the mounting platform.
[0049] Each of the CNC machine tools has a loading stand and a 2D positioning mark plate of the same shape and size; the relative positions of the loading stand and the 2D positioning mark plate on each of the CNC machine tools are fixed.
[0050] like Figure 1 As shown, a composite robot CNC loading and unloading method employs a composite robot CNC loading and unloading device to realize the deployment and loading and unloading of composite robots and multiple CNC machine tools, specifically including the following:
[0051] (1) During the deployment of the first CNC, the mobile chassis of the composite robot remains stable at the door of the first CNC. The optimal loading posture of the TCP (tool center point) at the end of the robotic arm is first determined by teaching.
[0052] Figure 2 This invention relates to a 3D camera and a loading platform used in this embodiment. The loading platform is used to place the workpiece to be processed on the CNC machine and has sufficient 3D features. The end effector of the robotic arm is then adjusted to a suitable position for the 3D camera to take pictures. A suitable position for the camera to take pictures means that the loading platform is basically within the field of view of the 3D camera and in the middle position. The relative adjustment amount ΔT3D1 of the TCP (e.g., ΔZ = 300mm, others are 0) and the TCP coordinates ZTCP3D (e.g., Z = 500mm, X = 50mm, others are 0) are recorded. Based on the adjustment amount of the robotic arm end effector's pose, the optimal loading / unloading pose in the 3D camera coordinate system is T3D = T3D1 - ΔT3D1 (resulting in Z = 200mm, X = 50mm, others are 0).
[0053] Because the 3D camera and TCP are both fixed at the end of the robotic arm, this pose coordinate is applicable to the nth CNC machine. This value is recorded for use in the deployment phase of other CNC machines using the same shaped loading table, so it is not necessary to teach each CNC machine, which greatly saves deployment difficulty and time.
[0054] Figure 3The 2D camera and 2D positioning mark used in this embodiment of the invention are a black frame composed of a square with an outer side length of 50mm and a square with an inner side length of 40mm. This frame is a 2D feature pattern, and the TM character inside is used for orientation identification. Next, adjust the end effector of the robotic arm to a suitable position for the 2D camera to take a picture. At this time, the suitable position means that the 2D positioning mark plate is basically within the field of view of the 2D camera and in the middle position. Record the total adjustment amount ΔT2D1 (e.g., ΔZ = 500mm, ΔX = 100, others are 0) of the robotic arm TCP relative to the optimal loading and unloading pose and the TCP coordinate ZTCP2D at this time. The 2D camera fixed at the end effector of the robotic arm takes a picture of the 2D positioning mark plate fixed on the first CNC, and obtains the pose Z2D1 of the center point of the 2D positioning mark plate in the 2D camera's three-dimensional coordinate system (e.g., Z = 200mm, X = 5mm, Y = 10mm, others are 0). Then, calculate the optimal loading and unloading pose T2D1 = ΔT2D1 - Z2D1 (getting Z = 300mm, X = 95mm, Y = -10mm, others are 0) of the first CNC relative to the center of the 2D positioning mark plate in the 2D camera's three-dimensional coordinate system. Record this value for use in the loading stage.
[0055] (2) During the deployment of the nth (>1) CNC, the mobile chassis of the composite robot remains stable at the door of the nth CNC. Referring to the ZTCP3D recorded by the deployment of the first CNC, the end of the robotic arm is adjusted to a suitable position for the 3D camera to take pictures. The high-precision 3D camera fixed at the end of the robotic arm takes pictures of the loading seat. Using the matching template of the loading seat obtained from the first deployment, the pose T3Dn of the current center point of the loading seat in the 3D camera's three-dimensional coordinate system is obtained (e.g., Z = 500mm, X = 55mm, Y = 5mm, and others are 0).
[0056] Referring to the ZTCP2D recorded in the first deployment, the end effector of the robotic arm is adjusted to a suitable position for the 2D camera. The adjustment amount ΔT2Dn relative to the robotic arm TCP is recorded (e.g., ΔZ = 200mm, ΔX = 100, others are 0). The 2D camera fixed at the end effector of the robotic arm takes a picture of the 2D positioning marker fixed on the nth CNC machine, obtaining the pose Z2Dn of the center point of the 2D positioning marker in the 2D camera's 3D coordinate system (e.g., Z = 202mm, X = 100mm, etc.). 5mm, Y=15mm, others are 0); then calculate the optimal loading and unloading pose of the nth CNC machine relative to the center of the 2D positioning mark plate on the 2D camera's stereo coordinate system, T2Dn=ΔT2Dn+(T3Dn-T3D)-Z2Dn, and obtain (Z=200+300-202=298mm, X=100+5-5=100mm, Y=0+5-15=-10mm, others are 0), and record this value for use in the loading stage.
[0057] By teaching the first CNC machine tool during deployment and taking pictures of the 3D positioning marker or loading base with a 3D camera, the deployment data can be calculated for subsequent deployment of other CNC machine tools. This eliminates the need to teach each CNC machine tool, effectively improving deployment efficiency.
[0058] (3) Loading and unloading stage: According to the loading and unloading needs of CNC, the composite robot chassis is scheduled to remain stable at the door of the m (>=1)th CNC. Referring to the ZTCP2D recorded by the first deployment, the end effector of the robot arm is adjusted to a suitable 2D camera position. The 2D camera fixed at the end effector of the robot arm takes a picture of the 2D positioning mark fixed on the mth CNC, and obtains the pose Z2Dm of the center point of the 2D positioning mark in the 2D camera's three-dimensional coordinate system at the moment of this picture (e.g., Z=201mm, X=0mm, Y=5mm, others are 0). Read the previously recorded optimal loading pose T2Dm of the m-th CNC machine relative to the center of the 2D positioning marker plate on the 2D camera's stereo coordinate system (e.g., Z = 300mm, X = 95mm, Y = -10mm, others are 0); calculate the relative increment that TCP needs to adjust to reach the optimal loading pose of the m-th machine for this loading task, which is W2Dm = Z2Dm + T2Dm (resulting in Z = 300 + 201 = 501mm, X = 0 + 95 = 95mm, Y = 5 - 10 = -5mm, others are 0).
[0059] The mobile chassis of the composite robot stops at the door of each CNC machine via automatic navigation. When using laser SLAM navigation as standard, the positioning accuracy is ±10mm, which is relatively small compared to the imaging field of view of 3D and 2D cameras. Therefore, a preferred practice is that during the deployment and loading / unloading stages of the nth (>1)th CNC machine, the ZTCP3D or ZTCP2D recorded in the first deployment stage can be used to adjust the end effector of the robotic arm to a suitable position for 3D or 2D camera photography. Of course, in terms of method, it is not necessary to use the ZTCP3D or ZTCP2D recorded in the first deployment stage, as long as the end effector of the robotic arm can be adjusted to a suitable position for 3D or 2D camera photography before each photography session.
[0060] By utilizing 2D and 3D cameras, the relative pose difference between the 2D positioning marker and the loading seat can be obtained and recorded during the deployment phase. The relative pose difference can be used directly during the loading and unloading phases without taking pictures of the loading seat, thus avoiding the impact of cutting fluid, metal chips, and unloading workpieces on the accuracy of the camera algorithm.
[0061] Furthermore, the deployment of 2D and 3D cameras is assisted in the first and nth deployment phases, eliminating the need for teaching each CNC machine tool and thus greatly improving deployment efficiency. At the same time, the 3D camera is removed during the loading and unloading phases, and only the 2D camera is used during these phases, which reduces costs and avoids the inconvenience caused by the large size of the 3D camera in some scenarios.
[0062] Example 2: The difference between this example and Example 1 is that only a 3D camera and a 3D positioning marker are used in both the deployment and loading / unloading phases, instead of a 2D camera and a 2D marker. The 3D positioning marker is located on the CNC machine tool and has a relative pose difference with the loading seat. This relative pose difference may vary slightly on each CNC machine tool, but it remains unchanged during the deployment and loading / unloading phases. During the deployment phase, the 3D camera takes a picture of the 3D positioning marker. The template matching algorithm calculates the pose T2D1 of the first optimal loading pose relative to the center of the 3D positioning marker on the first CNC machine tool in the 3D camera's stereo coordinate system, and the pose T2Dn of the nth optimal loading pose relative to the center of the 2D positioning marker on the nth CNC machine tool. The calculation formula is the same as in Example 1.
[0063] Figure 4 This invention relates to a 3D camera and a 3D positioning marker used in this embodiment. The 3D positioning marker is a 5cm (length) x 5cm (width) x 0.5cm (thickness) anodized aluminum block with a 1cm diameter through hole on the left side for orientation positioning. Specifically, it includes the following:
[0064] (1) During the deployment of the first CNC, the mobile chassis of the composite robot remains stable at the door of the first CNC. The optimal loading posture of the TCP (tool center point) at the end of the robotic arm is first determined by teaching.
[0065] Next, adjust the end effector of the robotic arm to a suitable position for the 3D camera to take pictures. At this time, the suitable position for the camera to take pictures means that the loading seat is basically within the field of view of the 3D camera and in the middle position. Record the relative adjustment amount ΔT3D1 of TCP (for example, ΔZ = 300mm, others are 0) and the TCP coordinates ZTCP3D at this time (for example, Z = 500mm, X = 50mm, others are 0). According to the adjustment amount of the pose of the end effector of the robotic arm, the optimal loading and unloading pose in the 3D camera coordinate system is T3D = T3D1 - ΔT3D1 (to obtain Z = 200mm, X = 50mm, others are 0).
[0066] Because the 3D camera and TCP are both fixed at the end of the robotic arm, this pose coordinate is applicable to the nth CNC machine. This value is recorded for use in the deployment phase of other CNC machines using the same shaped loading table, so it is not necessary to teach each CNC machine, which greatly saves deployment difficulty and time.
[0067] Next, adjust the end effector of the robotic arm to a suitable position for the 3D camera to take a picture. At this time, the suitable position means that the 3D positioning mark is basically within the field of view of the 3D camera and in the middle position. Record the total adjustment amount ΔT2D1 (e.g., ΔZ = 500mm, ΔX = 100, others are 0) of the robotic arm TCP relative to the optimal loading and unloading pose and the TCP coordinate ZTCP2D at this time. The 3D camera fixed at the end effector of the robotic arm takes a picture of the 3D positioning mark fixed on the first CNC, and obtains the pose Z2D1 of the center point of the 3D positioning mark in the 3D camera's stereo coordinate system (e.g., Z = 200mm, X = 5mm, Y = 10mm, others are 0). Then, calculate the optimal loading and unloading pose T2D1 = ΔT2D1 - Z2D1 (getting Z = 300mm, X = 95mm, Y = -10mm, others are 0) of the first CNC relative to the center of the 3D positioning mark on the first CNC in the 3D camera's stereo coordinate system. Record this value for use in the loading stage.
[0068] (2) During the deployment of the nth (>1) CNC, the mobile chassis of the composite robot remains stable at the door of the nth CNC. Referring to the ZTCP3D recorded by the deployment of the first CNC, the end of the robotic arm is adjusted to a suitable position for the 3D camera to take pictures. The high-precision 3D camera fixed at the end of the robotic arm takes pictures of the loading seat. Using the matching template of the loading seat obtained from the first deployment, the pose T3Dn of the current center point of the loading seat in the 3D camera's three-dimensional coordinate system is obtained (e.g., Z = 500mm, X = 55mm, Y = 5mm, and others are 0).
[0069] Referring to the ZTCP2D recorded in the first deployment, the end effector of the robotic arm is adjusted to a suitable position for the 3D camera. The adjustment amount ΔT2Dn relative to the robotic arm TCP is recorded (e.g., ΔZ = 200mm, ΔX = 100, others are 0). The 3D camera fixed at the end effector of the robotic arm takes a picture of the 3D positioning marker fixed on the nth CNC machine, obtaining the pose Z2Dn of the center point of the 3D positioning marker in the 3D camera's stereo coordinate system (e.g., Z = 202mm, X = 100mm, etc.). 5mm, Y=15mm, others are 0); then calculate the optimal loading and unloading pose of the nth CNC machine relative to the center of the 3D positioning mark plate on the 3D camera's stereo coordinate system, T2Dn=ΔT2Dn+(T3Dn-T3D)-Z2Dn, and obtain (Z=200+300-202=298mm, X=100+5-5=100mm, Y=0+5-15=-10mm, others are 0), and record this value for use in the loading stage.
[0070] By teaching the first CNC machine tool during deployment and taking pictures of the 3D positioning marker or loading base with a 3D camera, the deployment data can be calculated for subsequent deployment of other CNC machine tools. This eliminates the need to teach each CNC machine tool, effectively improving deployment efficiency.
[0071] (3) Loading and unloading stage: According to the loading and unloading needs of CNC, the composite robot chassis is scheduled to remain stable at the door of the m (>=1)th CNC. Referring to the ZTCP2D recorded by the first deployment, the end effector of the robot arm is adjusted to a suitable position for the 3D camera. The 3D camera fixed at the end effector of the robot arm takes a picture of the 3D positioning mark fixed on the mth CNC, and obtains the pose Z2Dm of the center point of the 3D positioning mark in the 3D camera's three-dimensional coordinate system at the moment of this picture (e.g., Z=201mm, X=0mm, Y=5mm, others are 0). Read the previously recorded optimal loading pose T2Dm of the m-th CNC machine relative to the center of the 3D positioning marker on the m-th CNC machine in the 3D camera's stereo coordinate system (e.g., Z = 300mm, X = 95mm, Y = -10mm, others are 0); calculate the relative increment that TCP needs to adjust to reach the optimal loading pose of the m-th machine for this loading task, which is W2Dm = Z2Dm + T2Dm (resulting in Z = 300 + 201 = 501mm, X = 0 + 95 = 95mm, Y = 5 - 10 = -5mm, others are 0).
[0072] The mobile chassis of the composite robot stops at the door of each CNC machine via automatic navigation. When using laser SLAM navigation as standard, the positioning accuracy is ±10mm, which is relatively small compared to the imaging field of view of a 3D camera. Therefore, a better practice is to use the ZTCP3D or ZTCP2D recorded in the first deployment stage to adjust the end effector of the robotic arm to a suitable position for the 3D camera during the deployment and loading / unloading stages of the n (>1)th CNC machine. Of course, it is not necessary to use the ZTCP3D or ZTCP2D recorded in the first deployment stage, as long as the end effector of the robotic arm can be adjusted to a suitable position for the 3D or 2D camera before each photo is taken.
[0073] By using a 3D camera in conjunction with a 3D positioning marker during the deployment phase, the 3D camera can take pictures of the 3D positioning marker during the loading and unloading phase. Combined with the relative pose difference between the 3D positioning marker and the loading seat recorded during the deployment phase, the camera can then be moved to the optimal loading and unloading position via TCP. Compared to directly taking pictures of the loading seat with the 3D camera, this method can effectively avoid the impact of cutting fluid, metal chips, and unloading workpieces on the accuracy of the camera algorithm.
[0074] The above two embodiments are only used to illustrate the technical solutions of the present invention and not to limit it. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that modifications or equivalent substitutions can still be made to the specific implementation of the present invention without departing from the spirit and scope of the present invention. Any modifications or equivalent substitutions should be covered within the scope of protection of the claims of the present invention.
Claims
1. A composite robot CNC loading and unloading method, the method employing a composite robot CNC loading and unloading device, the device comprising a composite robot and a CNC machine tool; The composite robot includes a mobile chassis, a robotic arm, loading and unloading grippers, and a 3D camera; one end of the robotic arm is mounted on the mobile chassis, and the other end is mounted on the loading and unloading grippers via a mounting platform at the end of the robotic arm; the 3D camera is mounted on the mounting platform. Each CNC machine tool has a loading stand and positioning mark plate of the same shape and size; the relative positions of the loading stand and positioning mark plate on each CNC machine tool are fixed. The mobile chassis of the composite robot is guided to a designated position in front of multiple CNC machine tools using laser SLAM navigation. Each CNC machine tool is equipped with its own navigation station, and all navigation stations are marked on the laser SLAM navigation map. The composite robot is dispatched to the corresponding navigation station of any CNC machine tool with loading and unloading needs through the laser SLAM navigation system and the navigation stations on the navigation map. A 2D camera is then installed on the mounting platform; the positioning marker is a 2D positioning marker; the 3D camera is used in the deployment stage of CNC machine tools and composite robots; the 2D camera, combined with the 2D positioning marker, generates pose data, and the data is recorded by the control software, which also records the loading pose of the composite robot for each CNC machine tool, for use in the loading and unloading stage; The positioning marker is a 3D positioning marker; the 3D camera is used in the deployment and loading / unloading stages of CNC machine tools and composite robots; the 3D camera, combined with the 3D positioning marker, generates pose data, and the data is recorded by the control software, which also records the loading pose of the composite robot for each CNC machine tool, for use in the loading / unloading stages. Its features are: The deployment phase of the first CNC machine includes the following steps: Step 1: Obtain the TCP loading / unloading pose through teaching; Step 2: Adjust the end effector pose of the robotic arm to the pose of the 3D camera when taking pictures of the loading platform, and record the adjustment amount ΔT3D1 for use in Step 3. Record the coordinates ZTCP3D of the TCP for use when taking pictures and positioning the 3D camera during the deployment of other CNC machine tools. Calculate and record the pose T3D of the loading and unloading position in the 3D camera coordinate system. Step 3: Readjust the end effector pose of the robotic arm to the pose of the 2D camera taking pictures of the 2D positioning mark plate, and record the TCP coordinates ZTCP2D for use when the 2D camera takes pictures and positions during the loading and unloading stage; record the first optimal loading and unloading pose T2D1 on the 2D camera's three-dimensional coordinate system, relative to the center of the 2D positioning mark plate on the first CNC machine. Step two specifically includes the following: Adjust the robot arm's pose so that the loading platform is within the 3D camera's field of view and in the center position. Record the relative adjustment amount ΔT3D1 of the TCP and the TCP coordinates ZTCP3D at this time. Take a picture of the loading platform with a high-precision 3D camera fixed at the end of the robot arm to obtain the matching template of the loading platform and the pose T3D1 of the center point of the loading platform in the 3D camera's stereo coordinate system. Calculate the optimal loading / unloading pose in the 3D camera coordinate system based on the adjustment amount of the robot arm's end pose: T3D = T3D1 - ΔT3D1. Step three specifically includes the following: Adjust the end effector of the robotic arm so that the 2D positioning marker is within the field of view of the 2D camera and in the center position. Record the total adjustment amount ΔT2D1 between the robotic arm TCP and the loading / unloading pose at this time, and record the TCP coordinate at this time as ZTCP2D. The 2D camera takes a picture of the 2D positioning marker and obtains the pose Z2D1 of the center point of the 2D positioning marker in the 2D camera's stereo coordinate system. Obtain the loading / unloading pose T2D1 = ΔT2D1 - Z2D1 of the first loading / unloading pose relative to the center of the 2D positioning marker on the first CNC machine in the 2D camera's stereo coordinate system. Record this value for use in the loading / unloading stage.
2. The CNC loading and unloading method for a composite robot according to claim 1, characterized in that: This also includes the deployment stage of the nth CNC machine tool, where n > 1; the composite robot remains stable at the entrance of the nth CNC machine tool, adjusts the 3D camera's image position according to the ZTCP3D recorded by the first deployment, takes an image of the loading seat, and obtains the pose T3Dn of the current loading seat center point in the 3D camera's stereo coordinate system using the matching template obtained from the first deployment; at the same time, it adjusts the 2D camera's image position according to the ZTCP2D recorded by the first deployment, records the adjustment amount ΔT2Dn relative to the robot arm's TCP, and takes an image of the 2D positioning mark plate by the 2D camera fixed at the end of the robot arm, obtaining the pose Z2Dn of the 2D positioning mark plate center point in the 2D camera's stereo coordinate system; the loading / unloading pose T2Dn = ΔT2Dn + (T3Dn - T3D) - Z2Dn is obtained in the 2D camera's stereo coordinate system relative to the center of the 2D positioning mark plate on the nth CNC machine tool, and this value is recorded for use in the loading / unloading stage.
3. The CNC loading and unloading method for a composite robot according to claim 2, characterized in that: The loading and unloading stages include the following: Only use 2D cameras, not 3D cameras; The mobile chassis of the scheduling composite robot remains stable at the entrance of the m-th CNC, where m ≥ 1. Referring to the ZTCP2D recorded by the first deployment, the end effector of the robotic arm is adjusted to the position of the 2D camera. The 2D camera fixed at the end effector of the robotic arm takes a picture of the 2D positioning marker fixed on the m-th CNC, obtaining the pose Z2Dm of the center point of the 2D positioning marker in the 2D camera's 3D coordinate system at the moment of this picture. The loading / unloading pose T2Dm of the m-th CNC, which is recorded in the 2D camera's 3D coordinate system relative to the center of the 2D positioning marker on the m-th CNC, is read. The relative increment that the TCP needs to adjust to reach the loading / unloading pose of the m-th CNC for this loading task is calculated as W2Dm = Z2Dm + T2Dm.
4. The CNC loading and unloading method for a composite robot according to claim 3, characterized in that: During the deployment phases of the first and nth CNC machine tools, after determining the TCP loading and unloading postures, the position of the current composite robot mobile chassis in the laser SLAM navigation system is calibrated and recorded.
5. A composite robot CNC loading and unloading method, the method employing a composite robot CNC loading and unloading device, the device comprising a composite robot and a CNC machine tool; The composite robot includes a mobile chassis, a robotic arm, loading and unloading grippers, and a 3D camera; one end of the robotic arm is mounted on the mobile chassis, and the other end is mounted on the loading and unloading grippers via a mounting platform at the end of the robotic arm; the 3D camera is mounted on the mounting platform. Each CNC machine tool has a loading stand and positioning mark plate of the same shape and size; the relative positions of the loading stand and positioning mark plate on each CNC machine tool are fixed. The mobile chassis of the composite robot is guided to a designated position in front of multiple CNC machine tools using laser SLAM navigation. Each CNC machine tool is equipped with its own navigation station, and all navigation stations are marked on the laser SLAM navigation map. The composite robot is dispatched to the corresponding navigation station of any CNC machine tool with loading and unloading needs through the laser SLAM navigation system and the navigation stations on the navigation map. A 2D camera is then installed on the mounting platform; the positioning marker is a 2D positioning marker; the 3D camera is used in the deployment stage of CNC machine tools and composite robots; the 2D camera, combined with the 2D positioning marker, generates pose data, and the data is recorded by the control software, which also records the loading pose of the composite robot for each CNC machine tool, for use in the loading and unloading stage; The positioning marker is a 3D positioning marker; the 3D camera is used in the deployment and loading / unloading stages of CNC machine tools and composite robots; the 3D camera, combined with the 3D positioning marker, generates pose data, and the data is recorded by the control software, which also records the loading pose of the composite robot for each CNC machine tool, for use in the loading / unloading stages. Its features are: The deployment phase of the first CNC machine includes the following steps: Step 1: Obtain the TCP loading / unloading pose through teaching; Step 2: Adjust the end effector pose of the robotic arm to the pose of the 3D camera when taking pictures of the loading platform, and record the adjustment amount ΔT3D1 for use in Step 3. Record the coordinates ZTCP3D of the TCP for use when taking pictures and positioning the 3D camera during the deployment of other CNC machine tools. Calculate and record the pose T3D of the loading and unloading position in the 3D camera coordinate system. Step 3: Readjust the position of the robotic arm end effector to the position of the 3D camera taking pictures of the 3D positioning mark plate, and record the TCP coordinates ZTCP2D for use when the 3D camera takes pictures and positions during the loading and unloading stage; record the first optimal loading and unloading position T2D1 on the 3D camera's stereo coordinate system relative to the center of the 3D positioning mark plate on the first CNC machine. Step two specifically includes the following: Adjust the robot arm's pose so that the loading platform is within the 3D camera's field of view and in the center position. Record the relative adjustment amount ΔT3D1 of the TCP and the TCP coordinates ZTCP3D at this time. Take a picture of the loading platform with a high-precision 3D camera fixed at the end of the robot arm to obtain the matching template of the loading platform and the pose T3D1 of the center point of the loading platform in the 3D camera's stereo coordinate system. Calculate the optimal loading / unloading pose in the 3D camera coordinate system based on the adjustment amount of the robot arm's end pose: T3D = T3D1 - ΔT3D1. Step three specifically includes the following: Adjust the end effector of the robotic arm so that the 3D positioning marker is within the field of view of the 3D camera and in the center position. Record the total adjustment amount ΔT2D1 of the robotic arm TCP relative to the optimal loading / unloading pose at this time, and record the TCP coordinate at this time as ZTCP2D. The 3D camera takes a picture of the 3D positioning marker and obtains the pose Z2D1 of the center point of the 3D positioning marker in the 3D camera's stereo coordinate system. Obtain the optimal loading / unloading pose T2D1 = ΔT2D1 - Z2D1 of the first CNC machine relative to the center of the 3D positioning marker on the 3D camera's stereo coordinate system. Record this value for use in the loading / unloading stage.
6. The CNC loading and unloading method for a composite robot according to claim 5, characterized in that: This also includes the deployment stage of the nth CNC machine tool, where n > 1; the composite robot remains stable at the entrance of the nth CNC machine tool, adjusts the 3D camera's image position according to the ZTCP3D recorded by the first deployment, takes a picture of the loading seat, and uses the matching template of the loading seat obtained from the first deployment to obtain the pose T3Dn of the current loading seat center point in the 3D camera's stereo coordinate system; at the same time, it adjusts the 3D camera's image position according to the ZTCP2D recorded by the first deployment, and records the adjustment amount ΔT2Dn relative to the robot arm TCP; the 3D camera fixed at the end of the robot arm takes a picture of the 3D positioning mark plate, and obtains the pose Z2Dn of the 3D positioning mark plate center point in the 3D camera's stereo coordinate system; the loading and unloading pose of the nth CNC machine tool, relative to the center of the 3D positioning mark plate on the nth CNC machine tool, is obtained as T2Dn = ΔT2Dn + (T3Dn - T3D) - Z2Dn, and this value is recorded for use in the loading and unloading stage.
7. A CNC loading and unloading method for a composite robot according to claim 6, characterized in that: The loading and unloading stages include the following: The mobile chassis of the scheduling composite robot remains stable at the entrance of the m-th CNC, where m ≥ 1. Referring to the ZTCP2D recorded by the first deployment, the end effector of the robotic arm is adjusted to the position of the 3D camera. The 3D camera fixed at the end effector of the robotic arm takes a picture of the 3D positioning marker fixed on the m-th CNC, obtaining the pose Z2Dm of the center point of the 3D positioning marker in the 3D camera's stereo coordinate system at the moment of this picture. The loading / unloading pose T2Dm of the m-th CNC, which is recorded in the 3D camera's stereo coordinate system relative to the center of the 3D positioning marker on the m-th CNC, is read. The relative increment that the TCP needs to adjust to reach the optimal loading / unloading pose of the m-th CNC for this loading task is calculated as W2Dm = Z2Dm + T2Dm.
8. A CNC loading and unloading method for a composite robot according to claim 7, characterized in that: During the deployment phases of the first and nth CNC machine tools, after determining the TCP loading and unloading postures, the position of the current composite robot mobile chassis in the laser SLAM navigation system is calibrated and recorded.
Citation Information
Patent Citations
Robot 3D vision hand-eye calibration method
CN112123329A
Automatic feeding and discharging method and system on assembly line based on machine vision
CN112456128A