WO2024085148A1 - ロボットシステム - Google Patents

ロボットシステム Download PDF

Info

Publication number
WO2024085148A1
WO2024085148A1 PCT/JP2023/037564 JP2023037564W WO2024085148A1 WO 2024085148 A1 WO2024085148 A1 WO 2024085148A1 JP 2023037564 W JP2023037564 W JP 2023037564W WO 2024085148 A1 WO2024085148 A1 WO 2024085148A1
Authority
WO
WIPO (PCT)
Prior art keywords
control unit
stop
robot
unit
abnormality
Prior art date
Application number
PCT/JP2023/037564
Other languages
English (en)
French (fr)
Inventor
毅 田頭
雅夫 荒本
Original Assignee
川崎重工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 川崎重工業株式会社 filed Critical 川崎重工業株式会社
Publication of WO2024085148A1 publication Critical patent/WO2024085148A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices

Definitions

  • This disclosure relates to a robot system, and in particular to a robot system that includes a control unit that controls the operation of the robot.
  • Patent No. 3114579 discloses an industrial robot control device.
  • This industrial robot control device is equipped with a main CPU unit and a servo CPU unit.
  • the main CPU unit outputs a speed command signal for the robot.
  • the servo CPU unit operates the servo motors of each axis of the robot at the speed commanded by the speed command signal from the main CPU unit.
  • a comparison means is provided in each of the main CPU unit and the servo CPU unit.
  • the comparison means compares the actual speed calculated based on a signal from an encoder that acquires the amount of rotation of the servo motor of each axis of the robot with the command speed commanded by the main CPU unit. In each of the main CPU unit and the servo CPU unit, an abnormality occurrence process is executed when the comparison result exceeds an allowable value.
  • This disclosure has been made to solve the problems described above, and one objective of this disclosure is to provide a robot system that is capable of accurately detecting abnormalities in the robot's operation when the robot's operation is controlled using two different control units.
  • a robot system includes a robot, a drive unit that serves as a drive source for operating the robot, a first control unit that controls the operation of the robot, and a second control unit that controls the power supplied to the drive unit based on a command from the first control unit, and each of the first control unit and the second control unit monitors the other's operating state and detects abnormalities in the operation of the robot, and outputs a stop command to stop the operation of the drive unit when an abnormality is detected that is an abnormality in at least one of the operating state and the operation of the robot.
  • the first control unit and the second control unit each monitor the other's operating state and detect abnormalities in the robot's operation, and when an abnormality in at least one of the operating state and the robot's operation is detected, a stop command is output to stop the operation of the drive unit.
  • the first control unit and the second control unit each monitor the other's operating state, and therefore abnormalities occurring in the first control unit and the second control unit can be detected by each other. Therefore, abnormalities in the robot's operation can be detected by each of the first control unit and the second control unit, which have been confirmed to be free of abnormalities in each other.
  • abnormalities in the robot's operation can be accurately detected.
  • FIG. 1 is a schematic diagram illustrating an overall configuration of a robot system according to an embodiment.
  • 1 is a block diagram showing an overall configuration of a robot system according to an embodiment.
  • 2 is a diagram for explaining the arrangement of a first control unit, a second control unit, and a stop control unit in a robot controller.
  • FIG. FIG. 2 is a block diagram for explaining configurations of a first control unit, a second control unit, and a stop control unit in the robot controller.
  • FIG. 11 is a flowchart for explaining a control method of the robot system when an operational abnormality is detected.
  • FIG. 1 (Overall configuration of the robot system) The configuration of a robot system 100 according to an embodiment will be described with reference to FIGS. 1 to 4.
  • FIG. 1 (Overall configuration of the robot system) The configuration of a robot system 100 according to an embodiment will be described with reference to FIGS. 1 to 4.
  • FIG. 1 (Overall configuration of the robot system) The configuration of a robot system 100 according to an embodiment will be described with reference to FIGS. 1 to 4.
  • the robot system 100 includes a robot 10 and a robot controller 20.
  • the robot system 100 performs, for example, a task of transporting a workpiece W.
  • the robot 10 also has a robot arm 11.
  • An end effector 15 that performs the task of transporting is attached to the robot arm 11.
  • the end effector 15 is, for example, a robot hand that grasps the workpiece W.
  • the robot 10 is connected to the robot controller 20, and operates under the control of the robot controller 20.
  • the robot 10 is, for example, a six-axis vertical articulated robot.
  • the robot controller 20 has a first control unit 21, a second control unit 22, a stop control unit 23, a drive circuit unit 24, an input/output module 25, and a communication module 26.
  • the first control unit 21, the second control unit 22, the stop control unit 23, the drive circuit unit 24, the input/output module 25, and the communication module 26 are arranged inside a housing 20a of the robot controller 20.
  • the housing 20a has a rectangular parallelepiped shape.
  • the robot controller 20 is also connected to an external stop switch 101 and a PLC 102 (Programmable Logic Controller).
  • a driving unit 12 is disposed on the robot arm 11.
  • the driving unit 12 is a driving source for operating the robot 10.
  • the driving unit 12 operates the robot arm 11.
  • the robot arm 11 rotates and moves due to the driving unit 12.
  • the driving unit 12 includes a servo motor 13 and an encoder 14.
  • the servo motor 13 rotates when power is supplied.
  • the rotation shaft of the servo motor 13 rotates, for example, by three-phase AC power.
  • the encoder 14 detects the rotation angle of the servo motor 13.
  • the encoder 14 then outputs a detection value indicating the detected rotation angle of the servo motor 13 to the first control unit 21 and the second control unit 22. Specifically, a signal indicating the detection value from the encoder 14 is input to the second control unit 22.
  • a signal indicating the detection value is input to the first control unit 21 via the second control unit 22.
  • the robot arm 11 of the robot 10 two arm portions extending linearly are connected to each other via a joint portion.
  • An end effector 15 is attached to the end of the arm at the tip side via a separate joint.
  • the robot arm 11 is connected to a base.
  • a separate joint is also arranged on the base side of the robot arm 11.
  • a drive unit 12 is arranged at each of the joints. Specifically, six drive units 12 are arranged in the robot 10, which is a six-axis vertical articulated robot.
  • the encoder 14 is an example of a rotation angle detection unit.
  • the first control unit 21 controls the operation of the robot 10.
  • the first control unit 21 is a main control unit that controls the overall operation of the robot 10.
  • the second control unit 22 controls the power supplied to the drive unit 12 based on commands from the first control unit 21.
  • the second control unit 22 is a servo control unit that controls the operation of the servo motor 13.
  • the stop control unit 23 performs control to stop the operation of the drive unit 12.
  • the stop control unit 23 controls the stop of the operation of the robot 10 as a third party based on signals from the first control unit 21 and the second control unit 22, separately from the first control unit 21 and the second control unit 22.
  • the first control unit 21, the second control unit 22, and the stop control unit 23 perform control using programs and parameters stored in the storage unit 31a described later. Details of the control by the first control unit 21, the second control unit 22, and the stop control unit 23 will be described later.
  • the first control unit 21, the second control unit 22, and the stop control unit 23 are each arranged on a separate board. Specifically, the first control unit 21 is arranged on the first board 31. The second control unit 22 is arranged on the second board 32. And the stop control unit 23 is arranged on the third board 33. The first board 31 is connected to each of the second board 32 and the third board 33.
  • the first control unit 21 includes, for example, a CPU (Central Processing Unit).
  • the second control unit 22 includes, for example, a CPU.
  • each of the first board 31 and the second board 32 includes a power supply IC (Integrated Circuit) (not shown) and a storage device such as a RAM (Random Access Memory).
  • the first board 31 also includes a storage unit 31a.
  • the storage unit 31a stores programs and parameters executed by the first control unit 21 and the second control unit 22.
  • the storage unit 31a includes, for example, a flash memory such as CFast.
  • the stop control unit 23 has a first stop control unit 23a and a second stop control unit 23b separately.
  • Each of the first stop control unit 23a and the second stop control unit 23b includes, for example, a CPLD (Complex Programmable Logic Device).
  • the first control unit 21 and the second control unit 22 transmit and receive signals to each other.
  • the first control unit 21 and the second control unit 22 transmit and receive signals, for example, by serial communication.
  • the first control unit 21 also transmits and receives signals to each of the first stop control unit 23a and the second stop control unit 23b of the stop control unit 23.
  • the second control unit 22 transmits and receives signals to each of the first stop control unit 23a and the second stop control unit 23b of the stop control unit 23 via the first control unit 21.
  • the first control unit 21 transmits and receives signals to each of the first stop control unit 23a and the second stop control unit 23b by parallel communication via a 16-bit bus.
  • the first control unit 21 converts the signal acquired from the second control unit 22 by serial communication into a 16-bit bus, so that the second control unit 22 transmits and receives signals to each of the first stop control unit 23a and the second stop control unit 23b via the first control unit 21.
  • the first board 31 on which the first control unit 21 is arranged is arranged so as to overlap the second board 32 on which the second control unit 22 is arranged in the thickness direction of the board.
  • the third board 33 on which the stop control unit 23 is arranged is arranged so as to overlap the second board 32 in the thickness direction of the board, and is arranged adjacent to the first board 31.
  • the drive circuit unit 24 supplies power to the drive unit 12.
  • the drive circuit unit 24 includes an inverter circuit that supplies AC power to the servo motor 13 of the drive unit 12.
  • the drive circuit unit 24 has a plurality of switching elements Sw. The switching operation of the plurality of switching elements Sw is controlled by the control of the second control unit 22.
  • the upper arm side switching element Sw and the lower arm side switching element Sw which are connected in series to each other, are connected in parallel.
  • the plurality of switching elements Sw include three upper arm side switching elements Sw and three lower arm side switching elements Sw for each drive unit 12 so as to supply three-phase AC power to the servo motor 13.
  • the drive circuit unit 24 has a plurality of inverter circuits corresponding to each of the plurality of drive units 12 so as to supply current to each of the plurality of drive units 12.
  • the input/output module 25 is arranged on a board separate from the first board 31, the second board 32, and the third board 33.
  • the input/output module 25 receives signals from outside the robot controller 20.
  • a stop switch 101 outside the robot controller 20 is connected to the input/output module 25.
  • the input/output module 25 has a connection terminal (not shown) that is connected to the outside of the robot controller 20.
  • the input/output module 25 also includes multiple boards. In the input/output module 25, multiple inputs and outputs are connected on one board.
  • the input/output module 25 is also connected to the second board 32 on which the second control unit 22 is arranged.
  • a signal from the input/output module 25 is input to the second board 32, whereby it is acquired by the second control unit 22 and output to the first control unit 21 via the second control unit 22.
  • the signal from the input/output module 25 is acquired by each of the first control unit 21 and the second control unit 22.
  • the input/output module 25 also has a first signal generating unit 25a and a second signal generating unit 25b.
  • Each of the first signal generating unit 25a and the second signal generating unit 25b includes, for example, an FPGA (Field Programmable Gate Array).
  • Each of the first signal generating unit 25a and the second signal generating unit 25b outputs a signal indicating the received input signal to the second control unit 22.
  • the first signal generating unit 25a and the second signal generating unit 25b each perform similar control processing. That is, the input/output module 25 has a redundant circuit configuration for a safety function. Furthermore, the input/output module 25 has a diagnostic circuit (not shown) for a safety function.
  • the communication module 26 is disposed on the first board 31.
  • the communication module 26 is connected to an external device via a network.
  • the communication module 26 communicates with the PLC 102.
  • the communication module 26 transmits and receives signals to and from the PLC 102 via a network such as a LAN (Local Area Network).
  • the robot controller 20 is connected to the PLC 102 via the communication module 26 by a safety communication network.
  • the communication module 26 has a connection terminal that is connected to an external device via the network.
  • the communication module 26 also outputs a signal input from an external device such as the PLC 102 via the network to the first control unit 21.
  • the signal from the communication module 26 is acquired by the first control unit 21 and output to the second control unit 22 via the first control unit 21, so that it is acquired by each of the first control unit 21 and the second control unit 22.
  • the stop switch 101 accepts an input operation by an operator. Specifically, the stop switch 101 accepts a stop operation by an operator to stop the operation of the robot 10. Based on the stop operation by the operator, the stop switch 101 outputs a stop signal to the input/output module 25 to stop the operation of the drive unit 12 in order to stop the operation of the robot 10.
  • the PLC 102 is a safety controller that communicates with the robot controller 20. Based on signals from detection devices such as a laser scanner and a light curtain, the PLC 102 outputs a stop signal to the communication module 26 via a network to stop the operation of the drive unit 12 in order to stop the operation of the robot 10.
  • the first control unit 21 controls the operation of the robot 10, for example, based on a signal from a higher-level control device (not shown).
  • the first control unit 21 outputs a command to the second control unit 22 for controlling the operation of the drive unit 12 in order to operate the robot arm 11 including the end effector 15.
  • the first control unit 21 and the second control unit 22 control the operation of the robot 10, thereby controlling the transport operation of the workpiece W by the robot 10.
  • the first control unit 21 acquires a signal indicating the position of the workpiece W from a higher-level control device (not shown). Based on the acquired signal, the first control unit 21 calculates the rotation speed of the servo motor 13 in the drive unit 12 for moving the end effector 15 to the position of the workpiece W. The first control unit 21 then outputs a speed command indicating the calculated rotation speed to the second control unit 22 as a command for controlling the operation of the drive unit 12. Based on the speed command acquired from the first control unit 21, the second control unit 22 calculates a specific current value of the current input to the drive unit 12.
  • the second control unit 22 then controls the switching operation of the switching element Sw by controlling a gate signal input to the gate terminal of the switching element Sw of the drive circuit unit 24 so that a current of the calculated current value is supplied to the drive unit 12.
  • the second control unit 22 controls the current supplied to each of the multiple drive units 12 arranged on the robot arm 11 of the robot 10 based on the speed command.
  • the first control unit 21, the second control unit 22, and the stop control unit 23 perform control to stop the operation of the robot 10 when an abnormality is detected in at least one of the operation states of the first control unit 21 and the second control unit 22 and the operation of the robot 10.
  • the first control unit 21 and the second control unit 22 independently monitor each other's operation states and detect abnormalities in the operation of the robot 10. Then, each of the first control unit 21 and the second control unit 22 separately outputs a stop command to the stop control unit 23 to stop the operation of the drive unit 12 when an abnormality is detected in at least one of the operation states of the first control unit 21 and the second control unit 22 and the operation of the robot 10.
  • the stop control unit 23 stops the operation of the drive unit 12 based on the stop command from the first control unit 21 and the second control unit 22.
  • the first control unit 21 and the second control unit 22 each obtain a common input and execute a common calculation process to detect an operational abnormality.
  • the first control unit 21 and the second control unit 22 each output a similar stop command to the first stop control unit 23a and the second stop control unit 23b.
  • the first control unit 21 and the second control unit 22 are each made redundant to detect an operational abnormality.
  • the stop control unit 23 stops the operation of the drive unit 12.
  • Each of the first control unit 21 and the second control unit 22 detects the motion range and motion speed of the robot 10 as monitoring targets for detecting motion abnormalities. Then, each of the first control unit 21 and the second control unit 22 outputs a stop command when detecting that the robot 10 is moving beyond a preset parameter range. In this embodiment, each of the first control unit 21 and the second control unit 22 detects motion abnormalities based on the position of the robot arm 11, the moving speed of the robot arm 11, the orientation of the end effector 15, and a determination of whether the robot arm 11 is stopped.
  • each of the first control unit 21 and the second control unit 22 detects the position of the robot arm 11, the movement speed of the robot arm 11, and the orientation of the end effector 15 based on the detection value from the encoder 14. Then, each of the first control unit 21 and the second control unit 22 detects an abnormality in the operation of the robot 10 when the detected position of the robot arm 11 exceeds an operating range previously set as a parameter. Also, each of the first control unit 21 and the second control unit 22 detects an abnormality in the operation of the robot 10 when the detected movement speed of the robot arm 11 is greater than a threshold speed previously set as a parameter.
  • each of the first control unit 21 and the second control unit 22 detects an abnormality in the operation of the robot 10 when the detected orientation of the end effector 15 exceeds a range previously set as a parameter. Then, each of the first control unit 21 and the second control unit 22 detects an abnormality in the operation of the robot 10 when a command to stop the operation of the robot arm 11 is output and it is determined based on the detection value from the encoder 14 that the robot arm 11 is not stopped. When any of the above-mentioned abnormalities in the operation of the robot 10 are detected, each of the first control unit 21 and the second control unit 22 outputs a stop command, determining that an abnormal operation has been detected in the robot system 100.
  • each of the first control unit 21 and the second control unit 22 separately detects operational abnormalities by comparing a detection value indicating the rotation angle of the servo motor 13 detected by the encoder 14 with a command value based on a command for controlling the operation of the drive unit 12 output from the first control unit 21 to the second control unit 22.
  • the first control unit 21 acquires the ideal detection value of the encoder 14 corresponding to the command for controlling the operation of the drive unit 12 output to the second control unit 22 as a command value based on the command. Specifically, the first control unit 21 calculates the detection value of the encoder 14 when the servo motor 13 rotates at the rotation speed indicated by the speed command based on the speed command output to the second control unit 22 as a command value based on the command. That is, the first control unit 21 acquires the ideal detection value of the encoder 14 acquired when the operation of the robot 10 is normal as a command value based on the command.
  • the first control unit 21 acquires the detection value at the rotation speed of the servo motor 13 calculated to output the speed command as a command value of the rotation speed based on the command. Then, the first control unit 21 outputs the acquired command value to the second control unit 22.
  • Each of the first control unit 21 and the second control unit 22 calculates the difference between the command value and the detection value by comparing the acquired command value with the detection value from the encoder 14. Then, each of the first control unit 21 and the second control unit 22 detects an operational abnormality when the calculated difference is greater than a predetermined threshold value that is set in advance as a parameter.
  • the first control unit 21 and the second control unit 22 monitor each other's operating state. If an abnormality in the operating state is detected as a result of mutually monitoring the operating state, each of the first control unit 21 and the second control unit 22 outputs a stop command, determining that an abnormality in operation has been detected.
  • each of the first control unit 21 and the second control unit 22 calculates both the position of the robot arm 11 and the moving speed of the robot arm 11 based on the detection value from the encoder 14. Then, each of the first control unit 21 and the second control unit 22 acquires the calculation result of the other by outputting both the calculated calculation results of the position of the robot arm 11 and the moving speed of the robot arm 11 to each other. That is, the first control unit 21 acquires the calculation result by the second control unit 22, and the second control unit 22 acquires the calculation result by the first control unit 21. Then, each of the first control unit 21 and the second control unit 22 monitors the operation state of the other by comparing its own calculation result with the acquired calculation result of the other. Each of the first control unit 21 and the second control unit 22 outputs a stop command when an operation abnormality is detected based on the result of comparing the calculation results.
  • each of the first control unit 21 and the second control unit 22 calculates the spatial position or angle and the moving speed of the flange portion to which the end effector 15 of the robot arm 11 is attached as the position of the robot arm 11 based on the detection value from the encoder 14.
  • Each of the first control unit 21 and the second control unit 22 acquires the difference between the calculation results as a comparison result.
  • Each of the first control unit 21 and the second control unit 22 determines that an operation abnormality has occurred when the acquired difference is greater than a predetermined threshold value that is a preset parameter.
  • Each of the first control unit 21 and the second control unit 22 outputs a stop command, assuming that an operation abnormality has been detected, when it is determined that an operation abnormality has occurred based on the result of comparing the calculation results.
  • each of the first control unit 21 and the second control unit 22 outputs a stop command based on a stop signal from the outside.
  • the input/output module 25 receives a stop signal for stopping the operation of the drive unit 12.
  • each of the first signal generating unit 25a and the second signal generating unit 25b of the input/output module 25 generates an abnormality signal indicating that an abnormality has been detected based on the stop signal received based on the stop operation on the stop switch 101.
  • each of the first signal generating unit 25a and the second signal generating unit 25b outputs the generated abnormality signal to each of the first control unit 21 and the second control unit 22.
  • first control unit 21 and the second control unit 22 acquire the abnormality signal from the first signal generating unit 25a and the second signal generating unit 25b, they output a stop command, assuming that an operation abnormality has been detected.
  • a plurality of devices or equipment may be connected to the input/output module 25.
  • each of the first control unit 21 and the second control unit 22 outputs a stop command when a stop signal is acquired via the communication module 26. That is, each of the first control unit 21 and the second control unit 22 outputs a stop command when a stop signal is acquired via the communication module 26 arranged separately from the input/output module 25.
  • the communication module 26 receives a stop signal from the PLC 102, which is an external device, via a network.
  • Each of the first control unit 21 and the second control unit 22 outputs a stop command based on the stop signal from the PLC 102 acquired via the communication module 26, assuming that an operational abnormality has been detected.
  • the CPU included in each of the first control unit 21 and the second control unit 22 has multiple cores. In each of the first control unit 21 and the second control unit 22, one of the multiple cores of the CPU performs processing to detect operational abnormalities. The remaining core, which is different from the core that performs processing to detect operational abnormalities, controls the transport work by the robot 10, etc.
  • each of the first control unit 21 and the second control unit 22 outputs a stop command to each of the first stop control unit 23a and the second stop control unit 23b of the stop control unit 23. Then, each of the first stop control unit 23a and the second stop control unit 23b stops the operation of the drive circuit unit 24 that supplies power to the drive unit 12 based on the stop commands from the first control unit 21 and the second control unit 22.
  • the first stop control unit 23a and the second stop control unit 23b each stop the gate signal input to each gate terminal of the switching element Sw of the drive circuit unit 24 in order to stop the drive circuit unit 24.
  • the first stop control unit 23a outputs a STO1 signal (Safety Torque Off 1 signal) that stops the operation of the switching element Sw on the upper arm side.
  • the second stop control unit 23b outputs a STO2 signal (Safety Torque Off 2 signal) that stops the operation of the switching element Sw on the lower arm side.
  • STO1 signal Safety Torque Off 1 signal
  • STO2 signal Safety Torque Off 2 signal
  • the stop control unit 23 is also made redundant by the first stop control unit 23a and the second stop control unit 23b.
  • each of the first stop control unit 23a and the second stop control unit 23b stops the operation of the drive unit 12 when at least one of an abnormality in the operating state of the first control unit 21 and the second control unit 22 and an abnormality in the operation of the robot 10 is detected.
  • each of the first stop control unit 23a and the second stop control unit 23b monitors a signal from the first control unit 21, and stops the operation of the drive unit 12 when an abnormality occurs in the signal from the first control unit 21.
  • each of the first stop control unit 23a and the second stop control unit 23b monitors a signal from the first control unit 21 by a watchdog timer.
  • Each of the first stop control unit 23a and the second stop control unit 23b stops the operation of the drive unit 12 when a normal signal is not input from the first control unit 21 at a predetermined timing, assuming that an abnormality has occurred in the first control unit 21.
  • the first stop control unit 23a and the second stop control unit 23b monitor each other's operating status by transmitting and receiving signals to each other. Specifically, the first stop control unit 23a and the second stop control unit 23b output the STO1 signal and the STO2 signal to each other. That is, the STO1 signal from the first stop control unit 23a is acquired by the second stop control unit 23b, and the STO2 signal from the second stop control unit 23b is acquired by the first stop control unit 23a. Then, for example, if an abnormality is detected, such as the STO1 signal or the STO2 signal being stuck in a high state, each of the first stop control unit 23a and the second stop control unit 23b stops the operation of the drive unit 12, assuming that an operational abnormality has been detected.
  • an abnormality such as the STO1 signal or the STO2 signal being stuck in a high state
  • each of the first stop control unit 23a and the second stop control unit 23b of the stop control unit 23 stops the operation of the drive unit 12 when an operation signal instructing stop is received from a stop switch (not shown) arranged on the outer surface of the housing 20a of the robot controller 20, or when an abnormality in the temperature inside the housing 20a is detected, etc., due to the detection of an operational abnormality.
  • each of the first control unit 21 and the second control unit 22 detects an operation abnormality that is an abnormality in at least one of the operation states of the first control unit 21 and the second control unit 22 and the operation of the robot 10. Specifically, based on set parameters previously stored in the storage unit 31a and detection values from the encoders 14 of each of the multiple drive units 12, a control process of monitoring the operation range and operation speed of the robot 10, a control process of comparing the detection values with command values based on commands for controlling the operation of the drive units 12, and a control process of mutual monitoring of the operation states of the first control unit 21 and the second control unit 22 are performed, thereby detecting the operation abnormality. In addition, an operation abnormality is detected based on inputs from the input/output module 25 and the communication module 26.
  • step S2 the first control unit 21 and the second control unit 22 each output a stop command to the stop control unit 23. Specifically, the first control unit 21 and the second control unit 22 each output a similar stop command to the first stop control unit 23a and the second stop control unit 23b of the stop control unit 23.
  • step S3 the first stop control unit 23a and the second stop control unit 23b each output a STO1 signal and a STO2 signal to the drive circuit unit 24, thereby stopping the operation of the drive unit 12.
  • step S1 to step S3 are repeatedly executed at a predetermined sampling period while the robot 10 is performing work.
  • the first control unit 21 and the second control unit 22 monitor each other's operating state and detect abnormalities in the operation of the robot 10, and output a stop command to stop the operation of the drive unit 12 when an abnormality is detected that is an abnormality in at least one of the operating state and the operation of the robot 10.
  • the first control unit 21 and the second control unit 22 can detect abnormalities that have occurred in each of the first control unit 21 and the second control unit 22 by monitoring each other's operating state.
  • abnormalities in the operation of the robot 10 can be detected by each of the first control unit 21 and the second control unit 22, which have been confirmed to be free of abnormalities in each other.
  • abnormalities in the operation of the robot 10 can be accurately detected.
  • the robot system 100 includes a stop control unit 23 that is provided separately from the first control unit 21 and the second control unit 22 and controls the operation of the drive unit 12 to stop.
  • each of the first control unit 21 and the second control unit 22 outputs a stop command to the stop control unit 23 separately.
  • the robot system 100 includes a drive circuit unit 24 that supplies power to the drive unit 12.
  • the stop control unit 23 includes a first stop control unit 23a and a second stop control unit 23b.
  • each of the first control unit 21 and the second control unit 22 outputs a stop command to each of the first stop control unit 23a and the second stop control unit 23b, and each of the first stop control unit 23a and the second stop control unit 23b stops the operation of the drive circuit unit 24 based on the stop command.
  • the stop control unit 23 is made redundant by the first stop control unit 23a and the second stop control unit 23b, even if an abnormality occurs in either one of the first stop control unit 23a and the second stop control unit 23b of the stop control unit 23, the operation of the drive unit 12 can be stopped by stopping the operation of the drive circuit unit 24 through control by the other unit that is not abnormal. Therefore, the operation of the drive unit 12 can be stopped more reliably when an operation abnormality occurs.
  • the first stop control unit 23a and the second stop control unit 23b each monitor the other's operating state by transmitting and receiving signals to each other. This allows an abnormality occurring in either the first stop control unit 23a or the second stop control unit 23b to be detected by the other, making it possible to prevent the robot 10 from operating while an abnormality exists in either the first stop control unit 23a or the second stop control unit 23b.
  • the driving unit 12 includes a servo motor 13 that rotates when power is supplied, and an encoder 14 that detects the rotation angle of the servo motor 13.
  • Each of the first control unit 21 and the second control unit 22 compares the detection value indicating the rotation angle of the servo motor 13 detected by the encoder 14 with a command value based on a command for controlling the operation of the driving unit 12 output from the first control unit 21 to the second control unit 22 to separately detect an operation abnormality, and separately output a stop command when an operation abnormality is detected.
  • the robot system 100 includes an input/output module 25 for receiving a stop signal for stopping the operation of the drive unit 12.
  • the input/output module 25 includes a first signal generating unit 25a and a second signal generating unit 25b that each generate an abnormality signal indicating that an abnormality has been detected based on the received stop signal, and each of the first signal generating unit 25a and the second signal generating unit 25b outputs the generated abnormality signal to the first control unit 21 and the second control unit 22, respectively. This allows a stop signal from an external device or an external operation unit such as a stop switch 101 to be acquired via the input/output module 25.
  • the abnormality signal can be output more reliably to the first control unit 21 and the second control unit 22.
  • the operation of the drive unit 12 can be more reliably stopped.
  • the robot system 100 includes a communication module 26 to which a stop signal for stopping the operation of the drive unit 12 is input from an external device.
  • Each of the first control unit 21 and the second control unit 22 outputs a stop command based on the stop signal acquired via the communication module 26.
  • the stop signal can be acquired from the external device via the communication module 26, and the drive unit 12 can be stopped, for example, by communicating with an external device that detects the intrusion of the robot 10 into the work area or detects the locked state of a door provided in the work area. Therefore, even when the robot system 100 is operated in combination with another manufacturing system, the operation of the drive unit 12 can be reliably stopped.
  • the robot 10 includes a robot arm 11 to which an end effector 15 for performing work is attached.
  • a driving unit 12 operates the robot arm 11.
  • Each of the first control unit 21 and the second control unit 22 detects an abnormality in operation based on at least two of the position of the robot arm 11, the moving speed of the robot arm 11, the direction of the end effector 15, and a determination of whether the robot arm 11 is stopped, and outputs a stop command when an abnormality in operation is detected.
  • the driving unit 12 includes a servo motor 13 that rotates when power is supplied, and an encoder 14 that detects the rotation angle of the servo motor 13.
  • the robot 10 includes a robot arm 11 to which an end effector 15 for performing work is attached.
  • Each of the first control unit 21 and the second control unit 22 calculates at least one of the position of the robot arm 11 that moves due to the operation of the driving unit 12 and the moving speed of the robot arm 11 based on the detection value indicating the rotation angle of the servo motor 13 detected by the encoder 14, and obtains the calculation result of the other by outputting the calculated calculation result of at least one of the position of the robot arm 11 and the moving speed of the robot arm 11 to each other, and monitors the operation state of each other by comparing its own calculation result with the calculation result of the other obtained, and outputs a stop command when an operation abnormality is detected based on the result of comparing the calculation results.
  • the first control unit 21 and the second control unit 22 can monitor the operation state of each other by comparing the calculation results of each other, and can stop the operation of the driving unit 12 when it is determined that an abnormality has occurred in either the first control unit 21 or the second control unit 22 based on the result of comparing the calculation results. Therefore, the first control unit 21 and the second control unit 22 can mutually monitor whether there are any abnormalities in the calculation processing performed by each of them, so that abnormalities in the operation of the robot 10 can be detected more accurately.
  • a signal for stopping the operation of the drive unit 12 is output to the drive circuit unit 24 from the stop control unit 23 provided separately from the first control unit 21 and the second control unit 22, but the present disclosure is not limited to this.
  • a signal for stopping the operation of the drive unit may be output directly from each of the first control unit and the second control unit to the drive circuit unit without providing a stop control unit.
  • a stop command from the second control unit 22 is input to the stop control unit 23 via the first control unit 21, but a stop command may be output directly from both the first control unit and the second control unit to the stop control unit.
  • the stop control unit 23 is made redundant by the two stop control units, the first stop control unit 23a and the second stop control unit 23b, but the present disclosure is not limited to this.
  • the stop control unit does not have to be made redundant.
  • the stop control unit may be made redundant by three or more arithmetic devices or processing circuits.
  • a speed command is output from the first control unit 21 to the second control unit 22, and an ideal detection value corresponding to the speed command output from the first control unit 21 is acquired as a command value based on the speed command, and an operation abnormality is detected by comparing the command value based on the speed command with the detection value of the encoder 14, but the present disclosure is not limited to this.
  • the command for controlling the operation of the drive unit output from the first control unit to the second control unit does not have to be a speed command indicating the rotation speed.
  • the command for controlling the operation of the drive unit may be, for example, a torque command indicating the magnitude of the torque of the servo motor, or a command for the number of rotations of the servo motor.
  • a command value based on the speed command is acquired by the first control unit and output to the second control unit, but a command value corresponding to the ideal detection value based on the command may be calculated by each of the first control unit and the second control unit.
  • the input/output module 25 receives a signal from the stop switch 101, but the present disclosure is not limited to this.
  • the input/output module may receive input from a detection device such as a laser scanner or a light curtain, or a switch that detects the locked state of a door provided in the robot's work area. Also, it is not necessary to provide an input/output module.
  • each of the first control unit 21 and the second control unit 22 detects an operation abnormality based on the position of the robot arm 11, the movement speed of the robot arm 11, the orientation of the end effector 15, and a determination as to whether the robot arm 11 is stopped, but the present disclosure is not limited to this.
  • each of the first control unit and the second control unit may be configured to detect an operation abnormality based on at least two of the position of the robot arm, the movement speed of the robot arm, the orientation of the end effector, and a determination as to whether the robot arm is stopped.
  • the first control unit 21 and the second control unit 22 each obtain the calculation result of the other by outputting the calculated position of the robot arm 11 and the calculation result of the movement speed of the robot arm 11 to each other, and monitor each other's operation state by comparing their own calculation result with the other's obtained calculation result, but the present disclosure is not limited to this.
  • the first control unit and the second control unit may each monitor each other's operation state by comparing the calculation result of at least one of the position of the robot arm and the movement speed of the robot arm.
  • the gate signal input to the switching element Sw of the drive circuit unit 24 was stopped to turn off the switching operation, thereby cutting off the power supplied to the drive unit 12 and stopping the operation of the drive unit 12, but the present disclosure is not limited to this.
  • the operation of the drive unit may be stopped by cutting off the power supplied to the drive unit using a switch or circuit breaker such as an electromagnetic contactor.
  • a robot that performs manufacturing or processing may be controlled.
  • the robot may also be a vertical articulated robot with a number of axes other than six, or a horizontal articulated robot that transports semiconductor substrates.
  • a robot that does not have a robot arm and operates by a linear motion mechanism may also be controlled.
  • the end effector 15 attached to the robot arm 11 is a robot hand that grasps the workpiece W
  • the end effector attached to the robot arm may be a paint gun, a tool for tightening screws, an imaging unit, a detection sensor, or the like.
  • the work performed by the robot using the end effector may be not only transportation work, but also painting work, manufacturing and assembly work, imaging work, inspection work, and the like.
  • a signal from the input/output module 25 is input to the second control unit 22 and is input to the first control unit 21 via the second control unit 22, and a signal from the communication module 26 is input to the first control unit 21 and is input to the second control unit 22 via the first control unit 21, but the present disclosure is not limited to this.
  • a signal from the input/output module may be input to the first control unit and is input to the second control unit via the first control unit
  • a signal from the communication module may be input to the second control unit and is input to the first control unit via the second control unit.
  • both a signal from the input/output module and a signal from the communication module may be input to the first control unit and is input to the second control unit via the first control unit, or both may be input to the second control unit and is input to the first control unit via the second control unit.
  • signals from each of the input/output module and the communication module may be directly input to both the first control unit and the second control unit.
  • first control unit 21, the second control unit 22, and the stop control unit 23 are each arranged on different boards, but the present disclosure is not limited to this.
  • two or all of the first control unit, the second control unit, and the stop control unit may be arranged on a common board.
  • the second control unit may be arranged on each of the multiple boards for each of the multiple servo motors.
  • multiple second control units may be provided to correspond to the number of multiple servo motors.
  • the first control unit 21, the second control unit 22, and the stop control unit 23 are each arranged in the robot controller 20, but the present disclosure is not limited to this.
  • the second control unit may be arranged on the robot arm side.
  • the second control unit and the drive circuit unit may be arranged on the robot arm.
  • some of the processing performed by the first control unit may be performed by a control device such as a computer external to the robot controller.
  • circuitry or processing circuits including general purpose processors, special purpose processors, integrated circuits, ASICs (Application Specific Integrated Circuits), conventional circuits, and/or combinations thereof, configured or programmed to perform the disclosed functions.
  • Processors are considered processing circuits or circuits because they include transistors and other circuits.
  • a circuit, unit, or means is hardware that performs the recited functions or hardware that is programmed to perform the recited functions.
  • the hardware may be hardware disclosed herein or other known hardware that is programmed or configured to perform the recited functions. If the hardware is a processor, which is considered a type of circuit, the circuit, means, or unit is a combination of hardware and software, and the software is used to configure the hardware and/or the processor.
  • each of the first control unit and the second control unit may include an arithmetic device or processing circuit other than a CPU.
  • each of the first stop control unit and the second stop control unit of the stop control unit may include an arithmetic device or processing circuit other than a CPLD.
  • each of the first signal generation unit and the second signal generation unit of the input/output module may include an arithmetic device or processing circuit other than an FPGA.
  • Robots and A drive unit serving as a drive source for operating the robot A first control unit that controls an operation of the robot; A second control unit that controls the power supplied to the drive unit based on a command from the first control unit, Each of the first control unit and the second control unit is mutually monitoring the operation status and detecting abnormalities in the operation of the robot;
  • the robot system outputs a stop command to stop the operation of the drive unit when an operational abnormality is detected, which is an abnormality in at least one of the operational state and the operation of the robot.
  • a stop control unit is provided separately from the first control unit and the second control unit and controls to stop the operation of the drive unit. 2. The robot system according to claim 1, wherein each of the first control unit and the second control unit separately outputs the stop command to the stop control unit when the operation abnormality is detected.
  • a drive circuit unit that supplies power to the drive unit is further provided.
  • the stop control unit has a first stop control unit and a second stop control unit, When the operation abnormality is detected, each of the first control unit and the second control unit outputs the stop command to each of the first stop control unit and the second stop control unit, 3.
  • the drive unit includes a servo motor that rotates when power is supplied thereto, and a rotation angle detection unit that detects a rotation angle of the servo motor; 5.
  • the robot system according to any one of items 1 to 4, wherein each of the first control unit and the second control unit separately detects the operation abnormality by comparing a detection value indicating the rotation angle of the servo motor detected by the rotation angle detection unit with a command value based on a command for controlling the operation of the drive unit output from the first control unit to the second control unit, and separately outputs the stop command when the operation abnormality is detected.
  • an input/output module for receiving a stop signal for stopping the operation of the drive unit;
  • the input/output module includes a first signal generating unit and a second signal generating unit each generating an abnormality signal indicating that an abnormality has been detected based on the received stop signal; 6.
  • the robot system according to any one of items 1 to 5, wherein each of the first signal generating unit and the second signal generating unit outputs the generated abnormality signal to each of the first control unit and the second control unit.
  • the robot includes a robot arm having an end effector attached thereto for performing a task;
  • the drive unit operates the robot arm, 8.
  • the robot system according to any one of items 1 to 7, wherein each of the first control unit and the second control unit detects the operation abnormality based on at least two of the position of the robot arm, the moving speed of the robot arm, the orientation of the end effector, and a determination of whether the robot arm is stopped, and outputs the stop command when the operation abnormality is detected.
  • the drive unit includes a servo motor that rotates when power is supplied thereto, and a rotation angle detection unit that detects a rotation angle of the servo motor;
  • the robot includes a robot arm having an end effector attached thereto for performing a task;
  • Each of the first control unit and the second control unit is calculating at least one of a position of the robot arm that moves due to the operation of the drive unit and a moving speed of the robot arm based on a detection value indicating a rotation angle of the servo motor detected by the rotation angle detection unit; outputting at least one of the calculated position of the robot arm and the moving speed of the robot arm to each other to obtain the other calculation result;
  • the operation states are mutually monitored; 9.
  • the robot system according to any one of items 1 to 8, wherein the stop command is output when the operation abnormality is detected based on a result of comparing the calculation results.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

