Operation device, robot system, method for controlling operation device, method for controlling robot system, method for manufacturing article, control program, and recording medium

JP2023121732A5Pending Publication Date: 2026-02-06CANON KK
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023014379
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-02-21
Filing Date
2023-02-02
Publication Date
2026-02-06

AI Technical Summary

Technical Problem

Existing robot collision recovery methods, such as those described in Patent Document 1, often result in overloading due to trial-and-error operations and require precise positioning of surrounding objects, which is not always feasible.

Method used

An operation device and method that change the operation direction of a robot based on the direction it receives a load from an object during interference, using force and current sensors to identify the load direction and restrict operations to non-interference directions, displayed on a user interface.

Benefits of technology

Efficient recovery from interference states without overloading the robot, allowing seamless resumption of operations by guiding the user to move the robot in non-interfering directions, thus preventing further collisions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To enable a robot to efficiently restore from a state where the robot is subjected to interference.SOLUTION: An operation device for operating a robot includes a processing part that, when the robot interferes with an object, determines an operation direction from which operation to the robot is received on the basis of a direction in which the robot is subjected to load from the object.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to robot technology. [Background technology]

[0002] There is known a technology for stopping the operation of a robot when the robot collides with, i.e., interferes with, an object around the robot. Patent Document 1 discloses a system for operating the robot by trial and error when the robot interferes, and recovering from the interference state. Patent Document 1 also discloses simulating the operation of recovering from the interference state using a 3D model of the robot. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 2018-051686 Summary of the Invention [Problem to be solved by the invention]

[0004] In the method described in Patent Document 1, the robot is operated by trial and error, which includes actions that overload the robot, such as further pressing against an object that the robot is in contact with. Furthermore, when performing a simulation, in addition to a 3D model of the robot, models of surrounding objects are also required, but the objects around the robot are not necessarily positioned in fixed positions relative to the robot.

[0005] Therefore, the present disclosure aims to enable a robot to be efficiently restored from an interference state. [Means for solving the problem]

[0006] A first aspect of the present disclosure is an operating device for operating a robot, characterized in that, when the robot interferes with an object, the operating device includes a processing unit that determines an operating direction in which the robot will accept operation based on a direction in which the robot receives a load from the object.

[0007] A second aspect of the present disclosure is an operating device for operating a robot, characterized in that it includes a processing unit that displays, on a display unit, an operating direction in which the robot will accept operation, based on the direction in which the robot receives load from the object when the robot interferes with the object.

[0008] A third aspect of the present disclosure is a control method for an operating device that operates a robot, characterized in that, when the robot interferes with an object, an operating direction in which the robot accepts operation is determined based on the direction in which the robot receives a load from the object.

[0009] A fourth aspect of the present disclosure is a control method for an operating device that operates a robot, characterized in that when the robot interferes with an object, an operating direction in which the robot accepts operation is displayed on a display unit based on the direction in which the robot receives load from the object. [Effects of the Invention]

[0010] According to the present disclosure, it is possible to efficiently recover a robot from an interfering state. [Brief explanation of the drawings]

[0011] [Figure 1] FIG. 1 is an explanatory diagram illustrating a configuration of a robot system according to a first embodiment. [Figure 2] FIG. 1 is an explanatory diagram of a robot according to a first embodiment. [Figure 3] FIG. 2 is an explanatory diagram of a teaching pendant according to the first embodiment. [Figure 4] FIG. 2 is a block diagram showing a control system of the robot system according to the first embodiment. [Figure 5] 4(a) and 4(b) are explanatory diagrams of an operation instruction unit according to the first embodiment. [Figure 6] 4 is a flowchart showing a method for controlling the teaching pendant according to the first embodiment. [Figure 7] FIG. 1 is an explanatory diagram of a robot according to a first embodiment. [Figure 8] 5(a) and 5(b) are explanatory diagrams of an example of a display image according to the first embodiment. [Figure 9] 10(a) and 10(b) are explanatory diagrams of an example of a display image according to the second embodiment. [Figure 10] FIG. 10 is an explanatory diagram of an example of a display image according to the second embodiment. [Figure 11] 10 is a flowchart showing a method for controlling a teaching pendant according to a third embodiment. [Figure 12] FIG. 11 is an explanatory diagram of an example of a display image according to the third embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0012] Exemplary embodiments of the present disclosure will now be described in detail with reference to the drawings.

[0013] [First embodiment] FIG. 1 is an explanatory diagram showing the configuration of a robot system 1000 according to a first embodiment. The robot system 1000 includes a robot 10, a controller 20, and a teaching pendant 30, which is an example of an operating device. The robot 10 is an industrial robot, or a so-called manipulator. The robot 10 and the controller 20 are connected to each other by, for example, a communication cable so that they can communicate with each other. The controller 20 and the teaching pendant 30 are connected to each other by, for example, a communication cable so that they can communicate with each other.

