CONTROL DEVICE AND COMPUTER

The control device for cooperative robots addresses inefficiencies and risks by generating avoidance routes based on sensor data and user-defined effector constraints, enhancing safety and efficiency in robot operations.

DE112022007718T5Pending Publication Date: 2025-07-03FANUC LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
DE112022007718
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-11-15
Publication Date
2025-07-03

AI Technical Summary

Technical Problem

Existing cooperative robots face challenges in safely navigating their environment while considering the orientation and position of various effectors, leading to inefficient operations and potential risks such as object dropping or reduced stability, due to the limitations of current risk assessment methods.

Method used

A control device that includes a processor and storage unit to generate and execute an avoidance route for a robot based on sensor detection and effector constraints, allowing for precise control of effector position and orientation, and a display device for user input and setting of effector restrictions.

Benefits of technology

Enhances the safety and efficiency of robot operations by ensuring that the effector maintains a suitable orientation and position, reducing the risk of object dropping and improving tact time through optimized route generation and user-defined constraints.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

What is desired is a technology for enabling settings depending on the type of an effector, the function required for the effector, the type of target, the type of work, the function required in the work, etc. A control device is provided which is equipped with a processor and a storage unit which stores an effector condition which is a condition regarding a change in the position and / or attitude of an effector of a robot as viewed from predetermined reference coordinates, wherein the processor executes: a generation process which generates an avoidance route based on at least one detection result of an avoidance object based on an output signal of a sensor and the effector condition; and a control process which causes the robot to operate along the generated avoidance route.
Need to check novelty before this filing date? Find Prior Art

Description

{field of technology}

[0001] The present disclosure relates to a control device and a computer. {State of the art}

[0002] Cooperative robots, which are capable of working together with a person in a work area and have a safety function to detect contact with the person or an object and stop the robot, are widely used in the field of industrial robots.

[0003] In the field of cooperative robots, a system has been developed in which the cooperative robot is capable of detecting the approach of a target to be avoided, such as a person or an object, using a camera, thermal imaging, a distance sensor, an electrostatic capacitance sensor, or the like, and is also capable of generating an avoidance route and avoiding the target to be avoided in a non-contact manner. See, for example, PTL 1.

[0004] In the field of industrial robots, an operating range or a restricted area is generally set in advance to prevent interference between the robot and the surrounding environment. A function is known that allows the robot to operate only within a non-interference area. A function for performing detailed interference calculations using three-dimensional models of the robot and the surrounding environment is also known. See, for example, PTL 2.

[0005] In the field of industrial robots, a method is also known in which a route is generated such that the protrusion of an effector is not directed toward a person or the like. See, for example, PTL 3. {List of citations}{Patent literature} {PTL 1] Japanese Unexamined Patent Application, Publication No. 2019-206080 {PTL 2] Japanese Unexamined Patent Application, Publication No. 2017-094430 {PTL 3] Japanese Unexamined Patent Application, Publication No. 2016-196069 {Summary of the invention}{Technical problem}

[0006] When teaching a robot, a sufficient risk assessment is required to ensure that the robot can operate safely. Risk is generally reduced by defining a spatial area within which the robot can operate. When the approach of a person or object is detected and the recalculation of an avoidance path and the robot's operation are carried out, a risk assessment including an avoidance process is required. In a cooperative robot, which can stop safely at the time of contact, the risk is generally reduced. However, when assessing the risk including the robot's avoidance process, there can be an enormous number of issues to consider, as the avoidance process can change in various ways.

[0007] For example, if there is a suitable orientation range, position, etc., for the effector to safely perform its function, it is desirable that the robot's avoidance operation adhere to this range. For example, if the avoidance operation reflecting the nature of the effector is not performed, the avoidance operation may cause an undesirable situation, such as the dropping of an object such as a workpiece, etc. Alternatively, the avoidance may reduce the stability of the robot's work, etc. There are a variety of effectors for attachment to the distal end portion of the robot, such as a hand and a suction cup for handling articles, a torch for welding, a scanner for inspection, and so on, and it is desirable to operate the robot in accordance with the effector.For example, in a setting where the orientation of the effector is fixed to a specific state, the avoidance route generation and choices are limited, which is inefficient, and the tact time may decrease. On the other hand, if a physical simulation method is used to calculate contact, the falling of an object such as a workpiece, and the like in real time, and the robot is controlled based on the calculation result, the computational cost increases. There is a need for a method that enables adjustment according to a type of effector, a function required by the effector, a type of object, a type of work, a function required by the work, and the like. {Technical solution}

[0008] A control device according to a first aspect of the present disclosure includes a processor; and a storage unit that stores an effector constraint that is a constraint related to a change in a position and / or an orientation of an effector of a robot as viewed from predetermined reference coordinates, wherein the processor is configured to execute: generation processing that generates an avoidance route based on at least a detection result of a target to be avoided based on an output signal of a sensor and the effector constraint; and control processing that causes the robot to perform an avoidance operation along the generated avoidance route.

[0009] A control device according to a second aspect of the present disclosure includes a processor; a storage unit; and a display device that displays a setting screen for a setting that causes a robot to perform an avoidance operation based on an output signal of a sensor, wherein the display device is capable of displaying a screen for setting an effector restriction that is a restriction related to a change in a position and / or an orientation of an effector of the robot as viewed from predetermined reference coordinates, and the screen is for setting the effector restriction based at least on an input from a user.

[0010] A computer according to a third aspect of the present disclosure comprises a processor; a storage unit; and a display device configured to display a setting screen of an effector constraint, which is a constraint related to a change in a position and / or an orientation of an effector of a robot as viewed from predetermined reference coordinates, wherein the setting screen is for setting the effector constraint based on at least one input from a user, and the processor is configured to execute, using at least the effector constraint, a simulation that causes a model of the robot to perform an avoidance operation and to determine whether or not the avoidance operation satisfies a criterion. {Brief description of the drawings} { Fig. 1] Fig. 1 is a schematic diagram of a robot system including a robot according to a first embodiment. { Fig. 2] Fig. 2 is a block diagram illustrating a configuration of a control device of the robot according to the present embodiment. { Fig. 3] Fig. 3 is a schematic diagram of various effectors mounted on the robot of the present embodiment. { Fig. 4] Fig. 4 is a schematic diagram of an operation of an effector mounted on the robot of the present embodiment. { Fig. 5] Fig. 5 is an example of an effector restriction set in the control device of the present embodiment. { Fig. 6] Fig. 6 is an example of a screen displayed by the control device of the present embodiment. { Fig. 7] Fig. 7 is an example of a screen displayed by the control device of the present embodiment. { Fig. 8] Fig. 8 is an example of a screen displayed by the control device of the present embodiment. { Fig. 9] Fig. 9 is an example of a screen displayed by the control device of the present embodiment. { Fig. 10] Fig. 10 is an example of a screen displayed by the control device of the present embodiment. { Fig. 11] Fig. 11 is an example of a screen displayed by the control device of the present embodiment. { Fig. 12] Fig. 12 is an example of a screen displayed by the control device of the present embodiment. { Fig. 13] Fig. 13 is an example of a screen displayed by the control device of the present embodiment. { Fig. 14] Fig. 14 is a block diagram illustrating an example of a function of a control device of the present embodiment. { Fig. 15] Fig. 15 is an example of a screen displayed by the control device of the present embodiment. { Fig. 16] Fig. 16 is an example of a screen displayed by the control device of the present embodiment. { Fig. 17] Fig. 17 is an example of a screen displayed by the control device of the present embodiment. { Fig. 18] Fig. 18 is an example of a screen displayed by the control device of the present embodiment. { Fig. 19] Fig. 19 is an example of a screen displayed by the control device of the present embodiment. { Fig. 20] Fig. 20 is an example of a screen displayed by the control device of the present embodiment. { Fig. 21] Fig. 21 is an example of a screen displayed by the control device of the present embodiment. { Fig. 22] Fig. 22 is an example of a screen displayed by the control device of the present embodiment. { Fig. 23] Fig. 23 is an example of a screen displayed by the control device of the present embodiment. {Description of embodiments}

[0011] A robot control device 1 according to a first embodiment will be described below. The control device 1 is provided to control an arm 10A of a robot 10 ( Fig. 1).

[0012] Although the robot 10 is not limited to a particular type, the robot 10 of the present embodiment is a six-axis articulated robot. The robot 10 may be an articulated robot with five or fewer axes or seven or more axes, a horizontally articulated robot, a multi-link robot, and the like. The articulated robot with seven or more axes is one of the preferred examples of the present embodiment because the number of avoidance route choices increases. The robot 10 or its arm 10A may also rely on a traveling device such as a linear guide and the like, an automated guided vehicle (AGV), a vehicle, a walking robot, and so on.

[0013] The arm 10A has a plurality of movable sections 12 which are connected to one another by means of joints, and a plurality of servo motors 11 which drive the plurality of movable sections 12 accordingly ( Fig. 1 and Fig. 2). Each servo motor 11 includes an operating position detecting device such as a sensor, an encoder 11A, and the like for detecting its operating position. In the present embodiment, the control device 1 receives detection values from the encoder 11A.

[0014] As in Fig. 1, for example, an effector 30 such as a hand, a tool, and the like is mounted on a distal end portion of the arm 10A, and the arm 10A is a part of a robot system that performs work on an object 2, which is a work target, on, for example, a transport device.

[0015] The work is a known work activity, such as picking up the object 2, processing for the object 2, attaching a component to the object 2, and the like. The processing for the object 2 is a known processing such as machining, painting, washing, and the like. The transportation device can be any device that can move the object 2, such as a conveyor belt, an AGV (Automated Guided Vehicle), a vehicle under manufacture, and the like. When the transportation device is a vehicle under manufacture, a chassis, a tire, an engine, and the like function as a transportation device, and the object 2, which is a body and the like on the chassis, is transported.The object 2 may be a variety of different objects, such as an object comprising an industrial product, food and the like, a part of an object, a part of a structure, an animal, a part of an animal, a part of a person and the like.

[0016] The effector 30 may be a dedicated hand, a suction cup, and the like for handling the object. The effector 30 may also include a wide variety of different equipment, such as a tool for assembly processes, a gun for spot welding, an arc welding torch, a scanner for the inspection system, and the like. In this way, the effector 30 is not limited to any particular effector.

[0017] When the effector 30 has an operating portion such as a finger, etc. of the hand, the effector 30 is provided with a servo motor 31 for driving the operated portion (see Fig. 2). The servo motor 31 includes an operating position detecting device for detecting its operating position, and an example of the operating position detecting device is an encoder. The detection values of the operating position detecting device are sent to the control device 1. Various types of servo motors, such as a rotary motor, linear motor, and the like, can be used as the servo motors 11 and 31, respectively.

[0018] The effector 30 is usually mounted on the distal end portion of the arm 10A, but the effector 30 may be mounted on an intermediate portion or on a base-side end portion of the arm 10A in the longitudinal direction. In a system in which the workpiece is transferred between the robot 10 and a person, a hand for grasping the object 2 or a hand for sucking the object 2 with a suction cup, a magnet, an electromagnet, and the like are often used as the effector 30, as shown in Fig. 3. There is a case where the object 2 is instead placed in a container or on a flat plate such as a shallow dish as the effector 30. Furthermore, there is also a case where the object 2 is placed in a box or basket as the effector 30.

