Robot controller and robot control method
Patent Information
- Application Number
- PCT/JP2026/010942
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-21
- Filing Date
- 2026-03-19
- Publication Date
- 2026-09-24
Smart Images

Figure JP2026010942_24092026_PF_FP_ABST
Abstract
Description
Robot Controller and Robot Control Method
[0001] The technology disclosed herein relates to a robot controller and a robot control method.
[0002] Patent Document 1 describes a conventional robot control device. The conventional robot control device has a function of monitoring whether there is an abnormality in a robot system. In the robot control device, when a monitoring unit detects an abnormality in the robot system, the monitoring unit switches a power cut-off unit so that an electrical connection between a motor drive unit and an external power source is cut off.
[0003] Japanese Patent No. 6641922
[0004] The capability required for a monitoring unit of a robot controller varies depending on the robot or robot system to be controlled by the robot controller. For example, when the number of monitored objects increases, high capability is required for the monitoring unit.
[0005] In order to improve the capability of the monitoring unit in a conventional robot controller, it is necessary to replace the processor of the monitoring unit with a processor having higher processing capability. That is, an individual monitoring unit must be prepared in accordance with the robot or robot system to be controlled by the robot controller.
[0006] The technology disclosed herein relates to a robot controller. The robot controller comprises: a drive unit that receives an operation command from a control unit and outputs a drive command for moving a robot; a first monitoring unit that monitors the robot based on a sensor output and outputs a stop signal for stopping the operation of the robot when an abnormality of the robot is detected; and a second monitoring unit connected to the first monitoring unit, which monitors the robot based on a sensor output and outputs a stop command to the first monitoring unit when an abnormality of the robot is detected.
[0007] In the robot controller described above, since the first monitoring unit and the second monitoring unit share and monitor the operation of the robot, high overall capability can be ensured for the entire monitoring unit.
[0008] Figure 1 shows a robot controlled by a robot controller. Figure 2 is a block diagram of the robot controller. Figure 3 shows the schematic structure of the robot controller enclosure. Figure 4 shows the signal flow when the monitoring board of the first drive board outputs a stop signal. Figure 5 shows the signal flow when the monitoring board of the second drive board outputs a stop signal. Figure 6 shows the signal flow when the stop switch is pressed. Figure 7 is a block diagram of a robot controller with two or more monitoring boards installed. Figure 8 is a flowchart of the control procedure for monitoring the robot by the robot controller. Figure 9 shows the signal flow when the monitoring board of the first drive board outputs a stop signal in a modified robot controller. Figure 10 is a block diagram of a modified robot controller.
[0009] The following describes embodiments of the robot controller and robot control method with reference to the drawings. The robot controller and robot control method described herein are illustrative examples.
[0010] Figure 1 illustrates a robot 2 controlled by a robot controller 1. The robot 2 in the figure is an articulated robot. Specifically, the robot 2 in Figure 1 is a 6-axis vertical articulated robot. Robot 2 is a so-called industrial robot and performs tasks such as workpiece handling.
[0011] Furthermore, the robots to which the technology disclosed herein can be applied are not limited to articulated robots. The technology disclosed herein is applicable to robots of various structures. Also, the tasks performed by robot 2 are not limited to transport tasks. Robot 2 can perform a variety of tasks. Moreover, robot 2 is not limited to industrial robots.
[0012] Robot 2 has an arm 21. The arm 21 includes a plurality of links connected to each other. The arm 21 supports an end effector 22. Robot 2 has a plurality of actuators for moving the arm 21 and the end effector 22. The actuators include an electric motor 31, as shown in Figure 2. The electric motor 31 may be an AC servo motor whose rotating shaft is rotated by three-phase AC power. The electric motor 31 may be a servo motor with a brake.
[0013] The robot controller 1 controls the robot 2, or the robot system 20, which includes the robot 2 and its peripheral equipment. The robot controller 1 is electrically connected to the robot system 20 via a harness 200.
[0014] Examples of peripheral devices controlled by the robot controller 1 include, for example, a travel axis 201 that moves the robot 2. A workpiece positioner 202 or locator is also an example of a peripheral device. However, peripheral devices are not limited to these travel axis 201, positioner 202, or locator. For example, a turntable that rotates the robot 2, a conveyor that transports workpieces to the robot 2, a device that performs processing on the workpieces transported by the robot 2, and an aligner that aligns the substrate as a workpiece are also examples of peripheral devices.
[0015] In the following explanation, the term "controlling robot 2" may be used to refer to the case where robot controller 1 controls robot system 20.
[0016] Figure 2 is a block diagram of the robot controller 1. Figure 3 schematically shows the structure of the enclosure 10 of the robot controller 1.
[0017] In Figure 2, the dashed lines indicate connections between elements via communication lines. These connections are network connections using a specific protocol. Preferably, the specific protocol is one that guarantees real-time performance. A protocol that guarantees real-time performance improves the accuracy of robot control. The specific protocol may be, for example, EtherCAT (registered trademark). Since EtherCAT is an open protocol, it is easy to connect a general-purpose computer 44 to the servo board 11, which will be described later. Note that the specific protocol is not limited to EtherCAT.
[0018] Solid lines indicate connections between elements in an electrical circuit. These connections mean that voltage or current signals are exchanged between the elements.
[0019] The robot controller 1 includes a servo board 11. The servo board 11 receives operation commands from the control unit 4 (described later) and outputs drive commands for the electric motor 31. In this specification, "board" may be composed of one or more printed circuit boards.
[0020] The servo board 11 has a servo CPU (Central Processing Unit) 111. The servo board 11 may have multiple servo CPUs 111. The servo board 11 may have a number of servo CPUs 111 corresponding to the number of electric motors 31 that can be connected to the robot controller 1.
[0021] The servo board 11 may have fewer servo CPUs 111 than the number of electric motors 31. The servo board 11 may have one servo CPU 111. One servo CPU 111 may support all of the robot 2's motion axes, for example, all six axes of electric motors 31. Alternatively, one servo CPU 111 may support all of the robot 2's motion axes as well as the electric motors 31 of peripheral devices 201 and 202.
[0022] The control unit 4 is connected to the servo board 11 via communication. The connection between the control unit 4 and the servo board 11 is a network connection using the specific protocol described above.
[0023] The control unit 4 includes a main processor 41 and a memory 42. The main processor 41 calculates operation commands for the robot 2 or peripheral devices 201, 202 according to the software stored in the memory 42. The operation commands may be position commands, actuator speed commands or torque commands, or a combination of position commands, speed commands, and torque commands. The control unit 4 transmits the calculated operation commands to the servo board 11.
[0024] Various control units 4 can be connected to the servo board 11. The control unit 4 may be a processor unit 43 connected to the robot controller 1, as shown in Figure 3. The processor unit 43 is connected to port 110 via a communication cable 120. Port 110 opens to the outside of the enclosure 10 of the robot controller 1. The enclosure 10 of the robot controller 1 and the processor unit 43 may be integrated into one unit.
[0025] The control unit 4 may also be a general-purpose computer 44 connected to the robot controller 1. The computer 44 is connected to the port 110 of the robot controller 1 via a communication cable 120, instead of the processor unit 43.
[0026] Computer 44 is, for example, an IPC (Industrial PC). Computer 44 may also be a commercially available computer. The main processor 41 of computer 44 may have a higher processing power than the main processor 41 of processor unit 43. The high processing power of the main processor is advantageous for controlling robot 2 or a robot system 20 with a large number of controlled objects. Computer 44 is also suitable for controlling social robots, for example, which have more axes than industrial robots.
[0027] A servo drive unit 45 can be connected to the computer 44 separately from the robot controller 1. The servo drive unit 45 may be, for example, a commercially available servo drive unit. The servo drive unit 45 may be used, for example, to drive peripheral equipment of the robot 2.
[0028] The control unit 4 may also be a processor board housed in the enclosure 10 of the robot controller 1. The processor board may be connected to the servo board 11 via a connector inside the enclosure 10. A processor unit 43 or a computer 44 may be connected to the robot controller 1 having the processor board via a port 110.
[0029] The processor unit 43, computer 44, or processor board differ in the processing power of their main processor 41. As mentioned above, the processing power of the main processor 41 in computer 44 may be higher than that of the main processor 41 in processor unit 43. Also, the processing power of the main processor 41 in processor unit 43 may be higher than that of the main processor 41 in processor board. The control unit 4 to be combined with the robot controller 1 is selected from the processor unit 43, computer 44, or processor board according to the specifications of the robot 2 or robot system 20 to be controlled. The robot controller 1 is a highly expandable controller that can handle everything from low-spec to high-spec robot control.
[0030] As shown in Figure 2 or Figure 3, the robot controller 1 includes an amplifier board 12. The amplifier board 12 is an example of an amplifier module. The amplifier board 12 is connected to the servo board 11 via a communication line for communication. The servo board 11 transmits drive commands for the electric motor 31 to the amplifier board 12 via the communication line.
[0031] Furthermore, the amplifier board 12 and the servo board 11 are also connected to each other by an electrical circuit.
[0032] The amplifier board 12 has an inverter circuit that includes multiple switching elements. The inverter circuit supplies AC power to the electric motor 31. The amplifier board 12 has inverter circuits corresponding to the number of electric motors 31 that can be connected to the robot controller 1.
[0033] The robot controller 1 includes a power supply board 13. The power supply board 13 supplies power to the electric motor 31 through the amplifier board 12. The power supply board 13 is an example of a power supply module.
[0034] More specifically, in each inverter circuit of the amplifier board 12, multiple switching elements perform switching operations according to drive commands from the servo board 11. The switching operation of the multiple switching elements supplies power from the power supply board 13 to the electric motor 31 as three-phase AC power. The electric motor 31 is driven by the power supply. The operation of the electric motor 31 causes the robot 2 or peripheral devices 201 and 202 to operate.
[0035] The amplifier board 12 and the power supply board 13 constitute the power supply unit 16 of the robot controller 1.
[0036] The amplifier board 12 has a current sensor 14. The current sensor 14 outputs a signal corresponding to the current supplied to the electric motor 31. The amplifier board 12 transmits the detected value of the current sensor 14 as a sensor output to the servo board 11.
[0037] An encoder 32 is connected to the servo board 11. The encoder 32 is included in each actuator of the robot 2. The encoder 32 transmits a detected value corresponding to the rotation angle of the electric motor 31 to the servo board 11 as a sensor output.
[0038] Torque sensors 33 are also connected to the servo board 11. The torque sensors 33 are included in each actuator of the robot 2. The torque sensors 33 transmit the detected values corresponding to the torque of the robot 2's axes as sensor outputs to the servo board 11.
[0039] The output of the current sensor 14, the output of the encoder 32, and the output of the torque sensor 33 are each used for monitoring the robot 2 or the robot system 20.
[0040] The robot controller 1 includes a monitoring board 5. The monitoring board 5 is connected to a servo board 11 via communication. The monitoring board 5 is also connected to an amplifier board 12 via an electric circuit through the servo board 11.
[0041] The monitoring board 5 includes a redundant first processor 51 and a redundant second processor 52. The monitoring board 5 monitors the robot 2 or the robot system 20 including the robot 2 and peripheral devices. The monitoring board 5 is an example of a first monitoring unit. When the monitoring board 5 detects an abnormality, it outputs a stop signal for stopping the robot 2. Details of the monitoring performed by the monitoring board 5 will be described later.
[0042] Here, the monitoring board 5 may be stacked on the servo board 11. Here, the servo board 11 including the monitoring board 5 is referred to as a first drive board 91 (see also FIG. 3).
[0043] The robot controller 1 includes an I / F board 61. The I / F board 61 is connected to the servo board 11 via an electric circuit. The servo board 11 also connects the I / F board 61 and the monitoring board 5 to each other via an electric circuit.
[0044] An external module is connected to the I / F board 61. The external module is a PLC (Programable Logic Controller) 63 connected to a detection device such as a laser scanner or a light curtain, for example. The detection device detects the robot 2 in operation and outputs a detection signal to the PLC 63. Upon receiving the detection signal, the PLC 63 outputs a stop signal for the robot 2 to the servo board 11 through the I / F board 61. The PLC 63 may also receive a signal from a switch that detects an open state of a safety fence provided in a work area of the robot 2, and output a stop signal for the robot 2 to the servo board 11 through the I / F board 61 based on the switch signal.
[0045] The robot controller 1 comprises a second drive board 92. The second drive board 92 has the same structure as the first drive board 91.
[0046] The second drive board 92 includes a servo board 15. The servo board 15 is the same as the aforementioned servo board 11. The servo board 15 comprises a servo CPU 151. The servo board 15 of the second drive board 92 is communicatively connected to the servo board 11 of the first drive board 91.
[0047] The second drive board 92 includes a monitoring board 7. The monitoring board 7 is stacked on the servo board 15. The monitoring board 7 and the servo board 15 are communicatively connected and connected via an electric circuit. The connection mode between the monitoring board 7 and the servo board 15 is the same as the connection mode between the monitoring board 5 and the servo board 11.
[0048] The monitoring board 7 includes a redundant first processor 71 and a redundant second processor 72. The function of the monitoring board 7 is the same as the function of the monitoring board 5. The monitoring board 7 is an example of a second monitoring unit.
[0049] An I / F board 62 is connected to the servo board 15 via an electric circuit. The servo board 15 also connects the I / F board 62 and the monitoring board 7 to each other via an electric circuit.
[0050] A stop switch 64 is connected to the I / F board 62. The stop switch 64 is a manual switch operated by an operator. When the operator turns on the stop switch 64, the I / F board 62 outputs a stop signal for the robot 2 to the servo board 15.
[0051] Note that an external module may be connected to the I / F board 62 via a PLC 63, and the stop switch 64 may be connected to the I / F board 61. Furthermore, one of the I / F board 61 and the I / F board 62 may be omitted.
[0052] As shown in Figure 3, the enclosure 10 of the robot controller 1 is equipped with a plurality of mounts 18. The drive boards 91 and 92 are detachably mounted on the mounts 18. The servo boards 11 and 15 of the drive boards 91 and 92 mounted on the mounts 18 are connected to each other by communication. The connection between the servo boards 11 and 15 may be made by plug and socket connection.
[0053] The drive boards 91 and 92 are examples of modules that are detachably mounted on the mount 18. In this specification, a "module" may consist of one printed circuit board, multiple printed circuit boards, or one or more printed circuit boards housed in an enclosure.
[0054] (Robot Monitoring) The robot controller 1 has at least the following safety functions: position monitoring, force monitoring, and emergency stop. However, the safety functions are not limited to these three functions. These safety functions are implemented by monitoring boards 5 and 7.
[0055] The position monitoring function monitors whether the robot 2's position is within the permitted operating position range. The robot controller 1 stops the robot 2 in protective action if its position falls outside the permitted operating position range.
[0056] The force monitoring function monitors whether the force applied to robot 2 is below the permitted operating force. If the force applied to robot 2 exceeds the permitted operating force, the robot controller 1 will stop robot 2 to protect it.
[0057] The emergency stop function is a feature that causes the robot controller 1 to perform an emergency stop on the robot 2 when an emergency stop signal is input by the operator.
[0058] To explain the position monitoring function in detail, the robot controller 1 monitors the position of the robot 2 as the position of multiple monitoring models 23 to 29, as illustrated by the dashed lines in Figure 1. If the position of monitoring models 23 to 29 is outside the permitted operating space, the robot controller 1 will stop the robot 2 in protective action. Monitoring models 23 to 29 are examples of parts of the robot 2.
[0059] The servo board 11 receives the sensor output from the encoder 32 and calculates the current value of the axis angle or position by converting the rotation angle of the electric motor 31, which is the value detected by the encoder 32, into the axis angle or position of the robot 2. The servo board 11 transmits the current value of the axis angle or position to the monitoring board 5 or the monitoring board 7.
[0060] The monitoring boards 5 and 7 calculate the positions of the monitoring models 23 to 29 based on current values such as the position from the servo board 11, and detect when the positions of the monitoring models 23 to 29 have moved outside the permitted operating space. If the positions of the monitoring models 23 to 29 move outside the permitted operating space, the monitoring boards 5 and 7 output a stop signal (or a stop command, as described later).
[0061] Furthermore, the robot controller 1 may, in relation to monitoring the position of the robot 2, detect when the angle or position of each axis of the robot 2 falls outside a predetermined range of permitted movement axes, based on the detected values of the encoder 32.
[0062] The robot controller 1 also detects abnormalities in the operation of the robot 2 by comparing the drive command transmitted from the servo board 11 to the amplifier board 12 with the detected value indicating the rotation angle of the electric motor 31, which is detected by the encoder 32.
[0063] Specifically, the servo board 11 estimates the angle or position of the axis based on the drive command transmitted to the amplifier board 12, and transmits the estimated value of the position, etc., to the monitoring board 5 or the monitoring board 7.
[0064] The monitoring boards 5 and 7 calculate the difference between the estimated position of each axis from the servo board 11 and the current position of each axis based on the detected values from the encoder 32 mentioned above. If the difference is greater than a preset threshold, they detect an abnormal operation of the robot 2. If an abnormal operation is detected, the monitoring boards 5 and 7 output a stop signal (or stop command).
[0065] The monitoring boards 5 and 7 have redundant processors. The processors 51 and 52 of monitoring board 5 perform calculations in parallel, and the processors 71 and 72 of monitoring board 7 also perform calculations in parallel. The two processors 51, 52 and 71, 72 obtain the calculation results of the other by outputting their calculation results to each other. The two processors 51, 52 and 71, 72 monitor the status of each processor by comparing their own calculation results with the other calculation results they have obtained. If an abnormality is detected as a result of the monitoring, the monitoring boards 5 and 7 output a stop signal (or stop command).
[0066] Furthermore, in its force monitoring function, the robot controller 1 uses the sensor outputs of the current sensor 14, encoder 32, and torque sensor 33 to calculate the force applied to the robot 2 from an external source and monitors whether the force applied to the robot 2 is below the operating permission force.
[0067] (Stopping the robot by the monitoring board) Figures 4 to 6 show the flow of signals or data when the monitoring board 5 or 7 outputs a stop signal. Figure 4 shows the case when the monitoring board 5 of the first drive board 91 detects an abnormality. The monitoring board 5 outputs an SBC (Safe Brake Control) signal or an STO (Safety Torque Off) signal as a stop signal to the amplifier board 12 through the electrical circuit (see the solid arrow in Figure 4). The stop signal output by the monitoring board 5 through the electrical circuit is either a voltage signal or a current signal.
[0068] When the amplifier board 12 receives an SBC signal, it activates the brake of the electric motor 31. The electric motor 31 slows down and stops. Also, when the amplifier board 12 receives an STO signal, it turns off the switching operation of the switching elements in the inverter circuit. The amplifier board 12 cuts off the power supply to the electric motor 31.
[0069] The robot 2 stops moving when it receives a stop signal from the monitoring board 5.
[0070] Figure 5 shows the signal flow when the monitoring board 7 of the second drive board 92 detects an abnormality. As shown by the dashed arrows in Figure 5, the monitoring board 7 outputs a stop command (SBC / STO) to the monitoring board 5 of the first drive board 91 via communication. The stop command output by the monitoring board 7 is not a voltage signal or a current signal, but information transmitted via communication.
[0071] Upon receiving a stop command, the monitoring board 5 outputs a stop signal (SBC / STO) to the amplifier board 12 through the electrical circuit, as shown by the solid arrow in Figure 5. Upon receiving the stop signal, the amplifier board 12 activates the brake of the electric motor 31 or cuts off the power supply to the electric motor 31, as described above. The robot 2 stops moving.
[0072] Figure 6 shows the signal flow when the stop switch 64 is turned ON. As shown by the solid arrows in Figure 6, the I / F board 62 outputs a stop signal, which is input to the monitoring board 7 via the electrical circuit. Upon receiving the stop signal, the monitoring board 7 outputs a stop command (SBC / STO) via communication to the monitoring board of the first drive board 91, as shown by the dashed arrows in Figure 6. Upon receiving the stop command, the monitoring board 5 outputs a stop signal to the amplifier board 12 via the electrical circuit. Upon receiving the stop signal, the amplifier board 12 activates the brake of the electric motor 31 or cuts off the power supply to the electric motor 31. The operation of the robot 2 stops.
[0073] (Expansion of monitoring boards) The robot controller 1 is equipped with two monitoring boards: a monitoring board 5 on the first drive board 91 and a monitoring board 7 on the second drive board 92. For example, monitoring board 5 may monitor the positions of some of the monitoring models 23 to 29, and monitoring board 7 may monitor the positions of the remaining monitoring models. The computational load required for monitoring boards 5 and 7 is high, and if one monitoring board 5 or 7 tries to monitor the positions of many monitoring models, a processor with high processing power is required. By having multiple monitoring boards 5 and 7 share the task of monitoring multiple monitoring models 23 to 29, high processing power is not required for each monitoring board 5 or 7. By combining two or more monitoring boards 5 and 7, the overall monitoring function of the robot controller 1 can be enhanced.
[0074] The monitoring board 5 may monitor some of the axes of the robot 2 or robot system 20, while the monitoring board 7 may monitor the remaining axes.
[0075] As mentioned above, robot controller 1 can handle everything from low-spec to high-spec robot control. In high-spec robot control, the number of monitoring models or axes to be monitored increases further, so the two monitoring boards 5 and 7 may not have sufficient processing power.
[0076] Therefore, the robot controller 1 has a structure that allows the number of monitoring boards to be easily increased or decreased. Figure 7 shows the robot controller 1 with an additional number of monitoring boards. The robot controller 1 includes a third drive board 93. The third drive board 93 has the same structure as the first drive board 91 and the second drive board 92.
[0077] The third drive board 93 has a servo board 17. The servo board 17 is the same as the servo boards 11 and 15 described above. The servo board 17 has a servo CPU 171. The servo board 17 of the third drive board 93 is connected to the servo board 11 of the first drive board 91 by communication.
[0078] The third drive board 93 has a monitoring board 8. As shown in Figure 3, the monitoring board 8 is stacked on top of the servo board 17. The monitoring board 8 and the servo board 17 are connected by communication and by an electrical circuit. The connection method between the monitoring board 8 and the servo board 17 is the same as the connection method between the monitoring board 5 and the servo board 11.
[0079] The monitoring board 8 has redundant first processor 81 and second processor 82. The functions of monitoring board 8 are the same as those of monitoring boards 5 and 7. Monitoring board 8 is an example of a third monitoring unit.
[0080] An I / F board 65 is connected to the servo board 17 by an electrical circuit. Note that the I / F board 65 may be omitted.
[0081] As shown in Figure 3, the enclosure 10 of the robot controller 1 is equipped with multiple mounts 18. As indicated by the dashed arrows in Figure 3, the third drive board 93 is detachably mounted on the mount 18. The servo board 17 of the third drive board 93 mounted on the mount 18 is connected to the servo board 11 of the first drive board 91 by communication. The robot controller 1 can be equipped with two or more drive boards 92 and 93.
[0082] The robot controller 1 has a structure that allows the number of monitoring boards to be increased or decreased. The mount 18 of the robot controller 1 is fitted with a number of drive boards corresponding to the number of robots 2 or robot systems 20 to be controlled. Even if the robots 2 or robot systems 20 to be controlled are high-spec, multiple monitoring boards can share the task of monitoring the robots 2 or robot systems 20.
[0083] Furthermore, if the robot 2 or robot system 20 to be controlled is low-spec, the number of monitoring models or axes to be monitored is small. The monitoring board 7 and the second drive board 92 may be removed from the robot controller 1, and only the monitoring board 5 may monitor the robot 2 or robot system 20.
[0084] (Control Procedure for the First Drive Board) The flowchart in Figure 8 shows the control procedure for the first drive board 91. Note that changes to the flowchart in Figure 8, such as rearranging the order of steps, omitting some steps, or adding other steps, are permitted.
[0085] First, in step S11 after the start, the servo board 11 of the first drive board 91 transmits a drive command to the amplifier board 12 via a communication line in accordance with the operation command from the control unit 4.
[0086] In the following step S12, it is determined whether the monitoring board 5 of the first drive board 91 has detected an abnormality based on the sensor output. If an abnormality is detected, in step S13, the monitoring board 5 outputs a stop signal to the amplifier board 12 through the electrical circuit.
[0087] If no abnormality is detected, in step S14, the monitoring board 5 determines whether it has received a stop command via communication from the other monitoring boards 7 and 9. If no stop command has been received, the process in Figure 8 returns to step S11. If a stop command has been received, in step S13, the monitoring board 5 of the first drive board 91 outputs a stop signal to the amplifier board 12 through the electrical circuit.
[0088] If the monitoring board 5 outputs a stop signal in step S13, the robot 2 or robot system 20 will stop.
[0089] (Effects) The robot controller 1 includes a monitoring board 7 in addition to the monitoring board 5. The monitoring boards 5 and 7 monitor the robot 2 or robot system 20 based on sensor output.
[0090] Specifically, monitoring board 5 monitors the positions of some of the monitoring models 23 to 29, and monitoring board 7 monitors the positions of the remaining monitoring models. Alternatively, monitoring board 5 monitors some axes of robot 2 or robot system 20, and monitoring board 7 monitors the remaining axes.
[0091] Because multiple monitoring boards 5 and 7 share the monitoring of the robot 2 or robot system 20, even if the processing power of each monitoring board 5 and 7 is not high, the monitoring boards 5 and 7 can monitor a large number of targets on the robot 2 or robot system 20. The advantage of shared monitoring by multiple monitoring boards 5 and 7 is that high processing power is not required for each monitoring board 5 and 7.
[0092] If the monitoring board 7 detects an abnormality, it outputs a stop command to the monitoring board 5. The monitoring boards 5 and 7 work together to monitor the robot 2 or the robot system 20.
[0093] The monitoring board 5 outputs a stop signal to the amplifier board 12 via the electrical circuit when it detects an abnormality. The monitoring board 5 also outputs a stop signal to the amplifier board 12 via the electrical circuit when it receives a stop command from the monitoring board 7. The monitoring board 5 can output a stop signal whether the monitoring board 5 detects an abnormality or the monitoring board 7 detects an abnormality.
[0094] The monitoring board 5 and the amplifier board 12 are hardware-connected, and in response to a stop signal output by the monitoring board 5, the amplifier board 12 stops the electric motor 31. Specifically, the monitoring board 5 is connected to a circuit breaker located in the middle of the power supply circuit from the power supply board 13 to the amplifier board 12. The stop signal from the monitoring board 5 turns off the semiconductor switching element included in the circuit breaker, stopping the power supply to the amplifier board 12. The monitoring board 5 and the monitoring board 7 that outputs the stop command to the monitoring board 5 can satisfy the safety standards for the robot 2 or robot system 20.
[0095] The first drive board 91 and the second drive board 92 are connected by communication. In other words, the monitoring board 5 and the monitoring board 7 are connected by communication. Connecting by communication simplifies the connection structure between the monitoring board 5 and the monitoring board 7. Connecting by communication also simplifies the connection structure between the first drive board 91 and the third drive board 93. The robot controller 1 can easily add monitoring boards 7 and 8. The robot controller 1 can also easily omit monitoring boards 7 and 8.
[0096] Furthermore, since the I / F board 62 can be connected to the second drive board 92, it is easy to connect the stop switch 64 to the monitoring board 7, or to connect an external module to the monitoring board 7 via the PLC 63. The robot controller 1 offers excellent expandability for monitoring functions of the robot 2 or robot system 20.
[0097] Since the robot controller 1 is equipped with a mount 18, it is easy to add a second drive board 92 or a third drive board 93 to the robot controller 1. Furthermore, since the robot controller 1 is equipped with multiple mounts 18, it is also easy to add multiple drive boards to the robot controller 1. The robot controller 1 can implement monitoring functions according to the robot 2 or robot system 20 to be controlled by changing the number of drive boards mounted on the mounts 18, in other words, the number of monitoring boards.
[0098] Furthermore, the monitoring board 5 outputs a stop signal to the amplifier board 12, causing the amplifier board 12 to stop or brake the electric motor 31. This configuration has the advantage of eliminating the contactor 19 (see Figure 9) in the modified example described later.
[0099] (Modified Version) Figure 9 shows a block diagram of a modified robot controller 101. The power supply unit 16 of the robot controller 101 has a contactor 19 as a switching element. The contactor 19 is interposed between the power supply board 13 and the amplifier board 12. The contactor 19 can electrically connect the power supply board 13 and the amplifier board 12, and can also disconnect the connection. When the contactor 19 electrically connects the power supply board 13 and the amplifier board 12, the amplifier board 12 can supply power to the electric motor 31. When the contactor 19 disconnects the connection between the power supply board 13 and the amplifier board 12, the power supply to the electric motor 31 is cut off.
[0100] The monitoring board 5 of the first drive board 91 is connected to the contactor 19 via an electrical circuit. The monitoring board 5 outputs a stop signal to the contactor 19 through the electrical circuit. Based on the stop signal from the monitoring board 5, the contactor 19 disconnects the power supply board 13 and the amplifier board 12.
[0101] If the monitoring board 7 of the second drive board 92 transmits a stop command to the monitoring board 5, the monitoring board 5, upon receiving the stop command, outputs a stop signal to the contactor 19 through the electrical circuit, just as described above.
[0102] The contactor 19 disconnects the power supply between the power board 13 and the amplifier board 12, thereby cutting off the power supply to the electric motor 31. The robot 2 or robot system 20 stops.
[0103] Note that the switching element of the power supply unit 16 is not limited to the contactor 19.
[0104] Figure 10 shows a block diagram of a robot controller 102 according to another modification. The robot controller 102 comprises a plurality of drive boards 92, 93, 94, ... The drive boards 92, 93, 94, ... correspond to the electric motors 31 of each axis of the robot 2.
[0105] Each of the drive boards 92, 93, 94, ... includes a servo board 15 and a monitoring board 7. In each of the drive boards 92, 93, 94, ... the connection configuration between the servo board 15 and the monitoring board 7 is the same as described above.
[0106] Furthermore, the amplifier board 12 corresponds to the electric motors 31 of each axis of the robot 2. The connection configuration between the servo board 15 and the amplifier board 12 is the same as the connection configuration between the servo board 11 and the amplifier board 12 described above.
[0107] The robot controller 102 includes the same number of drive boards 92, 93, 94, ... and amplifier board 12 as the number of axes of the robot 2. The drive boards 92, 93, 94, ... and amplifier board 12 may be installed near the axes of the robot 2.
[0108] Multiple drive boards 92, 93, 94, ... are each connected to the first drive board 91 via communication. The servo board 11 of the first drive board 91 receives operation commands from the control unit 4 and transmits drive commands to the amplifier boards 12 of each axis via the corresponding drive boards 92, 93, 94, ...
[0109] The stop switch 64 is connected to the servo board 11 via the I / F board 61.
[0110] If the monitoring board 7 of each drive board 92, 93, 94, ... detects an abnormality, the monitoring board 7 outputs a stop signal to the amplifier board 12 via the electrical circuit. Upon receiving the stop signal, the amplifier board 12 activates the brake of the corresponding electric motor 31 or cuts off the power supply to the electric motor 31. The shaft corresponding to the electric motor 31 stops.
[0111] Furthermore, if, for example, the stop switch 64 is turned ON, the I / F board 61 outputs a stop signal, which is input to the monitoring board 5 via the electrical circuit. Upon receiving the stop signal, the monitoring board 5 outputs a stop command via communication to the monitoring boards 7 of each drive board 92, 93, 94, ... Upon receiving the stop command from the monitoring board 5, the monitoring board 7 outputs a stop signal to the amplifier board 12 via the electrical circuit. Upon receiving the stop signal, the amplifier board 12 activates the brake of the corresponding electric motor 31, or cuts off the power supply to the electric motor 31. The operation of the robot 2 or robot system 20 stops.
[0112] Furthermore, if the monitoring board 5 of the first drive board 91 detects an abnormality, the monitoring board 5 outputs a stop command via communication to the monitoring boards 7 of the drive boards 92, 93, 94, ... for each axis. Upon receiving the stop command from the monitoring board 5, the monitoring board 7 outputs a stop signal to the amplifier board 12 through the electrical circuit. Upon receiving the stop signal, the amplifier board 12 activates the brake of the corresponding electric motor 31 or cuts off the power supply to the electric motor 31. The operation of the robot 2 or robot system 20 stops.
[0113] Furthermore, as a variation regarding the configuration of the monitoring board, the monitoring board may be independent of the servo board. A monitoring unit having a monitoring board may be connected to a robot controller. The robot controller is an example of a first enclosure, and the monitoring unit is an example of a second enclosure. The robot controller to which the monitoring unit is connected may or may not have a monitoring board.
[0114] Another monitoring unit may be connected to a monitoring unit connected to the robot controller. Monitoring units directly or indirectly connected to the robot controller constitute part of the robot controller.
[0115] The monitoring unit may also include multiple mounts to which monitoring boards are detachably attached. Monitoring boards 5, 7, and 9 are examples of modules that are detachably attached to a mount.
[0116] Furthermore, each of the multiple monitoring boards 5 and 7 of the robot controller 1 may be connected in parallel to the amplifier board 12 via an electrical circuit. In other words, each of the multiple monitoring boards 5 and 7 may output a stop signal to the amplifier board 12 via an electrical circuit. In the robot controller 101 of Figure 9, each of the multiple monitoring boards 5 and 7 may be connected in parallel to the contactor 19 via an electrical circuit.
[0117] Furthermore, the multiple monitoring boards are not limited to monitoring different parts of the robot. The first monitoring board may monitor a first part of the robot based on a first condition, for example, position monitoring, and the second monitoring board may monitor the first part of the robot based on a second condition, for example, force monitoring.
[0118] The functionality of the elements disclosed herein may be implemented using one or more circuits or processing circuits, including general-purpose processors, special-purpose processors, integrated circuits, ASICs (Application Specific Integrated Circuits), FPGAs (Field Programmable Gate Arrays), and / or conventional circuits. The functionality of the elements disclosed herein may be implemented using one or more circuits or processing circuits, including combinations of general-purpose processors, special-purpose processors, integrated circuits, ASICs, FPGAs, and conventional circuits. One or more circuits or processing circuits may be programmed using one or more programs stored together or individually in one or more memories, or otherwise configured to perform the disclosed functionality. A processor is considered a processing circuit or circuit because it includes transistors and other circuits. A processor may be a programmed processor that executes programs stored in memory. In this disclosure, a circuit, unit, or means is hardware that performs the enumerated functionality alone or in combination with each other, or hardware programmed to perform the enumerated functionality alone or in combination with each other. The hardware may be any hardware disclosed herein that is programmed or configured to perform the listed functions.
[0119] A computer program, including computer instructions, is stored in memory. The computer instructions provide logic and routines that enable hardware to perform the methods disclosed herein. The hardware includes, for example, processing circuits or circuits. The computer program may be implemented in known formats on computer-readable storage media, computer program products, memory devices, recording media such as CD-ROMs or DVDs, and / or in the memory of FPGAs or ASICs.
[0120] (Embodiment) The embodiments described above are specific examples of the following embodiments.
[0121] (Aspect 1) A robot controller (1, 101, 102) comprising: a drive unit (11) that receives an operation command from a control unit (4) and outputs a drive command for moving a robot (2, 20); a first monitoring unit (5) that monitors the robot (2, 20) based on sensor output and outputs a stop signal to stop the robot (2, 20) when it detects an abnormality in the robot (2, 20); and a second monitoring unit (7) connected to the first monitoring unit (5) that monitors the robot (2, 20) based on sensor output and outputs a stop command to the first monitoring unit (5) when it detects an abnormality in the robot (2, 20).
[0122] The first monitoring unit (5) monitors the robots (2, 20) based on the sensor output, and if it detects an abnormality, it outputs a stop signal to stop the robots (2, 20).
[0123] The robot controller (1, 101, 102) includes a second monitoring unit (7) in addition to the first monitoring unit (5). The second monitoring unit (7), like the first monitoring unit (5), monitors the robots (2, 20) based on sensor output. If the second monitoring unit (7) detects an abnormality, it outputs a stop command to the first monitoring unit (5). The first monitoring unit (5) and the second monitoring unit (7) cooperate in monitoring the robots (2, 20).
[0124] (Aspect 2) The robot controller (1, 101, 102) according to Aspect 1, wherein the first monitoring unit (5) receives the stop command from the second monitoring unit (7) and outputs the stop signal.
[0125] The first monitoring unit (5) can output a stop signal whether the first monitoring unit (5) detects an abnormality or the second monitoring unit (7) detects an abnormality. Since multiple monitoring units (5, 7) share the responsibility of monitoring the robots (2, 20), the robot controllers (1, 101, 102) can ensure high monitoring capabilities even if the capabilities of each monitoring unit (5, 7) are low.
[0126] (Aspect 3) The robot controller (1, 101, 102) according to aspect 1 or 2, wherein the first monitoring unit (5) and the second monitoring unit (7) are connected by communication.
[0127] The communication connection simplifies the connection structure between the first monitoring unit (5) and the second monitoring unit (7).
[0128] (Aspect 4) The robot controller (1, 101, 102) according to aspect 3, further comprising a third monitoring unit (9) which is connected to the first monitoring unit (5) by communication and monitors the robots (2, 20) based on sensor output, and outputs a stop command to the first monitoring unit (5) when it detects an abnormality in the robots (2, 20).
[0129] Communication-based connectivity simplifies the connection structure between the first monitoring unit (5) and the third monitoring unit (8). For example, it becomes easy to selectively add the third monitoring unit (8) to the robot controllers (1, 101, 102).
[0130] (Aspect 5) A robot controller (1, 101, 102) according to any one of aspects 1 to 4, further comprising a power supply unit (16) that supplies power to the actuator (31) of the robot (2, 20) based on the drive command, the first monitoring unit (5) being connected to the power supply unit (16) via an electrical circuit, the first monitoring unit (5) outputting the stop signal to the power supply unit (16) via the electrical circuit, and the power supply unit (16) stopping the actuator (31) in response to the stop signal.
[0131] The first monitoring unit (5) and the power supply unit (16) are hardware-connected, and the actuator (31) stops in response to a stop signal output by the first monitoring unit (5) to the power supply unit (16). The first monitoring unit (5) and the second monitoring unit (7), which outputs a stop command to the first monitoring unit (5), can satisfy safety standards for robots (2, 20).
[0132] (Aspect 6) A robot controller (1, 101, 102) according to any one of aspects 1 to 5, further comprising an input / output module (62) connected to the second monitoring unit (7) and receiving signals from an external source, wherein the second monitoring unit (7) outputs the stop command to the first monitoring unit (5) when it receives a signal from the input / output module (62).
[0133] If an external signal is input to the second monitoring unit (7) via the input / output module (62), the second monitoring unit (7) can output a stop command.
[0134] (Aspect 7) The robot controller (1, 101, 102) according to aspect 6, wherein a manual stop switch (64) or an external module (63) that outputs a stop signal for the robot (2, 20) is connected to the input / output module (62).
[0135] If the manual stop switch (64) is turned ON, the second monitoring unit (7) outputs a stop command.
[0136] Furthermore, the external module (63) may be, for example, a laser scanner or a light curtain for detecting robots (2, 20) in operation. When the laser scanner or light curtain detects a robot (2, 20), it may output a stop signal for the robot (2, 20). The second monitoring unit (7) can output a stop command based on the detection by the laser scanner or light curtain.
[0137] (Aspect 8) A robot controller (1, 101, 102) according to any one of aspects 1 to 7, wherein the first monitoring unit (5) monitors a first part (23 to 29) of the robot (2), and the second monitoring unit (7) monitors a second part (23 to 29) of the robot (2) that is different from the first part (23 to 29).
[0138] The first monitoring unit (5) and the second monitoring unit (7) may each monitor different parts of the robot (2). If multiple monitoring units (5, 7) share the monitoring duties, the robot controller (1, 101, 102) can monitor a large number of targets on the robot (2, 20) even if the processing power of each monitoring unit (5, 7) is not high.
[0139] (Aspect 9) A robot controller (1, 101, 102) according to any one of aspects 1 to 8, wherein the first monitoring unit (5) monitors the operation of the first actuator (31) of the robot (2, 20), and the second monitoring unit (7) monitors the operation of the second actuator (31) of the robot (2, 20), which is different from the first actuator (31).
[0140] The first monitoring unit (5) and the second monitoring unit (7) may share the task of monitoring the operation of different actuators of the robot (2). Shared monitoring by multiple monitoring units (5, 7) has the advantage that each monitoring unit (5, 7) is not required to have high processing power.
[0141] (Aspect 10) A robot controller (1, 101, 102) according to any one of aspects 1 to 9, wherein the first monitoring unit (5) monitors the first part (23 to 29) of the robot (2, 20) based on a first condition, and the second monitoring unit (7) monitors the first part (23 to 29) of the robot (2, 20) based on a second condition different from the first condition.
[0142] The first monitoring unit (5) and the second monitoring unit (7) may share the responsibility of monitoring the same part of the robot (2) based on multiple conditions.
[0143] (Aspect 11) The second monitoring unit (7) is a robot controller (1, 101, 102) according to any one of aspects 1 to 10, which is included in a module (92) that is detachably attached to a mount (18).
[0144] The second monitoring unit (7) is attached to the robot controllers (1, 101, 102) if necessary. The robot controllers (1, 101, 102) have a structure that allows for easy expansion of the monitoring unit.
[0145] (Aspect 12) The robot controller (1, 101, 102) according to aspect 11, wherein the enclosure (10) of the robot controller (1, 101, 102) houses a plurality of mounts (18), and the modules (92, 93) mounted on the mounts (18) are connected to the first monitoring unit (5).
[0146] Multiple monitoring units can be attached to multiple mounts (18) of the robot controller (1, 101, 102). The robot controller (1, 101, 102) is easily expandable in terms of monitoring units.
[0147] (Aspect 13) The robot controller (1, 101, 102) according to any one of aspects 1 to 10, wherein the drive unit (11) and the first monitoring unit (5) are housed in a first enclosure (10), and the second monitoring unit (7) is housed in a second enclosure connected to the first enclosure (10).
[0148] The module having the second monitoring unit (7) is connected to the first enclosure (10) of the robot controller (1, 101, 102) if necessary. The robot controller (1, 101, 102) has a structure that allows for easy expansion of the monitoring unit.
[0149] (Aspect 14) The robot controller (1, 101, 102) according to any one of aspects 1 to 13, wherein the first monitoring unit (5) has two redundant processors (51, 52), and the second monitoring unit (7) has two redundant processors (71, 72).
[0150] The two redundant processors (51, 52, 71, 72) in the first monitoring unit (5) and the second monitoring unit (7) can monitor each other's processor status.
[0151] (Aspect 15) A method for controlling a robot (2, 20), wherein a drive unit (11) receives an operation command from a control unit (4) and outputs a drive command to move the robot (2, 20); a first monitoring unit (5) monitors the robot (2, 20) based on sensor output and outputs a stop signal to stop the robot (2, 20) when it detects an abnormality in the robot (2, 20); a second monitoring unit (7) monitors the robot (2, 20) based on sensor output and outputs a stop command to the first monitoring unit (5) when it detects an abnormality in the robot (2, 20); and the first monitoring unit (5) outputs the stop signal when it receives the stop command from the second monitoring unit (7).
[0152] The first monitoring unit (5) and the second monitoring unit (7) work together to monitor the robots (2, 20). The first monitoring unit (5) can output a stop signal if either the first monitoring unit (5) or the second monitoring unit (7) detects an abnormality.
[0153] 1 Robot Controller 101 Robot Controller 102 Robot Controller 10 Enclosure 11 Servo Board (Drive Unit) 16 Power Supply Unit 18 Mount 2 Robot 20 Robot System 23-29 Monitoring Model (First Part, Second Part) 31 Electric Motor (Actuator) 4 Control Unit 5 Monitoring Board (First Monitoring Unit) 51 Processor 52 Processor 62 I / F Board (Input / Output Module) 63 PLC (External Module) 64 Stop Switch 7 Monitoring Board (Second Monitoring Unit) 71 Processor 72 Processor 8 Monitoring Board (Third Monitoring Unit) 92 Second Drive Board (Module) 93 Third Drive Board (Module)
Claims
1. A robot controller comprising: a drive unit that receives an operation command from a control unit and outputs a drive command for moving the robot; a first monitoring unit that monitors the robot based on sensor output and outputs a stop signal to stop the robot's operation when it detects an abnormality in the robot; and a second monitoring unit connected to the first monitoring unit that monitors the robot based on sensor output and outputs a stop command to the first monitoring unit when it detects an abnormality in the robot.
2. A robot controller according to claim 1, wherein the first monitoring unit receives the stop command from the second monitoring unit and outputs the stop signal.
3. A robot controller according to claim 1 or 2, wherein the first monitoring unit and the second monitoring unit are connected by communication.
4. A robot controller according to claim 3, further comprising a third monitoring unit which is connected to the first monitoring unit by communication and monitors the robot based on sensor output, and outputs a stop command to the first monitoring unit when it detects an abnormality in the robot.
5. A robot controller according to any one of claims 1 to 4, further comprising a power supply unit that supplies power to the actuator of the robot based on the drive command, the first monitoring unit being connected to the power supply unit via an electrical circuit, the first monitoring unit outputting the stop signal to the power supply unit via the electrical circuit, and the power supply unit stopping the actuator in response to the stop signal.
6. A robot controller according to any one of claims 1 to 5, further comprising an input / output module connected to the second monitoring unit and receiving signals from an external source, wherein the second monitoring unit outputs the stop command to the first monitoring unit when it receives a signal from the input / output module.
7. A robot controller according to claim 6, wherein the input / output module is connected to a manual stop switch or an external module that outputs a stop signal for the robot.
8. A robot controller according to any one of claims 1 to 7, wherein the first monitoring unit monitors a first part of the robot, and the second monitoring unit monitors a second part of the robot that is different from the first part.
9. A robot controller according to any one of claims 1 to 8, wherein the first monitoring unit monitors the operation of a first actuator of the robot, and the second monitoring unit monitors the operation of a second actuator of the robot, which is different from the first actuator.
10. A robot controller according to any one of claims 1 to 9, wherein the first monitoring unit monitors a first part of the robot based on a first condition, and the second monitoring unit monitors the first part of the robot based on a second condition different from the first condition.
11. A robot controller according to any one of claims 1 to 10, wherein the second monitoring unit is included in a module that is detachably mounted on a mount.
12. A robot controller according to claim 11, wherein the enclosure of the robot controller houses a plurality of the mounts, and the modules mounted on the mounts are connected to the first monitoring unit.
13. A robot controller according to any one of claims 1 to 10, wherein the drive unit and the first monitoring unit are housed in a first enclosure, and the second monitoring unit is housed in a second enclosure connected to the first enclosure.
14. A robot controller according to any one of claims 1 to 13, wherein the first monitoring unit has two redundant processors, and the second monitoring unit has two redundant processors.
15. A robot control method comprising: a drive unit receiving an operation command from a control unit and outputting a drive command to move the robot; a first monitoring unit monitoring the robot based on sensor output and outputting a stop signal to stop the robot's operation when it detects an abnormality in the robot; a second monitoring unit monitoring the robot based on sensor output and outputting a stop command to the first monitoring unit when it detects an abnormality in the robot; and the first monitoring unit outputting the stop signal when it receives the stop command from the second monitoring unit.