Control device and computer

By introducing the setting and processing of actuator restrictions in the control device of industrial robots, the problem that path generation in the prior art does not conform to the nature of the actuator is solved, and a more accurate and safe robot action is achieved.

CN120187560APending Publication Date: 2025-06-20FANUC LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202280101737.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-11-15
Publication Date
2025-06-20

AI Technical Summary

Technical Problem

In industrial robots, it is difficult for the prior art to effectively generate paths that are compatible with the type of actuator, function, object type, job type, etc., resulting in improper posture of the actuator, which may cause undesirable situations such as workpiece drops.

Method used

A control device is designed to process the actuator limitations input by the user or external device through the processor, limiting the position and posture changes of the robot actuator, ensuring that path generation conforms to the nature of the actuator. The device includes a processor, a storage unit and a display device, which can display the setting screen of the actuator restriction, so as to facilitate user input and setting.

Benefits of technology

Through this technical means, paths that are compatible with the characteristics of the actuator and workpiece can be generated, the accuracy and safety of the robot's movements can be improved, undesired events can be reduced, and the efficiency of the automatic operation mode can be improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120187560A_ABST
    Figure CN120187560A_ABST
Patent Text Reader

Abstract

A technique is desired that enables settings in accordance with the type of an actuator, the function required by the actuator, the type of an object, the type of a job, the function required by the job, and the like. The control device includes: a processor; and a storage unit that stores an actuator restriction that is a restriction of a change in position and / or attitude of an actuator of a robot as viewed from predetermined reference coordinates, the processor causing the robot to perform an operation restricted by the actuator restriction, and the actuator restriction being a restriction of a change in position and / or attitude of the actuator of the robot as viewed from predetermined reference coordinates. The actuator restriction is set based on an input from a user or an external device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a control device and a computer. Background Art

[0002] In an industrial robot, in order to make the robot perform desired operations, generally, a user teaches the robot. The control device of the robot generates a path based on the teaching and moves the robot. Generally, a mode in which the robot moves without user operation based on a preset operation instruction is called an automatic operation mode, an AUTO mode, etc. In addition, generally, when a user teaches the robot, the user performs an operation called jogging operation using a mobile operation panel. At the time of jogging operation, the user needs to carefully observe the robot, the actuator, and an object including a workpiece, etc., and consider moving the robot safely. In addition, the user also needs to consider the posture of the actuator so that the actuator can function.

[0003] When generating a path for the automatic operation mode, generally, importance is attached to the cycle time. In addition, sometimes the following restrictions are set: Only rotation around an axis perpendicular to the ground is allowed in the operation of the robot.

[0004] In an industrial robot, generally, the following functions are known: In order to prevent the robot from interfering with the surrounding environment, an area where the robot can operate or an area where the robot cannot enter is preset, and the robot is made to operate only within a non-interfering range. The following function is also known: Using a 3D model of the robot and the surrounding environment, detailed interference calculation is performed. For example, refer to Patent Document 1.

[0005] In an industrial robot, the following technique is also known: A path is generated in such a way that the protrusion of the actuator does not face a person or the like. For example, refer to Patent Document 2.

[0006] Prior Art Documents

[0007] Patent Documents

[0008] Patent Document 1: Japanese Unexamined Patent Application Publication No. 2017-094430

[0009] Patent Document 2: Japanese Unexamined Patent Application Publication No. 2016-196069 Summary of the Invention

[0010] Problems to be Solved by the Invention

[0011] In one example, when the posture, position, etc. of an actuator for the safe functioning of the actuator are within appropriate ranges, it is desired that the path of the robot satisfy these ranges. In one example, if path generation and jogging operations that reflect the nature of the actuator are not performed, an undesirable situation such as dropping an object such as a workpiece may occur. In one example, there are various types of actuators installed at the front end of the robot, etc., such as a hand for loading and unloading items, a suction cup, a welding torch for welding, a scanner for inspection, etc., and it is desired that the operation of the robot cooperate with the actuator. In one example, in a setting where the posture of the actuator is fixed in a specific state, the options for path generation and jogging operations are narrowed and are not effective, and there is also a possibility of a decrease in the cycle time. A technique is desired that can perform settings corresponding to the type of actuator, the functions required by the actuator, the type of object, the type of operation, the functions required by the operation, etc.

[0012] Solution for Solving the Problem

[0013] The control device according to the first aspect of the present invention includes: a processor; and a storage unit that stores actuator restrictions, which are restrictions on changes in at least one of the position and posture of the actuator of the robot observed from a predetermined reference coordinate, and the processor causes the robot to perform an operation restricted by the actuator restrictions, and the actuator restrictions are set based on an input from a user or an external device.

[0014] The control device according to the second aspect of the present invention includes: a processor; a storage unit; and a display device that displays a setting screen for actuator restrictions, which are restrictions on changes in at least one of the position and posture of the actuator of the robot observed from a predetermined reference coordinate, and the setting screen is used to set the actuator restrictions based at least on an input from a user.

[0015] The computer according to the third aspect of the present invention includes: a processor; a storage unit; and a display device that displays a setting screen for actuator restrictions, which are restrictions on changes in at least one of the position and posture of the actuator of the robot observed from a predetermined reference coordinate, and the setting screen is used to set the actuator restrictions based at least on an input from a user, and the processor performs a simulation of causing the model of the robot to operate based on the actuator restrictions and determines whether the operation satisfies the criteria. Description of the Drawings

[0016] Figure 1 It is a schematic diagram of a robot system including a robot of one embodiment.

[0017] Figure 2 It is a block diagram showing the structure of the control device of the robot of the present embodiment.

[0018] Figure 3 It is a schematic diagram of various actuators installed in the robot of this embodiment.

[0019] Figure 4 It is a schematic diagram of the operation of the actuator installed in the robot of this embodiment.

[0020] Figure 5 It is an example of the actuator limit set in the control device of this embodiment.

[0021] Figure 6 It is an example of the screen displayed by the control device of this embodiment.

[0022] Figure 7 It is an example of the screen displayed by the control device of this embodiment.

[0023] Figure 8 It is an example of the screen displayed by the control device of this embodiment.

[0024] Figure 9 It is an example of the screen displayed by the control device of this embodiment.

[0025] Figure 10 It is an example of the screen displayed by the control device of this embodiment.

[0026] Figure 11 It is an example of the screen displayed by the control device of this embodiment.

[0027] Figure 12 It is an example of the screen displayed by the control device of this embodiment.

[0028] Figure 13 It is an example of the screen displayed by the control device of this embodiment.

[0029] Figure 14 It is a block diagram showing an example of the functions of the control device of this embodiment.

[0030] Figure 15 It is an example of the screen displayed by the control device of this embodiment.

[0031] Figure 16 It is an example of the screen displayed by the control device of this embodiment.

[0032] Figure 17 It is an example of the screen displayed by the control device of this embodiment.

[0033] Figure 18 It is an example of the screen displayed by the control device of this embodiment.

[0034] Figure 19This is an example of the screen displayed by the control device of the present embodiment.

[0035] Figure 20 This is an example of the screen displayed by the control device of the present embodiment.

[0036] Figure 21 This is an example of the screen displayed by the control device of the present embodiment.

[0037] Figure 22 This is an example of the screen displayed by the control device of the present embodiment.

[0038] Figure 23 This is an example of the screen displayed by the control device of the present embodiment. Detailed Embodiment

[0039] Hereinafter, a control device 1 of a robot according to an embodiment will be described. The control device 1 is provided to control the arm 10A of the robot 10 ( Figure 1 ).

[0040] The robot 10 is not limited to a specific type. The robot 10 of the present embodiment is a multi-joint robot having six axes. The robot 10 may also be a multi-joint robot having five or fewer axes or seven or more axes, a horizontal multi-joint robot, a multi-link robot, etc. In addition, the robot 10 or its arm 10A may also be supported by a traveling device such as a linear guide rail, an AGV (Automatic Guided Vehicle), a vehicle, a walking robot, etc.

[0041] In addition, the robot 10 may also be a collaborative robot that can use known sensors such as a vision sensor and a force sensor to avoid contact with and approach people and objects around it.

[0042] The arm 10A includes: a plurality of movable parts 12 that are connected to each other by joints; and a plurality of servo motors 11 that respectively drive the plurality of movable parts 12 ( Figure 1 and Figure 2 ). Each servo motor 11 has a sensor for detecting its working position, a working position detection device such as an encoder 11A. In the present embodiment, the control device 1 receives the detection value of the encoder 11A.

[0043] As Figure 1 shown, for example, an actuator 30 such as a hand or a tool is installed at the front end of the arm 10A, and the arm 10A is, for example, a part of a robot system that operates on an object 2 that is an object to be operated on a handling device.

[0044] The operations described above are well-known operations such as the removal of Object 2, the processing of Object 2, and the installation of components onto Object 2. The processing of Object 2 is well-known processing such as machining, painting, and cleaning. The handling device can be any device that can move Object 2, such as a conveyor, an AGV (Automatic Guided Vehicle), or a vehicle under manufacture. In the case of a vehicle under manufacture, the chassis, tires, motor, etc. function as the handling device and carry Object 2 such as the body on the chassis. Object 2 can be various objects such as industrial products, articles including food, parts of articles, parts of structures, animals, parts of animals, and parts of humans.

[0045] The actuator 30 can also be a dedicated hand for loading and unloading articles, a suction cup, etc. In addition, the actuator 30 can be equipped with various devices such as tools for assembly processes, welding torches for spot welding, welding torches for arc welding, and scanners for inspection systems. Thus, the actuator 30 is not limited to a specific actuator.

[0046] When the actuator 30 has a moving part such as a finger, the actuator 30 is equipped with a servo motor 31 ( Figure 2 ) for driving the moving part. The servo motor 31 has a working position detection device for detecting its working position, and as an example, the working position detection device is an encoder. The detection value of the working position detection device is sent to the control device 1. As each of the servo motors 11 and 31, various servo motors such as rotary motors and linear motors can be used.