[0019] In recent years, a hand and the like that uses a finger with flexibility to gently grasp an object has been widely used, and this hand is suitable for a cooperative robot, which will be described later.

[0020] The effector 30 described above may have a limited orientation suitable for functioning as an effector. If the effector 30, which is, for example, the hand with a suction cup, a magnet, or an electromagnet, as in Fig. 4, the object 2 is not sucked in from a predetermined direction, such as an upward direction, the effector 30 may not reliably hold the object 2. In such a case, in which the object 2 is placed on the effector 30, for example, on a flat tray, the user is also expected to pay attention to prevent the object 2 from falling off the tray. In the case of the cooperative robot described later, with regard to the function of the effector 30, when avoiding a target to be avoided, an avoidance operation is preferably carried out in a suitable orientation range.

[0021] As in Fig. 2, the control device 1 comprises a processor 21 having one or more processing elements, such as a CPU, a microcomputer, an image processing processor, and the like, and a display device 22. The control device 1 also comprises a storage unit 23 having a non-volatile memory, a ROM, a RAM, and the like.

[0022] The control device 1 also includes servo controllers 24 corresponding to the respective servo motors 11 of the robot 10, and a servo controller 25 corresponding to the servo motor 31 of the effector 30. The control device 1 also includes an input unit 26 connected to the control device 1 via wires or wirelessly. In one example, the input unit 26 is an input device such as a portable operation panel that the user can carry. In another example, the input unit 26 is a tablet computer. In such a case where the input unit 26 is a portable operation panel, a tablet computer, and the like, input is performed using a touchscreen function. There is also a case where the portable operation panel or tablet computer includes the display device 22.

[0023] The storage unit 23 stores a system program 23A, which performs a basic function of the control device 1. The storage unit 23 also stores a single operation program 23B or two or more operation programs 23B. The operation program 23B includes a plurality of commands, information, and the like for operating the robot. The operation program 23B of the present embodiment includes at least information regarding coordinates and orientation at a plurality of teaching points, a command regarding movement between the teaching points, and the like.

[0024] The storage unit 23 also stores a control program 23C, a route generation program 23D, and the like. The control program 23C is a well-known feedback program, feedforward program, and the like.

[0025] The control device 1 generates a route based on the operation program 23B using the route generation program 23D and generates a control command for moving the arm 10A along the route using the control program 23C for controlling the arm 10A.

[0026] The control device 1 controls the robot 10 based on the operation program 23B, which is a series of operation commands preset by the user. Furthermore, the robot 10 is a robot capable of avoiding contact, proximity, and so on with a person or object in the surrounding area by using an output signal from a sensor. Such a robot can be referred to as a cooperative robot.

[0027] In one example, the robot 10 is a cooperative robot. The cooperative robot has a function of detecting an external force, for example, in a case where a person, an object, or the like comes into contact with the cooperative robot, and a function of safely stopping the cooperative robot. In some cases, the cooperative robot also has a function of immediately decelerating and stopping before coming into contact with a person, an object, or the like. In the present embodiment, it is preferable to provide a function of executing the avoidance operation when a situation where there is a possibility of contact with a person, an object, or the like is detected. The configuration of the present embodiment is also applicable to a robot 10 that is not the cooperative robot.

[0028] The information about the target to be avoided obtained from a sensor 50 is mainly data such as coordinates of points indicating an existing position of the target to be avoided. Alternatively, the information obtained from the sensor 50 is known point group data, and the processor 21 can recognize a shape, a position, etc., of the target to be avoided in a reference coordinate system 1 based on the data. The processor 21 can convert the target to be avoided into a three-dimensional approach object model. The approach object model can be a primitive shape such as a sphere, a cuboid, a cylinder, and the like, or a polyhedral shape formed by connecting points of a point group. The three-dimensional approach object model need not be closed and solid and may be planar. The target to be avoided may be indistinguishable from the surroundings.

[0029] A type of approaching object is classified according to whether the robot 10 can avoid the approaching object or whether the user desires to avoid the approaching object. In the present embodiment, an approaching object that can be avoided and whose avoidance is desired by the user is set as the target to be avoided. Further, an approaching object that can be avoided and whose avoidance is not desired by the user is set as an approaching object that does not need to be avoided, and an approaching object that cannot be avoided is set as an unavoidable approaching object. When the approaching object approaches to within a predetermined distance or closer, the processor 21 can switch the approaching object that does not need to be avoided to the target to be avoided.

[0030] If the approaching object moves faster than the operating speed of the robot 10, if the approaching object moves faster than the detection speed of a sensor, if the approaching object has a size and nature that cannot be detected by the sensor, and so on, the approaching object is set as an unavoidable approaching object. Even if the approaching object moves slowly, if the approaching object comes close to a base of the robot 10 attached to a floor, the approaching object cannot be completely avoided due to a restriction in a movement range of the robot 10. These unavoidable approaching objects are set as unavoidable in advance.In a case where it is determined that the approaching object is the unavoidable approaching object, the processor 21 stops the arm 10A in a safe state after causing the arm 10A, which is very likely to come into contact with the approaching object, to perform the avoidance operation to a certain extent without necessarily avoiding the approaching object.

[0031] When the robot 10 receives an object 2 such as a workpiece and the like from the outside, the object 2 is set as the approaching object, but may be set as the approaching object that does not need to be avoided. The timing at which the robot 10 receives the object 2 can be learned in advance, and the processor 21 can turn off the avoidance function at that time. Furthermore, when an approaching person intentionally comes into contact with the robot 10, the processor 21 can determine that it is not necessary to avoid the person. For example, assume that a worker working near the robot 10 calls the robot 10 by voice, etc., to deliver a workpiece at an unspecified timing.In such a case, where the robot 10 has a sensor capable of detecting the above-mentioned intention, the processor 21 may disable the avoidance function at that time. Furthermore, the processor 21 may decelerate and stop the robot 10 without executing the avoidance operation with respect to a worker approaching with a specific gesture, hand signal, shout, or the like.

[0032] Furthermore, the processor 21 may not execute the avoidance operation if it detects that the person, object, etc., is approaching sufficiently close to the point where contact with the robot 10 is likely, but contact does not occur. The processor 21 may be configured not to execute the avoidance operation for a specific approaching object by configuring the specific approaching object to be distinguishable from other approaching objects. Such a setting may reduce unnecessary avoidance operations.

[0033] In the present embodiment, the processor 21 calculates the distance between models based on an interface calculation program 23H stored in the storage unit 23. Specifically, the processor 21 calculates the distance between models with at least one of the models of the robot 10, the effector 30, and the object 2, an environment 4, a model of the approaching object, and the like including a person and an object carried by a person, and the operation program 23B. Based on the calculation result, the processor 21 determines whether the interference occurs on a plan of the route of the robot 10.

[0034] If the approaching object is not detected by the sensor, the processor does not use the model of the approaching object. Furthermore, in a case where there is no approaching object, a pre-created operation is being executed, and the absence of interference is confirmed, the processor 21 does not need to perform the operational interference calculation. In a case where the approaching object is moving, the processor 21 preferably predicts the movement of the approaching object and performs the interference calculation. The processor 21 calculates a range that can be reached in the future from the time series data of the movement of the model of the approaching object and performs the interference calculation for that range.

[0035] A state in which the approaching object is in contact with the robot 10 is a near-interference state. In a state in which the approaching object is in contact with the robot 10, the robot 10 generally stops its operation. If a torque sensor, a touch sensor, or the like is used and it is determined that an external force is applied to the robot 10 from the approaching object in a direction in which the robot 10 can retreat, the robot 10 can be moved in the retreat operation. When executing this retreat operation, the processor 21 preferably performs the interference calculation and determines that the robot 10 can retreat so that the robot 10 does not enclose the approaching object.

[0036] As a result of the interference calculation, the processor 21 determines, for example, that interference is likely to occur on the route plan of the robot 10, and avoidance of the target to be avoided is necessary. In this case, the route generation program 23D in the processor 21 generates the avoidance route based on the route generated by the route generation program 23D based on the operation program 23B. The route generation program 23D can be divided into a normal route generation program and an avoidance route generation program.

[0037] Alternatively, the processor 21 may temporarily generate an operation program 23B' by correcting the operation program 23B, and the corrected operation program 23B' may be used for the avoidance process.

[0038] In a case where avoidance of the target to be avoided is performed in the cooperative robot, a step of generating the avoidance route is necessary. Examples of the avoidance route include moving the robot 10 with a predetermined avoidance orientation, moving the robot 10 away from the approach direction of the target to be avoided, moving the robot 10 to increase the distance between the robot 10 and the target to be avoided, and so on. A method of simulating various orientations in a simulation to search for an orientation that does not interfere with the target to be avoided and connecting the various interference-free orientations to generate an interference-free route is widely known.

[0039] Executing the avoidance operation when the distance to the target to be avoided is insufficient is undesirable because the robot 10 attempts to avoid the target to be avoided to ensure safety. A potential corresponding to the distance to a surface of a three-dimensional model used for interference calculation is set, and from the routes connecting the current position and a position after the avoidance, a route with the lowest evaluation value (cost) calculated using the potential can be selected. As a result, an avoidance route that maintains a sufficient distance from the target to be avoided is generated. For example, to generate the avoidance route, multiple types of routes are set in a potential field, and the evaluation value of each route is calculated.For each route, several passing points can be set, and at the passing points a sum, an average, etc. of the evaluation values of the potential field can be compared.

[0040] If, in addition to the potential calculation, an evaluation that indicates that the robot 10 can move smoothly is added to the evaluation, a sufficient distance from the target to be avoided is maintained, and a smooth avoidance operation can be performed. There are potential calculations that use a normal three-dimensional space in a Cartesian coordinate system and potential calculations that are converted into a common space (a configuration space) of the robot 10, and a combination of both can also be applied. Note that a method for generating the avoidance route is not limited to the examples described above.

[0041] As a method for detecting an approach of the target to be avoided, such as a person, an object, and the like, a proximity detection sensor such as a stereo camera, a thermal imager, a distance sensor, an electrostatic capacitance sensor, and the like can be used in the present embodiment. What is important is detecting a position, a shape, etc., of the target to be avoided, and a sensor suitable for detection can be used for this purpose. The sensor can be provided in the environment 4, or the sensor can be provided in the robot 10, effector 30, or the like. Furthermore, the sensor can be provided in both the robot 10 or effector 30 and the environment 4.

[0042] In the present embodiment, the sensor 50 capable of outputting data for visually detecting the target to be avoided, such as a stereo camera, a three-dimensional distance sensor, and the like, is provided above the robot 10, as shown in Fig. 1 shown.

[0043] In the present embodiment, it is necessary to calculate the interference between the robot 10, the effector 30, and / or the object 2, such as a workpiece, and the like, and a surrounding object (avoidance target), an environment (avoidance target), and so on. The following is a description of basic information necessary for the interference calculation.

[0044] First, a three-dimensional model of the robot 10, a three-dimensional model of the effector 30, and a three-dimensional model of the object 2, such as a workpiece, are stored in the storage unit 23. The object 2 is not always held in object handling, etc., and the object 2 may be integrated into the environment 4. In particular, the object 2 may be moved on a transport device, or the object 2 may be held by another robot system. For this reason, it is desirable to distinguish a state of the object 2 moving together with the effector 30 (effector-side object) from the object 2 moving together with the environment 4 (environment-side object). A three-dimensional model corresponding to the environment 4 is also stored in the storage unit 23, and this three-dimensional model is also used for interference calculation.