このロボットシステム(100)は、ロボット(10)と、駆動部(12)と、ロボット(10)の動作を制御する第1制御部(21)と、第1制御部(21)からの指令に基づいて駆動部(12)に供給される電力を制御する第2制御部(22)と、を備える。第1制御部(21)と第2制御部(22)との各々は、相互に動作状態を監視するとともにロボット(10)の動作の異常を検出し、動作状態およびロボット(10)の動作の少なくとも一方の異常である動作異常が検出された場合に、駆動部(12)の動作を停止するための停止指令を出力する。

Description

ロボットシステム
 この開示は、ロボットシステムに関し、特に、ロボットの動作を制御する制御部を備えるロボットシステムに関する。
 従来、ロボットの動作を制御する制御部を備えるロボットシステムが知られている。たとえば、特許第3114579号公報には、産業用ロボットの制御装置が開示されている。この産業用ロボットの制御装置は、メインCPU部とサーボCPU部とを備えている。メインCPU部は、ロボットの速度指令信号を出力する。サーボCPU部は、メインCPU部からの速度指令信号の指示する速度によってロボットの各軸のサーボモータを動作させる。そして、上記特許第3114579号公報に記載の産業用ロボットの制御装置では、メインCPU部とサーボCPU部との各々に、比較手段が設けられている。比較手段は、ロボットの各軸のサーボモータの回転量を取得するためのエンコーダからの信号に基づいて算出された実速度と、メインCPU部が指令する指令速度とを比較する。そして、メインCPU部とサーボCPU部との各々において、比較結果が許容値を越えた場合に異常発生処理が実行される。