[0047] The actuator 30 is mainly installed at the front end of the arm 10A, but can also be installed at an intermediate part or the base end in the length direction of the arm 10A. In a system where workpieces are transferred between the robot 10 and a human, as Figure 3 shown, as the actuator 30, a hand for gripping Object 2 or a hand for attracting Object 2 using a suction cup, a magnet, an electromagnet, etc. is mostly used. As an alternative, sometimes Object 2 is placed on a container or a flat tray that serves as the actuator 30. In addition, sometimes Object 2 is placed in a box or a basket that serves as the actuator 30.

[0048] In recent years, hands that softly grip with flexible fingers have become popular, and this hand is also an example of the actuator 30.

[0049] The appropriate postures for the above-mentioned actuator 30 to function as an actuator are sometimes limited. As Figure 4 shown, for example, in the case of the actuator 30 that is a hand using a suction cup, a magnet, or an electromagnet, if Object 2 cannot be attracted from a predetermined direction such as from above, there may be a situation where the holding of Object 2 is unreliable. In addition, for example, when Object 2 is placed in the actuator 30 that is a tray, the user of course needs to consider not letting Object 2 fall.

[0050] As Figure 2 shown, the control device 1 includes: a processor 21 having one or more processor elements such as a CPU, a microcomputer, and an image processing processor; and a display device 22. In addition, the control device 1 has a storage unit 23, and the storage unit 23 has a non-volatile memory, a ROM, a RAM, and the like.

[0051] In addition, the control device 1 includes: a servo controller 24 corresponding to the servo motor 11 of the robot 10 respectively; and a servo controller 25 corresponding to the servo motor 31 of the actuator 30. The control device 1 also has an input unit 26 connected to the control device 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 carried by a user. In other examples, the input unit 26 is a tablet computer. In the case of a portable operation panel, a tablet computer, etc., the input is performed using the touch screen function. There is also a case where the portable operation panel or the tablet computer has the display device 22.

[0052] The storage unit 23 stores a system program 23A, and the system program 23A undertakes the basic functions of the control device 1. In addition, the storage unit 23 stores one or more action programs 23B. The action program 23B includes a plurality of instructions, information, etc. for making the robot act. The action program 23B of the present embodiment at least includes information on the coordinates and postures of a plurality of teaching points, and instructions on the actions between the teaching points.

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

[0054] The control device 1 generates a path based on the action program 23B by using the path generation program 23D, generates a control instruction in a manner that enables movement along the path by using the control program 23C, and controls the arm 10A.

[0055] In addition, when teaching the position and posture of the arm 10A of the robot 10, generally as the teaching points, etc., the coordinates observed from the reference coordinate system 101 of the robot ( Figure 1 ) which is a reference that does not move relative to space are specified. In a state where the actuator 30 is not present, generally as the teaching points, etc., the position and posture of the coordinate system of the flange disk surface (mechanical interface) provided at the front end of the arm 10A are specified. In a state where the actuator 30 is present, an actuator coordinate system 102 ( Figure 1 ) may be set at a predetermined position of the actuator 30, etc. In this case, generally as the teaching points, etc., the position and posture of the actuator coordinate system 102 are specified.

[0056] In addition, in the present embodiment, the coordinate system set at the front end of the arm 10A is also regarded as the actuator coordinate system 102, and the coordinate system set on the flange disk surface described above is also used as the actuator coordinate system 102.

[0057] In the present embodiment, a reference coordinate system 101 and an actuator coordinate system 102 that does not move relative to the actuator 30 are set. Sometimes the actuator coordinate system 102 is referred to by other names such as a tool coordinate system. The control device 1 identifies the position and orientation of the actuator coordinate system 102 in the reference coordinate system 101 through known calibration or the like.

[0058] In the present embodiment, the user can set an actuator limit that restricts the relative change of the actuator coordinate system 102 with respect to the reference coordinate system 101.

[0059] Figure 5 An example of setting the actuator limit is shown. As Figure 5 shown, the first example of the actuator limit is the limit of the position coordinates (X, Y, Z) of the actuator coordinate system 102. The second example of the actuator limit is the limit of the orientation of the actuator coordinate system 102 (rotation about the X-axis = θx, rotation about the Y-axis = θy, rotation about the Z-axis = θz). In addition, in the Figure 5 example, the part where "0" is input to both the upper limit and the lower limit means that no change is allowed. It is also possible to use "-" or the like to indicate that the actuator limit is not set.

[0060] The limit of the relative change of the actuator coordinate system 102 in the first example can be set based on the position and orientation of the reference coordinate system 101, the actuator coordinate system 102, or other coordinate systems. In addition, the reference coordinate system 101, the actuator coordinate system 102, or other coordinate systems are predetermined coordinate systems, and these coordinate systems are sometimes simply referred to as coordinate systems in the following description. The limit of the orientation of the actuator coordinate system 102 in the second example can also be set based on the position and orientation of the coordinate system. In addition, the limits of the position and orientation of the actuator coordinate system 102 can also be set based on the position and orientation of the actuator coordinate system 102 before a certain action is started by the arm 10A.

[0061] As Figure 5 shown, the third example of the actuator limit is the limit of the speed of the actuator coordinate system 102. This speed is, for example, the speed of the actuator coordinate system 102 in the forward direction in the coordinate system, or the respective speeds in the X direction, Y direction, and Z direction. The fourth example of the actuator limit is the limit of the angular velocity of the actuator coordinate system 102. This angular velocity is the angular velocity of the actuator coordinate system 102 about a certain axis in the coordinate system, or the angular velocities about the X-axis, Y-axis, and Z-axis.

[0062] AsFigure 5 As shown, the fifth example of the actuator limit is the limit of the acceleration of the actuator coordinate system 102. This acceleration is, for example, the acceleration in the forward direction of the actuator coordinate system 102 in the coordinate system, or the respective accelerations in the X direction, Y direction, and Z direction. The sixth example of the actuator limit is the limit of the angular acceleration of the actuator coordinate system 102. This angular acceleration is the angular acceleration of the actuator coordinate system 102 around a certain axis in the coordinate system, or the angular accelerations around the X axis, Y axis, and Z axis. The third to sixth examples of the actuator limit are also limits on the change in at least one of the position and orientation of the actuator 30.

[0063] The actuator limit can also be a combination of any two or more of the first to sixth examples. In addition, values, formulas, etc. corresponding to quantities obtained by differentiating the position and / or orientation three or more times with respect to time can also be used. Additionally, the actuator limit can be a limit on the change in the position and / or orientation of the actuator coordinate system 102 with respect to a predetermined reference coordinate. Furthermore, the change in the position and / or orientation of the actuator coordinate system 102 with respect to a predetermined reference coordinate is the change in the position and / or orientation of the actuator with respect to a predetermined reference coordinate. Also, the limits on the angular velocity, various accelerations, etc. in the third to sixth examples are also limits on the change in the position and / or orientation of the actuator as observed from a predetermined reference coordinate.

[0064] In a typical example of the present embodiment, in the motion program 23B, for each teaching point, information on coordinates and orientation, the instructions, and the actuator limit are set. In the Figure 7 screen 200 displayed on the display device 22 by the processor 21 of the control device 1, the actuator limit is not set for teaching point 1 (position and orientation [1]) and teaching point 2 (position and orientation [2]). On the other hand, the following actuator limits 1 and 2 are set for teaching point 3 (position and orientation [3]) and teaching point 4 (position and orientation [4]), respectively. Preferably, Figure 6 the screen 200 is a screen that accepts an operation for displaying a screen related to the setting of the actuator limit. This operation is a tap on a predetermined position on the screen 200, a predetermined button. This button can also be provided on the input unit 26.

[0065] For example, if the user taps the area to the right of "smooth" at teaching point 3 on the screen 200, the Figure 6 displayed actuator limit setting screen 210 appears. The following actuator limits or actuator limit sets can be selected in the setting screen 210. If this operation is repeated, as Figure 7 shown, the actuator limit or actuator limit set is set at any teaching point.

[0066] In one example, as an actuator limit, the user can set a coordinate system and limits on the position change and attitude change of the actuator coordinate system 102 relative to the reference coordinate. Preferably, the input unit 26 for the user to edit such settings is provided on the mobile operation panel also called the teach pendant. The settings such as actuator limits are stored in the storage unit 23, or the storage device of another control device, and a predetermined storage unit such as a storage unit on the cloud. When the actuator limits are stored in the storage device of another control device and the storage unit on the cloud, etc., these storage devices and storage units function as the storage unit of the control device 1.

[0067] To set the actuator limit, for example, a screen related to the setting is displayed on the display device 22 of the input unit 26. For example, the processor 21 of the control device 1 causes the display device 22 to display Figure 8 the screen 300 shown. The screen 300 is a screen for the user to select the transition to the actuator limit setting screen.

[0068] An operation unit 500 for performing the selection, etc. is displayed on the display device 22. Direction keys, an enter key, a return key for the screen before the transition or the screen for returning to the previous level, etc. are displayed on the operation unit 500, and the user makes an input through the operation of these keys. In addition, buttons corresponding to this function may also be provided on the input unit 26.

[0069] If the user selects the transition to the actuator limit setting screen in the screen 300, the processor 21 causes the display device 22 to display Figure 9 the screen 301 shown. The screen 301 is a screen for the user to select the transition to the reference coordinate system setting screen.

[0070] If the user selects the transition to the reference coordinate system setting screen in the screen 301, the processor 21 causes the display device 22 to display Figure 9 the screen 302 shown. The screen 302 is a screen for the user to select the setting of any one of multiple reference coordinate systems.

[0071] If the user selects, for example, the reference coordinate system 1 among multiple reference coordinate systems in the screen 302, the processor 21 causes the display device 22 to display Figure 9 the screen 303 shown. The screen 303 is a screen for the user to set the selected reference coordinate system 1. As shown in the screen 303, the user can set the position and attitude of the reference coordinate system 1.