[0045] When teaching a position and orientation of the arm 10A of the robot 10, it is also normal to refer to coordinates derived from a reference coordinate system 101 (see Fig. 1) of the robot, which serves as a reference that does not move with respect to space. In a state where the effector 30 is not provided, the teaching point and the like are usually referred to as the position and orientation of the coordinate system set on a flange surface (a mechanical interface) at the distal end of the arm 10A. In a state where the effector 30 is provided, an effector coordinate system 102 (see Fig. 1) as the predetermined position, etc., of the effector 30. In this case, it is normal for the position and orientation of the effector coordinate system 102 to be referred to as a teaching point, etc. The position and orientation of the effector coordinate system 102 serve as a reference for operation at the time of the avoidance operation.

[0046] Note that in this embodiment, a coordinate system set at the distal end portion of the arm 10A is regarded as an effector coordinate system 102, and a coordinate system set at the flange surface is also treated as an effector coordinate system 102.

[0047] In the present embodiment, the reference coordinate system 101 and the effector coordinate system 102, which is immovable with respect to the effector 30, are set. The effector coordinate system 102 may also be referred to by another name, for example, as a tool coordinate system. The control device 1 detects the position and orientation of the effector coordinate system 102 in the reference coordinate system 101 through a pre-known calibration and the like.

[0048] In this embodiment, the user can set an effector constraint that restricts a relative change of the effector coordinate system 102 with respect to the reference coordinate system 101.

[0049] Fig. 5 shows a configuration example of the effector constraint. A first example of the effector constraint, as in Fig. 5, is a constraint related to the position coordinates (X, Y, Z) of the effector coordinate system 102. A second example of the effector constraint is a constraint related to the orientation of the effector coordinate system 102 (around X-axis = θx, around Y-axis = θy, around Z-axis = θz). In the example of Fig. 5. In addition, a section for which both the upper and lower limits are set to "0" means that the change is not permitted. The fact that the effector restriction is not set can be indicated by "-" and the like.

[0050] The constraint on the relative change of the effector coordinate system 102 of the first example can be set by referring to the position and orientation of the reference coordinate system 101, the effector coordinate system 102, or another coordinate system. Note that the reference coordinate system 101, the effector coordinate system 102, or another coordinate system is a predetermined coordinate system, which may be simply referred to as a coordinate system in the following description. The constraint on the orientation of the effector coordinate system 102 of the second example can also be set by referring to the position and orientation of the coordinate system.Note that the position constraint and the orientation constraint of the effector coordinate system 102 can be set with reference to the position and orientation of the effector coordinate system 102 at the time before the arm 10A starts a certain operation.

[0051] As in Fig. 5, a third example of the effector constraint is a constraint related to the velocity of the effector coordinate system 102. This velocity is, for example, a velocity in a direction of travel of the effector coordinate system 102 in the coordinate system or a velocity in each of the X, Y, and Z directions. A fourth example of the effector constraint is a constraint related to the angular velocity of the effector coordinate system 102. This angular velocity is an angular velocity of the effector coordinate system 102 about a specific axis line in the coordinate system or angular velocities about the X, Y, and Z axes.

[0052] As in Fig. 5, a fifth example of the effector constraint is a constraint related to the acceleration of the effector coordinate system 102. This acceleration is, for example, an acceleration in a direction of travel of the effector coordinate system 102 in the coordinate system or an acceleration in each of the X, Y, and Z directions. A sixth example of the effector constraint is a constraint related to the angular acceleration of the effector coordinate system 102. This angular acceleration is an angular acceleration of the effector coordinate system 102 about a specific axis line in the coordinate system or an angular acceleration about the X, Y, and Z axes. The effector constraints in the third to sixth examples restrict changes in the position and / or orientation of the effector 30.

[0053] The effector constraint may be a combination of two or more of the first to sixth examples. Furthermore, it is possible to use a value corresponding to an amount determined by temporally differentiating the position and / or orientation three or more times, a formula, and the like. The effector constraint may also be a constraint on a change in the position and / or orientation of the effector coordinate system 102 with respect to predetermined reference coordinates. The change in the position and / or orientation of the effector coordinate system 102 with respect to predetermined reference coordinates is a change in the position and / or orientation of the effector with respect to the predetermined coordinate system.Furthermore, the constraints on angular velocity, angular acceleration, and so on in the third to sixth examples are the constraints on changes in the position and / or orientation of the effector as seen from the predetermined reference coordinates.

[0054] In a typical example of the present embodiment, the information about the coordinates and orientation, the command and the effector restriction are set for each teaching point in the operation program 23B. In a screen 200 of Fig. 7, the effector restriction for a teach point 1 (position and orientation [1]) and a teach point 2 (position and orientation [2]) is not set. However, the effector restrictions 1 and 2 for a teach point 3 (position and orientation [3]) and a teach point 4 (position and orientation [4]) are set, respectively, as described later. The screen 200 of Fig. 6 is preferably a screen for receiving an operation for displaying a screen related to setting the effector restriction. This operation consists of tapping a predetermined position on the screen 200 or tapping a predetermined button, etc. The button can be provided in the input unit 26.

[0055] For example, if the user taps on the screen 200 on an area to the right of “no problem” at learning point 3, a Fig. 6 shows the effector restriction setting screen 210. In the setting screen 210, an effector restriction or, as described later, an effector restriction set can be selected.

[0056] Repeated execution of this procedure sets the effector restriction or effector restriction set at any teach point as shown in Fig. 7 shown.

[0057] In one example, the user can set a coordinate system as an effector constraint and constraints related to changes in the position and orientation of the effector coordinate system 102 relative to the reference coordinates. The input unit 26, with which the user can modify the settings, is preferably provided on a portable control panel, also referred to as a teach pendant. The effector constraint settings and so on are stored in the storage unit 23 or in a predetermined storage unit, such as a storage device of a separate controller, a storage unit in the cloud, and the like. When the effector constraint is stored in the storage device of the separate controller, in the storage unit in the cloud, and so on, these storage devices and storage units function as the storage unit of the control device 1.

[0058] To set the effector restriction, a screen related to the settings is displayed on the display device 22 of the input unit 26, for example. The processor 21 of the control device 1, for example, causes the display device 22 to display a Fig. 8. Screen 300 is a screen that allows the user to select the transition to the effector restriction setting screen.

[0059] An operation area 500 for performing the above-mentioned selection is displayed on the display device 22. A direction key, a confirmation key, a back key for returning to a previous screen or a higher-level screen, and the like are displayed in the operation area 500, and the user performs an input using these key operations. Note that a button with the corresponding function may be provided in the input unit 26.

[0060] When the user selects to switch to the effector restriction setting screen on screen 300, the processor 21 causes the display device 22 to display a screen 301 of Fig. 9. Screen 301 is a screen that allows the user to select to switch to the reference coordinate system setting screen.

[0061] When the user selects the change to the reference coordinate system setting screen on the screen 301, the processor 21 causes the display device 22 to display a screen 302 of Fig. 9. Screen 302 is a screen that allows the user to select the setting of any reference coordinate system from among the multiple reference coordinate systems.

[0062] When the user selects, for example, a reference coordinate system 1 from the plurality of reference coordinate systems on the screen 302, the processor 21 causes the display device 22 to display a screen 303 of Fig. 9. Screen 303 is a screen for setting the reference coordinate system 1 selected by the user. As shown in screen 300, the user can set the position and orientation of the reference coordinate system 1.

[0063] If the user further selects a reference coordinate system 2 on the screen 302, the processor 21 causes the display device 22 to display the screen 303 of Fig. 10. In Fig. 10, the user can set the selected reference coordinate system 2. The coordinate systems respectively set by the reference coordinate systems 1 and 2 and so on can be used as the reference coordinate system 101.

[0064] In the present embodiment, the user can set a plurality of reference coordinate systems using the screens 302 and 303. This configuration is helpful in improving the flexibility of the effector constraint setting, which will be described later.

[0065] If the user, as in Fig. 11, selects the change to the effector coordinate setting screen in a state where the display has returned to the screen 301, the processor 21 causes the display device 22 to display a screen 304 of Fig. 11. Screen 304 is a screen that allows the user to select a setting of effector coordinates from a plurality of effector coordinates.

[0066] For example, if the user selects effector coordinate 1 from the plurality of effector coordinates on the screen 304, the processor 21 causes the display device 22 to display the screen 305 of Fig. 11. Screen 305 is a screen for setting the effector coordinates 1 selected by the user. As shown in screen 305, the user can set the position and orientation with respect to the effector coordinates 1.

[0067] If the user further selects effector coordinates 2 on the screen 304, the processor 21 causes the display device 22 to display the screen 305 of Fig. 12. In Fig. 12 the user can set the selected effector coordinates 2.

[0068] In the present embodiment, the user can set the multiple effector coordinates using screens 304 and 305. This configuration is helpful in improving the effector constraint setting, which will be described later.

[0069] If the user, as in Fig. 13, selects the change to the effector restriction setting screen in the state where the display has returned to the screen 301, the processor 21 causes the display device 22 to display a screen 306 of Fig. 13. Screen 306 is a screen that allows the user to select the setting of any effector restriction from among the multiple effector restrictions.

[0070] For example, if the user selects effector restriction 1 from the plurality of effector restrictions on screen 306, the processor 21 causes the display device 22 to display a screen 307 of Fig. 13. Screen 307 is a screen for setting the user-selected effector constraint 1, and the user can set the effector constraint using screen 307. The effector constraint is used to restrict a change from the perspective of predetermined reference coordinates of the effector coordinate system 102 fixedly connected to the effector 30.

[0071] Specifically, as shown in screen 307, the user can set the reference coordinate system serving as the reference of effector constraint 1. Effector constraint 2 can also be set in the same or similar manner. If the reference coordinate system is set at a given time, when reference coordinate system 101 is used, and so on, the setting of the reference coordinate system on screen 307 can be omitted.

[0072] Furthermore, as shown in screen 307, the user can set effector coordinates for each effector constraint. Effector coordinate 1 is set for effector constraint 1 on screen 307. Similarly, for example, effector coordinate 2 is set for effector constraint 2. The effector constraint restricts the change in the position and / or orientation of the effector 30 as viewed from the set effector coordinates (predetermined reference coordinates). A configuration in which the effector coordinates can be set or selected as described above and a configuration in which the user can set the effector coordinates for each effector constraint thus result in an improvement in the flexibility of user setting. For each effector constraint, an effector constraint item described later is also set.

[0073] On screen 305 of Fig. 11 and Fig. 12 shows the position and orientation of the effector 30 of the set effector coordinates. In Fig. 11, the effector coordinates 1 are set at an obliquely upward position with respect to the effector coordinate system 102, and in Fig. 12, the effector coordinates 2 are set at a different position in the horizontal direction with respect to the effector coordinate system 102.