[0014] The controller 20 controls the operation of the robot 10 and is configured, for example, by a computer. The controller 20 can selectively execute a first mode in which the robot 10 operates according to teaching data and a second mode in which the robot 10 operates according to instructions from the teaching pendant 30. When the controller 20 performs a protective stop or an emergency stop on the robot 10 while controlling the operation of the robot 10 in the first mode, the controller 20 transitions from the first mode to the second mode. Here, a protective stop refers to detecting an abnormality in the robot 10 and stopping the robot 10 without disconnecting the servos of each motor, and an emergency stop refers to detecting an abnormality in the robot 10 and stopping the robot 10 by disconnecting the servos of each motor. When a protective stop is performed on the robot 10, the controller transitions from the first mode to the second mode while the servos remain engaged. When an emergency stop is performed on the robot 10, the controller 20 resets the servos based on instructions from the teaching pendant 30 and then executes the second mode.

[0015] The teaching pendant 30 is an input device that can be operated by a user, and has the function of sending operation commands to the controller 20 when operated by the user, thereby causing the robot 10 to operate in accordance with the user's operation. The controller 20 is configured to operate the robot 10 in accordance with the operation commands from the teaching pendant 30. In this way, the robot system 1000 is configured so that when the user operates the teaching pendant 30, the robot 10 performs an operation in accordance with the operation of the teaching pendant 30.

[0016] FIG. 2 is an explanatory diagram of a robot 10 according to the first embodiment. The base of the robot 10 is a fixed end, and is fixed to a stand or the like (not shown). The tip (end) of the robot 10 is a free end. The robot 10 has a robot arm 101 and a robot hand 102, which is an example of an end effector attached to the robot arm 101. The robot hand 102 is an example of the tip of the robot 10.

[0017] The robot arm 101 has a plurality of joints J1 to J6. The robot arm 101 is a vertically articulated robot arm. The robot arm 101 has a base 110, which is a fixed link, and a plurality of links 111 to 116. The base 110 and the links 111 to 116 are connected by the joints J1 to J6, so that each of the links 111 to 116 can rotate at each of the joints J1 to J6.

[0018] A motor (not shown) is provided at each of the joints J1 to J6 as a power source. The motor provided at each of the joints J1 to J6 drives each of the joints J1 to J6, i.e., each of the links 111 to 116, allowing the robot 10 to assume various postures. In this embodiment, a tool center point (TCP) 130 is defined at the hand of the robot 10, and by specifying the position and posture of the TCP 130, the robot 10 can be moved to various postures. Note that although each of the joints J1 to J6 is a rotary joint, the present invention is not limited to this, and for example, any of the joints may be a linear joint.

[0019] The robot hand 102 is configured to be able to hold a workpiece. In the first embodiment, the robot hand 102 has a hand body 120 including a drive source and a plurality of fingers 121 supported by the hand body 120, and is configured to be able to hold a workpiece.

[0020] In a manufacturing line where goods are manufactured, the robot 10 can grasp a workpiece with the robot hand 102 to carry it, assemble it to other workpieces, or grasp a tool to process the workpiece. Alternatively, the robot 10 can also perform work by attaching an actuator other than the robot hand 102 to the link 116, depending on the type of work in the manufacturing process.

[0021] For example, workpieces W1 and W2 are placed around the robot 10. An assembled product can be manufactured by having the robot 10 hold the workpiece W1 and assemble the workpiece W1 to the workpiece W2. The assembled product may be an intermediate product or a final product.

[0022] 3 is an explanatory diagram of the teaching pendant 30 according to the first embodiment. The teaching pendant 30 includes a touch panel display 304 that serves as both an input unit, which is an input device, and a display unit, which is a display device. A 3D model display unit 31 and an action instruction unit 32 are displayed on the touch panel display 304 as user interface (UI) images. Note that the input unit and the display unit may be configured separately.

[0023] 4 is a block diagram showing a control system of the robot system 1000 according to the first embodiment. The controller 20 is configured as a computer and includes a CPU (Central Processing Unit) 201, which is a processor. The controller 20 also includes a ROM (Read Only Memory) 202, a RAM (Random Access Memory) 203, and an HDD (Hard Disk Drive) 204 as storage devices. The controller 20 also includes a recording disk drive 205 and an I / O (Input / Output) 206, which is an input / output interface. The CPU 201, ROM 202, RAM 203, HDD 204, recording disk drive 205, and I / O 206 are connected via a bus 210 so as to be able to communicate with each other.

[0024] The ROM 202 stores a basic program that is read by the CPU 201 when the computer is started up. The RAM 203 is a temporary storage device used for the arithmetic processing of the CPU 201. The HDD 204 is a storage device that stores various data, such as the results of the arithmetic processing of the CPU 201. In the first embodiment, the HDD 204 stores a program 211 to be executed by the CPU 201. By executing the program 211, the CPU 201 controls the robot 10 according to teaching data, and performs control to protectively stop or emergency stop the operation of the robot 10 when a load exceeding a predetermined range is applied to the robot 10. The recording disk drive 205 can read various data, programs, etc. recorded on the recording disk 212.

[0025] The I / O 206 is connected to a robot arm 101, a robot hand 102, and a teaching pendant 30.