[0072] In addition, if the user selects the reference coordinate system 2 in the screen 302, the processor 21 causes the display device 22 to display Figure 10 the screen 303 shown. In Figure 10Among them, the user can set the selected reference coordinate system 2. The coordinate systems respectively set by the reference coordinate systems 1, 2, etc. can be used as the reference coordinate system 101.

[0073] In this embodiment, the user can set multiple reference coordinate systems by using the screens 302 and 303. This structure is very useful in terms of increasing the degree of freedom in setting the actuator limits described below.

[0074] As Figure 11 shown, if, in the state of returning to the screen 301, the user selects the transition to the actuator coordinate setting screen, the processor 21 causes the display device 22 to display Figure 11 the screen 304. The screen 304 is a screen for the user to select the setting of any actuator coordinate among multiple actuator coordinates.

[0075] If the user selects, for example, actuator coordinate 1 among the multiple actuator coordinates on the screen 304, the processor 21 causes the display device 22 to display Figure 11 the screen 305. The screen 305 is a screen for the user to set the selected actuator coordinate 1. As shown in the screen 305, the user can set the position and orientation of the actuator coordinate 1.

[0076] In addition, if the user selects actuator coordinate 2 on the screen 304, the processor 21 causes the display device 22 to display Figure 12 the screen 305. In Figure 12 it, the user can set the selected actuator coordinate 2.

[0077] In this embodiment, the user can set multiple actuator coordinates by using the screens 304 and 305. This structure is very useful in terms of increasing the degree of freedom in setting the actuator limits described below.

[0078] As Figure 13 shown, if, in the state of returning to the screen 301, the user selects the transition to the actuator limit setting screen, the processor 21 causes the display device 22 to display Figure 13 the screen 306. The screen 306 is a screen for the user to select the setting of any actuator limit among multiple actuator limits.

[0079] If the user selects, for example, actuator limit 1 among the multiple actuator limits on the screen 306, the processor 21 causes the display device 22 to display Figure 13 the screen 307. The screen 307 is a screen for the user to set the selected actuator limit 1, and the user can set the actuator limit by using the screen 307. The actuator limit is used to limit the change of the actuator coordinate system 102 fixed to the actuator 30 as observed from a predetermined reference coordinate.

[0080] More specifically, as shown in screen 307, the user can set a reference coordinate system that serves as a reference for actuator limit 1. Actuator limit 2 can be set in the same way. In cases where the reference coordinate system is always fixed, or when using reference coordinate system 101, etc., the setting of the reference coordinate system in screen 307 can also be omitted.

[0081] In addition, as shown in screen 307, the user can set actuator coordinates for each actuator limit. In screen 307, actuator coordinate 1 is set for actuator limit 1. For actuator limit 2, actuator coordinate 2 is set in the same way, for example. Actuator limits are used to limit changes in the position and / or orientation of actuator 30 as observed from the set actuator coordinates (predetermined reference coordinates). Therefore, as described above, the structure that can set or select actuator coordinates, and the structure that allows the user to set actuator coordinates for each actuator limit, respectively contribute to increasing the degree of freedom of the settings made by the user. In addition, the following actuator limit elements are set for each actuator limit.

[0082] In Figure 11 and Figure 12 of screen 305, the position and orientation of actuator 30 with the set actuator coordinates are represented by a diagram. In Figure 11 actuator coordinate 1 is set diagonally above with respect to actuator coordinate system 102, and in Figure 12 actuator coordinate 2 is set at a different position in the horizontal direction with respect to actuator coordinate system 102.

[0083] In the example of the motion program 23B of the above-described screen 200, actuator limit 1 is set at the teaching point 3 (position and orientation [3]). The processor 21 causes the arm 10A to move in such a way that actuator 30 moves based on the motion program 23B. In this case, for example, between teaching point 2 (position and orientation [2]) and teaching point 3, the change in the position and orientation of actuator coordinate system 102 as observed from actuator coordinate 1 (predetermined reference coordinate) is limited using the actuator limit elements set by actuator limit 1. Sometimes the processor 21 applies this limit between teaching point 3 and teaching point 4. Similarly, for teaching point 4, the change in the position and orientation of actuator coordinate system 102 as observed from actuator coordinate 2 (predetermined reference coordinate) is limited using the actuator limit elements set by actuator limit 2.

[0084] Here, the position of actuator coordinate 1 (predetermined reference coordinate) of actuator 30 at teaching point 3 corresponds to the position of actuator 30 with actuator coordinate 1 shown in Figure 11 of screen 305. The position of actuator coordinate 2 (predetermined reference coordinate) can be set in the same way.

[0085] In addition, as the predetermined reference coordinates, teaching points and passing points between teaching points are sometimes used. That is, the positions and attitude changes at each teaching point and each passing point of the actuator 30 that moves according to the motion program 23B are controlled within the range of the actuator limiting elements as observed from the positions and attitudes of the teaching points and passing points.

[0086] When teaching points and passing points between teaching points are used as the predetermined reference coordinates, there is no need Figure 11 and Figure 12 the setting of the screen 305, nor is there a need Figure 13 the setting of the actuator coordinates of the screen 307. Figure 13 The screen 307 of can also be configured to accept the setting of the position and attitude of making the actuator coordinate 1 a teaching point or a passing point.

[0087] In addition, the actuator limiting elements of the actuator limit can also be said to represent the range allowing the change of the position of the actuator 30. Typically, when the processor 21 operates the arm 10A in the above structure, the actual position and attitude of the actuator 30 (actuator coordinate system 102) are arranged within the range allowing the change of the position of the actuator 30 through the actuator limit.

[0088] In addition, sometimes the object of the actuator limit 1 becomes an interval. In this case, for example, in the screen 307, an item of "applicable range of actuator limit" is displayed, and the user inputs the teaching point number etc. of the object of the actuator limit to the right of "range of actuator limit". When the teaching point numbers are a plurality of consecutive numbers, the interval becomes the object of the actuator limit 1.

[0089] In addition, the interval of the object of the actuator limit can also be specified by describing the start / end of the actuator limit inside the motion program 23B.

[0090] In addition, the actuator limit that is always applicable can be set without depending on the motion program 23B.

[0091] In addition, the motion program 23B that is always applicable can be set for each actuator limit.

[0092] In addition, in Figure 13 the screen 307 shown, as the "applicable range of actuator limit", for example, a space or the attitude type of the arm 10A can also be set. For example, Figure 13The range of the dashed line 307A represents the range in the X-Z direction, but in this range, a range of about several tens of cm can also be set in the Y direction. If the user inputs this space into the right side of the "Applicable Range of Actuator Limit" by selection on the screen 307, this space is set as the applicable range of Actuator Limit 1. Similarly, multiple posture types of the arm 10A can also be displayed on the screen 307, and the selected posture type is input into the right side of the "Applicable Range of Actuator Limit". In this case, Actuator Limit 1 is applied during the period when the posture of the arm 10A corresponds to this posture type. In addition, the following structure can also be adopted: The user can set the path to be the object of the actuator limit on the screen 307.

[0093] In addition, the control device 1 can also automatically set the actuator limit based on the actuator limit set for each teaching point in the motion program 23B and other set actuator limits. Since this automatically set actuator limit is also based on the actuator limit set by the user for each teaching point, it is the actuator limit set based on the user's input.

[0094] In addition, there are also cases where the user teaches the control device 1 the space where the arm 10A can move, the content of the operation performed by the arm 10A on the object 2 using the actuator 30, etc., and the arm 10A performs the operation based on this teaching. For example, consider the case where the arm 10A is arranged at the bar counter. The operation is an operation where the arm 10A holds an object 2 such as a cup using the actuator 30 as a hand, and an operation of providing the held object 2 to a position corresponding to the customer at the counter, etc.

[0095] In this case, for example, a vision sensor for observing the operation range of the arm 10A is provided, and the control device 1 identifies the position of the actuator 30, the position of the object 2, the surrounding environment 4 moving within the space, and approaching objects including the customer, etc. based on the output of the vision sensor. While the control device 1 identifies the surrounding environment 4 and the existence range of the approaching object, it sequentially calculates the path that the actuator 30 moves for the operation. Even in this case, the processor 21 can apply the actuator limit set for the space when generating the path.

[0096] In addition, as shown in screen 307, the user, as actuator limit 1, can set the movable ranges of the actuator 30 in the X, Y, and Z directions. Screen 307 can set a "reference". This "reference" is represented by coordinates in, for example, reference coordinate system 1, reference coordinate system 101, and actuator coordinate system 102. Screen 307 can set an "upper limit" and a "lower limit". This "upper limit" and "lower limit" are, for example, the movable amounts or movable ranges relative to the coordinates of the "reference". In the present embodiment, the respective movable ranges in the X, Y, and Z directions having a "reference", an "upper limit", and a "lower limit" are referred to as actuator limit elements. Similarly, the user, as actuator limit 1, can set the rotatable movable ranges, angular velocities, and angular accelerations of the actuator 30 around the X, Y, and Z axes; and the velocities and accelerations in the X, Y, and Z directions. Values, formulas, etc. corresponding to quantities obtained by differentiating three or more times with respect to the respective rotatable movable ranges, velocities, accelerations, angular velocities, angular accelerations, positions, or postures around the X, Y, and Z axes are also referred to as actuator limit elements.

[0097] In addition, in cases where the position and posture of actuator coordinate 1 set as the actuator coordinates of screen 307 are used as the "reference", or the "reference" is automatically set by the control device 1, etc., the input and display of the "reference" can be omitted. In addition, it is not necessary to set all actuator limit elements, and there are cases where a part of them is fixed, or cases where they are automatically set by the control device 1, etc.

[0098] In the present embodiment, it is configured such that the user can arbitrarily set the "reference". Therefore, the user can set positions and postures different from the positions and postures of the actuator 30 set at each teaching point and the positions and postures of the actuator coordinates 1 set in screen 307 as the "reference". This structure helps to improve the degree of freedom of the settings made by the user, as well as the accuracy, safety, and efficiency of the movement of the arm 10A. For example, in cases where there are preferred postures for each type of actuator 30, etc., the user can set the respective "references" around the X, Y, and Z axes as the neutral postures of the actuator 30. In addition, it can also be configured such that the processor 21 performs control to bring the position and posture of the actuator 30 closer to the "reference" (referred to as restoration action control in this article). According to these structures, it is possible to reduce the effort and simplify the teaching operation, and improve the accuracy, safety, and efficiency of the movement of the arm 10A.

