Robot control program processing method, simulation method, electronic device and system

CN118832574BActive Publication Date: 2026-09-15GREE ELECTRIC APPLIANCE INC OF ZHUHAI
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202410803823.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-06-20
Publication Date
2026-09-15
Estimated Expiration
2044-06-20

AI Technical Summary

Technical Problem

[0004]本申请提供了一种机器人的控制程序处理方法、电子设备及系统,以至少解决机器人的编程成本高昂、便捷性差的技术问题

Benefits of technology

[0063] In this embodiment, when designing a control program, only the palletizing information needs to be input. The program will automatically generate the corresponding control program based on the palletizing information, enabling the robot to perform corresponding actions and complete the handling of the actual palletized goods. The entire control program generation process only requires the user to input the palletizing information; there is no need to edit the program statements manually, reducing development time costs and improving convenience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118832574B_ABST
    Figure CN118832574B_ABST
Patent Text Reader

Abstract

The application relates to the field of intelligent devices, in particular to a robot control program processing method, an electronic device and a system. The method comprises the following steps: acquiring stacking information; acquiring motion information of a simulation robot in a to-be-taught scene, wherein the simulation robot carries simulation goods from a first area to a second area; and generating a control program according to the stacking information and the motion information, wherein the control program is used for being run by a physical robot to execute the motion corresponding to the motion information. When a code program needs to be designed, only the stacking information needs to be input, and then the corresponding control program can be automatically generated according to the stacking information, so that the physical robot can execute the corresponding motion when the control program is run, and the actual stacking goods can be carried. In the whole control program generation process, the user only needs to input the stacking information, and does not need to edit program statements by himself / herself, so that the time cost is reduced, and the convenience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of smart devices, and more specifically, to a method for processing control programs for a robot, an electronic device, and a system. Background Technology

[0002] With the proliferation of modern factories, more and more factories are using industrial robots to replace humans in performing complex tasks. These robots perform their respective jobs by running pre-programmed actions. Most of these robots are mobile robots, whose tasks include moving goods from one area to another. Although their behavior is simple, consisting of repetitive and fixed moving actions, their programming is quite complex.

[0003] For example, moving a 2*2*2 pallet requires three layers of loop operations. Therefore, when designing a palletizing program, it is necessary to write a three-layer loop program and design the palletizing gripping and placement points, which leads to high programming time costs and reduced convenience. Summary of the Invention

[0004] This application provides a robot control program processing method, electronic device, and system to at least solve the technical problems of high programming cost and poor convenience of robots.

[0005] According to a first aspect of the embodiments of this application, a robot control program processing method is provided, including:

[0006] Obtain palletizing information;

[0007] The action information of the simulated robot in the teaching scenario is obtained, which moves the simulated goods from the first area to the second area. The teaching scenario is formed based on the palletizing information and includes the first area where the simulated goods are placed, the second area where the simulated goods need to be moved, the simulated goods, and the simulated robot.

[0008] A control program is generated based on the palletizing information and the motion information. The control program is used by a physical robot to execute the actions corresponding to the motion information.

[0009] Optionally, the action information includes at least one of grasping action information, placing action information, and moving action information;

[0010] The acquisition of motion information of the simulated robot in the teaching scenario, which moves simulated goods from the first area to the second area, includes:

[0011] Obtain the grasping action information of the simulated robot in the teaching scenario on each of the simulated goods in the first area;

[0012] And / or, obtain the movement motion information of the simulated robot in the teaching scenario as it moves back and forth between the first area and the second area;

[0013] And / or, obtain the placement action information of the simulated robot in the second area on each of the simulated goods in the teaching scenario.

[0014] Optionally, the control program includes a basic program and an operating program; wherein the basic program is used to constrain the number of times the physical robot handles objects, and the operating program is used to constrain the running trajectory of the physical robot.

[0015] The step of generating a control program based on the palletizing information and the action information includes:

[0016] The basic program is generated based on the palletizing information;

[0017] The running program is generated based on the action information.

[0018] Optionally, the running program includes a grabbing program, a placing program, and a moving program;

[0019] The step of generating the running program based on the action information includes:

[0020] The grasping point and grasping motion path are determined based on the grasping action information;

[0021] The grasping program is generated based on the grasping point and the grasping motion path;

[0022] The placement point and placement path are determined based on the placement action information;

