Program creation device and program product
The program creation device obtains the work sequence and generates a robot motion program containing multiple execution modes, which solves the problem that users have difficulty in modifying automatically generated programs, and realizes the synchronization of parameter correction and the convenience of operation.
Patent Information
- Application Number
- CN202210732459.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-06-25
- Filing Date
- 2022-06-24
- Publication Date
- 2026-03-06
- Estimated Expiration
- 2042-06-24
AI Technical Summary
In existing technologies, once robot motion programs are automatically generated, users often find it difficult to understand the overall program, making it hard to reflect corrections in the relevant actions. Furthermore, the correction process is complex and prone to errors.
A program creation device was designed to acquire the sequence of tasks performed by a robot and create a robot motion program containing multiple execution modes. By switching the validity or invalidation of these modes through instructions, the parameter correction can be synchronized.
It simplifies the correction process for robot motion programs, reduces errors, and improves the convenience of user operation and the efficiency of correction.
Smart Images

Figure CN115519539B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a program creation apparatus, a program, and a robot motion program. Background Technology
[0002] For example, as described in Patent Document 1, an automatic program creation device is known in the past, which creates motion programs for causing a robot to perform operations on an object. In the automatic program creation device described in this document, the steps of the operation are created using a flowchart, and the motion program is automatically generated based on the created flowchart.
[0003] Patent Document 1: Japanese Patent Application Publication No. 2017-64844
[0004] Robot operations typically involve various actions. After the overall program is automatically generated, users sometimes modify the program for each action. Furthermore, if the program for a predetermined action is modified, this modification needs to be reflected in other related actions. However, because the overall program is automatically generated by a program creation device, it is difficult for users to understand the overall program and to reflect modifications in other actions. Summary of the Invention
[0005] The program creation apparatus of the present invention acquires the work sequence for a robot to perform and creates a robot motion program, the robot motion program comprising: an motion program based on the work sequence; an execution mode capable of switching between valid and invalid; and instructions for switching the execution mode between valid and invalid.
[0006] The program of the present invention obtains the order of tasks to be performed by the robot and creates a robot motion program, the robot motion program comprising: a motion program based on the order of tasks; an execution mode capable of switching between valid and invalid; and instructions for switching the execution mode between valid and invalid.
[0007] The robot motion program of the present invention includes: a motion program based on the sequence of tasks to be performed by the robot; an execution mode capable of switching between valid and invalid modes; and instructions for switching the execution mode between valid and invalid modes. Attached Figure Description
[0008] Figure 1 This is a perspective view showing the overall structure of the robot system involved in the preferred embodiment.
[0009] Figure 2 It is a block diagram representing the device for creating a program.
[0010] Figure 3 This is an example of a screen displayed by the program creation device.
[0011] Figure 4 This is an example of a screen displayed by the program creation device.
[0012] Figure 5 It is a diagram representing past problems.
[0013] Figure 6 It is a diagram representing a part of the program.
[0014] Figure 7 It is a diagram representing a part of the program.
[0015] Figure 8 It is a diagram representing a part of the program.
[0016] Figure 9 It is a diagram representing a part of the program.
[0017] Explanation of reference numerals in the attached figures
[0018] 1…robot system; 2…robot; 21…base; 22…robotic arm; 221…arm; 222…arm; 223…arm; 224…arm; 225…arm; 226…arm; 23…end-effector; 3…robot control unit; 4…program creation unit; 41…job information acquisition unit; 42…program generation unit; 51…monitor; 52…input device; 231…grinding component; C1…instruction; C2…instruction; C3…instruction; C4…instruction; E…encoder; J1… Joint; J2…Joint; J3…Joint; J4…Joint; J5…Joint; J6…Joint; M…Motor; P…Robot motion program; P0…Motion program; P11…Robot motion program; P11'…Robot motion program; P12…Robot motion program; P21…Robot motion program; P22…Robot motion program; Pf…Program; Pf'…Program; Pls…Program; Pls'…Program; PP…Program; Q…Object; W1…Window; W2…Window. Detailed Implementation
[0019] Hereinafter, the program creation apparatus, program, and robot motion program of the present invention will be described in detail based on the preferred embodiments shown in the accompanying drawings.
[0020] Figure 1 This is a perspective view showing the overall structure of the robot system involved in the preferred embodiment. Figure 2 It is a block diagram representing the device for creating a program. Figure 3 and Figure 4 These are examples of the screens displayed by the program creation device. Figure 5 It is a diagram representing past problems. Figures 6 to 9 These are diagrams representing parts of the program.
[0021] Before explaining the program creation device 4 that automatically creates the robot motion program P, a brief explanation will be given of the robot system 1 driven by the robot motion program P automatically created by the program creation device 4. For example... Figure 1 As shown, the robot system 1 has a robot 2 and a robot control device 3 that controls the drive of the robot 2 based on the robot motion program P.
[0022] Robot 2 is a six-axis robot with six drive axes. Robot 2 has a base 21 and a robotic arm 22 that is rotatably connected to the base 21, with an end effector 23 mounted at the front end of the robotic arm 22.
[0023] The robotic arm 22 is a robotic arm composed of multiple arms 221, 222, 223, 224, 225, and 226 that are rotatably connected, and has six joints J1 to J6. Among them, joints J2, J3, and J5 are bending joints, and joints J1, J4, and J6 are torsional joints. In addition, a motor M and an encoder E are respectively installed on joints J1, J2, J3, J4, J5, and J6.
[0024] Additionally, an end effector 23 is connected to the arm 226. The end effector 23 is easily mounted and detached from the arm 226, allowing for the selection of an end effector 23 suitable for the task performed by the robot 2. In this embodiment, the end effector 23 has a rotary-driven grinding component 231, enabling the robot 2 to perform a grinding task that smooths the surface of the object Q.
[0025] The above describes robot 2, but its structure is not particularly limited. For example, robot 2 can also be a SCARA robot (horizontal articulated robot), a dual-arm robot, etc. In addition, robot 2 can be fixed to the ground or other surfaces to make it immobile, or it can be fixed to a mobile device such as an automated guided vehicle (AGV) to make it mobile.
[0026] The robot control device 3 controls the drive of the robot system 1 based on the robot motion program P automatically created by the program creation device 4.
[0027] The robot control device 3, for example, is composed of a computer, having a processor for processing information, a memory communicatively connected to the processor, and an external interface for connecting to external devices. The memory stores various programs that can be executed by the processor, and the processor can read and execute the various programs stored in the memory.
[0028] The robot system 1 has been briefly described above. Next, the program creation device 4 for creating the robot motion program P will be described.
[0029] The program creation device 4, for example, is a computer, having a processor for processing information, a memory communicatively connected to the processor, and an external interface for connecting to external devices. The memory stores various programs PP that can be executed by the processor, which can read and execute the programs PP. The programs PP are software that automatically creates robot motion programs P, and the hardware with this software installed is the program creation device 4.
[0030] like Figure 2 As shown, this program creation device 4 includes a job information acquisition unit 41 and a program generation unit 42. The job information acquisition unit 41 acquires information related to the job to be performed by the robot 2, and the program generation unit 42 generates a robot motion program P based on the job-related information acquired by the job information acquisition unit 41. In addition, a monitor 51 serving as a display device and an input device 52 such as a keyboard and mouse are connected to the program creation device 4.
[0031] As a first step, the job information acquisition unit 41, for example, will... Figure 3 The input screen (graphical user interface) shown is displayed on the screen of monitor 51, and the robot 2 receives the action to be performed from the user via input device 52.
[0032] As an act of acceptance, there are no particular limitations, in Figure 3 In the example shown, the user can assign an action to a "Group" and can input for each Group the following: a "PList" indicating the start and end points of the movement of the end effector 23; a "Coordinate" indicating the coordinates used in the "PList"; a "Direction" indicating the pressing direction of the end effector 23 on the object Q; a "Force" indicating the pressing force of the end effector 23 on the object Q; a "Firmness" indicating the hardness of the object Q; a "Speed" indicating the moving speed of the end effector 23; and a "rpm" indicating the rotational speed of the grinding component 231. Figure 3 In the example shown, the user created five groups: Group0, Group1, Group2, Group3, and Group4.
[0033] In addition, after receiving an action from the user, the job information acquisition unit 41, as a second step, will... Figure 4 The input screen (graphical user interface) shown is displayed on the screen of monitor 51, and the job sequence is created based on the instructions from the user via input device 52. At this time, the execution order of Group0, Group1, Group2, Group3, and Group4 set in the first step can be determined, and other actions can also be inserted between consecutive groups.
[0034] Figure 4 The operation sequence shown is executed in the order of Group0, Group1, Group2, and Group3. Before executing Group0, the force sensor (not shown) configured on the robotic arm 22 is initialized, and the end effector 23 is moved to a starting position P (300) slightly away from Group0. After Group1 ends, wait for 5 seconds and then start Group2.
[0035] The program generation unit 42 creates a robot motion program P based on the work sequence created in the second step based on instructions from the user. The created robot motion program P includes a motion program P0 based on the work sequence that causes the robot 2 to perform, an execution mode that can be switched between active and inactive, and instructions for switching the execution mode between active and inactive. It should be noted that the execution mode is not particularly limited; examples include force control mode, low-speed execution mode, sequential execution mode, low-torque mode, coordinate system check mode, etc. Since these modes are frequently used in the drive control of the robot 2, they constitute a highly convenient robot motion program P.
[0036] Among these, the force control mode is a mode in which the robotic arm 22 feeds back the output from the aforementioned force sensor to the drive of the robot 2. The low-speed execution mode is a mode in which the robotic arm 22 is driven slowly at a predetermined speed or lower, for example, during test runs. The sequential execution mode is a mode in which, for example, during test runs, the robot 2 stops after completing each action and begins the next action upon receiving an instruction from the user. The low-torque mode is a mode in which the robotic arm 22 is driven with a small torque, below a predetermined torque, for example, to improve the safety of the robot on the human-coexisting side. The coordinate system check mode is a mode in which the user is confirmed to be correct regarding the coordinate systems used in the control of the robot 2 (the local coordinate system set for the object Q, and the tool coordinate system set for the end effector 23).
[0037] It should be noted that, for ease of explanation, the following explanation will use the case where the robot motion program P includes force control mode, low speed execution mode, successive execution mode, and coordinate system check mode as representative execution modes.
[0038] With a robot motion program P structured in this way, multiple execution modes can be managed through a single robot motion program P. Therefore, when modifying parameters related to a certain execution mode, synchronization with other execution modes does not need to be considered. In other words, if parameters related to a certain execution mode are modified, the modification is also reflected in other execution modes.
[0039] Specifically, for example, such as Figure 5As shown, in cases where different programs are created for each execution mode, such as robot motion program P11 with force control mode active, robot motion program P12 with force control mode inactive, robot motion program P21 with low-speed execution mode active, and robot motion program P22 with low-speed execution mode inactive, for example, even if the parameters in robot motion program P11 are modified to make it robot motion program P11', the modification will not be automatically reflected in other robot motion programs P12, P21, and P22.
[0040] Therefore, in order to achieve synchronization, users must also make the same modifications to the corresponding parts of other robot motion programs P12, P21, and P22. However, not all users have sufficient knowledge of the programs. For users with insufficient knowledge, they do not know which part of the robot motion programs P12, P21, and P22 needs to be modified to achieve synchronization, which makes the modification very difficult and prone to errors.
[0041] In contrast, according to the robot motion program P of this embodiment, as described above, since a single program contains multiple execution modes, if the parameters in the robot motion program P are modified, they are automatically synchronized to other execution modes. Therefore, even users with insufficient knowledge can easily modify the robot motion program P.
[0042] Figure 6 The diagram shows a portion of the robot's motion program P. As shown, the robot motion program P contains the following instructions listed side-by-side: C1 for selecting the successive execution mode, C2 for selecting the coordinate system check mode, C3 for selecting the force control mode, and C4 for selecting the low-speed execution mode. For example, if an apostrophe (') is entered before the "#" at the beginning of each instruction C1, C2, C3, and C4, the instructions C1, C2, C3, and C4 are commented out and become invalid. Conversely, if the apostrophe is deleted before the "#", the instructions C1, C2, C3, and C4 become valid.
[0043] therefore, Figure 6 The displayed states are: Successive Execution Mode = Valid, Coordinate System Check Mode = Valid, Force Control Mode = Invalid, and Low-Speed Execution Mode = Valid. Thus, since the validity / invalidity of each execution mode can be selected simply by the presence or absence of an apostrophe (') in the robot motion program P, even users with insufficient knowledge of the program can easily switch between valid and invalid execution modes.
[0044] In particular, in this embodiment, since all instructions C1, C2, C3, and C4 are displayed together in one form, the user can easily confirm the status of each execution mode and select whether it is valid or invalid. Therefore, it becomes an easy-to-operate robot motion program P. It should be noted that the above-mentioned "displayed together in one form" can also be described as a state where there are no instructions unrelated to the instructions C1, C2, C3, and C4.
[0045] And, as Figure 7 As shown, in this embodiment, instructions C1, C2, C3, and C4 can be displayed in a window W2, which is different from the window W1 that displays the motion program P0 contained in the robot motion program P. Furthermore, since window W2 essentially only displays instructions C1, C2, C3, and C4, the hassle of finding these instructions from the robot motion program P is eliminated. Therefore, the robot motion program P becomes easy to operate.
[0046] Here, Figure 8 This diagram shows the force control mode portion included in action program P0. As shown, the action program includes both program Pf when the force control mode is active and program Pf' when it is inactive. The configuration is such that if the force control mode is active in instruction C3, program Pf is selected; otherwise, program Pf' is selected. Similarly, Figure 9 This diagram shows the low-speed execution mode portion of the action procedure. As shown in the figure, the action procedure includes both the procedure Pls when the low-speed execution mode is active and the procedure Pls' when it is inactive. The configuration is such that if the low-speed execution mode is active in instruction C4, the procedure Pls is selected; if it is inactive, the procedure Pls' is selected.
[0047] The program creation device 4, the program PP, and the robot motion program P have been described above. As described above, the program creation device 4 acquires the work sequence that causes the robot 2 to execute and creates the robot motion program P. The robot motion program P includes a motion program P0 based on the work sequence, an execution mode that can be switched between active and inactive, and instructions C1, C2, C3, and C4 that switch the active or inactive execution mode. With this structure, since a single robot motion program P contains both a program for when the execution mode is active and a program for when it is inactive, if the parameters in the robot motion program P are modified, they are automatically synchronized to other execution modes. Therefore, even users with insufficient knowledge can easily modify the robot motion program P.
[0048] Furthermore, as described above, the execution modes include at least one of the following: a force control mode that controls the drive of robot 2 based on the applied force; a low-speed execution mode that drives robot 2 at a predetermined speed or below; a sequential execution mode in which robot 2 stops after each action; a low-torque mode that drives robot 2 at a predetermined torque or below; and a coordinate system check mode that queries whether the coordinate system used in the control of robot 2 is correct. This results in a highly convenient robot motion program P.
[0049] Furthermore, as mentioned above, the robot motion program P has multiple execution modes, and the multiple instructions C1, C2, C3, and C4 corresponding to each execution mode are collectively recorded in the robot motion program P. Therefore, the user can easily confirm the status of each execution mode and select whether it is valid or invalid. Thus, it becomes an easy-to-operate robot motion program P.
[0050] Furthermore, as described above, instructions C1, C2, C3, and C4 are displayed on the monitor 51, which is a display device, in a window W2 that is different from the operation sequence-based motion program P0. This eliminates the need to locate instructions C1, C2, C3, and C4 from the robot motion program P. Therefore, the robot motion program P becomes easier to operate.
[0051] Furthermore, as described above, program PP acquires the work sequence that causes robot 2 to execute and creates robot motion program P. Robot motion program P includes motion program P0 based on the work sequence, an execution mode that can be switched between active and inactive, and instructions C1, C2, C3, and C4 to switch the active or inactive execution mode. Due to this structure, since a single robot motion program P contains both the program for setting the execution mode to active and the program for setting it to inactive, any modification to the parameters in robot motion program P is automatically synchronized to other execution modes. Therefore, even users with limited knowledge can easily modify robot motion program P.
[0052] Furthermore, as described above, the robot motion program P includes motion program P0 based on the order of tasks performed by robot 2, instructions C1, C2, C3, and C4 that can switch between active and inactive execution modes, and instructions C1, C2, C3, and C4 that switch between active and inactive execution modes. With this structure, since a single robot motion program P contains both a program for when the execution mode is active and a program for when it is inactive, any modification to the parameters in robot motion program P is automatically synchronized to other execution modes. Therefore, even users with limited knowledge can easily modify robot motion program P.
[0053] The above description, based on the illustrated embodiments, outlines the program creation apparatus, program, and robot motion program of the present invention. However, the present invention is not limited thereto, and the structure of each part can be replaced with any structure having the same function. Furthermore, other arbitrary structures can be added to the present invention. Additionally, the various embodiments can be appropriately combined.
Claims
1. A program creating device characterized by comprising: a function of acquiring a work order for a robot to execute, and creating a robot motion program; the robot motion program including: a motion program based on the work order; a plurality of execution modes capable of being switched to be active or inactive; and a command for switching the execution modes to be active or inactive, the program including, in a single robot motion program, a program for when the execution mode is set to be active and a program for when the execution mode is set to be inactive, a plurality of the commands corresponding to the respective execution modes being collectively recorded in the robot motion program, and for the robot motion program, if a command for switching the execution mode to be active or inactive is input at the beginning of the command of the execution mode, the command of the execution mode is annotated to be inactive, and if the command for switching the execution mode to be active or inactive is deleted at the beginning of the command of the execution mode, the command of the execution mode becomes active.
2. The program creating device according to claim 1, characterized in that, as the execution modes, at least one of the following modes is included: a force control mode for controlling driving of the robot based on a force received; a low speed execution mode for driving the robot at a predetermined speed or lower; a step-by-step execution mode for stopping the robot after each motion; a low torque mode for driving the robot at a predetermined torque or lower; and a coordinate system check mode for inquiring whether a coordinate system used in control of the robot is correct.
3. The program creating device according to claim 1 or 2, characterized in that, the command is displayed on a screen of a display device in a window different from the motion program based on the work order. A program including: a function of acquiring a work order for a robot to execute, and creating a robot motion program; the robot motion program including: a motion program based on the work order; a plurality of execution modes capable of being switched to be active or inactive; and a command for switching the execution modes to be active or inactive, the program including, in a single robot motion program, a program for when the execution mode is set to be active and a program for when the execution mode is set to be inactive, a plurality of the commands corresponding to the respective execution modes being collectively recorded in the robot motion program, and for the robot motion program, if a command for switching the execution mode to be active or inactive is input at the beginning of the command of the execution mode, the command of the execution mode is annotated to be inactive, and if the command for switching the execution mode to be active or inactive is deleted at the beginning of the command of the execution mode, the command of the execution mode becomes active. A robot motion program including: a motion program based on a work order for a robot to execute; a plurality of execution modes capable of being switched to be active or inactive; and a command for switching the execution modes to be active or inactive, the program including, in a single robot motion program, a program for when the execution mode is set to be active and a program for when the execution mode is set to be inactive, a plurality of the commands corresponding to the respective execution modes being collectively recorded in the robot motion program, and for the robot motion program, if a command for switching the execution mode to be active or inactive is input at the beginning of the command of the execution mode, the command of the execution mode is annotated to be inactive, and if the command for switching the execution mode to be active or inactive is deleted at the beginning of the command of the execution mode, the command of the execution mode becomes active. 4. A program product, characterized by 5. A program product, characterized by If an instruction for switching the execution mode to active or inactive is input at the beginning of the execution mode instruction for the robot action program, the execution mode instruction is annotated to become inactive, and if the instruction for switching the execution mode to active or inactive is deleted at the beginning of the execution mode instruction, the execution mode instruction becomes active.
Citation Information
Patent Citations
Program automatic generation device
JP2017064844A
Control apparatus and control method for robot arm, assembly robot, control program for robot arm, and control-purpose integrated electronic circuit for robot arm
US20110190932A1
Robot control apparatus, robot, and robot system
US20160354925A1