[0099] In addition, in the present embodiment, in improving the efficiency of the movement of the arm 10A, it includes improving the cycle time of the movement of the arm 10A, etc.

[0100] In the present embodiment, if as Figure 15As shown, in the state of the return screen 301, when the user selects the transition to the setting screen of the actuator limit set, the processor 21 causes the display device 22 to display Figure 15 screen 308. Screen 308 is a screen for the user to select any one of multiple actuator limit sets for setting.

[0101] If the user selects, for example, set 1 from among the multiple sets on screen 308, the processor 21 causes the display device 22 to display Figure 15 screen 309. Screen 309 is a screen for setting the actuator limit set 1 selected by the user, and the user can use screen 309 to set the actuator limit set. The actuator limit set can associate multiple actuator limits.

[0102] More specifically, as shown in screen 309, the user can insert arbitrarily selected actuator limits 1 to 3 into the actuator limit set 1, or can set the validity or invalidity of each of the actuator limits 1 to 3. In addition, the user can set the association relationship of the multiple actuator limits 1 to 3 to be, for example, "1 ∩ 2 ∩ 3". "1 ∩ 2 ∩ 3" means actuator limit 1 and actuator limit 2 and actuator limit 3. For example, in Figure 7 the "Actuator Limit" column of screen 200, "Actuator Limit Set 1" can be set instead of "Actuator Limit 1" etc.

[0103] This structure helps to improve the degree of freedom of the setting by the user. In addition, according to this structure, the user can organize and apply the multiple actuator limits set in screen 307, which helps to improve the accuracy, safety, and efficiency of the movement of the arm 10A. In addition, in the present embodiment, screens 306, 307, etc. can set the validity or invalidity of each actuator limit and each actuator limit element. If necessary, the setting of screen 309 can also be omitted.

[0104] As Figure 14 shown, the processor 21 uses the path generation program 23D to create a path for moving the position and orientation of the actuator coordinate system 102 from the previous teaching point to the target teaching point based on the motion program 23B, etc. For example, the processor 21 performs known interpolation operations between the previous teaching point and the target teaching point while creating the path.

[0105] At this time, when there are actuator limits in the motion program 23B and / or actuator limits set in the space (range) as described above, the processor 21 applies the actuator limits while creating the path. In addition, in the present embodiment, the creation of the path is sometimes described as the creation or generation of the path.

[0106] Furthermore, the processor 21 sends control instructions corresponding to the created path to each servo controller 24.

[0107] Even when the robot 10 is the collaborative robot, the processor 21 performs the same processing. Additionally, in the case of a collaborative robot, the processor 21 sometimes generates an avoidance path for avoiding an avoidance object.

[0108] As long as it is within the actuator limits, settings can be made for any state. Or, in the case where there is a state suitable for the actuator 30, that state can also be set as a neutral state. For example, in the case of an actuator limit where there is a ±5deg limit around the X axis, if an appropriate state is not set, as a result of path generation, the actuator 30 may eventually end up in a tilted state. If, for example, 0deg is set as the neutral state, the processor 21, for example, makes the final posture of the actuator 30 approach or return to the 0deg.

[0109] In addition, when the user sets each teaching point using the following jog operation or hand-guiding operation, the position and posture of the actuator 30 when setting each teaching point can also be set as a neutral state. For example, the user configures the actuator 30 at a first position and posture through a hand-guiding operation, and then, for example, performs an operation for setting a teaching point using the input unit 26. Thus, for example, the first position and posture are set for teaching point 1 on the screen 200. The user can also set teaching point 2 in the same way. When the user sets each teaching point using a jog operation or hand-guiding operation, the position and posture of the actual actuator 30 are sometimes configured based on an image during the operation of the arm 10A. Therefore, the structure in which the above-mentioned first position and posture, etc. are set as the neutral state of each teaching point is very useful for simultaneously achieving a reduction in the user's effort, as well as the accuracy, safety, and efficiency of the movement of the arm 10A.

[0110] The processor 21 controls the arm 10A to perform a restoration action control for returning the position and posture of the actuator 30 to the neutral state. The restoration action control is performed using, for example, at least one of values calculated based on a fixed speed or angular speed, a fixed acceleration or angular acceleration, and a deviation amount from the neutral state. In order to perform the restoration action control, a spring variable that acts like a spring according to the deviation amount can also be used. Additionally, in order to perform the restoration action control, a damper variable that acts like a damper according to the change speed or change angular speed of the deviation amount can also be used. In order to perform the restoration action control, an inertia variable that acts like an inertial force according to the change acceleration or change angular acceleration of the deviation amount can also be used. Combinations of these variables can also be used.

[0111] For example, as an example of loading and unloading an article, it can be exemplified that the object 2 is loaded onto a simple tray-shaped actuator 30 and transported. Since it is in the shape of a tray, it is of course possible for the object 2 to fall due to the inclination of the actuator 30, inappropriate speed, etc.

[0112] For example, using the screens 305 and 307, the position of the actuator coordinate 1 is set at a position slightly above the center of gravity of the object 2, and the limits of the attitude, angular velocity, and angular acceleration are set.

[0113] Based on this setting, the processor 21 generates a path of the actuator coordinate system 102 (actuator 30) from a certain position and attitude to another position and attitude. At this time, there is a tendency that the actuator 30 loading the object 2 moves like a pendulum with the position and attitude in the neutral state set in the actuator limit as the center. As a result, large inclinations and accelerations are restricted in the position of the object 2, and due to the centrifugal force generated by the pendulum motion, the object 2 clings to the actuator 30, which helps to prevent the object 2 from falling.

[0114] In other examples, in the setting of the actuator limit elements, the user can set the allowable range of the acceleration in the direction corresponding to the up and down direction of the actuator 30 and in the direction corresponding to the above-mentioned centrifugal force to a certain value. In addition, the user can set the allowable range of the acceleration in other directions to a very small value such as 1 / 5 or less of the above value. In this case, there is also a tendency that the actuator 30 moves like a pendulum.

[0115] In addition, the limit of the attitude in the actuator limit is not limited to the Euler angle representation, and the quaternion representation or the like can also be adopted. In addition, the limit does not need to be a scalar value and can also be set as a function. It is also possible to set the actuator limit to be switched according to the position and attitude of the arm 10A, etc. It is also possible to set the actuator limit to be switched according to the state of the arm 10A (whether it holds the object 2 or not).

[0116] When teaching the robot, usually within the entire range of the path of the actuator 30 at each teaching point, the position and attitude (X, Y, Z, θx, θy, θz) of the six-degree-of-freedom part are specified. Since in the case where the actuator limit is set, the actuator limit has the function of specifying the position and attitude, it is possible to teach different positions and attitudes from the normal teaching.

[0117] For example, in many cases of loading and unloading items, accurate positioning is required when picking up the object 2 and when placing it. However, for positions other than these, it is sufficient to determine the approximate position and orientation of the actuator 30. Even when the approximate position (X, Y, Z) is sufficient, in the conventional teaching method, it is necessary to specify the position and orientation (X, Y, Z, θx, θy, θz) of the six-axis part. When the orientation (θx, θy, θz) is restricted in the actuator limit, the teaching only needs to have the position information (X, Y, Z). In this case, the path from one position to another is generated within the limits of the actuator limit's orientation.

[0118] Preferably, the following structure is adopted: It is possible to select which one of the original teaching position and the actuator limit is to be used in the motion program 23B. For example, in Figure 7 the screen 200, for each teaching point and each section of the path, a column of "limit priority" is added. This column of "limit priority" is used to set whether the actuator limit takes precedence over the specification of the teaching points of the motion program 23B. In this case, the user can easily and surely set which one of the motion program 23B and the actuator limit takes precedence. In addition, which one of the teaching position and teaching orientation of the motion program 23B and the actuator limit is used to limit the position and orientation (X, Y, Z, θx, θy, θz) of the actuator 30 is not limited to the above example.

[0119] The above structure helps to reduce the setting of limits at each teaching point. In addition, in the above structure, by having the actuator limit, the movement of the arm 10A that can keep the position and orientation of the actuator 30 in an appropriate state is realized, and this can contribute to the creation and selection of a path that helps to improve the cycle time.

[0120] In addition, as Figure 13 shown in the screens 306 and 307, in this embodiment, multiple actuator limits can be set, but a structure that can only set one actuator limit can also be adopted. In addition, by having a set formed by a reference coordinate system, an actuator coordinate, and an actuator limit element, the function of the actuator limit is exerted, but it is sometimes difficult to express various functions with only one actuator limit. Thus, as Figure 13 shown in the screens 306 and 307, a structure that can set multiple actuator limits can also be adopted. In addition, a structure can also be adopted: It can be set so that multiple actuator limits can be applied to the respective intervals, ranges, or points such as teaching points of the object.

[0121] In the following example, an actuator limit set is set. For example, as the first actuator limit, the user sets actuator limit 1 using screens 305, 306, and 307. At this time, the user sets the reference coordinate system 1 at a position that does not move relative to the space, and sets the actuator coordinate 1 above the center of gravity of the actuator. In actuator limit 1, the limit is set in a manner that allows the translational motion and rotational motion of the actuator 30. In addition, the limits of the angular velocity and angular acceleration are also set in actuator limit 1. Furthermore, if the user selects the corresponding label in screen 307, the angular velocity, angular acceleration, etc. can be set.

[0122] As the second actuator limit, the user sets actuator limit 2 using screens 305, 306, and 307. At this time, the user sets the position and orientation of the actuator coordinate 2 as the position and orientation of the reference coordinate system 2, and sets the actuator coordinate 2 below the center of gravity of the actuator. Translation and rotation are not allowed in actuator limit 2.