特許第3114579号公報
 しかしながら、上記特許第3114579号公報に記載の産業用ロボットの制御装置では、メインCPU部による指令に基づいてサーボCPU部によってサーボモータの回転が制御されるため、メインCPU部に異常が生じた場合には、メインCPU部からサーボCPU部に出力される指令自体が異常となることによりサーボモータの制御が正常に行われないと考えられる。この場合、上記特許第3114579号公報のように、メインCPU部からの指令とサーボモータの回転の実速度とを比較した場合にも、ロボットの動作の異常を正確に検出することが困難となる。したがって、互いに異なる2つの制御部を用いてロボットの動作を制御する場合に、ロボットの動作の異常を正確に検出することが望まれている。
 この開示は、上記のような課題を解決するためになされたものであり、この開示の1つの目的は、互いに異なる2つの制御部を用いてロボットの動作を制御する場合に、ロボットの動作の異常を正確に検出することが可能なロボットシステムを提供することである。
 この開示の一の局面によるロボットシステムは、ロボットと、ロボットを動作させるための駆動源となる駆動部と、ロボットの動作を制御する第1制御部と、第1制御部からの指令に基づいて駆動部に供給される電力を制御する第2制御部と、を備え、第1制御部と第2制御部との各々は、相互に動作状態を監視するとともにロボットの動作の異常を検出し、動作状態およびロボットの動作の少なくとも一方の異常である動作異常が検出された場合に、駆動部の動作を停止するための停止指令を出力する。
 この開示の一の局面によるロボットシステムは、上記のように、第1制御部と第2制御部との各々は、相互に動作状態を監視するとともにロボットの動作の異常を検出し、動作状態およびロボットの動作の少なくとも一方の異常である動作異常が検出された場合に、駆動部の動作を停止するための停止指令を出力する。これにより、第1制御部と第2制御部との互いに異なる2つの制御部の各々によってロボットの動作を制御する場合に、第1制御部と第2制御部とが相互に動作状態を監視することによって、第1制御部と第2制御部との各々に生じた異常を互いに検出することができる。そのため、互いに異常が生じていないことが確認された第1制御部と第2制御部との各々によって、ロボットの動作の異常を検出することができる。その結果、互いに異なる2つの制御部を用いてロボットの動作を制御する場合に、ロボットの動作の異常を正確に検出することができる。
 本開示によれば、互いに異なる2つの制御部を用いてロボットの動作を制御する場合に、ロボットの動作の異常を正確に検出することができる。