[0026] The teaching pendant 30 is configured as a computer and includes a processor, CPU 301. CPU 301 is an example of a processing unit. The teaching pendant 30 also includes a ROM 302 and a RAM 303 as storage devices. The teaching pendant 30 also includes a touch panel display 304 and an I / O 306, which is an input / output interface. The CPU 301, ROM 302, RAM 303, touch panel display 304, and I / O 306 are connected by a bus 310 so that they can communicate with each other.

[0027] The ROM 302 stores a control program 311 to be executed by the CPU 301. The CPU 301 executes the control program 311 to perform a control method, which will be described later. The RAM 303 is a temporary storage device used for the arithmetic processing of the CPU 301. The I / O 306 is connected to the I / O 206 of the controller 20.

[0028] The robot arm 101 has six drive units 151 to 156, the same number as the joints J1 to J6. Each of the drive units 151 to 156 corresponds to each of the joints J1 to J6.

[0029] The drive unit 151 includes a driver 161, a motor 171, a current sensor 181, and a force sensor 191. The drive unit 152 includes a driver 162, a motor 172, a current sensor 182, and a force sensor 192. The drive unit 153 includes a driver 163, a motor 173, a current sensor 183, and a force sensor 193. The drive unit 154 includes a driver 164, a motor 174, a current sensor 184, and a force sensor 194. The drive unit 155 includes a driver 165, a motor 175, a current sensor 185, and a force sensor 195. The drive unit 156 includes a driver 166, a motor 176, a current sensor 186, and a force sensor 196.

[0030] Each of the drivers 161 to 166 includes a microcomputer (not shown), an A / D conversion circuit (not shown), a motor drive circuit (not shown), etc. The plurality of drivers 161 to 166 are connected to the I / O 206 of the controller 20 via the bus 140.

[0031] Each of the motors 171-176 is a drive source that drives each of the joints J1-J6. Specifically, each of the motors 171-176 drives the distal link of each of the two links connected at each of the joints J1-J6 relative to the proximal link, either directly or via a transmission mechanism such as a reducer (not shown). Each of the current sensors 181-186 detects the current supplied to each of the motors 171-176 and outputs a signal indicating the detected current value to each of the drivers 161-166.

[0032] Each of the force sensors 191-196 is a torque sensor that detects, for example, a force in a rotational direction, i.e., torque, and is disposed at each of the joints J1-J6. That is, each of the force sensors 191-196 detects the force (torque) acting on the distal link relative to the proximal link of the two links connected at each of the joints J1-J6, and outputs a signal indicating the force value (torque value) that is the detection result to each of the drivers 161-166.

[0033] Each of the drivers 161 to 166 receives a signal from each of the current sensors 181 to 186 at a predetermined cycle, converts the signal into a digital signal indicating a current value, and outputs the digital signal to the controller 20. Each of the drivers 161 to 166 also receives a signal from each of the force sensors 191 to 196 at a predetermined cycle, converts the signal into a digital signal indicating a force value (torque value), and outputs the digital signal to the controller 20.

[0034] In the first embodiment, the computer-readable non-transitory recording medium is the HDD 204, and the program 211 is stored in the HDD 204, but this is not limiting. The program 211 may be recorded on any recording medium as long as it is a computer-readable non-transitory recording medium. For example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a magnetic tape, a non-volatile memory, etc. can be used as the recording medium for storing the program 211.

[0035] In the first embodiment, the non-transitory computer-readable recording medium is the ROM 302, and the control program 311 is stored in the ROM 302, but this is not limiting. The control program 311 may be recorded on any non-transitory computer-readable recording medium. For example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a magnetic tape, a non-volatile memory, etc. can be used as the recording medium for storing the control program 311.

[0036] With the above configuration, the teaching pendant 30 can give instructions to each of the joints J1 to J6 via the controller 20 to operate in accordance with the user's operation.

[0037] 5(a) and 5(b) are explanatory diagrams of the operation instruction unit 32. The operation instruction unit 32 is a UI image that the user can operate to make the robot 10 perform a jog operation. The operation instruction unit 32 is displayed on the touch panel display 304 shown in FIG. 3 by switching between the screens of FIG. 5(a) and FIG. 5(b) using tabs TAB1 and TAB2. The tabs TAB1 and TAB2 are selected by the user. FIG. 5(a) shows the operation instruction unit 32 when tab TAB1 is selected by the user, and FIG. 5(b) shows the operation instruction unit 32 when tab TAB2 is selected by the user.

