Robot control methods, devices, electronic devices, readable storage media and program products
By performing pallet pattern analysis and calculating the travel data of the lifting column in the collaborative robot, the robotic arm and the lifting column can be coordinated for palletizing, and the height of the lifting column can be automatically adjusted. This solves the problem of the efficiency impact of traditional manual adjustment and improves palletizing efficiency and stability.
Patent Information
- Application Number
- CN202410832648.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-26
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2044-06-26
AI Technical Summary
Traditional collaborative robots require manual adjustment of the lifting column height during palletizing tasks, which affects work efficiency.
By performing pallet type analysis based on baseline dimension data, pallet anchor point data is obtained. Combined with the working height of the robotic arm to calculate the travel data of the lifting column, collaborative palletizing between the robotic arm and the lifting column is achieved, and the height of the lifting column is automatically adjusted to adapt to different pallet height variations.
It improves the palletizing efficiency of collaborative robots, avoids the tedious process of manual adjustment, ensures the accuracy and stability of palletizing, and reduces the labor intensity of workers.
Smart Images

Figure CN118456442B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of collaborative robot control technology, and in particular to a robot control method, apparatus, electronic device, computer-readable storage medium, and computer program product. Background Technology
[0002] With the development of industrial intelligence, more and more collaborative robots are being used in industries such as manufacturing, agriculture, healthcare, and services. However, when performing palletizing tasks, there are often tasks that exceed the working height of the collaborative robot. Therefore, in such cases, it is usually necessary to add a moving mechanism to the collaborative robot, such as adding a lifting column to the Z-axis of the robotic arm, so that the robotic arm can move vertically to meet the height requirements of stacked objects in actual production.
[0003] In traditional technology, the height of the lifting column usually needs to be adjusted manually. Operators need to estimate the stack height and manually set the height of the lifting column, which greatly affects the efficiency of palletizing operations. Summary of the Invention
[0004] Therefore, it is necessary to provide a robot control method, device, electronic device, computer-readable storage medium, and computer program product to address the technical problem that the manual adjustment of the lifting column height affects the efficiency of palletizing operations.
[0005] In a first aspect, this application provides a robot control method, the robot including a robotic arm and a lifting column, the lifting column being used to drive the robotic arm to move in the Z-axis direction, the method comprising:
[0006] Pallet type analysis is performed based on baseline dimension data to obtain pallet anchor point data;
[0007] When it is determined that the lifting column needs to be controlled, the lifting column stroke data is calculated based on the palletizing anchor point data and the working height of the robotic arm.
[0008] The robotic arm is controlled to start palletizing based on the palletizing anchor point data, and the robotic arm and the lifting column are controlled to palletize together based on the lifting column stroke data.
[0009] After stacking the stack type corresponding to the stacking anchor point data, control the robotic arm and the lifting column to return to their initial positions.
[0010] In one embodiment, the palletizing anchor data includes the number of material layers and the Z-axis coordinate of at least one material anchor corresponding to each material layer;
[0011] Determining that the auxiliary lifting column needs to be controlled includes:
[0012] The Z-axis coordinate of the material anchor point in any material layer exceeds the working threshold of the robotic arm.
[0013] In one embodiment, the step of calculating the lifting column stroke data based on the palletizing anchor point data and the working height of the robotic arm includes:
[0014] Determine the limiting material layer corresponding to the robotic arm;
[0015] The target material layer is determined based on the limiting material layer and the working height of the robotic arm;
[0016] The lifting height of the lifting column is calculated based on the material anchor points of each material layer, so that the target material layer is within the working range of the robotic arm. The lifting column stroke data includes the limit material layer, the target material layer, and the lifting height.
[0017] If the target material layer does not reach the highest material layer, the process returns to the step of determining the target material layer based on the limit material layer and the working height of the robotic arm, using the target material layer as the limit material layer.
[0018] In one embodiment, the step of calculating the lifting height of the lifting column based on the material anchor points of each material layer, so that the target material layer is within the working range of the robotic arm, includes:
[0019] Based on the material anchor points of each material layer, a new material anchor point is generated after lifting by a preset step size until the new material anchor point of the target material layer is verified to be within the working range of the robotic arm through inverse kinematics. The lifting column stroke data also includes the new material anchor points of each material layer.
[0020] In one embodiment, the reference dimension data includes reference point data, material dimension data, and pallet dimension data;
[0021] The pallet type analysis based on the reference size data to obtain pallet anchor point data includes:
[0022] The robotic arm is controlled to move to the teaching position on the pallet, and the reference point data is read.
[0023] Based on the material size data and the pallet size data, and combined with the reference point data, a stacking pattern analysis is performed to obtain the stacking anchor point data.
[0024] In one embodiment, the method further includes:
[0025] Obtain a palletizing control dataset, which includes multiple sets of reference dimension data, palletizing anchor point data, and lifting column travel data;
[0026] A prediction model for the lifting column stroke is trained based on the aforementioned palletizing control dataset.
[0027] The reference dimension data and stacking anchor point data are input into the lifting column prediction model to predict the lifting column travel data.
[0028] Secondly, this application also provides a robot control device, the robot including a robotic arm and a lifting column, the lifting column being used to drive the robotic arm to move in the Z-axis direction, the device comprising:
[0029] The stacking type analysis module is used to perform stacking type analysis based on reference size data to obtain stacking anchor point data;
[0030] The stroke data acquisition module is used to calculate the stroke data of the lifting column based on the palletizing anchor point data and the working height of the robotic arm when it is determined that the lifting column assistance needs to be controlled.
[0031] The motion control module is used to control the robotic arm to start palletizing according to the palletizing anchor point data, and to control the robotic arm and the lifting column to palletize together according to the lifting column stroke data, and to control the robotic arm and the lifting column to return to the initial position after the pallet pattern corresponding to the palletizing anchor point data is completed.
[0032] Thirdly, this application also provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the above-described method.
[0033] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the above-described method.
[0034] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the above-described method.
[0035] The aforementioned robot control method, device, electronic equipment, computer-readable storage medium, and computer program product obtain palletizing anchor point data by performing palletizing pattern analysis based on reference size data. When it is determined that the lifting column assistance needs to be controlled, the lifting column stroke data is calculated based on the palletizing anchor point data and the working height of the robotic arm. After palletizing is started, the lifting column-assisted robotic arm can be automatically controlled according to the lifting column stroke data. It can quickly and accurately adapt to different pallet height changes, avoid the tedious process of manually adjusting the height of the lifting column, and effectively improve the palletizing efficiency of collaborative robots. Attached Figure Description
[0036] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0037] Figure 1 This is a diagram illustrating the application environment of a robot control method in one embodiment;
[0038] Figure 2 This is a flowchart illustrating a robot control method in one embodiment;
[0039] Figure 3 This is a flowchart illustrating the steps for calculating the stroke data of the lifting column in one embodiment;
[0040] Figure 4 This is a flowchart illustrating the steps for obtaining palletizing anchor point data in one embodiment;
[0041] Figure 5 This is a flowchart illustrating the steps for calculating the stroke data of the lifting column in another embodiment;
[0042] Figure 6 This is a structural block diagram of a robot control device in one embodiment;
[0043] Figure 7 This is a diagram of the internal structure of an electronic device in one embodiment;
[0044] Figure 8 This is a diagram of the internal structure of an electronic device in another embodiment. Detailed Implementation
[0045] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0046] The robot control method provided in this application embodiment can be applied to, for example, Figure 1In the application environment shown, robot 102 communicates with electronic device 104 via a network. A data storage system can store the data that electronic device 104 needs to process. The data storage system can be integrated into electronic device 104 or placed in the cloud or on another network server. Robot 102 includes a robotic arm and a lifting column, the lifting column being used to drive the robotic arm to move in the Z-axis direction. Specifically, a pallet pattern analysis is first performed based on reference dimension data to obtain palletizing anchor point data; if it is determined that lifting column assistance is needed, the lifting column stroke data is calculated based on the palletizing anchor point data and the working height of the robotic arm; the robotic arm is controlled to start palletizing according to the palletizing anchor point data, and the robotic arm and lifting column are controlled to palletize collaboratively according to the lifting column stroke data; after the pallet pattern corresponding to the palletizing anchor point data is completed, the robotic arm and lifting column are controlled to return to their initial positions.
[0047] In this context, electronic device 104 can be either a terminal or a server. As a terminal, it can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, smart in-vehicle systems, and projection devices. Portable wearable devices can include smartwatches, smart bracelets, and head-mounted displays. Head-mounted displays can be virtual reality (VR) devices, augmented reality (AR) devices, and smart glasses. As a server, it can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services.
[0048] It should be noted that the robot can refer to a collaborative robot or an automated control device with a robotic arm, such as a six-degree-of-freedom robotic arm. Such devices include a main control module that issues motion control commands, and joint motion modules that respond to these commands. These joint motion modules cooperate to complete the motion operations corresponding to the control commands. In this embodiment, the robot includes a robotic arm and a lifting column. The lifting column is mounted on the robot base along the Z-axis of the robotic arm and is used to drive the robotic arm to move in the Z-axis direction.
[0049] In one exemplary embodiment, such as Figure 2 As shown, a robot control method is provided, which can be applied to... Figure 1 Taking electronic device 104 as an example, the explanation includes the following steps 202 to 208. Wherein:
[0050] Step 202: Perform stacking type analysis based on the reference size data to obtain stacking anchor point data.
[0051] It should be noted that in the palletizing task, the robot needs to transport the materials on the conveyor belt in front of it to the pallet on the side, and then stack them into a suitable pallet shape on the pallet. The reference dimension data is the basic data used to analyze and obtain the appropriate pallet shape; that is, it needs to analyze and obtain the palletizing anchor point data. Specifically, it can include the number of material layers in the pallet, the quantity of material in each layer, and the corresponding anchor point position for each material. For example, the reference dimension data can include reference point data for material placement, material size data for the stacked materials, and pallet size data.
[0052] Specifically, the method of stack type analysis based on reference size data can be to first obtain various reference size data, and then perform arrangement calculations based on the reference size data using process software to output at least one candidate stack type. Users can set the process software to automatically or manually select the target stack type from the candidate stack types and output its stacking anchor point data.
[0053] For example, after the palletizing scenario changes, users can also manually adjust the output pallet type in the process software to flexibly adapt to palletizing tasks of various material types, such as cartons, bags, cans, bottles and other materials.
[0054] Step 204: If it is determined that the lifting column needs to be controlled, the stroke data of the lifting column is calculated based on the data of the stacking anchor points and the working height of the robotic arm.
[0055] In the scenario where the lifting column is required, it can be understood that the height of the current stack exceeds the upper limit of the working height of the robotic arm. The robotic arm cannot complete the stacking task on its own and needs to rely on the lifting column to raise the base height in order to increase the upper limit of the working height of the robotic arm.
[0056] For example, determining the need for lifting column assistance can be based on palletizing anchor point data. For instance, it can be determined by assessing the anchor point positions of each material; if the Z-axis coordinate of any material layer's anchor point exceeds the robotic arm's working limit, then lifting column assistance is required. Alternatively, determining the need for lifting column assistance can be based on the number of material layers and material dimensions in the palletizing anchor point data. If the calculated stack height exceeds the robotic arm's working limit based on the number of material layers and material dimensions, then lifting column assistance for the robotic arm palletizing is required.
[0057] Specifically, after determining that the lifting column needs to be controlled for assisted palletizing, the lifting column stroke data can be calculated based on the palletizing anchor point data and the working height of the robotic arm. This lifting column stroke data is then used to control the robotic arm and lifting column to work together during the palletizing process. Correspondingly, the lifting column stroke data may include the limit material layer that requires initial driving of the lifting column for assisted palletizing, the lifting height that requires the lifting column to travel a certain distance, and the upper limit material layer that the robotic arm can stack after being lifted by the lifting column. The content is not limited; any data that can be used to control the robotic arm and lifting column for collaborative palletizing can be used as the lifting column stroke data.
[0058] Furthermore, the method for calculating the lifting column stroke data is not fixed when the corresponding lifting column stroke data is different. For example, the limit material layer can be determined first based on the palletizing anchor point data and the working height of the robotic arm, the upper limit material layer can be determined based on the limit material layer and the working height of the robotic arm, and finally the lifting height required to drive the lifting column can be determined based on the upper limit material layer and the palletizing anchor point data.
[0059] For example, both the reference point data and the palletizing anchor point data include coordinate data of the points controlling the operation of the robotic arm, which are obtained based on the robot's internal calibration coordinate system. Correspondingly, after the robotic arm is lifted by the lifting column, it can be understood that the origin of its internal calibration coordinate system is also lifted. Therefore, the reference point data and the palletizing anchor point data need to be updated based on the lifting height so that these coordinate data still correspond to the same position in actual space. Furthermore, the lifting column travel data may also include the updated reference point data and the updated palletizing anchor point data.
[0060] Step 206: Control the robotic arm to start palletizing based on the palletizing anchor point data, and control the robotic arm and the lifting column to palletize together based on the lifting column stroke data.
[0061] It should be noted that during the robot's operation, the robotic arm and the lifting column can operate simultaneously. That is, while controlling the robotic arm to reach the designated point, the robot can simultaneously perform other logical processing and motion control. For example, while controlling the robotic arm to start palletizing, it can simultaneously determine whether the lifting column needs to be controlled for assistance. If it is determined that the lifting column assistance is needed, the lifting column's stroke data can also be calculated simultaneously. Then, when controlling the robotic arm to palletize to the limit material layer, the lifting column can be raised and assisted in palletizing using the lifting column stroke data.
[0062] Specifically, after obtaining the palletizing anchor point data, the robotic arm can be started to palletize according to the material anchor point positions corresponding to the first material layer. Simultaneously, the electronic equipment can determine whether to control the lifting column to assist in palletizing based on the palletizing anchor point data. If the lifting column is needed, the lifting column stroke data is calculated based on the palletizing anchor point data and the working height of the robotic arm. Further, when the robotic arm completes the palletizing task of the highest material layer, the lifting column can be raised while the robotic arm performs the palletizing task of the material layer one level higher than the highest material layer using the updated palletizing anchor point data. At this point, the electronic equipment needs to further determine whether the lifting column needs to be raised again, i.e., whether the robotic arm can complete the palletizing task of the highest material layer at this height. If it is determined that the lifting column needs to be raised again, new lifting column stroke data needs to be calculated to control the subsequent collaborative palletizing of the robotic arm and lifting column. This cycle repeats until the palletizing task of the highest material layer is completed.
[0063] It is understood that in this embodiment, by determining the lifting column stroke data while the robotic arm is moving, and controlling the lifting column to rise based on the lifting column stroke data while simultaneously controlling the robotic arm to continue synchronously palletizing, the collaborative palletizing of the robotic arm and the lifting column is achieved, improving the continuity of the robot's movement and thus further improving the palletizing efficiency.
[0064] Step 208: After stacking the stacking anchor point data corresponding to the stack type, control the robotic arm and lifting column to return to the initial position.
[0065] Specifically, when the palletizing task of the highest material layer is completed, which represents the pallet type corresponding to the completed palletizing anchor point data, the robotic arm and lifting column need to be controlled to return to the initial position in preparation for the next round of palletizing task.
[0066] Both the robotic arm and the lifting column have an initial position. The initial position of the lifting column can be the position where the lifting height is zero, and the initial position of the robotic arm can be the position where its end effector has moved to the initial point.
[0067] In the above-mentioned robot control method, palletizing anchor point data is obtained by performing palletizing pattern analysis based on reference size data. When it is determined that the lifting column assistance needs to be controlled, the lifting column stroke data is calculated based on the palletizing anchor point data and the working height of the robotic arm. After palletizing is started, the lifting column assistance robotic arm can be automatically controlled according to the lifting column stroke data. It can quickly and accurately adapt to different pallet height changes, avoid the tedious process of manually adjusting the height of the lifting column, and effectively improve the palletizing efficiency of the collaborative robot.
[0068] In one exemplary embodiment, the palletizing anchor data includes the number of material layers and the Z-axis coordinate of at least one material anchor corresponding to each material layer.
[0069] Specifically, the material layer number refers to the number of layers of materials stacked in the completed stack. Each material layer contains at least one material, and each material corresponds to its material anchor point, i.e., the material placement position, which should include X-axis, Y-axis, and Z-axis coordinates represented by the robot coordinate system. It can be understood that the Z-axis is the height direction of the stack, and it is also the direction of movement of the lifting column.
[0070] For example, determining the need to control the lifting column in step 204 includes: the Z-axis coordinate of the material anchor point of any material layer exceeds the working threshold of the robotic arm.
[0071] It should be noted that the robotic arm has a working range, namely, an upper working limit U relative to the origin of the robot's internal coordinate system, and a lower working limit L relative to the Z-axis. This upper and lower working limits can be determined based on the actual length of the robotic arm.
[0072] The robotic arm's working threshold is used to determine whether the lifting column assistance is needed, and it can be set based on the robotic arm's upper working limit U. Furthermore, if the Z-axis coordinate of any material anchor point in the palletizing anchor point data exceeds the robotic arm's working threshold, it indicates that in the pallet type corresponding to the palletizing anchor point data, there is a material layer exceeding the robotic arm's upper working limit U. Therefore, all material layers exceeding the robotic arm's working threshold must be palletized with the assistance of the lifting column.
[0073] For example, the Z-axis coordinates of the material anchor points of each material layer can be compared with the lower working limit L of the robotic arm to determine whether the robot is suitable for completing the pallet type corresponding to the palletizing anchor point data. For instance, if the lifting column is in the initial position, but the Z-axis coordinate of any material anchor point in any material layer is lower than the lower working limit L, it indicates that under the current hardware structure, the robot does not support the pallet type corresponding to the palletizing anchor point data and cannot complete the palletizing task.
[0074] In one exemplary embodiment, such as Figure 3 As shown, step 204 involves calculating the lifting column stroke data based on the palletizing anchor point data and the working height of the robotic arm, including steps 302 to 306.
[0075] Step 302: Determine the limit material layer corresponding to the robotic arm.
[0076] Among them, the limit material layer represents the material layer that requires the drive of the lifting column to assist the robotic arm in stacking, that is, the material layer where the Z-axis coordinate of the material anchor point just exceeds the working threshold of the robotic arm.
[0077] Specifically, determining the critical material layer for the robotic arm can be done by starting from the first material layer and checking each layer upwards along the Z-axis to see if the Z-axis coordinate of the material anchor point exceeds the robotic arm's working threshold. Alternatively, it can be done by starting from the highest material layer and checking each layer downwards along the Z-axis to see if the Z-axis coordinate of the material anchor point is below the robotic arm's working threshold. Another method is to calculate, based on the number of material layers and material size data, which layer in the stack begins to exceed the robotic arm's working threshold.
[0078] Step 304: Determine the target material layer based on the limit material layer and the working height of the robotic arm.
[0079] The working height of the robotic arm is the height difference between its upper working limit U and lower working limit L. The target material layer represents the upper limit of material that the robotic arm can reach after being lifted by the lifting column.
[0080] Specifically, the target material layer can be determined by summing the Z-axis coordinates of the material anchor points of the limit material layer (the Z-axis coordinates of the material anchor points in the same material layer should be the same) with the working height of the robotic arm. This can be understood as starting from the limit material layer and judging layer by layer upwards along the Z-axis; the layer whose Z-axis coordinates of the material anchor points just exceed the above sum can be determined as the target material layer.
[0081] Step 306: Calculate the lifting height of the lifting column based on the material anchor points of each material layer, so that the target material layer is within the working range of the robotic arm. The lifting column stroke data includes the limit material layer, the target material layer, and the lifting height.
[0082] Specifically, the lifting height of the lifting column can be calculated directly based on the Z-axis coordinate of the material anchor point of the target material layer. For example, the absolute value x of the difference between the Z-axis coordinate of the material anchor point of the target material layer and the upper limit U of the robotic arm's working range can be calculated as the lifting height of the lifting column.
[0083] In practical applications, if the height of a single material is large, and since the material anchor point is generally the center of mass of the material, directly calculating the Z-axis coordinate of the material anchor point of the target material layer may result in the upper limit of the robotic arm's work U corresponding to the center position of the material, which may prevent the material from being placed in place and cause palletizing failure.
[0084] Therefore, in an exemplary embodiment, step 306 includes: generating new material anchors after lifting by a preset step size based on the material anchors of each material layer, until the new material anchors of the target material layer are verified to be within the working range of the robotic arm through inverse kinematics. The lifting column stroke data also includes the new material anchors of each material layer.
[0085] Specifically, the Z-coordinate of each material anchor point in the palletizing anchor point data needs to be reduced by a preset step size to obtain a new material anchor point after being lifted by the preset step size. Then, inverse kinematics is used to verify whether the new material anchor point of the target material layer is within the working range of the robotic arm. If it is, the calculation can be stopped, and the lifting height is set to the preset step size to proceed to the subsequent collaborative palletizing process. If it is not, the Z-coordinate of the obtained new material anchor point needs to be reduced by the preset step size again to obtain a new material anchor point after being lifted by two preset step sizes. Inverse kinematics is then used to verify whether the new material anchor point of the target material layer is now within the working range of the robotic arm. Similarly, if it is, the calculation can be stopped, and the lifting height is set to the product of the preset step size and the number of lifting times, i.e., twice the preset step size, to proceed to the subsequent collaborative palletizing process. If it is not, the lifting and verification with the preset step size needs to continue until inverse kinematics verifies that the new material anchor point of the target material layer is within the working range of the robotic arm. The value of the preset step size is not limited and can be set based on the material height.
[0086] It should be noted that inverse kinematics refers to the process of solving the joint positions based on the end-effector pose of the robotic arm.
[0087] It is understandable that during the calculation process of lifting with a preset step size, the origin of the coordinate system calibrated inside the robot is also lifted. Therefore, the Z-axis coordinates of each material anchor point in the palletizing anchor point data need to be lowered with a preset step size so that these point coordinate data still correspond to the same position in actual space.
[0088] After verifying through inverse kinematics that the new material anchor point of the target material layer is within the working range of the robotic arm, the newly generated new material anchor point needs to be used as the stroke data of the lifting column so that after the lifting column raises the robotic arm, the robotic arm can also complete the palletizing task of the remaining material layer with the new material anchor point.
[0089] For example, after step 306, if the target material layer has not reached the highest material layer, the process returns to step 304 with the target material layer as the limit material layer.
[0090] Specifically, during the process of controlling the lifting column to raise the robotic arm to complete the stacking task from the limit material layer to the target material layer, if it is determined that the target material layer is not the highest material layer of the stack, it indicates that after this lifting, the robotic arm still cannot complete the stacking task of all material layers, and the lifting column needs to be controlled again to raise the robotic arm.
[0091] Then, the target material layer can be used as the limit material layer to return to step 304, so as to determine the target material layer for the next cycle and calculate the lifting height required for the lifting column to be raised again, until the stacking task of the highest material layer can be completed.
[0092] In an exemplary embodiment, the reference dimension data includes reference point data, material dimension data, and pallet dimension data. The reference point data represents the reference points where materials can be placed during palletizing, and must be obtained using the robot's internal coordinate system. The material dimension data represents the dimensional information of the materials to be stacked, such as material size and shape. The pallet dimension data represents the dimensional information of the pallet on which the materials are stacked.
[0093] For example, such as Figure 4 As shown, step 202 includes steps 402 to 404.
[0094] Step 402: Control the robotic arm to move to the teaching position on the pallet and read the reference point data.
[0095] It can be understood that the pallet teaching position is the reference point where the material is stacked on the pallet, or it can be the position where the material of the first material layer is stacked on the pallet.
[0096] Specifically, the robotic arm's end effector can be controlled to move to the teaching position on the pallet via free drive or other means. The coordinates of the robot's end effector position can then be read by the process software as reference point data. Here, the robotic arm's end effector refers to the outermost joint segment of the robotic arm. Taking a six-DOF robotic arm as an example, the robot's end effector refers to the outermost end of its sixth axis.
[0097] Step 404: Based on the material size data and pallet size data, and combined with the reference point data, perform pallet type analysis to obtain pallet anchor point data.
[0098] Specifically, based on material size data and pallet size data, and combined with reference point data, the process software performs arrangement calculations to output at least one candidate pallet type. Furthermore, the user can configure the process software to automatically or manually select the target pallet type from the candidate types and output its palletizing anchor point data.
[0099] For example, after the palletizing scenario changes, users can also manually adjust the output pallet type in the process software to flexibly adapt to palletizing tasks of various material types, such as cartons, bags, cans, bottles and other materials.
[0100] In one exemplary embodiment, such as Figure 5 As shown, the above robot control method further includes steps 502 to 506, wherein:
[0101] Step 502: Obtain the palletizing control dataset, which includes multiple sets of reference dimension data, palletizing anchor point data, and lifting column travel data.
[0102] Specifically, during each palletizing process, the processed and calculated reference dimension data, palletizing anchor point data, and lifting column travel data can be stored in a database. Data can then be retrieved from the database to form a palletizing control dataset. This palletizing control dataset can be understood as consisting of multiple sets of reference dimension data, palletizing anchor point data, and lifting column travel data.
[0103] Step 504: Train the lifting column stroke prediction model based on the palletizing control dataset.
[0104] Specifically, after obtaining the palletizing control dataset, data preprocessing can be performed first. For example, the palletizing control dataset can be first classified by features to obtain palletizing anchor point data, material size data, and pallet size data as feature data, and the lifting height can be separated as the result data to form a separate parameter set. Data preprocessing can also perform dataset splitting, dividing the dataset into training and test sets in an 8:2 ratio.
[0105] Furthermore, based on the training set obtained through the above processing, a random forest model is selected as the base model to train an initial model for predicting the movement of rising and falling vehicles (RFVs). The performance of this initial model is then evaluated using the test set obtained through the above processing until the evaluation metrics meet the requirements, at which point the RFV movement prediction model is output. The evaluation metrics can include mean squared error and R² score. Alternatively, model accuracy can also be used as an evaluation metric; for example, a model with an accuracy greater than 0.9 indicates that it can be output as an RFV movement prediction model.
[0106] Step 506: Input the baseline dimension data and stacking anchor point data into the lifting column prediction model to predict the lifting column stroke data.
[0107] Specifically, in the actual control process, after obtaining the reference dimension data and the stacking anchor point data, they can be output to the trained lifting column prediction model to predict the lifting column stroke data, so as to control the lifting column to assist in stacking.
[0108] In this embodiment, the algorithm automatically learns and adapts to changes in stack height data, conducts in-depth analysis of the stack height data and makes intelligent decisions, and calculates the height of the lifting column based on real-time data. This enables intelligent decision-making, significantly improves system flexibility, and enhances palletizing efficiency.
[0109] To make the objectives, technical solutions, and advantages of this application clearer, a specific embodiment is provided below for further detailed explanation. It should be understood that the specific embodiment described herein is merely illustrative and not intended to limit the scope of this application.
[0110] In traditional palletizing operations, the height of the lifting columns typically requires manual adjustment. Operators must manually set the column height based on the expected stack height. This method is not only time-consuming but also prone to errors. Therefore, this paper proposes a smarter and more efficient algorithm for automatically adjusting the height of the lifting columns. This algorithm should be able to accurately predict stack height, quickly respond to changes in stack height, and possess intelligent decision-making capabilities to improve palletizing efficiency and quality.
[0111] In one specific embodiment, a robot is provided, including a main control device, a robotic arm, a lifting column, and a lifting column drive device. The main control device connects the robotic arm and the lifting column drive device, and the lifting column drive device is connected to the lifting column. The lifting column is mounted on the robot base along the Z-axis direction of the robotic arm and is used to drive the robotic arm to move in the Z-axis direction.
[0112] Specifically, the main control device is equipped with process software for controlling the robot's movement, and the control process may include the following steps:
[0113] Step 1: Connect the main control device to the robotic arm of the six-degree-of-freedom collaborative robot (hereinafter referred to as "the robot"). Drive the robotic arm to the teaching position on the pallet through free drive or other means. Then use the process software to read the position of the end of the robotic arm to obtain the reference point of the material placement position (based on the robot coordinate system, reference point: the reference point when calculating the material placement position).
[0114] Step 2: The main control device writes the material (box) and pallet size parameters. Then the software calculates the anchor point (placement position) for placing a single or multi-layer box stack by combining the box and pallet size parameters with the material placement reference point.
[0115] Step 3: Based on the anchor points of all boxes in the stack obtained in the above steps, using the pre-set threshold, calculate all anchor points that exceed this threshold. For example, if the threshold is set to 200 (mm), then all anchor points in the stack that exceed 200 in height on the Z-axis of the robot coordinate system will be the anchor points after being lifted using the lifting column.
[0116] Step 4: Assume the current stack has 7 layers, and 4 layers have anchor points exceeding the 200-degree height of the robot coordinate system's Z-axis. The process software will then gradually increase (raise) the origin of the robot coordinate system's Z-axis by m. Correspondingly, the Z-axis of the anchor points based on the robot coordinate system should decrease (lower) by m to generate new anchor points, thus achieving the effect that the anchor points remain in the same position in actual space. The inverse kinematics solution is then performed again using the new anchor points, repeating the previous step until the inverse kinematics solution verifies that all 7 layers of anchor points are within the robot's workspace.
[0117] Step 5: Obtain the minimum travel distance m of the lifting column. When controlling the robotic arm to perform palletizing operations, send the travel distance m to the lifting column drive device to drive the lifting column to cooperate with the palletizing.
[0118] Step 6: Once a certain number of data records have been collected, they are stored in the dataset for model training. First, data preprocessing is performed: separating features and results. Separating the parameter set: stack anchor points, material specifications, pallet specifications, etc., and the minimum lifting column stroke m corresponding to the result set. Splitting the dataset: The dataset is split into training and testing sets in an 8 / 2 ratio. A random forest model is selected as the prediction model, and the model is trained using the training set data. Evaluating model performance: The performance is evaluated using the testing set data, calculating the mean squared error and R² score. When the model's accuracy > 0.9, the next calculation can predict m by inputting parameters such as stack anchor points, material specifications, and pallet specifications. The input parameters and prediction results are then used as the training set to continuously train and optimize the model.
[0119] In this embodiment, the process software generates and adjusts the stacking pattern according to actual needs, and then controls the collaborative robot to perform the palletizing operation. When the palletizing reaches a threshold height, the process software automatically calculates the adjustment height of the lifting column and sends it to the lifting column drive device to control the lifting column to raise the robotic arm and continue the palletizing operation. This application, by automatically adjusting the lifting column height, can quickly and accurately adapt to changes in different stacking heights, avoiding the tedious process of manual adjustment and effectively improving palletizing efficiency. The algorithm of this application also ensures the accuracy of the lifting column height, thereby improving the stability of the stacking pattern, reducing the risk of damage to goods during stacking, and significantly reducing the labor intensity of workers and improving the working environment through automation. At the same time, the algorithm of this application does not require complex control systems and hardware equipment, which also reduces the system cost and maintenance difficulty.
[0120] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0121] Based on the same inventive concept, this application also provides a robot control device for implementing the robot control method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more robot control device embodiments provided below can be found in the limitations of the robot control method described above, and will not be repeated here.
[0122] In one exemplary embodiment, such as Figure 6 As shown, a robot control device is provided. The robot includes a robotic arm and a lifting column. The lifting column is used to drive the robotic arm to move in the Z-axis direction. The robot control device includes: a stacking analysis module 610, a stroke data acquisition module 620, and a motion control module 630, wherein:
[0123] The stacking analysis module 610 is used to perform stacking analysis based on reference dimension data to obtain stacking anchor point data.
[0124] The stroke data acquisition module 620 is used to calculate the stroke data of the lifting column based on the palletizing anchor point data and the working height of the robotic arm when it is determined that the lifting column needs to be controlled for assistance.
[0125] The motion control module 630 is used to control the robotic arm to start palletizing according to the palletizing anchor point data, and to control the robotic arm and the lifting column to palletize together according to the lifting column stroke data. After the palletizing anchor point data is completed, the robotic arm and the lifting column are controlled to return to the initial position.
[0126] In one exemplary embodiment, the palletizing anchor data includes the number of material layers and the Z-axis coordinate of at least one material anchor corresponding to each material layer;
[0127] The travel data acquisition module 620 is also used to determine whether to control the lifting column for assistance when the Z-axis coordinate of the material anchor point of any material layer exceeds the working threshold of the robotic arm.
[0128] In an exemplary embodiment, the stroke data acquisition module 620 is further configured to determine the limit material layer corresponding to the robotic arm; determine the target material layer based on the limit material layer and the working height of the robotic arm; calculate the lifting height of the lifting column according to the material anchor points of each material layer, so that the target material layer is within the working range of the robotic arm; the stroke data of the lifting column includes the limit material layer, the target material layer, and the lifting height; if the target material layer does not reach the highest material layer, the target material layer is used as the limit material layer, and the stroke data acquisition module is controlled to execute the step of determining the target material layer based on the limit material layer and the working height of the robotic arm.
[0129] In an exemplary embodiment, the stroke data acquisition module 620 is further configured to generate new material anchor points after lifting by a preset step size based on the material anchor points of each material layer, until the new material anchor points of the target material layer are verified to be within the working range of the robotic arm through inverse kinematics. The stroke data of the lifting column also includes the new material anchor points of each material layer.
[0130] In one exemplary embodiment, the reference dimension data includes reference point data, material dimension data, and pallet dimension data;
[0131] The stacking analysis module 610 is also used to control the robotic arm to move to the teaching position of the pallet and read the reference point data; based on the material size data and pallet size data, it performs stacking analysis in combination with the reference point data to obtain the stacking anchor point data.
[0132] In an exemplary embodiment, the robot control device further includes a stroke data prediction module for acquiring a palletizing control dataset, which includes multiple sets of reference dimension data, palletizing anchor point data, and lifting column stroke data; training a lifting column stroke prediction model based on the palletizing control dataset; and inputting the reference dimension data and palletizing anchor point data into the lifting column prediction model to predict the lifting column stroke data.
[0133] Each module in the aforementioned robot control device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of the electronic device in hardware form or independent of it, or stored in the memory of the electronic device in software form, so that the processor can call and execute the operations corresponding to each module.
[0134] In one exemplary embodiment, an electronic device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 7 As shown, this electronic device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operating system and computer programs stored in the non-volatile storage media. The database stores reference dimension data, palletizing anchor point data, and lifting column travel data, etc. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When the computer program is executed by the processor, it implements a robot control method.
[0135] In one exemplary embodiment, an electronic device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 8 As shown, this electronic device includes a processor, memory, input / output interface, communication interface, display unit, and input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interface. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The input / output interface is used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, Near Field Communication (NFC), or other technologies. When the computer program is executed by the processor, it implements a robot control method. The display unit is used to form a visually visible image and can be a display screen, projection device, or virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the electronic device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the electronic device, or external keyboards, touchpads, or mice, etc.
[0136] Those skilled in the art will understand that Figure 7 and Figure 8 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the electronic device to which the present application is applied. The specific electronic device may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements.
[0137] In one exemplary embodiment, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.
[0138] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0139] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0140] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0141] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0142] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0143] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A robot control method, characterized in that, The robot includes a robotic arm and a lifting column, the lifting column being used to drive the robotic arm to move in the Z-axis direction, and the method includes: Based on the baseline dimension data, a stacking pattern analysis is performed to obtain stacking anchor point data; the stacking anchor point data includes the number of material layers and at least one material anchor point corresponding to each material layer. If it is determined that the lifting column assistance needs to be controlled, the corresponding limit material layer of the robotic arm is determined; The target material layer is determined based on the limiting material layer and the working height of the robotic arm; The lifting height of the lifting column is calculated based on the material anchor points of each material layer, so that the target material layer is within the working range of the robotic arm. The lifting column stroke data includes the limit material layer, the target material layer, and the lifting height. If the target material layer does not reach the highest material layer, the step of determining the target material layer based on the limit material layer and the working height of the robotic arm is returned, with the target material layer as the limit material layer. The robotic arm is controlled to start palletizing based on the palletizing anchor point data, and the robotic arm and the lifting column are controlled to palletize together based on the lifting column stroke data. After stacking the stack type corresponding to the stacking anchor point data, control the robotic arm and the lifting column to return to their initial positions.
2. The method according to claim 1, characterized in that, At least one material anchor point corresponding to each material layer includes a Z-axis coordinate; Determining that the auxiliary lifting column needs to be controlled includes: If the Z-axis coordinate of any material anchor point in any material layer exceeds the working threshold of the robotic arm, then it is determined that the lifting column needs to be controlled for assistance.
3. The method according to claim 1, characterized in that, The reference dimension data includes material dimension data; Determining that the auxiliary lifting column needs to be controlled includes: If the stack height calculated based on the number of material layers and the material size data exceeds the working limit of the robotic arm, then it is determined that the lifting column needs to be controlled for assistance.
4. The method according to claim 1, characterized in that, The step of calculating the lifting height of the lifting column based on the material anchor points of each material layer, so that the target material layer is within the working range of the robotic arm, includes: Based on the material anchor points of each material layer, a new material anchor point is generated after lifting by a preset step size until the new material anchor point of the target material layer is verified to be within the working range of the robotic arm through inverse kinematics. The lifting column stroke data also includes the new material anchor points of each material layer.
5. The method according to claim 1, wherein The reference dimension data includes reference point data, material dimension data, and pallet dimension data; The pallet type analysis based on the reference size data to obtain pallet anchor point data includes: The robotic arm is controlled to move to the teaching position on the pallet, and the reference point data is read. Based on the material size data and the pallet size data, and combined with the reference point data, a stacking pattern analysis is performed to obtain the stacking anchor point data.
6. The method according to any one of claims 1 to 5, characterized in that, The method further includes: Obtain a palletizing control dataset, which includes multiple sets of reference dimension data, palletizing anchor point data, and lifting column travel data; A prediction model for the lifting column stroke is trained based on the aforementioned palletizing control dataset. The reference dimension data and stacking anchor point data are input into the lifting column stroke prediction model to predict the lifting column stroke data.
7. A robot control device, characterized in that, The robot includes a robotic arm and a lifting column, the lifting column being used to drive the robotic arm to move in the Z-axis direction, and the device includes: The pallet type analysis module is used to perform pallet type analysis based on the reference size data to obtain pallet anchor point data; the pallet anchor point data includes the number of material layers and at least one material anchor point corresponding to each material layer. The stroke data acquisition module is used to determine the limit material layer corresponding to the robotic arm when it is determined that the lifting column needs to be controlled, determine the target material layer based on the limit material layer and the working height of the robotic arm, and calculate the lifting height of the lifting column according to the material anchor points of each material layer so that the target material layer is within the working range of the robotic arm. The lifting column stroke data includes the limit material layer, the target material layer and the lifting height. The travel data acquisition module is also used to, when the target material layer has not reached the highest material layer, use the target material layer as the limit material layer and execute the step of determining the target material layer based on the limit material layer and the working height of the robotic arm. The motion control module is used to control the robotic arm to start palletizing according to the palletizing anchor point data, and to control the robotic arm and the lifting column to palletize together according to the lifting column stroke data, and to control the robotic arm and the lifting column to return to the initial position after the pallet pattern corresponding to the palletizing anchor point data is completed.
8. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Robot control method, device and equipment and storage medium
CN117697732A
Material stacking method of collaborative robot
CN117842714A