一実施形態によるロボットシステムの全体構成を示した模式図である。 一実施形態によるロボットシステムの全体構成を示したブロック図である。 ロボットコントローラにおける第1制御部、第2制御部、および、停止制御部の配置を説明するための図である。 ロボットコントローラにおける第1制御部、第2制御部、および、停止制御部の構成を説明するためのブロック図である。 動作異常が検出された場合のロボットシステムの制御方法を説明するためのフローチャート図である。
 以下、本開示を具体化した本開示の実施形態を図面に基づいて説明する。
 (ロボットシステムの全体構成)
 図1から図4までを参照して、一実施形態によるロボットシステム100の構成について説明する。
 図1に示すように、ロボットシステム100は、ロボット10、および、ロボットコントローラ20を備える。ロボットシステム100は、たとえば、ワークWの搬送作業を行う。また、ロボット10は、ロボットアーム11を有する。ロボットアーム11には、搬送の作業を行うエンドエフェクタ15が取り付けられている。エンドエフェクタ15は、たとえば、ワークWを把持するロボットハンドである。ロボット10は、ロボットコントローラ20と接続されており、ロボットコントローラ20による制御により動作する。ロボット10は、たとえば、6軸の垂直多関節ロボットである。
 図2に示すように、ロボットコントローラ20は、第1制御部21、第2制御部22、停止制御部23、駆動回路部24、入出力モジュール25、および、通信モジュール26を有する。第1制御部21、第2制御部22、停止制御部23、駆動回路部24、入出力モジュール25、および、通信モジュール26は、ロボットコントローラ20の筐体20aの内部に配置されている。筐体20aは、直方体形状を有する。また、ロボットコントローラ20は、外部の停止スイッチ101およびPLC102(Programmable Logic Controller)に接続されている。
 ロボットアーム11には、駆動部12が配置されている。駆動部12は、ロボット10を動作させるための駆動源となる。すなわち、駆動部12は、ロボットアーム11を動作させる。ロボットアーム11は、駆動部12により回転および移動する。駆動部12は、サーボモータ13とエンコーダ14とを含む。サーボモータ13は電力が供給されることによって回転する。サーボモータ13は、たとえば、三相の交流電力により回転軸が回転する。エンコーダ14は、サーボモータ13の回転角を検出する。そして、エンコーダ14は、検出されたサーボモータ13の回転角を示す検出値を第1制御部21および第2制御部22に出力する。具体的には、エンコーダ14からの検出値を示す信号が第2制御部22に入力される。そして、第2制御部22を介して検出値を示す信号が第1制御部21に入力される。ロボット10のロボットアーム11では、直線状に延びる2つのアーム部が関節部を介して互いに接続されている。また、先端側のアーム部の端部に別個の関節部を介してエンドエフェクタ15が取り付けられている。そして、ロボットアーム11は、基台部に接続されている。ロボットアーム11の基台部側にもさらに別個の関節部が配置されている。駆動部12は、関節部の各々に配置されている。具体的には、6軸の垂直多関節ロボットであるロボット10には、6つの駆動部12が配置されている。なお、エンコーダ14は、回転角検出部の一例である。
 本実施形態では、第1制御部21は、ロボット10の動作を制御する。具体的には、第1制御部21は、ロボット10の動作の全体を制御するメイン制御部である。第2制御部22は、第1制御部21からの指令に基づいて駆動部12に供給される電力を制御する。すなわち、第2制御部22は、サーボモータ13の動作を制御するサーボ制御部である。停止制御部23は、駆動部12の動作を停止させる制御を行う。停止制御部23は、第1制御部21および第2制御部22とは別個に、第1制御部21および第2制御部22からの信号に基づいて第3者的にロボット10の動作の停止を制御する。第1制御部21、第2制御部22、および、停止制御部23は、後述する記憶部31aに記憶されているプログラムおよびパラメータを用いて制御を行う。第1制御部21、第2制御部22、および、停止制御部23による制御の詳細は後述する。
 図3に示すように、第1制御部21、第2制御部22、および、停止制御部23の各々は、互いに別個の基板に配置されている。具体的には、第1制御部21は、第1基板31に配置されている。第2制御部22は、第2基板32に配置されている。そして、停止制御部23は、第3基板33に配置されている。第1基板31は、第2基板32および第3基板33の各々と接続されている。
 第1制御部21は、たとえば、CPU(Central Processing Unit)を含む。また、第2制御部22は、たとえば、第1制御部21と同様に、CPUを含む。第1基板31および第2基板32の各々には、第1制御部21および第2制御部22の他に、図示しない電源用のIC(Integrated Circuit)、および、RAM(Random Access Memory)などの記憶装置が配置されている。また、第1基板31には、記憶部31aが配置されている。記憶部31aは、第1制御部21および第2制御部22において実行されるプログラム、および、パラメータが記憶されている。記憶部31aは、たとえば、CFastなどのフラッシュメモリを含む。また、停止制御部23は、第1停止制御部23aと、第2停止制御部23bとを別個に有する。第1停止制御部23aおよび第2停止制御部23bの各々は、たとえば、CPLD(Complex Programmable Logic Device)を含む。
 第1制御部21および第2制御部22は、互いに信号の送受信を行う。第1制御部21および第2制御部22は、たとえば、シリアル通信により信号の送受信を行う。また、第1制御部21は、停止制御部23の第1停止制御部23aおよび第2停止制御部23bの各々と信号の送受信を行う。そして、第2制御部22は、第1制御部21を介して停止制御部23の第1停止制御部23aおよび第2停止制御部23bの各々と信号の送受信を行う。たとえば、第1制御部21は、第1停止制御部23aおよび第2停止制御部23bの各々と16bitのバスによるパラレル通信によって信号の送受信を行う。また、第1制御部21が第2制御部22からシリアル通信により取得した信号を16bitのバスに変換することによって、第2制御部22は、第1制御部21を介して第1停止制御部23aおよび第2停止制御部23bの各々と信号の送受信を行う。
 また、第1制御部21が配置されている第1基板31は、第2制御部22が配置されている第2基板32に対して、基板の厚み方向に重ねて配置されている。また、停止制御部23が配置されている第3基板33は、第2基板32に対して基板の厚み方向に重ねて配置されており、第1基板31と隣り合うように配置されている。
 図4に示すように、駆動回路部24は、駆動部12に電力を供給する。具体的には、駆動回路部24は、駆動部12のサーボモータ13に交流電力を供給するインバータ回路を含む。駆動回路部24は、複数のスイッチング素子Swを有する。複数のスイッチング素子Swは、第2制御部22による制御によって、スイッチング動作が制御される。また、駆動回路部24のインバータ回路では、互いに直列に接続されている上アーム側のスイッチング素子Swと下アーム側のスイッチング素子Swとが並列に接続されている。複数のスイッチング素子Swは、三相の交流電力をサーボモータ13に供給するように、駆動部12の1つあたりにおいて、上アーム側のスイッチング素子Swと下アーム側のスイッチング素子Swとを、3つずつ有する。すなわち、駆動回路部24は、複数の駆動部12の各々ごとに電流を供給するように、複数の駆動部12の各々に対応する複数のインバータ回路を有する。
 図3に示すように、入出力モジュール25は、第1基板31、第2基板32、および、第3基板33とは別個の基板に配置されている。入出力モジュール25は、ロボットコントローラ20の外部からの信号を受け付ける。たとえば、入出力モジュール25には、ロボットコントローラ20の外部の停止スイッチ101が接続される。入出力モジュール25は、ロボットコントローラ20の外部と接続される図示しない接続端子を有する。また、入出力モジュール25は、複数の基板を含む。入出力モジュール25では、1つの基板において、複数の入力と出力とが接続される。また、入出力モジュール25は、第2制御部22の配置されている第2基板32に接続されている。入出力モジュール25からの信号は、第2基板32に入力されることによって、第2制御部22に取得されるとともに、第2制御部22を介して第1制御部21に出力される。これにより、入出力モジュール25からの信号は、第1制御部21および第2制御部22の各々によって取得される。
 また、入出力モジュール25は、第1信号生成部25a、および、第2信号生成部25bを有する。第1信号生成部25aおよび第2信号生成部25bの各々は、たとえば、FPGA(Field Programmable Gate Array)を含む。第1信号生成部25aおよび第2信号生成部25bの各々は、受け付けられた入力信号を示す信号を第2制御部22に対して出力する。入出力モジュール25では、第1信号生成部25aおよび第2信号生成部25bの各々において、同様の制御処理が実行される。すなわち、入出力モジュール25は、安全機能のために回路構成が冗長化されている。また、入出力モジュール25は、安全機能のために図示しない診断回路を有している。
 通信モジュール26は、第1基板31に配置されている。通信モジュール26は、ネットワークを介して外部装置と接続される。たとえば、通信モジュール26は、PLC102と通信を行う。通信モジュール26は、たとえば、LAN(Local Area Network)などのネットワークを介してPLC102と信号の送受信を行う。ロボットコントローラ20は、通信モジュール26を介して、安全通信ネットワークによってPLC102と接続されている。通信モジュール26は、ネットワークを介して外部装置と接続される接続端子を有する。また、通信モジュール26は、ネットワークを介してPLC102などの外部装置から入力された信号を第1制御部21に対して出力する。通信モジュール26からの信号は、第1制御部21に取得されるとともに、第1制御部21を介して第2制御部22に出力されることにより、第1制御部21および第2制御部22の各々によって取得される。
 停止スイッチ101は、作業者による入力操作を受け付ける。具体的には、停止スイッチ101は、ロボット10の動作を停止させるための作業者による停止操作を受け付ける。停止スイッチ101は、作業者による停止操作に基づいて、ロボット10の動作を停止するために、駆動部12の動作を停止させるための停止信号を入出力モジュール25に対して出力する。PLC102は、ロボットコントローラ20と通信を行うセーフティコントローラである。PLC102は、レーザスキャナ、および、ライトカーテンなどの検出装置からの信号に基づいて、ロボット10の動作を停止するために、駆動部12の動作を停止させるための停止信号を通信モジュール26に対してネットワークを介して出力する。
 (搬送作業時の制御)
 第1制御部21は、たとえば、図示しない上位の制御装置からの信号に基づいて、ロボット10の動作を制御する。第1制御部21は、エンドエフェクタ15を含むロボットアーム11を動作させるために、駆動部12の動作を制御するための指令を第2制御部22に出力する。第1制御部21および第2制御部22は、ロボット10の動作を制御することによって、ロボット10によるワークWの搬送作業の制御を行う。
 たとえば、第1制御部21は、ロボット10によるワークWの搬送作業を行うために、図示しない上位の制御装置からワークWの位置を示す信号を取得する。第1制御部21は、取得された信号に基づいて、エンドエフェクタ15をワークWの位置に移動させるための駆動部12におけるサーボモータ13の回転速度を算出する。そして、第1制御部21は、駆動部12の動作を制御するための指令として、算出された回転速度を示す速度指令を、第2制御部22に対して出力する。第2制御部22は、第1制御部21から取得された速度指令に基づいて、駆動部12に対して入力される電流の具体的な電流値を算出する。そして、第2制御部22は、算出された電流値の電流が駆動部12に供給されるように、駆動回路部24のスイッチング素子Swのゲート端子に入力されるゲート信号を制御することによって、スイッチング素子Swのスイッチング動作を制御する。なお、第2制御部22は、速度指令に基づいて、ロボット10のロボットアーム11に配置されている複数の駆動部12の各々に供給される電流を制御する。
 (動作異常検出時の制御)
 図4に示すように、第1制御部21、第2制御部22、および、停止制御部23は、第1制御部21と第2制御部22との各々の動作状態と、ロボット10の動作との少なくとも一方の異常である動作異常が検出された場合に、ロボット10の動作を停止させる制御を行う。本実施形態では、第1制御部21および第2制御部22の各々が、独立して相互に動作状態を監視するとともにロボット10の動作の異常を検出する。そして、第1制御部21および第2制御部22の各々は、第1制御部21と第2制御部22との各々の動作状態と、ロボット10の動作との少なくとも一方の異常である動作異常が検出された場合に、駆動部12の動作を停止するための停止指令を、停止制御部23に対して別個に出力する。停止制御部23は、第1制御部21および第2制御部22からの停止指令に基づいて、駆動部12の動作を停止させる。
 第1制御部21および第2制御部22の各々は、動作異常の検出のために、互いに共通の入力を取得するとともに、互いに共通の演算処理を実行することによって、動作異常を検出する。そして、動作異常が検出された場合に、第1停止制御部23aおよび第2停止制御部23bの各々に対して同様の停止指令を出力する。すなわち、第1制御部21および第2制御部22の各々は、動作異常の検出のために、冗長化されている。そして、停止制御部23は、第1制御部21からの停止指令と、第2制御部22からの停止指令との少なくとも一方が入力された場合に、駆動部12の動作を停止させる。
 〈動作範囲および動作速度の監視〉
 第1制御部21および第2制御部22の各々は、動作異常を検出するための監視対象としてロボット10の動作範囲および動作速度を検出する。そして、第1制御部21および第2制御部22の各々は、ロボット10が予め設定されたパラメータの範囲を越えて動作していることを検出した場合に、停止指令を出力する。本実施形態では、第1制御部21および第2制御部22の各々は、ロボットアーム11の位置、ロボットアーム11の移動速度、エンドエフェクタ15の向き、および、ロボットアーム11が停止しているか否かの判定に基づいて、動作異常を検出する。
 具体的には、第1制御部21および第2制御部22の各々は、エンコーダ14からの検出値に基づいて、ロボットアーム11の位置、ロボットアーム11の移動速度、エンドエフェクタ15の向きを検出する。そして、第1制御部21および第2制御部22の各々は、検出されたロボットアーム11の位置が、予めパラメータとして設定された動作範囲を越えている場合に、ロボット10の動作の異常を検出する。また、第1制御部21および第2制御部22の各々は、検出されたロボットアーム11の移動速度が予めパラメータとして設定されたしきい値の速度よりも大きい場合に、ロボット10の動作の異常を検出する。また、第1制御部21および第2制御部22の各々は、検出されたエンドエフェクタ15の向きが、予めパラメータとして設定された範囲を越えている場合に、ロボット10の動作の異常を検出する。そして、第1制御部21および第2制御部22の各々は、ロボットアーム11の動作を停止させる指令が出力されている場合において、エンコーダ14からの検出値に基づいてロボットアーム11が停止されていないと判定された場合に、ロボット10の動作の異常を検出する。第1制御部21および第2制御部22の各々は、上記のロボット10の動作の異常のいずれかが検出された場合に、ロボットシステム100において動作異常が検出されたとして、停止指令を出力する。
 〈検出値と指令値との比較〉
 また、第1制御部21および第2制御部22の各々は、エンコーダ14により検出されたサーボモータ13の回転角を示す検出値と、第1制御部21から第2制御部22に対して出力された駆動部12の動作を制御するための指令に基づく指令値とを比較することによって、動作異常を別個に検出する。
 第1制御部21は、第2制御部22に対して出力された駆動部12の動作を制御するための指令に対応する理想的なエンコーダ14の検出値を、指令に基づく指令値として取得する。具体的には、第1制御部21は、第2制御部22に対して出力された速度指令に基づいて、速度指令が示す回転速度によってサーボモータ13が回転した場合におけるエンコーダ14の検出値を、指令に基づく指令値として算出する。すなわち、第1制御部21は、ロボット10の動作が正常である場合に取得される理想的なエンコーダ14の検出値を、指令に基づく指令値として取得する。言い換えれば、第1制御部21は、速度指令を出力するために算出されたサーボモータ13の回転速度における検出値を、指令に基づく回転速度の指令値として取得する。そして、第1制御部21は、取得された指令値を第2制御部22に対して出力する。第1制御部21および第2制御部22の各々は、取得された指令値と、エンコーダ14からの検出値とを比較することによって、指令値と検出値との差分を算出する。そして、第1制御部21および第2制御部22の各々は、算出された差分が、予めパラメータとして設定された所定のしきい値よりも大きい場合に、動作異常を検出する。
 〈動作状態の相互監視〉
 また、本実施形態では、第1制御部21および第2制御部22の各々は、相互に動作状態を監視する。そして、第1制御部21および第2制御部22の各々は、相互に動作状態を監視した結果、動作状態の異常が検出された場合には、動作異常が検出されたとして、停止指令を出力する。
 具体的には、第1制御部21および第2制御部22の各々は、エンコーダ14からの検出値に基づいて、ロボットアーム11の位置、および、ロボットアーム11の移動速度の両方を算出する。そして、第1制御部21および第2制御部22の各々は、算出されたロボットアーム11の位置、および、ロボットアーム11の移動速度の両方の算出結果を互いに出力することによって、他方の算出結果を取得する。すなわち、第1制御部21は、第2制御部22による算出結果を取得し、第2制御部22は、第1制御部21による算出結果を取得する。そして、第1制御部21および第2制御部22の各々は、自身の算出結果と、取得された他方の算出結果とを比較することによって、相互に動作状態を監視する。第1制御部21および第2制御部22の各々は、算出結果を比較した結果に基づいて動作異常が検出された場合に停止指令を出力する。
 たとえば、第1制御部21および第2制御部22の各々は、エンコーダ14からの検出値に基づいて、ロボットアーム11の位置として、ロボットアーム11のエンドエフェクタ15が取り付けられるフランジ部分の空間的な位置または角度と移動速度とを算出する。第1制御部21および第2制御部22の各々は、互いの算出結果の差分を比較結果として取得する。第1制御部21および第2制御部22の各々は、取得された差分が予め設定されたパラメータである所定のしきい値よりも大きい場合に、動作異常が生じていると判定する。第1制御部21および第2制御部22の各々は、算出結果を比較した結果に基づいて動作異常が生じていると判定された場合に、動作異常が検出されたとして、停止指令を出力する。
 〈外部からの停止信号〉
 また、第1制御部21および第2制御部22の各々は、外部からの停止信号に基づいて、停止指令を出力する。ロボットコントローラ20において、入出力モジュール25は、駆動部12の動作を停止するための停止信号を受け付ける。具体的には、入出力モジュール25の第1信号生成部25aおよび第2信号生成部25bの各々は、停止スイッチ101に対する停止操作に基づいて受け付けられた停止信号に基づいて、異常が検出されたことを示す異常信号を生成する。そして、第1信号生成部25aおよび第2信号生成部25bの各々は、第1制御部21および第2制御部22の各々に対して生成された異常信号を出力する。第1制御部21および第2制御部22は、第1信号生成部25aおよび第2信号生成部25bからの異常信号が取得された場合に、動作異常が検出されたとして、停止指令を出力する。なお、入出力モジュール25には、複数の装置または機器が接続されてもよい。
 また、第1制御部21および第2制御部22の各々は、通信モジュール26を介して停止信号が取得された場合に、停止指令を出力する。すなわち、第1制御部21および第2制御部22の各々は、入出力モジュール25とは別個に配置された通信モジュール26を介して停止信号が取得された場合に、停止指令を出力する。たとえば、通信モジュール26は、外部装置であるPLC102からの停止信号がネットワークを介して入力される。第1制御部21および第2制御部22の各々は、通信モジュール26を介して取得されたPLC102からの停止信号に基づいて、動作異常が検出されたとして停止指令を出力する。
 なお、第1制御部21および第2制御部22の各々に含まれるCPUは、複数のコアを有する。第1制御部21および第2制御部22の各々において、CPUの有する複数のコアのうちの1つのコアが、動作異常を検出する処理を行う。そして、動作異常を検出する処理を行うコアとは異なる残りのコアが、ロボット10による搬送作業の制御などを行う。
 〈停止制御部による駆動部の動作の停止〉
 図4に示すように、第1制御部21および第2制御部22の各々は、動作異常が検出された場合に、停止制御部23の第1停止制御部23aおよび第2停止制御部23bの各々に対して停止指令を出力する。そして、第1停止制御部23aおよび第2停止制御部23bの各々は、第1制御部21および第2制御部22からの停止指令に基づいて、駆動部12に電力を供給する駆動回路部24の動作を停止させる。
 具体的には、第1停止制御部23aおよび第2停止制御部23bの各々は、駆動回路部24を停止させるために、駆動回路部24のスイッチング素子Swの各々のゲート端子に入力されるゲート信号を停止させる。第1停止制御部23aは、上アーム側のスイッチング素子Swの動作を停止するSTO1信号(Safety Torque Off 1 信号)を出力する。第2停止制御部23bは、下アーム側のスイッチング素子Swの動作を停止するSTO2信号(Safety Torque Off 2 信号)を出力する。駆動回路部24では、STO1信号およびSTO2信号によって、それぞれ、上アーム側のスイッチング素子Swおよび下アーム側のスイッチング素子Swのスイッチング動作がオフにされる。すなわち、第1停止制御部23aからSTO1信号が出力された場合には、駆動回路部24の上アーム側のスイッチング素子Swのスイッチング動作がオフにされる。また、第2停止制御部23bからSTO2信号が出力された場合には、駆動回路部24の下アーム側のスイッチング素子Swのスイッチング動作がオフにされる。これにより、STO1信号およびSTO2信号の少なくとも一方が取得された場合に、駆動回路部24から駆動部12に供給される電力が遮断される。このように、停止制御部23も、第1停止制御部23aおよび第2停止制御部23bによって冗長化されている。
 なお、第1停止制御部23aおよび第2停止制御部23bの各々は、第1制御部21および第2制御部22からの停止指令が取得されていない場合においても、第1制御部21と第2制御部22との動作状態の異常、および、ロボット10の動作の異常の少なくとも一方が検出された場合には、駆動部12の動作を停止させる。たとえば、第1停止制御部23aおよび第2停止制御部23bの各々は、第1制御部21からの信号を監視しており、第1制御部21からの信号に異常が生じた場合には、駆動部12の動作を停止させる。たとえば、第1停止制御部23aおよび第2停止制御部23bの各々は、ウォッチドッグタイマにより第1制御部21からの信号を監視している。第1停止制御部23aおよび第2停止制御部23bの各々は、所定のタイミングごとに第1制御部21から正常な信号が入力されない場合には、第1制御部21に異常が生じているとして駆動部12の動作を停止させる。
 また、第1停止制御部23aおよび第2停止制御部23bの各々は、互いに信号の送受信を行うことによって相互に動作状態を監視する。具体的には、第1停止制御部23aおよび第2停止制御部23bの各々は、STO1信号およびSTO2信号を互いに出力する。すなわち、第1停止制御部23aからのSTO1信号は、第2停止制御部23bにより取得され、第2停止制御部23bからのSTO2信号は、第1停止制御部23aにより取得される。そして、たとえば、STO1信号またはSTO2信号がハイの状態でスタックしているなどの異常が検出された場合には、第1停止制御部23aおよび第2停止制御部23bの各々は、動作異常が検出されたとして駆動部12の動作を停止させる。
 また、上記以外にも、停止制御部23の第1停止制御部23aおよび第2停止制御部23bの各々は、ロボットコントローラ20の筐体20aの外表面に配置された図示しない停止スイッチにより停止を指示する操作信号が受け付けられた場合、または、筐体20a内の温度の異常が検出された場合などにおいて、動作異常が検出されたとして駆動部12の動作を停止させる。
 (ロボットシステムの異常検出時における制御方法)
 次に、図5を参照して、動作異常が検出された場合におけるロボットシステム100の制御方法について説明する。この動作異常が検出された場合におけるロボットシステム100の制御方法の処理は、第1制御部21、第2制御部22、および、停止制御部23によって実行される。
 まず、ステップS1において、第1制御部21および第2制御部22の各々によって、第1制御部21および第2制御部22の各々の動作状態と、ロボット10の動作との少なくとも一方の異常である動作異常が検出される。具体的には、予め記憶部31aに記憶された設定されたパラメータと、複数の駆動部12の各々のエンコーダ14からの検出値とに基づいて、ロボット10の動作範囲および動作速度の監視の制御処理、検出値と駆動部12の動作を制御するための指令に基づく指令値との比較の制御処理、および、第1制御部21および第2制御部22の動作状態の相互監視の制御処理が行われることにより、動作異常が検出される。また、入出力モジュール25、および、通信モジュール26からの入力に基づいて、動作異常が検出される。
 次に、ステップS2において、第1制御部21および第2制御部22の各々によって、停止制御部23に対して停止指令が出力される。具体的には、第1制御部21および第2制御部22の各々から、同様の停止指令が停止制御部23の第1停止制御部23aおよび第2停止制御部23bの各々に対して出力される。
 次に、ステップS3において、第1停止制御部23aおよび第2停止制御部23bの各々から、それぞれ、STO1信号およびSTO2信号が駆動回路部24に対して出力されることによって、駆動部12の動作が停止される。
 なお、ステップS1からステップS3までの制御処理は、ロボット10による作業が行われている最中に、所定のサンプリング周期ごとに繰り返し実行される。
 [実施形態の効果]
 本実施形態では、以下のような効果を得ることができる。
 ロボットシステム100では、第1制御部21と第2制御部22との各々は、相互に動作状態を監視するとともにロボット10の動作の異常を検出し、動作状態およびロボット10の動作の少なくとも一方の異常である動作異常が検出された場合に、駆動部12の動作を停止するための停止指令を出力する。これにより、第1制御部21と第2制御部22との互いに異なる2つの制御部の各々によってロボット10の動作を制御する場合に、第1制御部21と第2制御部22とが相互に動作状態を監視することによって、第1制御部21と第2制御部22との各々に生じた異常を互いに検出することができる。そのため、互いに異常が生じていないことが確認された第1制御部21と第2制御部22との各々によって、ロボット10の動作の異常を検出することができる。その結果、互いに異なる2つの制御部を用いてロボット10の動作を制御する場合に、ロボット10の動作の異常を正確に検出することができる。
 ロボットシステム100は、第1制御部21および第2制御部22とは別個に設けられ、駆動部12の動作を停止させる制御を行う停止制御部23を備える。第1制御部21と第2制御部22との各々は、動作異常が検出された場合に、停止制御部23に対して停止指令を別個に出力する。これにより、第1制御部21および第2制御部22の各々から出力された停止指令によって、第1制御部21および第2制御部22とは別個に設けられた停止制御部23が駆動部12の動作を停止することができる。そのため、第1制御部21および第2制御部22の制御処理とは別個に、停止制御部23によって確実に駆動部12の動作を停止させることができる。その結果、ロボット10の動作の異常を正確に検出することができるとともに、異常が検出された場合に駆動部12の動作を確実に停止させることができる。
 ロボットシステム100は、駆動部12に電力を供給する駆動回路部24を備える。停止制御部23は、第1停止制御部23aおよび第2停止制御部23bを有する。第1制御部21および第2制御部22の各々は、動作異常が検出された場合に第1停止制御部23aおよび第2停止制御部23bの各々に対して停止指令を出力し、第1停止制御部23aおよび第2停止制御部23bの各々は、停止指令に基づいて駆動回路部24の動作を停止させる。これにより、停止制御部23が第1停止制御部23aおよび第2停止制御部23bによって冗長化されているため、停止制御部23の第1停止制御部23aおよび第2停止制御部23bのいずれか一方に異常が生じた場合にも、異常の生じていない他方による制御によって、駆動回路部24の動作を停止することによって駆動部12の動作を停止することができる。そのため、動作異常が生じた場合に駆動部12の動作をより確実に停止することができる。
 第1停止制御部23aおよび第2停止制御部23bの各々は、互いに信号の送受信を行うことによって相互に動作状態を監視する。これにより、第1停止制御部23aと第2停止制御部23bとのいずれか一方に生じた異常を、他方により検出することができるので、第1停止制御部23aと第2停止制御部23bとのいずれかに異常が生じた状態のまま、ロボット10を動作させることを抑制することができる。
 駆動部12は、電力が供給されることにより回転するサーボモータ13と、サーボモータ13の回転角を検出するエンコーダ14とを含む。第1制御部21および第2制御部22の各々は、エンコーダ14により検出されたサーボモータ13の回転角を示す検出値と、第1制御部21から第2制御部22に対して出力された駆動部12の動作を制御するための指令に基づく指令値とを比較することによって、動作異常を別個に検出するとともに、動作異常が検出された場合に停止指令を別個に出力する。これにより、相互に動作状態を監視している第1制御部21および第2制御部22の各々によって、サーボモータ13の回転角を示す検出値と、駆動部12の動作を制御するための指令に基づく指令値とを比較するため、互いに異常が生じていないことを確認した状態の第1制御部21および第2制御部22の各々によって、検出値と指令値との比較をより確実に行うことができる。そのため、互いに異なる2つの制御部の各々によってロボット10の動作を制御する場合に、ロボット10の動作の異常をより正確に検出することができる。
 ロボットシステム100は、駆動部12の動作を停止するための停止信号を受け付けるための入出力モジュール25を備える。入出力モジュール25は、受け付けられた停止信号に基づいて、異常が検出されたことを示す異常信号を各々が生成する第1信号生成部25aおよび第2信号生成部25bを含み、第1信号生成部25aおよび第2信号生成部25bの各々は、第1制御部21および第2制御部22の各々に対して生成された異常信号を出力する。これにより、外部の装置、または、停止スイッチ101などの外部の操作部からの停止信号を、入出力モジュール25を介して取得することができる。そのため、入出力モジュール25において異常信号を出力する第1信号生成部25aと第2信号生成部25bとが冗長化されているため、外部からの停止信号が入出力モジュール25において受け付けられた場合に、第1制御部21および第2制御部22に対して異常信号をより確実に出力することができる。その結果、停止信号が受け付けられた場合に、駆動部12の動作をより確実に停止させることができる。
 ロボットシステム100は、外部装置からの駆動部12の動作を停止するための停止信号が入力される通信モジュール26を備える。第1制御部21および第2制御部22の各々は、通信モジュール26を介して取得された停止信号に基づいて、停止指令を出力する。これにより、通信モジュール26を介して外部装置から停止信号を取得することができるので、たとえば、ロボット10の作業エリアへの侵入の検出、または、作業エリアに設けられた扉部のロック状態の検出などを行う外部の装置との通信を行うことによって、駆動部12を停止することができる。そのため、ロボットシステム100と、他の製造システムなどを組み合わせて稼働させる場合にも、駆動部12の動作を確実に停止させることができる。
 ロボット10は、作業を行うためのエンドエフェクタ15が取り付けられたロボットアーム11を含む。駆動部12は、ロボットアーム11を動作させる。第1制御部21と第2制御部22との各々は、ロボットアーム11の位置、ロボットアーム11の移動速度、エンドエフェクタ15の向き、および、ロボットアーム11が停止しているか否かの判定のうちの少なくとも2つに基づいて、動作異常を検出するとともに、動作異常が検出された場合に、停止指令を出力する。これにより、相互に動作状態を監視している第1制御部21および第2制御部22の各々によって、ロボットアーム11の位置、ロボットアーム11の移動速度、エンドエフェクタ15の向き、および、ロボットアーム11が停止しているか否かの判定のうちの少なくとも2つに基づいて、動作異常を検出するため、互いに異常が生じていないことを確認した状態の第1制御部21および第2制御部22の各々によって、複数種類の判定基準によって動作異常をより確実に検出することができる。そのため、互いに異なる2つの制御部を用いてロボット10の動作を制御する場合に、ロボット10の動作の異常をより正確に検出することができる。
 駆動部12は、電力が供給されることにより回転するサーボモータ13と、サーボモータ13の回転角を検出するエンコーダ14とを含む。ロボット10は、作業を行うためのエンドエフェクタ15が取り付けられたロボットアーム11を含む。第1制御部21および第2制御部22の各々は、エンコーダ14により検出されたサーボモータ13の回転角を示す検出値に基づいて、駆動部12の動作により移動するロボットアーム11の位置、および、ロボットアーム11の移動速度の少なくとも一方を算出し、算出されたロボットアーム11の位置、および、ロボットアーム11の移動速度の少なくとも一方の算出結果を互いに出力することによって他方の算出結果を取得し、自身の算出結果と取得された他方の算出結果とを比較することによって、相互に動作状態を監視し、算出結果を比較した結果に基づいて動作異常が検出された場合に停止指令を出力する。これにより、互いの算出結果同士を比較することによって、第1制御部21および第2制御部22が相互に動作状態の監視を行うことができるとともに、算出結果を比較した結果に基づいて、第1制御部21および第2制御部22のいずれかに異常が生じていると判断された場合には駆動部12の動作を停止することができる。そのため、第1制御部21および第2制御部22の各々による演算処理に異常が生じていないかを相互に監視することができるので、ロボット10の動作の異常をより正確に検出することができる。
 [変形例]
 なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は、上記した実施形態の説明ではなく請求の範囲によって示され、さらに請求の範囲と均等の意味および範囲内でのすべての変更(変形例)が含まれる。
 たとえば、上記実施形態では、第1制御部21および第2制御部22とは別個に設けられた停止制御部23から、駆動部12の動作を停止させるための信号が駆動回路部24に出力される例を示したが、本開示はこれに限られない。本開示では、停止制御部を設けずに、第1制御部および第2制御部の各々から直接的に駆動部の動作を停止させるための信号が駆動回路部に出力されるようにしてもよい。また、第2制御部22からの停止指令が第1制御部21を介して停止制御部23に入力される例を示したが、第1制御部および第2制御部の両方から直接的に停止制御部に停止指令が出力されるようにしてもよい。
 また、上記実施形態では、停止制御部23が、2つの第1停止制御部23aおよび第2停止制御部23bにより冗長化されている例を示したが、本開示はこれに限られない。本開示では、停止制御部は冗長化されていなくともよい。また、停止制御部を、3つ以上の演算装置または処理回路によって冗長化するようにしてもよい。
 また、上記実施形態では、第1制御部21から第2制御部22に対して速度指令を出力するとともに、第1制御部21から出力される速度指令に対応する理想的な検出値が、速度指令に基づく指令値として取得され、速度指令に基づく指令値と、エンコーダ14の検出値とを比較することによって、動作異常が検出される例を示したが、本開示はこれに限られない。本開示では、第1制御部から第2制御部に出力される駆動部の動作を制御するための指令は、回転速度を示す速度指令でなくともよい。駆動部の動作を制御するための指令は、たとえば、サーボモータのトルクの大きさを示すトルク指令であってもよいし、サーボモータの回転数の指令であってもよい。また、速度指令に基づく指令値が第1制御部により取得されて第2制御部に出力される例を示したが、第1制御部および第2制御部の各々によって、指令に基づいて理想的な検出値に対応する指令値が算出されるようにしてもよい。
 また、上記実施形態では、入出力モジュール25によって、停止スイッチ101からの信号が受け付けられる例を示したが、本開示はこれに限られない。本開示では、入出力モジュールによって、レーザスキャナおよびライトカーテンなどの検出装置、または、ロボットの作業エリアに設けられた扉部のロック状態の検出などを行うスイッチなどからの入力を受け付けるようにしてもよい。また、入出力モジュールを設けないようにしてもよい。
 また、上記実施形態では、第1制御部21と第2制御部22との各々が、ロボットアーム11の位置、ロボットアーム11の移動速度、エンドエフェクタ15の向き、および、ロボットアーム11が停止しているか否かの判定に基づいて、動作異常を検出する例を示したが、本開示はこれに限られない。本開示では、第1制御部と第2制御部との各々を、ロボットアームの位置、ロボットアームの移動速度、エンドエフェクタの向き、および、ロボットアームが停止しているか否かの判定のうちの少なくとも2つに基づいて、動作異常を検出するようにしてもよい。
 また、上記実施形態では、第1制御部21と第2制御部22との各々が、算出されたロボットアーム11の位置、および、ロボットアーム11の移動速度の算出結果を互いに出力することによって他方の算出結果を取得し、自身の算出結果と取得された他方の算出結果とを比較することによって、相互に動作状態を監視する例を示したが、本開示はこれに限られない。本開示では、第1制御部と第2制御部との各々を、ロボットアームの位置、および、ロボットアームの移動速度のうちの少なくとも一方の算出結果を比較することによって、相互に動作状態を監視するようにしてもよい。
 また、上記実施形態では、駆動回路部24のスイッチング素子Swに入力されるゲート信号を停止させてスイッチング動作をオフにすることによって、駆動部12に供給される電力を遮断して駆動部12の動作を停止させる例を示したが、本開示はこれに限られない。本開示では、電磁接触器などの開閉器または遮断器によって、駆動部に供給される電力を遮断することによって駆動部の動作を停止するようにしてもよい。
 また、上記実施形態では、ワークWの搬送を行う6軸の垂直多関節ロボットであるロボット10の動作の制御を行う例を示したが、本開示はこれに限られない。本開示では、製造または加工を行うロボットの制御を行うようにしてもよい。また、ロボットは、6軸以外の軸数を有する垂直多関節ロボットであってもよいし、半導体基板を搬送するような水平多関節ロボットであってもよい。また、ロボットアームを有さず直動機構によって動作するロボットの制御を行うようにしてもよい。また、第1制御部に対して上位の制御装置からの信号が入力されることによってロボットの動作が制御される例を示したが、記憶部に記憶された予め設定されたパラメータに基づいて、第1制御部から第2制御部に指令が出力されるようにしてもよい。
 また、上記実施形態では、ロボットアーム11に取り付けられているエンドエフェクタ15がワークWを把持するロボットハンドである例を示したが、本開示はこれに限られない。本開示では、ロボットアームに取り付けられるエンドエフェクタは、塗装ガン、ネジ締めのためのツール、撮像部、または、検出用のセンサなどであってもよい。すなわち、エンドエフェクタを用いてロボットによって行われる作業は、搬送作業のみならず、塗装作業、製造組立作業、撮像作業、または、検査作業などであってもよい。
 また、上記実施形態では、入出力モジュール25からの信号が、第2制御部22に入力されるとともに第2制御部22を介して第1制御部21に入力され、通信モジュール26からの信号が、第1制御部21に入力されるとともに第1制御部21を介して第2制御部22に入力される例を示したが、本開示はこれに限られない。本開示では、反対に、入出力モジュールからの信号が、第1制御部に入力されるとともに第1制御部を介して第2制御部に入力され、通信モジュールからの信号が、第2制御部に入力されるとともに第2制御部を介して第1制御部に入力されてもよい。また、入出力モジュールからの信号と通信モジュールからの信号の両方が、第1制御部に入力されるとともに、第1制御部を介して第2制御部に入力されてもよいし、両方が第2制御部に入力されるとともに、第2制御部を介して第1制御部に入力されてもよい。また、入出力モジュールおよび通信モジュールの各々からの信号が、第1制御部と第2制御部との両方に直接的に入力されるようにしてもよい。
 また、上記実施形態では、第1制御部21、第2制御部22、および、停止制御部23の各々が互いに異なる基板に配置されている例を示したが、本開示はこれに限られない。本開示では、第1制御部、第2制御部、および、停止制御部のうちの2つ、または、全てが、共通の基板に配置されていてもよい。また、第2制御部は、複数のサーボモータの各々ごとに、複数の基板の各々に配置されていてもよい。すなわち、複数のサーボモータの個数に対応するように、複数の第2制御部が備えられていてもよい。
 また、上記実施形態では、第1制御部21、第2制御部22、および、停止制御部23の各々がロボットコントローラ20に配置されている例を示したが、本開示はこれに限られない。本開示では、第2制御部がロボットアーム側に配置されていてもよい。たとえば、第2制御部と駆動回路部とが、ロボットアームに配置されていてもよい。また、第1制御部の実行する処理のうちの一部を、ロボットコントローラの外部のコンピュータなどの制御装置が実行するようにしてもよい。
 本明細書で開示する要素の機能は、開示された機能を実行するよう構成またはプログラムされた汎用プロセッサ、専用プロセッサ、集積回路、ASIC(Application Specific Integrated Circuits)、従来の回路、および/または、それらの組み合わせ、を含む回路(circuitry)または処理回路を使用して実行できる。プロセッサは、トランジスタやその他の回路を含むため、処理回路または回路と見なされる。本開示において、回路、ユニット、または手段は、列挙された機能を実行するハードウェアであるか、または、列挙された機能を実行するようにプログラムされたハードウェアである。ハードウェアは、本明細書に開示されているハードウェアであってもよいし、あるいは、列挙された機能を実行するようにプログラムまたは構成されているその他の既知のハードウェアであってもよい。ハードウェアが回路の一種と考えられるプロセッサである場合、回路、手段、またはユニットはハードウェアとソフトウェアの組み合わせであり、ソフトウェアはハードウェアおよび/またはプロセッサの構成に使用される。
 たとえば、第1制御部および第2制御部の各々は、CPU以外の演算装置または処理回路を含んでいてもよい。また、停止制御部の第1停止制御部および第2停止制御部の各々は、CPLD以外の演算装置または処理回路を含んでいてもよい。また、入出力モジュールの第1信号生成部および第2信号生成部の各々は、FPGA以外の演算装置または処理回路を含んでいてもよい。
 [態様]
 上記した例示的な実施形態は、以下の態様の具体例であることが当業者により理解される。
 (項目1)
 ロボットと、
 前記ロボットを動作させるための駆動源となる駆動部と、
 前記ロボットの動作を制御する第1制御部と、
 前記第1制御部からの指令に基づいて前記駆動部に供給される電力を制御する第2制御部と、を備え、
 前記第1制御部と前記第2制御部との各々は、
  相互に動作状態を監視するとともに前記ロボットの動作の異常を検出し、
  前記動作状態および前記ロボットの動作の少なくとも一方の異常である動作異常が検出された場合に、前記駆動部の動作を停止するための停止指令を出力する、ロボットシステム。
 (項目2)
 前記第1制御部および前記第2制御部とは別個に設けられ、前記駆動部の動作を停止させる制御を行う停止制御部をさらに備え、
 前記第1制御部と前記第2制御部との各々は、前記動作異常が検出された場合に、前記停止制御部に対して前記停止指令を別個に出力する、項目1に記載のロボットシステム。
 (項目3)
 前記駆動部に電力を供給する駆動回路部をさらに備え、
 前記停止制御部は、第1停止制御部および第2停止制御部を有し、
 前記第1制御部および前記第2制御部の各々は、前記動作異常が検出された場合に、前記第1停止制御部および前記第2停止制御部の各々に対して前記停止指令を出力し、
 前記第1停止制御部および前記第2停止制御部の各々は、前記停止指令に基づいて前記駆動回路部の動作を停止させる、項目2に記載のロボットシステム。
 (項目4)
 前記第1停止制御部および前記第2停止制御部の各々は、互いに信号の送受信を行うことによって相互に動作状態を監視する、項目3に記載のロボットシステム。
 (項目5)
 前記駆動部は、電力が供給されることにより回転するサーボモータと、前記サーボモータの回転角を検出する回転角検出部とを含み、
 前記第1制御部および前記第2制御部の各々は、前記回転角検出部により検出された前記サーボモータの回転角を示す検出値と、前記第1制御部から前記第2制御部に対して出力された前記駆動部の動作を制御するための指令に基づく指令値とを比較することによって、前記動作異常を別個に検出するとともに、前記動作異常が検出された場合に前記停止指令を別個に出力する、項目1~4のいずれか1項に記載のロボットシステム。
 (項目6)
 前記駆動部の動作を停止するための停止信号を受け付けるための入出力モジュールをさらに備え、
 前記入出力モジュールは、受け付けられた前記停止信号に基づいて、異常が検出されたことを示す異常信号を各々が生成する第1信号生成部および第2信号生成部を含み、
 前記第1信号生成部および前記第2信号生成部の各々は、前記第1制御部および前記第2制御部の各々に対して生成された前記異常信号を出力する、項目1~5のいずれか1項に記載のロボットシステム。
 (項目7)
 外部装置からの前記駆動部の動作を停止するための停止信号が入力される通信モジュールをさらに備え、
 前記第1制御部および前記第2制御部の各々は、前記通信モジュールを介して取得された前記停止信号に基づいて、前記停止指令を出力する、項目1~6のいずれか1項に記載のロボットシステム。
 (項目8)
 前記ロボットは、作業を行うためのエンドエフェクタが取り付けられたロボットアームを含み、
 前記駆動部は、前記ロボットアームを動作させ、
 前記第1制御部と前記第2制御部との各々は、前記ロボットアームの位置、前記ロボットアームの移動速度、前記エンドエフェクタの向き、および、前記ロボットアームが停止しているか否かの判定のうちの少なくとも2つに基づいて、前記動作異常を検出するとともに、前記動作異常が検出された場合に、前記停止指令を出力する、項目1~7のいずれか1項に記載のロボットシステム。
 (項目9)
 前記駆動部は、電力が供給されることにより回転するサーボモータと、前記サーボモータの回転角を検出する回転角検出部とを含み、
 前記ロボットは、作業を行うためのエンドエフェクタが取り付けられたロボットアームを含み、
 前記第1制御部および前記第2制御部の各々は、
  前記回転角検出部により検出された前記サーボモータの回転角を示す検出値に基づいて、前記駆動部の動作により移動する前記ロボットアームの位置、および、前記ロボットアームの移動速度の少なくとも一方を算出し、
  算出された前記ロボットアームの位置、および、前記ロボットアームの移動速度の少なくとも一方の算出結果を互いに出力することによって他方の前記算出結果を取得し、
  自身の前記算出結果と取得された他方の前記算出結果とを比較することによって、相互に前記動作状態を監視し、
  前記算出結果を比較した結果に基づいて前記動作異常が検出された場合に前記停止指令を出力する、項目1~8のいずれか1項に記載のロボットシステム。