[0038] The movement instruction unit 32 shown in FIG. 5(a) includes a plurality of operation buttons 321 to 332 that instruct the robot 10 to move in mutually different directions. The movement instruction unit 32 shown in FIG. 5(a) instructs the movement of the robot arm 101 in a joint coordinate system. Each of the joints J1 to J6 can move in two mutually opposite directions. In the first embodiment, each of the joints J1 to J6 is a rotational joint, and therefore can move in two mutually opposite rotational directions. Each of the two operation buttons 321 and 322 is an operation button that instructs the movement of the joint J1 in a corresponding one of two rotational directions. Each of the two operation buttons 323 and 324 is an operation button that instructs the movement of the joint J2 in a corresponding one of two rotational directions. Each of the two operation buttons 325 and 326 is an operation button that instructs the movement of the joint J3 in a corresponding one of two rotational directions. Each of the two operation buttons 327, 328 is an operation button for instructing the movement of the joint J4 in the corresponding rotation direction of two rotation directions. Each of the two operation buttons 329, 330 is an operation button for instructing the movement of the joint J5 in the corresponding rotation direction of two rotation directions. Each of the two operation buttons 331, 332 is an operation button for instructing the movement of the joint J6 in the corresponding rotation direction of two rotation directions.

[0039] The operation instruction unit 32 shown in FIG. 5(b) includes a plurality of operation buttons 341 to 352 for instructing the robot 10 to operate in different directions. The operation instruction unit 32 shown in FIG. 5(b) instructs the operation of the robot arm 101 in the coordinate system of the TCP 130, which in the first embodiment is a hand coordinate system (tool coordinate system). The TCP 130 defined for the robot 10 is movable in three translational directions along three mutually orthogonal axes and three rotational directions about the three axes in the hand coordinate system. The hand of the robot 10, i.e., the TCP 130, is movable in two mutually opposite directions in each of the three translational directions and three rotational directions. The three axes in the hand coordinate system are referred to as the X-axis, Y-axis, and Z-axis. Hereinafter, the three translational directions and three rotational directions are collectively referred to as the six-axis directions. The six-axis directions include 12 directions, including forward and reverse directions. Each of the two operation buttons 341 and 342 is an operation button that instructs the TCP 130 to operate in the corresponding direction out of two directions included in the translation direction of the X axis. Each of the two operation buttons 343 and 344 is an operation button that instructs the TCP 130 to operate in the corresponding direction out of two directions included in the translation direction of the Y axis. Each of the two operation buttons 345 and 346 is an operation button that instructs the TCP 130 to operate in the corresponding direction out of two directions included in the translation direction of the Z axis. Each of the two operation buttons 347 and 348 is an operation button that instructs the TCP 130 to operate in the corresponding direction out of two directions included in the rotation direction around the X axis. Each of the two operation buttons 349 and 350 is an operation button that instructs the TCP 130 to operate in the corresponding direction out of two directions included in the rotation direction around the Y axis. Each of the two operation buttons 351 and 352 is an operation button that instructs the TCP 130 to operate in the corresponding direction out of two directions included in the rotation direction around the Z axis.

[0040] Note that the operation instruction unit 32 shown in FIG. 5(b) is represented in a hand coordinate system, which is a Cartesian coordinate system based on the TCP 130, but is not limited to this and may be represented in a coordinate system based on any point.

[0041] Here, the controller 20 executes control to make the robot 10 perform a predetermined operation, such as an assembly task, based on the teaching data. At that time, if the robot 10 interferes with an object around the robot 10, the controller 20 controls the robot 10 to make a protective stop or an emergency stop of the operation of the robot 10. In this embodiment, "interference" means "collision." In other words, the robot 10 interfering with an object means that the robot 10 collides with the object. When the robot 10 interferes with an object, the robot 10 is in contact with the object. In other words, when the robot 10 is made to make a protective stop or an emergency stop, the robot 10 is stopped in a state of contact with the object. Furthermore, the robot 10 being subjected to a load means that the robot 10 is subjected to a load exceeding a predetermined range.

[0042] The control operation of the teaching pendant 30 when the robot 10 is brought to a protective stop or an emergency stop will be described below. FIG. 6 is a flowchart showing a control method for the teaching pendant 30 according to the first embodiment. First, a case where the operation instruction unit 32 shown in FIG. 5(a) is selected will be described. Furthermore, the CPU 301 displays a robot image 10I corresponding to the robot 10 on the 3D model display unit 31, as shown in FIG. 3.

[0043] In the interference check process of step S1, the CPU 301 identifies a portion of the robot 10 that is interfering with a surrounding object. In the first embodiment, the CPU 301 identifies a joint among the joints J1 to J6 of the robot 10 that is receiving a load based on the force values ​​of the force sensors 191 to 196 or the current values ​​of the current sensors 181 to 186. That is, if the force value of the force sensors 191 to 196 or the current value of the current sensors 181 to 186 exceeds a predetermined range, the CPU 301 determines that the corresponding joint is receiving a load. For example, the CPU 301 determines whether the force value of each of the force sensors 191 to 196 exceeds the predetermined range, and identifies the joint corresponding to the force sensor that output a force value that exceeds the predetermined range. Alternatively, for example, the CPU 301 determines whether the current value of each of the current sensors 181 to 186 exceeds the predetermined range, and identifies the joint corresponding to the current sensor that output a current value that exceeds the predetermined range.

