Control method
Patent Information
- Application Number
- CN202310835181.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-07
- Filing Date
- 2023-07-06
- Publication Date
- 2026-10-13
- Estimated Expiration
- 2043-07-06
AI Technical Summary
[0004]然而,在专利文献1记载的技术中,由于机械臂的关节的温度自加热器开始加热后暂且保持下降的状态,因此认为,有时机械臂动作的电力消耗会因关节所使用的润滑剂的固着而不必要地增大,有时驱动关节的电机会因机械臂内部产生结露而发生故障
Smart Images

Figure CN117359612B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a control method for a robotic arm. Background Technology
[0002] In low-temperature environments, such as those found in frozen food production lines, which are relatively harsh for human workers, there is a strong demand for robotic arms to replace human labor. Patent Document 1 describes a technology related to robotic arms used in low-temperature environments. In the technology described in Patent Document 1, a heater is used to heat the joints when the temperature of the robotic arm's joints drops to near the lower limit of the permissible operating temperature during the arm's operation.
[0003] Patent Document 1: Japanese Patent Application Publication No. 08-019978
[0004] However, in the technology described in Patent Document 1, since the temperature of the joints of the robotic arm remains in a state of temporary decrease after the heater starts heating, it is believed that sometimes the power consumption of the robotic arm movement will increase unnecessarily due to the adhesion of the lubricant used in the joints, and sometimes the motor driving the joints will malfunction due to condensation inside the robotic arm. Summary of the Invention
[0005] According to one aspect of this disclosure, a control method for controlling a robotic arm in a robot system is provided. The robot system includes a robotic arm, a controller, and a temperature regulation unit. The robotic arm has multiple joints and multiple drive units that drive the multiple joints respectively. The controller controls the robotic arm, and the temperature regulation unit regulates the temperature of the robotic arm. The control method includes: a measurement step, in which a temperature measuring unit of the temperature regulation unit measures the temperature of one of the multiple drive units as the object of measurement at predetermined time intervals; a heating step, in which a heating unit of the temperature regulation unit heats the multiple drive units; a stop step, in which the controller stops the operation of the multiple drive units if the temperature of the object of measurement is lower than a preset stop temperature; and a restart step, in which the controller restarts the operation of the multiple drive units if the temperature of the object of measurement is higher than a preset restart temperature after executing the stop step. Attached Figure Description
[0006] Figure 1 This is a simplified diagram showing the overall structure of the robot system.
[0007] Figure 2 This is a block diagram showing the robot and the main components of the robot controller.
[0008] Figure 3 It is a decomposed 3D diagram of the arm element.
[0009] Figure 4 It is along Figure 3 The partial sectional view shown is taken when the arm element is cut along section line 4-4.
[0010] Figure 5 yes Figure 3 The side view of the arm element shown.
[0011] Figure 6 Observing from other directions Figure 3 The side view of the arm element shown.
[0012] Figure 7 It is a flowchart of the control process.
[0013] Explanation of reference numerals in the attached figures
[0014] 1…Robot system, 10…Base, 20…Arm, 21, 22, 23, 24, 25, 26…Arm elements, 25c…Shaft, 31…Main body, 31a…Base, 31b…First front end, 31c…Second front end, 33…Connecting component, 33a…Cylindrical component, 33b…Cylindrical component, 40…Drive mechanism, 40-5…Drive mechanism, 40-6…Drive mechanism, 42…Motor, 44…Reducer, 46…First pulley, 47…Second pulley, 48…Belt, 49…Angle sensor, 50…Drive board, 51…Motor driver, 55…Control board, 56…Memory, 57…CPU, 60…Power supply board, 70…End effector, 100…Robot, 300…Temperature regulator 310…Temperature sensor, 320…Heater, 330…Adjustment unit, 425…Motor, 425b…Rotary shaft, 426…Motor, 445…Reducer, 445b…Shaft, 446…Reducer, 465…First pulley, 466…First pulley, 475…Second pulley, 476…Second pulley, 485…Belt, 486…Belt, 495…Angle sensor, 496…Angle sensor, 500…Robot controller, 510…Drive board, 515…Motor driver, 520…Control board, 521…Memory, 523…CPU, 530…Power supply board, J1, J2, J3, J4, J5, J6…Joints, RC…Robot coordinate system, RX, RY, RZ…Angle position. Detailed Implementation
[0015] A1. Implementation method:
[0016] Figure 1This is a simplified diagram showing the overall configuration of the robot system 1 according to this embodiment. The robot system 1 includes a robot 100, a temperature regulator 300 for adjusting the temperature of the robot 100, and a robot controller 500 for controlling the robot 100. The robot 100 is also referred to as a robotic arm. The temperature regulator 300 is also referred to as a temperature regulating unit. The robot 100 is a vertical joint robot. The robot 100 performs operations related to food manufacturing in a food factory. In this embodiment, the robot 100 is set up in a low-temperature environment and operates in that environment. A low-temperature environment refers to an environment below 10°C, such as inside a cold storage room in a cold storage warehouse, and more specifically, in this specification, refers to an environment below -18°C, such as inside a freezer room in a frozen storage warehouse. It should be noted that the temperature regulator 300 and the robot controller 500 are set up in a normal temperature environment. In this specification, a normal temperature environment refers to an environment in the range of 15 to 25°C, such as outside a cold storage room in a cold storage warehouse or outside a freezer room in a frozen storage warehouse.
[0017] The robot controller 500 is connected to the robot arm 20 and the end effector 70 via signal lines. The robot controller 500 controls the position of the control points of the robot 100 in the robot coordinate system (RC). The control points of the robot 100 are, for example, set at the center of the point where the end effector 70 contacts the object. Sometimes the control point is referred to as the TCP (Tool Center Point). The robot controller 500 drives the robot 100, causing changes in the position and posture of the robot 100. Therefore, the robot controller 500 can position the end effector 70, mounted at the tip of the robot arm 20, in a specified posture at a specified location. For example, the robot controller 500 can communicate with a control device (not shown) to control the robot arm 20 and the end effector 70 according to motion commands received from the control device. The control device is, for example, a programmable logic controller (PLC).
[0018] In this embodiment, the coordinate system defining the space in which the robot 100 is positioned, with the base 10 as the reference, is referred to as the robot coordinate system RC. The robot coordinate system RC is a three-dimensional Cartesian coordinate system defined on a horizontal plane by mutually orthogonal X-axis and Y-axis, and a Z-axis with vertically upward as the positive direction. Any position in the robot coordinate system RC can be represented by the position along the X-axis, Y-axis, and Z-axis. Furthermore, the angular position of rotation about the X-axis is denoted as RX, the angular position of rotation about the Y-axis as RY, and the angular position of rotation about the Z-axis as RZ. Any posture in the robot coordinate system RC can be represented by the angular positions RX, RY, and RZ.
[0019] The robot 100 includes a base 10, an arm 20, and an end effector 70. The base 10 supports the components constituting the robot 100. The robot 100 is mounted on the floor by fixing the base 10 to the floor. Additionally, although... Figure 1 The illustration is omitted, but the robot 100 receives power from an external AC power source.
[0020] Arm 20 includes arm elements 21, 22, 23, 24, 25, and 26. Additionally, arm 20 has six joints J1 to J6. Joints J1 to J6 are rotary joints. Arm element 21 is connected to the upper end of base 10. The connection between base 10 and arm element 21 forms joint J1. Arm element 21 rotates relative to base 10 about the rotation axis of joint J1. Arm element 22 is connected to the front end of arm element 21. The connection between arm element 21 and arm element 22 forms joint J2. Arm element 22 rotates relative to arm element 21 about the rotation axis of joint J2. Arm element 23 is connected to the front end of arm element 22. The connection between arm element 22 and arm element 23 forms joint J3. Arm element 23 rotates relative to arm element 22 about the rotation axis of joint J3. Arm element 24 is connected to the front end of arm element 23. The connection between arm element 23 and arm element 24 forms joint J4. Arm element 24 rotates relative to arm element 23 about the rotation axis of joint J4. Arm element 25 is connected to the front end of arm element 24. The connection between arm element 24 and arm element 25 forms joint J5. Arm element 25 rotates relative to arm element 24 about the rotation axis of joint J5. Arm element 26 is connected to the front end of arm element 25. The connection between arm element 25 and arm element 26 forms joint J6. Arm element 26 rotates relative to arm element 25 about the rotation axis of joint J6. Joint J6 rotates around an axis perpendicular to the rotation axis of joint J5. Details regarding the structure of the arm elements will be described later.
[0021] An end effector 70 is mounted on arm element 26 via a force sensor (not shown). The end effector 70 is, for example, a device for gripping a workpiece (not shown). Figure 1 In this diagram, for ease of understanding, the end effector 70 is shown as a cylindrical component. The end effector 70 is controlled by the robot controller 500.
[0022] The temperature regulator 300 regulates the temperature of the six drive mechanisms 40 of joints J1 to J6 of the arm 20 of the robot 100. Specifically, the temperature regulator 300 heats the six drive mechanisms 40 through corresponding heaters 320 to maintain the target temperature specified by the robot controller 500. The drive mechanism 40 is also referred to as a drive unit. The six drive mechanisms 40 are also referred to as multiple drive units. The temperature regulator 300 can perform individual temperature regulation at all six points. The temperature regulator 300 includes six temperature sensors 310, six heaters 320, and an adjustment unit 330. The six heaters 320 and the adjustment unit 330 are also referred to as heating units. The six temperature sensors 310 and the adjustment unit 330 are also referred to as temperature measurement units. It should be noted that in Figure 1 The illustrations of the six temperature sensors 310 and six heaters 320 are omitted. Additionally, the temperature regulator 300 is connected to the robot controller 500 via signal lines. Furthermore, although in... Figure 1 The illustration is omitted, but the temperature regulator 300 receives power from an external AC power source.
[0023] Figure 2 This is a block diagram showing the main components of the robot 100, temperature regulator 300, and robot controller 500. Each drive mechanism 40 is equipped with a temperature sensor 310 and a heater 320. Figure 2 The diagram only shows two drive mechanisms 40, two temperature sensors 310, and two heaters 320. The temperature sensors 310 are, for example, thermocouples or resistive temperature sensors. The temperature sensors 310 measure the temperature near the corresponding drive mechanism 40. That is, the temperature regulator 300 performs a measurement step of measuring the temperature of the drive mechanism 40, which is the object of measurement, at predetermined time intervals. In this specification, the temperature sensor 310 measuring the temperature of the corresponding drive mechanism 40 includes the temperature sensor 310 measuring the temperature near the corresponding drive mechanism 40. In the embodiment, it is assumed that all six drive mechanisms 40 are objects of measurement. The heaters 320 are, for example, heaters with a nichrome heating wire covered with a metal film as the heating element. The heaters 320 are heated by being supplied with current. The heaters 320 heat the corresponding drive mechanism 40. That is, the temperature regulator 300 performs a heating step of heating the drive mechanism 40. In this specification, the heater 320 heating the corresponding drive mechanism 40 includes the heater 320 heating the area near the corresponding drive mechanism 40. Six temperature sensors 310 and six heaters 320 are positioned at defined locations on arm 20. Details regarding the placement of the temperature sensors 310 and heaters 320 are described later.
[0024] The regulating unit 330 controls the heat output of each heater 320 for each of the six drive mechanisms 40 based on the temperature measured by the temperature sensor 310, so that the temperature of the drive mechanism 40 is close to the target temperature. Controlling the heat output of the heater 320 also includes reducing the heat output to zero, i.e., turning off the heater 320. The target temperature is the temperature that is desired to be maintained for the drive mechanism 40. The regulating unit 330 controls the heat output of the heater 320, for example, using PID (Proportional Integral Differential) control, so that the measured temperature is close to the target temperature, i.e., the deviation between the measured temperature and the target temperature is equal to 0. In this specification, the ambient temperature at which the robot 100 can operate normally is set to 0 to 45°C. The target temperature is preferably within the range of the ambient temperature at which the robot 100 can operate normally. For example, the target temperature is 10°C. Here, the heat output of the heater 320 refers to the heat output per unit time. In addition, the adjustment unit 330 outputs the temperature measurement values measured by the six temperature sensors 310 to the control board 520 of the robot controller 500 at predetermined time intervals.
[0025] The robot controller 500 includes a drive board 510, a control board 520, and a power supply board 530. The drive board 510 has six motor drivers 515. Each motor driver 515 drives the motor 42 of the corresponding drive mechanism 40 in the six drive mechanisms 40. The drive board 510 drives the six motors 42 according to the control of the control board 520. The drive board 510 is disposed inside the arm 20.
[0026] The control board 520 includes a memory 521 and a CPU (Central Processing Unit) 523. The memory 521 stores programs and data used by the robot controller 500 for various processes. For example, the memory 521 stores motion programs that control the movements of the robot 100 and the target temperature values for each of the six drive mechanisms 40. The CPU 523 performs various functions by executing the programs stored in the memory 521.
[0027] For example, the CPU 523 sets a target value representing the target temperature in the adjustment section 330 of the temperature regulator 300 for each of the six drive mechanisms 40. In this embodiment, it is assumed that the target temperature of the six drive mechanisms 40 is the same.
[0028] The power supply board 530 converts power supplied from an external AC power source into DC power and supplies the converted power to the control board 520. The power supply board 530 includes a circuit that steps down the power supplied from the external AC power source and converts the stepped-down power back into DC power. The control board 520 and the power supply board 530 are disposed inside the housing of the robot controller 500.
[0029] Figure 3 This is an exploded stereoscopic view of arm element 24. For ease of understanding of the technology, in... Figure 3 The diagram of a portion of the composition of arm element 24 is omitted. Figure 4 It is along Figure 3 The partial sectional view shown is taken when section arm element 24 is cut along section line 4-4. Figure 3 , Figure 4 The illustration of the end effector 70 is omitted. Figure 5 Observed in the -X direction Figure 3 The side view of arm element 24 shown. Figure 5 This is a side view of the main body 31 of arm element 24 after the +X side has been removed. Figure 5 In order to show the positional relationship between the motor 425, the first pulley 465, the second pulley 475, and the belt 485, the illustrations of other constituent elements are omitted. Figures 3-6 In this context, a Cartesian coordinate system, different from the robot's RC coordinate system, is used for convenience. Figures 3-6 The rectangular coordinate system set in the middle is a coordinate system fixed relative to arm element 24.
[0030] Arm element 24 has a main body 31, a connecting component 33, and a drive mechanism 40. The main body 31 is a hollow shell formed of aluminum or an aluminum alloy. Figure 3 , Figure 4 As shown, in arm element 24, the main body 31 includes a base 31a, a first front end portion 31b, and a second front end portion 31c. The first front end portion 31b and the second front end portion 31c are formed to extend from the base 31a in the +Y direction. It should be noted that the shape of the main body 31 of arm elements other than arm element 24 is configured according to the joints of each arm element.
[0031] The connecting member 33 connects the arm element 24 and the arm element 25. In the arm element 24, the connecting member 33 includes a cylindrical member 33a and a cylindrical member 33b. The arm element 25 is disposed between a first front end portion 31b and a second front end portion 31c. The cylindrical member 33a is disposed between the first front end portion 31b and the arm element 25. The cylindrical member 33a is fixed to the first front end portion 31b by inserting into an opening formed on the +X side of the first front end portion 31b. The cylindrical member 33b is disposed between the second front end portion 31c and the arm element 25. The cylindrical member 33b is fixed to the second front end portion 31c by inserting into an opening formed on the -X side of the second front end portion 31c.
[0032] The first front end portion 31b and the second front end portion 31c, along with the cylindrical components 33a and 33b, form a joint structure. The arm element 25 is clamped into the cylindrical components 33a and 33b, thereby being held by the arm element 24. The arm element 25 is rotatable in its configured position. It should be noted that the number and shape of the connecting members 33 constituting the arm element other than the arm element 24 are determined according to the joints of that arm element.
[0033] Drive mechanism 40 drives the corresponding joints J1 to J6. Sometimes, drive mechanism 40 of arm element 24 is referred to as drive mechanism 40-5. Drive mechanism 40-5 drives joint J5. Drive mechanism 40 (drive mechanism 40-5) of drive joint J5 includes a motor 425, a reducer 445, a first pulley 465, a second pulley 475, a belt 485, and an angle sensor 495. Motor 425 is motor 42 of drive mechanism 40-5. Reducer 445 is reducer 44 of drive mechanism 40-5. Angle sensor 495 is angle sensor 49 of drive mechanism 40-5. Figure 3 The diagrams of the reducer 445 and the angle sensor 495 are omitted. Figure 4 The internal structure of the motor 425 and reducer 445, as well as the angle sensor 495, are omitted from the diagram.
[0034] Motor 425 drives joint J5, thus rotating the rotation axis 425b under the control of robot controller 500. Motor 425 is, for example, a servo motor. Reducer 445 converts the rotational input from motor 425 into a low-speed rotational output. First pulley 465 is connected to the rotation axis 425b of motor 425. Second pulley 475 is supported by the shaft portion 445b of reducer 445. Figure 4 As shown, the reducer 445 is connected to the shaft portion 25c, which is integrally formed with the arm element 25. As... Figure 3 , Figure 5As shown, belt 485 is mounted between the first pulley 465 and the second pulley 475. Therefore, the rotational force of motor 425 can be transmitted to arm element 25.
[0035] like Figure 2 As shown, angle sensor 49 (495) detects the angular position of the output shaft of motor 425 as the rotation angle of joint J5, and outputs the detected value to the control board 520 of robot controller 500. Angle sensor 49 is, for example, a rotary encoder. Alternatively, angle sensor 49 is a battery-free encoder that does not require a battery for storing the detected value, such as a battery-free encoder using a structure with multiple gears. Specifically, angle sensor 49 has a main shaft gear mounted on the output shaft of motor 425 and first to third auxiliary shaft gears meshing with the main shaft gear, and the number of teeth of the four gears is an integer that does not have a greatest common divisor other than 1. Angle sensor 49 detects the angular position within one revolution and the number of revolutions as the rotation angle based on the combination of the positions of the four gears. It should be noted that angle sensor 49 can also be other battery-free encoders, for example, a battery-free encoder that uses a power generation unit that utilizes magnetic force to store the detected value in memory.
[0036] Arm elements 21 to 23 also have a main body 31, a connecting member 33, and a drive mechanism 40, respectively. The drive mechanism 40 of arm element 21 drives joint J2. The drive mechanism 40 of arm element 22 drives joint J3. The drive mechanism 40 of arm element 23 drives joint J4. In addition, the drive mechanism 40 of the drive joint J1 is disposed inside the base 10.
[0037] Furthermore, no drive mechanism 40 is provided inside the arm element 26. Therefore, in addition to the drive mechanism 40 for driving joint J5, other drive mechanisms 40 for driving joint J6 are also provided inside the arm element 24.
[0038] Figure 6 Observed in the +X direction Figure 3 The side view of arm element 24 shown. Figure 6 This is a side view of the main body 31 of arm element 24 with the -X side side removed. Figure 6The diagram shows a drive mechanism 40 for driving joint J6. Sometimes, the drive mechanism 40 for driving joint J6 is referred to as drive mechanism 40-6. The drive mechanism 40 (40-6) for driving joint J6 includes a motor 426, a reducer 446, a first pulley 466, a second pulley 476, a belt 486, and an angle sensor 496. Motor 426 is the same as motor 42 in drive mechanism 40-6. Reducer 446 is the same as reducer 44 in drive mechanism 40-6. Angle sensor 496 is the same as angle sensor 49 in drive mechanism 40-6. Figure 6 In this diagram, to illustrate the positional relationship between the motor 426, the first pulley 466, the second pulley 476, and the belt 486, illustrations of other constituent elements are omitted. Joint J6 rotates about an axis of rotation intersecting the rotational axis of the motor 426. Therefore, the reducer 446, including hypoid gears, worm gears, and other bevel gears, converts the rotational direction of the power transmitted from the motor 426 to a substantially perpendicular direction. Simultaneously, the reducer 446 reduces the rotational speed of the power input from the motor 426.
[0039] Next, the locations of the temperature sensor 310 and the heater 320 in the temperature regulator 300 will be explained. For example... Figure 3 , Figure 5 As shown, in arm element 24, the temperature sensor 310 and heater 320 of the drive mechanism 40 (drive mechanism 40-5) for driving joint J5 are disposed between the motor 425 and the reducer 445 and inside the bottom surface of the main body 31. For example, the temperature sensor 310 and heater 320 are disposed at the midpoint of the straight line connecting the motor 425 and the reducer 445.
[0040] As previously described, the main body 31 is formed of aluminum or an aluminum alloy. Therefore, heat generated from the heater 320 is conducted through the main body 31. As a result, the motor 425 and the reducer 445 are heated.
[0041] In addition, such as Figure 6 As shown, in arm element 24, the temperature sensor 310 and heater 320 of the drive mechanism 40 (drive mechanism 40-6) for driving joint J6 are disposed between the motor 426 and the reducer 446 and inside the upper surface of the body 31. For example, the temperature sensor 310 and heater 320 are disposed at the midpoint of the straight line connecting the motor 426 and the reducer 446. Heat generated from the heater 320 is conducted through the body 31. As a result, the motor 426 and the reducer 446 are heated.
[0042] Additionally, the temperature sensor 310 and heater 320 of the drive mechanism 40 for driving joint J1 are disposed inside the base 10, between the motor 42 and the reducer 44, and on the inner wall of the base 10. The temperature sensor 310 and heater 320 of the drive mechanism 40 for driving joint J2 are disposed inside the main body of arm element 21, between the motor 42 and the reducer 44, and on the inner side of the main body of arm element 21. The temperature sensor 310 and heater 320 of the drive mechanism 40 for driving joint J3 are disposed inside the main body of arm element 22, between the motor 42 and the reducer 44, and on the inner side of the main body of arm element 22. The temperature sensor 310 and heater 320 of the drive mechanism 40 for driving joint J4 are disposed inside the main body of arm element 23, between the motor 42 and the reducer 44, and on the inner side of the main body of arm element 23.
[0043] Thus, a temperature sensor 310 and a heater 320 are provided for the drive mechanism 40 that drives each joint. The temperature regulator 300 individually controls the heat output of the heater 320 for each drive mechanism 40 so that the measured temperature is close to the target temperature, that is, the deviation between the measured temperature and the target temperature is close to 0.
[0044] The method for controlling the temperature of robot 100 in robot system 1 having the above-described configuration will be described below.
[0045] Figure 7 This is a flowchart of the control processing for controlling the robot 100. Temperature control processing is executed by the CPU (Central Processing Unit) 523 of the control board 520 of the robot controller 500. It should be noted that it is assumed the power supply to the temperature regulator 300 is pre-connected. For example, it is assumed that when the power supply to the temperature regulator 300 is connected, default values are set as the target temperatures for each component. Therefore, when the power is connected, the temperature regulator 300 controls the heat output of the six heaters 320 to approach the default target temperatures, initiating temperature regulation of each drive mechanism 40.
[0046] In step S11, CPU 523 reads the motion program stored in memory 521. The motion program is the program that controls the actions of robot 100.
[0047] In step S12, the CPU 523 reads a target value representing the target temperature from the memory 521. The CPU 523 sends an instruction including the target value to the temperature regulator 300 to set the read target value in the adjustment unit 330 of the temperature regulator 300. Therefore, the temperature regulator 300 adjusts the temperature of each of the six drive mechanisms 40 to approach the set new target value. In addition, the temperature regulator 300 outputs the temperature measurement values measured by the six temperature sensors 310 to the control board 520 of the robot controller 500 at predetermined time intervals. Furthermore, the CPU 523 reads from the memory 521 an upper limit and a lower limit indicating the allowable temperature range of the drive mechanisms 40. The lower limit is also called the stop temperature. The lower limit is also called the restart temperature. The lower limit is, for example, 5°C, set higher than 0°C, the temperature at which lubricant tends to solidify. In addition, the upper limit is, for example, 70°C, set as the upper limit of the temperature that the robot 100 can usually take. Alternatively, the CPU 523 can wait for a preset period after executing step S12 before executing step S13. Thus, the robot 100 can perform actions after the temperature of its arm 20 has risen to a certain level.
[0048] In step S13, CPU523 executes the action program and begins the action of robot 100.
[0049] In step S14, if at least one of the six measured temperatures output from the temperature regulator 300 is outside the permissible range (step S14; Yes), the CPU 523 executes the processing of step S15. The permissible range is the range above the lower limit and below the upper limit.
[0050] On the other hand, if none of the six measured temperatures are outside the allowable range, that is, if all six measured temperatures are within the allowable range (step S14; no), the CPU 523 waits for a preset time before executing step S14 again. In the embodiment, the stopping conditions for stopping the operation of the drive mechanism 40 include the temperatures of the six drive mechanisms 40 being measured being below the lower limit of the allowable range and above the upper limit of the allowable range.
[0051] In step S15, CPU 523 stops all drive mechanisms 40. Therefore, the movement of robot 100 is interrupted. That is, the robot controller 500 executes a stopping step to halt the movement of the drive mechanisms 40 when the temperature of the measured object is lower than a preset stop temperature.
[0052] In step S16, if all six measured temperatures output from the temperature regulator 300 are within the allowable range (step S16; yes), the CPU 523 executes the processing in step S17. In the embodiment, the restart conditions for restarting the operation of the drive mechanism 40 include the temperature of the six drive mechanisms 40 being measured being above the lower limit of the allowable range and below the upper limit of the allowable range.
[0053] On the other hand, if at least one of the six measured temperatures output from the temperature regulator 300 is outside the allowable range (step S16; no), the CPU 523 executes the process of step S16 again after waiting for a preset time.
[0054] In step S17, CPU 523 restarts the operation of robot 100. That is, robot controller 500 executes a restart step to restart the operation of drive mechanism 40 if the measured temperature of the object after stopping the operation of drive mechanism 40 is above a preset restart temperature. Then, CPU 523 executes the processing of step S18.
[0055] If the CPU 523 does not receive an instruction to stop the robot 100's operation in step S18 (step S18; No), the process of step S14 is executed again. For example, the robot controller 500 receives an instruction to stop the robot 100's operation from a control device not shown in the figure. On the other hand, if the CPU 523 receives an instruction to stop the robot 100's operation (step S18; Yes), the control process ends.
[0056] As explained above, in this embodiment, when the temperature of the drive mechanism 40, which is the object of measurement, falls below a lower limit, all drive mechanisms 40 are stopped from operating. Therefore, while the temperature of the drive mechanisms 40 of the robot 100 continues to decrease, the operation of the robot 100 is not continued. Thus, it is possible to suppress lubricant settling and condensation inside the robot 100 during its operation. Consequently, it is possible to prevent unnecessary increases in power consumption for the robotic arm's operation due to lubricant settling and to prevent motor malfunctions in the drive joints due to condensation inside the robotic arm.
[0057] Furthermore, after the operation of the drive mechanism 40 is stopped, and the temperature of all drive mechanisms 40 reaches or exceeds the lower limit, the operation of all drive mechanisms 40 is restarted. Therefore, the lubricating material does not solidify, and the robot 100 can operate smoothly. Additionally, it prevents problems such as condensation inside the robot 100 that could cause motor 42 malfunctions.
[0058] When the temperature of at least one of the six drive mechanisms 40 of the robot 100 falls below a lower limit, i.e., below the stop temperature, the operation of all six drive mechanisms 40 is stopped. Therefore, it is possible to more reliably suppress lubricant settling, condensation inside the robotic arm, and other issues that may occur during the operation of the robot 100.
[0059] Furthermore, after stopping the drive mechanism 40, if each of the six drive mechanisms 40 reaches or exceeds the lower limit value, i.e., the restart temperature, the operation of the six drive mechanisms 40 is restarted. Since the operation of the drive mechanisms 40 is not restarted until the temperature of all the drive mechanisms 40 of the robot 100 reaches or exceeds the lower limit value, it is possible to more reliably suppress lubricant solidification, condensation inside the robotic arm, and other issues that may occur during the operation of the robot 100.
[0060] B1. Other implementation methods 1
[0061] In this implementation, the CPU 523 of the robot controller 500 stops all drive mechanisms 40 (see reference). Figure 7 Following step S15), power is also supplied from the motor driver 515 of the drive board 510 to the drive mechanism 40. However, it is also possible that the CPU 523 of the robot controller 500, after stopping all drive mechanisms 40, further controls the drive board 510 to cut off the power supply from the motor driver 515 of the drive board 510 to the drive mechanism 40. For example, the CPU 523 cuts off the power supply to the drive mechanism 40 by turning off the switching element of the inverter included in the motor driver 515 of the drive board 510. Alternatively, the CPU 523 may turn off the switch or relay of the switching circuit that connects the inverter included in the motor driver 515 of the drive board 510 to the power supply. Thus, the power supply from the motor driver 515 to the drive mechanism 40 is cut off.
[0062] Since the robot controller 500 cuts off the power supply to the drive mechanism 40 after stopping its operation, a short circuit will not occur in the motor 42 included in the drive mechanism 40, even if condensation occurs inside the robot 100. Therefore, motor failure can be prevented. Furthermore, the robot controller 500 re-energizes the drive mechanism 40 after the temperature of the measured object reaches or exceeds the restart temperature. The restart temperature is preferably set to a temperature that prevents condensation from occurring inside the robot 100. Since the drive mechanism 40 is energized only after the temperature of the measured object reaches or exceeds the restart temperature, motor failure can be prevented. Additionally, to prevent condensation, the shell of the main body 31 constituting the arm element can be formed as a double-walled structure with an air layer or insulating material sandwiched between the layers.
[0063] B2. Other implementation methods 2
[0064] In one implementation, while the robot 100 is holding a workpiece, the operation of the drive mechanism 40 is stopped while the robot 100 is holding the workpiece. However, the CPU 523 of the robot controller 500 can also control the robot 100 to release the workpiece before stopping the operation of the drive mechanism 40. "Before stopping the operation of the drive mechanism 40" refers to... Figure 7 This occurs after step S14 and before step S15. In this case, firstly, CPU 523 causes memory 521 to store the current position of robot 100. CPU 523 causes robot 100 to perform the action of transporting the workpiece to a preset position and placing the workpiece at that position. Next, CPU 523 causes robot 100 to move to a standby position. Then, CPU 523 can stop the operation of drive mechanism 40. For example, CPU 523 can also control robot 100 as described above by executing a program for interrupting actions that is pre-saved in memory 521.
[0065] Furthermore, if the temperatures of the measured objects output from the temperature regulator 300 are all within the allowable range, the CPU 523 reads the position of the robot 100 before the interruption from the memory 521 and moves the robot 100 to that position. Alternatively, the CPU 523 can control the robot 100 as described below by executing a program for restarting operations pre-saved in the memory 521. Then, the CPU 523 restarts the robot 100's operation.
[0066] For example, the heat capacity is greater when the robot 100 is holding a cold workpiece compared to when the robot 100 is not holding a cold workpiece. In other words, the rate of temperature rise per unit time caused by the heating drive mechanism 40 is greater when the robot 100 is not holding a cold workpiece compared to when the robot 100 is holding a cold workpiece. Since the robot 100 releases the workpiece before stopping the operation of the drive mechanism 40, the rate of temperature rise per unit time caused by the heating drive mechanism 40 can be greater than when the robot 100 is holding the workpiece. Therefore, the heating drive mechanism 40 can be heated efficiently.
[0067] B3. Other implementation methods 3
[0068] In this embodiment, an example of setting the same target temperature for all six drive mechanisms 40 is described. Alternatively, each of the six drive mechanisms 40 may be given a target value representing a target temperature. In this case, each of the six drive mechanisms 40 is given an upper limit and a lower limit indicating the allowable range of temperature. The CPU 523 sets the target temperature for each of the six drive mechanisms 400. The temperature regulator 300 adjusts the temperature of each drive mechanism 40 according to its respective target temperature.
[0069] The advantages of having different target temperatures for the six drive mechanisms 40 are explained below. First, in the robot 100, the motor capacities of the motors 42 in each of the drive mechanisms 40 of the arm elements are different. The motor capacity of the motor 42 located at the root of the arm 20 is larger than that of the motor 42 located at the tip of the arm 20. For example, the motor 42 located at the root of the arm 20 drives the joint J1 formed by the connection between the base 10 and the arm element 21. For example, the motor 42 located at the tip of the arm 20 drives the joint J6. The reason for this difference in motor capacity is as follows: The motor 42 located at the root of the arm 20 supports the other arm elements. On the other hand, the motor 42 located at the tip of the arm 20 does not need to support the other arm elements.
[0070] When all six motors 42 perform the same workload, the heat generated per unit time by each motor 42 is proportional to its motor capacity. Therefore, the motor 42 located at the front end of the arm 20 generates less heat per unit time compared to the motor 42 located at the root end of the arm 20. Consequently, even if the arm elements at the front end and root end are heated in the same way, the rate of temperature rise per unit time caused by heating the arm elements at the front end is smaller than that caused by heating the arm elements at the root end. Therefore, the target temperature of the arm elements at the front end can be set higher than the target temperature of the arm elements at the root end.
[0071] Furthermore, assuming all six motors 42 have the same motor capacity, the heat generated per unit time by each motor 42 is proportional to its workload per unit time. For example, suppose the workload of the motor 42 located at the root of the arm 20 is greater than that of the motor 42 located at the front end of the arm 20. In this case, the rate of temperature rise per unit time caused by heating the arm element at the root end is greater than the rate of temperature rise per unit time caused by heating the arm element at the front end. Therefore, the target temperature of the arm element at the front end can be set higher than the target temperature of the arm element at the root end.
[0072] Furthermore, for example, when the object held by the robot 100 is a low-temperature object such as frozen food, the heat capacity of the arm element 26 closest to the end effector 70 is greater than that of the other arm elements. In this case, the rate of temperature rise per unit time caused by heating the arm element 26 is smaller than the rate of temperature rise per unit time caused by heating the other arm elements. Therefore, the target temperature of the arm element 26 can be set higher than the target temperature of the other arm elements.
[0073] Furthermore, the permissible temperature range for each drive mechanism 40 is above the lower limit and below the upper limit set for that drive mechanism 40. The stop temperature, which serves as the criterion for determining whether to stop the operation of the drive mechanism 40, can also be set individually for each measured object. Since the number of major factors affecting the temperature drop of an arm element can sometimes differ depending on the arm element, such as its position and size, it is sometimes preferable to set the stop temperature individually. In such cases, compared to setting a uniform stop temperature for multiple drive mechanisms 40, the operation of the drive mechanism 40 can be stopped more appropriately.
[0074] Furthermore, the restart temperature, which serves as the criterion for determining whether to restart the operation of the drive mechanism 40, can also be set individually for each measurement object. Since the number of major factors affecting the temperature rise of an arm element can vary depending on the position and size of the arm element, it is sometimes preferable to set the restart temperature individually. In such cases, compared to setting a uniform restart temperature for multiple drive mechanisms 40, the operation of the drive mechanism 40 can be restarted more appropriately.
[0075] B4. Other implementation methods 4
[0076] In this implementation, if the temperature of at least one drive mechanism 40 is below a lower limit, the operation of the drive mechanism 40 is stopped; if the temperature of all drive mechanisms 40 reaches or exceeds the lower limit, the operation of all drive mechanisms 40 is restarted. That is, the stop temperature, which is the criterion for determining whether to stop the operation of the drive mechanism 40, and the restart temperature, which is the criterion for determining whether to restart the operation of the drive mechanism 40, are the same. However, the stop temperature and the restart temperature can also be set differently. For example, the restart temperature can be set higher than the stop temperature. When the operation of the drive mechanism 40 stops, the heat generated by the motor 42 decreases compared to the period during the operation of the drive mechanism 40. By restarting the operation of the drive mechanism 40 after sufficient heating, the robot 100 can operate smoothly.
[0077] B5. Other implementation methods 5
[0078] In this embodiment, an example is described where the operation of all six drive mechanisms 40 is stopped when the temperature of at least one of the six drive mechanisms 40 of the robot 100 falls below a lower limit. In this embodiment, the robot 100 is placed in a low-temperature environment. However, there are also cases where the ambient temperature of the robot 100 is lower than the ambient temperature but not quite at the level of a low-temperature environment. Depending on the ambient environment of the robot 100, the operation of all six drive mechanisms 40 can be stopped when the temperature of at least N (N is an integer greater than or equal to 2) of the six drive mechanisms 40 falls below the lower limit. With this configuration, it is possible to suppress lubricant settling and condensation inside the robotic arm during the operation of the robot 100. This prevents unnecessary increases in power consumption due to lubricant settling and motor malfunctions due to condensation inside the robotic arm.
[0079] Furthermore, in the embodiment, an example was described where the operation of the six drive mechanisms 40 was restarted after the drive mechanism 40 was stopped, provided that each of the six drive mechanisms 40 was above its lower limit value. However, there are also cases where the ambient temperature of the robot 100 is lower than the ambient temperature but not to the level of a low-temperature environment. The operation of the six drive mechanisms 40 can be restarted based on the ambient environment of the robot 100, provided that the determined restart conditions are met after the drive mechanism 40 is stopped. For example, even if one of the six drive mechanisms 40 has a temperature below the lower limit value, the restart condition can be considered met if the temperature difference between the lower limit value and the drive mechanism 40 is within a preset range. The preset range refers to a temperature difference where the temperature difference between the lower limit value and the drive mechanism 40 is considered small. If the temperature difference between the lower limit value and the drive mechanism 40 is small, it is assumed that after restarting the operation of the drive mechanism 40, it will not take a long time for the temperature of the drive mechanism 40 to reach the lower limit value.
[0080] B6. Other implementation methods 6
[0081] In this embodiment, an example where all six drive mechanisms 40 are the objects of measurement has been described. However, the object of measurement could also be a part of the six drive mechanisms 40. Since the robot 100 has six joints, it is considered difficult to determine the temperature of the arm 20 if the object of measurement is only one drive mechanism 40. Therefore, it is preferable that at least two drive mechanisms 40 are the objects of measurement. For example, in Figure 1In the robot 100 shown, the drive mechanisms 40 that drive joints J1, J2, J4, and J5 are the objects of measurement. In this case, a temperature sensor 310 and a heater 320 are provided near the drive mechanism 40 that is the object of measurement. Alternatively, a heater 320 is provided near the drive mechanism 40 that is not the object of measurement, but no temperature sensor 310 is provided.
[0082] Similar to the implementation method, if the temperature of the object being measured, as measured by temperature sensor 310, is lower than the stop temperature, the operation of all drive mechanisms 40 is stopped. Furthermore, after stopping the operation of the drive mechanisms 40, if the temperature of the object being measured, as measured by temperature sensor 310, reaches or exceeds the restart temperature, the operation of all drive mechanisms 40 is restarted. Alternatively, the stop temperature and restart temperature can be set individually for each object being measured. The stop temperature and restart temperature can be the same or different. Alternatively, the same stop temperature and the same restart temperature can be set for all objects being measured. The stop temperature and restart temperature can be the same or different.
[0083] B7. Other implementation methods 7
[0084] Additionally, the robot controller 500 can calculate the temperature drop rate based on the measured temperature of the drive mechanism 40 within a set period. In this specification, the temperature drop rate refers to the degree to which the temperature of the drive mechanism 40 decreases over time. If the temperature drop rate is faster than a preset rate, the robot controller 500 changes the stop temperature of the drive mechanism 40 to a value higher than the currently set stop temperature but lower than the current temperature of the drive mechanism 40. Alternatively, if the temperature drop rate is higher than a preset rate, the robot controller 500 can change the stop temperature of the drive mechanism 40 to a value higher than the currently set stop temperature. Without considering the current temperature of the drive mechanism 40, it is assumed that the newly set stop temperature is higher than the current temperature of the drive mechanism 40. In such a case, the robot controller 500 immediately stops the operation of the robot 100.
[0085] For example, suppose that the temperature of the drive mechanism 40 drops rapidly and stops operating after falling below the stop temperature. In this case, imagine that the temperature of the drive mechanism 40 at the point when its operation stops is significantly lower than the stop temperature. In this case, imagine that the operation of the drive mechanism 40 malfunctions before it stops. Therefore, if the rate of temperature drop exceeds a preset rate, the stop temperature is changed to a higher value, and the operation of the drive mechanism 40 is stopped before its temperature reaches the previous stop temperature. This prevents malfunctions in the operation of the drive mechanism 40.
[0086] Although an example of a six-axis vertical jointed robot is described in the implementation, robot 100 can also be a SCARA robot.
[0087] This disclosure is not limited to the embodiments described above, and can be implemented in various structures without departing from its spirit. For example, in order to solve some or all of the above-described technical problems, or to achieve some or all of the above-described effects, the technical features in the embodiments corresponding to the technical features in the aspects described in the summary section of the invention can be appropriately replaced or combined. Furthermore, if a technical feature is not described as an essential feature in this specification, it can be appropriately deleted.
[0088] C. Other aspects:
[0089] (1) According to one aspect of this disclosure, a control method for controlling a robotic arm in a robot system is provided. The robot system includes a robotic arm, a controller, and a temperature regulation unit. The robotic arm has multiple joints and multiple drive units that drive the multiple joints respectively. The controller controls the robotic arm, and the temperature regulation unit regulates the temperature of the robotic arm. The control method includes: a measurement step in which a temperature measuring unit of the temperature regulation unit measures the temperature of one of the multiple drive units as the object of measurement at predetermined time intervals; a heating step in which a heating unit of the temperature regulation unit heats the multiple drive units; a stop step in which the controller stops the operation of the multiple drive units when the temperature of the object of measurement is lower than a preset stop temperature; and a restart step in which the controller restarts the operation of the multiple drive units when the temperature of the object of measurement is higher than a preset restart temperature after the stop step is executed.
[0090] Based on the above aspects, the operation of multiple drive units is stopped when the temperature of the drive unit being measured is lower than the stop temperature. Therefore, while the temperature of the drive mechanism 40 of the robot 100 remains decreasing, the movement of the robotic arm does not continue. Thus, it is possible to suppress lubricant settling and condensation inside the robotic arm during its movement. Consequently, it is possible to prevent unnecessarily increased power consumption due to lubricant settling and to prevent motor malfunctions in the drive joints due to condensation inside the robotic arm.
[0091] (2) In the control method described above, it is also possible that, in the stopping step, after the controller stops the operation of the plurality of drive units, it further cuts off the power supply to the plurality of drive units.
[0092] Based on the above aspects, since the power supply to the drive unit is cut off after the operation of the drive unit is stopped, for example, even if condensation occurs inside the robotic arm, a short circuit will not occur in the motor included in the drive unit, thus preventing motor failure.
[0093] (3) In the control method described above, it is also possible that, in the stopping step, the controller controls the robotic arm to release the workpiece held by the robotic arm before stopping the operation of the plurality of driving units, and then stops the operation of the plurality of driving units.
[0094] For example, the heat capacity is greater when the robotic arm is holding a cold workpiece compared to when the robotic arm is not holding a cold workpiece. In other words, the rate of temperature rise per unit time caused by the heating drive is smaller when the robotic arm is holding a cold workpiece compared to when the robotic arm is not holding a cold workpiece. Based on the above, since the robotic arm releases the workpiece it is holding before stopping the operation of the drive unit, the rate of temperature rise per unit time caused by the heating drive can be greater than when the robotic arm is holding a cold workpiece.
[0095] (4) In the control method described above, the measurement object is at least two of the plurality of drive units. Alternatively, in the stopping step, if the temperature of at least one of the drive units in the measurement object is lower than the stopping temperature, the controller stops the operation of the plurality of drive units.
[0096] Based on the above aspects, the operation of multiple drive units is stopped when the temperature of at least one of the multiple drive units of the robotic arm is lower than the stop temperature. Therefore, it is possible to more reliably suppress lubricant settling, condensation inside the robotic arm, and other issues that occur during the operation of the robotic arm.
[0097] (5) In the control method described above, it is also possible that, in the restart step, the controller restarts the operation of the plurality of drive units when the temperature of all the measured objects is above the restart temperature after the stop step is executed.
[0098] Based on the above, the operation of the drive units is not restarted when the temperature of all drive components of the robotic arm is below the restart temperature. Therefore, it is possible to more reliably suppress lubricant settling and condensation inside the robotic arm during its operation.
[0099] (6) In the control method described above, the stop temperature may also be set individually for each of the measured objects.
[0100] For example, the number of main factors affecting the temperature drop of an arm element can vary depending on the position and size of the arm element. Based on the above, by setting the stop temperature individually, the operation of the drive unit can be stopped more appropriately compared to setting a uniform stop temperature for the object being measured.
[0101] (7) In the control method described above, the restart temperature may also be set individually for each of the measured objects.
[0102] For example, the number of main factors affecting the temperature rise of an arm element can vary depending on the position and size of the arm element. Based on the above, by setting the restart temperature individually, the operation of the drive unit can be restarted more appropriately compared to setting a uniform restart temperature for the measured object.
[0103] (8) In the control method described above, the controller may calculate the temperature drop rate based on the temperature measurement value of the drive unit by the temperature measuring unit within a set period, and if the temperature drop rate is higher than a preset rate, change the stop temperature set for the drive unit to a value higher than the current value.
[0104] Based on the above, for example, suppose that the temperature of the drive unit drops rapidly, and the drive unit stops operating after falling below the stop temperature. In this case, imagine that the temperature of the drive unit at the point when the drive unit stops operating is significantly lower than the stop temperature. In this case, imagine that the drive unit malfunctions before it stops operating. Therefore, if the rate of temperature drop is higher than a preset rate, the stop temperature is changed to a higher value, and the drive unit stops operating before its temperature reaches the stop temperature before the change. This prevents malfunctions in the drive unit's operation.
Claims
1. A control method, characterized in that, The control method is a method for controlling a robotic arm in a robot system. The robot system includes a robotic arm, a controller, and a temperature regulation unit. The robotic arm has multiple joints and multiple drive units that drive each of the joints. The controller controls the robotic arm. The temperature regulation unit has a temperature measuring unit and a heating unit, and regulates the temperature of the robotic arm. The control method includes: The measurement step involves the temperature measuring unit measuring the temperature of the drive unit that is the object of measurement among the plurality of drive units at predetermined time intervals. In the heating step, the heating unit heats the plurality of driving units; In the stopping step, if the temperature of the measured object is lower than a preset stopping temperature, the controller stops the operation of the plurality of drive units; and In the restart step, if the temperature of the measured object is above a preset restart temperature after the stop step is executed, the controller restarts the operation of the plurality of drive units. The controller calculates the temperature drop rate based on the temperature measurement value of the drive unit by the temperature measuring unit within a set period, and if the temperature drop rate is higher than the preset rate, changes the stop temperature set for the drive unit to a value higher than the current value.
2. The control method according to claim 1, characterized in that, In the stopping step, after stopping the operation of the plurality of drive units, the controller further cuts off the power supply to the plurality of drive units.
3. The control method according to claim 1, characterized in that, In the stopping step, the controller controls the robotic arm to release the workpiece held by the robotic arm before stopping the operation of the plurality of drive units, and then stops the operation of the plurality of drive units.
4. The control method according to any one of claims 1 to 3, characterized in that, The measurement object is at least two of the plurality of drive units. In the stopping step, if the temperature of at least one of the drive units in the measured object is lower than the stopping temperature, the controller stops the operation of the plurality of drive units.
5. The control method according to claim 4, characterized in that, In the restart step, if the temperature of all the measured objects is above the restart temperature after the stop step is executed, the controller restarts the operation of the plurality of drive units.
6. The control method according to claim 4, characterized in that, The stop temperature is set individually for each of the measured objects.
7. The control method according to claim 4, characterized in that, The restart temperature is set individually for each of the measured objects.
Citation Information
Patent Citations
Robot device for low temperature environment
JP1996019978A
Industrial robot
JP1996323683A