Claims (9)

  1.  ロボットと、
     前記ロボットを動作させるための駆動源となる駆動部と、
     前記ロボットの動作を制御する第1制御部と、
     前記第1制御部からの指令に基づいて前記駆動部に供給される電力を制御する第2制御部と、を備え、
     前記第1制御部と前記第2制御部との各々は、
      相互に動作状態を監視するとともに前記ロボットの動作の異常を検出し、
      前記動作状態および前記ロボットの動作の少なくとも一方の異常である動作異常が検出された場合に、前記駆動部の動作を停止するための停止指令を出力する、ロボットシステム。
  2.  前記第1制御部および前記第2制御部とは別個に設けられ、前記駆動部の動作を停止させる制御を行う停止制御部をさらに備え、
     前記第1制御部と前記第2制御部との各々は、前記動作異常が検出された場合に、前記停止制御部に対して前記停止指令を別個に出力する、請求項1に記載のロボットシステム。
  3.  前記駆動部に電力を供給する駆動回路部をさらに備え、
     前記停止制御部は、第1停止制御部および第2停止制御部を有し、
     前記第1制御部および前記第2制御部の各々は、前記動作異常が検出された場合に、前記第1停止制御部および前記第2停止制御部の各々に対して前記停止指令を出力し、
     前記第1停止制御部および前記第2停止制御部の各々は、前記停止指令に基づいて前記駆動回路部の動作を停止させる、請求項2に記載のロボットシステム。
  4.  前記第1停止制御部および前記第2停止制御部の各々は、互いに信号の送受信を行うことによって相互に動作状態を監視する、請求項3に記載のロボットシステム。
  5.  前記駆動部は、電力が供給されることにより回転するサーボモータと、前記サーボモータの回転角を検出する回転角検出部とを含み、
     前記第1制御部および前記第2制御部の各々は、前記回転角検出部により検出された前記サーボモータの回転角を示す検出値と、前記第1制御部から前記第2制御部に対して出力された前記駆動部の動作を制御するための指令に基づく指令値とを比較することによって、前記動作異常を別個に検出するとともに、前記動作異常が検出された場合に前記停止指令を別個に出力する、請求項1に記載のロボットシステム。
  6.  前記駆動部の動作を停止するための停止信号を受け付けるための入出力モジュールをさらに備え、
     前記入出力モジュールは、受け付けられた前記停止信号に基づいて、異常が検出されたことを示す異常信号を各々が生成する第1信号生成部および第2信号生成部を含み、
     前記第1信号生成部および前記第2信号生成部の各々は、前記第1制御部および前記第2制御部の各々に対して生成された前記異常信号を出力する、請求項1に記載のロボットシステム。
  7.  外部装置からの前記駆動部の動作を停止するための停止信号が入力される通信モジュールをさらに備え、
     前記第1制御部および前記第2制御部の各々は、前記通信モジュールを介して取得された前記停止信号に基づいて、前記停止指令を出力する、請求項1に記載のロボットシステム。
  8.  前記ロボットは、作業を行うためのエンドエフェクタが取り付けられたロボットアームを含み、
     前記駆動部は、前記ロボットアームを動作させ、
     前記第1制御部と前記第2制御部との各々は、前記ロボットアームの位置、前記ロボットアームの移動速度、前記エンドエフェクタの向き、および、前記ロボットアームが停止しているか否かの判定のうちの少なくとも2つに基づいて、前記動作異常を検出するとともに、前記動作異常が検出された場合に、前記停止指令を出力する、請求項1に記載のロボットシステム。
  9.  前記駆動部は、電力が供給されることにより回転するサーボモータと、前記サーボモータの回転角を検出する回転角検出部とを含み、
     前記ロボットは、作業を行うためのエンドエフェクタが取り付けられたロボットアームを含み、
     前記第1制御部および前記第2制御部の各々は、
      前記回転角検出部により検出された前記サーボモータの回転角を示す検出値に基づいて、前記駆動部の動作により移動する前記ロボットアームの位置、および、前記ロボットアームの移動速度の少なくとも一方を算出し、
      算出された前記ロボットアームの位置、および、前記ロボットアームの移動速度の少なくとも一方の算出結果を互いに出力することによって他方の前記算出結果を取得し、
      自身の前記算出結果と取得された他方の前記算出結果とを比較することによって、相互に前記動作状態を監視し、
      前記算出結果を比較した結果に基づいて前記動作異常が検出された場合に前記停止指令を出力する、請求項1に記載のロボットシステム。