[0044] Next, in the direction check process of step S2, the CPU 301 identifies the direction of the load at the joint receiving the load based on the value of the force sensor or current sensor corresponding to the joint. For example, the direction of the load can be identified by the positive or negative sign of the value of the force sensor or current sensor. The CPU 301 then determines the operation direction in which the robot 10 accepts operation based on the direction in which the robot 10 receives the load. Here, the direction in which the robot 10 receives the load from the object, or the direction in which the load received by the robot 10 from the object is maintained or increased, is also referred to as the interference direction. The operation direction is preferably a direction other than the interference direction, i.e., a non-interference direction in which the load received by the robot 10 from the object is reduced. For example, the direction in which the load received by the robot 10 from the object is reduced includes a direction in which the robot 10 is moved in the direction of the load received by the robot 10.

[0045] For example, as shown in FIG. 7, a case will be described where the part of the robot 10 receiving a load is the joint J3, i.e., the link 113. The joint J3 is a rotational joint. The joint J3 can move in two directions D11 and D12, which are opposite rotation directions. The CPU 301 identifies, based on the value of the force sensor 193 or the current sensor 183, the direction in which the load being received decreases, out of the two directions D11 and D12 of the joint J3. If the direction in which the load being received decreases is, for example, direction D12, the CPU 301 determines direction D12 as the operation direction in which an operation is accepted.

[0046] Next, in the UI display processing of step S3, the CPU 301 colors the portion of the robot image I10 corresponding to the portion where the robot 10 is under load in a color different from the other portions. FIG. 8(a) is an explanatory diagram of an example of a display image. For example, if the portion under load is link 113, as shown in FIG. 8(a), the portion 113I of the robot image I10 corresponding to link 113 is highlighted in a color different from the other portions. This allows the user to easily recognize the portion of the robot 10 that is under load due to interference by looking at the robot image I10.

[0047] In the first embodiment, in step S3, it is preferable that the CPU 301 does not accept an operation in a direction other than the operation direction. For example, if the operation direction is direction D12 in FIG. 7, the CPU 301 does not accept an operation in a direction other than direction D12. FIG. 8(b) is an explanatory diagram of an example of a display image. For example, in FIG. 8(b), the CPU 301 does not accept an operation of the operation buttons 321 to 325 and 327 to 332 among the operation buttons 321 to 332 other than the operation button 326 that instructs the robot 10 to move in the operation direction. The operation buttons 321 to 325 and 327 to 332 are operation buttons that instruct the robot 10 to move in a direction other than the operation direction. For example, the CPU 301 grays out the operation buttons 321 to 325 and 327 to 332 so that the operation of the operation buttons 321 to 325 and 327 to 332 other than the operation button 326 is not accepted from the operation instruction unit 32. As a result, the teaching pendant 30 can accept operation of only the operation button 326 among the multiple operation buttons 321 to 332. Then, the user can operate only the operation button 326, and it is possible to prevent the robot 10 from moving in a direction that would interfere with an object.

[0048] When the CPU 301 receives an operation from the user by touching the operation instruction unit 32 that displays the UI image, it transmits an operation command corresponding to the user's operation to the controller 20, and the controller 20 executes control to operate the robot 10 in accordance with the operation command. In this way, the user can operate the robot 10 in a non-interfering direction by looking at the display on the teaching pendant 30. Then, the robot 10 is restored from the state where it interfered with the surrounding object, and can resume the operation of manufacturing the article.

[0049] As described above, according to the first embodiment, when the robot 10 interferes with an object and is brought to a protective stop or an emergency stop, it is possible to prevent the user from operating the robot 10 in an interference direction that would further press against the object with which the robot 10 interfered. Therefore, it is not necessary to operate the robot 10 randomly, nor is it necessary to identify the position of the object with which the robot 10 interfered. This makes it possible to efficiently recover the robot 10 from a state in which the robot 10 is interfering with a surrounding object without placing an overload on the robot 10.

[0050] (Variation 1) In the first embodiment, the CPU 301 identifies the direction in which the load is applied at the joints among the joints J1 to J6 as the direction in which the load is applied to the robot 10 by the processing of steps S1 and S2 in Fig. 6, but the present invention is not limited to this. The CPU 301 may also identify the direction in which the tip of the robot 10 is applied with the load as the direction in which the load is applied to the robot 10. In this case, when the user selects tab TAB2 shown in Fig. 3, the action instruction unit 32 shown in Fig. 5(b) is displayed on the touch panel display 304.

[0051] In Modification 1, instead of steps S1 and S2, the CPU 301 uses a dynamics calculation method to determine force values ​​in six-axis directions acting on the hand of the robot 10 based on the force values ​​of the force sensors 191-196 or the current values ​​of the current sensors 181-186. The six-axis directions are the translation directions of three mutually orthogonal axes and the rotation directions around the three axes in a hand coordinate system based on the hand of the robot 10, and include 12 directions, including forward and reverse directions. If any of the force values ​​in the six-axis directions exceeds a predetermined range, the CPU 301 identifies one of the 12 directions in which the robot 10 is receiving a load. In this way, when the action instruction unit 32 shown in FIG. 5(b) is selected, the CPU 301 may identify the direction in which the hand of the robot 10 is receiving a load and identify an operation direction in which the user's operation is to be accepted. In this case, the operation direction is preferably a direction in which the load acting on the robot 10 is reduced. 5(b), the operation buttons in directions other than the operation direction may be grayed out, similarly to FIG. 8(b), so that operations by the user in directions other than the operation direction are not accepted.

