Program creation auxiliary method, device and storage medium
By detecting user operations and converting the robot's motion flow, the problem of balancing versatility and operability in existing technologies is solved, and efficient versatility and operability of robot operations are achieved.
Patent Information
- Application Number
- CN202111561766.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-12-21
- Filing Date
- 2021-12-20
- Publication Date
- 2025-09-12
- Estimated Expiration
- 2041-12-20
AI Technical Summary
It is difficult to improve the versatility of robot operations while maintaining operability with existing technologies, especially for beginners, who have poor operability.
By detecting user operations, determining the type of work, and converting the dedicated motion flow of the robot action into a general motion flow, sequence changes are allowed, including the conversion of the motion flow by the display device and control circuit.
The versatility and operability of robot operations have been improved, and even beginners can complete efficient operations through simple operations.
Smart Images

Figure CN114647218B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a program creation assisting method, a program creation assisting device, a program creation assisting program, and a storage medium. Background Art
[0002] Patent Document 1 discloses a technology that enables simple instruction of a predetermined task by generating guidance information related to the input of force control parameters. Patent Document 2 discloses a technology that enables editing the action flow of a task by changing the combination of action objects representing the robot's actions.
[0003] Patent Document 1: Japanese Patent Application Laid-Open No. 2014-233814
[0004] Patent Document 2: Japanese Patent Application Publication No. 2019-126894
[0005] The technique described in Patent Document 1 teaches only specific tasks, making it difficult to improve versatility. The technique described in Patent Document 2 increases the number of action objects for versatility, which may reduce operability, especially for beginners. Summary of the Invention
[0006] One embodiment provides a program creation assistance method for assisting in the creation of a program for a robot to perform an operation, the program creation assistance method comprising: detecting a user's operation on an input device; determining the type of operation by selecting the type of operation; displaying a dedicated action flow corresponding to the type and representing a sequence of actions of the robot on a display device, wherein the dedicated action flow includes a dedicated object representing the action and wherein changes to the sequence are prohibited; and converting the dedicated object into a general object representing the action and wherein changes to the sequence are permitted by the operation of converting the dedicated object.
[0007] Another embodiment is a program creation assistance device that assists in the creation of programs for robots to perform operations, the program creation assistance device comprising: an input device that detects user operations; a display device that displays images; and a control circuit that determines the type of operation by selecting the type of operation; displays a dedicated action flow corresponding to the type, representing a sequence of actions of the robot, on the display device, wherein the dedicated action flow includes a dedicated object that represents the action and in which changes to the sequence are prohibited; and converts the dedicated object into a general object that represents the action and in which changes to the sequence are allowed, by the operation of converting the dedicated object.
[0008] Another method is a program creation assistance program that assists in the creation of a program for a robot to perform an operation, wherein the creation assistance program causes a computer to perform the following processing: detecting a user's operation on an input device; determining the type of the operation by selecting the type of the operation; displaying a dedicated action flow corresponding to the type and representing a sequence of actions of the robot on a display device, wherein the dedicated action flow includes a dedicated object that represents the action and in which changes to the sequence are prohibited; and converting the dedicated object into a general object that represents the action and in which changes to the sequence are allowed by the operation of converting the dedicated object.
[0009] Another embodiment provides a storage medium storing the program creation auxiliary program, wherein the storage medium can be read by the computer. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 This is a block diagram illustrating the basic configuration of a program creation support device according to an embodiment.
[0011] Figure 2 This figure explains an example of a creation screen.
[0012] Figure 3 This is a table that describes the correspondence between dedicated objects and common objects for each job.
[0013] Figure 4 This is a diagram illustrating fitting as a task performed by a robot.
[0014] Figure 5 This is a diagram for explaining the operation flow area that displays the dedicated operation flow.
[0015] Figure 6 This is a diagram explaining the operation flow area that displays the general operation flow.
[0016] Figure 7 This is a diagram explaining a dedicated operation flow including general objects.
[0017] Figure 8 This is a flowchart explaining an example of a program creation assistance method.
[0018] Description of Reference Numerals
[0019] 10: Program creation auxiliary device; 11: Display device; 12: Input device; 13: Control circuit; 14: Processing circuit; 15: Storage device; 16: Communication I / F; 20: Control device; 30: Robot; OB1: First action object; OB2: Second action object; OB3: Third action object; WK1, WK2: Objects. DETAILED DESCRIPTION
[0020] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In the accompanying drawings, the same or similar elements are denoted by the same or similar reference numerals, and overlapping descriptions may be omitted.
[0021] like Figure 1 As shown, the robot system according to the embodiment includes a program creation support device 10, a control device 20, and a robot 30. The robot 30 performs work on the object by controlling the force acting on the object to a target force. The control device 20 controls the robot 30 according to a program to perform the work on the object. Here, a program refers to a task program that causes the robot 30 to perform the movements and auxiliary functions required to perform the required task. The program creation support device 10 assists in the creation of a program for the robot 30 to perform the work.
[0022] Robot 30 is, for example, a multi-jointed robot with a six-axis arm capable of moving with six degrees of freedom. Robot 30 includes, for example, a base, a manipulator supported by the base, an end effector mounted on a mechanical interface of the manipulator, and a force sensor. The manipulator of robot 30 includes multiple actuators that drive each joint of the manipulator and multiple encoders that detect the rotation angle of each joint. The force sensor of robot 30 detects the force acting on an object via the end effector.
[0023] The control device 20 controls the manipulator and end effector of the robot 30 by executing a program, causing the robot 30 to perform work on an object. The control device 20 receives a signal corresponding to the force acting on the object from the robot 30's force sensor. The control device 20 performs force control on the robot 30 so that the force acting on the object reaches the target force defined by the program. In this embodiment, force can refer to load, that is, force and torque.
[0024] The control device 20 controls the robot 30 so that the posture obtained from the robot's encoders becomes the target posture defined by the program. The posture refers to, for example, the position and posture of the tool center point (TCP). The TCP is the reference for the position of the robot's end effector.
[0025] The program creation support device 10 includes a display device 11, an input device 12, a control circuit 13, and a communication interface (I / F) 16. The program creation support device 10 can be implemented using various general-purpose computers. The hardware of the program creation support device 10 can also be shared with the control device 20. The display device 11 displays images under the control of the control circuit 13. For example, a liquid crystal display, an organic light-emitting diode display, or the like can be used as the display device 11.
[0026] The input device 12 detects user operations and outputs signals corresponding to the user operations to the control circuit 13. Various input devices, such as a pointing device such as a mouse, a keyboard, buttons, and a touch sensor, can be used as the input device 12. A touch panel display can also be used as the display device 11 and input device 12 that are integrally formed.
[0027] The control circuit 13 includes a processing circuit 14 and a storage device 15. The processing circuit 14 constitutes a processing device of a computer that processes the operations required for the operation of the program creation support device 10. The processing circuit 14 realizes the various functions of the program creation support device 10 described in the embodiment by, for example, executing the program creation support program stored in the storage device 15. As a processing device constituting at least a part of the processing circuit 14, various logic operation circuits such as a central processing unit (CPU), a digital signal processor (DSP), a programmable logic device (PLD), and an application-specific integrated circuit (ASIC) can be used. The processing circuit 14 can be composed of an integrated hardware or a plurality of separate hardware components.
[0028] The storage device 15 includes a computer-readable storage medium that stores a program creation support program representing a series of processes required for the operation of the program creation support device 10, as well as various data. Examples of the storage medium include semiconductor memory and various magnetic disk media. The storage medium is not limited to non-volatile auxiliary storage devices but may also include volatile main storage devices such as registers and cache memories. At least a portion of the storage medium may also comprise a portion of the processing circuit 14. The storage device 15 may be comprised of either a single piece of hardware or a plurality of separate pieces of hardware.
[0029] The communication I / F 16 is communicatively connected to the control device 20 by establishing a communication link with the control device 20, for example, under the control of the processing circuit 14. The communication I / F 16 can include, for example, an antenna for transmitting and receiving signals, a circuit for processing signals transmitted in the communication link, and a socket for receiving a plug of a communication cable. The communication I / F 16 transmits the program created in the program creation support device 10 to the control device 20. The communication I / F 16 can also include a socket for receiving a plug of an auxiliary storage device for storing the program created in the program creation support device 10.
[0030] like Figure 2 As shown, when the processing circuit 14 executes the program creation support program, for example, it causes the display device 11 to display a creation screen W1 for creating a program for causing the robot 30 to perform an operation. The creation screen W1 includes a main view area MV, an action flow area FL, a sequence area SQ, a parameter area PR, a result area RS, and an execution area RN.
[0031] The main view area MV displays options for action objects that constitute the elements of the action flow, program execution results, and the like. The action flow area FL displays the action flow, which graphically represents the sequence of actions of the robot 30. The sequence area SQ displays the tree structure of the sequences within the action flow. The parameter area PR displays operation parameters related to the entire sequence, operation parameters related to each action, and the like. The result area RS displays program execution results, such as operation time. The execution area RN displays buttons for instructing program execution.
[0032] exist Figure 2 In the illustrated example, the multiple areas comprising the creation screen W1 are divided into separate frames, but these divisions are not required. The creation screen W1 includes a button BT1 in the upper left area for starting a wizard that assists in the creation process. For example, when the user presses button BT1 via the input device 12, the processing circuit 14 displays a job selection screen for selecting a job type on the display device 11 as part of the creation screen W1.
[0033] The job selection screen presents a plurality of job types as options to the user. The processing circuit 14 determines the job type based on the user's operation of selecting the job type. The job type can include, for example, various types such as pasting, screw tightening, height inspection, and fitting. Furthermore, the processing circuit 14 sets the job parameters by prompting the user to input the job parameters. For example, in the case where the job type is screw tightening, the job parameters are the length of the screw, the speed of the screwdriver, etc. The processing circuit 14 displays a dedicated action flow corresponding to the determined type, which represents the sequence of actions of the robot 30, in the action flow area FL. The action flow displayed in the action flow area FL can be edited by the user operating the input device 12.
[0034] like Figure 3 As shown, dedicated action flows represent various sequences, such as pasting sequences, screw tightening sequences, height check sequences, and fitting sequences. Therefore, the job selection screen can simply display a list of options corresponding to various dedicated action flows. A dedicated action flow is an action flow that includes dedicated objects representing the actions of robot 30 during operations on specific objects. Modifying the sequence of dedicated objects is prohibited. Modifying a sequence means adding, deleting, or moving objects within the sequence.
[0035] For example, the pasting sequence, which corresponds to the task of pasting an object in a specified position, consists of a single dedicated object: the pasting object. The screw tightening sequence, which corresponds to the task of inserting an external screw into an internal screw for tightening, consists of two dedicated objects: the screw tightening object and the screw re-tightening object. The height inspection sequence, which corresponds to the task of detecting the height of an object, consists of a single dedicated object: the height inspection object. The fitting sequence, which corresponds to the task of fitting an object in a specified position, consists of two dedicated objects: the insertion object and the tensile test object.
[0036] The following, such as Figure 4 As shown, an example in which the job type is determined to be mating, in which object WK1 is mated to object WK2, will be described. Objects WK1 and WK2 are mated to each other by snap-fitting. For example, object WK1 is gripped by a gripper of robot 30 and then mated to object WK2. First, the job type is determined to be mating based on a user's operation selecting the job type on the job selection screen. The sequence of actions corresponding to mating is a mating sequence.
[0037] like Figure 5 As shown, the processing circuit 14 determines that the type of operation is a fitting, and displays a dedicated action flow indicating a fitting sequence in the action flow area FL. Figure 5 In the example shown, the dedicated action flow consists of a sequence block SB describing the sequence, a first action object OB1, and a second action object OB2. For example, the sequence block SB sets the operation parameters that affect the first and second action objects OB1 and OB2. Examples of these operation parameters include the coordinate system, object shape, mating direction, mating depth, and approach distance. Operation parameters can also be set as dedicated objects.
[0038] The sequence block SB has a lock flag indicating that the action flow is a dedicated action flow and a string containing "EasyInsertSequence." The first action object OB1 is a dedicated object called an insert object. The second action object OB2 is a dedicated object called a tensile test object. Both the first and second action objects OB1 and OB2 have a lock flag indicating that sequence changes are prohibited.
[0039] exist Figure 5 In the example shown, the sequence block SB is highlighted by having a thicker outline than the first action object OB1 and the second action object OB2. The highlighted sequence block SB means that the sequence block SB is selected by the user's operation on the input device 12.
[0040] like Figure 6As shown, the processing circuit 14 converts the dedicated objects included in the dedicated action flow displayed in the action flow area FL into general objects by performing a predetermined operation to convert the dedicated action flow. For example, the processing circuit 14 displays a context menu corresponding to the selected sequence block SB on the display device 11. The processing circuit 14 converts the dedicated objects into general objects when the user selects "Convert" in the context menu.
[0041] exist Figure 6 In the example shown, the action flow consists of a sequence block SB, a first action object OB1, a second action object OB2, and a third action object OB3. Sequence block SB does not have a lock flag, indicating that the action flow is a dedicated action flow, but does have the string "General" to indicate that the action flow is a general action flow. A general action flow does not include dedicated objects but includes general objects. General objects represent the same actions as the dedicated objects before conversion, allowing sequence changes.
[0042] The first action object OB1 is a general object known as a pressing movement object. A pressing movement object represents the action of moving while pressing in a specified direction with a specified force. The second action object OB2 and the third action object OB3 are general objects known as pressing objects. A pressing object represents the action of pressing in a specified direction with a specified force.
[0043] exist Figure 6 In the example shown, the first action object OB1, the second action object OB2, and the third action object OB3 do not have a lock mark. However, the first action object OB1, the second action object OB2, and the third action object OB3 each have an icon as an image of each action. The general object has independent action parameters that are not affected by the operation parameters of the sequence block SB. For example, the action parameters of the pressing movement object are the coordinate system, pressing direction, movement type, movement distance, etc. Among the action parameters, the pressing direction can be specified by the parameters of the six axes. It should be noted that the icon as the image of each action can also be specified by Figure 5 The first operation object OB1 and the second operation object OB2 of the dedicated operation flow are displayed.
[0044] Figure 6 The sequence block SB is highlighted, which means that the general objects of the general action flow are converted from the special objects. Figure 3 As shown, Figure 5 The inserted object is equivalent to Figure 6 The pressing moves the object and presses the object. Similarly, Figure 5 The tensile test object is equivalent to Figure 6 The pressing object. Figure 5In the sequence block SB, the job parameters set in Figure 6 It is set as action parameter in each action object.
[0045] In the mating sequence, the robot 30 moves the object WK1 to a position close to the object WK2 by pressing the moving object. Figure 4 The robot 30 then slowly presses the object WK1 downward using the pressing object until it collides with the object WK2 and the force stabilizes. The robot 30 then presses the object WK1 upward using the pressing object to confirm that the object WK1 has not fallen off the object WK2.
[0046] In this example, the pressing and moving object of the first action object OB1 causes the object WK1 to move at a higher speed than the pressing object of the second action object OB2. Thus, by preventing the collision force between the objects WK1 and WK2 from becoming excessive, it is possible to achieve both high-speed interlocking and reduced collision force. By preparing such a dedicated action flow in advance, for example, even when a program is created by a beginner, efficient operations can be performed. Furthermore, since the program creation auxiliary device 10 converts the dedicated objects included in the dedicated action flow into general objects, it is possible to change the sequence. Thus, since the operation can be customized, the versatility is improved.
[0047] Dedicated action flows can be, for example, efficient, but they can also be difficult for beginners to understand or require a sequence change. Action flows that include general objects can have their sequence changed, but sometimes, due to, for example, deletion or movement of general objects, the desired operation cannot be performed. To prevent this, a message warning of a sequence change can be displayed on the display device 11 during the sequence change operation.
[0048] also, Figure 5 The operating parameters of the second action object OB2 in the program can be determined by the operating parameters of the sequence block SB or the first action object OB1. In other words, the stretching direction of the test object can be set to the opposite direction of the interlocking direction of the operating parameters of the interlocking sequence. This reduces the number of parameters to be set, improving operability during program creation.
[0049] In addition, if Figure 3 As shown, the paste object included in the paste sequence is converted into a press object. The screw fastening object included in the screw fastening sequence is converted into a press movement object, and the screw fastening object is converted into a press object and a press movement object. The height check object included in the height check sequence is converted into a contact object. The contact object represents an action that moves in a specified direction and stops after receiving a reaction force.
[0050] In addition to the above, general objects can include various objects such as force release, contour movement, face alignment, pressure detection, contact detection, conditional branching, and program execution. Force release is the action of contouring with the force on a specified axis set to zero. Contour movement is the action of moving along a specified track while contouring with the force on a specified axis set to zero. Face alignment is the action of aligning faces while pressing at a specified angle in a specified direction. Pressure detection is the action of finding a hole by pressing along a specified track. Contact detection is the action of finding a hole by repeatedly performing a contact action. Conditional branching branches the action flow based on the result of the object being judged. Program execution executes the program with the specified function name.
[0051] Or, as Figure 7 As shown, the processing circuit 14 converts the specific dedicated object displayed in the action flow area FL into a general object by performing a predetermined operation on the dedicated object. Figure 5 In the example shown, the first action object OB1 is selected by the user and highlighted in the action flow area FL. The processing circuit 14 displays the environment menu corresponding to the selected first action object OB1 on the display device 11. The processing circuit 14 converts each dedicated object into a general object by the user selecting "Convert" included in the environment menu. Figure 7 The dedicated action flow is displayed in the action flow area FL.
[0052] exist Figure 7 In the example shown, the action flow is composed of a sequence block SB, a first action object OB1 and a second action object OB2 which are general objects, and a third action object OB3 which is a dedicated object. Figure 5 The inserted object is equivalent to Figure 7 The processing circuit 14 highlights the pressed moving object and the pressed object converted from the inserted object as a general object. By highlighting the converted sequence block SB or general object, the user can be prompted with the relationship between the action flow before the conversion.
[0053] When converting a dedicated action flow, the action parameters in the universal object are inherited from the work parameters in the dedicated action flow. For example, the "coordinate system" of the embedding, which is a work parameter in the embedding sequence, is inherited as the "coordinate system" of the force control action parameter in the universal object. Similarly, the "embedding direction" specified in one direction is converted to the "pressing direction" specified by the six axes and is inherited. In this way, by converting to a universal object, the variety of parameters increases, and the versatility is improved.
[0054] Furthermore, the processing circuit 14 can also display the source code of the program representing the dedicated action flow displayed in the action flow area FL on the display device 11 in response to a user operation displaying the program using a character string. By editing the displayed program, more detailed settings can be made. The processing circuit 14 can also display the program representing the general action flow displayed in the action flow area FL on the display device 11. Furthermore, it is also possible to selectively convert a specific action target into a program or replace it with an object that executes the converted program.
[0055] Reference Figure 8 As a program creation support method according to an embodiment, an example of the operation of the program creation support device 10 will be described. Figure 8 The series of processing shown is executed by a program creation assisting program installed in the control circuit 13 .
[0056] In step S1, the processing circuit 14 displays a plurality of types of tasks that can be performed by the robot 30 as options for user selection on the display device 11. The processing circuit 14 determines the type of task based on the user's operation of the input device 12 for selecting the task type.
[0057] In step S2, the processing circuit 14 displays the dedicated action flow corresponding to the type determined in step S1 on the display device 11. The dedicated action flow is an image representing a sequence of actions in the job of the type determined in step S1. The dedicated action flow includes images representing the actions included in the sequence, namely, dedicated objects.
[0058] In step S3, the processing circuit 14 receives a user operation to convert the dedicated object displayed in step S2 via the input device 12. The operation to convert the dedicated object may also be an operation to convert the entire dedicated action flow.
[0059] In step S4, the processing circuit 14 converts the dedicated object converted in step S3 into a general-purpose object. Since sequence changes are allowed, the general-purpose object can be added, deleted, and moved in the sequence.
[0060] The program creation assistance device 10 displays a dedicated action flow corresponding to the type of task and converts the dedicated objects included in the dedicated action flow into universal objects. The dedicated action flow allows beginners, for example, to determine the sequence of actions with simple operations. Furthermore, the universal objects allow experienced users to make detailed adjustments. Therefore, the program creation assistance device 10 improves operability while maintaining universality in program creation assistance.
[0061] While the above embodiments have been described, the present invention is not limited to these disclosures. The configurations of the various components can be replaced with any configuration having the same function. Furthermore, any configuration in the various embodiments can be omitted or added within the technical scope of the present invention. Thus, based on these disclosures, those skilled in the art will be able to clearly identify various alternative embodiments.
[0062] For example, dedicated objects can be omitted from the action flow area FL. In this case, since actions corresponding to dedicated objects are set in the sequence block SB, the sequence block SB can be considered a dedicated object. Furthermore, to facilitate differentiation, dedicated objects and general objects can have different colors and shapes. This also applies to dedicated action flows and general action flows.
[0063] Furthermore, it is a matter of course that the above-mentioned configurations are applied to each other, and the present invention includes various embodiments not described above. The technical scope of the present invention is determined only by the invention-specific matters according to the claims that are appropriate based on the above description.
Claims
1. A program creation auxiliary method, characterized in that: Assisting in creating a program for a robot to perform an operation, the program creation assisting method comprising: Detect user operations on input devices; determining the type of the job by the operation of selecting the type of the job; displaying a dedicated motion flow on a display device, wherein the dedicated motion flow corresponds to the category and represents a sequence of motions of the robot, and includes dedicated objects representing the motions and prohibiting changes to the sequence; and By converting the dedicated object, the dedicated object is converted into a general object that represents the action and allows the sequence to be changed. The general object represents the same action as the action represented by the special object before conversion, When the dedicated object is converted, the action parameters in the converted general object are inherited from the job parameters in the dedicated action flow. The operation parameters are parameters related to the sequence as a whole, The action parameters are parameters related to each of the actions.
2. The program creation assisting method according to claim 1, wherein: By converting the operation of the dedicated action flow, each of the dedicated objects included in the dedicated action flow is converted into the general object.
3. The program creation assisting method according to claim 1 or 2, characterized in that: The converted general object is emphasized and displayed on the display device.
4. The program creation assisting method according to claim 1, wherein: By the operation of changing the sequence, a message warning that the sequence is changed is displayed on the display device.
5. The program creation assisting method according to claim 1, wherein: The source code of the program indicating the dedicated action flow is displayed on the display device.
6. A program creation assisting device, characterized in that: A program creation assisting device assists in creating a program for a robot to perform work, the program creation assisting device comprising: Input device, detecting user operations; Display device, displaying images; as well as a control circuit that determines the type of the job by selecting the type of the job; displaying a dedicated action flow on a display device, wherein the dedicated action flow corresponds to the category and represents a sequence of actions of the robot, and includes dedicated objects representing the actions and prohibiting changes to the sequence; and converting the dedicated object into a general object that represents the action and allows changes in the sequence, by converting the dedicated object. The general object represents the same action as the action represented by the special object before conversion, When the dedicated object is converted, the action parameters in the converted general object are inherited from the job parameters in the dedicated action flow. The operation parameters are parameters related to the sequence as a whole, The action parameters are parameters related to each of the actions.
7. A storage medium for storing a program creation auxiliary program, characterized in that: Can be read by a computer, The program creation assisting program assists in creating a program for a robot to perform a task, and causes the computer to execute the following processing: Detect user operations on input devices; determining the type of the job by the operation of selecting the type of the job; displaying a dedicated motion flow on a display device, wherein the dedicated motion flow corresponds to the category and represents a sequence of motions of the robot, and includes dedicated objects representing the motions and prohibiting changes to the sequence; and By converting the dedicated object, the dedicated object is converted into a general object that represents the action and allows the sequence to be changed. The general object represents the same action as the action represented by the special object before conversion, When the dedicated object is converted, the action parameters in the converted general object are inherited from the job parameters in the dedicated action flow. The operation parameters are parameters related to the sequence as a whole, The action parameters are parameters related to each of the actions.
Citation Information
Patent Citations
Robot teaching auxiliary device, robot system and robot teaching method
JP2014233814A
Robot control device and robot system
JP2019126894A
Teaching system
JP1983105303A