[0023] The placement program is generated based on the placement point and the placement movement path;

[0024] The mobile program is generated based on the mobile action information.

[0025] Optionally, the running program further includes a rotation program;

[0026] The step of generating the running program based on the action information further includes:

[0027] The rotation program is generated based on the rotation information used to characterize the rotational action in the motion information.

[0028] Optionally, acquiring the motion information of the simulated robot in the teaching scenario moving simulated goods from the first area to the second area includes:

[0029] The system acquires at least one of the grasping action information, placement action information, and movement action information transmitted by the vision software to obtain the action information, wherein the vision software is used to record the action trajectory generated by the simulated robot in the teaching scene and form the action information.

[0030] Optionally, the method further includes:

[0031] The control program is transmitted to the first controller and / or teach pendant of the physical robot so that when the first controller or teach pendant of the physical robot runs the control program, the physical robot performs the action corresponding to the action information.

[0032] According to a second aspect of the embodiments of this application, a method for simulating robot actions is provided, comprising:

[0033] Obtain palletizing information;

[0034] Based on the palletizing information, corresponding simulated goods are generated in a preset simulation scenario to update the simulation scenario to a teaching scenario. The teaching scenario includes a first area for placing the simulated goods, a second area where the simulated goods need to be moved, the simulated goods, and a simulated robot.

[0035] In response to a drag command for the simulated robot, the gripping point and placement point of the simulated robot for each of the simulated goods are determined;

[0036] The simulated robot's movements are controlled based on the gripping and placement points, so that the simulated robot can move the simulated goods from the first area to the second area.

[0037] Optionally, controlling the simulated robot's movements based on the grasping point and the placement point includes:

[0038] The simulated robot is controlled to perform a grasping action in the first area based on the grasping point.

[0039] The simulated robot in the teaching scenario is controlled to perform movement actions in the first and second areas.

[0040] The simulation robot in the teaching scenario is controlled to perform a placement action in the second area according to the placement point.

[0041] Optionally, before controlling the simulated robot's movements based on the grasping point and the placement point, the method further includes:

[0042] Based on the palletizing information, determine whether the gripping point and placement point are correct;

[0043] If an error occurs, the dragging command for the simulated robot is retrieved again and the gripping and placement points of each simulated cargo are redefined.

[0044] If correct, then execute the action of controlling the simulated robot based on the grasping point and the placement point.

[0045] Optionally, the palletizing information includes a scene coordinate system, in which the simulated goods are located and have goods grab coordinates and goods placement coordinates;

[0046] The step of determining whether the gripping point and placement point are correct based on the palletizing information includes:

[0047] Compare whether the first coordinate of the grabbing point in the scene coordinate system is within the range of the grabbing coordinates of the corresponding simulated goods;

[0048] Compare whether the second coordinate of the placement point in the scene coordinate system is within the range of the cargo placement coordinates of the corresponding simulated cargo.

[0049] Optionally, the palletizing information includes basic palletizing information, first area palletizing information, second area palletizing information, and scene coordinate system;

[0050] The step of generating corresponding simulated goods in a preset simulation scenario based on the palletizing information, so as to update the simulation scenario to the teaching scenario, includes:

[0051] Establish the scene coordinate system in the simulation scene;

[0052] The first region is determined in the scene coordinate system according to the palletizing basic information and the first region palletizing information.

[0053] The second region is determined in the scene coordinate system according to the palletizing basic information and the second region palletizing information.

[0054] The simulated cargo is generated in the scene coordinate system according to the palletizing basic information.

[0055] The simulation scene is then updated to the scene to be taught.

[0056] According to a third aspect of the embodiments of this application, an electronic device is provided, including offline programming software, for acquiring palletizing information, generating corresponding simulated goods in a preset simulation scenario based on the palletizing information, so that the simulation scenario is updated to a teaching scenario, wherein the teaching scenario includes a first area for placing the simulated goods, a second area to which the simulated goods need to be moved, the simulated goods, and a simulated robot; in response to a drag command for the simulated robot, determining the gripping point and placement point of the simulated robot for each of the simulated goods;

[0057] The second controller is used to control the actions of the simulated robot according to the gripping point and the placement point, so that the simulated robot can move the simulated goods from the first area to the second area;

[0058] Vision software is used to generate motion information based on the actions of the simulated robot;