PCT/JP2023/037564 2022-10-19 2023-10-17 ロボットシステム WO2024085148A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-167407 2022-10-19
JP2022167407A JP2024060200A (ja) 2022-10-19 2022-10-19 ロボットシステム

Publications (1)

Publication Number Publication Date
WO2024085148A1 true WO2024085148A1 (ja) 2024-04-25

Family

ID=90737794

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/037564 WO2024085148A1 (ja) 2022-10-19 2023-10-17 ロボットシステム

Country Status (2)

Country Link
JP (1) JP2024060200A (ja)
WO (1) WO2024085148A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008022590A (ja) * 2006-07-10 2008-01-31 Nachi Fujikoshi Corp サーボモータ監視装置
JP2014144495A (ja) * 2013-01-28 2014-08-14 Yaskawa Electric Corp ロボットシステム
WO2018079075A1 (ja) * 2016-10-24 2018-05-03 パナソニックIpマネジメント株式会社 エンコーダの異常検出方法及び異常検出装置、並びにロボット制御システム
JP2022102023A (ja) * 2020-12-25 2022-07-07 セイコーエプソン株式会社 ロボットシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008022590A (ja) * 2006-07-10 2008-01-31 Nachi Fujikoshi Corp サーボモータ監視装置
JP2014144495A (ja) * 2013-01-28 2014-08-14 Yaskawa Electric Corp ロボットシステム
WO2018079075A1 (ja) * 2016-10-24 2018-05-03 パナソニックIpマネジメント株式会社 エンコーダの異常検出方法及び異常検出装置、並びにロボット制御システム
JP2022102023A (ja) * 2020-12-25 2022-07-07 セイコーエプソン株式会社 ロボットシステム