[0123] As the third actuator limit, the user sets actuator limit 3 using screens 305, 306, and 307. At this time, the user restricts the position and orientation of the actuator coordinate 2 relative to the reference coordinate system 1. In actuator limit 3, the limit is set in a manner that allows translational motion and rotational motion. In addition, the speed and acceleration of translation are restricted in actuator limit 3.

[0124] If a path is generated based on this setting, as Figure 11 and Figure 12 shown, the pallet-shaped actuator 30 loaded with the object 2 translates at the actuator coordinate 1 and moves like a pendulum. In addition, a relatively large translational acceleration is restricted at the position of the actuator coordinate 2. This setting is beneficial to prevent the object 2 from falling. This setting is always an example, and the setting content is not limited to the above example, and any number of actuator limits can be set.

[0125] In the following example, other setting examples of the actuator limit set are described. For example, as the first actuator limit, the user sets actuator limit 1 using screens 305, 306, and 307. At this time, the user sets the reference coordinate system 1 at a position that does not move relative to the space. In addition, the user sets the actuator coordinate 1 on the rotation axis J3 of the joint 3C shown in Figure 1 and sets the actuator limit 1. Actuator limit 1 sets the actuator limit elements in a manner that allows translational motion and rotational motion. In addition, the angular velocity and angular acceleration are restricted in actuator limit 1.

[0126] As a second limitation, the user sets the actuator limitation 2 using screens 305, 306, and 307. At this time, the user sets the actuator coordinate 1 as the reference coordinate system 2, and sets the actuator coordinate 2 at the lower part of the center of gravity of the actuator. In the actuator limitation 2, the actuator limitation elements are set in a manner that allows translational motion and rotational motion.

[0127] As a third actuator limitation, the user sets the actuator limitation 3 using screens 305, 306, and 307. At this time, the user restricts the actuator coordinate 2 with respect to the reference coordinate system 1. In the actuator limitation 3, the actuator limitation elements are set in a manner that allows translational motion. Additionally, in the actuator limitation 3, the actuator limitation elements are set in a manner that restricts the speed and acceleration of translation.

[0128] Normally, when the robot wants to move the joint 3B that Figure 1 it wants to rotate about its rotation axis J2, the joint 3C also moves symmetrically about the rotation axis J3, and sometimes moves in a manner to maintain the posture of the wrist axis. On the other hand, when wanting to move the rotation axis, this effect is mostly not present. In the conventional setting, it is difficult to perform the action about the rotation axis J3 while maintaining the movable part 12 (J2 arm) between the joint 3B and the joint 3C and the posture of the wrist.

[0129] If the actuator limitation set of the above-described other setting example is set, then when performing the rotational motion about the rotation axis J3, the rotation is restricted at the position of the actuator coordinate 2. This structure and setting are very useful for preventing the object 2 from falling.

[0130] The user sets the actuator limitations in multiple parts, so that according to the user's ideas, etc., it is easy to divide the actions, and the setting of the actuator limitations is also easy for the user to understand. This structure is very useful for the risk assessment of the robot, and is also very useful for reducing the teaching and setting errors related to the motion of the arm 10A.

[0131] In the present embodiment, the set of the reference coordinate system, the actuator coordinate, and the actuator limitation is sometimes referred to as an actuator limitation of one unit. Additionally, the actuator limitation summarizes various limitations such as position, speed, and acceleration, and each limitation is referred to as an actuator limitation element. Additionally, multiple actuator limitations can also be prepared, and the processor 21 calls the necessary actuator limitations from the storage unit 23 for use.

[0132] It is also possible to prepare a plurality of actuator limit sets corresponding to the states of various arms 10A. The states of the arms 10A vary according to the type of the actuator 30, the type of the object 2, the type of the arms 10A, and the like. The actuator limit set combines a plurality of actuator limits. In addition, if one or more actuator limit sets are prepared for each state or each action program 23B of the arm 10A, the user only needs to use the prepared actuator limit set. This structure helps to reduce the effort of setting by the user, and also helps to improve the accuracy, safety, and efficiency of the operation of the arm 10A.

[0133] By setting the actuator limit, it is possible to generate a path considering the properties of the actuator 30, the object 2, etc., but it is difficult to accurately reflect the properties of the actuator 30, the object 2, etc. in the actuator limit. There are also cases where the user can determine the actuator limit by calculation or the like, but due to differences in the experience of each user, there are deviations in the accuracy of the actuator limit. In this situation, in order to input the actuator limit, trial and error is required. In addition, the setting of the originally necessary limit may be omitted, which may lead to unexpected adverse situations. These can be improved according to the following structure.

[0134]

Priority

[0135] In the present embodiment, the actuator limit includes a plurality of actuator limit elements. As shown in the screen 307 of Figure 13 , it is possible to set a priority for at least one of the plurality of actuator limit elements. For example, the screen 307 has a column of "Priority", and the priority can be set in a manner corresponding to each actuator limit element. In the screen 307, the "upper limit" and "lower limit" of the angle around the X axis, which are actuator limit elements, are set with the "absolute" priority. The "absolute" priority can also be referred to as, for example, the main application setting that the processor 21 must use. Priorities are also set for other actuator limit elements, and "absolute", "high", and "low" are set in descending order of priority.

[0136] According to this structure, the degree of freedom of the user's setting increases. In addition, the robot 10 can operate under the condition that it does not have to comply with any of the rotational position limits of X, Y, and Z among the actuator limits, and the options of the path that the processor 21 can set increase. In addition, the processor 21 can select a more effective path such as improving the desired cycle time.

[0137] In the actuator restrictions of the present embodiment, there are the following priorities: restrictions that must be complied with, restrictions that do not have to be complied with, etc. When generating a path, there are also cases where it is best to be in a state where all restrictions are complied with, but there is also a possibility that an effective path cannot be selected in order to comply with less important restrictions. That is, there are cases where less important restrictions are not complied with, so that an effective path can be selected. Therefore, it can also be configured such that, based on a preset criterion, the processor 21 does not comply with less important restrictions. To implement this structure, priorities are set for each actuator restriction and each actuator restriction element, and the priorities are stored in the storage unit 23.

[0138] As described below, when the user uses preset actuator restrictions, it is also possible to prepare the preset in such a way that the priorities of the actuator restriction elements differ. Based on meeting the functional requirements, the more important the actuator restriction element, the higher the priority. The priority can be changed by the user later.

[0139] In actuator restrictions, there are restrictions intentionally set by the user and restrictions not intentionally set. In the present embodiment, sometimes the restrictions intentionally set (user ordered) by the user are called designated restrictions, and the restrictions not intentionally set that have the possibility of optimization (optimizable) are called subordinate restrictions. Information indicating whether it is a designated restriction or a subordinate restriction can also be stored in the storage unit 23 together with each actuator restriction. For example, for each actuator restriction element, the control device 1 receives a setting as a restriction element that causes the processor 21 to use a value specified by the user, or a setting as a restriction element that permits a change made by the processor 21, and the received setting is stored in the storage unit 23. This setting is Figure 13 、 Figure 19 、and Figure 23 is indicated by "designated" and "subordinate" in

[0140] As described below, when the user uses preset actuator restrictions, the details of the actuator restrictions are not set by the user, so it is best to initially set them as subordinate restrictions. When the user edits the preset actuator restrictions, the actuator restrictions become designated restrictions. The user can change later whether it is a designated restriction or a subordinate restriction.

[0141] In addition, it can be configured such that the priority of the actuator restriction and the distinction between the designated restriction and the subordinate restriction are set for each actuator restriction element, or it can be configured to summarize and set for each set of actuator restrictions.

[0142] In the case of having multiple sets of actuator restrictions, adding the priority and the distinction between the designated restriction and the subordinate restriction makes it easier to understand the purpose of the restrictions.

[0143]

Preset

[0144] In the present embodiment, preferably, a preset automatic setting program 23F for automatically setting actuator limits and / or actuator limit elements is stored in the storage unit 23. The preset automatic setting program 23F automatically sets actuator limits and / or actuator limit elements based on information on the actuator 30 and the object 2 that can be objectively obtained by the user, as well as functions and performances (function requirements) subjectively desired by the user.

[0145] The so-called function requirements, for example, regarding the object 2, can be qualitative expressions such as "do not want to sway", "do not want to fall down", "do not want to drop", "do not want to tilt", "do not want to move from the site", etc.

[0146] This function requirement can be expressed as an actuator limit element. Therefore, presets of actuator limit elements corresponding to the function requirements are stored in the storage unit 23 in advance.

[0147] In this case, it is configured such that, for example, the user can select from multiple types of presets for the type of combination of the actuator 30 and the object 2. As presets, there are types such as those loaded on a pallet, those loaded in a container, those placed in a box, those grasped by hand, and those attracted. In addition, as presets, there are types such as those for processing an object with a welding torch, those for processing an object with a welding torch, and those for processing an object with various tools. This structure is not limited to the type of the actuator 30, and the preset is used to assist information input. Actuators not applicable to the preset can also be used.

[0148] It is also preferable to utilize the 3D-CAD models of the actuator 30 and the object 2. If, in addition to this shape, the center of gravity position, weight, center of gravity position, weight, and movable parts of the actuator of the object 2, etc. are utilized together with the 3D-CAD model, a more accurate physical model can be created. In the physical model, it is preferable to add necessary parameters in terms of explaining physical behaviors such as the spring constant indicating the hardness of the material, the damping coefficient of damped vibration, and the friction coefficient when objects rub against each other. If there is a physical model, physical behaviors such as the behavior of grasping by hand and the behavior of the object 2 falling can be reproduced in simulation.

[0149] The physical model used in the present embodiment is for performing physical simulation. Since various settings of the physical model require man-hours, it is preferably possible to construct based on information easily accessible to the user.

[0150] For a typical actuator 30 and object 2, by selecting the preset of the type of combination of the actuator 30 and the object 2, the approximate configuration of the actuator 30 and the object 2 is determined. Once the configuration is determined, as long as the shapes, centers of gravity, and weights of the characteristic parts of the actuator 30 and the object 2 are added, an approximate physical model is generated.