[0059] The offline programming software is also used to acquire motion information of the simulated robot in the teaching scenario moving simulated goods from the first area to the second area; and to generate a control program based on the palletizing information and the motion information.

[0060] According to a fourth aspect of the embodiments of this application, a robot control program processing system is provided, including a first controller, a physical robot, and the electronic device described above;

[0061] The first controller is used to acquire the control program transmitted by the electronic device and control the physical robot to perform actions according to the control program, so that the physical robot performs actions corresponding to the action information.

[0062] Optionally, the first controller is mounted on the physical robot.

[0063] In this embodiment, when designing a control program, only the palletizing information needs to be input. The program will automatically generate the corresponding control program based on the palletizing information, enabling the robot to perform corresponding actions and complete the handling of the actual palletized goods. The entire control program generation process only requires the user to input the palletizing information; there is no need to edit the program statements manually, reducing development time costs and improving convenience. Attached Figure Description

[0064] Figure 1 This is a flowchart of a robot control program processing method in one embodiment.

[0065] Figure 2 This is a structural block diagram of palletizing information in one embodiment.

[0066] Figure 3This is a flowchart of a simulation method for robot actions in one embodiment.

[0067] Figure 4 This is an application flowchart of the control program processing method in one embodiment.

[0068] Figure 5 This is another application flowchart of the control program processing method in one embodiment. Detailed Implementation

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

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

[0071] According to an embodiment of this application, an embodiment of a robot control program processing method is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0072] Currently, operating industrial robots requires a certain level of technical expertise. Firstly, operators need to understand basic robot motion principles; only with this knowledge can they interpret the robot's operational information. Secondly, operators need programming experience; a foundation in programming is essential for operating robots in complex process scenarios. However, with the increasing prevalence of modern factories, more and more factories are using industrial robots to replace humans in performing complex tasks. Yet, the number of operators knowledgeable about robots is far from keeping pace with the widespread adoption of robots in chemical plants. Recognizing this problem, more and more robot manufacturers have designed simplified operating methods, allowing operators to perform a few simple steps to enable robots to work in complex motion scenarios.

[0073] The palletizing process involves a robot moving a pallet from one x*y*z grid to another. While the instructions in the palletizing program are generally similar—moving from one area to another—the program itself is exceptionally complex. For example, moving a 2*2*2 pallet requires three layers of loop operations. Therefore, when designing the palletizing program, the operator needs to write a three-layer loop program and also design the gripping and placement points, significantly wasting the user's programming time.

[0074] Based on this, the robot control program processing method provided in the embodiments of this application is as follows: Figure 1 As shown, it includes:

[0075] S101. Obtain palletizing information.

[0076] Palletizing information refers to information related to the palletized goods, such as... Figure 2 As shown, palletizing information includes, for example, basic palletizing information, grabbing information, and placement information. Specifically, basic palletizing information may include palletizing name, palletizing order, scene coordinate system, initial number of goods, current number of goods, palletizing direction, etc., aiming to determine at least the position and quantity of goods, as well as the distance between goods in different directions, based on the palletizing information.

[0077] Preferably, the palletizing name includes both a newly created palletizing name and a deleted palletizing name. Creating a new palletizing name can also be done by selecting a previously created palletizing name. During simulation, the simulation can only begin after the palletizing name has been determined.

[0078] The palletizing order refers to the order in which the pallets are placed, whether using the XYZ coordinate system, XZY, YZX coordinate system, etc. The default is XYZ, and there are six possible combinations.

[0079] The coordinate system can be either a user-defined workpiece coordinate system or the default workpiece coordinate system. Specifically, the newly created coordinate system is set according to the shape of the material arrangement. The default workpiece coordinate system is a geodetic coordinate system. The coordinate system is a three-dimensional coordinate system.

[0080] The initial number of goods needs to be edited by the user. The current number of goods displayed indicates which item is being moved in the current yard. The current number of goods can be viewed during the simulation.

[0081] S102. Obtain the motion information of the simulated robot in the teaching scenario moving the simulated goods from the first area to the second area.

[0082] The teaching scenario refers to the simulation scenario used to handle simulated goods. This teaching scenario can be set and displayed in the simulation software, and the simulation robot in the teaching scenario can be run through the simulation software to obtain motion information based on the simulation process.

[0083] The teaching scenario is formed based on the palletizing information. The teaching scenario includes a first area for placing simulated goods, a second area where the simulated goods need to be moved, the simulated goods, and the simulated robot.