[0052] (Variation 2) In the first embodiment, the robot 10 has been described as having the force sensors 191 to 196 provided at the joints J1 to J6, but this is not limited to this. For example, instead of or in addition to the force sensors 191 to 196, a six-axis force sensor capable of detecting forces in six-axis directions may be provided. The six-axis force sensor is preferably disposed, for example, between the robot arm 101 and the robot hand 102.

[0053] [Second embodiment] A second embodiment will be described. In the second embodiment, the description of the same matters as in the first embodiment will be simplified or omitted. The configuration of the robot system in the second embodiment is the same as that described in the first embodiment.

[0054] In step S3 shown in Fig. 6, the CPU 301 preferably displays information about the operation direction on the touch panel display 304. Fig. 9(a) is an explanatory diagram of an example of a display image according to the second embodiment. For example, as shown in Fig. 9(a), the information about the operation direction may be displayed on the touch panel display 304 as a model image 36 showing a 3D handle model as an operation instruction unit. The model image 36 may be displayed, for example, in a portion of the robot image 10I shown in Fig. 8(a) that corresponds to the TCP 130 defined for the robot 10.

[0055] In this case, the CPU 301 may cause the model image 36 to function as an operation button for instructing the robot 10 to move in the operation direction. That is, the model image 36 in the second embodiment is an operation instruction unit for operating the TCP 130 based on the hand coordinate system. The model image 36 is composed of an X-axis handle 361, a Y-axis handle 362, a Z-axis handle 363, a tX-axis handle 364, a tY-axis handle 365, a tZ-axis handle 366, and a handle center 367. The X-axis handle 361, the Y-axis handle 362, and the Z-axis handle 363 are operation buttons for instructing an operation in the translation direction of the hand coordinate system. Furthermore, the tX-axis handle 334, the tY-axis handle 335, and the tZ-axis handle 336 are operation buttons for instructing an operation in the rotation direction of the hand coordinate system. Each of the handles 361 to 336 is displayed, for example, as an arrow image pointing in the corresponding operation direction.

[0056] In the model image 36, the CPU 301 applies transparency processing to operation buttons that instruct the robot 10 to move in a direction that will cause it to interfere with an object, thereby restricting the acceptance of such operations. For example, as shown in FIG. 9(b), the CPU 301 applies transparency processing to operation buttons other than the Z-axis handle 363, so that only the operation of the Z-axis handle 363 is accepted. In this way, by restricting operation instructions in the interference direction, it becomes possible to operate the robot 10 only in non-interference directions. Note that the operation buttons may be hidden instead of being transparent processing.

[0057] As described above, according to the second embodiment, it is possible to prevent the user from operating the teaching pendant 30 to move the robot 10 in the interference direction. This prevents an overload from being applied to the robot 10, and allows the robot 10 to efficiently recover from the interference state.

[0058] Although the above description has been given using an example in a hand coordinate system, the same may be applied to a joint coordinate system. FIG. 10 is an explanatory diagram of an example of a display image according to the second embodiment. For example, as shown in FIG. 10, the CPU 301 may associate a model image 37, which is an arrow image pointing in the operation direction, with a robot image 10I as information on the operation direction and display it on the touch panel display 304. In the example of FIG. 10, the direction D12 of the joint J3 of the robot 10 shown in FIG. 7 is the operation direction, and the model image 37 indicating information on the operation direction is displayed near the joint image J3I corresponding to the joint J3. In this case, the CPU 301 may cause the model image 37 to function as an operation button for instructing the robot 10 to move in the operation direction. Note that the second embodiment and / or its modified example may be implemented in combination with the first embodiment and / or its modified example.

[0059] [Third embodiment] A third embodiment will be described. Note that in the third embodiment, descriptions of matters similar to those in the first and second embodiments will be simplified or omitted. The configuration of the robot system in the third embodiment is the same as that described in the first embodiment.

[0060] 11 is a flowchart showing a method for controlling the teaching pendant 30 according to the third embodiment. The processes in steps S11 and S12 are the same as the processes in steps S1 and S2 shown in FIG.

[0061] In the load check process of step S13, if there are multiple directions in which the robot 10 is under load in step S12, the CPU 301 selects the maximum load from the multiple loads found and identifies the direction of the maximum load. The CPU 301 determines the operation direction based on the direction in which the robot 10 is under the maximum load. In other words, the CPU 301 determines the direction in which the maximum load being applied to the robot 10 decreases as the operation direction.

[0062] The process of step S14 is substantially the same as the process of step S3. In the third embodiment, the CPU 301 displays information on the determined operation direction of the robot 10 on the touch panel display 304 in step S14.