Also Published As

Publication number Publication date
JP2024060200A (ja) 2024-05-02

Similar Documents

Publication Publication Date Title
CA2940490C (en) Safety system for industrial robot
US9898815B2 (en) Fault diagnostic device of robot system for judging fault by camera image
EP3388906B1 (en) Motor control system, motor controller, and method for setting safety function
CN101192062B (zh) 用于监测工业机器人的状况的方法和装置
US5834916A (en) Industrial robot and its control unit
US10699929B2 (en) Controller of transfer device
US8036776B2 (en) Method and device for controlling motion of an industrial robot with a position switch
US9266240B2 (en) Robot
JP2007301680A (ja) ロボットアーム診断装置
US20160231728A1 (en) Method And System For Operating A Multi-Axis Machine, In Particular A Robot
US11038443B2 (en) Motor control system and motor control apparatus
WO2024085148A1 (ja) ロボットシステム
CN110695769B (zh) 机床的异常检测装置
CN111505933A (zh) 伺服驱动器和伺服系统
JPH08286701A (ja) 複数ロボット制御方法およびシステム
CN114851186A (zh) 机器人控制装置及机器人系统
US6526324B1 (en) Controller for industrial machine
US11404993B2 (en) Motor drive system and robot
EP0919894B1 (en) Controller for industrial machine
US10317201B2 (en) Safety monitoring for a serial kinematic system
JP2002144277A (ja) ロボット
WO2022215210A1 (ja) モータの結線ミス検出装置
JP3855629B2 (ja) ロボットの干渉検出装置
JP2017094446A (ja) ロボット制御装置
JPH1199491A (ja) ロボット制御装置