[0074] In the example of the above-described operation program 23B of the screen 200, the effector constraint 1 is set for the teaching point 3 (position and orientation [3]). The processor 21 operates the arm 10A so that the effector 30 moves based on the operation program 23B. At a position between the teaching point 2 (position and orientation [2]) and the teaching point 3 (position and orientation [3]), the change in the position and orientation of the effector coordinate system 102 from the perspective of the effector coordinates 1 (predetermined reference coordinates) is restricted in this case by the effector constraint item set in the effector constraint 1. The processor 21 can apply the constraint between the teaching point 3 and a teaching point 4.Similarly, with respect to the teaching point 4, the change in the position and orientation of the effector coordinate system 102 from the perspective of the effector coordinates 2 (predetermined reference coordinates) is restricted by the effector restriction element set in the effector restriction 2.

[0075] The position of the effector coordinates 1 (predetermined reference coordinates) with respect to the effector 30 at the teach point 3 corresponds to the position of the effector 30 at the effector coordinates 1, as shown on the screen 305 of Fig. 11. The position of the effector coordinates 2 (predetermined reference coordinates) can also be adjusted in a similar manner.

[0076] When the above-described avoidance process is performed during the execution of the operation program 23B, the processor 21 may also temporarily generate an operation program 23B' obtained by correcting the operation program 23B to generate the above-described avoidance route. At this time, from among the teaching points of the operation program 23B', for example, a position coordinate, an orientation, etc., of a teaching point to be corrected due to the presence of the avoidance target are corrected to a position, orientation, etc. that can sufficiently separate the effector 30 from the target to be avoided. Alternatively, the processor 21 may newly create a teaching point that can sufficiently separate the effector 30 from the target to be avoided.Instead of the learning point, the processor 21 can correct a passing point or a route section to be corrected from passing points of the operating program 23B or route sections between adjacent learning points. When executing the avoidance process described above, the processor 21 can also generate an avoidance route deviating from the original operating program 23B by using the potential field and the like.

[0077] In one example, when correcting some of the learning points of the operating program 23B of the screen 200, the processor 21 uses the effector constraint set for each learning point to be corrected and generates the avoidance route.

[0078] Furthermore, there may be a case where a teaching point and / or a passing point between the teaching points are used as predetermined reference coordinates. That is, the change in the position and orientation at each teaching point and each passing point of the effector 30 moved by the operation program 23B is controlled to be within the range of the effector restriction elements as viewed from the position and orientation of the teaching point and the passing point.

[0079] In such a case, where the teach point and / or the passing point between the teach points are used as predetermined reference coordinates, the settings in screen 305 of Fig. 11 and Fig. 12 is no longer necessary, and also the setting of the effector coordinates in screen 307 of Fig. 13 is no longer necessary. The screen 307 of Fig. 13 can be configured to receive the setting that defines the position and orientation of the teach-in point or the passing point as effector coordinates 1.

[0080] It can also be said that the effector constraint element of the effector constraint specifies a range within which the change in the position of the effector 30 is permitted. When the processor 21 operates the arm 10A in the configuration described above, an actual position and an actual orientation of the effector 30 (effector coordinate system 102) are typically within the range within which the change in the position of the effector 30 is permitted by the effector constraint. Likewise, when the processor 21 generates the avoidance route with the configuration described above, the passing point of the avoidance route is typically within a range within which a change in the position of the effector 30 is permitted by the effector constraint.

[0081] There may also be a case where the target of effector restriction 1 is a track section. In this case, for example, "Effector Restriction Application Area" is displayed on screen 307, and the user enters a teaching point number, etc., of the effector restriction target to the right of an indication of "Effector Restriction Application Area." If the teaching point numbers are multiple consecutive numbers, the corresponding track section becomes the target of effector restriction 1.

[0082] The target section of the effector restriction can also be specified by entering Start / End for the beginning and end of the effector restriction in the operating program 23B.

[0083] An effector restriction that is always applied can be set independently of the operating program 23B. For each effector restriction, an operating program 23B can also be set in which the restriction is always applied.

[0084] On the Fig. 13, a space or orientation type of the arm 10A can also be set as the "area in which the effector restriction applies." An area of the dashed line 307A in Fig. 13 shows, for example, a range in the XZ direction, but a range of approximately several tens of centimeters in the Y direction can be set within the range. If the user inputs the space to the right of the "area where the effector restriction applies" by selecting the space on the screen 307, this space is set as the area where effector restriction 1 is applied. Similarly, multiple orientation types of the arm 10A can be displayed on the screen 307, and a selected orientation type can be input to the right of the "area where the effector restriction applies." In this case, effector restriction 1 is applied as long as the orientation of the arm 10A corresponds to the orientation type. Furthermore, it is also possible to adopt a configuration in which the user can set a route subject to the user restriction on the screen 307.

[0085] For example, when the avoidance route is generated during an operation that is not based on the operating program 23B and in a different situation, the processor 21 may generate a portion of the avoidance route located in the space while simultaneously applying an effector constraint set for the space.

[0086] The control device 1 can also automatically set the effector restriction based on the effector restriction set at each learning point of the operation program 23B and another set effector restriction. Since this automatically set effector restriction is also based on the effector restriction set by the user for each learning point, it is the effector restriction set based on the user input.

[0087] There may also be a case where the user teaches the space in which the arm 10A can work, a work task to be performed by the arm 10A on the object 2 with the aid of the effector 30, and so on into the control device 1, and the arm 10A performs the work as taught. For example, there may be a case where the arm 10A is arranged at a counter. The above-described work includes a task of holding the object 2, such as a cup, a mug, and the like, with the aid of the effector 30, and the arm 10A serves the held object 2 with the aid of the effector 30, such as a hand, and the like, at a position corresponding to a customer at the counter.

[0088] In this case, a visual sensor is provided for observing a work area of the arm 10A. For example, based on the output signal of the visual sensor, the control device 1 detects the position of the effector 30, the position of the object 2, the surroundings 4 moving in the space, an approaching object such as a guest, and so on. The control device 1 sequentially calculates a route along which the effector 30 moves to perform the work while detecting the surroundings 4 and a location area of the approaching object. In this case, too, the processor 21 can apply the effector restriction set for the space when generating the route.

[0089] Even when the arm 10A moves the effector 30 along the route, when the approaching object enters the route and in other situations, the processor 21 may generate the avoidance route using the effector constraint set for the space.

[0090] As shown in screen 307, the user can also set a movement range of the effector 30 in the X, Y, and Z directions as effector restriction 1. It is possible to set "reference" on screen 307. This "reference" is specified, for example, by the coordinates in the reference coordinate system 101, the effector coordinate system 102, and so on. It is possible to set an "upper limit" and a "lower limit" on screen 307. The "upper limit" and "lower limit" are, for example, a movement amount or a movement range with respect to the coordinates of the "reference." In the present embodiment, each movement range including the "reference," "upper limit," and "lower limit" for the X, Y, and Z directions is referred to as an effector restriction item.The user can similarly set a rotation range, an angular velocity, an angular acceleration of the effector 30 around the X, Y, and Z directions, as well as the speed and acceleration in the X, Y, and Z directions of the effector 30 as effector constraint 1. An effector constraint item is also referred to as a value corresponding to an amount determined by differentiating each of the rotation range around the X, Y, and Z axes of the effector 30, the speed, the acceleration, the angular velocity, the angular acceleration, the position, or the orientation three or more times over time, by a formula, or the like.

[0091] When the position and orientation of the effector coordinates 1 set as the effector coordinates of the screen 307 are used as the "reference," the "reference" is automatically set by the control device 1, and so far, the input and display of the "reference" can be omitted. Furthermore, setting of all the effector restriction items is not necessary, and when part of the effector restriction items is set, the effector restriction items can be automatically set by the control device 1, etc.

[0092] In the present embodiment, the "reference" can be freely set by the user. For this reason, the user can set the position and orientation of the effector 30 set at each teaching point, and the position and orientation that differ from the position and orientation of the effector coordinates 1 set on the screen 307 can be set as the "reference." This configuration leads to improvements in the flexibility of user setting, accuracy, safety, efficiency, etc. of the operation of the arm 10A. For example, if there is a preferred orientation for each type of effector 30, etc., the user can set any "reference" around the X, Y, and Z axes as the neutral orientation of the effector 30.The processor 21 may also be configured to execute control to bring the position and orientation of the effector 30 close to the "reference" (referred to herein as reset operation control). These configurations enable improvements in the accuracy, safety, efficiency, etc., of the operation of the arm 10A, while simultaneously enabling reduction of the effort, facilitation of labor, etc., for the teaching process.

[0093] In the present embodiment, the improvement of the efficiency of operation of the arm 10A includes the improvement of a tact time of operation of the arm 10A and so on.

[0094] In the present embodiment, when the user selects the change to the effector restriction set setting screen in the state where the display has returned to the screen 301 as shown in Fig. 15, the processor 21 causes the display device 22 to display a screen 308 of Fig. 15. Screen 308 is a screen that allows the user to select the setting of any one of several effector restriction sets.

[0095] For example, if the user selects a sentence 1 from the multiple sentences on the screen 308, the processor 21 causes the display device 22 to display a screen 309 of Fig. 15. Screen 309 is a screen for setting the effector restriction set 1 selected by the user, and the user can set the effector restriction set using screen 309. The effector restriction set can relate the multiple effector restrictions to each other.

[0096] Specifically, as shown on the screen 309, the user can incorporate the arbitrarily selected effector constraints 1 to 3 into the effector constraint set 1 and set the individual effector constraints 1 to 3 as "ACTIVE" and "INDACTIVE". The user can also set the relationship of the multiple effector constraints 1 to 3 as "1 ∩ 2 ∩ 3". "1 ∩ 2 ∩ 3" means the effector constraint 1 and the effector constraint 2 and the effector constraint 3. The "effector constraint set 1" can be displayed, for example, in a column "effector constraint" on the screen 200 of Fig. 7 instead of “Effector Restriction 1” and so on.

[0097] This configuration improves user setting flexibility. With this configuration, the user can also set and apply multiple effector restriction sets on screen 307, which improves the accuracy, safety, efficiency, and so on of the operation of the arm 10A. In the present embodiment, it is also possible to set each effector restriction and each effector restriction item to "ACTIVE" and "INDUCTIVE" on screens 306, 307, and so on. The setting on screen 309 can be omitted if necessary.

[0098] As in Fig. 14, the processor 21 uses the route generation program 23D to generate the route for moving the position and orientation of the effector coordinate system 102 from an immediately preceding teaching point to a target teaching point based on the operation program 23B, and so on. For example, the processor 21 executes the route generation while simultaneously performing a known interpolation calculation between the immediately preceding teaching point and the target teaching point.

[0099] If the processor 21, as in Fig. 14, further performs the interference calculation and arrives at the determination result that the target to be avoided is present on the route plan of the operation program 23B, the processor 21 generates the avoidance route based on the route generation program 23D. To generate the avoidance route, the processor 21 generates in Fig. 14, for example, temporarily executes the operation program 23B', in which a learning point corresponding to the position of the target to be avoided is corrected from the learning points of the operation program 23B, and generates the avoidance route based on the operation program 23B'. Alternatively, to generate the avoidance route, the route is corrected using the route generation program 23D.

[0100] If the interference calculation results in the avoidance target having a potential for contact if a predetermined criterion is exceeded and the target is determined to be avoidable, a correction of the control command is necessary. Processor 21 generates a temporary control command as an avoidance route based on the interference calculation results. Processor 21 performs the interference calculation again to confirm whether contact with the avoidance target is avoided by executing the temporary control command. If an avoidance criterion is met, processor 21 overwrites the original control command with the temporary control command.