[0151] The control device 1 stores information such as the type and shape of the actuator 30 and the object 2, information on functional requirements, and information on actuator limiting factors suitable for implementing these in a corresponding state in the storage unit 23. The processor 21 sets the actuator limiting factors based on the above information, the functional requirements input by the user, and information on the physical model, and presents them to the user.

[0152] Hereinafter, a more specific example will be described.

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

[0154] First, the processor 21 of the control device 1 causes the display device 22 to display Figure 16 the screen 401 shown. The screen 401 can also be displayed instead of the screen 301. The screen 401 is a screen for the user to select the transition to the actuator information setting screen.

[0155] If the user selects the transition to the actuator information setting screen in the screen 401, the processor 21 causes the display device 22 to display Figure 16 the screen 402. The screen 402 is a screen for the user to select any one of the settings of multiple actuator types.

[0156] If the user selects the setting of actuator type 1 in the screen 402, the processor 21 causes the display device 22 to display Figure 16 the screen 403. The screen 403 is a screen for the user to set the selected actuator type 1. As shown in the screen 403, the user can set the actuator type by selection.

[0157] If the user selects the detailed setting of the selected actuator type in the screen 403, the processor 21 causes the display device 22 to display Figure 16 the screen 404. The screen 404 is a screen for setting the size, position of the center of gravity, etc. of the selected actuator type. Preferably, the screen 404 is configured to be able to set the weight, material, etc. of the selected actuator type as well.

[0158] As Figure 17 shown, if, in the state of returning to the screen 401, the user selects the transition to the object information setting screen, the processor 21 causes the display device 22 to display Figure 17 the screen 405. The screen 405 is a screen for the user to select any one of the settings of multiple object types.

[0159] If the setting of object type 1 is selected by the user in screen 405, the processor 21 causes the display device 22 to display Figure 17 screen 406. Screen 406 is a screen for the user to set the selected object type 1. As shown in screen 406, the user can set the object type by selection.

[0160] If the detailed setting of the selected object type is selected by the user in screen 406, the processor 21 causes the display device 22 to display Figure 17 screen 407. Screen 407 is a screen for setting the position such as the size setting and the center of gravity position of the selected object type. Preferably, screen 407 is configured to be able to set the weight, material, etc. of the selected object type as well. In addition, screen 407 may also be configured to be able to perform the position setting of the selected object type relative to the selected actuator type.

[0161] As Figure 18 shown, if in the state of returning to screen 401, the user selects the transition to the setting screen of the object position relationship information, the processor 21 causes the display device 22 to display Figure 18 screen 408. Screen 408 is a screen for setting the position relationship of the selected object type relative to the selected actuator type.

[0162] If the user selects, for example, the setting of position relationship 1 in screen 408, the processor 21 causes the display device 22 to display Figure 18 screen 409. Screen 409 is a screen for the user to set the selected position relationship 1. As shown in screen 409, the user can set the position relationship by numerical input, the movement of the displayed actuator diagram and / or the object diagram.

[0163] As Figure 19 shown, if in the state of returning to screen 401, the user selects the transition to the setting screen for setting the actuator limit according to the preset, the processor 21 causes the display device 22 to display Figure 19 screen 410. Screen 410 is a screen for performing the selection of the actuator type, the selection of the object type, and the selection of the object position relationship, etc.

[0164] In addition, there are also cases where the actuator type is fixed, cases where the actuator type information is automatically set based on the input information (input) from an external device, etc. For example, when the actuator 30 is connected to the control device 1, a signal may be sent from the actuator 30 to the control device 1, and the processor 21 sets the actuator type based on this input signal (input). Similarly, there are cases where the object type and the object position relationship are fixed, and cases where the object type and the object position relationship are automatically set.

[0165] The screen 410 is a screen for selecting a transition to a setting screen for functional requirements (requirements) and displaying the set functional requirements. If the user performs a predetermined operation for setting functional requirements, such as pressing the "Generate Settings" button, the processor 21 causes the display device 22 to display Figure 19 the screen 411. The screen 411 is a screen for the user to select functional requirements. On the screen 411, a display indicating "Valid" which means the setting is completed appears at the position corresponding to each functional requirement. On the screen 411, the user can also set multiple functional requirements. The functional requirements (requirements) are, for example, the user's requirements related to the operation performed by the actuator 30 on the object 2.

[0166] Through the settings of the screens 410 and 411, the actuator limit is set. The actuator limit includes, for example, the same settings as those of the screen 307. Therefore, the processor 21 can control the arm 10A using the set actuator limit.

[0167] In the state of returning to the screen 410, when the user presses "View Generation Record", the processor 21 causes the display device 22 to display Figure 19 the screen 412. The screen 412 is used to display the content of the set actuator limit and accept changes to the respective settings of the actuator limit. The screen 412 is configured to accept the user's input for registering the actuator limit with changed respective settings as one preset.

[0168] In this way, the storage unit 23 stores multiple actuator limits. In addition, the multiple actuator limits are stored in the storage unit 23 in such a manner that they respectively correspond to multiple combinations of the actuator type which is the type of the actuator 30 and the object type which is the type of the object 2. Moreover, if the user inputs an arbitrary combination using the input unit 26 or the like, the processor 21 sets the corresponding actuator limit. This structure helps to reduce the effort of setting by the user and also helps with the accuracy, safety, and efficiency of the movement of the arm 10A, etc.

[0169] In addition, there is also a case where the actuator limit is set only based on the setting of the actuator type. Alternatively, there is also a case where the actuator limit is set only based on the setting of the object type. For example, in the case of an actuator type or an object where the job content and the requirements therefor are fixed, in a state where there is no other setting such as a functional requirement, the actuator limit is set only based on the setting of the actuator type or the object type. In this structure, the user only needs to input a setting for the actuator type or the object type. That is, the processor 21 sets the actuator limit based on at least one of the information about the actuator type and the information about the object type, and the input for the setting made by the user. When the actuator 30 is connected to the control device 1, the information about the actuator type and signals, etc. can also be input from the actuator 30 as an external device to the control device 1. In this case, the processor 21 sets the actuator limit based on at least the information about the actuator type and the input from the external device. These structures help to further reduce the effort of the setting made by the user, and also help to improve the accuracy, safety, and efficiency of the operation of the arm 10A. In addition, even an inexperienced user can appropriately set the actuator limit, which is very useful for the accuracy, safety, and efficiency of the operation of the arm 10A.

[0170] In addition, in the present embodiment, the actuator limit is also set based on the requirements input by the user. This structure is very useful for achieving a reduction in the effort of the setting made by the user and an improvement in the accuracy, safety, and efficiency of the operation of the arm 10A at a high level.

[0171]

Simulator

[0172] In the present embodiment, as described above, the actuator limit is set according to the input value of the user, and the preset actuator limit is set based on the functional requirements input by the user. However, even in the case of a preset, the set actuator limit may not function properly as expected by the user. There may be an omission of an important setting, the existence of an unnecessary setting, and an insufficient fine-tuning of the actuator limit elements, etc., and the path envisioned by the user may not be formed.

[0173] Using the actual robot 10 to confirm the motion path is the most reliable confirmation method. However, when there are deficiencies in the setting, the confirmation behavior itself becomes a risk. Therefore, confirming whether the actuator limit is appropriate in simulation can reduce the risk.

[0174] To implement the simulation, the user needs to input the motion pattern (motion program 23B) of the arm 10A. On the other hand, there can be an infinite number of motion patterns such as jogging operations and hand-guiding operations. Therefore, it is preferable to prepare in advance a set of various motion patterns of the arm 10A as presets. The user usually selects any of the presets, and in the case of exceptional individual cases, the user complementarily creates or modifies the motion pattern by input.

[0175] On the simulator, reproduce the surrounding environment 4, including 3D models of a person or a nearby object carried by a person, the robot 10, the actuator 30, the object 2, etc., and perform simulations of actions such as automatic operation, jogging operation, and hand-guiding operation. The simulation preferably can reproduce physical simulations such as the inversion of the object 2. For example, apply the physical models of the already created actuator 30 and the object 2.

[0176] In the simulation, it is possible to calculate the acceleration, etc. of the actuator 30 and the object 2 that are usually not monitorable in reality. For the position, posture, speed, acceleration, angular velocity, and angular acceleration, etc. of the actuator 30 and the object 2, set simulation allowable values as the allowed thresholds. In the simulation, it is possible to confirm whether the action of the actuator 30 is within the range of the simulation allowable values. In the case where simulation allowable values corresponding to the functional requirements are prepared in advance, those allowable values can also be used. Or, it is also possible to select the values and settings to be used as the simulation allowable values from the actuator limit set.

[0177] As a result of the simulation, there may be adverse situations in operations such as the inversion and dropping of the object 2. In the simulation, it is possible to determine whether the functional requirements are met under any conditions envisioned by the user. Preferably, the processor 21 displays the state of the action in the simulation on the display device 22, etc.

[0178] In the case where the necessary conditions of the simulation allowable values are not met or the cycle time does not meet the conditions, it can be improved by reexamining the actuator limit elements. The user can also confirm the state of the simulation and fine-tune the actuator limit elements.

[0179] Based on the results of the simulation, the processor 21 can also perform the following corrections, improvements, or optimizations of the actuator limits based on the limit correction program 23G. This structure is very useful for simultaneously reducing the user's effort and improving the accuracy, safety, and efficiency of the action of the arm 10A.

[0180] For example, the fine-tuning of the actuator limit elements performed by the user as described above is a trial-and-error process, which places a heavy burden on the user. When setting actuator limit elements, if priorities and importance levels are set, the actuator limit elements with lower priorities among those with lower importance levels are more likely to be changed. These become the actuator limit elements to be adjusted. The limit correction program 23G for correcting the actuator limit set based on the results of the simulation is stored in the storage unit 23.