[0084] Among them, motion information refers to the actions of the simulated robot, such as lifting, rotating, walking in a straight line, and lowering actions after grasping.

[0085] S103. Generate a control program based on the palletizing information and motion information. The control program is used by the physical robot to execute the actions corresponding to the motion information.

[0086] After obtaining the palletizing and motion information, the instructions to be triggered for the entire palletizing and handling process, as well as the number of goods to be handled and their positions, can be determined. Based on this, a control program can be automatically generated, enabling the physical robot to execute the actions corresponding to the motion information during operation.

[0087] Specifically, the control program can be generated using program generation software or a pre-set model framework. For example, using a pre-trained neural network model, after inputting palletizing information and motion information into the neural network model, the neural network model automatically generates a program based on a pre-set control program framework that can control the physical robot to perform actions corresponding to the motion information and move the goods corresponding to the palletizing information from one area to another.

[0088] Based on the above, when designing a control program, only the palletizing information needs to be input. The program will automatically generate the corresponding control program, enabling the robot to perform the appropriate actions and handle the palletized goods. The entire control program generation process requires only the user to input the palletizing information; no manual editing of program statements is necessary, reducing development time and increasing convenience.

[0089] In another embodiment of this application, the motion information includes at least one of grasping motion information, placing motion information, and moving motion information;

[0090] Obtain motion information of the simulated robot in the teaching scenario as it moves simulated goods from the first area to the second area, including:

[0091] Acquire information on the grasping actions performed by the simulated robot on each simulated object in the first area of ​​the teaching scenario;

[0092] And / or, obtain the movement motion information of the simulated robot in the teaching scenario as it moves back and forth between the first and second areas;

[0093] And / or, obtain information on the placement actions performed by the simulated robot in the teaching scenario on each simulated cargo in the second area.

[0094] When a simulated robot performs simulated material handling, its grasping, placing, and moving actions on simulated goods are collected to generate corresponding motion information. Specifically, this can be done by acquiring only the grasping, moving, and placing actions of the simulated robot on a single simulated item, or by acquiring the grasping, moving, and placing actions of the simulated robot on all simulated goods.

[0095] Based on the above, the motion information generated by the simulated robot is divided into three parts: grasping motion information, moving motion information, and placing motion information. This makes it easier to generate corresponding programs for each part when generating control programs later.

[0096] In another embodiment of this application, the control program includes a basic program and an operating program; wherein, the basic program is used to constrain the number of times the physical robot handles objects, and the operating program is used to constrain the running trajectory of the physical robot.

[0097] A control program is generated based on palletizing and motion information, including:

[0098] Generate basic programs based on palletizing information;

[0099] The program is generated based on the action information.

[0100] For example, the control program includes:

[0101] IF x<=4THEN;

[0102] IF y<=6THEN;

[0103] IF z<=2THEN;

[0104] Palletizing procedure;

[0105] END IF;

[0106] END IF;

[0107] END IF;

[0108] The basic procedure is IF x<=4THEN;

[0109] IF y<=6THEN;

[0110] IF z<=2THEN.

[0111] The program being run is a palletizing program.

[0112] Based on the above, the control program is divided into different modules, thereby generating the corresponding modules using different information. This allows users to understand and learn the control program, thus enabling better control of the physical robot. It also helps improve the efficiency of control program generation and facilitates the flexibility of control program modification.

[0113] In another embodiment of this application, the running program includes a grabbing program, a placing program, and a moving program;

[0114] Generate a running program based on the action information, including:

[0115] Determine the grasping point and grasping motion path based on the grasping action information;

[0116] Generate a grabbing program based on the grabbing points and the grabbing motion path;

[0117] Determine the placement point and placement path based on the placement action information;

[0118] Generate a placement procedure based on the placement point and placement movement path;

[0119] A mobile application is generated based on the mobile action information.

[0120] When generating a gripping program, the gripping point and gripping motion path are determined first. Similarly, when generating a placement program, the placement point and placement motion path are determined first. Specifically, this can be for the gripping point, gripping motion path, placement point, and placement motion path of a single simulated item, or it can be for all simulated items. This embodiment does not impose any specific limitations on this.

[0121] Based on the above, the runtime program is also generated in modules, which improves the efficiency and accuracy of runtime program generation, as well as the flexibility of runtime program modification.