[0101] In the present embodiment, the processor 21 generates a route taking the effector constraint into account during route generation to avoid the target to be avoided. The configuration space is changed, for example, by the amount of the added effector constraint. Since constraints such as speed and acceleration are also added, the potential field in the route generation changes. Setting the effector constraint to a neutral state also affects the potential field described above. For this reason, the potential field in which the effector constraint is also taken into account can be used. When the processor 21 generates an avoidance route, the processor 21 searches the potential field for a low-cost route, for example. The potential field at this time differs depending on whether the effector constraint is taken into account or not.The potential field, for example, is a cost distribution that indicates a degree of contact possibility, etc. Taking the effector constraint into account, the distribution of the potential field changes, and thus the route selected by processor 21 also changes.

[0102] When creating the route, as in Fig. As shown in Figure 14, the processor 21 executes the route generation and the avoidance route generation while applying the effector constraint when the effector constraint is present in the operation program 23B and / or the effector constraint set is present in the space (area) as described above. Furthermore, in the present embodiment, the route generation and the avoidance route generation may be represented as creating a route or creating a route.

[0103] Furthermore, the processor 21 sends the control command corresponding to the generated route to the servo controllers 24.

[0104] Any state can be set as long as it lies within the range of the effector constraint. Alternatively, if a suitable state exists for the effector 30, that state can be set as the neutral state. For example, if the effector constraint is ±5 degrees around the X-axis, if no suitable state is set, there is a possibility that the effector 30 will end up tilted as a result of route generation. For example, if the neutral state is set to 0 degrees, the processor 21 moves the final orientation of the effector 30 so that it approaches or returns to 0 degrees, as described above.

[0105] Furthermore, when the user sets each teaching point by jog operation or manual operation, as described later, the position and orientation of the effector 30 at the time of setting the respective teaching point can be set as a neutral state. For example, the user sets the effector 30 to a first position and orientation in manual operation and then performs the operation for setting the individual teaching point, for example, using the input unit 26. As a result, for example, the first position and orientation for teaching point 1 are set on the screen 200. The user can set teaching point 2 and subsequent points in the same or a similar manner.When the user sets the individual teaching point in the jog mode or manual operation mode, the user can image the working arm 10A at the working point and place the effector 30 at the actual position and orientation according to the image. The configuration in which the initial position, orientation, and so on at each teaching point are set to the neutral state is ultimately beneficial for reducing the user's effort as well as improving the accuracy, safety, efficiency, etc., of the operation of the arm 10A.

[0106] The processor 21 controls the arm 10A to execute the return operation control to return the position and orientation of the effector 30 to the neutral state. The return operation control is executed using at least one of the values calculated based on, for example, a constant speed or angular velocity, a constant acceleration or angular acceleration, a deviation amount from the neutral state, and the like. To execute the return operation control, a spring-like quantity that acts like a spring in accordance with the deviation amount may be used. Further, to execute the return operation control, a damper-like quantity that acts like a damper in accordance with a change in speed or a change in angular velocity, the deviation amount, and the like may be used.In addition, to perform the return operation control, an inertial quantity can be used that acts as an inertial force corresponding to a change in acceleration or a change in angular acceleration of the deviation amount. A combination of these quantities can be used.

[0107] As an example of object handling, the object 2 can be placed on and carried by the effector 30, which has a simple flat tray shape. Since the effector 30 has the shape of a flat tray, there is a possibility that the object 2 may fall due to the tilt, inappropriate speed, etc. of the effector 30, which is inherent in the nature of the object.

[0108] For example, the position of the effector coordinates 1 is set at a position slightly higher than the center of mass of the object 2, and constraints on orientation, angular velocity, and angular acceleration are also set via screen 305 and screen 307.

[0109] Based on the setting, the processor 21 generates a route of the effector coordinate system 102 (effector 30) from one position and orientation to another position and orientation. At this time, the effector 30, on which the object 2 is placed, tends to move in a pendulum-like manner around the position and orientation in the neutral state set by the effector constraint. This limits high tilt and acceleration at the position of the object 2, and the object 2 is pressed against the effector 30 by the centrifugal force generated by the pendulum action, preventing the object 2 from falling.

[0110] In another example, the user can set the effector restriction element to a value equal to an allowable acceleration range in a direction corresponding to the up-and-down direction of the effector 30 and in a direction corresponding to the centrifugal force. The user can also set an allowable acceleration range in another direction to a sufficiently small value, such as 1 / 5 or less of the above value. In this case, the effector 30 also tends to exhibit a pendulum-like motion.

[0111] The orientation constraint in the effector constraint is not limited to the expression of Euler angles; quaternions and the like can also be used. The constraint does not need to be a scalar value and can be set as a function. The constraint also does not need to be a scalar value and can be set as a function. The effector constraint can be set to switch depending on the position, orientation, etc. of the arm 10A. The effector constraint can be set to switch depending on the state of the arm 10A (whether the object 2 is being held, etc.).

[0112] When teaching the robot, positions and orientations (X, Y, Z, θx, θy, θz) corresponding to six degrees of freedom are typically designated at each teaching point or along the entire route of the effector 30. Since the effector constraint affects the designation of the position and orientation, setting the effector constraint can be used to perform a position and orientation teaching process that differs from normal teaching.

[0113] For example, in many cases of object handling, precise positioning is required when picking up and putting down the object 2, while at other positions, determination of the rough positions and orientations of the effector 30 is required. Even in a case where the rough position (X, Y, Z) is sufficient, in the conventional teaching method, it is necessary to designate the positions and orientations for six axes (X, Y, Z, θx, θy, θz). If the effector constraint restricts the orientations (θx, θy, θz), teaching only requires the position information (X, Y, Z). In this case, a route is generated from one position to another within the orientation constraint of the effector constraint.

[0114] This configuration also applies to the avoidance route generation. For example, the effector restriction can restrict the orientation, speed, acceleration, angular velocity, angular acceleration, etc. of the effector 30. In this case, the user does not need to adjust the orientation, etc., of the effector 30, especially the orientation of the effector 30, when setting the avoidance route generation by the processor 21. This configuration improves the accuracy, safety, efficiency, etc. of the operation of the arm 10A, while, among other things, reducing the time and labor required and facilitating the adjustment process.

[0115] In addition, a configuration can be used in which either the original teach-in position or the effector restriction is selected in the operating program 23B. For example, in screen 200 of Fig. 7, a table column "Restriction Priority" is added to set whether the effector restriction for each teaching point and / or each sub-section of the route has priority over the designation of the teaching point of the operating program 23B. In this case, the user can easily and reliably make a setting as to whether the operating program 23B or the effector restriction has priority. Whether the position and orientation (X, Y, Z, θx, θy, θz) of the effector 30 are restricted by the position and orientation of the operating program 23B or by the effector restriction is not limited to the above example.

[0116] The configuration described above results in a reduction in the setting of constraints at each teaching point. The configuration described above also realizes the operation of the arm 10A that can maintain the position and orientation of the effector 30 in a state appropriate to the effector constraint, which can lead to route generation, selection, etc., that can improve the tact time.

[0117] As shown on screens 306 and 307 of Fig. 13, in the present embodiment, the plurality of effector constraints can also be set, but it is also possible to adopt a configuration in which only one effector constraint can be set. Here, the function of the effector constraint is achieved by providing a single set including the reference coordinate system, the effector coordinates, and the effector constraint elements, but it may be difficult to express various functions through the single effector constraint. As shown in screens 306 and 307 of Fig. As shown in Figure 13, it is possible to adopt a configuration in which multiple effector constraints can be set. Furthermore, it is also possible to adopt a configuration in which multiple effector constraints can be set to apply to a point, such as a subsection, a region, a teaching point, etc., of each target.

[0118] In the following example, the effector constraint set is set. For example, the user sets effector constraint 1 as the first effector constraint using screens 305, 306, and 307. At this time, the user sets reference coordinate system 1 to a position that does not move with respect to space and sets effector coordinates 1 to an upper part of the effector's center of mass. In effector constraint 1, a constraint is set to allow translational movement and rotational movement of effector 30. In effector constraint 1, constraints for angular velocity and angular acceleration are also set. When the user selects a corresponding tab on screen 307, the settings for angular velocity, angular acceleration, and so on become available.

[0119] The user sets effector constraint 2 as the second effector constraint using screens 305, 306, and 307. At this time, the user sets the position and orientation of effector coordinates 2 as the position and orientation of reference coordinate system 2 and sets effector coordinates 2 at a position below the center of mass of the effector. Effector constraint 2 disallows translational and rotational movements.

[0120] The user sets effector constraint 3 as the third effector constraint using screens 305, 306, and 307. At this point, the user restricts the position and orientation of effector coordinates 2 with respect to reference coordinate system 1. In effector constraint 3, a constraint is set to allow translational and rotary motion. In effector constraint 3, the speed and acceleration of translational motion are also restricted.

[0121] When generating the avoidance route based on the setting, the flat-shell-shaped effector 30 with the object 2 placed on it is moved translationally at the effector coordinates 1 and moves pendulum-like, as in Fig. 11 and Fig. 12. The high translational acceleration is also limited at the position of effector coordinate 2. This setting is beneficial for preventing object 2 from falling. This setting is merely an example, and the contents of the setting are not limited to the above example, and thus any number of effector constraints can be set.

[0122] The following example describes another setting example of the effector constraint. For example, the user sets effector constraint 1 as the first effector constraint using screens 305, 306, and 307. At this time, the user sets the reference coordinate system 1 to a position that does not move with respect to space. The user also sets the effector coordinates 1 to a rotation axis line J3 of the Fig. 1 and sets the effector constraint 1. The effector constraint 1 is set so that the effector constraint element permits translational and rotational movement. The angular velocity and angular acceleration are also restricted in the effector constraint 1.

[0123] The user sets effector constraint 2 as the second constraint using screens 305, 306, and 307. At this point, the user sets effector coordinates 1 as reference coordinate system 2 and sets effector coordinates 2 at a position below the effector's center of mass. In effector constraint 2, the effector constraint element is set to allow translational motion and rotational motion.

[0124] The user sets effector constraint 3 as the third effector constraint using screens 305, 306, and 307. At this time, the user constrains the effector coordinates 2 with respect to the reference coordinate system 1. In effector constraint 3, an effector constraint element is set to allow translational motion. In effector constraint 3, the effector constraint element is also set to constrain the translational velocity and acceleration.

[0125] When the robot moves the joint 3B from Fig. 1 moves around its rotation axis J2, there is generally a case where a joint 3C also rotates symmetrically around the rotation axis J3, and then the robot can move while maintaining the orientation of the wrist axis. However, when the robot moves the rotation axis line, this effect does not occur in many cases. In the conventional setting, it is difficult to perform the operation around the rotation axis line J3 while maintaining the orientations of the movable part 12 (J2 arm) located between the joint 3B and the joint 3C and the wrist.

[0126] When setting the effector restriction set of the other setting example described above, the rotation is restricted at the position of the effector coordinate 2 when the rotation operation is performed around the rotation axis J3 to operate the arm 10A along the avoidance route. This configuration and setting are beneficial for preventing the object 2 from falling.

