CONTROL UNIT AND COMPUTER
The control unit enforces effector constraints on industrial robots, addressing inefficiencies and safety risks by ensuring proper orientation and position of attached tools, thereby enhancing safety and efficiency.
Patent Information
- Application Number
- DE112022007752
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-11-15
- Publication Date
- 2025-07-03
AI Technical Summary
Existing industrial robot systems lack the ability to efficiently generate routes that account for the specific orientation and position constraints of attached effectors, leading to potential inefficiencies and safety risks such as object dropping during operations.
A control unit with a processor and storage unit that sets and enforces effector constraints on position and orientation changes relative to predetermined reference coordinates, allowing for safe and efficient robot operation by considering the characteristics of attached effectors.
The solution enhances the safety and efficiency of robot operations by ensuring that effectors maintain appropriate positions and orientations, reducing the risk of object dropping and improving cycle time.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
{Technical Field}The present disclosure relates to a control unit and a computer.{Technical Background}In the field of industrial robots, generally, a user instructs a robot to cause the robot to perform a desired operation. A control unit of the robot generates a route based on the instruction and moves the robot. In general, a mode in which the robot moves without an operation of the user based on an operation instruction set in advance is referred to as an automatic operation mode, an AUTO mode, and the like. In addition, generally, when the user notifies the robot, the user performs an operation called a tap operation using a portable operation panel. During the tapping operation, the user needs to positively observe the robot, an effector, an object including a workpiece, and the like in order for the robot to move securely. In addition, the user must also take into account an orientation of the effector in such a way that the effector can perform its function.When the route is generated for the automatic operation mode, the cycle time is generally important. Further, there is a case where a restriction such as enabling only rotation about an axis vertical to the ground and the like is set in the robot operation.In the field of industrial robots, there is generally a known function in which an operable area or an entry prohibited area is set in advance such that the robot does not interfere with its environment and the robot moves only in an area in which the robot does not interfere with the environment. A function of performing accurate boundary surface calculation using 3D models of a robot and the environment is also known. See, for example, PTL 1.In the field of industrial robots, a technique of generating a route such that a protrusion portion of the effector does not face a person and the like is also known. See, e.g., PTL 2.{Entertainment List}{Patent Literature}{PTL 1} Japanese Unexamined Patent Application, Publication No. 2017-094430.{PTL 2} Japanese Unexamined Patent Application, Publication No. 2016-196069{Summary of the Invention}{Technical Problem}As an example, when there is an appropriate range of an orientation, a position, and the like of the effector such that the effector can securely perform its function, it is desirable that the route of the robot satisfy this range. As an example, if the route generation or the tap operation reflecting the nature of the effector is not performed, there is a possibility of causing an undesirable situation such as dropping an object such as a workpiece and the like. As an example, a plurality of effectors attached to the distal end portion and the like of the robot, such as a hand or a suction cup for object handling, a torch for welding, a scanning device for inspection, and the like, are provided, and it is desirable that the robot operates according to the effector. As an example, setting in which the orientation of the effector to a certain state is set limits options of route generation and tap operation, which is uneconomical and can reduce cycle time. A technique is desired that can perform the setting according to the type of the effector, the function required for the effector, the type of the object, the type of the action, the function required for the action, and the like.{Solution of Problem}A control unit 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 of a change in a position and / or an orientation of an effector of a robot from a viewpoint of predetermined reference coordinates, wherein the processor is configured to cause the robot to perform an operation constrained by the effector constraint set based on an input by a user or from an external device.A control unit according to a second aspect of the present disclosure includes a processor; a storage unit; and a display device that displays an effector constraint setting screen that is a constraint of a change in a position and / or an orientation of an effector of a robot from a viewpoint of predetermined reference coordinates, the setting screen for setting the effector constraint based at least on an input from a user.A computer according to a third aspect of the present disclosure includes a processor; a storage unit; and a display device configured to display an effector constraint setting screen that is a constraint of a change in a position and / or an orientation of an effector of a robot from predetermined reference coordinates, wherein the setting screen is for setting the effector constraint based at least on an input from a user, and the processor is configured to perform a simulation that causes a model of the robot to perform the operation using at least the effector constraint and determines whether or not the operation satisfies a criterion.{Brief Description of 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 showing a configuration of a control unit of the robot according to the present embodiment.{ FIG. 3 } FIG. 3 is a schematic diagram of various effectors attached to the robot according to the present embodiment.{ FIG. 4 } FIG. 4 is a schematic diagram showing an operation of an effector attached to the robot according to the present embodiment.{ FIG. 5 } FIG. 5 is an example of an effector restriction set in the control unit of the present embodiment.{ FIG. 6 } FIG. 6 is an example of a screen displayed by the control unit of the present embodiment.{ FIG. 7 } FIG. 7 is an example of a screen displayed by the control unit of the present embodiment.{ FIG. 8 } FIG. 8 is an example of a screen displayed by the control unit of the present embodiment.{ FIG. 9 } FIG. 9 is an example of a screen displayed by the control unit of the present embodiment.{ FIG. 10 } FIG. 10 is an example of a screen displayed by the control unit of the present embodiment.{ FIG. 11 } FIG. 11 is an example of a screen displayed by the control unit of the present embodiment.{ FIG. 12 } FIG. 12 is an example of a screen displayed by the control unit of the present embodiment.{ FIG. 13 } FIG. 13 is an example of a screen displayed by the control unit of the present embodiment.{ FIG. 14 } FIG. 14 is a block diagram showing an example of a function of a control unit of the present embodiment.{ FIG. 15 } FIG. 15 is an example of a screen displayed by the control unit of the present embodiment.{ FIG. 16 } FIG. 16 is an example of a screen displayed by the control unit of the present embodiment.{ FIG. 17 } FIG. 17 is an example of a screen displayed by the control unit of the present embodiment.{ FIG. 18 } FIG. 18 is an example of a screen displayed by the control unit of the present embodiment.{ FIG. 19 } FIG. 19 is an example of a screen displayed by the control unit of the present embodiment.{ FIG. 20 } FIG. 20 is an example of a screen displayed by the control unit of the present embodiment.{ FIG. 21 } FIG. 21 is an example of a screen displayed by the control unit of the present embodiment.{ FIG. 22 } FIG. 22 is an example of a screen displayed by the control unit of the present embodiment.{ FIG. 23 } FIG. 23 is an example of a screen displayed by the control unit of the present embodiment.{Description of Embodiments}Next, a control unit 1 of a robot according to a first embodiment will be described. The control unit 1 is provided to control an arm 10A of a robot 10 (see FIG. 1 ).Although the robot 10 is not limited to a specific type, the robot 10 of the present embodiment is an articulated robot having six axes. The robot 10 may be an articulated robot having five or less axes or seven or more axes, a horizontally articulated robot, a multi-articulated robot, and the like. In addition, the robot 10 or its arm 10A may be supported by a moving device such as a rectilinear guide and the like, an AVG (Automatic Guided Vehicle), a vehicle, a walking type robot, and the like.In addition, the robot 10 may be a cooperative robot that can avoid contact, proximity, or the like with a person, an object, and the like present in the environment using a known sensor such as an optical sensor, a force sensor, and the like.The arm 10A includes a plurality of movable portions 12 connected to each other using joints, and a plurality of servomotors 11 that respectively drive the plurality of movable portions 12 (FIGS. 1 and 2 ). Each servomotor 11 includes an operation position detection device such as a sensor, an encoder 11A, and the like for detecting its operation position. In the present embodiment, the control unit 1 receives detection values of the encoder 11A.As shown in FIG. 1, for example, an effector 30 such as a hand, a tool, and the like is attached to a distal end portion of the arm 10A, and the arm 10A is, for example, a part of a robot system that performs an operation on an object 2 that is an operation target on a transport device.The operation is a known operation 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 known processing such as processing, painting, washing, and the like. The transport device may be any device such as a transport device, an AGV (Automatic Guided Vehicle), or a manufactured vehicle, and the like that can move the object 2. When the transport device is a vehicle in production, a running gear, a tire, an engine, and the like function as the transport device, and the object 2, which is a body and the like, is transported on the running gear. The object 2 may be a plurality of objects such as an object including 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.The effector 30 may be a dedicated hand, a suction cup, and the like for object handling. In addition, the effector 30 may also include a variety of devices such as a tool for assembly processes, a gun for spot welding, a torch for arc welding, a scanning device for an inspection system, and the like. In this way, the effector 30 is not limited to a particular effector.When the effector 30 has an operation portion such as a finger and the like of the hand, the effector 30 is provided with a servo motor 31 for driving the operated portion (see FIG. 2 ). The servomotor 31 has an operation position detection device for detecting its operation position, and an example of the operation position detection device is an encoder. Detection values of the operation position detection device are sent to the control unit 1. As each of the servomotors 11 and 31, various types of servomotors such as a rotary motor, a linear motor, and the like can be used.The effector 30 is attached mainly to the distal end portion of the arm 10A, but the effector 30 may be attached to an intermediate portion or a base end portion of the arm A 10 in the longitudinal direction. In a system in which the workpiece is transferred between the robot 10 and a person, a hand for gripping the object 2 or a hand for sucking the object 2 by means of a suction cup, a magnet, an electromagnet, and the like is often used as the effector 30, as shown in FIG. 3. Instead, there is a case where the object 2 is disposed in a container or on a flat plate-like tray as the effector 30. Further, there is also a case where the object 2 is disposed in a box or a basket as the effector 30.In recent years, a hand and the like using a finger having flexibility to grasp an object smoothly has been frequently used, and this hand is also an example of the effector 30.The effector 30 described above may have a limited orientation suitable for functioning as the effector. As shown in FIG. 4, when the effector 30, which is, for example, the hand using a suction cup, a magnet, or an electromagnet, does not suck the object 2 from a predetermined direction such as an upward direction, the effector 30 does not need to reliably hold the object 2. In addition, in such a case where the object 2 is disposed on the effector 30 which is, for example, a tray, the user is expected to be attentive such that the object 2 does not fall off the tray.As shown in FIG. 2, the control unit 1 includes 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.In addition, the control unit 1 includes servo control units 24 respectively corresponding to the servomotors 11 of the robot 10 and a servo control unit 25 corresponding to the servomotor 31 of the effector 30. The control unit 1 also includes an input unit 26 connected to the control unit 1 by wire or wirelessly. In one example, the input unit 26 is an input device such as a portable operation panel that can be guided by the user. 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, the input is performed using a touch screen function. There is also a case where the portable operation panel or the tablet computer has the display device 22.The storage unit 23 stores a system program 23A, and the system program 23A plays a basic function of the control unit 1. The operation program 23B includes a plurality of instructions, information, and the like for operating the robot. The operation program 23B of the present embodiment includes at least information regarding coordinates and orientations at a plurality of teaching points, an instruction related to movement between the teaching points, and the like.The storage unit 23 also stores a control program 23C, a route generation program 23D, and the like. The control program 23C is a known feedback program, pre-control program, and the like.The control unit 1 generates a route based on the operation program 23B using the route generation program 23D, and generates a control instruction for moving on the route using the control program 23C to control the arm 10A.In addition, when a position and an orientation of the arm 10A of the robot 10 is notified, it is normal to set, as the notification point and the like, coordinates from the viewpoint of a reference coordinate system 101 (see FIG. 1 ) of the robot, which serves as a reference that does not move with respect to the space. In a state where the effector 30 is not provided, normally, the position and the orientation of the coordinate system set on a flange surface (a mechanical interface) at the distal end of the arm 10A are set as the teaching point and the like. In a state where the effector 30 is provided, an effector coordinate system 102 (see FIG. 1 ) may be set at a predetermined position and the like of the effector 30. In this case, it is normal that the position and the orientation of the effector coordinate system 102 are set as the instruction point and the like.Note that, in this embodiment, a coordinate system set in the distal end portion of the arm 10A is taken into consideration as the effector coordinate system 102, and a coordinate system set on the flange surface is also treated as the effector coordinate system 102.In the present embodiment, the reference coordinate system 101 and the effector coordinate system 102 that does not move with respect to the effector 30 are set. The effector coordinate system 102 may be designated by another name, such as a tool coordinate system. The control unit 1 recognizes the position and orientation of the effector coordinate system 102 in the reference coordinate system 101 by a known calibration and the like.In this embodiment, the user may set an effector constraint that limits a relative change of the effector coordinate system 102 with respect to the reference coordinate system 101.FIG. 5 shows a configuration example of the effector restriction. As shown in FIG. 5, a first example of the effector constraint is a constraint on the position coordinates (X, Y, Z) of the effector coordinate system 102. A second example of effector constraint is a constraint on the orientation of the effector coordinate system 102 (about the X axis = θx, about the Y axis = θy, about the Z axis = θz). In addition, in the example of FIG. 5, a portion in which "0" is input to both the upper limit and the lower limit means that the change is not allowed. The fact that the effector constraint is not set can be expressed using "-" and the like.The restriction of the relative change of the effector coordinate system 102 of the first example may be set with reference 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 the other coordinate system is a predetermined coordinate system, which may be simply referred to as the coordinate system in the following description. The restriction on the orientation of the effector coordinate system 102 of the second example may also be set with reference to the position and orientation of the coordinate system. Note that the position constraint and the orientation constraint of the effector coordinate system 102 may be set with reference to the position and the orientation of the effector coordinate system 102 at the time before the arm 10A starts a certain operation.As shown in FIG. 5, a third example of effector constraint is a constraint on the velocity of the effector coordinate system 102. This speed is, for example, the speed in a traveling direction of the effector coordinate system 102 in the coordinate system or the speed in each of the X, Y, and Z directions. A fourth example of effector constraint is a constraint on the angular velocity of the effector coordinate system 102. This angular velocity is the angular velocity of the effector coordinate system 102 about a particular axis line in the coordinate system or angular velocities about the X, Y and Z axes.As shown in FIG. 5, a fifth example of the effector constraint is a constraint on the acceleration of the effector coordinate system 102. This acceleration is, for example, the acceleration in a traveling direction of the effector coordinate system 102 in the coordinate system or the acceleration in each of the X, Y, and Z directions. A sixth example of effector constraint is a constraint on the angular acceleration of the effector coordinate system 102. This angular acceleration is the angular acceleration of the effector coordinate system 102 about a particular axis line in the coordinate system or the angular acceleration about the X, Y and Z axes. The effector constraints in the third through sixth examples limit the changes in position and / or orientation of the effector 30.The effector constraint may be a combination of two or more of the first to sixth examples. In addition, it is possible to use a value corresponding to an amount obtained by time-deriving the position and / or the orientation at least three times, a formula, and the like. Additionally, the effector constraint may be a constraint of a change in position and / or orientation of the effector coordinate system 102 with respect to predetermined reference coordinates. In addition, the change in the position and / or the orientation of the effector coordinate system 102 with respect to the predefined reference coordinates is a change in the position and / or the orientation of the effector with respect to the predefined coordinate system. Further, the restrictions on the angular velocity, the angular acceleration, and the like in the third to sixth examples are the restrictions on the changes in the position and / or the orientation of the effector from the viewpoint of predetermined reference coordinates.In a typical example of the present embodiment, the information on the coordinates and the orientation, the instruction, and the effector constraint are set for each instruction point in the operation program 23B. In the screen 200 of FIG. 7 displayed on the display device 22 by the processor 21 of the control unit 1, the effector constraint for a training point 1 (position and orientation [1]) and a training point 2 (position and orientation [2]) is not set. On the other hand, the effector constraints 1 and 2 are set for each of a training point 3 (position and orientation [3]) and a training point 4 (position and orientation [4]), which will be described later. Preferably, the screen 200 of FIG. 6 is a screen for permitting an operation to display a screen related to the setting of the effector constraint. This operation is a tap of a predetermined position on the screen 200 or a tap of a predetermined key. The button may be provided in the input unit 26.For example, when the user tap an area to the right of "smooth" of the training point 3 on the screen 200, an effector restriction setting screen 210 shown in FIG. 6 will appear. An effector constraint or an effector constraint set described later may be selected on the setting screen 210. When this operation is repeatedly performed, the effector constraint or the effector constraint set is set at an arbitrary instruction point as shown in FIG. 7.In one example, the user may set a coordinate system and constraints on changes in the position and orientation of the effector coordinate system 102 with respect to the reference coordinates as the effector constraint. Preferably, the input unit 26 with which the user can modify the settings is provided on a portable control panel, also referred to as a training pendant. The setting of the effector restriction and the like are stored in the storage unit 23 or a predetermined storage unit such as a storage device of a separate control unit, a storage unit in the cloud, and the like. When the effector constraint is stored in the storage device of the separate control unit, the storage unit in the cloud, and the like, these storage device and storage unit operate as a storage unit of the control unit 1.For setting the effector constraint, for example, 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 unit 1 causes the display device 22 to display a screen 300 shown in FIG. 8. The screen 300 is a screen for allowing the user to select moving to the effector restriction setting screen.An operation portion 500 for performing the above-mentioned selection and the like is displayed on the display device 22. A direction key, a determination key, a return key for returning to a screen before transition, or an upper layer screen, and the like are displayed on the operation section 500, and the user performs inputs using these key operations. Note that a key corresponding to the function may be provided in the input unit 26.When the user selects moving to the effector restriction setting screen on the screen 300, the processor 21 causes the display device 22 to display a screen 301 of FIG. 9. The screen 301 is a screen for allowing the user to select moving to the reference coordinate system setting screen.When the user selects moving 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. The screen 302 is a screen for allowing the user to select setting of an arbitrary reference coordinate system among the plurality of reference coordinate systems.For example, when the user selects one reference coordinate system 1 among 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. The screen 303 is a screen for setting the reference coordinate system 1 selected by the user. As shown in the screen 300, the user can set the position and orientation of the reference coordinate system 1.Further, when the user 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 set by the reference coordinate systems 1 and 2, and the like, respectively, can be used as a reference coordinate system 101.In the present embodiment, the user can set multiple reference coordinate systems using the screens 302 and 303. This configuration is useful in improving the flexibility of effector restriction setting, which will be described later.As shown in FIG. 11, when the user selects moving to the effector coordinate setting screen in a state where the display device has returned to the screen 301, the processor 21 causes the display device 22 to display a screen 304 of FIG. 11. The screen 304 is a screen for allowing the user to select setting of effector coordinates from among a plurality of effector coordinates.For example, when the user selects effector coordinates 1 from among 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. The 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 effector coordinates 1.In addition, when the user selects effector coordinates 2 on the screen 304, the processor 21 causes the display device 22 to display a screen 305 of FIG. 12. In Figure 12, the user can set the selected effector coordinates 2.In the present embodiment, the user can set the plurality of effector coordinates using screens 304 and 305. This configuration is useful for improving the flexibility of effector restriction setting, which will be described later.As shown in FIG. 13, when the user selects moving to the effector restriction setting screen in the state where the display device has returned to the screen 301, the processor 21 causes the display device 22 to display a screen 306 of FIG. 13. The screen 306 is a screen for allowing the user to select setting of any effector constraint from among the plurality of effector constraints.For example, when the user selects the effector constraint 1 from among the plurality of effector constraints on the screen 306, the processor 21 causes the display device 22 to display a screen 307 of FIG. 13. The screen 307 is a screen for setting the effector constraint 1 selected by the user, and the user can set the effector constraint using the screen 307. The effector constraint serves to limit a change from the point of view of predetermined reference coordinates of the effector coordinate system 102 fixed to the effector 30.In particular, as shown in screen 307, the user may set the reference coordinate system that serves as the reference of effector constraint 1. The effector constraint 2 may also be set in the same or similar manner. When the reference coordinate system is fixed at any time when the reference coordinate system 101 is used and the like, the setting of the reference coordinate system on the screen 307 may be omitted.Also, as shown in screen 307, the user may set effector coordinates for each effector constraint. Effector coordinates 1 are set for effector constraint 1 on screen 307. Accordingly, effector coordinates 2 for the effector restriction 2 are set, for example. The effector constraint limits the change in position and / or orientation of the effector 30 from the point of view of the set effector coordinates (the predetermined reference coordinates). Therefore, 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 result in an improvement in the flexibility of the setting by the user. In addition, an effector restriction element, which will be described later, is set for each effector restriction.On the screen 305 of FIGS. 11 and 12, the position and orientation of the effector 30 of the set effector coordinates are illustrated as an image. In FIG. 11, the effector coordinates 1 are set at a position that is obliquely upward with respect to the effector coordinate system 102, and in FIG. 12, the effector coordinates 2 are set at a different position in a horizontal direction with respect to the effector coordinate system 102.In the example of the above-described operation program 23B of the screen 200, the effector constraint 1 is set for the instruction point 3 (position and orientation [3]). The processor 21 operates the arm 10A such that the effector 30 moves based on the operation program 23B. In this case, at a position between the instruction point 2 (position and orientation [2]) and the instruction point 3 (position and orientation [3]), the change of the position and orientation of the effector coordinate system 102 from the viewpoint of the effector coordinates 1 (predetermined reference coordinate) is restricted by the effector restriction element set in the action restriction 1. The processor 21 may apply the constraint between the training point 3 and a training point 4. Accordingly, with respect to the instruction point 4, the change of the position and the orientation of the effector coordinate system 102 from the viewpoint of the effector coordinates 2 (predetermined reference coordinate) is restricted by the effector restriction element set in the effector restriction 2.Here, the position of effector coordinates 1 (predetermined reference coordinates) with respect to effector 30 at instruction point 3 corresponds to the position of effector 30 at effector coordinates 1 shown on screen 305 of FIG. 11. The position of the effector coordinates 2 (predetermined reference coordinates) can also be set in a similar manner.In addition, there may be a case where a training point and / or a passing point between the training points are used as the predetermined reference coordinates. That is, the change in position and orientation at each instruction point and each pass point of the effector 30 moved by the operation program 23B is controlled to be in the range of the effector restriction elements seen from the position and orientation of the instruction point and the pass point.In such a case where the training point and / or the passing point between the training points are used as the predetermined reference coordinates, the settings of the screen 305 of FIGS. 11 and 12 will be unnecessary, and the setting of the effector coordinates of the screen 307 of FIG. 13 will also be unnecessary. The screen 307 of FIG. 13 may be configured to allow the setting to make the position and orientation of the training point or the passing point the effector coordinates 1.In addition, it can be said that the effector restriction element of the effector restriction indicates a range in which the change in the position of the effector 30 is allowed. Typically, when the processor 21 operates the arm 10A in the above-described configuration, an actual position and an actual orientation of the effector 30 (effector coordinate system 102) are designed in the range in which the change in the position of the effector 30 by the effector constraint is allowed.In addition, there may be a case where the target of the effector restriction 1 is a section. In this case, for example, an element of the "range of application of effector restriction" is indicated on the screen 307, and the user inputs a notice score and the like of the target of effector restriction to the right of an indication of the "range of effector restriction". If the instruction scores are several consecutive scores, the corresponding section becomes the target of effector constraint 1.In addition, the target portion of the effector constraint can be set by writing start / end to the operation program 23B for the start / end of the effector constraint.An effector constraint that is always applied may be set regardless of the operation program 23B.In addition, for each effector constraint, an operation program 23B to which the constraint is always applied may be set.In addition, on the screen 307 shown in FIG. 13, a space or orientation type of the arm 10A may be set as an "area where the effector restriction is applied". For example, a range of a dotted line 307A in FIG. 13 indicates a range in the X-Z direction, but a range of about several tens of centimeters in the Y direction may be set in the range, for example. When the user enters the space to the right of the "range in which the effector constraint is applied" by selecting the space on the screen 307, the space is set as the range in which the effector constraint 1 is applied. Accordingly, a plurality of orientation types of the arm 10A may be shown on the screen 307, and a selected orientation type may be input to the right of the "range where the effector constraint is applied". In this case, the effector constraint 1 is applied as long as the orientation of the arm 10A corresponds to the orientation type. Further, it is also possible to adopt a configuration in which the user can set a route under the condition of effector restriction on the screen 307.In addition, on the basis of the effector restriction set at each instruction point of the operation program 23B and another set effector restriction, the control unit 1 can automatically set the effector restriction. Since this automatically set effector constraint also uses the effector constraint set for each instruction point by the user as a basis, it is the effector constraint set based on the user's input.In addition, there may be a case where the user notifies the control unit 1 of the space in which the arm 10A can operate, an action task to be performed on the object 2 by the arm 10A using the effector 30, and the like, and the arm 10A performs the action based on the notification. For example, there may be a case where the arm 10A is disposed at a bartress. The above-described operation includes a task of holding the object 2 such as a cup and the like using the effector 30, the arm 10A serving the held object 2 to a position corresponding to a customer at the meeting using the effector 30 as a hand, and the like.In this case, for example, an optical sensor for observing an operation range of the arm 10A is provided, and the control unit 1 recognizes the position of the effector 30, the position of the object 2, the environment 4 moving in space, an approaching object including the customer, and the like on the basis of the output of the optical sensor. The control unit 1 sequentially calculates a route along which the effector 30 moves to perform the operations while recognizing the environment 4 and an existence range of the approaching object. Even in this case, the processor 21 can apply the effector restriction set to the space when the route is generated.In addition, as shown on the screen 307, the user can set a range of possible movements of the effector 30 in the X, Y and Z directions as the effector constraint 1. It is possible to set a "reference" on the screen 307. This "reference" is indicated by, for example, the coordinates in the reference coordinate system 1, the reference coordinate system 101, the effector coordinate system 102, and the like. It is possible to set an "upper limit" and a "lower limit" on the screen 307. The "upper limit" and the "lower limit" are, for example, an amount of possible movements or a range of possible movements with respect to the coordinates of the "reference". In the present embodiment, each range of possible movements including the "reference", the "upper limit", and the "lower limit" for the X, Y, and Z directions is referred to as the effector restriction element. Accordingly, the user can set a range of possible rotations, an angular velocity, an angular acceleration of the effector 30 about the X, Y, and Z directions, and the velocity and acceleration in the X, Y, and Z directions of the effector 30 as the effector constraint 1. A value corresponding to an amount obtained by temporally deriving at least three times each of the range of possible rotations about the X, Y, and Z axes of the effector 30, the speed, the acceleration, the angular speed, the angular acceleration, the position or the orientation, a formula, or the like is also referred to as the effector restriction element.In addition, when the position and the orientation of the effector coordinates 1 set as the effector coordinates of the screen 307 are used as the "reference", when the "reference" is automatically set by the control unit 1, and the like, the input and the display of the "reference" can be omitted. In addition, it is not necessary to set all the effector restriction elements, and when a part of the effector restriction elements is fixed, the effector restriction elements can be automatically set by the control unit 1 and the like.In the present embodiment, the "reference" can be arbitrarily set by the user. For this reason, the user can set the position and orientation of the effector 30 set at each instruction point, and the position and orientation other than the position and orientation of the effector coordinates 1 set on the screen 307 can be set as the "reference". This configuration leads to improvement in flexibility of setting by the user, accuracy, safety, efficiency, or the like of operation of the arm 10A. For example, when a preferred orientation is present for each type of effector 30 and the like, the user may set each "reference (norm)" about the X, Y, and Z axes as a neutral orientation of the effector 30. In addition, the processor 21 may be configured to perform control to make the position and orientation of the effector 30 near the "reference" (which is referred to as restore operation control in this document). With these configurations, it is possible to improve the accuracy, safety, efficiency, or the like of the operation of the arm 10A while enabling reducing the cost, facilitating the operation, or the like for the teaching operation.In addition, in the present embodiment, the improvement in the efficiency of operation of the arm 10A includes an improvement in a cycle time of operation of the arm 10A and the like.In the present embodiment, when the user selects moving to the setting screen of the effector restriction set in the state where the display device 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. The screen 308 is a screen for allowing the user to select setting of an effector constraint set from among a plurality of effector constraint sets.For example, when the user selects a sentence 1 from the plurality of sentences on the screen 308, the processor 21 causes the display device 22 to display a screen 309 of FIG. 15. The 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 the screen 309. The effector constraint set may relate the plurality of effector constraints to each other.In particular, as shown on the screen 309, the user can include the arbitrarily selected effector constraints 1 to 3 in the effector constraint set 1, and can set "ACTIVE" and "INACTIVE" of each of the effector constraints 1 to 3. In addition, the user may set the relationship of the plurality of effector restrictions 1 to 3 as "1 ≅ 2 ≅ 3." "1 ≅ 2 ≅ 3" means the effector restriction 1 and the effector restriction 2 and the effector restriction 3.This configuration leads to improvement in flexibility of setting by the user. In addition, with this configuration, the user can arrange and apply the plurality of effector restriction sets on the screen 307, resulting in the accuracy, safety, efficiency, or the like of the operation of the arm 10A. In addition, in the present embodiment, it is possible to set "ACTIVE" or "INACTIVE" of each effector restriction and each effector restriction element on the screens 306, 307 and the like. The setting of the screen 309 may be omitted if necessary.As shown 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 destination teaching point on the basis of the operation program 23B and the like. For example, the processor 21 performs the route generation while performing a known interpolation calculation between the immediately preceding teaching point and the destination teaching point.At this time, the processor 21 performs the route generation while also applying the effector constraint when the effector constraint is present in the operation program 23B and / or the effector constraint set in the space (area) as described above. In addition, in the present embodiment, route generation may be explained as shaping a route or generation of a route.Further, the processor 21 sends the control instruction corresponding to the generated route to the servo control units 24.Even when the robot 10 is a cooperative robot, the processor 21 performs the same or similar processing. In addition, when the robot 10 is the cooperative robot, the processor 21 may generate an avoidance route to avoid a destination to be avoided.It may be possible to set any state as long as it is within the scope of effector restriction. Alternatively, if there is a state appropriate for the effector 30, that state may be set as a neutral state. For example, when there is a constraint of ±5 degrees around the X axis as the effector constraint, if an appropriate state is not set, there is a possibility that the effector 30 remains inclined at the end as a result of the route generation. For example, if 0 degrees is set as the neutral state, the processor 21 moves the final orientation of the effector 30 to be closer to or return to 0 degrees as described above.In addition, when the user sets each instruction point using a tap operation or a hand guidance operation, which will be described later, the position and orientation of the effector 30 may be set as the neutral state during the setting of the respective instruction point. For example, the user arranges the effector 30 at a first position and a first orientation by the hand guidance operation, and then performs the operation of setting the respective instruction point using, for example, the input unit 26. As a result, for example, the first position and the first orientation for the instruction point 1 are set on the screen 200. The user can set the training point 2 and subsequent points in the same or similar manner. When the user sets the respective instruction point using the tap operation or the hand guidance operation, the user can image the operating arm 10A during the operation and arrange the effector 30 according to the image at the actual position and the actual orientation. As a result, the configuration in which the first position, the first orientation, and the like are set to the neutral state at each instruction point is useful for achieving both a reduction in the user's cost and the accuracy, safety, efficiency, or the like of the operation of the arm 10A.The processor 21 controls the arm 10A to execute the recovery operation control for returning the position and orientation of the effector 30 to be the neutral state. The recovery operation control is performed using at least one of values calculated according to, for example, a constant speed or angular speed, a constant acceleration or angular acceleration, a deviation amount from the neutral state, and the like. To perform the recovery operation control, a spring-like variable that operates similarly to a spring according to the deviation amount may be used. Further, for performing the recovery operation control, a damper-like variable acting similarly to a damper according to a change in speed or a change in angular speed of the deviation amount may be used. In addition, to perform the restoration operation control, an inertia variable acting similarly to an inertia force according to a change in acceleration or a change in angular acceleration of the deviation amount may be used. A combination of these variables may be used.As an example of object handling, the object 2 may be disposed on and guided by the effector 30 having a simple storage shape. Since the effector 30 has the storage shape, there is a possibility that the object 2 falls due to inclination, improper speed, and the like of the effector 30, which is natural.For example, the position of the effector coordinates 1 is set at a position slightly larger than the center of gravity of the object 2, and restrictions on the orientation, the angular velocity, and the angular acceleration are also set by the screen 305 and the screen 307.Based on the setting, the processor 21 generates a route of the effector coordinate system 102 (the effector 30) from one position and one orientation to another position and another orientation. At the present time, the effector 30 on which the object 2 is placed tends to move like a pendulum to move the position and orientation in the neutral state set by the effector constraint. This restricts a large inclination and a large 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 rocking action, resulting in preventing the object 2 from dropping.In another example, the user may set the effector restriction element with a value equal to an allowable range of acceleration in a direction corresponding to the upward and downward direction of the effector 30 and in a direction corresponding to the centrifugal force. In addition, the user may set an allowable range of acceleration in another direction to a sufficiently small value such as 1 / 5 or less of the above-described value. In this case, the effector 30 also tends to move similar to the pendulum.In addition, the orientation constraint in the effector constraint is not limited to the Euler angle expression, and a quaternion expression and the like may be applied. The constraint need not be a scalar value and may be set as a function. Also, the constraint need not be the scalar value and may be set as a function. The effector restriction may be set to be changed according to the position, orientation, and the like of the arm 10A. The effector constraint may be set to be changed according to the state of the arm 10A (whether or not the object 2 is held and the like).When the robot is trained, positions and orientations (X, Y, Z, θx, θy, θz) corresponding to six degrees of freedom are normally set at each training point or over the entire route of the effector 30. When the effector constraint is set, since the effector constraint has an effect of setting the position and the orientation, teaching of a position and an orientation different from the normal teaching can be performed.For example, in many instances of object handling, accurate positioning is required when the object 2 is picked up and placed, but the rough positions and orientations of the effector 30 are required to be determined at other positions. Even in a case where the rough position (X, Y, Z) is sufficient, it is necessary to set the positions and the orientations for six axes (X, Y, Z, θx, θy, θz) in the conventional teaching method. If the effector constraint limits the orientations (θx, θy, θz), the instruction only requires the position information (X, Y, Z). In this case, a route from one position to another is generated in the orientation constraint of the effector constraint.Preferably, a configuration may be employed wherein either the original instruction position or the effector constraint is selected in the operation program 23B. For example, a column of "restriction priority" is added to the screen 200 of FIG. 7 to set whether or not the effector restriction has a priority over the setting of the instruction point of the operation program 23B for each instruction point and / or each section of the route. In this case, the user can easily and reliably make a setting where the operation program 23B and where the effector restriction has the priority. Whether the position and the orientation (X, Y, Z, θx, θy, θz) of the effector 30 are limited by the position and the orientation of the operation program 23B or the effector constraint is not limited to the example described above.The above-described configuration results in a decrease in setting of restrictions at each training point. In addition, the above-described configuration realizes the operation of the arm 10A that can maintain the position and the orientation of the effector 30 in an appropriate state due to the effector restriction, which can result in the generation, the selection, and the like of the route that can improve the cycle time.In addition, as shown on the screens 306 and 307 of FIG. 13, the plurality of effector restrictions may be set in the present embodiment, but it is also possible to employ a configuration in which only one effector restriction may be set. Note that the function of effector constraint is achieved by providing a single set containing the reference coordinate system, the effector coordinates, and the effector constraint elements, but it may be difficult to express different functions by the single effector constraint. Here, as shown on the screens 306 and 307 of FIG. 13, it is possible to adopt a configuration in which a plurality of effector restrictions can be set. In addition, it is also possible to adopt a configuration in which a plurality of effector restrictions can be set so as to be applicable to a point such as a section, an area, a instruction point, or the like of each target.In the following example, the effector constraint set is set. For example, the user sets effector constraint 1 as a first effector constraint using screens 305, 306, and 307. At this time, the user sets the reference coordinate system 1 at a position that does not move with respect to the space, and sets the effector coordinates 1 in an upper portion of the center of gravity of the effector. In the effector restriction 1, a restriction is set to allow translation movement and rotation movement of the effector 30. In addition, the limits of the angular velocity and the angular acceleration are also set in the effector constraint 1. If the user selects a corresponding label on screen 307, the angular velocity, angular acceleration, and the like settings will be available.The user sets effector constraint 2 as a second effector constraint using screens 305, 306, and 307. At this time, the user sets the position and orientation of the effector coordinates 2 as the position and orientation of the reference coordinate system 2, and sets the effector coordinates 2 at a position located below the center of gravity of the effector. The effector restriction 2 does not allow the translation and rotation movements.The user sets the effector constraint 3 as a third effector constraint using screens 305, 306, and 307. At this time, the user restricts the position and orientation of the effector coordinates 2 with respect to the reference coordinate system 1. In addition, in the effector restriction 3, the speed and the acceleration of the translation movement are restricted.When the route is generated based on the setting, the tray-like effector 30 on which the object 2 is placed is displaced at the effector coordinates 1 and moves similarly to the pendulum as shown in FIGS. 11 and 12. In addition, the large translation acceleration is limited at the position of the effector coordinates 2. This setting is advantageous for preventing the object 2 from dropping. This setting is merely an example, and the contents of the setting are not limited to the example described above, and therefore any number of effector restrictions may be set.In the following example, another setting example of setting the effector restriction set will be described. For example, the user sets effector constraint 1 as a first effector constraint using screens 305, 306, and 307. At this time, the user sets the reference coordinate system 1 at a position that does not move with respect to the space. In addition, the user sets the effector coordinates 1 on a rotation axis line J 3 of the joint 3C shown in FIG. 1, and sets the effector constraint 1. In addition, in the effector constraint 1, the angular velocity and the angular acceleration are constrained.The user sets effector constraint 2 as a second constraint using screens 305, 306, and 307. At the present time, the user sets the effector coordinates 1 as the reference coordinate system 2 and sets the effector coordinates 2 at a position located below the center of gravity of the effector. In the effector restriction 2, the effector restriction member is set such that the translation movement and the rotation movement are allowed.The user sets the effector constraint 3 as a third effector constraint using screens 305, 306, and 307. At the present time, the user restricts the effector coordinates 2 with respect to the reference coordinate system 1. In addition, in the effector restrictor 3, the effector restrictor is set to restrict a translation speed and an acceleration.In general, when the robot moves the joint 3B of FIG. 1 about its rotation axis J 2, there is a case where a joint 3C also moves symmetrically about the rotation axis J 3, and then the robot can move so as to maintain an orientation of the wrist axis. On the other hand, 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 about the rotation axis line J 3 while maintaining the orientations of the movable portion 12 (J 2 arm) disposed between the joint 3B and the joint 3C as they are and the wrist.When the effector restriction set of the other setting example described above is set, the rotation is restricted at the position of the effector coordinates 2 when the rotation operation about the rotation axis J 3 is performed. This configuration and setting are useful for preventing the object 2 from dropping.Since the user sets the effector restrictions separately from each other, it becomes easy to divide the operation according to an idea and the like of the user, and also it becomes easy for the user to understand the setting of the effector restrictions. This configuration is useful for risk assessment of the robot and also useful for reducing errors related to the instruction and adjustment of the operation of the arm 10A.In the present embodiment, a set of the reference coordinate system, the effector coordinates, and the effector constraint may be referred to as an effector constraint as a unit. In addition, the effector constraint is a group of individual constraints such as a position, a speed, an acceleration, and the like, and each constraint is referred to as an effector constraint element. Multiple effector constraints may be established and the processor 21 reads and uses a necessary effector constraint from the storage unit 23.A plurality of effector constraint sets corresponding to different states of the arm 10A may be prepared. The state of the arm 10A varies depending on the type of the effector 30, the type of the object 2, the type of the arm 10, and the like. The effector constraint set is a combination of two or more effector constraints. In addition, if one or more effector constraint sets have been prescribed for each state of the arm 10A or for each operating program 23B, the user need only use the prepared effector constraint set. This configuration results in a reduction in the time of setting by the user, and also results in the accuracy, safety, efficiency, or the like of the operation of the arm 10A.By setting the effector constraint, it is possible to generate a route that takes into account characteristics of the effector 30, the object 2, and the like, but it is difficult to accurately reflect the characteristics of the effector 30, the object 2, and the like in the effector constraints. In some cases, the user can determine the effector constraint using a calculation and the like, but the accuracy of the effector constraint varies due to a difference in experience of each user. In such a situation, trial and error are required to enter the effector constraint. In addition, there is a possibility that the setting of the originally necessary restriction is omitted and an unintentional failure is caused. These situations can be improved by the following configuration.[Priority]In the present embodiment, the effector constraint includes a plurality of effector constraint elements, and as shown on the screen 307 of FIG. 13, a priority may be set to at least one of the plurality of effector constraint elements. For example, screen 307 has a "priority" column and the priority may be set to correspond to each effector restriction element. On the screen 307, the priority "absolute" is set to the "upper limit" and the "lower limit" of the angle about the X axis which is the effector restriction element. It can be said that the priority "absolute" is, for example, an indispensable setting to be used by the processor 21. The priorities are also set for other effector restriction elements, and "absolute", "high" and "low" written in order of descending priority are set.This configuration increases the flexibility of the setting by the user. In addition, the robot 10 may operate on the condition that any one of the rotational position restrictions of X, Y, and Z is not necessarily used in the effector restrictions, and options of the routes that can be set by the processor 21 increase. In addition, the processor 21 can select a more effective route that can improve cycle time and the like.The effector restrictions in the present embodiment include priorities such as a restriction to be always satisfied, a restriction not necessarily satisfied, and the like. When the route is created, it may be desirable to meet all restrictions, but there is also the possibility that an effective route cannot be chosen to keep a less important restriction. In other words, there is a case where an effective route can be selected by not satisfying the constraint with a low priority. For this reason, the processor 21 may be configured not to meet the restriction with the low priority based on a preset criterion. To realize this configuration, the priority is set for each effector restriction and each effector restriction item, and the priority is stored in the storage unit 23.When the user uses a preset effector constraint as described later, the preset may be prepared such that the effector constraint items have different priorities. The effector restriction element, which is more important in satisfying the function request, has the higher priority. The priority may be later changed by the user.The effector constraint includes a constraint intentionally set by the user and a constraint not intentionally set by the user. In the preset embodiment, a constraint intentionally set by the user (user-requested constraint) may be referred to as a set constraint, and an optimizable constraint not intentionally set (optimizable constraint) may be referred to as a sub-configured constraint. Information indicating whether the constraint is the specified constraint or the sub-configured constraint may be stored in the storage unit 23 together with the effector constraints. For example, for each of the effector restriction elements, the control unit 1 receives a setting of a restriction element that causes the processor 21 to use a value set by the user or a setting of a restriction element that allows a change by the processor 21, and the received setting is stored in the storage unit 23. These settings are indicated in FIGS. 13, 19, and 23 as "fixed" and "inferior".When the user uses the preset effector constraint as described later, since the details of the effector constraint are not set by the user, it is desirable to use the underdust constraint first. When the user handles the preset effector constraint, this effector constraint becomes a fixed constraint. The user may later change whether the effector constraint is the specified constraint or the sub-configured constraint.Further, the priority of the effector constraint and the distinction between the set constraint and the sub-configured constraint may be set for each effector constraint element or may be set in common for each effector constraint set.In the case of having a plurality of effector constraint sets, an intention of the constraint can be easily understood by making the priority and distinguishing between the set constraint and the sub-configured constraint.[Preset]In the present embodiment, a preset automatic setting program 23F for automatically setting the effector restriction and / or the effector restriction item is preferably stored in the storage unit 23. The preset automatic setting program 23F automatically sets the effector constraint and / or the effector constraint item on the basis of information of the effector 30 and the object 2 that can be obtained objectively by the user and a function and a performance (a function request) that are subjectively expected by the user.The function request may be, for example, a qualitative expression such as "does not wish to shake", "does not wish to tilt", "does not wish to drop", "does not wish to tilt", "does not wish to move it out of the current position", and the like for the object 2.This function request can be expressed as the effector restriction element. For this reason, a preset effector restriction item corresponding to the function request is stored in the storage unit 23 in advance.In this case, for example, it is configured that the user can select a type of a combination of the effector 30 and the object 2 from among a plurality of types of presets. As the presets, there are a type of placing on a tray, a type of placing in a container, a type of putting in a box, a type of holding with a hand, a type of suction, and the like. In addition, as the presets, there are a type of processing an object with a welding gun, a type of processing an object with a welding torch, a type of processing an object with various tools, and the like. This configuration does not limit the type of effector 30, and the preset is to support information input. An effector which does not correspond to the presets can also be used.It is also desirable to use a 3D CAD model of the effector 30 and the object 20. In addition to the shape, a position of a center of gravity of the object 2, its weight, a position of a center of gravity of the effector 30, its weight, a movable portion of the effector 30, and the like are used together with the 3D CAD model to create a more accurate physical model. It is desirable that the physical mode is provided with parameters necessary for explaining physical behavior, such as a spring constant indicating hardness of a material, a damping coefficient for damping vibration, a friction coefficient when objects rub each other, and the like. With the physical model, it is possible to simulate a physical behavior such as a hand gripping behavior, a falling behavior of the object 2, and the like in a simulation.The physical model used in the present embodiment is for executing the physical simulation. Since various settings of the physical model require man-hours, it is desirable that the physical model can be constructed from information that can be easily obtained by the user.For a typical type of effector 30 and object 2, a coarse placement of effector 30 and object 2 is determined by selecting the preset of the combination type of effector 30 and object. If the arrangement is determined, an approximate physical model is easily generated by adding the shape, the center of gravity, the weight, and the like of a characteristic portion of the effector 30 and the object 2.The control unit 1 stores the information such as the type, shape, and the like of the effector 30 and the object 2, the information of the function request, and the information of the effector restriction element suitable for realizing the function request in a state of being associated with each other in the storage unit 23. the processor 21 sets the effector restriction element on the basis of the above-mentioned information, the function request input by the user, the information of the physical model, and the like, and presents the effector restriction element to the user.More specific examples are described below.For example, a screen for setting using the preset is displayed on the display device 22 of the input unit 26.First, the processor 21 of the control unit 1 causes the display device 22 to display a screen 401 shown in FIG. 16. The screen 401 may be displayed instead of the screen 301. The screen 401 may be displayed instead of the screen 301. The screen 401 is a screen for allowing the user to select moving to the effector information setting screen.When the user selects moving 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 to allow the user to select any effector type setting from among multiple effector type settings.When the user selects the setting of the effector type 1 on the screen 402, the processor 21 causes the display device 22 to display a screen 403 of FIG. 16. The screen 403 is a screen for setting the effector type 1 selected by the user. As shown on screen 403, the user can set the effector type by selection.When the user selects the precise setting of the selected effector type on the screen 403, the processor 21 causes the display device 22 to display a screen 404 of FIG. 16. The screen 404 is a screen for setting an extension of the selected effector type and setting a position such as a position of the center of gravity and the like. Preferably, the screen 404 is configured such that a weight, material, and the like of the selected effector type can also be set.As shown in FIG. 17, in a state where the display device has returned to the screen 401, when the user selects moving to the object information setting screen, the processor 21 causes the display device 22 to display a screen 405 of FIG. 17. The screen 405 is a screen for allowing the user to select any object type setting from among the plurality of object type settings.When the user selects 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, the user can select an object type on screen 406.When the user selects an accurate setting of the selected object type on the screen 406, the processor 21 causes the display device 22 to display a screen 407 of FIG. 17. The screen 407 is a screen for setting an extent of the selected object type, setting a position such as a position of the center of gravity, and the like. Preferably, the screen 407 is configured such that a weight, a material, and the like of the selected object type can also be set. Additionally, the screen 407 may be configured such that a position of the selected object type may also be set with respect to the selected effector type.As shown in FIG. 18, in the state of returning to the screen 401, when the user selects moving to a setting screen of object positional relationship information, 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.For example, when the user selects setting of a positional relationship 1 on the screen 408, the processor 21 causes the display device 22 to display a screen 409 of FIG. 18. The screen 409 is a screen for setting the positional relationship 1 selected by the user. As shown, the user can set the positional relationship on the screen 409 by inputting a numerical value and moving a displayed figure of the effector and / or a displayed figure of the object.As shown in FIG. 19, in the state in which the screen has returned to the screen 401, when the user selects moving to a setting screen for setting the effector constraint from the preset, the processor 21 causes the display device 22 to display a screen 410 of FIG. 19. The screen 410 is a screen for selecting the effector type, the object type, the object positional relationship, and the like.Note that when the effector type is fixed, the information of the effector type can be automatically set based on input information (input) from an external device. For example, a signal may be transmitted from the effector 30 to the control unit 1 when the effector 30 is connected to the control unit 1, and the processor 21 may set the effector type based on the input signal (the input). Accordingly, when the object type and the object positional relationship are fixed, the object type and the object positional relationship can be automatically set.The screen 401 is a screen for selecting to move to a function request setting screen (request screen) and a screen for displaying the set function request. When the user performs a predetermined operation for setting the function request, for example, when the user presses a "create setting" button, the processor 21 causes the display device 22 to display a screen 411 of FIG. 19. The screen 411 is a screen for allowing the user to select the function request. The screen 411 displays "ACTIVE", indicating that each of the function requests has been set at each of positions corresponding to the function requests. The user may also set multiple function requests on screen 411. The function request (the request) is, for example, a request of the user related to an action to be performed on the object 2 by the effector 30.The effector constraints are set by the settings of screens 410 and 411. The effector constraints include, for example, the settings similar to those of screen 307. For this reason, the processor 21 can control the arm 10A using the set effector constraints.In the state where the screen has returned to the screen 410, when the user presses "view generated log", 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 constraint and permits changes to each of the effector constraint settings. The screen 412 is configured to receive an input of the user for registration as one of the presets of the effector constraints in which settings have been changed.In this way, the storage unit 23 stores the plurality of effector restrictions. In addition, the plurality of effector restrictions are stored in the storage unit 23 so as to respectively correspond to the plurality of combinations of the effector types that are the types of the effector 30 and the object types that are the types of the object 2. And then, when the user inputs any combination using the input unit 26 and the like, the processor 21 sets the corresponding effector constraint. This configuration results in a reduction in the time and effort of the setting by the user, and also results in the accuracy, safety, efficiency, or the like of the operation of the arm 10A.Note that the effector constraint may be set based only on the effector type setting. Alternatively, the effector constraint may be set based only on the setting of the object type. For example, in the case of the effector type or the object for each of which a task and its request are fixed, the effector constraint is set only on the basis of the effector type setting or the object type setting in a state in which there is no other setting such as a function request and the like. In this configuration, the user can make an input for setting the effector type or the object type. That is, the processor 21 sets the effector constraint on the basis of the information on the effector type and / or the information on the object type and the input for the setting by the user. When the effector 30 is connected to the control unit 1, information, a signal, and the like related to the effector type can be input to the control unit 1 from the effector 30, which is an external device. In this case, the processor 21 sets the effector constraint based at least on the information related to the effector type and the input from the external device. These configurations further reduce the time and effort of the settings by the user, and also contribute to improvement of the accuracy, safety, efficiency, or the like of the operation of the arm 10A. Further, even a user not having sufficient experience can appropriately perform the effector restriction, which is useful for the accuracy, safety, efficiency, or the like of the operation of the arm 10A.In addition, in the present embodiment, the effector constraint is also set based on a request input by the user. This configuration is useful for achieving both the reduction in time and the trouble of the setting by the user and the improvement in the accuracy, safety, efficiency or the like of the operation of the arm 10A at a high level.[Simulator]In the present embodiment, as described above, the effector constraint is set by the input value of the user, and the preset effector constraint is set based on the function request input by the user. However, even in the case of the preset, the set effector constraint does not necessarily operate normally as expected by the user. There is a possibility that the route adopted by the user is not obtained due to omission of an important setting, presence of an unnecessary setting, insufficiency of fine adjustment of the effector restriction member, and the like.The most reliable confirmation method is to confirm an operation route using an actual robot 10. However, when there is a shortage in setting, the confirmation action itself becomes a risk. Therefore, checking in the simulation whether the effector constraint is appropriate or not reduces the risk.In order to perform the simulation, the user needs to input an operation pattern (an operation program 23B) of the arm 10A. On the other hand, there may be an infinite number of operation patterns of the tap operation, the hand guidance operation, and the like. Therefore, it is preferable to prepare sets of different operation patterns of the arm 10A as presets in advance. The user normally selects or converts any operation pattern from the presets, and in an exceptional case, the user generates or converts a supplementary operation pattern by input.3D models of the environment 4, the approaching object including a person or an object worn by a person, the robot 10, the effector 30, the object 2, and the like are simulated in the simulator, and a simulation of the operation such as the automatic operation, the tap operation, the hand guidance operation, and the like are performed. The simulation is preferably a physical simulation that can simulate the dropping of the object 2 and the like. For example, physical models of the effector 30 and the object 2 that have been generated are used.The simulation can calculate the acceleration and the like of the effector 30 and the object 2 that cannot be normally monitored actually. An allowable simulation value is set as an allowable threshold for the position, orientation, speed, acceleration, angular speed, angular acceleration, and the like of the effector 30 and the object 2. The simulation can confirm whether or not the operation of the effector 30 is in the allowable simulation value. When an allowable simulation value corresponding to the function request is prepared in advance, the allowable value may be used. Alternatively, a value, a setting, and the like used as the allowable simulation value may be selected from the effector constraint set.As a result of the simulation, there is a possibility that an error of the operation such as a tipping, a dropping, and the like of the object 2 may occur. The simulation may determine whether or not the function request is satisfied under any condition accepted by the user. Preferably, the processor 21 displays a state of the operation in the simulation on the display device 22, and the like.In a case where a requirement of the allowable simulation value is not satisfied or in a case where the cycle time does not satisfy a condition, it is possible to improve by checking the effector restriction element. The user can confirm the state of the simulation and fine adjust the effector restriction element.Based on the result of the simulation, the processor 21 may modify, improve or optimize the effector constraint, which will be described later based on a constraint modification program 23G. This configuration is useful in achieving both the reduction in the time and effort of the user and the improvement in the accuracy, safety, efficiency, or the like of the operation of the arm 10A.For example, the above-described fine adjustment of the effector restriction element is performed by the user through trial and error, and a large burden is imposed on the user. In a case where the priority, a degree of importance, and the like are set during the setting of the effector restriction items, there is a high possibility that the effector restriction items having a low priority among the effector restriction items having a low degree of importance are changed. This is the effector restriction element to be adjusted. The constraint conversion program 23G for converting the effector constraint sets based on the simulation result is stored in the storage unit 23.The simulation may be performed, and a magnitude of the risk when the requirement of the allowable simulation value is not satisfied may be used as a criterion for determining whether or not the effector constraint set is good. In addition, the cycle time may also be the criterion for determining whether or not the effector constraint set is good. The above-mentioned criterion for determining whether or not the effector constraint set is good is merely an example, and is not limited thereto. An effector constraint set index may be set as a determination index for determining whether or not the effector constraint set is good by taking a determination criterion of risk judgment of the user, and the like.For example, it is possible to define that a condition under which the effector constraint set index is maximum (or minimum) is the best effector constraint set.As a modification method example of the effector constraint set using the simulation, the following method may be considered. First, a general genetic algorithm may be applied. After the simulation is performed, the effector constraint set index is calculated. On the basis of the simulation result, an alternative is generated for the effector restriction element to be set. Several alternatives may be generated simultaneously.The simulation is re-performed using the alternative effector constraint element and the effector constraint set index is calculated. The alternative is further generated based on the effector constraint set in which the effector constraint set index has been improved. It is possible to change the number of alternatives to be generated according to the improvement degree of the effector restriction set index.The generation of the alternatives of the effector constraint sets described above may be performed multiple times a predetermined number or until a predetermined effector constraint set index is exceeded. With this processing, an effector restriction set suitable in cycle time and the like can be obtained. The above-described processing is merely an example and is not limited to this specific processing.The above-described simulation and the improvement or optimization of the effector restrictions on the basis of the simulation result may be performed by the processor 21 of the control unit 1 or by another computer. The other computer includes a processor, a display device, a storage unit, an input unit, and the like, which are the same as or similar to those of the control unit 1. The storage unit of the other computer stores a program, data, information, and the like that are the same as or similar to those of the storage unit 23. Further, the storage unit of the other computer also stores the simulation program and models of the environment 4, the robot 10, the effector 30, the object 2, and the like.The effector constraint improved or optimized by the other computer may be input to the control unit 1, and the processor 21 of the control unit 1 may set the input effector constraint in the operation program 23B and the like when the input is received. In this case, based on the input from the computer as the external device, the processor 21 causes the arm 10A to execute the operation restricted by the effector restriction.A more specific example will be explained below.For example, a screen for performing the simulation of the effector constraint is displayed on the display device 22 of the input unit 26.When the user selects moving to the effector constraint simulation screen on the screen 401 shown in FIG. 20, the processor 21 causes the display device 22 to display a screen 421 of FIG. 21. The screen 421 is a screen for allowing the user to select setting of any simulation condition among a plurality of simulation condition settings.When the user selects 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. The screen 422 is a screen for designing various settings for the simulation. When the user selects the simulation setting on the screen 422, the processor 21 causes the display device 22 to display a screen 423. The screen 423 is a screen for setting evaluation items to be evaluated in the simulation, setting conditions for each evaluation item including the setting of the allowable simulation value, and the like.The user performs the operation of executing 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 displays results of the evaluation items set on screens 425 and 426 of FIG. 22.In addition, the processor 21 may evaluate whether or not the operation of the effector 30 is in the allowable simulation value. And the processor 21 may display a screen 427 of FIG. 23 when the operation of the effector 30 is not in the allowable simulation value. If the operation of the effector 30 is not in the allowed simulation value, the processor 21 may determine or estimate an effector constraint element that is the cause of the result and display a screen to indicate the effector constraint element to the user, as shown on the screen 427. On the screen 427, the effector restriction element determined as the cause is displayed in a different color.The processor 21 may improve or optimize the effector constraint using the simulation result based on the constraint modifying program 23G. For example, if "Adjustment Optimization" is selected on the screen 401, then the effector constraint is enhanced or optimized.A case where the simulation is performed using the effector constraint 1 of the screen 307 of FIG. 13 will be explained as an example. When a part of the effector restriction elements of the effector restriction 1 is determined as the cause, the processor 21 converts the effector restriction elements determined as the cause. At this time, as described above, each effector constraint element of the screen 307 of FIG. 13 is set to "set", which means the set constraint (requested by the user). Also, it is assumed that a part of the effector restriction items in the acceleration / angular acceleration tab and the like of the screen 307 of FIG. 13 are the causes as shown in FIG. 23, and they are not set to "set", i.e., they are the sub-configured restrictions (optimizable). For example, the processor 21 performs the improvement or the optimization by modifying the effector restriction items that are determined as the cause and that are not set to "set". In this case, the user may instruct the processor 21 to execute the improvement or the optimization during the recognition of the restriction elements that are not automatically modified. This configuration facilitates the setting of the user and also leads to the accuracy, safety, efficiency, or the like of the arm 10A.[Tap operation and Hand Guidance operation]The tap operation is an operation in which the user directly moves the arm 10A using a direction key, a joystick, and the like of the input unit 26. For this reason, if the user does not understand the characteristics of the arm 10A or does not sufficiently consider the environment 4, an operation error that causes contact between the arm 10A or the effector 30 and the environment 4, displacement of the effector 30 to an undesirable orientation, and the like is likely to occur. In the present embodiment, it is possible to set the application of the effector restriction even during the tap operation.The processor 21 controls the arm 10A such that the arm 10A is in the range of effector restriction even during the tap operation, and operates the arm 10A in this manner. This reduces or prevents the effector 30 from being in an unintended orientation due to the operation error and the like. In addition, since the operation of the effector 30 is restricted by the effector constraint, the number of checking steps by the user during the typing operation is reduced. In addition, when the above-mentioned neutral state setting is set in the effector constraint, the processor 21 operates the arm 10A to bring the orientation of the effector 30 close to the neutral orientation during the tap operation. With this configuration, the effector 30 can be maintained in a state near the preferred orientation without requiring the user to perform a special operation with the direction key, the joystick, and the like.When the user notifies the robot and the like, there is the hand guiding operation in which the user holds the distal end portion of the arm 10A and the user moves the arm 10A to the distal end portion by applying an external force. In the hand guiding operation, the direction and magnitude of the external force are detected by the sensor, and the processor 21 moves the arm 10A in the direction of the external force according to a detection result of the sensor. Also, in the hand guiding operation, the operation error may occur if the user applies the external force in a wrong direction. In the present embodiment, even during the hand guidance operation, it is possible to make a setting to apply the effector restriction, and the same or similar effect as in the tap operation can also be obtained during the hand guidance operation.[Tap operation and Hand Guidance Operation with Interference Calculation]When the tap operation and the hand guidance operation are performed, it is important that the arm 10A of the robot 10 and the effector 30 do not come into contact with the environment 4. If it is not clear that they do not come into contact, it is desirable to perform interference calculation. In this case, in the control unit 1, the processor 21 performs the interference calculation based on an interface calculation program 23H stored in the storage unit 23.Basic information required for the interference calculation will be described below.First, a 3D model of the robot 10, a 3D model of the effector 30, and a 30D model of the object 2 that is the workpiece are stored in the storage unit 23. In the object handling and the like, the object 2 is not always held, but there is a case where the object 2 is integrated with the environment 4, and particularly there is a case where the object 2 is moved or held on a transport device by another robot system. For this reason, it is preferable to distinguish the state between the object 2 moving together with the effector 30 (object on the effector side) and the object 2 moving together with the surrounding object 4 (object on the surrounding side).A 3D model corresponding to the environment 4 is also stored in the storage unit 23, and this 3D model is also used for the interference calculation. Here, in general, in order to restrict the operation of the arm 10A, an entry prohibition area is virtually set. In the present embodiment, the processor 21 calculates the distance among the models based on the interference calculation program 23H using the control instruction of the robot such as the operation program 23B, the effector 30, the object 2, the environment 4, and the like. In principle, the processor 21 securely stops the arm 10A when the result of the interference calculation is below an allowable value of a distance at which they can be approached to each other.Here, there is a case where the interference can be avoided by the processor 21 operating the arm 10A in the range of the effector restriction as in the present embodiment. For example, there is a case where interference between the 3D model of the effector 30 and a 3D model corresponding to the environment 4 is likely to occur during the tap operation or the hand guidance operation. At this time, processor 21 may move arm 10A to avoid contact with environment 4 in the region of the effector constraint. Substantially, the processor 21 stops the arm 10A if there is no effector restriction, but since the processor 21 can move the arm 10A as described above, the tapping operation or the hand guidance operation by the user is not interrupted. This configuration enables the efficient and flexible tap operation and the efficient and flexible hand guiding operation.In the present embodiment, the storage unit 23 stores the effector constraint, which is the constraint of the changes in the position and orientation of the effector 30 from the viewpoint of the predetermined reference coordinates. In addition, the processor 21 causes the robot 10 to execute the operation restricted by the effector restriction set on the basis of the input from the user or the external device. This leads to the accuracy, safety, efficiency, or the like of the operation of the robot 10. Thereby, a reduction in the work of the user, facilitation and the like of the teaching operation or the setting operation described above is further achieved. In addition, this may result in generation, selection, and the like of an avoidance route that can improve cycle time while realizing the operation of the arm 10A that can maintain the position and orientation of the effector 30 in an appropriate state.Further, the control unit 1 includes the input unit 26 for the user to input the effector restriction item and the like of the effector restriction. This configuration is useful in setting the appropriate effector constraints for a plurality of effectors 30 and a plurality of acts.In addition, in the effector constraint, the constraint on the speed and / or the constraint on the acceleration and / or the constraint on the angular speed and / or the effector constraint element of the angular acceleration may be set from the viewpoint of the predetermined reference coordinates of the effector 30. This configuration is useful in setting the appropriate effector constraints for a plurality of effectors 30 and a plurality of acts. In addition, the settings of these effector restriction elements can facilitate the operation setting or the setting of the operation restriction of the arm 10A, for example, when a large number of instruction points and the like are set for a complicated operation of the arm 10A.While the embodiment of the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, changes, partial deletions, and the like may be made to the embodiment in a range that does not depart from the gist of the invention or in a range that does not depart from the concept and content of the invention, which are derived from the contents described in the claims and their equivalents. For example, in the above-described embodiment, it is possible to change the order of operations, change the order of processing, omit or add a part of operations according to conditions, and omit or add a part of processing according to conditions, without being limited to the above-described example. The same applies to the case where numerical values or mathematical expressions are used in the description of the above-described embodiment.{Appendix 1}A controller comprising:a processor; anda storage unit that stores an effector constraint that is a constraint of a change in a position and / or an orientation of an effector of a robot from a viewpoint of predetermined reference coordinates, whereinthe processor is configured to cause the robot to perform an operation restricted by the effector constraint set based on input by a user or from an external device.{Appendix 2}The controller of Appendix 1, wherein the memory unit is capable of storing multiple effector constraints.{Appendix 3}The control unit according to Appendix 1 or 2, wherein the storage unit may store an effector constraint set generated by combining the plurality of effector constraints.{Appendix 4}The control unit according to Appendix 3, wherein the storage unit may store a plurality of operation programs for operating the robot and the plurality of effector restriction sets respectively corresponding to the plurality of operation programs.{Appendix 5}A controller comprising:a processor;a storage unit; anda display device that displays an effector constraint setting screen that is a constraint of a change in a position and / or an orientation of an effector of a robot from a viewpoint of predetermined reference coordinates, whereinthe setting screen is for setting the effector constraint based at least on an input by a user.{Appendix 6}The control unit according to any one of the attachments 1 to 5, comprising an input unit that enables input of the effector restriction.{Appendix 7}The control unit according to any one of claims 1 to 6, wherein the storage unit stores a plurality of effector restrictions, the plurality of effector restrictions each corresponding to a type of the effector and / or a type of an object on which the effectors perform an operation, and the processor is configured to set the effector restrictions on the basis of information regarding the type of the effector and / or information regarding the type of the object and an input by the user.{Appendix 8}The controller of Appendix 7, wherein the input by the user is for setting a request required by the user regarding operation by the effector.{Appendix 9}The control unit according to any one of claims 1 to 6, wherein the effector constraint includes a plurality of effector constraint elements, the effector constraint is one to which a priority can be set to at least one of the plurality of effector constraint elements, and the processor is configured to operate the robot using at least the effector constraint including the priority.{Appendix 10}The control unit according to any one of claims 1 to 6, wherein the effector constraint includes a plurality of effector constraint elements, the control unit is configured to allow, for each of the plurality of effector constraint elements, setting of a setting constraint that causes the processor to use a value set by the user or setting of a sub-configured constraint that allows a change by the processor.{Appendix 11}The control unit according to any one of claims 1 to 10, wherein the processor performs a simulation that causes a model of the robot to perform the operation using at least the effector constraint, and determines whether or not the operation satisfies a criterion.{Appendix 12}The controller of Appendix 11, wherein the processor is configured to modify the effector constraint to meet the criterion if the operation does not meet the criterion.{Appendix 13}The control unit according to any one of claims 1 to 12, wherein the effector constraint may set a constraint of a velocity seen from the predetermined reference coordinates of the effector and / or a constraint of an acceleration seen from the predetermined reference coordinates of the effector and / or a constraint of an angular velocity seen from the predetermined reference coordinates of the effector and / or a constraint of an angular acceleration seen from the predetermined reference coordinates of the effector and / or a constraint of a value or a formula corresponding to an amount obtained by temporally deriving the position or the orientation at least three times.{Appendix 14}A computer comprising:a processor;a storage unit; anda display device configured to display an effector constraint setting screen that is a constraint of a change in a position and / or an orientation of an effector of a robot from a viewpoint of predetermined reference coordinates, whereinthe setting screen is for setting the effector constraint based at least on an input from a user; andthe processor is configured to perform a simulation that causes a model of the robot to perform the operation using at least the effector constraint and determines whether or not the operation satisfies a criterion.{Appendix 15}The computer of Appendix 14, wherein the processor is configured to modify the effector constraint to meet the criterion if the operation does not meet the criterion.{List of Reference Numerals}1 Control unit 2 Object 10 Robot 10A Arm 11 Servomotor 11A Encoder 12 Movable portion 21 Processor 22 Display device 23 Storage unit 23A System program 23B Operation program 23C Control program 23D Route generation program 23F Preset automatic setting program 23G Restriction modification program 23H Interference calculation program 24 Servo control unit 25 Servo control unit 26 Input unit 200 Screen (operation program) 300- 309 Screen 401- 412 Screen 421- 427 Screen 500 Operation portionReferences included in the specificationThis list of documents cited by the applicant has been produced in an automated manner and is only included for the better information of the reader. The list is not part of the German patent application or utility model application. The DPMA does not take any adhesion for any faults or omissions.Patent Literature citedJP 2017-094430
[0005] JP 2016-196069
[0005]
Claims
A control unit comprising: a processor; and a storage unit storing an effector constraint that is a constraint of a change in a position and / or an orientation of an effector of a robot from a viewpoint of predetermined reference coordinates, wherein the processor is configured to cause the robot to perform an operation limited by the effector constraint set based on an input by a user or from an external device.The controller of claim 1, wherein the memory unit is capable of storing multiple effector constraints.The control unit according to claim 1 or 2, wherein the storage unit is capable of storing an effector constraint set generated by combining the plurality of effector constraints.The control unit according to claim 3, wherein the storage unit is capable of storing a plurality of operation programs for operating the robot and the plurality of effector restriction sets respectively corresponding to the plurality of operation programs.A control unit comprising: a processor; a storage unit; and a display device that displays an effector constraint setting screen that is a constraint of a change in a position and / or an orientation of an effector of a robot from a viewpoint of predetermined reference coordinates, wherein the setting screen is for setting the effector constraint based at least on an input from a user.A control unit according to any one of claims 1 to 5, comprising an input unit enabling input of the effector constraint.The control unit according to any one of claims 1 to 6, wherein the storage unit stores a plurality of effector restrictions, the plurality of effector restrictions each corresponding to a type of the effector and / or a type of an object on which the effectors perform an operation, and the processor is configured to set the effector restrictions based on information regarding the type of the effector and / or information regarding the type of the object and an input by the user.The controller of claim 7, wherein the input by the user is for setting a request required by the user for operation by the effector.The control unit according to any one of claims 1 to 6, wherein the effector constraint includes a plurality of effector constraint elements, the effector constraint is one to which a priority can be set to at least one of the plurality of effector constraint elements, and the processor is configured to operate the robot using at least the effector constraint including the priority.The control unit according to any one of claims 1 to 6, wherein the effector constraint includes a plurality of effector constraint elements, the control unit is configured to allow, for each of the plurality of effector constraint elements, setting of a setting constraint that causes the processor to use a value set by the user or setting of a sub-configured constraint that allows a change by the processor.The control unit according to any one of claims 1 to 10, wherein the processor performs a simulation that causes a model of the robot to perform the operation using at least the effector constraint and determines whether or not the operation satisfies a criterion.The controller of claim 11, wherein the processor is configured to modify the effector constraint to meet the criterion if the operation does not meet the criterion.The control unit according to any one of claims 1 to 12, wherein the effector constraint may set a constraint of a velocity from the point of view of the predetermined reference coordinates of the effector and / or a constraint of an acceleration from the point of view of the predetermined reference coordinates of the effector and / or a constraint of an angular acceleration from the point of view of the predetermined reference coordinates of the effector and / or a constraint of a value or a formula corresponding to an amount obtained by deriving the position or the orientation at least three times in time.A computer comprising: a processor; a storage unit; and a display device configured to display an effector constraint setting screen that is a constraint of a change in a position and / or an orientation of an effector of a robot from predetermined reference coordinates, wherein the setting screen is for setting the effector constraint based at least on an input by a user, and the processor is configured to perform a simulation that causes a model of the robot to perform the operation using at least the effector constraint and determines whether or not the operation satisfies a criterion.The computer of claim 14, wherein the processor is configured to modify the effector constraint to meet the criterion if the operation does not meet the criterion.
Citation Information
Patent Citations
2016-196069
2017-094430