[0181] When implementing the simulation, the magnitude of the risk in the case where the necessary conditions for the simulation allowable value are not met can also be used as an index for judging the quality of the actuator limit set. In addition, the cycle time can also be an index for judging the quality of the actuator limit set. The above-mentioned indexes for judging the quality of the actuator limit set are only examples and are not limited to these. By adopting the judgment criteria of the user's risk assessment, etc., and using them as indexes for judging the quality of the actuator limit set, an actuator limit set index can be set.

[0182] For example, it can be defined that the condition under which the actuator limit set index becomes the maximum (or minimum) is the best actuator limit set.

[0183] As an example of a method for correcting the actuator limit set using the simulation, the following method can be considered. First, a general genetic algorithm can be applied. After implementing the simulation, the actuator limit set index is calculated. Based on the results of the simulation, alternative plans for the actuator limit elements to be adjusted are created. Multiple alternative plans can also be created at once.

[0184] Using the actuator limit elements of the above-mentioned alternative plan, the simulation is implemented again, and the actuator limit set index is calculated. Based on the actuator limit set that has improved the actuator limit set index, further alternative plans are generated. The number of alternative plans generated can be changed according to the degree of improvement of the actuator limit set index.

[0185] The generation of the alternative plan for the actuator limit set as described above is implemented a predetermined number of times, or until the actuator limit set index exceeds a predetermined value. Through this process, an actuator limit set suitable for aspects such as the cycle time can be obtained. The above process is an example and is not limited to this process.

[0186] The improvement or optimization of the actuator limit based on the above-mentioned simulation and its results can be implemented either by the processor 21 of the control device 1 or by other computers. The other computers have the same processors, display devices, storage units, and input units as the control device 1. The same programs, data, and information, etc. as those in the storage unit 23 are stored in the storage unit of the other computers. In addition, a simulation program and models of the surrounding environment 4, the robot 10, the actuator 30, the object 2, etc. are also stored in the storage unit of the other computers.

[0187] Actuator limitations improved or optimized by other computers can also be input to the control device 1, and when such input exists, the processor 21 of the control device 1 sets the input actuator limitations in the action program 23B, etc. In this case, based on the input from a computer as an external device, the processor 21 causes the arm 10A to perform actions restricted by the actuator limitations.

[0188] Hereinafter, a more specific example will be described.

[0189] For example, a screen for simulating actuator limitations is displayed on the display device 22 of the input unit 26.

[0190] If, in Figure 20 the shown screen 401, the user selects the transition to the screen for actuator limitation simulation, the processor 21 causes the display device 22 to display Figure 21 the screen 421. The screen 421 is a screen for the user to select any of the multiple simulation condition settings.

[0191] If the user selects the setting of simulation condition 1 in the screen 421, the processor 21 causes the display device 22 to display Figure 21 the screen 422. The screen 422 is a screen for making various settings for the simulation. If the user selects the simulation settings of the screen 422, the processor 21 causes the display device 22 to display Figure 21 the screen 423. The screen 423 is a screen for making condition settings such as setting the evaluation items to be evaluated in the simulation and setting the simulation allowable values for each evaluation item.

[0192] After the user makes settings in the screens 422 and 423, the user performs an operation for executing the simulation in the screen 421. Thereby, the processor 21 displays Figure 22 the simulation execution screen 424, and displays the results of the set evaluation items in Figure 22 the screens 425 and 426.

[0193] In addition, the processor 21 can also evaluate whether the action of the actuator 30 is within the simulation allowable values. Moreover, when the action of the actuator 30 is not within the simulation allowable values, the processor 21 can also display Figure 23 the screen 427. When the action of the actuator 30 does not fall within the simulation allowable values, the processor 21 can also judge or presume the actuator limitation factor that causes this, and display it for the user as shown in the screen 427. The color of the actuator limitation factor judged as the cause in the screen 427 is changed.

[0194] The processor 21 can improve or optimize the actuator limit based on the limit correction program 23G using the simulation results. For example, when "Set Optimization" is selected on the screen 401, the improvement or optimization of the actuator limit is performed.

[0195] As an example, the case of simulating the actuator limit 1 of the screen 307 using Figure 13 will be described. If it is determined that several of the actuator limit elements of the actuator limit 1 are the said reasons, the processor 21 corrects the actuator limit elements determined to be the reasons. At this time, as described above, Figure 13 the setting of each actuator limit element of the screen 307 of Figure 23 means "specification" that designates the limit (user ordered). In addition, as Figure 13 shown, several of the actuator limit elements existing in the list of acceleration and angular acceleration of the screen 307 of

[0196] become the said reasons, and these are the subordinate limits (optimizable) for which "specification" is not set. For example, the processor 21 performs the said improvement or optimization by changing the actuator limit elements determined to be the reasons and for which "specification" is not set. In this case, the user can indicate the said improvement or optimization to the processor 21 while identifying the limit elements that do not become the limit elements for automatic change. This structure helps to facilitate the user's setting and also helps with the accuracy, safety, and efficiency of the movement of the arm 10A.

[0197] The jog operation is an operation in which the user directly moves the arm 10A using the direction keys and joystick of the input unit 26. Therefore, if the understanding of the characteristics of the arm 10A and the observation of the surrounding environment 4 are insufficient, operation errors such as contact between the arm 10A or the actuator 30 and the surrounding environment 4 and displacement of the actuator 30 to an unexpected posture are likely to occur. In the present embodiment, the setting of the applicable actuator limit can also be performed during the jog operation.

[0198] The processor 21 also controls the arm 10A in such a way that it is within the range of the actuator limit during the jog operation, and the arm 10A moves accordingly. Thereby, it reduces or prevents the actuator 30 from assuming an unexpected posture due to operation errors or the like. In addition, since the movement of the actuator 30 is restricted in the actuator limit, the man-hours for user confirmation during the jog operation are reduced.

[0199] In addition, when setting the above-described neutral state for the actuator limit, the processor 21 moves the arm 10A in a manner that brings the posture of the actuator 30 closer to the neutral posture during jogging operation. According to this configuration, the user does not need to perform special operations on the direction keys, joysticks, etc., and the actuator 30 can maintain a state close to the preferred posture.

[0200] When the user teaches the robot, etc., there is a hand-guiding operation in which the user grasps the front end of the arm 10A and applies an external force to the front end to move the arm 10A. In the hand-guiding operation, the direction and magnitude of the external force are detected by the sensor, and based on the detection result of the sensor, the processor 21 moves the arm 10A in the direction of the external force. If the user applies an external force in the wrong direction during the hand-guiding operation, there is a possibility of the above-described operation error. In the present embodiment, it is also possible to set the application of the actuator limit during the hand-guiding operation, and the same effect as during the jogging operation can also be achieved during the hand-guiding operation.

[0201]

Jogging operation and hand-guiding operation with interference calculation

[0202] When performing jogging operation and hand-guiding operation, it is important that the arm 10A and the actuator 30 of the robot 10 do not contact the surrounding environment 4. In the case where it is not clear that there is no contact, it is preferable to perform interference calculation. In this case, in the control device 1, the processor 21 performs interference calculation based on the interference calculation program 23H stored in the storage unit 23.

[0203] Hereinafter, the basic information required for interference calculation will be described.

[0204] First, the 3D model of the robot 10, the 3D model of the actuator 30, and the 3D model of the object 2 as a workpiece are stored in the storage unit 23. In operations such as loading and unloading of articles, the object 2 is not limited to being always held, and there are cases where it becomes integrated with the surrounding environment 4. In particular, there are cases where the object 2 is loaded on a transfer device and moved, or held by another robot system. Therefore, it is preferable to distinguish whether the state is the object 2 that moves together with the actuator 30 (the object on the actuator side) or the object 2 that moves together with the surrounding environment 4 (the object on the surrounding environment 4 side).

[0205] A 3D model corresponding to the surrounding environment 4 is also stored in the storage unit 23, and this 3D model is also used for interference calculation. Here, in order to restrict the movement of the arm 10A, a virtual non-entry area is generally set. In the present embodiment, the processor 21 calculates the distance between the models based on the interference calculation program 23H, using the control instructions of the robot such as the robot 10, the actuator 30, the object 2, the surrounding environment 4, and the motion program 23B. In principle, when the result of the interference calculation is less than the allowable value of the distance at which it can approach, the processor 21 safely stops the arm 10A.

[0206] Here, as in the present embodiment, sometimes the processor 21 causes the arm 10A to move within the range restricted by the actuator, thereby being able to avoid interference. For example, during jogging operation or hand-guiding operation, interference may occur between the 3D model of the actuator 30 and the 3D model corresponding to the surrounding environment 4. At this time, the processor 21 can move the arm 10A in such a way as to avoid contact with the surrounding environment 4 within the range restricted by the actuator. Without the actuator restriction, the processor 21 would in principle stop the arm 10A, but by moving as described above, the jogging operation or hand-guiding operation performed by the user is not interrupted. According to this structure, flexible jogging operation and hand-guiding operation can be effectively performed.

[0207] In the present embodiment, the storage unit 23 stores actuator restrictions that are restrictions on the changes in the position and posture of the actuator 30 observed from a predetermined reference coordinate. In addition, the processor 21 causes the robot 10 to perform an action restricted by the actuator restriction set based on an input from the user or an external device. This contributes to the accuracy, safety, and efficiency of the operation of the robot 10. For example, setting (avoiding) the posture to be avoided corresponding to the type of the actuator 30 and the object 2 becomes easy or reliable. In addition, sometimes the effort of the teaching operation or the setting operation can be reduced and made easier. In addition, sometimes while realizing the movement of the arm 10A that can keep the position and posture of the actuator 30 in an appropriate state, the creation and selection of an avoidance path that can improve the cycle time can be performed.

[0208] In addition, the control device 1 includes an input unit 26 for the user to input actuator restriction elements and the like for the actuator restriction. This structure is very useful for setting appropriate actuator restrictions for a variety of actuators 30 and a variety of operations.