[0063] Fig. 12 is an explanatory diagram of an example of a display image according to the third embodiment. Fig. 12 shows a UI image 40I displayed on the touch panel display 304, and a robot image 10I similar to that of Fig. 3 is displayed on the touch panel display 304 as part of the UI image 40I. The UI image 40I includes an operation button 41 and an arrow image 42 indicating the operation direction. When the user touches, i.e., operates, the operation button 41, the actual robot 10 can be moved in the operation direction corresponding to the arrow image 42.

[0064] It is preferable that the CPU 301 displays, as an animation, the movement of the robot image 10I in the operation direction corresponding to the arrow image 42. That is, the CPU 301 simulates the movement based on the 3D model data corresponding to the robot 10, and displays the result as an animation on the touch panel display 304. This allows the user to easily check, as an animation, the movement of the robot image 10I in the operation direction indicated by the arrow image 42 before executing the movement of the robot 10.

[0065] As described above, according to the third embodiment, it is possible to prevent the user from operating the teaching pendant 30 to move the robot 10 in an interfering direction. This prevents an overload from being applied to the robot 10, and allows the robot 10 to efficiently recover from an interfering state. Note that the third embodiment and / or its modified examples may be implemented in combination with the various embodiments and / or its modified examples described above.

[0066] The present disclosure is not limited to the above-described embodiments, and many modifications of the embodiments are possible within the technical concept of the present disclosure. Furthermore, the effects described in the embodiments are merely a list of the most preferable effects resulting from the embodiments of the present disclosure, and the effects of the embodiments of the present disclosure are not limited to those described in the embodiments.

[0067] In the above-described embodiment, the robot arm 101 is described as a vertically articulated robot arm, but the present disclosure is not limited to this. For example, the robot arm 101 may be various robot arms such as a horizontally articulated robot arm, a parallel link robot arm, or an orthogonal robot. The present disclosure is also applicable to machines that can automatically perform operations such as extension and contraction, bending and stretching, vertical movement, horizontal movement, or rotation, or a combination of these operations, based on information stored in a storage device provided in a control device.

[0068] (Other Examples) The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.

[0069] The disclosure of the above embodiments includes the following sections.

[0070] (Section 1) An operating device for operating a robot, a processing unit that determines an operation direction in which the robot will accept an operation based on a direction in which the robot receives a load from the object when the robot interferes with the object, An operating device characterized by:

[0071] (Section 2) the processing unit does not accept an operation in a direction other than the operation direction; Item 1. An operating device according to item 1.

[0072] (Section 3) the operation direction is a direction in which the load applied to the robot decreases; 3. The operating device according to item 1 or 2, characterized in that:

[0073] (Section 4) the processing unit identifies a direction in which a load is being applied to a joint among a plurality of joints of the robot. 4. The operating device according to any one of items 1 to 3, characterized in that:

[0074] (Section 5) the processing unit identifies a direction in which the load is applied to the end effector of the robot; 4. The operating device according to any one of items 1 to 3, characterized in that:

[0075] (Section 6) The processing unit determines the operation direction based on a direction in which the robot is subjected to a maximum load among directions in which the robot is subjected to a load. 6. The operating device according to any one of items 1 to 5, characterized in that:

[0076] (Section 7) the processing unit displays information about the operation direction on a display unit. 7. The operating device according to any one of items 1 to 6, characterized in that:

[0077] (Section 8) The information on the operation direction is a model image indicating the operation direction. Item 8. The operating device according to item 7, characterized in that:

[0078] (Section 9) the model image is an operation button for instructing the robot to move in the operation direction, Item 9. The operating device according to item 8, characterized in that:

[0079] (Section 10) The processing unit displaying a plurality of operation buttons on a display unit for instructing the robot to move in different directions; When the robot interferes, the operation of an operation button among the plurality of operation buttons that instructs the robot to move in a direction other than the operation direction is not accepted. 9. The operating device according to any one of items 1 to 8, characterized in that:

[0080] (Section 11) the processing unit displays a robot image corresponding to the robot on a display unit. 11. The operating device according to any one of items 1 to 10, characterized in that:

[0081] (Section 12) the processing unit colors a portion of the robot image corresponding to a portion where the robot is receiving a load in a color different from other portions of the robot image. Item 12. An operating device according to item 11, characterized in that:

[0082] (Section 13) the processing unit displays an animation of the movement of the robot image in the operation direction. 13. The operating device according to item 11 or 12, characterized in that

[0083] (Section 14) An operating device for operating a robot, a processing unit that displays, on a display unit, an operation direction in which the robot should accept an operation, based on a direction in which the robot receives a load from the object when the robot interferes with the object; An operating device characterized by:

[0084] (Section 15) An operating device according to any one of items 1 to 14, The robot. A robot system characterized by:

[0085] (Section 16) A control method for an operating device that operates a robot, comprising: When the robot interferes with an object, an operation direction in which the robot accepts an operation is determined based on a direction in which the robot receives a load from the object. A control method comprising:

[0086] (Section 17) A control method for an operating device that operates a robot, comprising: When the robot interferes with an object, an operation direction in which the robot should accept an operation is displayed on a display unit based on a direction in which the robot receives a load from the object. A control method comprising:

[0087] (Section 18) Item 16. A method for controlling a robot system, which controls the robot of the robot system according to item 15 in accordance with instructions from the operating device.

[0088] (Section 19) Item 16. A method for manufacturing an article using the robot system according to item 15.

[0089] (Section 20) Item 18. A control program for causing a computer to execute the control method according to Item 16 or 17.

[0090] (Section 21) Item 21. A computer-readable recording medium having the control program according to item 20 recorded thereon. [Explanation of symbols]

[0091] 10... robot, 30... teaching pendant (operation device), 301... CPU (processing unit), 304... touch panel display (display unit), 1000... robot system

Claims

1. An operating device for operating a robot, The processing unit displaying an image for specifying a movement direction of the robot on a display unit; displaying, on the display unit, a display form of an image corresponding to a first direction in which movement of the robot is permitted, different from a display form of an image corresponding to a second direction in which movement of the robot is not permitted; outputting a command to move the robot in response to a user's instruction on the display unit; An operating device characterized by:

2. The processing unit determines the second direction based on a load being sustained or increased by the object and being received by the robot.

2. The operating device according to claim 1 .

3. the processing unit does not accept an operation in a direction other than the first direction.

2. The operating device according to claim 1 .

4. the first direction is a direction in which a load applied to the robot decreases; 2. The operating device according to claim 1 .

5. the processing unit identifies a direction in which the robot is receiving a load at a joint receiving a load among a plurality of joints of the robot, 2. The operating device according to claim 1 .

6. The processing unit identifies a direction in which the robot is receiving a load at an end effector of the robot.

2. The operating device according to claim 1 .

7. The processing unit determines the first direction based on a direction in which the robot receives a maximum load among directions in which the robot receives a load.

2. The operating device according to claim 1 .

8. the image corresponding to the first direction and the image corresponding to the second direction are operation buttons; 2. The operating device according to claim 1 .

9. The processing unit When the robot interferes, the operation of the operation button that instructs the robot to move in a direction other than the first direction is not accepted.

9. The operating device according to claim 8.

10. the processing unit displays a robot image corresponding to the robot on a display unit.

2. The operating device according to claim 1 .

11. the processing unit colors a portion of the robot image corresponding to a portion where the robot is receiving a load in a color different from other portions of the robot image. The operating device according to claim 10 .

12. the processing unit displays the movement of the robot image in the first direction as an animation. The operating device according to claim 10 .

13. The processing unit causes the image corresponding to the second direction to be hidden on the display unit.

2. The operating device according to claim 1 .

14. The processing unit displays an image corresponding to the second direction transparently on the display unit.

2. The operating device according to claim 1 .

15. The processing unit displays an image corresponding to the second direction on the display unit in a grayed-out manner.

2. The operating device according to claim 1 .

16. The processing unit displays an image corresponding to the first direction and an image corresponding to the second direction on the display unit as a 3D handle model.

2. The operating device according to claim 1 .

17. The processing unit displays on the display unit an image corresponding to the first direction and an image corresponding to the second direction as a user interface image that can be operated by a user to perform a jog operation.

2. The operating device according to claim 1 .

18. The processing unit displays an image corresponding to the first direction on the display unit with an arrow near an image corresponding to the robot. The operating device according to claim 10 .

19. The processing unit, wherein the first direction is a direction in which the load received by the robot from the object when the robot is in contact with the object decreases, and the second direction is a direction in which the load received by the robot from the object when the robot is in contact with the object is maintained or increased.

2. The operating device according to claim 1 .

20. The robot is provided with a detection unit that detects contact with an object, the processing unit identifies a direction of a load that the robot receives from an object based on a detection result of the detection unit; determining the first direction and the second direction based on the determined direction of the load; 2. The operating device according to claim 1 .

21. The processing unit: The operation buttons are displayed on the display unit in correspondence with the respective moving directions of the predetermined portion of the robot; instructing the predetermined part to move in a direction corresponding to one or more operation buttons selected based on a selection of one or more of the operation buttons; displaying a first operation button corresponding to the first direction and a second operation button corresponding to the second direction; the first operation button includes a first image displayed in a first display form, and the second operation button includes a second image displayed in a second display form different from the first display form.

9. The operating device according to claim 8.

22. An operating device according to any one of claims 1 to 21; The robot. A robot system characterized by:

23. A control method for an operating device that operates a robot, comprising: displaying an image for specifying a movement direction of the robot on a display unit; displaying, on the display unit, a display form of an image corresponding to a first direction in which movement of the robot is permitted, different from a display form of an image corresponding to a second direction in which movement of the robot is not permitted; outputting a command to move the robot in response to a user's instruction on the display unit; A control method comprising:

24. A control method for a robot system, comprising: controlling the robot of the robot system according to claim 22 in accordance with an instruction from the operating device.

25. A method for manufacturing an article, comprising the steps of: manufacturing an article using the robot system according to claim 22;

26. A control program for causing a computer to execute the control method according to claim 23.

27. A computer-readable recording medium on which the control program according to claim 26 is recorded.