[0122] In another embodiment of this application, the running program further includes a rotation program;

[0123] The program is generated based on the action information and also includes:

[0124] A rotation program is generated based on the rotation information used to characterize the rotational motion in the motion information.

[0125] Preferably, the rotation information can be obtained from the action information or from the palletizing information. For example, when obtaining the palletizing information, the rotation information is already included in the palletizing information, and the rotation program can be directly generated based on the rotation information summarized from the palletizing information.

[0126] Rotation information refers to whether the simulated robot rotates the simulated goods after grasping them, and whether it rotates the simulated goods before placing them. For example, after grasping the simulated goods, if the simulated robot rotates the simulated goods 90 degrees horizontally, this 90-degree rotation information is considered rotation information.

[0127] By considering rotation factors when generating the runtime program, as described above, we can improve the integrity of the control program.

[0128] In another embodiment of this application, obtaining motion information of the simulated robot in the teaching scenario moving simulated goods from a first area to a second area includes:

[0129] At least one of grasping action information, placement action information, and movement action information transmitted by vision software is acquired to obtain action information, wherein the vision software is used to record the action trajectory generated by the simulated robot in the teaching scene and form action information.

[0130] Vision software refers to software that can detect the movements of a simulated robot and record its motion trajectory during the process of the simulated robot handling simulated goods.

[0131] The above points demonstrate that using visual software to acquire motion information can help improve the accuracy and fidelity of that information.

[0132] In another embodiment of this application, the method further includes:

[0133] The control program is transmitted to the first controller and / or teach pendant of the physical robot so that when the first controller or teach pendant of the physical robot runs the control program, the physical robot performs the action corresponding to the action information.

[0134] Through the above, by transmitting the control program to the first controller and / or teach pendant, the control and / or teaching of the physical robot can be realized, making it easier to manipulate the physical robot.

[0135] This application also provides a method for simulating robot movements, such as... Figure 3 As shown, it includes:

[0136] S801, Obtain palletizing information.

[0137] S802. Generate corresponding simulated goods in the preset simulation scene based on the palletizing information, so that the simulation scene is updated to the teaching scene.

[0138] The teaching scenario includes a first area where simulated goods are placed, a second area where the simulated goods need to be moved, the simulated goods, and a simulated robot.

[0139] S803, in response to a drag command for the simulated robot, determines the gripping and placement points of the simulated robot for each simulated item.

[0140] S804. Control the actions of the simulated robot according to the gripping point and the placement point, so that the simulated robot can move the simulated goods from the first area to the second area.

[0141] Based on the above, simulation using palletizing information enables the simulated robot to perform corresponding handling actions according to the actual palletizing situation. This facilitates the collection of the simulated robot's actions to generate control programs, eliminating the need for users to edit the control programs themselves. This improves the ease of program editing, the degree of alignment with the actual handling of palletized goods, and the reliability of the control programs.

[0142] In another embodiment of this application, controlling the motion of the simulated robot based on the gripping point and the placement point includes:

[0143] The robot is controlled to perform a grasping action in the first area based on the grasping point.

[0144] Control the simulated robot in the teaching scenario to perform movement actions in the first and second regions.

[0145] The simulation robot in the teaching scenario is controlled to perform a placement action in the second area based on the placement point.

[0146] Based on the above, the actions generated by the simulated robot are divided into three parts: grasping actions, moving actions, and placing actions. This makes it easier to generate corresponding programs for each part when generating control programs later.

[0147] In another embodiment of this application, before controlling the motion of the simulated robot based on the gripping point and the placement point, the method further includes:

[0148] Determine whether the gripping and placement points are correct based on the palletizing information;

[0149] If an error occurs, the dragging instructions for the simulated robot are retrieved again and the gripping and placement points for each simulated item are redefined.

[0150] If correct, then execute the simulated robot's actions based on the gripping and placement points.

[0151] The above information helps to identify obvious errors when users drag the simulated robot, improving the accuracy of gripping and placement points.

[0152] In another embodiment of this application, the palletizing information includes a scene coordinate system, in which the simulated goods are located and have goods grab coordinates and goods placement coordinates;

[0153] Determine whether the gripping and placement points are correct based on the palletizing information, including:

[0154] Compare whether the first coordinate of the grab point in the scene coordinate system is within the range of the grab coordinates of the corresponding simulated goods;