[0209] In addition, the actuator limit can set at least one of a limit on the speed, a limit on the acceleration, a limit on the angular velocity, and an actuator limit factor on the angular acceleration of the actuator 30 as observed from a predetermined reference coordinate. This configuration is very useful for setting appropriate actuator limits for a variety of actuators 30 and a variety of operations. In addition, sometimes by setting these actuator limit factors, for example, when setting multiple teaching points for the arm 10A for a complex operation, it is possible to facilitate the setting of the motion setting or the motion limit of the arm 10A.

[0210] The embodiments of the present invention have been described in detail, but the present invention is not limited to the above-described embodiments. In these embodiments, various additions, conversions, changes, and partial deletions can be made without departing from the gist of the present invention or without departing from the idea and purpose of the present invention derived from the content described in the claims and their equivalents. For example, in the above-described embodiments, changes in the order of each operation, changes in the order of each process, omission or addition of a part of the operation corresponding to a condition, and omission or addition of a part of the process corresponding to a condition can be made without being limited to the above examples. In addition, the same applies to the case where numerical values or formulas are used in the description of the above embodiments.

[0211] Supplementary Note 1

[0212] A control device includes:

[0213] a processor; and

[0214] a storage unit that stores an actuator limit, which is a limit on the change in at least one of the position and attitude of an actuator of a robot as observed from a predetermined reference coordinate,

[0215] the processor causes the robot to perform an action restricted by the actuator limit, and the actuator limit is set based on an input from a user or an external device.

[0216] Supplementary Note 2

[0217] In the control device according to Supplementary Note 1,

[0218] the storage unit can store a plurality of the actuator limits.

[0219] Supplementary Note 3

[0220] In the control device according to Supplementary Note 1 or 2,

[0221] the storage unit can store an actuator limit set formed by combining a plurality of the actuator limits.

[0222] Supplementary Note 4

[0223] In the control device described in Supplementary Note 3,

[0224] Stored in the storage unit are: a plurality of action programs for causing the robot to perform actions; and a plurality of the actuator limit sets, each corresponding to one of the plurality of action programs.

[0225] Supplementary Note 5

[0226] A control device includes:

[0227] A processor;

[0228] A storage unit; and

[0229] A display device that displays a setting screen for actuator limits, where the actuator limits are restrictions on changes in at least one of the position and posture of the robot's actuators as observed from a predetermined reference coordinate,

[0230] The setting screen is used to set the actuator limits based at least on a user input.

[0231] Supplementary Note 6

[0232] In the control device according to any one of Supplementary Notes 1 to 5,

[0233] The control device includes an input unit capable of inputting the actuator limits.

[0234] Supplementary Note 7

[0235] In the control device according to any one of Supplementary Notes 1 to 6,

[0236] The storage unit stores a plurality of actuator limits,

[0237] The plurality of actuator limits respectively correspond to at least one of the type of the actuator and the type of the object of the operation of the actuator,

[0238] The processor sets the actuator limits based at least on at least one of the information about the type of the actuator and the information about the type of the object, and a user input.

[0239] Supplementary Note 8

[0240] In the control device according to Supplementary Note 7,

[0241] The user input is used to set the requirements that the user demands for the operation performed by the actuator.

[0242] Supplementary Note 9

[0243] In the control device according to any one of Supplementary Notes 1 to 6,

[0244] The actuator limit includes a plurality of actuator limit elements,

[0245] The actuator limit can set priorities for at least one of the plurality of actuator limit elements,

[0246] The processor causes the robot to perform an action by using at least the actuator limit including the priority.

[0247] Supplementary Note 10

[0248] In the control device according to any one of Supplementary Notes 1 to 6,

[0249] The actuator limit includes a plurality of actuator limit elements,

[0250] For each of the plurality of actuator limit elements, a setting of a specified limit that causes the processor to use a value specified by the user or a setting of a subordinate limit that allows the processor to make a change is accepted.

[0251] Supplementary Note 11

[0252] In the control device according to any one of Supplementary Notes 1 to 10,

[0253] The processor performs a simulation of causing the model of the robot to perform the action by using at least the actuator limit, and determines whether the action satisfies a criterion.

[0254] Supplementary Note 12

[0255] In the control device according to Supplementary Note 11,

[0256] When the action does not satisfy the criterion, the processor corrects the actuator limit to satisfy the criterion.

[0257] Supplementary Note 13

[0258] In the control device according to any one of Supplementary Notes 1 to 12,

[0259] The actuator limit can set at least one of: a limit on the speed of the actuator observed from the predetermined reference coordinate, a limit on the acceleration of the actuator observed from the predetermined reference coordinate, a limit on the angular velocity of the actuator observed from the predetermined reference coordinate, a limit on the angular acceleration of the actuator observed from the predetermined reference coordinate, and a limit on a value or formula equivalent to a quantity obtained by differentiating the position or the attitude three or more times with respect to time.

[0260] Supplementary Note 14

[0261] A computer includes:

[0262] Processor;

[0263] Storage unit; and

[0264] A display device that displays a setting screen for actuator limits, where the actuator limits are restrictions on changes in at least one of the position and posture of the robot's actuator as observed from a predetermined reference coordinate.

[0265] The setting screen is used to set the actuator limits based at least on user input.

[0266] The processor performs a simulation of moving the robot's model using at least the actuator limits and determines whether the movement meets the criteria.

[0267] Appendix Note 15

[0268] In the computer described in Appendix Note 14,

[0269] When the movement does not meet the criteria, the processor corrects the actuator limits to meet the criteria.

[0270] Explanation of reference numerals:

[0271] 1: Control device

[0272] 2: Object

[0273] 10: Robot

[0274] 10A: Arm

[0275] 11: Servo motor

[0276] 11A: Encoder

[0277] 12: Movable part

[0278] 21: Processor

[0279] 22: Display device

[0280] 23: Storage unit

[0281] 23A: System program

[0282] 23B: Action program

[0283] 23C: Control program

[0284] 23D: Path generation program

[0285] 23F: Preset automatic setting program

[0286] 23G: Limit correction program

[0287] 23H: Interference calculation program

[0288] 24: Servo Controller

[0289] 25: Servo Controller

[0290] 26: Input Unit

[0291] 200: Screen (Operation Program)

[0292] 300 - 309: Screens

[0293] 401 - 412: Screens

[0294] 421 - 427: Screens

[0295] 500: Operation Unit

Claims

1. A control device, characterized in that, Comprising: a processor; and a storage unit that stores actuator restrictions, which are restrictions on changes in at least one of the position and posture of the actuators of the robot as observed from a predetermined reference coordinate. The processor causes the robot to perform an action restricted by the actuator restriction, and the actuator restriction is set based on an input from a user or an external device.

2. The control device according to claim 1, characterized in that, The storage unit is capable of storing a plurality of the actuator restrictions.

3. The control device according to claim 1 or 2, characterized in that, The storage unit is capable of storing an actuator restriction set formed by combining a plurality of the actuator restrictions.

4. The control device according to claim 3, characterized in that, Stored in the storage unit are: a plurality of action programs for causing the robot to perform actions; and a plurality of the actuator restriction sets, each corresponding to one of the plurality of action programs.

5. A control device, characterized in that, Comprising: a processor; a storage unit; and a display device that displays a setting screen for actuator restrictions, which are restrictions on changes in at least one of the position and posture of the actuators of the robot as observed from a predetermined reference coordinate. The setting screen is used to set the actuator restriction based at least on an input from a user.

6. The control device according to any one of claims 1 to 5, characterized in that, The control device includes an input unit capable of inputting the actuator restriction.

7. The control device according to any one of claims 1 to 6, characterized in that, The storage unit stores a plurality of actuator restrictions. The plurality of actuator restrictions respectively correspond to at least one of the type of the actuator and the type of the object of the operation of the actuator. The processor sets the actuator restriction based at least on at least one of information about the type of the actuator and information about the type of the object, and an input from a user.

8. The control device according to claim 7, characterized in that, The input from the user is used to set requirements that the user demands for the operation performed by the actuator.

9. The control device according to any one of claims 1 to 6, characterized in that, The actuator restriction includes a plurality of actuator restriction elements. The actuator restriction is capable of setting a priority for at least one of the plurality of actuator restriction elements. The processor causes the robot to perform an action using at least the actuator restriction including the priority.

10. The control device according to any one of claims 1 to 6, characterized in that, The actuator restriction includes a plurality of actuator restriction elements. For each of the plurality of actuator restriction elements, a setting of a specified restriction that causes the processor to use a value specified by the user or a setting of a subordinate restriction that allows the processor to make a change is accepted.

11. The control device according to any one of claims 1 to 10, characterized in that, The processor performs a simulation of causing the model of the robot to perform the action using at least the actuator restriction, and determines whether the action satisfies a criterion.

12. The control device according to claim 11, wherein When the action does not satisfy the criterion, the processor corrects the actuator restriction to satisfy the criterion.

13. The control device according to any one of claims 1 to 12, wherein The actuator restriction can set at least one of: a restriction on the speed of the actuator as observed from the predetermined reference coordinate, a restriction on the acceleration of the actuator as observed from the predetermined reference coordinate, a restriction on the angular velocity of the actuator as observed from the predetermined reference coordinate, a restriction on the angular acceleration of the actuator as observed from the predetermined reference coordinate, and a restriction on a value or formula equivalent to a quantity obtained by differentiating the position or the posture three or more times with respect to time.

14. A computer, wherein Comprising: a processor; a storage unit; and A display device that displays a setting screen for actuator limits, where the actuator limits are limits on changes in at least one of the position and posture of the robot's actuator as observed from a predetermined reference coordinate. The setting screen is used to set the actuator limits based at least on user input. The processor performs a simulation of moving the robot's model using at least the actuator limits and determines whether the movement satisfies a criterion.

15. The computer according to claim 14, wherein When the movement does not satisfy the criterion, the processor corrects the actuator limits to satisfy the criterion.

Citation Information

Patent Citations

  • Avoidance track generation device and avoidance track generation method for industrial robot

    JP2016196069A

  • Manual feed apparatus for robot for calculating operation possible range of robot

    JP2017094430A