[0127] Since the user sets the effector constraints separately, this simplifies the user's mental separation of the work process and also makes it easier for the user to understand the effector constraint settings. This configuration is useful for robot risk assessment and for reducing errors related to teaching and adjusting the operation of Arm 10A.

[0128] In the present embodiment, a set of reference coordinate system, effector coordinates, and effector constraint can be referred to as an effector constraint in the sense of a unit. The effector constraint is also a group of individual constraints such as position, velocity, acceleration, and the like, and each individual constraint is referred to as an effector constraint element. Multiple effector constraints can be created in advance, and a necessary effector constraint is read from the storage unit 23 and used by the processor 21.

[0129] Multiple effector restriction sets can be pre-created, corresponding to different states of the arm 10A. The state of the arm 10A varies depending on the type of effector 30, the type of object 2, the type of arm 10, and so on. The effector restriction set is a combination of two or more effector restrictions. Furthermore, if one or more effector restriction sets have been pre-created for each state of the arm 10A or each operation program 23B, the user only needs to use the pre-created effector restriction set. This configuration reduces the user's setup time and also improves the accuracy, safety, efficiency, etc. of the operation of the arm 10A.

[0130] Setting the effector constraint allows for the generation of an avoidance route taking into account the characteristics of the effector 30, the object 2, and so on. However, it is difficult to accurately reflect the characteristics of the effector 30, the object 2, and so on in the effector constraints. In some cases, the user can determine the effector constraint through calculation and the like, but the accuracy of the effector constraint varies depending on the experience of each user. In such a situation, the effector constraint must be input by trial and error. Furthermore, it may happen that the originally necessary constraint is omitted, causing an unintentional failure. These situations can be improved by the following configuration. [Priority]

[0131] In the present embodiment, the effector constraint comprises a plurality of effector constraint elements, and as shown on the screen 307 of Fig. 13, a priority can be set for at least one of the plurality of effector constraint elements. For example, screen 307 has a table column "Priority," and the priority can be set according to each effector constraint element. On screen 307, the priority "absolute" is set for the "upper limit" and "lower limit" of the angle around the X-axis, which is the effector constraint element. It can be said that the priority "absolute," for example, is an indispensable setting that must be used by processor 21. The priorities are also set for other effector constraint elements, and are set to "absolute," "high," and "low" in descending priority order.

[0132] This configuration increases user-configuration flexibility. Robot 10 can also operate under conditions where the use of any of the X, Y, and Z rotational position constraints is not mandatory in the effector constraints, and this increases the choice of avoidance routes that can be set by processor 21. Processor 21 can also select a more effective avoidance route, which can improve tact time and the like.

[0133] The effector constraints in the present embodiment have priorities, such as a constraint to be always maintained, a constraint that is not necessarily maintained, and the like. When generating the avoidance route, it may be desirable to maintain all of the constraints, but this also means that in order to maintain a less important constraint, selecting an effective avoidance route is not possible. In other words, there is a case where an effective avoidance route can be selected by not enforcing the low-priority constraint. For this reason, the processor 21 may be configured to disregard the low-priority constraint based on a preset criterion. To implement this configuration, the priority is set for each effector constraint and each effector constraint element, and the priority is stored in the storage unit 23.

[0134] If the user uses a preset effector constraint, as described later, the preset can be created so that the effector constraint elements have different priorities. The effector constraint element that is most important for fulfilling the functional requirement has the highest priority. The priority can be changed later by the user.

[0135] The effector constraint includes a constraint that is specifically set by the user and a constraint that is not specifically set by the user. In the present embodiment, a constraint that is specifically set by the user (user-requested constraint) may be referred to as a designated constraint, and a non-specifically set optimizable constraint (optimizable constraint) may be referred to as a subconstraint. Information indicating whether the constraint is the designated constraint or the subconstraint may be stored in the storage unit 23 together with the effector constraints.For each of the effector constraint elements, the control device 1 receives, for example, a constraint element setting that causes the processor 21 to use a user-designated value or a constraint element setting that allows modification by the processor 21, and the received setting is stored in the storage unit 23. These settings are shown in the . Fig. 13, Fig. 19 and Fig. 23 as “designated” and “subordinate”.

[0136] If the user uses the preset effector constraint, as described later, it is desirable to use the subconstraint first, since the details of the effector constraint have not been set by the user. When the user edits the preset effector constraint, this effector constraint becomes a labeled constraint. Whether the effector constraint is the labeled constraint or the subconstraint can be changed later by the user.

[0137] The priority of the effector constraint and the distinction between designated constraint and subordinate constraint can further be set for each effector constraint element, or they can be set together for each effector constraint set.

[0138] In the case of multiple sets of effector constraints, a constraint intention is easily understood by setting the priority and by distinguishing between designated constraints and subordinate constraints. [Default]

[0139] In the present embodiment, a preset automatic adjustment program 23F for automatically adjusting the effector restriction and / or the effector restriction element is preferably stored in the storage unit 23. The preset automatic adjustment program 23F automatically adjusts the effector restriction and / or the effector restriction element based on information about the effector 30 and the object 2 that the user can objectively obtain, as well as on the function and performance (function requirement) that the user subjectively expects.

[0140] The functional requirement can, for example, be a qualitative expression for the object 2, such as “do not shake”, “do not tip over”, “do not drop”, “do not tilt”, “do not move from the current position” and the like.

[0141] This functional requirement can be expressed as an effector restriction element. Therefore, a preset effector restriction element corresponding to the functional requirement is stored in advance in the storage unit 23.

[0142] In this case, for example, the configuration allows the user to select a combination of effector 30 and object 2 from several types of presets. The presets include a method of placing on a flat tray, a method of placing in a container, a method of placing in a box, a method of holding with one hand, a method of suction gripping, and so on. The presets also include a method of processing an object with a welding gun, a method of processing an object with a welding torch, a method of machining an object with various tools, and so on. This configuration does not limit the type of effector 30, and the preset is used to assist information input. An effector that does not conform to the presets can also be used.

[0143] It is also desirable to use a 3D CAD model of the effector 30 and the object 20. Along with the 3D CAD model, in addition to the shape, a position of the center of mass of the object 2, its weight, a position of the center of mass of the effector 30, its weight, a range of motion of the effector 30, and the like are used to create a more accurate physical model. It is desirable for the physical model to be equipped with parameters necessary to explain physical behavior, such as a spring constant that indicates the hardness of a material, a damping coefficient for vibration damping, a friction coefficient when objects rub against each other, and the like. With the physical model, it is possible to simulate physical behavior, such as the behavior when grasping with one hand, the behavior when object 2 falls, and the like.

[0144] The physical model used in the present embodiment is used to perform physical simulation. Since various settings of the physical model require human time, it is desirable that the physical model can be constructed using information that is easily available to the user.

[0145] For a typical type of effector 30 and object 2, a rough arrangement of effector 30 and object 2 is determined by selecting the preset combination type of effector 30 and object. When determining the arrangement, an approximate physical model is created simply by adding the shape, center of mass, weight, etc. of a characteristic portion of effector 30 and object 2.

[0146] The control device 1 stores the information, such as the type, shape, etc., of the effector 30 and the object 2, the information on the function request, and the information on the effector restriction element suitable for realizing the function request, in a mutually associated state in the storage unit 23. The processor 21 sets the effector restriction element based on the above information, the function request input by the user, the information of the physical model, and so on, and presents the effector restriction element to the user.

[0147] More specific examples are described below.

[0148] For example, a screen for setting using the preset is displayed on the display device 22 of the input unit 26.

[0149] The processor 21 of the control device 1 first causes the display device 22 to display a Fig. 16. Screen 401 may be displayed instead of screen 301. Screen 401 may be displayed instead of screen 301. Screen 401 is a screen that allows the user to select the transition to the effector information setting screen.

[0150] When the user selects the change to the effector information setting screen on the screen 401, the processor 21 causes the display device 22 to display a screen 402 of Fig. 16. Screen 402 is a screen that allows the user to select any effector type setting from several effector type settings.

[0151] When the user selects the Effector Type 1 setting on the screen 402, the processor 21 causes the display device 22 to display a screen 403 of Fig. 16. Screen 403 is a screen for setting the effector type 1 selected by the user. As shown in screen 403, the user can set the effector type by selecting.

[0152] When the user selects the detailed setting of the effector type on the screen 403, the processor 21 causes the display device 22 to display a screen 404 of Fig. 16. Screen 404 is a screen for setting a dimension of the selected effector type and setting a position, such as a position of the center of mass, etc. Screen 404 is preferably configured to also allow setting a weight, material, etc. of the selected effector type.

[0153] If the user, as in Fig. 17, in a state where the display has returned to the screen 401, selects the change to the setting screen of the object information, the processor 21 causes the display device 22 to display a screen 405 of Fig. 17. Screen 405 is a screen that allows the user to select any object type setting from several object type settings.

[0154] When the user selects the setting of an object type 1 on the screen 405, the processor 21 causes the display device 22 to display a screen 406 of Fig. 17. Screen 406 is a screen for the user to set the selected object type 1. As shown in screen 406, the user can set the object type by selecting.

[0155] When the user selects a detail setting of the object type on the screen 406, the processor 21 causes the display device 22 to display a screen 407 of Fig. 17. Screen 407 is a screen for setting a dimension of the selected object type, setting a position, such as a position of the center of mass, and the like. Screen 407 is preferably configured to also set a weight, material, etc. of the selected object type. Screen 407 may also be configured to set a position of the selected object type relative to the selected effector type.

[0156] If the user, as in Fig. 18, in the state of returning to screen 401, selects switching to an object positional relationship information setting screen, the processor 21 causes the display device 22 to display a screen 408. The screen 408 is a screen for setting the positional relationship of the selected object type with respect to the selected effector type.

[0157] For example, if the user selects a position ratio setting of 1 on the screen 408, the processor 21 causes the display device 22 to display a screen 409 of Fig. 18. Screen 409 is a screen for setting the positional ratio 1 selected by the user. As shown in screen 409, the user can set the positional ratio by entering a numerical value and moving a displayed image of the effector and / or a displayed image of the object.

[0158] If the user, as in Fig. 19, in the state of the screen returned to screen 401, selects the change to a setting screen for setting the effector restriction from the preset, the processor 21 causes the display device 22 to display a screen 410 of Fig. 19. Screen 410 is a screen for selecting the effector type, the object type, the object position ratio, and so on.

[0159] Note that when the effector type is specified, the information about the effector type can be automatically set based on input information (an input) from an external device. For example, when the effector 30 is connected to the control device 1, a signal can be sent from the effector 30 to the control device 1, and the processor 21 can set the effector type based on the input signal (input). When the object type and object position relationship are specified, the object type and object position relationship can also be automatically set.

[0160] The screen 401 is a screen for selecting a change to a screen for setting a function request (request) and a screen for displaying the set function request. For example, when the user performs a predetermined operation to set the function request, when the user presses a "Create Setting" button, the processor 21 causes the display device 22 to display a screen 411 of Fig. 19. Screen 411 is a screen for the user to select the function request. Screen 411 displays "ACTIVE" to indicate that each of the function requests has been set at each of the positions corresponding to the function requests. The user can also set multiple function requests on screen 411. The function request (request) is, for example, a user request regarding a work task to be performed by the effector 30 on object 2.