[0155] Compare whether the second coordinate of the placement point in the scene coordinate system is within the range of the corresponding simulated cargo placement coordinates.

[0156] The above methods demonstrate how to determine the correctness of the grab point and placement point using a coordinate system and coordinate values. This approach is simple, convenient, and helps improve the efficiency of the judgment.

[0157] In another embodiment of this application, the palletizing information includes basic palletizing information, first area palletizing information, second area palletizing information, and scene coordinate system;

[0158] Based on the palletizing information, corresponding simulated goods are generated in a preset simulation scenario to update the simulation scenario to the teaching scenario, including:

[0159] Establish a scene coordinate system in the simulation scene;

[0160] In the scene coordinate system, the first region is determined according to the basic palletizing information and the first region palletizing information.

[0161] The second region is determined in the scene coordinate system based on the basic palletizing information and the second region palletizing information.

[0162] Simulated goods are generated in the scene coordinate system based on the basic palletizing information.

[0163] This allows the simulation scene to be updated to the scene to be taught.

[0164] This application embodiment also provides an electronic device, including offline programming software, for acquiring palletizing information and generating corresponding simulated goods in a preset simulation scene based on the palletizing information, so that the simulation scene is updated to a teaching scene, wherein the teaching scene includes a first area for placing simulated goods, a second area where the simulated goods need to be moved, the simulated goods, and a simulated robot; in response to a drag command for the simulated robot, the gripping point and placement point of the simulated robot for each simulated goods are determined;

[0165] The second controller is used to control the actions of the simulated robot according to the gripping point and the placement point, so that the simulated robot can move the simulated goods from the first area to the second area.

[0166] Vision software is used to generate motion information based on the movements of a simulated robot;

[0167] The offline programming software is also used to acquire motion information of the simulated robot in the teaching scenario, which moves simulated goods from the first area to the second area; and to generate control programs based on the palletizing information and motion information.

[0168] This application also provides a robot control program processing system, including a first controller, a physical robot, and the aforementioned electronic equipment;

[0169] The first controller is used to acquire the control program transmitted by the electronic device and control the physical robot's actions according to the control program, so that the physical robot performs the actions corresponding to the action information.

[0170] In another embodiment of this application, the first controller is mounted on a physical robot.

[0171] [1] For ease of understanding, such as Figure 2 , 4 As shown in Figure 5, taking palletizing as an example; a six-axis robot is added to the offline programming simulation software, and the conveyor belt places the pallet in area A;

[0172] [2] Open the palletizing process package in offline programming and enter the basic information, grab information and placement information of palletizing respectively.

[0173] [3] Basic information includes pallet name, pallet order, reference coordinate system, pallet direction, initial number of pallets and current number of pallets.

[0174] [4] Pallet name includes new pallet name and delete pallet name. You can also select a previously created pallet to create a new one. You can only start the operation after creating a new pallet name;

[0175] [5] The palletizing order refers to the order in which the pallets are placed, whether it is in the XYZ coordinate system or the XZY, YZX coordinate system, etc. The default is XYZ, and there are six possible combinations.

[0176] [6] The reference coordinate system can be either a user-defined workpiece coordinate system or the default workpiece coordinate system;

[0177] [7] The initial number needs to be edited by the user. The current number shows which item is being moved in the current code. The current number can be viewed during operation.

[0178] [8] Users need to fill in the palletizing information in the grabbing and placement information modules. The length, width, and height of each item, as well as the palletizing composition, placement point location, and whether rotation is required, all need to be entered. Among them, the palletizing composition is x*y*z, where x is the number of items in the X direction of the palletizing, y is the number of items in the Y direction of the palletizing, and z is the number of items in the Z direction of the palletizing, i.e., the number of item layers.

[0179] [9] After the process package information is entered, the position can be taught according to the gripping point and the placement point of the palletizing. After teaching, the gripping point and the placement point are sent to the controller via TCP communication. The controller controls the robot to run to the gripping point or the placement point. The vision software records the motion path and the offline programming software programming interface generates the gripping and placement program.

[0180]

[10] Based on the palletizing information, we can deduce that the palletizing composition is x*y*z, and we deduce that three layers of loops need to be set up. The X direction needs to loop x times, the Y direction needs to loop y times, and the Z direction needs to loop z times. Assuming it is a 4*6*2 palletizing, taking Gree's offline programming software as an example, it will generate a program like this:

[0181] IF x<=4THEN

[0182] IF y<=6THEN

[0183] IF z<=2THEN

[0184] Palletizing program

[0185] END IF

[0186] END IF

[0187] END IF

[0188]

[11] Based on the information in the process package, the vision software records the palletizing placement, such as whether the placement position needs to be rotated. If rotation is required, a palletizing rotation program is added.

[0189]

[12] After the program is written, the teach pendant and the offline programming software are synchronized so that the program in the teach pendant is consistent with the program in the offline programming software.

[0190]

[13] The external wiring method allows the robot's control to be switched to offline programming software or a teach pendant. The palletizing program can also be exported and loaded into the teach pendant in the factory.

[0191]

[14] Users can adjust according to the actual operation of the factory. Figure 2 The information in the palletizing process package configuration interface is used to re-teach the gripping point, placement point, and other information such as whether to rotate.

[0192] Run the generated palletizing program to test it. If any abnormalities occur, you can readjust the palletizing information.

[0193] Based on this, the processing method provided in the embodiments of this application has at least the following technical effects:

[0194] This invention adds a palletizing process package to offline programming software. Users can directly generate an integrated palletizing coding program using the configuration information in the palletizing process package. Then, the running information recorded in the vision software directly generates a palletizing execution program. If the palletizing program runs without errors in the virtual offline programming software, it can be exported and imported into the teaching software in actual production, or the offline programming software can be connected to the robot in the production line, and control can be switched to the offline programming software. The robot can then be run directly through this program to complete the application of the palletizing process.

[0195] The advantage of this invention is that users can generate an application using only visible operations. This programming method will enable more and more people to learn how to operate industrial robots; at the same time, by utilizing robot template-based programming, it can deepen users' learning of industrial robots, solve the problem of needing to recode for the same application scenario, save programming time, improve programming efficiency, and enhance user experience.

[0196] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0197] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0198] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.

[0199] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0200] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0201] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0202] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A control program generation method for a robot, characterized by, include: Obtain the palletizing information input by the user, wherein the palletizing information includes at least the scene coordinate system and the quantity of goods, and the scene coordinate system is a three-dimensional coordinate system; Based on the palletizing information, corresponding simulated goods are generated in a preset simulation scenario to update the simulation scenario to a teaching scenario. The teaching scenario includes a first area for placing the simulated goods, a second area where the simulated goods need to be moved, the simulated goods, and a simulated robot. In response to a drag command for the simulated robot, the gripping point and placement point of the simulated robot for each of the simulated goods are determined; Based on the gripping point and the placement point, the simulation robot is controlled to perform a transporting action in the teaching scenario, moving the simulated goods from the first area to the second area. Acquire motion information of the simulated robot in the teaching scenario as it moves simulated goods from the first area to the second area; A basic program is generated based on the palletizing information, and the basic program is used to constrain the number of times the physical robot handles the load. An operating program is generated based on the action information, and the operating program is used to constrain the operating trajectory of the physical robot; The control program includes the basic program and the running program. The control program is used by the physical robot to execute the actions corresponding to the motion information.

2. The control program generation method of a robot according to claim 1, characterized by, The action information includes at least one of grasping action information, placing action information, and moving action information; The acquisition of motion information of the simulated robot in the teaching scenario, which moves simulated goods from the first area to the second area, includes: Obtain the grasping action information of the simulated robot in the teaching scenario on each of the simulated goods in the first area; And / or, obtain the movement motion information of the simulated robot in the teaching scenario as it moves back and forth between the first area and the second area; And / or, obtain the placement action information of the simulated robot in the second area on each of the simulated goods in the teaching scenario.

3. The control program generation method of a robot according to claim 2, characterized in that, The running program includes a capture program, a placement program, and a movement program; The step of generating a running program based on the action information includes: The grasping point and grasping motion path are determined based on the grasping action information; The grasping program is generated based on the grasping point and the grasping motion path; The placement point and placement path are determined based on the placement action information; The placement program is generated based on the placement point and the placement movement path; The mobile program is generated based on the mobile action information.

4. The robot control program generation method according to claim 3, characterized in that, The running program also includes a rotation program; The step of generating the running program based on the action information further includes: The rotation program is generated based on the rotation information used to characterize the rotational action in the motion information.

