Robot system, torque sensor, and communication method for robot system
By synchronizing encoder and torque sensor signals in a robot system, the detection accuracy of external forces is enhanced, addressing the challenge of improving torque sensor precision and ensuring safe robot operations.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- YASKAWA DENKI KK
- Filing Date
- 2025-10-23
- Publication Date
- 2026-05-21
AI Technical Summary
Existing robot systems face challenges in improving the detection accuracy of torque sensors, which is crucial for precise control and safety, especially in collaborative robots.
A robot system with integrated encoders and torque sensors at each joint, where encoders transmit detection signals at a first communication timing and torque sensors transmit signals at a second timing corresponding to the first, synchronized with encoder signals, using a common communication line to enhance detection accuracy.
This synchronization improves the detection accuracy of external forces, enabling safer and more precise robot operations, particularly in collaborative environments.
Smart Images

Figure JP2025037375_21052026_PF_FP_ABST
Abstract
Description
Robot system, torque sensor, and communication method of robot system
[0001] The disclosed embodiments relate to a robot system, a torque sensor, and a communication method of the robot system.
[0002] Patent Document 1 describes a robot including a plurality of joint portions driven by an actuator, and a torque sensor is installed in the joint portion. The actuator includes a servo motor and a speed reducer.
[0003] Japanese Patent No. 7223354
[0004] In the above conventional robot, further improvement in the detection accuracy by the torque sensor has been desired.
[0005] The disclosed embodiments have been made in view of such problems, and an object thereof is to provide a robot system, a torque sensor, and a communication method of the robot system capable of improving the detection accuracy by the torque sensor.
[0006] In order to solve the above problems, according to one aspect of the present invention, there is provided a robot including a motor, an encoder, and a torque sensor in a joint portion, and a controller for controlling the robot. The encoder has a first communication unit that transmits a first detection signal to the controller at a first communication timing, and the torque sensor has a second communication unit that transmits a second detection signal to the controller at a second communication timing corresponding to the first communication timing. The robot system is applied.
[0007] Further, according to another aspect of the present invention, there is provided a robot including a motor, an encoder, and a torque sensor in a joint portion, and a controller for controlling the robot. The encoder has a first communication unit that transmits a first detection signal to the controller, and the torque sensor has a signal generation unit that generates the second detection signal according to a fourth communication timing between the first communication unit of the encoder and the controller. The robot system is applied.
[0008] Furthermore, according to another aspect of the present invention, the torque sensor for a robot system comprising a robot equipped with a motor, encoder and torque sensor at a joint and a controller for controlling the robot, wherein the encoder has a first communication unit that transmits a first detection signal to the controller at a first communication timing, and the torque sensor has a second communication unit that transmits a second detection signal to the controller at a second communication timing corresponding to the first communication timing.
[0009] Furthermore, according to another aspect of the present invention, a communication method for a robot system having a robot equipped with a motor, an encoder and a torque sensor in its joints, and a controller for controlling the robot, is applied, the method comprising: transmitting a first detection signal from the encoder to the controller at a first communication timing; and transmitting a second detection signal from the torque sensor to the controller at a second communication timing corresponding to the first communication timing.
[0010] According to the robot system and other embodiments of the disclosed model, the detection accuracy of the torque sensor can be improved.
[0011] This figure shows an example of the configuration of a robot system and robot according to the embodiment. This is a block diagram showing an example of the functional configuration of the robot and robot controller. This figure shows an example of the connection configuration of the encoder and torque sensor. This figure shows an example of the communication cycle of the detection signal from the encoder and torque sensor. This figure shows an example of the generation period of the detection signal from the encoder and torque sensor. This figure shows an example of the connection configuration in a modified example in which the robot controller, encoder and torque sensor are daisy-chained using two communication lines. This figure shows an example of the communication cycle of the detection signal in a modified example in which the robot controller, encoder and torque sensor are daisy-chained using two communication lines. This is a block diagram showing an example of the hardware configuration of the robot controller.
[0012] The embodiments will be described below with reference to the drawings.
[0013] <1. Robot System and Robot Configuration> An example of the configuration of the robot system 1 and robot 3 according to this embodiment will be described with reference to Figure 1.
[0014] As shown in Figure 1, the robot system 1 includes a robot 3 and a robot controller 5.
[0015] Robot 3 is configured as a vertically articulated 6-axis robot (robot arm) with, for example, six joints, and a robot hand (not shown) is attached to its tip. As will be described in detail later, robot 3 is equipped with motors, encoders, and torque sensors at its joints. The motors drive the joints, the encoders detect the rotation angle of the joints, and the torque sensors detect the torque of the joints. Note that robot 3 may be a robot with more than 6 axes (for example, 5-axis or 7-axis). Also, robot 3 may be a robot other than a vertically articulated type, such as a horizontally articulated robot or a parallel link robot.
[0016] As shown in Figure 1, the robot 3 has a base 7, a swivel section 9, a forearm section 11, an elbow section 13, an upper arm section 15, a wrist section 17, and a flange section 19.
[0017] The swivel section 9 is supported at the upper end of the base 7 so as to be able to swivel around a rotation axis Ax1 that is parallel to the vertical direction. The swivel section 9 is driven to swivel around the rotation axis Ax1 relative to the upper end of the base 7 by the drive of an actuator Ac1 provided at the joint J1 between it and the base 7. The actuator Ac1 is composed of a motor M1 (see Figure 2), an encoder E1 (see Figure 2), and a reduction gear R1 (see Figure 2), etc. A torque sensor Ts1 is also provided at the joint J1 to detect the torque around the rotation axis Ax1 between the base 7 and the swivel section 9. The detection signals from the encoder E1 and the torque sensor Ts1 are transmitted to the robot controller 5.
[0018] The forearm 11 is supported on one side of the swivel section 9 so as to be able to rotatably around a rotation axis Ax2 perpendicular to the rotation axis Ax1. The forearm 11 is driven to rotate around the rotation axis Ax2 relative to one side of the swivel section 9 by the drive of an actuator Ac2 provided at the joint J2 between the forearm 11 and the swivel section 9. The actuator Ac2 is composed of a motor M2 (see Figure 2), an encoder E2 (see Figure 2), and a reduction gear R2 (see Figure 2), etc. The joint J2 is also provided with a torque sensor Ts2 that detects the torque around the rotation axis Ax2 between the swivel section 9 and the forearm 11. The detection signals from the encoder E2 and the torque sensor Ts2 are transmitted to the robot controller 5.
[0019] The elbow portion 13 is supported on the tip side of the forearm portion 11 so as to be able to pivot around a rotation axis Ax3 parallel to the rotation axis Ax2. The elbow portion 13 is driven to pivot around the rotation axis Ax3 relative to the tip side of the forearm portion 11 by the drive of an actuator Ac3 provided at the joint portion J3 between the elbow portion 11 and the forearm portion 11. The actuator Ac3 is composed of a motor M3 (see Figure 2), an encoder E3 (see Figure 2), and a reduction gear R3 (see Figure 2), etc. A torque sensor Ts3 is also provided at the joint portion J3 to detect the torque around the rotation axis Ax3 between the forearm portion 11 and the elbow portion 13. The detection signals from the encoder E3 and the torque sensor Ts3 are transmitted to the robot controller 5.
[0020] The upper arm portion 15 is supported at the tip of the elbow portion 13 so as to be rotatable around a rotation axis Ax4 perpendicular to the rotation axis Ax3. The upper arm portion 15 is rotated around the rotation axis Ax4 relative to the tip of the elbow portion 13 by the drive of an actuator Ac4 provided at the joint portion J4 between the upper arm portion 13 and the upper arm portion 15. The actuator Ac4 is composed of a motor M4 (see Figure 2), an encoder E4 (see Figure 2), and a reduction gear R4 (see Figure 2), etc. A torque sensor Ts4 is also provided at the joint portion J4 to detect the torque around the rotation axis Ax4 between the elbow portion 13 and the upper arm portion 15. The detection signals from the encoder E4 and the torque sensor Ts4 are transmitted to the robot controller 5.
[0021] The wrist portion 17 is supported on the tip side of the upper arm portion 15 so as to be able to pivot around a rotation axis Ax5 perpendicular to the rotation axis Ax4. The wrist portion 17 is driven to pivot around the rotation axis Ax5 relative to the tip side of the upper arm portion 15 by the drive of an actuator Ac5 provided at the joint portion J5 between the wrist portion 17 and the upper arm portion 15. The actuator Ac5 is composed of a motor M5 (see Figure 2), an encoder E5 (see Figure 2), and a reduction gear R5 (see Figure 2), etc. A torque sensor Ts5 is also provided at the joint portion J5 to detect the torque around the rotation axis Ax5 between the upper arm portion 15 and the wrist portion 17. The detection signals from the encoder E5 and the torque sensor Ts5 are transmitted to the robot controller 5.
[0022] The flange portion 19 is supported on the tip side of the wrist portion 17 so as to be rotatable around a rotation axis Ax6 perpendicular to the rotation axis Ax5. The flange portion 19 is driven to rotate around the rotation axis Ax6 relative to the tip side of the wrist portion 17 by the drive of an actuator Ac6 provided at the joint portion J6 between the wrist portion 17 and the flange portion 19. The actuator Ac6 is composed of a motor M6 (see Figure 2), an encoder E6 (see Figure 2), and a reduction gear R6 (see Figure 2), etc. The joint portion J6 is also provided with a torque sensor Ts6 that detects the torque around the rotation axis Ax6 between the wrist portion 17 and the flange portion 19. The detection signals from the encoder E6 and the torque sensor Ts6 are transmitted to the robot controller 5.
[0023] The robot hand (not shown) is attached to the tip of the flange portion 19 and rotates around the rotation axis Ax6 along with the rotation of the flange portion 19 around the rotation axis Ax6.
[0024] In the above, for each component of the robot 3 other than the rotating section 9, rotation around a rotation axis along the longitudinal direction (or extending direction) of the robot 3 is referred to as "rotation," and rotation around a rotation axis perpendicular to the longitudinal direction (or extending direction) of the robot 3 is referred to as "rotation" to distinguish between them.
[0025] The robot controller 5 (an example of a controller) controls the movement of the robot 3. The robot controller 5 also detects the external force acting on each joint J1 to J6 of the robot 3 based on the detection signals from encoders E1 to E6 and torque sensors Ts1 to Ts6 at each joint J1 to J6. As a result, the robot controller 5 can immediately stop the robot 3's movement if it collides with a person or object, or move it in the opposite direction to the direction of the external force. The robot 3 is used, for example, as a collaborative robot that can operate together with a worker.
[0026] The robot controller 5 may be configured separately from the robot 3, or it may be configured as an integral part of the robot 3. Furthermore, the robot controller 5 may consist of a single device or multiple devices.
[0027] <2. Functional Configuration of Robot and Robot Controller> An example of the functional configuration of robot 3 and robot controller 5 will be described with reference to Figure 2.
[0028] As mentioned above, encoders E1 to E6 are provided at each of the joints J1 to J6 of the robot 3. As shown in Figure 2, each of the encoders E1 to E6 has a signal generation unit 21 and a communication unit 22. The signal generation unit 21 generates an encoder detection signal (an example of a first detection signal). The communication unit 22 (an example of a first communication unit) transmits the detection signal generated by the signal generation unit 21 to the robot controller 5 at a predetermined communication timing. The predetermined communication timing will be described later.
[0029] As described above, torque sensors Ts1 to Ts6 are provided at each of the joints J1 to J6 of the robot 3. As shown in Figure 2, each of the torque sensors Ts1 to Ts6 has a signal generation unit 23 and a communication unit 25. The signal generation unit 23 generates a detection signal (an example of a second detection signal) for the torque sensor according to the communication timing between the robot controller 5 and the communication units 22 of the encoders E1 to E6. The communication unit 25 (an example of a second communication unit) transmits the detection signal generated by the signal generation unit 23 to the robot controller 5 at a predetermined communication timing corresponding to the communication timing of the communication units 22 of the encoders E1 to E6. The predetermined communication timing will be described later.
[0030] As shown in Figure 2, the robot controller 5 includes a motion controller 27 and a multi-axis servo controller 29. The motion controller 27 and the multi-axis servo controller 29 may be configured as an integrated device or as separate devices. The motion controller 27 may be configured as, for example, a general-purpose personal computer (PC) or a programmable logic controller (PLC).
[0031] The motion controller 27 has a motion control unit 31. The motion control unit 31 calculates (inverse kinematics calculation) the target rotation angles of each motor M1 to M6 of each actuator Ac1 to Ac6 that are necessary to move the robot hand of the robot 3 to the position and orientation taught by teaching, and outputs control commands (for example, position commands or velocity commands) to the corresponding motors M1 to M6.
[0032] The multi-axis servo controller 29 includes a servo control unit 33 and a servo amplifier 35. The servo control unit 33 and the servo amplifier 35 are provided in correspondence to each of the actuators Ac1 to Ac6. The servo control unit 33 (an example of a motor control unit) controls the motors M1 to M6 based on the detection signals of encoders E1 to E6. Specifically, the servo control unit 33 performs servo control of the motors M1 to M6 based on the control commands for the motors M1 to M6 input from the motion controller 27 and the detection signals of encoders E1 to E6, and calculates torque commands and current values for the motors M1 to M6, respectively. The servo amplifier 35 controls the drive power supplied to the motors M1 to M6 based on the torque commands and current values for the motors M1 to M6 input from the servo control unit 33, thereby controlling the operation of the robot 3.
[0033] The servo control unit 33 has an external force calculation unit 37. The external force calculation unit 37 calculates the external force acting on each joint J1 to J6 based on the detection signals of encoders E1 to E6 and torque sensors Ts1 to Ts6. Specifically, the external force calculation unit 37 calculates the theoretical value of the joint torque by inverse dynamics calculation based on the link information of the robot 3, the setting information of the robot hand, and the detection signals of encoders E1 to E6, which are the operation information of the robot 3. Then, the external force calculation unit 37 calculates the external force by subtracting the theoretical value from the measured value based on the measured value of the joint torque detected by each torque sensor Ts1 to Ts6 and the theoretical value calculated above. The external force referred to here is a force acting from something other than the robot 3 itself, the robot hand, or the workpiece, for example, a force acting on each joint J1 to J6 when the robot 3 collides with or comes into contact with something other than a person or workpiece. This calculation of external force by the external force calculation unit 37 is continuously performed while the robot 3 is in motion.
[0034] In this embodiment, the multi-axis servo controller 29 is configured to have a servo control unit 33, but the motion controller 27 may also have a servo control unit 33, and the external force calculation unit 37 may be included in the motion controller 27 as a standalone unit.
[0035] The processing in the motion control unit 31, servo control unit 33, external force calculation unit 37, etc., as described above is not limited to these examples of processing division. For example, the processing may be carried out by even fewer processing units (e.g., one processing unit), or by even more subdivided processing units. Furthermore, the robot controller 5 may be implemented with only the part that supplies drive power to the motors M1 to M6 of the servo amplifier 35 (inverter, etc.) being implemented by an actual device, and the other functions of each of the above-mentioned processing units may be implemented by a program executed by the CPU 901 (see Figure 8), which will be described later, or some or all of the functions may be implemented by actual devices such as ASICs, FPGAs, or other electrical circuits.
[0036] <3. Connection Configuration of Encoders and Torque Sensors> Referring to Figure 3, an example of the connection configuration of encoders E1 to E6 and torque sensors Ts1 to Ts6 will be described. As shown in Figure 3, the robot 3 and the robot controller 5 are connected by a communication line 39 that transmits both the detection signals of encoders E1 to E6 and the detection signals of torque sensors Ts1 to Ts6. Specifically, the communication line 39 daisy-chains the six encoders E1 to E6, each corresponding to one of the six joints J1 to J6, and the six torque sensors Ts1 to Ts6, each corresponding to one of the six encoders E1 to E6. The communication line 39 transmits the detection signals of the six daisy-chained encoders E1 to E6 and the six torque sensors Ts1 to Ts6 based on a communication standard that meets predetermined safety standards. The robot controller 5 also supplies power to each of the encoders E1 to E6 and torque sensors Ts1 to Ts6 via the communication line 39. As shown in Figure 3, multiple communication lines 39 connecting the encoders E1 to E6 and torque sensors Ts1 to Ts6 constitute a single communication line, but in this embodiment, these are collectively referred to as "communication lines 39".
[0037] Furthermore, each of the torque sensors Ts1 to Ts6 has a redundant sensor output for improved safety, and is configured to output two detection signals with a 90-degree phase difference. Each of the torque sensors Ts1 to Ts6 is daisy-chained by a communication line 39, with these two output systems connected by a connecting line 41. As a result, all of the detection signals from encoders E1 to E6 and the two detection signals from each of the torque sensors Ts1 to Ts6 are transmitted via the communication line 39. Alternatively, each of the torque sensors Ts1 to Ts6 may be configured to output only one detection signal. In this case, the connecting line 41 is not necessary.
[0038] <4. Communication Period of Detection Signals from Encoders and Torque Sensors> Referring to Figure 4, an example of the communication period of detection signals from encoders E1 to E6 and torque sensors Ts1 to Ts6, which are transmitted via the communication line 39, will be described.
[0039] As shown in Figure 4, each communication unit 22 of encoders E1 to E6 transmits its respective detection signal (shown as E1 to E6) to the robot controller 5 at time t1. Similarly, the communication unit 25 of torque sensor Ts1 transmits two detection signals (shown as Ts1-1 and Ts1-2) to the robot controller 5 at time t1. Likewise, each communication unit 22 of encoders E1 to E6 transmits its respective detection signal (shown as E1 to E6) to the robot controller 5 at time t2. Similarly, the communication unit 25 of torque sensor Ts2 transmits two detection signals (shown as Ts2-1 and Ts2-2) to the robot controller 5 at time t2. Likewise, each communication unit 22 of encoders E1 to E6 transmits its respective detection signal (shown as E1 to E6) to the robot controller 5 at time t3. Furthermore, the communication unit 25 of the torque sensor Ts3 transmits two detection signals (shown as Ts3-1 and Ts3-2) to the robot controller 5 at time t3. Similarly, the communication units 22 of each encoder E1 to E6 transmit their respective detection signals (shown as E1 to E6) to the robot controller 5 at time t4. Furthermore, the communication unit 25 of the torque sensor Ts4 transmits two detection signals (shown as Ts4-1 and Ts4-2) to the robot controller 5 at time t4. Similarly, the communication units 22 of each encoder E1 to E6 transmit their respective detection signals (shown as E1 to E6) to the robot controller 5 at time t5. Furthermore, the communication unit 25 of the torque sensor Ts5 transmits two detection signals (shown as Ts5-1 and Ts5-2) to the robot controller 5 at time t5. Similarly, the communication unit 22 of each encoder E1 to E6 transmits its respective detection signal (shown as E1 to E6 in the figure) to the robot controller 5 at time t6. In addition, the communication unit 25 of the torque sensor Ts6 transmits two detection signals (shown as Ts6-1 and Ts6-2 in the figure) to the robot controller 5 at time t6.
[0040] Each communication unit 22 of encoders E1 to E6 transmits its respective detection signal (shown as E1 to E6 in the diagram) to the robot controller 5 at time t7. No detection signal from the torque sensor is transmitted at time t7. Similarly, each communication unit 22 of encoders E1 to E6 transmits its respective detection signal (shown as E1 to E6 in the diagram) to the robot controller 5 at time t8. No detection signal from the torque sensor is transmitted at time t8.
[0041] In this embodiment, "timing at time tn" does not mean "timing simultaneous with time tn," but rather "the period between time tn and time tn+1." For example, the detection signals from encoders E1 to E6 (shown as E1 to E6) and the two detection signals from torque sensor Ts1 (shown as Ts1-1 and Ts1-2) are transmitted synchronously during the period between time t1 and time t2. The same applies to other periods.
[0042] The intervals between times t1, t2, t3, t4, t5, t6, t7, and t8 each have a period P1, and times t1 to t8 are repeated as a group with a period P2. In the example shown in Figure 4, period P2 is, for example, 8 times period P1. On the other hand, the number of torque sensors Ts1 to Ts6 in robot 3 is 6. Therefore, at times t7 and t8, the detection signals from the torque sensors are not transmitted, and only the detection signals from the encoders are transmitted. Period P1 is, for example, on the order of tens of microseconds, and period P2 is, for example, on the order of hundreds of microseconds.
[0043] As described above, each communication unit 22 of encoders E1 to E6 transmits a detection signal to the robot controller 5 at timings t1, t2, t3, t4, t5, t6, t7, and t8 (an example of the first communication timing). In other words, each communication unit 22 of encoders E1 to E6 transmits a detection signal to the robot controller 5 periodically with a period P1 (an example of the first period).
[0044] On the other hand, the communication unit 25 of the torque sensor Ts1 transmits the detection signal to the robot controller 5 at the timing of time t1 for each period P2 (an example of the second communication timing corresponding to the first communication timing). Similarly, the communication unit 25 of the torque sensor Ts2 transmits the detection signal to the robot controller 5 at the timing of time t2 for each period P2 (an example of the second communication timing corresponding to the first communication timing). Similarly, the communication unit 25 of the torque sensor Ts3 transmits the detection signal to the robot controller 5 at the timing of time t3 for each period P2 (an example of the second communication timing corresponding to the first communication timing). Similarly, the communication unit 25 of the torque sensor Ts4 transmits the detection signal to the robot controller 5 at the timing of time t4 for each period P2 (an example of the second communication timing corresponding to the first communication timing). Similarly, the communication unit 25 of the torque sensor Ts5 transmits the detection signal to the robot controller 5 at the timing of time t5 for each period P2 (an example of the second communication timing corresponding to the first communication timing). Similarly, the communication unit 25 of the torque sensor Ts6 transmits the detection signal to the robot controller 5 at the timing of time t6 for each period P2 (an example of the second communication timing corresponding to the first communication timing). That is, each communication unit 25 of the torque sensors Ts1 to Ts6 periodically transmits the detection signal to the robot controller 5 at a period P2 (an example of the second period) that is a multiple of the period P1. At that time, each communication unit 25 of the torque sensors Ts1 to Ts6 transmits the detection signal to the robot controller 5 so that each detection signal is transmitted with a shift of each period P1 within the period P2.
[0045] In this embodiment, the second communication timing (timing every P2 period) corresponding to the first communication timing (timing every P1 period) is shown as an example where the second communication timing is eight times the length of the first communication timing, but this is not the only example. That is, as long as it is possible to match the communication timing of the torque sensors Ts1 to Ts6 (timing every P2 period) with the communication timing (timing every P1 period) that takes place between the encoders E1 to E6 and the robot controller 5, the second communication timing may be one time the length of the first communication timing, or it may be a multiple of eight. For example, if the second communication timing is six times the length of the first communication timing, the period during which the detection signal from the torque sensor is not transmitted is eliminated, and packets can be used effectively. Furthermore, by setting the length to an integer multiple of two or more, there is more leeway in the calculation time for the theoretical value of joint torque and external force, the communication bandwidth is not compressed, and the reliability of the calculation results can be improved.
[0046] Furthermore, in this embodiment, the case where the second communication timing is a periodic timing synchronized with the first communication timing is shown as an example, but it is not limited to this example. In other words, the second communication timing can be used as the second communication timing even if it is asynchronous or non-periodic, as long as it is a communication in which it is possible to determine when the data was transmitted relative to the first communication timing.
[0047] <5. Generation Period of Detection Signals by Encoders and Torque Sensors> An example of the generation period of detection signals by encoders E1 to E6 and torque sensors Ts1 to Ts6 will be explained with reference to Figure 5.
[0048] The robot controller 5 transmits communication commands to the communication units 22 of the encoders E1 to E6 at a predetermined timing. The communication command is, for example, a command that requests a detection signal from the encoders E1 to E6. Each signal generation unit 21 of the encoders E1 to E6 generates a detection signal according to the communication command transmitted from the robot controller 5 to the communication units 22 of the encoders E1 to E6. Each signal generation unit 23 of the torque sensors Ts1 to Ts6 generates a detection signal according to the communication timing (an example of the third communication timing and the fourth communication timing) between the communication units 22 of the encoders E1 to E6 and the robot controller 5. For example, the signal generation unit 23 generates a detection signal according to the communication command transmitted from the robot controller 5 to the communication units 22 of the encoders E1 to E6.
[0049] In the example shown in Figure 5, the robot controller 5 sends communication commands to the communication units 22 of encoders E1 to E6 at timings t1, t2, t3, t4, t5, t6, t7, and t8. Note that only times t1, t2, and t3 are shown in Figure 5, and times t4, t5, t6, t7, and t8 are omitted from the illustration. Each signal generation unit 21 of encoders E1 to E6 generates a detection signal based on the detected value of the encoder (e.g., rotation angle) at timing t1 when the communication command is received. The generation of the detection signal by the signal generation unit 21 takes place between the timing of receiving the communication command and the period P1. Each communication unit 22 of encoders E1 to E6 sends the detection signal generated by the signal generation unit 21 to the robot controller 5 at timing t1 in the period P2 following the period P2 in which the timing of receiving the communication command is included. Similarly, each signal generation unit 21 of encoders E1 to E6 generates a detection signal based on the encoder's detected value (e.g., rotation angle) at the time t2 when the communication command is received. Each communication unit 22 of encoders E1 to E6 transmits the detection signal generated by the signal generation unit 21 to the robot controller 5 at time t2 of the next period P2, which includes the timing when the communication command was received. Similarly, each signal generation unit 21 of encoders E1 to E6 generates a detection signal based on the encoder's detected value (e.g., rotation angle) at the time t3 when the communication command is received. Each communication unit 22 of encoders E1 to E6 transmits the detection signal generated by the signal generation unit 21 to the robot controller 5 at time t3 of the next period P2, which includes the timing when the communication command was received. The same applies to times t4, t5, t6, t7, and t8.
[0050] The signal generation unit 23 of torque sensor Ts1 generates a detection signal based on the detected value of torque sensor Ts1 at the timing t1 when encoders E1 to E6 receive a communication command. The signal generation by the signal generation unit 23 takes place between the time the communication command is received and the period P2. The communication unit 25 transmits the detection signal generated by the signal generation unit 23 to the robot controller 5 at the timing t1 of the next period P2 following the period P2 in which the communication command was received. Similarly, the signal generation unit 23 of torque sensor Ts2 generates a detection signal based on the detected value of torque sensor Ts2 at the timing t2 when encoders E1 to E6 receive a communication command. The signal generation by the signal generation unit 23 takes place between the time the communication command is received and the period P2. The communication unit 25 transmits the detection signal generated by the signal generation unit 23 to the robot controller 5 at the timing t2 of the next period P2 following the period P2 in which the communication command was received. Similarly, the signal generation unit 23 of the torque sensor Ts3 generates a detection signal based on the detected value of the torque sensor Ts3 at the timing t3 when encoders E1 to E6 receive a communication command. The generation of the detection signal by the signal generation unit 23 takes place between the timing of receiving the communication command and the period P2. The communication unit 25 transmits the detection signal generated by the signal generation unit 23 to the robot controller 5 at the timing t3 of the next period P2 that includes the timing of receiving the communication command. The same applies to torque sensors Ts4, Ts5, and Ts6.
[0051] As described above, the robot controller 5 transmits communication commands to the communication units 22 of encoders E1 to E6 at a period P1, and the respective signal generation units 23 of torque sensors Ts1 to Ts6 each generate detection signals at a period P2 which is a multiple of the period P1 (8 times in this example).
[0052] The servo control unit 33 (an example of a motor control unit) mentioned above controls motors M1 to M6 in a period P2 based on the detection signals of encoders E1 to E6. The external force calculation unit 37 of the servo control unit 33 calculates the external force based on the detection signals of encoders E1 to E6 and torque sensors Ts1 to Ts6 within the period P2, which is the control period of motors M1 to M6.
[0053] <6. Effects of the Embodiment> As described above, in the robot system 1 of this embodiment, the detection signals from the torque sensors Ts1 to Ts6 and the detection signals from the encoders E1 to E6 are transmitted to the robot controller 5, and the robot controller 5 detects the external force applied to the joints J1 to J6 of the robot 3 based on these detection signals. In such a robot system 1, if the communication timing of the detection signals from the torque sensors Ts1 to Ts6 and the detection signals from the encoders E1 to E6 is out of sync, an error will occur in the detection of the external force, which will reduce the accuracy of the detection of the external force.
[0054] In the robot system 1 of this embodiment, the communication unit 22 of encoders E1 to E6 transmits detection signals to the robot controller 5 at first communication timings (timings t1, t2, t3, t4, t5, t6, t7, and t8 in the above embodiment), and the communication unit 25 of torque sensors Ts1 to Ts6 transmits detection signals to the robot controller 5 at second communication timings corresponding to the first communication timings (time t1 for each period P2, time t2 for each period P2, ... in the above embodiment). This suppresses the timing difference between the communication signals of the encoders E1 to E6 and the detection signals of the torque sensors Ts1 to Ts6, thereby improving the accuracy of external force detection.
[0055] In this embodiment, the robot 3 and the robot controller 5 may be connected by a communication line 39 that transmits both the detection signals of encoders E1 to E6 and the detection signals of torque sensors Ts1 to Ts6. In this case, both the detection signals of encoders E1 to E6 and the detection signals of torque sensors Ts1 to Ts6 can be transmitted via a common communication line. This makes it easier to synchronize the communication timing of the detection signals of encoders E1 to E6 and torque sensors Ts1 to Ts6.
[0056] In this embodiment, the communication line 39 may daisy-chain encoders E1 to E6 corresponding to each of the joints J1 to J6 and torque sensors Ts1 to Ts6 corresponding to each of the encoders E1 to E6, and transmit the detection signals of the connected encoders E1 to E6 and the detection signals of the torque sensors Ts1 to Ts6. In this case, multiple detection signals transmitted from each of the encoders E1 to E6 and multiple detection signals transmitted from each of the torque sensors Ts1 to Ts6 can be transmitted via a common communication line, so that the communication timing of each can be synchronized.
[0057] In this embodiment, each communication unit 22 of encoders E1 to E6 may transmit a detection signal to the robot controller 5 with a period P1, and each communication unit 25 of torque sensors Ts1 to Ts6 may transmit a detection signal to the robot controller 5 with a period P2 that is a multiple of period P1. In this case, since the transmission period P2 of the detection signals of torque sensors Ts1 to Ts6 is a multiple of the transmission period P1 of the detection signals of encoders E1 to E6, it becomes possible to transmit the detection signals of encoders E1 to E6 multiple times within period P2 while matching (synchronizing) the transmission timing of the detection signals of torque sensors Ts1 to Ts6 and the detection signals of encoders E1 to E6.
[0058] In this embodiment, the communication unit 25 of each torque sensor Ts1 to Ts6 may transmit the detection signal to the robot controller 5 such that each detection signal from the torque sensors Ts1 to Ts6 is transmitted with a shift of period P1 within the period P2. In this case, the transmission timing of each detection signal from the torque sensors Ts1 to Ts6 and the detection signals from the encoders E1 to E6 can be matched (synchronized). As a result, for each joint J1 to J6 of the robot 3, the external force can be calculated accurately based on the detection signals from the encoders E1 to E6 and the detection signals from the torque sensors Ts1 to Ts6, whose communication timings have been matched.
[0059] In this embodiment, torque sensors Ts1 to Ts6 may have a signal generation unit 23 that generates a detection signal according to the communication timing between the communication unit 22 of the encoders E1 to E6 and the robot controller 5. In this case, it becomes possible to synchronize the timing at which encoders E1 to E6 perform processing corresponding to communication with the robot controller 5 (for example, the timing at which the signal generation unit 21 generates a detection signal) with the timing at which the signal generation unit 23 generates a detection signal. This makes it possible to detect external forces with high accuracy.
[0060] In this embodiment, the signal generation unit 23 of the torque sensors Ts1 to Ts6 may generate a detection signal in response to a communication command sent from the robot controller 5 to the communication unit 22 of the encoders E1 to E6. In this case, it is possible to synchronize the timing at which the encoders E1 to E6 execute processing corresponding to the communication command from the robot controller 5 (for example, the timing at which the signal generation unit 21 generates a detection signal) with the timing at which the signal generation unit 23 of the torque sensors Ts1 to Ts6 generates a detection signal. This enables accurate detection of external forces.
[0061] In this embodiment, the robot controller 5 transmits communication commands to the communication units 22 of the encoders E1 to E6 at a period P1, and the signal generation units 23 of the torque sensors Ts1 to Ts6 may generate detection signals at a period P2, which is a multiple of the period P1. In this case, the timing at which the encoders E1 to E6 execute processing corresponding to the communication commands from the robot controller 5 (for example, the timing at which the signal generation unit 21 generates a detection signal) and the timing at which the signal generation units 23 of the torque sensors Ts1 to Ts6 generate a detection signal can be matched (synchronized). This makes it possible to detect external forces with high accuracy.
[0062] In this embodiment, the communication line 39 may transmit detection signals from encoders E1 to E6 and torque sensors Ts1 to Ts6 based on a communication standard that satisfies predetermined safety standards. In this case, the functional safety of the communication can be ensured without providing separate components (such as an RSF board) to satisfy the communication safety standards, thus simplifying the configuration of the robot system 1.
[0063] In this embodiment, the robot controller 5 may perform the calculation of external forces based on the detection signals of encoders E1 to E6 and torque sensors Ts1 to Ts6 within the control cycle of motors M1 to M6, which are executed based on the detection signals of encoders E1 to E6. In this case, the following effect is obtained. That is, the control of motors M1 to M6 based on the detection signals of encoders E1 to E6 is performed in a shorter cycle than other controls related to the robot 3. According to this embodiment, since the calculation of external forces is performed within the control cycle of motors M1 to M6, the update cycle of external force detection can be shortened, and the responsiveness to external force detection can be improved. This makes it possible to improve performance in force-controlled work (e.g., polishing) that requires high responsiveness.
[0064] In this embodiment, the robot controller 5 has a servo control unit 33 that controls motors M1 to M6 based on detection signals from encoders E1 to E6, and the servo control unit 33 may also calculate external forces based on detection signals from encoders E1 to E6 and torque sensors Ts1 to Ts6. In this case, since the servo control unit 33 that controls motors M1 to M6 performs the calculation of external forces at short intervals, the update cycle for external force detection can be shortened, and the responsiveness to external force detection can be improved.
[0065] <7. Modifications> The embodiments of the disclosure are not limited to those described above, and various modifications are possible without departing from the spirit and technical idea thereof.
[0066] In the above embodiment, the robot controller 5, encoders E1 to E6, and torque sensors Ts1 to Ts6 are daisy-chained together using one communication line (one system). However, the number of communication lines is not limited to one. For example, if there are limitations, such as the connection port on the robot controller 5 to which the communication line 39 is connected not being able to supply power for all six axes, the communication lines may be divided and connected using multiple lines (multiple systems).
[0067] Figure 6 shows an example of the connection configuration of encoders E1 to E6 and torque sensors Ts1 to Ts6 in this modified example. This modified example is an example where the connection port of the robot controller 5 can supply power for three axes. As shown in Figure 6, the robot 3 and the robot controller 5 are connected by two communication lines 39A and 39B. Communication line 39A daisy-chains three encoders E1 to E3 corresponding to each of the three joints J1 to J3, and three torque sensors Ts1 to Ts3 corresponding to each of the three encoders E1 to E3. Communication line 39B daisy-chains three encoders E4 to E6 corresponding to each of the three joints J4 to J6, and three torque sensors Ts4 to Ts6 corresponding to each of the three encoders E4 to E6. Communication line 39A transmits the detection signals of the three daisy-chained encoders E1 to E3 and the detection signals of the torque sensors Ts1 to Ts3 based on a communication standard that meets predetermined safety standards. Communication line 39B transmits detection signals from three daisy-chained encoders E4 to E6 and torque sensors Ts4 to Ts6 based on a communication standard that meets predetermined safety standards. Communication lines 39A and 39B constitute two separate communication lines. The connecting line 41 is the same as in the above embodiment.
[0068] Figure 7 shows an example of the communication cycle for the detection signals of encoders E1 to E3 and torque sensors Ts1 to Ts3 via communication line 39A. The communication cycle for the detection signals of encoders E4 to E6 and torque sensors Ts4 to Ts6 via communication line 39B is the same as in Figure 7, so its explanation is omitted.
[0069] As shown in Figure 7, each communication unit 22 of encoders E1 to E3 transmits its respective detection signal (shown as E1 to E3) to the robot controller 5 at time t1. Similarly, the communication unit 25 of torque sensor Ts1 transmits one of the two detection signals (shown as Ts1-1) to the robot controller 5 at time t1. Likewise, each communication unit 22 of encoders E1 to E3 transmits its respective detection signal (shown as E1 to E3) to the robot controller 5 at time t2. Similarly, the communication unit 25 of torque sensor Ts1 transmits the other of the two detection signals (shown as Ts1-2) to the robot controller 5 at time t2. Likewise, each communication unit 22 of encoders E1 to E3 transmits its respective detection signal (shown as E1 to E3) to the robot controller 5 at time t3. Furthermore, the communication unit 25 of the torque sensor Ts2 transmits one of the two detection signals (shown as Ts2-1) to the robot controller 5 at time t3. Similarly, the communication units 22 of each encoder E1 to E3 transmit their respective detection signals (shown as E1 to E3) to the robot controller 5 at time t4. Also, the communication unit 25 of the torque sensor Ts2 transmits the other of the two detection signals (shown as Ts2-2) to the robot controller 5 at time t4. Similarly, the communication units 22 of each encoder E1 to E3 transmit their respective detection signals (shown as E1 to E3) to the robot controller 5 at time t5. Also, the communication unit 25 of the torque sensor Ts3 transmits one of the two detection signals (shown as Ts3-1) to the robot controller 5 at time t5. Similarly, the communication unit 22 of each encoder E1 to E3 transmits its respective detection signal (shown as E1 to E3 in the figure) to the robot controller 5 at time t6. In addition, the communication unit 25 of the torque sensor Ts3 transmits the detection signal of the other of the two systems (shown as Ts3-2 in the figure) to the robot controller 5 at time t6.
[0070] Each communication unit 22 of encoders E1 to E3 transmits its respective detection signal (shown as E1 to E3 in the diagram) to the robot controller 5 at time t7. At time t7, no detection signal from the torque sensor is transmitted. Similarly, each communication unit 22 of encoders E1 to E3 transmits its respective detection signal (shown as E1 to E3 in the diagram) to the robot controller 5 at time t8. At time t8, no detection signal from the torque sensor is transmitted.
[0071] The periods P1 and P2, as well as the generation period of the detection signals by the signal generation units 21 of encoders E1 to E6 and 23 of torque sensors Ts1 to Ts6, are the same as in the previously described embodiment, so their explanation will be omitted.
[0072] In the modified example described above, the communication lines consist of two communication lines 39A and 39B. The communication units 22 of encoders E1 to E3 and the communication units 25 of torque sensors Ts1 to Ts3, each corresponding to the same joints J1 to J3, transmit detection signals from encoders E1 to E3 and torque sensors Ts1 to Ts3 via the same communication line 39A. The communication units 22 of encoders E4 to E6 and the communication units 25 of torque sensors Ts4 to Ts6, each corresponding to the same joints J4 to J6, transmit detection signals from encoders E4 to E6 and torque sensors Ts4 to Ts6 via the same communication line 39B. As a result, the robot controller 5 and the encoders E1 to E6 and torque sensors Ts1 to Ts6 can be daisy-chained in two separate systems, which improves design flexibility while synchronizing the communication timing of detection signals between encoders and torque sensors corresponding to the same joints.
[0073] <8. Example Hardware Configuration of Robot Controller> An example hardware configuration of the robot controller 5 will be explained with reference to Figure 8. Note that in Figure 8, the configuration related to the function of supplying power to the motors M1 to M6 of the robot controller 5 is omitted as appropriate.
[0074] As shown in Figure 8, the robot controller 5 includes, for example, a CPU 901, a ROM 903, a RAM 905, a dedicated integrated circuit 907 built for a specific application such as an ASIC or FPGA, an input device 913, an output device 915, a recording device 917, a drive 919, a connection port 921, and a communication device 923. These components are connected to each other via a bus 909 and an input / output interface 911 so that signals can be transmitted between them.
[0075] The program can be stored in a recording device 917 such as a ROM 903, RAM 905, or hard disk.
[0076] The program can also be temporarily or permanently (permanently) recorded on a removable recording medium 925, such as a magnetic disk like a flexible disk, an optical disk like various CDs, MO disks, or DVDs, or a semiconductor memory. Such a recording medium 925 can also be provided as so-called packaged software. In this case, the program recorded on these recording media 925 may be read by the drive 919 and recorded on the recording device 917 via the input / output interface 911 or bus 909, etc.
[0077] The program can also be stored on, for example, a download site, another computer, or another recording device (not shown). In this case, the program is transferred via a network such as a LAN or the Internet, and the communication device 923 receives the program. The program received by the communication device 923 may then be recorded on the recording device 917 via the input / output interface 911 or bus 909, etc.
[0078] The program can also be stored, for example, on an appropriate external device 927. In this case, the program may be transferred via an appropriate connection port 921 and recorded on the recording device 917 via an input / output interface 911, bus 909, etc.
[0079] The CPU 901 performs various processes according to the program recorded in the recording device 917, thereby realizing the processing performed by the operation control unit 31, servo control unit 33, external force calculation unit 37, etc. The CPU 901 may, for example, directly read and execute the program from the recording device 917, or it may load it into the RAM 905 first and then execute it. When the CPU 901 receives a program via the communication device 923, drive 919, or connection port 921, it may execute the received program directly without recording it in the recording device 917.
[0080] The CPU 901 may, if necessary, perform various processes based on signals and information input from an input device 913, such as a mouse, keyboard, or microphone (not shown).
[0081] The CPU 901 may output the results of the above processing from an output device 915, such as a display device or an audio output device. The CPU 901 may also transmit the processing results via a communication device 923 or a connection port 921 as needed. The CPU 901 may also record the processing results in the recording device 917 or the recording medium 925.
[0082] In the above explanation, where terms such as "perpendicular," "parallel," and "plane" are used, these terms do not have a strict meaning. These terms "perpendicular," "parallel," and "plane" refer to situations where design and manufacturing tolerances and errors are acceptable, meaning they are "effectively perpendicular," "effectively parallel," and "effectively plane."
[0083] In the above explanation, if there are descriptions such as "identical," "same," "equal," or "different" regarding external dimensions, size, shape, position, etc., these descriptions do not have a strict meaning. These "identical," "same," "equal," and "different" terms mean that tolerances and errors in design and manufacturing are allowed, and that they are "substantially identical," "substantially the same," "substantially equal," or "substantially different."
[0084] In addition to what has already been described above, the methods of the above embodiments and their respective modifications may be used in appropriate combinations. Furthermore, although not exemplified individually, the above embodiments and their respective modifications may be implemented with various modifications, without departing from their intended purpose.
[0085] The problems and effects that the embodiments and modifications described above aim to solve are not limited to those stated above. The embodiments and modifications may solve problems not mentioned above, or produce effects not mentioned above, and may solve only some of the problems described or produce only some of the effects described.
[0086] 1 Robot system 3 Robot 5 Robot controller (example of controller) 21 Signal generation unit 22 Communication unit (example of first communication unit) 23 Signal generation unit 25 Communication unit (example of second communication unit) 27 Motion controller 29 Multi-axis servo controller 31 Motion control unit 33 Servo control unit (example of motor control unit) 35 Servo amplifier 37 External force calculation unit 39 Communication line 39A Communication line 39B Communication line 41 Connection line E1-E6 Encoder J1-J6 Joint M1-M6 Motor P1 Period (example of first period) P2 Period (example of second period) Ts1-Ts6 Torque sensor
Claims
1. A robot system comprising: a robot equipped with a motor, encoder and torque sensor at its joint; and a controller for controlling the robot, wherein the encoder has a first communication unit that transmits a first detection signal to the controller at a first communication timing; and the torque sensor has a second communication unit that transmits a second detection signal to the controller at a second communication timing corresponding to the first communication timing.
2. The robot system according to claim 1, further comprising at least one communication line for connecting the robot and the controller and for transmitting both the first detection signal and the second detection signal.
3. The robot system according to claim 2, wherein the robot has a plurality of joints, and the communication line daisy-chains a plurality of encoders corresponding to each of the plurality of joints and a plurality of torque sensors corresponding to each of the plurality of encoders, and transmits the first detection signal of the connected plurality of encoders and the second detection signal of the plurality of torque sensors.
4. The robot system according to any one of claims 1 to 3, wherein each of the plurality of encoders has a first communication unit that transmits the first detection signal to the controller in a first cycle, and each of the plurality of torque sensors has a second communication unit that transmits the second detection signal to the controller in a second cycle that is a multiple of the first cycle.
5. The robot system according to claim 4, wherein the second communication unit of each of the plurality of torque sensors transmits the second detection signal to the controller such that each of the second detection signals of the plurality of torque sensors is transmitted with a shift in the second cycle for each first cycle.
6. The robot system according to claim 2, wherein the communication lines are multiple, and the first communication unit of the encoder and the second communication unit of the torque sensor, each corresponding to the same joint, transmit the first detection signal and the second detection signal via the same communication line.
7. The robot system according to claim 2, wherein the torque sensor has a signal generation unit that generates the second detection signal according to the third communication timing between the first communication unit of the encoder and the controller.
8. The robot system according to claim 7, wherein the signal generation unit generates the second detection signal in response to a communication command transmitted from the controller to the first communication unit.
9. The robot system according to claim 8, wherein the controller transmits the communication command to the first communication unit in a first cycle, and the signal generation unit generates the second detection signal in a second cycle which is a multiple of the first cycle.
10. The robot system according to claim 2, wherein the communication line transmits the first detection signal and the second detection signal based on a communication standard that satisfies a predetermined safety standard.
11. The robot system according to claim 1, wherein the controller performs calculations of external forces based on the first detection signal and the second detection signal within the control cycle of the motor that is executed based on the first detection signal.
12. The robot system according to claim 11, wherein the controller has a motor control unit that controls the motor based on the first detection signal, and the motor control unit calculates the external force based on the first detection signal and the second detection signal.
13. A robot system comprising: a robot equipped with a motor, encoder and torque sensor at its joints; and a controller for controlling the robot, wherein the encoder has a first communication unit that transmits a first detection signal to the controller; and the torque sensor has a signal generation unit that generates a second detection signal according to a fourth communication timing between the first communication unit of the encoder and the controller.
14. A torque sensor for a robot system comprising: a robot equipped with a motor, an encoder and a torque sensor at its joints; and a controller for controlling the robot, wherein the encoder has a first communication unit that transmits a first detection signal to the controller at a first communication timing, and the torque sensor has a second communication unit that transmits a second detection signal to the controller at a second communication timing corresponding to the first communication timing.
15. A communication method for a robot system comprising: a robot equipped with a motor, an encoder, and a torque sensor in its joints; and a controller for controlling the robot, the method comprising: transmitting a first detection signal from the encoder to the controller at a first communication timing; and transmitting a second detection signal from the torque sensor to the controller at a second communication timing corresponding to the first communication timing.