[0161] The effector constraints are set via the settings of screens 410 and 411. The effector constraints include settings similar to those of screen 307, for example. Therefore, processor 21 can control arm 10A using the set effector constraints.

[0162] If the user selects “show created log” in the state of the screen display returned to screen 410, the processor 21 causes the display device 22 to display a screen 412 of Fig. 19. Screen 412 displays the contents of the set effector restriction and accepts changes to each of the effector restriction settings. Screen 412 is configured to accept user input to save the effector restrictions in which settings have been changed as one of the presets.

[0163] In this way, the storage unit 23 stores the plurality of effector constraints. The plurality of effector constraints are also stored in the storage unit 23 so as to correspond to the respective plurality of combinations of the effector types, which are the types of the effector 30, and the object types, which are the types of the object 2. When the user inputs any combination using the input unit 26 and the like, the processor 21 sets the corresponding effector constraint. This configuration reduces the time and labor required for setting by the user, and also contributes to the accuracy, safety, efficiency, etc., of the operation of the arm 10A.

[0164] It should be noted that the effector restriction can be set solely based on the effector type setting. Alternatively, the effector restriction can be set solely based on the object type setting. For example, in the case where a task and its requirement are respectively set for the effector type or the object, the effector restriction is set solely based on the effector type setting or the object type setting in a state where there is no other setting such as a function requirement and so on. In this configuration, the user can provide input for setting the effector type or the object type. That is, the setting of the effector restriction by the processor 21 is performed based on at least one of the effector type information and the object type information and the user input for the setting.When the effector 30 is connected to the control device 1, a signal related to the effector type and the like can be input from the effector 30, which is an external device, to the control device 1. In this case, the processor 21 performs the effector restriction setting based at least on the effector type information and the input from the external device. These configurations further reduce the time and effort required for the user to perform the settings and also contribute to improving the accuracy, safety, efficiency, etc. of the operation of the arm 10A. Furthermore, even a user who lacks sufficient experience can appropriately perform the effector restriction, which is beneficial to the accuracy, safety, efficiency, etc. of the operation of the arm 10A.

[0165] Furthermore, in the present embodiment, the effector restriction is also set based on a user-input request. This configuration is useful for achieving both a reduction in the time and effort required for user adjustment and a significant improvement in the accuracy, safety, efficiency, etc., of the operation of the arm 10A. [Simulator]

[0166] As described above, in the present embodiment, the effector restriction is set by the user's input value, and the preset effector restriction is set based on the function request input by the user. However, even in the case of presetting, the set effector restriction may not necessarily exhibit the normal operation expected by the user. It is possible that the route envisioned by the user may not be achieved due to the omission of an important setting, the presence of an unnecessary setting, insufficient fine-tuning of the effector restriction element, and the like.

[0167] The most reliable confirmation method is to confirm the actual operation of the robot 10 based on the avoidance route. However, if there is a flaw in the setting, even the confirmation action becomes risky. Since there are countless approach patterns of the approaching object, the above confirmation by trial and error requires a huge number of steps. Therefore, it is useful to verify whether the effector constraint is appropriate in the simulation.

[0168] To run the simulation, the user inputs a condition assumed to be an approach object. The approach of a person can be easily represented by an approach object with a primitive shape, such as a cylinder that approximates the human physique. A detailed three-dimensional model of the human body can be used. It is preferable to apply settings corresponding to the basic features of approach objects, such as the approach object to be avoided (the target to be avoided), the approach object that must not be avoided, the unavoidable approach object, and so on.

[0169] There can be an infinite number of operating patterns of the approach object. Therefore, it is preferable to create a preset, which is a comprehensive set of operating patterns, in advance. The user usually selects from the preset, and exceptional individual cases are manually entered by the user.

[0170] The three-dimensional models of the environment 4, the robot 10, the effector 30, the object 2, and so on are recreated on the simulator, and during the automatic execution based on the operating program 23B, the avoidance process, for example, is simulated. The simulation is preferably a physical simulation capable of reproducing the falling of the object 2 and the like. For example, created physical models of the effector 30 and the object 2 are used.

[0171] The simulation can calculate the acceleration, etc., of the effector 30 and the object 2, which cannot normally be monitored in reality. A simulation allowable value is set as the allowable threshold for the position, orientation, speed, acceleration, angular velocity, angular acceleration, etc. of the effector 30 and the object 2. The simulation can confirm whether the operation of the effector 30 is within the simulation allowable value. If a simulation allowable value corresponding to the function requirement is created in advance, this allowable value can be used. Alternatively, a value, setting, and the like can be selected from the effector constraint set for use as the simulation allowable value.

[0172] As a result of the simulation, a situation may arise where contact cannot be avoided, and the arm 10A or the effector 30 may come into contact with the approaching object. Even if contact is avoided, a defect such as toppling, falling, etc. of the object 2 may occur during operation. The simulation can determine whether the function requirement in the avoidance operation is satisfied under an arbitrary condition assumed by the user. Preferably, the processor 21 displays a state of the avoidance operation in the simulation on the display device 22 and the like.

[0173] In a case where the target to be avoided cannot be avoided, a requirement of the simulation allowable value is not met, a case where the cycle time does not meet a condition, or in any other situation, improvement is possible by checking the effector constraint. The user can confirm the simulation state and fine-tune the effector constraint.

[0174] Based on the simulation result, the processor 21 can modify, improve, or optimize the effector constraint, as described later, based on a constraint modification program 23G. This configuration is useful for achieving both reducing the user's time and effort and improving the accuracy, safety, efficiency, etc. of the operation of the arm 10A.

[0175] The above-described fine-tuning of the effector constraint element by the user is performed through trial and error, and this requires a great deal of effort for the user. In a case where the priority, an importance level, and so on are set at the time of setting the effector constraint elements, there is a high probability that the effector constraint elements with a low priority will be changed from the effector constraint elements with a low importance level. This is the effector constraint element to be adjusted. The constraint modification program 23G for modifying the effector constraint sets based on the simulation result is stored in the storage unit 23.

[0176] The simulation can be run, and a ratio value with which the to-be-avoided target can be avoided can be used as the avoidance success rate, as a criterion for determining whether the effector constraint set is appropriate. Furthermore, in a case where the to-be-avoided target cannot be avoided, the magnitude of the risk can be used as a criterion for determining the appropriateness of the effector constraint set. The effector constraint with a high avoidance success rate and low risk at the time of the avoidance failure can be considered an appropriate effector constraint.

[0177] Furthermore, cycle time can also be the criterion for determining whether the effector constraint set is appropriate. The above criterion for determining the appropriateness of the effector constraint set is only an example and is not limited to it.

[0178] The decision as to whether to prioritize a high avoidance success rate or a low avoidance failure risk varies depending on the user's risk assessment criteria. An effector constraint set index can be set as a determination index for determining the appropriateness of the effector constraint set, which includes the avoidance success rate, the risk at the time of avoidance failure, other risk assessment criteria, and the like.

[0179] For example, it is possible to specify that a state in which the effector constraint set index assumes a maximum (or minimum) is the best effector constraint set.

[0180] As an example method for modifying the effector constraint set using simulation, the following procedure can be considered. First, a general evolutionary algorithm can be applied. After the simulation is performed, the effector constraint set index is calculated. If the target to be avoided cannot be avoided, an alternative for the effector constraint element to be adjusted is generated based on the simulation result. Multiple alternatives can be generated simultaneously.

[0181] The simulation is rerun using the alternative effector constraint element, and the effector constraint set index is calculated. The alternative is then generated based on the effector constraint set in which the effector constraint set index has been improved. The number of alternatives to be generated can be changed according to the degree of improvement of the effector constraint set index.

[0182] The generation of alternative effector constraint sets as described above can be performed as many times as predetermined or until a predetermined effector constraint set index is exceeded. With this processing, an effector constraint set suitable for avoiding the target to be avoided can be obtained. The processing described above is only an example and is not limited to this specific processing.

[0183] The simulation described above and the improvement or optimization of the effector constraints based on the simulation result can be performed by the processor 21 of the control device 1 or by another computer. The other computer includes a processor, a display device, a storage unit, an input unit, and so on, which are the same as or similar to those of the storage device 1. The storage unit of the other computer stores a program, data, information, and so on, which are the same as or similar to those of the storage unit 23. The storage unit of the other computer also stores the simulation program, as well as models of the environments 4, the robot 10, the effector 30, the object 2, and so on.

[0184] The effector restriction improved or optimized by the other computer can be input to the control device 1, and the processor 21 of the control device 1, upon receiving the input, can set the input effector restriction in the operation program 23B, etc. In this case, the processor 21 causes the arm 10A to execute the work operation and the avoidance operation restricted by the effector restriction based on the input from the computer as an external device.

[0185] A more specific example is described below.

[0186] For example, a screen for executing the simulation of the effector restriction is displayed on the display device 22 of the input unit 26.

[0187] If the user clicks on the Fig. 20 selects the change to the screen for the simulation of the effector restriction, the processor 21 causes the display device 22 to display a screen 421 of Fig. 21. Screen 421 is a screen that allows the user to select a setting of any simulation condition from multiple settings of simulation conditions.

[0188] When the user selects the setting of a simulation condition 1 on the screen 421, the processor 21 causes the display device 22 to display a screen 422 of Fig. 21. Screen 422 is a screen for making various settings for the simulation. When the user selects the simulation setting on screen 422, processor 21 causes display device 22 to display screen 423. Screen 423 is a screen for setting the evaluation items to be evaluated in the simulation, setting the conditions for each evaluation item, including setting the simulation allowable value, and so on.

[0189] The user performs the operation to execute the simulation on the screen 421 after making the settings on the screens 422 and 423. As a result, the processor 21 displays a simulation execution screen 424 of Fig. 22 and shows results of the on screens 425 and 426 of Fig. 22 set evaluation elements.

[0190] The processor 21 may also evaluate whether the operation of the effector 30 is within the simulation allowable value. And the processor 21 may display a screen 427 of Fig. 23 if the operation of the effector 30 is not within the simulation allowable value. If the operation of the effector 30 is not within the simulation allowable value, the processor 21 may determine or estimate an effector constraint that is the cause of the result and display a screen to indicate the effector constraint to the user, as shown on screen 427. On screen 427, the effector constraint determined to be the cause is displayed in a different color.

[0191] Using the simulation result, processor 21 can improve or optimize the effector constraint based on constraint modification program 23G. For example, if "Optimize Setting" is selected on screen 401, the effector constraint is improved or optimized.

[0192] As an example, a case is explained in which the simulation with effector restriction 1 of screen 307 of Fig. 13 is executed. If some of the effector constraint elements of effector constraint 1 are determined to be the cause, the processor 21 modifies the effector constraint elements determined to be the cause. At this time, each effector constraint element of the screen 307 is Fig. 13, as described above, is set to "designated," which means the designated (user-requested) constraint. Furthermore, it is assumed that some of the effector constraint items in the Acceleration / Angular Acceleration etc. tab of screen 307 of Fig. 13 are the cause, as in Fig.23, and these are not set to "designated," thus they are "subordinate" (optimizable) constraints. For example, the processor 21 performs the improvement or optimization by modifying the effector constraint elements identified as the cause and not set to "designated." In this case, the user can instruct the processor 21 to perform the improvement or optimization while simultaneously recognizing the constraint elements that are not automatically modified. This configuration facilitates adjustment for the user and also contributes to the accuracy, safety, efficiency, etc. of the arm 10A.