5. The method for generating a robot control program according to any one of claims 2-4, characterized in that, The acquisition of motion information of the simulated robot in the teaching scenario, which moves simulated goods from the first area to the second area, includes: The system acquires at least one of the grasping action information, placement action information, and movement action information transmitted by the vision software to obtain the action information, wherein the vision software is used to record the action trajectory generated by the simulated robot in the teaching scene and form the action information.

6. The robot control program generation method according to claim 1, characterized in that, The method further includes: The control program is transmitted to the first controller or teach pendant of the physical robot, so that when the first controller or teach pendant of the physical robot runs the control program, the physical robot performs the action corresponding to the action information.

7. The robot control program generation method according to claim 1, characterized in that, The step of controlling the simulated robot to perform a transporting action in the teaching scenario, based on the gripping point and the placement point, to move the simulated goods from the first area to the second area includes: The simulated robot is controlled to perform a grasping action in the first area based on the grasping point. The simulated robot in the teaching scenario is controlled to perform movement actions in the first and second areas. The simulation robot in the teaching scenario is controlled to perform a placement action in the second area according to the placement point.

8. The robot control program generation method according to claim 1, characterized in that, Before controlling the simulated robot to perform a transport action of moving the simulated goods from the first area to the second area in the teaching scenario based on the gripping point and the placement point, the method further includes: Determine whether the gripping point and placement point are correct based on the palletizing information; If an error occurs, the dragging command for the simulated robot is retrieved again and the gripping and placement points of each simulated cargo are redefined. If correct, then based on the gripping point and placement point, control the simulation robot to perform a transporting action in the teaching scenario to move the simulated goods from the first area to the second area.

9. The robot control program generation method according to claim 8, characterized in that, The simulated cargo is located in the scene coordinate system and has cargo grab coordinates and cargo placement coordinates; The step of determining whether the gripping point and placement point are correct based on the palletizing information includes: Compare whether the first coordinate of the grab point in the scene coordinate system is within the range of the grab coordinates of the corresponding simulated goods; Compare whether the second coordinate of the placement point in the scene coordinate system is within the range of the cargo placement coordinates of the corresponding simulated cargo.

10. The method for generating a robot control program according to claim 1, characterized in that, The palletizing information includes basic palletizing information, first area palletizing information, second area palletizing information, and scene coordinate system; The step of generating corresponding simulated goods in a preset simulation scenario based on the palletizing information, so as to update the simulation scenario to the teaching scenario, includes: Establish the scene coordinate system in the simulation scene; The first region is determined in the scene coordinate system according to the palletizing basic information and the first region palletizing information. The second region is determined in the scene coordinate system according to the palletizing basic information and the second region palletizing information. The simulated cargo is generated in the scene coordinate system according to the palletizing basic information. The simulation scene is then updated to the scene to be taught.

11. An electronic device, characterized in that, The system includes offline programming software for acquiring palletizing information and generating corresponding simulated goods in a preset simulation scenario based on the palletizing information, so that the simulation scenario is updated to a teaching scenario. The teaching scenario includes a first area for placing the simulated goods, a second area where the simulated goods need to be moved, the simulated goods, and a simulated robot. In response to a drag command for the simulated robot, the system determines the gripping point and placement point of the simulated robot for each simulated goods. The second controller is used to control the simulation robot to perform a transporting action in the teaching scenario according to the gripping point and the placement point, so that the simulation robot transports the simulation goods from the first area to the second area; Vision software is used to generate motion information based on the handling actions of the simulated robot; The offline programming software is also used to acquire motion information of the simulated robot in the teaching scenario moving simulated goods from the first area to the second area; generate a basic program based on the palletizing information, the basic program being used to constrain the number of times the physical robot moves goods; and generate a running program based on the motion information, the running program being used to constrain the running trajectory of the physical robot.

12. A robot control program processing system, characterized in that, Includes a first controller, a physical robot, and the electronic device as described in claim 11; The first controller is used to acquire the control program transmitted by the electronic device and control the physical robot to perform actions according to the control program, so that the physical robot performs actions corresponding to the action information.

13. The system according to claim 12, characterized in that, The first controller is mounted on the physical robot.

Citation Information

Patent Citations

  • VR system control-based industrial robot teaching system and teaching method thereof

    CN107610579A

  • Stacking robot system for practical training and assessment method thereof

    CN110842897A

  • Robot offset simulation method and device, electronic equipment and storage medium

    CN115816436A