[0193] In the present embodiment, the storage unit 23 stores the effector constraint, which is the constraint on changes in the position and orientation of the effector 30 as viewed from the predetermined reference coordinates. The processor 21 also generates the avoidance route based at least on the detection result of the target to be avoided and the effector constraint, and causes the robot 10 to perform the operation along the generated avoidance route. This contributes to the accuracy, safety, efficiency, etc., of the operation of the robot 10. This makes setting (avoidance) the orientation to be avoided in accordance with the type of the effector 30 or the object 2 easy and reliable. This can also enable a reduction in labor or simplification of the above-described teaching or setting process, etc. This can also lead to the creation, selection, etc.the avoidance route that can improve the cycle time, while simultaneously executing the operation of the arm 10A that can maintain the position and orientation of the effector 30 in a suitable state. Furthermore, if the control device 1 performs safety confirmation on the generated avoidance route in real time through the simulation and controls the arm 10A based on the safety-confirmed avoidance route, the computational cost can be reduced.

[0194] The control device 1 further includes the input unit 26, with which the user inputs the effector restriction element, etc. of the effector restriction. This configuration is useful in setting the appropriate effector restrictions for a wide variety of effectors 30 and a wide variety of jobs.

[0195] In the effector constraint, at least one of the speed constraint, the acceleration constraint, the angular velocity constraint, and the angular acceleration effector constraint can also be set, as viewed from the predetermined reference coordinates of the effector 30. This configuration is useful for setting appropriate effector constraints for a wide variety of effectors 30 and a wide variety of jobs. Furthermore, the settings of these effector constraint items can simplify the operation setting or the operation restriction setting of the arm 10A, for example, when setting a large number of teaching points, etc., for a complicated job of the arm 10A.

[0196] The embodiments of the present disclosure have been described, but the present disclosure is not limited to the individual embodiments described above. Various additions, replacements, changes, partial deletions, and the like can be made to the embodiment within a range that does not deviate from the gist of the invention or the concept and purpose of the invention, which can be understood from the contents described in the claims and their equivalents. In the embodiment described above, for example, it is possible to change the order of operations, change the order of processing, omit or add part of the works conditionally, and omit or add part of the processing conditionally, without being limited to the above-described example.The same applies if numerical values or mathematical expressions are used in the description of the embodiment described above. {Appendix 1]

[0197] Control device comprising: a processor; and a storage unit that stores an effector constraint that is a constraint related to a change in a position and / or an orientation of an effector of a robot as seen from predetermined reference coordinates, wherein the processor is configured to run: a generation process that generates an avoidance route based on at least a detection result of a target to be avoided based on an output signal of a sensor and the effector constraint; and a control processing that causes the robot to perform an avoidance operation along the generated avoidance route. {Appendix 2]

[0198] A control device according to Annex 1, wherein the processor is configured to perform a calculation of a position of the target to be avoided based on the output signal of the sensor, which is a proximity detection sensor. {Appendix 3]

[0199] A control device according to Annex 2, wherein the processor determines a possibility of contact between the robot and / or effector and the target to be avoided based on a result of the calculation. {Appendix 4]

[0200] A control device according to Annex 1, wherein the storage unit is capable of storing a plurality of the effector constraints. {Appendix 5]

[0201] A control device according to Annex 1, wherein the storage unit is capable of storing an effector constraint set produced by combining the plurality of effector constraints. {Appendix 6]

[0202] Control device comprising: a processor; a storage unit; and a display device that displays a setting screen for a setting that causes a robot to perform an avoidance operation based on an output signal of a sensor, wherein the display device is capable of displaying a screen for setting an effector constraint, which is a constraint relating to a change in a position and / or an orientation of an effector of the robot as viewed from predetermined reference coordinates, and the screen is used to set the effector restriction based on at least one user input. {Appendix 7]

[0203] Control device according to one of Annexes 1 to 6, comprising an input unit enabling input of the effector restriction. {Appendix 8]

[0204] Control device according to one of Annexes 1 to 7, wherein the storage unit stores a plurality of the effector restrictions, the plurality of effector constraints each correspond to a type of effector and / or a type of object on which the effector performs work, and the processor is configured to set the effector constraints based on information regarding the type of effector and / or information regarding the type of object and a user input. {Appendix 9]

[0205] A control device as defined in Annex 8, wherein the user input is used to set a user-specified requirement for the operation of the effector. {Appendix 10]

[0206] Control device according to one of Annexes 1 to 7, wherein the effector restriction comprises a plurality of effector restriction elements, the effector constraint is an effector constraint in which a priority can be set on at least one of the plurality of effector constraint elements, and the processor is configured to cause the robot to perform the avoidance operation using at least the priority effector constraint. {Appendix 11]

[0207] Control device according to one of Annexes 1 to 7, wherein the effector restriction comprises a plurality of effector restriction elements, the controller is configured to accept, for each of the plurality of effector constraint elements, a setting of a designated constraint that causes the processor to use a user-designated value or a setting of a sub-constraint that allows modification by the processor. {Appendix 12]

[0208] A control device according to any one of Appendices 1 to 11, wherein the processor is configured to execute, using at least the effector constraint, a simulation that causes a model of the robot to execute the avoidance action and to determine whether or not the avoidance action satisfies a criterion. {Appendix 13]

[0209] A control device according to Annex 12, wherein the processor is configured to modify the effector constraint to satisfy the criterion if the avoidance action does not satisfy the criterion. {Appendix 14]

[0210] A control device according to any one of Annexes 1 to 13, wherein the effector constraint is capable of setting at least one of the following: a constraint on the velocity as seen from the predetermined reference coordinates of the effector, a constraint on the acceleration as seen from the predetermined reference coordinates of the effector, a constraint on the angular velocity as seen from the predetermined reference coordinates of the effector, a constraint on the angular acceleration as seen from the predetermined reference coordinates of the effector, and a constraint on a value or formula corresponding to an amount determined by differentiating the position or orientation three or more times over time. {Appendix 15]

[0211] Computers including: a processor; a storage unit; and a display device configured to display a setting screen of an effector constraint, which is a constraint relating to a change in a position and / or an orientation of an effector of a robot as viewed from predetermined reference coordinates, wherein the setting screen is used to set the effector restriction based on at least one user input, and the processor is configured to execute, using at least the effector constraint, a simulation that causes a model of the robot to perform an avoidance action and to determine whether the avoidance action satisfies or fails to satisfy a criterion. {Appendix 16]

[0212] A computer as defined in Annex 15, wherein the processor is configured to modify the effector constraint to satisfy the criterion if the avoidance process does not satisfy the criterion. {List of reference symbols} 1 control device 2 objects 10 robots 10A Arm 11 Servo motor 11A encoders 12 movable section 21 processor 22 Display device 23 Storage unit 23A System program 23B Operating program 23C control program 23D route generation program 23F preset automatic setting program 23G Restriction Modification Program 23H Interference calculation program 24 Servo control 25 Servo control 26 Input unit 50 sensors 200 screen (operating program) 300-309 screen 401-412 screen 421-427 screen 500 operating section QUOTES CONTAINED IN THE DESCRIPTION

[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature

[0000] JP 2019-206080

[0005] JP 2017-094430

[0005] JP 2016-196069

[0005]

Claims

[1] Control device comprising: a processor; and a storage unit that stores an effector constraint that is a constraint related to a change in a position and / or an orientation of an effector of a robot as seen from predetermined reference coordinates, wherein the processor is configured to run: a generation process that generates an avoidance route based on at least a detection result of a target to be avoided based on an output signal of a sensor and the effector constraint; and a control processing that causes the robot to perform an avoidance operation along the generated avoidance route. [2] The control device according to claim 1, wherein the processor is configured to perform a calculation of a position of the target to be avoided based on the output signal of the sensor which is a proximity detection sensor. [3] The control device according to claim 2, wherein the processor determines a contact possibility between the robot and / or effector and the target to be avoided based on a result of the calculation. [4] The control device according to claim 1, wherein the storage unit is capable of storing a plurality of the effector constraints. [5] The control device according to claim 1, wherein the storage unit is capable of storing an effector constraint set made by combining the plurality of effector constraints. [6] Control device comprising: a processor; a storage unit; and a display device that displays a setting screen for a setting that causes a robot to perform an avoidance operation based on an output signal of a sensor, wherein the display device is capable of displaying a screen for setting an effector constraint, which is a constraint relating to a change in a position and / or an orientation of an effector of the robot as viewed from predetermined reference coordinates, and the screen is used to set the effector restriction based on at least one user input. [7] Control device according to one of claims 1 to 6, comprising an input unit that enables input of the effector restriction. [8] Control device according to one of claims 1 to 7, wherein the storage unit stores a plurality of the effector restrictions, the plurality of effector constraints each correspond to a type of effector and / or a type of object on which the effector performs an operation, and the processor is configured to set the effector constraints based on information regarding the type of effector and / or information regarding the type of object and a user input. [9] The control device of claim 8, wherein the user input is to set a user-requested requirement regarding the operation of the effector. [10] Control device according to one of claims 1 to 7, wherein the effector restriction comprises a plurality of effector restriction elements, the effector constraint is an effector constraint in which a priority can be set on at least one of the plurality of effector constraint elements, and the processor is configured to cause the robot to perform the avoidance operation using at least the priority effector constraint. [11] Control device according to one of claims 1 to 7, wherein the effector restriction comprises a plurality of effector restriction elements, the controller is configured to accept, for each of the plurality of effector constraint elements, a setting of a designated constraint that causes the processor to use a user-designated value or a setting of a sub-constraint that allows modification by the processor. [12] The control device according to any one of claims 1 to 11, wherein the processor is configured to execute, using at least the effector constraint, a simulation that causes a model of the robot to execute the avoidance action and to determine whether or not the avoidance action satisfies a criterion. [13] The control device of claim 12, wherein the processor is configured to modify the effector constraint to satisfy the criterion if the avoidance action does not satisfy the criterion. [14] The control device according to any one of claims 1 to 13, wherein the effector constraint is capable of setting at least one of: a constraint on the speed as seen from the predetermined reference coordinates of the effector, a constraint on the acceleration as seen from the predetermined reference coordinates of the effector, a constraint on the angular velocity as seen from the predetermined reference coordinates of the effector, a constraint on the angular acceleration as seen from the predetermined reference coordinates of the effector, and a constraint on a value or a formula corresponding to an amount determined by differentiating the position or the orientation three or more times over time. [15] Computers comprising: a processor; a storage unit; and a display device configured to display a setting screen of an effector constraint, which is a constraint relating to a change in a position and / or an orientation of an effector of a robot as viewed from predetermined reference coordinates, wherein the setting screen is used to set the effector restriction based on at least one user input, and the processor is configured to execute, using at least the effector constraint, a simulation that causes a model of the robot to perform an avoidance action and to determine whether the avoidance action satisfies or fails to satisfy a criterion. [16] The computer of claim 15, wherein the processor is configured to modify the effector constraint to satisfy the criterion if the avoidance operation does not satisfy the criterion.

Citation Information

Patent Citations

  • 2019-206080

  • 2016-196069

  • 2017-094430