Robot control device, control method and control program

By using the processor and calibration conversion function in the robot control device, combined with offset value compensation in emergency situations, the problem of the sensor detection value signal not linearly corresponds to the state amount, and the accuracy and stability of the robot operation are improved.

CN110831725BActive Publication Date: 2025-03-25SONY INTERACTIVE ENTERTAINMENT LLC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN201780092363.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2017-06-29
Publication Date
2025-03-25
Estimated Expiration
2037-06-29

AI Technical Summary

Technical Problem

In robot control, the signal of the sensor detection value does not linearly correspond to the state amount, resulting in need of calibration and conversion to an accurate state amount, thereby affecting the accuracy of the robot operation.

Method used

A control device is designed to obtain the sensor's detection value signal through the processor and convert the detection value into an estimated value of the state amount using the conversion function obtained by calibration. In an emergency, an offset value of the compensation estimate and the difference between the actual state amount is applied to improve the accuracy of the conversion.

Benefits of technology

The accuracy and stability of robot operation are improved, especially in emergency situations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN110831725B_ABST
    Figure CN110831725B_ABST
Patent Text Reader

Abstract

One aspect of the present invention provides a robot control device. The control device includes a processor for executing: a function of acquiring a signal representing a detection value of a sensor that detects a state quantity of the robot; and a function of applying an offset value that compensates for a difference between an estimated value and an actual state quantity in an emergency during robot motion when the detection value is converted into an estimated state quantity value according to a conversion function obtained through sensor calibration.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a control device, a control method and a control program for a robot. Background Art

[0002] When controlling a robot, various sensors are used to detect the state quantity of the robot. The state quantity detected by these sensors is input to the control device of the robot, for example, and the control device controls the operation of the robot according to the state quantity.

[0003] For example, PTL 1 describes a servo unit for a robot, which includes: a drive motor; a reduction gear mechanism that reduces and transmits the rotation speed of the motor; an output shaft that is coupled to the final rotation shaft of the reduction gear mechanism; and a potentiometer that detects the rotation angle of the output shaft. The potentiometer is a sensor that is generally used to detect the rotation angle in the joint part of the robot, for example.

[0004] [Citation List]

[0005] [Patent Document]

[0006] [PTL1]

[0007] U.S. Patent Application Publication No. 2006 / 0028164 Summary of the invention

[0008] [Technical issues]

[0009] However, in sensors such as potentiometers, signals indicating detection values ​​do not correspond linearly to state quantities, for example. Therefore, calibration is required, and the signals indicating detection values ​​are converted into state quantities based on the calibration results. Depending on the calibration method and the conversion method based on the calibration results, there is a possibility that the signals indicating detection values ​​are not converted into accurate state quantities, and thus it is difficult to appropriately control the operation of the robot.

[0010] Therefore, the object of the present invention is to provide a new and improved control device, control method and control program for a robot, which can convert the detection value of a sensor that needs to be calibrated into an accurate state quantity according to the operation of the robot through an effective method.

[0011] [Solution to the problem]

[0012] According to a certain aspect of the present invention, a control device for a robot is provided. The control device includes a processor configured to implement: a function of obtaining a signal indicating a detection value of a sensor that detects a state quantity of the robot; and a function of applying an offset value that compensates for a difference between an estimated value and an actual state quantity in an emergency during operation of the robot when the detection value is converted into an estimated value of the state quantity according to a conversion function obtained by calibration of the sensor.

[0013] According to another aspect of the present invention, there is provided a control method for a robot. The control method comprises: an arrangement for obtaining a signal indicating a detection value of a sensor detecting a state quantity of the robot; and a step of applying, by a processor included in the robot, an offset value compensating for a difference between an estimated value and an actual state quantity in an emergency situation in the operation of the robot when converting the detection value into an estimated value of the state quantity according to a conversion function obtained by calibration of the sensor.

[0014] According to another aspect of the present invention, there is provided a control program for a robot. The control program enables a processor included in the robot to implement: a function of obtaining a signal indicating a detection value of a sensor that detects a state quantity of the robot; and a function of applying an offset value that compensates for a difference between an estimated value and an actual state quantity in an emergency in the operation of the robot when the detection value is converted into an estimated value of the state quantity according to a conversion function obtained by calibration of the sensor.

[0015] According to the configuration of the present invention as described above, when converting the detection value of the sensor requiring calibration into the state quantity of the robot, the detection value can be converted into an accurate state quantity by an effective method according to the operation of the robot. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 1 is an explanatory diagram showing a joint structure of a robot according to an embodiment of the present invention.

[0017] Figure 2 is an explanatory diagram showing a hardware configuration of a robot according to an embodiment of the present invention.

[0018] Figure 3 is an explanatory block diagram showing a configuration of a joint portion for driving a robot according to an embodiment of the present invention.

[0019] Figure 4 is a diagram that helps illustrate an example of typical backlash.

[0020] Figure 5A is a diagram to help explain an example of backlash in a joint portion of a robot.

[0021] Figure 5B is a diagram to help explain an example of backlash in a joint portion of a robot.

[0022] Fig. 6A is a diagram that helps illustrate an example of the effect of backlash in a robot's bipedal walking.

[0023] Figure 6B is a diagram that helps illustrate an example of the effect of backlash in a robot's bipedal walking.

[0024] Figure 6C is a diagram that helps illustrate an example of the effect of backlash in a robot's bipedal walking.

[0025] Figure 7 is a diagram showing an example of a joint structure of a robot according to an embodiment of the present invention.

[0026] Fig. 8A 1 is a diagram for explaining an example of application of a joint structure according to an embodiment of the present invention to a leg of a robot.

[0027] Figure 8B 1 is a diagram for explaining an example of application of a joint structure according to an embodiment of the present invention to a leg of a robot.

[0028] Fig. 9A FIG. 1 is a diagram for explaining an example of application of a joint structure according to an embodiment of the present invention to an arm of a robot.

[0029] Fig. 9B FIG. 1 is a diagram for explaining an example of application of a joint structure according to an embodiment of the present invention to an arm of a robot.

[0030] Fig. 10A 1 is a diagram showing a modified example of the joint structure of the robot according to an embodiment of the present invention.

[0031] Fig. 10B 1 is a diagram showing a modified example of the joint structure of the robot according to an embodiment of the present invention.

[0032] Fig.11 is a graph that helps illustrate an example of calibration of a potentiometer.

[0033] Fig.12 is a graph that helps illustrate the results of applying an offset value to a potentiometer calibration in one embodiment of the present invention.

[0034] Fig.13 is a flowchart showing an example of a specific process for setting and applying an offset value in an embodiment of the present invention.

[0035] Fig.14 is a graph that helps illustrate an example of selectively applying multiple offset values ​​to potentiometer calibration results in one embodiment of the present invention.

[0036] Fig.15 is a flowchart showing an example of a specific process for selectively applying a plurality of offset values ​​in an embodiment of the present invention. DETAILED DESCRIPTION

[0037] Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings. Incidentally, in this specification and the accompanying drawings, constituent elements having substantially the same functional configuration are identified by the same reference numerals, and repeated description thereof will be omitted.

[0038] (Robot joint structure)

[0039] Figure 1 1 is an explanatory diagram showing a joint structure of a robot according to an embodiment of the present invention. Figure 1 According to an exemplary embodiment of the present invention, the robot 10 includes a head 101, a main body 102, a pair of arm parts 103L and 103R, a pair of hand parts 104L and 104R, a pair of leg parts 105L and 105R, and a pair of foot parts 106L and 106R. Each of these parts includes a joint part and a connecting rod connected to the joint part. The connecting rod rotates relatively around the joint part. Thus, various operations of the robot 10 are realized.

[0040] In the example shown, the left arm portion 103L includes a shoulder joint portion 131L, an elbow joint portion 132L and a wrist joint portion 133L. The shoulder joint portion 131L is located between the shoulder link 141L and the upper arm link 142L connected to the main body 102. The shoulder joint portion 131L enables the link 142L to rotate relative to the link 141L. More specifically, the joint portion 131L includes a pitch joint portion 131L_P capable of pitch rotation, a roll joint portion 131L_R capable of roll rotation, and a yaw joint portion 131L_Y capable of yaw rotation. Incidentally, in this specification, the rotation axis (pitch, roll and yaw) is defined with reference to the upright posture of the robot 10. The structure of this joint portion 131L enables the upper arm link 142L to rotate in each direction relative to the shoulder link 141L.

[0041] Similarly, the elbow joint portion 132L is located between the upper arm link 142L and the forearm link 143L. The elbow joint portion 132L includes a pitch joint portion 132L_P capable of pitch rotation and a yaw joint portion 132L_Y capable of yaw rotation. The structure of this joint portion 132L enables the forearm link 143L to rotate in the pitch direction and the yaw direction relative to the upper arm link 142L. In addition, the wrist joint portion 133L is located between the forearm link 143L and the wrist link 144L connected to the hand 104L. The wrist joint portion 133L includes a roll joint portion 133L_R capable of roll rotation and a pitch joint portion 133L_P capable of pitch rotation. The structure of this joint portion 133L enables the wrist link 144L to rotate in the roll direction and the pitch direction relative to the forearm link 143L.

[0042] In addition, in the example shown, the left leg 105L includes a hip joint 134L, a knee joint 135L, and an ankle joint 136L. The hip joint 134L is located between the waist link 145 and the thigh link 146L connected to the main body 102. The hip joint 134L enables the link 146L to rotate relative to the link 145. More specifically, the joint 134L includes a yaw joint 134L_Y capable of yaw rotation, a roll joint 134L_R capable of roll rotation, and a pitch joint 134L_P capable of pitch rotation. The structure of this joint 134L enables the thigh link 146L to rotate in each direction relative to the waist link 145.

[0043] Similarly, the knee joint 135L is located between the thigh link 146L and the shank link 147L. The knee joint 135L includes a pitch joint 135L_P that can pitch and rotate. The structure of this joint 135L enables the shank link 147L to rotate in the pitch direction relative to the thigh link 146L. In addition, the ankle joint 136L is located between the shank link 147L and the ankle link 148L connected to the foot 106L. The ankle joint 136L includes a pitch joint 136L_P that can pitch and rotate and a roll joint 136L_R that can roll and rotate. The structure of this joint 136L enables the ankle link 148L to rotate in the pitch direction and the roll direction relative to the shank link 147L.

[0044] Incidentally, in the illustrated example, the configuration of the right arm 103R and the right leg 105R is similar to that of the above-mentioned left arm 103L and the left leg 105L, and therefore its repeated description will be omitted. Specifically, the right arm 103R includes a shoulder joint 131R connected to a shoulder link 141R, an upper arm link 142R connected to the shoulder joint 131R, an elbow joint 132R connected to the upper arm link 142R, a forearm link 143R connected to the elbow joint 132R, a wrist joint 133R connected to the forearm link 143R, and a wrist link 144R connected to the wrist joint 133R and the hand 104R. The right leg 105R includes a hip joint 134R connected to the waist link 145, a thigh link 146R connected to the hip joint 134R, a knee joint 135R connected to the thigh link 146R, a calf link 147R connected to the knee joint 135R, an ankle joint 136R connected to the calf link 147R, and an ankle link 148R connected to the ankle joint 136R and the foot 106R.

[0045] (Hardware structure of the robot)

[0046] Figure 2 1 is an explanatory diagram showing the hardware configuration of a robot according to an embodiment of the present invention. Figure 2 , the robot 10 has a control device 110 included in the main body 102. The control device 110 includes a central processing unit (CPU) 111 that performs arithmetic processing, a random access memory (RAM) 112, a read-only memory (ROM) 113, an external memory 114, etc. The control device 110 determines the operation of the robot 10 based on image data generated by a camera 121, audio data generated by a microphone 122, a command signal received by a communication interface 124, etc. The camera 121, the microphone 122, and the communication interface 124 are connected to the control device 110 via a bus interface 115.

[0047] Here, the camera 121 as an example of an image input device includes an imaging element, a lens, and an image processing circuit. The camera 121 generates image data obtained by capturing images of the robot 10's surroundings. The microphone 122 as an example of a sound input device generates audio data obtained by capturing sounds of the robot's surroundings. The communication interface 124 communicates with an external device by wire or radio, thereby sending various signals and data to the external device and receiving various signals and data from the external device. Specifically, the communication interface 124 can send signals to and receive signals from a terminal device acting as a remote controller of the robot 10 by wireless communication using Bluetooth (registered trademark), a wireless local area network (LAN), infrared rays, etc., and the terminal device is, for example, a smart phone, a tablet computer, or a dedicated controller. In addition, the communication interface 124 can be connected to a network via an external device, and send signals to and receive signals from a server on the network.

[0048] In addition, the control device 110 controls each part of the robot 10 to perform the determined operation. Specifically, the control device 110 controls the motor 150, which rotates and drives the joints of the arm parts 103L and 103R, the hand parts 104L and 104R, and the leg parts 105L and 105R, so as to perform the determined operation. Although not shown, the joints driven by the motor 150 can also be set to the head 101, the main body 102, and the feet 106L and 106R. At this time, the control device 110 refers to the detection values ​​of the ranging sensor (not shown), the inertial measurement unit (IMU) 125, the grounding confirmation sensors 126L and 126R, the load sensor (not shown), and the power supply control device 127 as needed. In addition, the control device 110 can provide audio data to the speaker 123, or send a command signal from the communication interface 124 to an external device, so as to perform the determined operation. The speaker 123 , the communication interface 124 , the motor 150 , the distance measuring sensor, the IMU 125 , the grounding confirmation sensors 126L and 126R, the load sensor, and the power supply control device 127 are connected to the control device 110 via the bus interface 115 .

[0049] Here, the distance measuring sensor detects the distance of an object existing around the robot 10. The IMU 125 detects the posture and inclination of the main body 102. The grounding confirmation sensors 126L and 126R detect the contact of the feet 106L and 106R with the floor surface. The load sensor detects the load applied to each of the feet 106L and 106R. The power supply control device 127 is used to manage a power supply such as a battery, etc., and detect the remaining capacity of the power supply.

[0050] For example, the CPU 111 of the control device 110 selects a mode corresponding to the determined operation from the control modes stored in the ROM 113 or the external memory 114, sets foot movement, zero moment point (ZMP) trajectory, trunk movement, upper limb movement, waist horizontal position and height, etc. according to the selected mode, and controls the motor 150 according to these set values. At this time, the CPU 111 can adaptively control the motor 150 according to the detection values ​​of the sensors, etc. as described above.

[0051] (Structure of driving joint)

[0052] Figure 3 1 is an explanatory block diagram showing a configuration of a joint portion for driving a robot according to an embodiment of the present invention. Figure 3 In addition to the control device 110, the robot 10 includes a servo circuit 151, a driver 152, an encoder 153, a driving force transmission mechanism 154, a potentiometer 155, an analog / digital (A / D) converter circuit 156, and a motor 150 (hereinafter referred to as a motor) as a structure for driving the joint part 130. Figure 1 The joints of the robot 10 shown are also collectively referred to as joints 130. The control device 110 inputs a target value of the rotation angle of the motor 150 to the servo circuit 151. The servo circuit 151 drives the motor 150 by inputting a control signal to the driver 152, and when the motor 150 rotates, the rotation angle of the motor 150 is detected based on a pulse signal output from the encoder 153. The servo circuit 151 adjusts the control signal input to the driver 152 so that the rotation angle reaches the target value.

[0053] The driving force transmission mechanism 154 transmits the rotational driving force of the motor 150 to the joint 130. Figure 1 In the case of the hip joint 134L shown, relative rotation occurs between the waist link 145 and the thigh link 146L. A potentiometer 155 is attached to the joint 130 to detect the relative rotation. Therefore, when the above-mentioned relative rotation occurs, the output voltage of the potentiometer 155 changes according to the rotation angle. The control device 110 obtains a digital signal generated by the A / D converter circuit 156 based on the output voltage.

[0054] In the control device 110, the CPU 111 calculates the rotation angle detected by the potentiometer 155 based on the signal input from the A / D converter circuit 156. At this time, the CPU 111 refers to the conversion function 116 stored in the ROM 113 or the external memory 114. In addition, the CPU 111 refers to the offset value 117 stored in the ROM 113 or the external memory 114 separately from the conversion function 116 as needed. Incidentally, the details of the conversion function 116 and the offset value 117 will be described later. By comparing the target value of the rotation angle of the motor 150 (which is input to the servo circuit 151 by the control device 110) with the calculation result of the rotation angle detected by the potentiometer 155, the difference between the ideal value of the rotation angle of the joint part 130 (for example, the rotation angle considered to be necessary for the robot 10 to perform a predetermined operation) and the rotation angle actually occurring can be extracted. For example, in the case where the difference is large, the control device 110 inputs an additional target value for compensating the difference to the servo circuit 151.

[0055] Incidentally, in the robot 10 according to the present embodiment, the feedback of the rotation angle of the potentiometer 155 does not necessarily need to be performed at all joints 130, and the potentiometer 155 and the A / D converter circuit 156 may not be attached to at least a part of the joint. In addition, the difference between the ideal value of the rotation angle and the rotation angle actually occurring can be obtained by obtaining a value from another sensor such as Figure 2 The detection values ​​of the IMU 125 and the like shown are estimated by detecting the posture and tilt of the robot 10 , rather than detecting the actual rotation angle by the potentiometer 155 .

[0056] (Backlash in joint structure)

[0057] Backlash refers to the gap that exists in the joint of a mechanical element such as a gear. Generally, backlash of an appropriate size is intentionally provided to enable the mechanical element to move smoothly. However, due to wear of the components, the backlash may increase beyond an appropriate range.

[0058] Figure 4 is a diagram that helps illustrate an example of typical backlash. Figure 4 As shown, in the case where an object OBJ symmetrical with respect to the rotation axis is rotated, the object OBJ is, for example, a wheel, a turntable, etc., and the position of the backlash BL is determined by the direction of the rotational drive. Specifically, as shown in the figure, the backlash BL is generated at a position where the rotation of the driving side element E1 precedes the rotation of the driven side element E2. When the direction of the rotational drive is reversed, the positional relationship between the driving side element E1, the driven side element E2 and the backlash BL is reversed, and therefore, a rotational drive dead zone corresponding to the size of the backlash BL is generated.

[0059] Figure 5A and Figure 5B is a diagram to help explain an example of backlash in a joint portion of a robot. Figure 5A and Figure 5B The main body side link 140A of the robot 10 (hereinafter referred to as Figure 1 The links of the robot 10 shown in the figure include the links on the main body side connected to the joint part 130, which are also collectively referred to as the main body side links 140A), the joint part 130, and the distal end side links 140B (hereinafter referred to as Figure 1 The links of the robot 10 shown in the figure, which are connected to the distal side of the joint part 130, are also collectively referred to as distal side links 140B). The joint part 130 includes a first part 130A connected to the main body side link 140A and a second part 130B connected to the distal side link 140B. Incidentally, the second part 130B is relatively rotatable relative to the first part 130A.

[0060] Here, in Figure 5A and Figure 5B In the example shown, by referring to the above Figure 3 The rotational driving force transmitted by the driving force transmission mechanism 154 causes the second part 130B to rotate relative to the first part 130A. As a result, the distal side link 140B rotates relative to the main body side link 140A. At this time, the distal side link 140B, which is the rotation target object, is asymmetrical with respect to the rotation axis. Therefore, the position of the tooth gap BL is determined by the direction of the force F acting on the distal side link 140B rather than the direction of the rotational drive.

[0061] Specifically, in Figure 5A In the example of FIG. 1 , a force F that generates a torque in a direction opposite to the direction of the rotational drive force acts on the distal end link 140B, thereby generating a backlash BL that causes the rotation of the first portion 130A to precede the rotation of the second portion 130B, as described above. Figure 4 On the other hand, in Figure 5B In the example of FIG. 1 , a force F that generates a moment in the same direction as the rotational drive force acts on the distal end link 140B, thereby generating a backlash BL that causes the second portion 130B to rotate prior to the first portion 130A. Figure 4 and Figure 5A The examples are different.

[0062] (Effect of tooth gap on bipedal walking)

[0063] Figures 6A to 6C134L_R and 134R_R when the robot 10 performs bipedal walking. By the way, for simplicity, the pitch joint and the yaw joint that do not generate roll rotation are not shown. In addition, the backlash generated in the ankle roll joints 136L_R and 136R_R is not shown.

[0064] Fig. 6A 105L in a bipedal walk. In this state, the weight of the robot 10 is supported by both the left leg 105L and the right leg 105R. Therefore, the upward reaction force from the floor surface acts on the left thigh link 146L and the right thigh link 146R (corresponding to the above-mentioned Figure 5A and Figure 5B As a result, backlash is generated in the roll joints 134L_R and 134R_R as shown in the figure. Specifically, an inner backlash BL is generated in the left roll joint 134L_R. IN , an outer backlash BL is generated in the right tilt joint 134R_R OUT .

[0065] Figure 6B Shown in Fig. 6A The state shown is followed by a state in which the robot 10 has lifted the left leg 105L. In this state, the weight of the robot 10 is supported by the right leg 105R. Therefore, the upward reaction force from the floor surface continues to act on the right thigh link 146R, and an outer backlash BL is generated in the right tilt joint 134R_R. OUT . On the other hand, the reaction force from the floor surface no longer acts on the left thigh link 146L. In this state, the link 146L constitutes a (tilted) cantilever with the left side tilt joint portion 134L_R as a fulcrum. Therefore, the downward gravity applied to the link 146L itself and the distal side portion of the leg 105L acts on the link 146L, which are connected to the link 146L (i.e., the knee joint portion 135L, the calf link 147L, the ankle joint portion 136L, the ankle link 148L, and the foot 106L). As a result, the backlash generated in the left side tilt joint portion 134L_R is reduced from Fig. 6A The inner backlash BL shown IN Change to outer backlash BL OUT .

[0066] Figure 6C Shown in Figure 6BAfter the state shown, the robot 10 has lowered the left leg 105L to the floor surface. In this state, when the left foot 106L contacts the floor surface again, the weight of the robot 10 is supported by both the left leg 105L and the right leg 105R. However, at this time, the backlash generated in the left side tilt joint 134L_R is again offset from the outer backlash BL OUT Switch to inner backlash BL IN , so a dead zone is generated accompanying this switching. During this period, an unstable backlash BL is generated in the left tilt joint 134L_R. UNST (i.e., there is a backlash, but the position of the backlash is unstable), and there is a possibility that a state in which the reaction force from the floor surface acts on the left thigh link 146L and a state in which the reaction force from the floor surface does not act on the left thigh link 146L may occur alternately and irregularly. Therefore, there is a possibility that an unexpected moment is applied to the robot 10 including the legs 105L and 105R, or vibration is generated in the robot 10, causing the robot 10 to fall over.

[0067] (Example of robot joint structure)

[0068] Figure 7 1 is a diagram showing an example of a joint structure of a robot according to an embodiment of the present invention. Figure 7 The joint structure 160 of the robot 10 includes a joint portion 130 having a first portion 130A and a second portion 130B, a driving force transmission mechanism 154, and a tension spring 161. Figure 5A and Figure 5B As described above, the first portion 130A of the joint portion 130 is coupled to the main body-side link 140A, and the second portion 130B of the joint portion 130 is coupled to the distal end-side link 140B.

[0069] Here, the main body side link 140A refers to one of the links connected to the joint part 130 and located on the side closer to the main body 102 of the robot 10. Similarly, the distal side link 140B refers to one of the links connected to the joint part 130 and located on the side farther from the main body 102. Specifically, in the case of the left leg 105L, for the hip joint part 134L, the waist link 145 corresponds to the main body side link 140A, and the thigh link 146L corresponds to the distal side link 140B. For the knee joint part 135L, the thigh link 146L corresponds to the main body side link 140A, and the shank link 147L corresponds to the distal side link 140B. For the ankle joint part 136L, the shank link 147L corresponds to the main body side link 140A, and the ankle link 148L corresponds to the distal side link 140B.

[0070] As can be understood from the above examples, the same link can be the main body side link 140A and can be the distal side link 140B, depending on which joint portion of the robot 10 the joint portion 130 is associated with. Although the joint portion of the left leg 105L has been described above as an example, the same is true for the joint portion of the right leg 105R. In addition, the main body side link 140A and the distal side link 140B can be similarly defined in the arm portions 103L and 103R. Specifically, in the case of the left arm portion 103L, for the shoulder joint portion 131L, the shoulder link 141L corresponds to the main body side link 140A, and the upper arm link 142L corresponds to the distal side link 140B. For the elbow joint portion 132L, the upper arm link 142L corresponds to the main body side link 140A, and the forearm link 143L corresponds to the distal side link 140B. For the wrist joint portion 133L, the forearm link 143L corresponds to the body-side link 140A, and the wrist link 144L corresponds to the distal-side link 140B. Similar definitions are possible in the right arm portion 103R.

[0071] In other words, the distal end side link 140B is a link that can constitute a cantilever having the joint portion 130 as a fulcrum. Figure 6B In the state shown, the thigh link 146L, which is a distal side link relative to the hip joint portion 134L including the left tilt joint portion 134L_R, constitutes a cantilever having the joint portion 134L as a fulcrum. Specifically, when the foot 106L is lifted and separated from the floor surface, the first end of the link 146L is supported by the joint portion 134L, and the second end on the opposite side of the link 146L receives the load of the shank link 147L, the ankle joint portion 136L, the ankle link 148L and the foot 106L via the knee joint portion 135L.

[0072] The shank link 147L similarly constitutes a cantilever having the knee joint portion 135L as a fulcrum. In addition, the ankle link 148L constitutes a cantilever having the ankle joint portion 136L as a fulcrum. As described above, when the right leg portion 105R is lifted in the bipedal walking operation of the robot 10, the thigh link 146R on the right side constitutes a cantilever having the hip joint portion 134R as a fulcrum, while the shank link 147R constitutes a cantilever having the knee joint portion 135R as a fulcrum, and the ankle link 148R constitutes a cantilever having the ankle joint portion 136R as a fulcrum. In addition, in the arm portions 103L and 103R, for example, except for the case where the hand portions 104L and 104R are supported by an object other than the robot 10, each link of the distal side link 140B as described above may constitute a cantilever having the joint portion 130 as a fulcrum.

[0073] As described above, the joint portion 130 includes a first portion 130A connected to the main body side link 140A and a second portion 130B connected to the distal end side link 140B. The first portion 130A and the second portion 130B are assembled so as to be able to rotate relative to each other around the rotation axis X directly or via another portion of the joint portion 130. Thus, the distal end side link 140B can be relatively rotated relative to the main body side link 140A in the joint portion 130. The driving force transmission mechanism 154 transmits the rotational driving force for relatively rotating the second portion 130B relative to the first portion 130A around the rotation axis X from the above reference Figure 3 The motor 150 transmits power to the joint 130 .

[0074] Here, although the driving force transmission mechanism 154 is described as including a chain or a belt, the driving force transmission mechanism 154 does not necessarily need to include a chain or a belt. The driving force transmission mechanism 154 may include various mechanical elements, such as gears, etc. Even if the motor 150 is embedded in the joint part 130, there is a joint part of at least one set of mechanical elements constituting the driving force transmission mechanism 154 between the motor 150 and the joint part 130. Due to the backlash provided to the joint part, for example, the above reference Figure 5A and Figure 5B as well as Figures 6A to 6C Describe the phenomenon.

[0075] The tension spring 161 included in the joint structure 160 in the present embodiment is an example of a biasing device for applying a rotational biasing force around the rotation axis X to the second part 130B of the joint part 130 (i.e., the rotational biasing force is coaxial with the relative rotation of the second part 130B relative to the first part 130A). In the illustrated example, both ends of the tension spring 161 are respectively connected to the main body side link 140A and the distal side link 140B. The tension spring 161 is attached between the main body side link 140A and the distal side link 140B in a pre-expanded state. Therefore, a tension biasing force is generated to rotate the distal side link 140B and bring the distal side link 140B close to the main body side link 140A. As described above, the main body side link 140A and the distal side link 140B are respectively connected to the first part 130A and the second part 130B of the joint part 130. Therefore, the biasing force applied to the main body-side link 140A and the distal end-side link 140B by the tension spring 161 as described above provides a rotational biasing force coaxial with the relative rotation of the second portion 130B with respect to the first portion 130A.

[0076] Thus, in the example shown, the Figure 5AUnlike the example described above, although a force F generating a torque in a direction opposite to the rotation drive acts on the distal end side link 140B, a backlash BL is generated that causes the rotation of the second part 130B to precede the rotation of the first part 130A. Figure 5B As in the example described above, when a force F that generates a moment in the same direction as the rotation drive acts on the distal end link 140B, a backlash BL is generated that causes the second portion 130B to rotate prior to the first portion 130A. Figure 7 In the example shown, the position of the backlash BL does not change regardless of the direction of the force acting on the distal-side link 140B.

[0077] (Example of application of joint structure in the leg)

[0078] Fig. 8A and Figure 8B It is to help explain the reference above Figure 7 FIG. 1 is a diagram showing an example of application of the joint structure 160 in the legs 105L and 105R of the robot 10 according to an embodiment of the present invention. Fig. 8A Depicted with the previous Figure 6B , i.e., the state where the robot 10 lifts the left leg 105L from the floor surface during bipedal walking. Figure 6B In this example, the backlash generated in the left tilt joint 134L_R is from the inner backlash BL IN Becomes outer backlash BL OUT .exist Fig. 8A In the example of FIG. 1 , even after the left leg portion 105L is lifted, the inner backlash BL continues to be generated in the roll joint portion 134L_R. IN This is because in the joint structure 160 including the roll joint portion 134L_R, when the thigh link 146L constitutes a cantilever having the roll joint portion 134L_R as a fulcrum, the tension spring 161 is attached to provide a rotational biasing force against the gravity acting on the link 146L.

[0079] on the other hand, Figure 8B Depicted with the previous Figure 6C , i.e., the robot 10 has lowered the left leg 105L to the floor surface. Figure 6C In the example of FIG. 1 , when the backlash generated in the left tilt joint portion 134L_R in this state is reduced from the outer backlash BL OUT The inner backlash BL is changed again IN When the unstable backlash BL is generated UNST On the other hand, in Figure 8B In the example of FIG. 1 , as described above, when the left leg 105L is lifted, an inner backlash BL is also generated in the roll joint 134L_R.IN , so when the left leg portion 105L is lowered to the floor surface, the backlash does not change again. Therefore, the generation of unstable backlash BL is prevented. UNST This can cause unexpected torque and vibration.

[0080] Therefore, in one embodiment of the present invention, as shown in FIG. Figure 7 The tension spring 161 in the described joint structure 160 provides a rotational biasing force against the gravity acting on the distal-side link 140B constituting a cantilever having the joint portion 130 as a fulcrum. Thus, when the distal-side link 140B is changed from a state not constituting a cantilever (a state supported by a portion other than the joint portion 130) to a state constituting a cantilever (a state supported only by the joint portion 130), it is possible to avoid the operation of the robot 10 from being unstable due to a change in the backlash in the joint portion 130.

[0081] Incidentally, although already mentioned above Fig. 8A and Figure 8B The example of the joint structure 160 including the left hip roll joint 134L_R is described, but the joint structure 160 including the tension spring 161 can also be similarly applied to the left ankle roll joint 136L_R. When a similar joint structure 160 is also applied to the roll joint 134R_R (and the roll joint 136R_R) included in the right leg 105R, the operation when lifting the right leg 105R in bipedal walking can be stabilized. In addition, although in Fig. 8A and Figure 8B Although the description is made by taking the joint portion that enables roll rotation between the links in the legs 105L and 105R as an example, the joint structure 160 can also be similarly applied to a joint portion that enables pitch rotation and yaw rotation.

[0082] Here, for example, the joint portions of the legs 105L and 105R of the robot 10 to which the joint structure 160 is to be applied can be determined as follows. For example, the hip tilt joint portions 134L_R and 134R_R in the above example are joint portions in which the change in the backlash may make the operation of the robot 10 unstable because the timing of the change in the support of one leg to the support of two legs (or vice versa) in the bipedal walking of the robot 10 coincides with the timing of the change in the backlash in the joint portion. In such a joint portion, the operation of the robot 10 can be stabilized by applying the joint structure 160. On the other hand, for example, it may not be necessary to apply the joint structure 160 in the joint portion that changes the backlash because the distal side link 140B constitutes a cantilever, but does not cause unstable operation because the change in the backlash occurs while the robot 10 is supported by two legs in, for example, bipedal walking, and the joint portion in which the change in the backlash does not occur under the assumed control. However, the conditions are different in the case where the robot 10 performs an operation other than bipedal walking, and even in the case of performing bipedal walking, the conditions are different depending on which joint portion is programmed to operate. Therefore, the above-described joint structure 160 can be applied to all joint portions 130 that couple the main body-side link 140A and the distal end-side link 140B to each other.

[0083] (Example of application of joint structure in arm)

[0084] Fig. 9A and Fig. 9B It is to help explain the reference above Figure 7 FIG. 1 is a diagram showing an example of application of the joint structure 160 in the left arm 103L of the robot 10 according to an embodiment of the present invention. Fig. 9A The robot 10 is shown in a state where the left arm 103L is horizontally extended and the palm of the hand 104L is facing upward. In this state, the wrist link 144L constitutes a cantilever supported by the wrist joint 133L. However, at this time, the tension spring 161 of the joint structure 160 including the pitch joint 133L_P of the wrist joint 133L provides a rotational biasing force in the same direction as the gravity acting on the link 144L. Therefore, in the pitch joint 133L_P, according to the gravity acting on the link 144L, the palm side ( Fig. 9A The upper side of the tooth gap BL PALM .

[0085] Fig. 9B The yaw joint 132L_Y of the elbow joint 132L is shown. Fig. 9A The state shown is rotated about 180 degrees. In this state, the wrist link 144L continues to constitute a cantilever supported by the wrist joint portion 133L. However, since a part of the distal end side of the yaw joint portion 132L_Y of the arm portion 103L is rotated 180 degrees, Fig. 9A, the palm of the hand 104L faces downward. Here, since the joint structure 160 including the pitch joint portion 133L_P of the wrist joint portion 133L rotates 180 degrees, the tension spring 161 provides a rotational biasing force in the direction opposite to the gravity acting on the link 144L. Therefore, the backlash generated in the pitch joint portion 133L_P is maintained to be on the palm side ( Fig. 9B The backlash BL of the lower side) PALM .

[0086] As in the example described above, in the case where the joint structure 160 is applied to the joints of the arms 103L and 103R of the robot 10, even if the direction of gravity applied to the distal-end-side link 140B is changed by, for example, the operation of another joint, the backlash can be prevented from changing in the joint 130. Thus, for example, regardless of the operation of other joints, the positions of the hands 104L and 104R can be controlled with high accuracy, and the accuracy of the operation of the robot 10, which is an operation of holding another object or moving another object with the hands 104L and 104R, can be improved.

[0087] In addition, it can be said from the above example that the tension spring 161 of the joint structure 160 does not necessarily provide a rotational biasing force that always resists the gravity acting on the distal-side link 140B while the distal-side link 140B constitutes a cantilever having the joint portion 130 as a fulcrum. Fig. 9A and Fig. 9B As in the example described above, in the case where the orientation of the distal-side link 140B relative to the direction of gravity changes, the tension spring 161 may be configured to provide a rotational biasing force in a specific direction against the gravity acting on the distal-side link 140B. In this case, the tension spring 161 may provide a rotational biasing force in the same direction as the gravity acting on the distal-side link 140B, while the gravity acting on the distal-side link 140B is not in a specific direction.

[0088] (Variation of joint structure)

[0089] Fig. 10A and Fig. 10B 1 is a diagram showing a modified example of the joint structure of a robot according to an embodiment of the present invention, which has been described above with reference to FIG. Figure 7 Explained. Fig. 10AThe joint structure 160A of the modification shown in the embodiment includes a coupling member 162A coupled to the first part 130A of the joint part 130 and a tension spring 161A. Both ends of the tension spring 161A are respectively coupled to the coupling member 162A and the distal side link 140B. The tension spring 161A is attached between the coupling member 162A and the distal side link 140B in a pre-expanded state. Therefore, a tension biasing force is generated to rotate the distal side link 140B and bring the distal side link 140B close to the coupling member 162A. As described above, the coupling member 162A and the distal side link 140B are respectively coupled to the first part 130A and the second part 130B of the joint part 130. Therefore, a rotational biasing force coaxial with the relative rotation of the second part 130B relative to the first part 130A is provided by the biasing force applied by the tension spring 161A to the coupling member 162A and the distal side link 140B, as described above.

[0090] Here, in Fig. 10A In the variation shown, Figure 7 Unlike the example shown, one end of the tension spring 161A is coupled to a coupling member 162A coupled to the first portion 130A instead of the main body side link 140A. Therefore, as long as the rotational biasing force is finally applied to the second portion 130B, both ends of the tension spring 161A may be coupled to the main body side link 140A and the distal end side link 140B, may be coupled to a coupling member coupled to the first portion 130A or the second portion 130B, or may be directly coupled to the first portion 130A or the second portion 130B.

[0091] In addition, despite Figure 7 In the illustrated variant, the tension spring 161 extends along an arc centered on the rotation axis X (for example using a spring guide not shown), but in Fig. 10A In the illustrated modification, the tension spring 161A extends linearly. Therefore, the tension spring 161A may not be arranged so that the tension spring 161A itself generates a rotational biasing force about the rotation axis X. Specifically, for example, utilizing the fact that the first portion 130A and the second portion 130B of the joint portion 130 are assembled to be rotatable relative to each other about the rotation axis X, the tension spring 161A may provide a linear biasing force to the second portion 130B or a portion coupled to the second portion 130B, so that the rotational biasing force about the rotation axis X is ultimately applied to the second portion 130B.

[0092] On the other hand, according to Fig. 10B In the joint structure 160B of the variation shown, Fig. 10ACompared to the modification shown in FIG. 1 , a solenoid actuator 163B is attached to a coupling member 162A, and a tension spring 161A is coupled to the solenoid actuator 163B. The solenoid actuator 163B operates with a predetermined stroke in a tangential direction of a circle centered on the rotation axis X, thereby expanding or contracting the tension spring 161A as an elastic body constituting the biasing means. The length of the tension spring 161A and the position of the coupling member 162A are set so that when the solenoid actuator 163B expands the tension spring 161A, a linear biasing force that can resist the force F acting on the distal end side link 140B is applied, and when the solenoid actuator 163B contracts the tension spring 161A, no linear biasing force that can resist the force F acting on the distal end side link 140B is applied.

[0093] That is Fig. 10B In the example of , the solenoid actuator 163B is used as a switching device for switching between a first state in which the tension spring 161A applies a sufficient rotational biasing force to the second portion 130B of the joint portion 130 and a second state in which the tension spring 161A does not apply a sufficient rotational biasing force to the second portion 130B. In the above-mentioned first state, regardless of the direction of the force F acting on the distal side link 140B, the position of the tooth gap BL in the joint portion 130 is determined by the biasing force of the tension spring 161A. On the other hand, in the above-mentioned second state, the position of the tooth gap BL in the joint portion 130 is determined by the direction of the force F acting on the distal side link 140B.

[0094] Incidentally, the switching device included in the joint structure 160B is not limited to the solenoid actuator, but may be another linear actuator capable of expanding or contracting the tension spring 161A. Alternatively, the switching device may be a rotary actuator that can expand or contract the tension spring 161A by winding a wire or a belt connected to the tension spring 161A. As will be described later, other biasing devices may be used instead of the tension spring 161A. Also in this case, when the biasing device is an elastic body, a mechanism that expands or contracts the elastic body, such as the above-mentioned solenoid actuator 163B, may be used as the switching device.

[0095] By using the joint structure 160B as described above, in the above reference Fig. 8A and Figure 8BIn the example of bipedal walking, for example, a rotational bias force may be applied to the roll joint portions 134L_R and 134R_R while the robot 10 is supported by one leg (i.e., when any one of the legs 105L and 105R is lifted), whereas a rotational bias force may not be applied when the robot 10 is supported by both legs. When the robot 10 is supported by both legs, there is a relatively small possibility that the operation of the robot 10 becomes unstable even when the backlash in the joint portions changes. Therefore, by using the switching device, by selecting the above-mentioned first state in an emergency during the operation of the robot 10, the operation of the robot 10 can be stabilized by the rotational bias force, and by selecting the second state, the rotational bias force can be prevented from having an unexpected effect on the operation of the robot 10 in other situations.

[0096] Incidentally, in the joint structure of the robot 10 described above, the tension spring 161 (or the tension spring 161A) is an example of a biasing device for applying a rotational biasing force to the second portion 130B of the joint portion 130. Specifically, the tension spring 161 (or the tension spring 161A) may be an elastic body such as various springs including a coil spring, a spiral spring, or a rubber band, etc. In the above example, the rotational biasing force is applied to the second portion 130B by the tension biasing force generated by the tension spring 161. However, when the position of the tension spring 161 relative to the distal side link 140B is reversed, for example, the rotational biasing force may be applied to the second portion 130B by the compression biasing force generated by the tension spring 161.

[0097] (Calibration of potentiometer)

[0098] Reference above Figure 3 The potentiometer 155 described is a sensor that detects relative rotation between two links connected to the joint 130. The output voltage of the potentiometer 155 varies depending on the portion of the joint 130 to which the potentiometer 155 is attached (e.g., the portion is the above reference Figure 5A and Figure 5B The control device 110 of the robot 10 recognizes the actual rotation angle in the joint part 130 through a digital signal based on the output voltage.

[0099] Fig.11 is a diagram that helps illustrate an example of potentiometer calibration. Fig.11 In the figure, the axis of abscissa represents the rotation angle θ of the joint part 130 to which the potentiometer 155 is attached, and the axis of ordinate represents the output voltage V of the potentiometer 155. In the illustrated example, the output voltage V varies according to the function f(θ)0 with respect to the rotation angle θ. The function f(θ)0 varies according to individual differences of the potentiometer 155 and the like. Therefore, the potentiometer 155 needs to be calibrated to convert the output voltage V into the rotation angle θ.

[0100] In the example shown, for three rotation angles θ1, θ2, and θ3, the output voltages V1, V2, and V3 at the rotation angles are measured, and a function f(θ)1 that approximates the relationship between the rotation angle θ and the output voltage V is obtained from the measurement results. The function f(θ)1 in the example shown is an approximate straight line determined with point (θ1, V1), point (θ2, V2), and point (θ3, V3) as reference. Even if the output voltage V of the potentiometer 155 is an arbitrary value other than the output voltages V1, V2, and V3, such a definition of the function f(θ)1 enables the output voltage V1 to be obtained by setting θ=f -1 (V) 1 to convert the output voltage V into an estimated value of the rotation angle θ. Incidentally, in the following description, the function f -1 (V)1 will also be referred to as the transfer function obtained by calibration of the potentiometer 155.

[0101] However, as shown in the figure, the function f(θ)0 indicating the raw output voltage V of the potentiometer 155 with respect to the rotation angle θ is not necessarily a linear function. Therefore, at a rotation angle different from the three rotation angles θ1, θ2, and θ3 used as a reference for determining the function f(θ)1 (in Fig.11 The rotation angle θ is shown in x and the rotation angle θ y In the range between θ and θ, a larger difference V may appear between the original function f(θ)0 and the function f(θ)1 DIFF In this range of rotation angle θ, based on the conversion function f -1 There may be a difference between the estimated value of the rotation angle θ of (V)1 and the actual rotation angle θ, that is, the estimated value of the rotation angle θ based on the output voltage V of the potentiometer 155 may not be necessarily accurate.

[0102] Here, as reference is made to the above Figures 6A to 6C As described in the examples above, in the operation of the robot 10, there are situations where an undesirable moment or vibration (even if the moment or vibration is small) results in the robot tipping over, etc., such as when switching between support by both legs and support by one leg in bipedal walking. In the following description, such situations will also be referred to as emergency situations in the operation of the robot 10. For example, in the operation of the robot 10, in an emergency situation, a situation such as Fig.11 The difference shown in V DIFF In this case, since the estimated value of the rotation angle θ used by the control device 110 to control the robot 10 is inaccurate, there is a possibility that consequences such as tipping over may easily occur.

[0103] As mentioned above Figure 3As described above, the control device 110 extracts the difference between the ideal value of the rotation angle of the joint part 130 and the actually generated rotation angle θ by comparing the target value of the rotation angle of the motor 150 input to the servo circuit 151 and the rotation angle θ detected by the potentiometer 155. When the difference is large, the control device 110 inputs an additional target value for compensating for the difference to the servo circuit 151. Such control can appropriately control the operation of the robot 10, for example, by reducing the influence of the backlash generated in the driving force transmission mechanism 154 that transmits the rotational driving force from the motor 150 to the joint part 130. However, as already described, the rotation angle θ used by the control device 110 to control the robot 10 is obtained by using the conversion function f -1 (V)1 is the estimated value converted from the output voltage V. Therefore, when due to e.g. Fig.11 The difference shown in V DIFF If the estimated value of the rotation angle θ is incorrect, the operation of the robot 10 may not be properly controlled because an additional target value considered to be necessary is not input or an additional target value considered to be unnecessary is input.

[0104] At the same time, the control device 110 can also use sensors such as the above reference Figure 2 The IMU 125 and the ground confirmation sensors 126L and 126R described above are used to identify states such as the posture and inclination of the robot 10, the contact of the feet 106L and 106R with the floor surface, etc. The detection values ​​of these sensors can be used, for example, to appropriately control the operation of the robot 10 in an emergency situation as described above. For example, during bipedal walking supported by one leg, by constantly checking the posture of the robot 10 with reference to the detection value of the IMU 125 while controlling the rotation angle θ of the joint part 130, the operation of the robot 10 can be appropriately controlled without being affected by Fig.11 The difference shown in V DIFF However, the control of feeding back the posture of the robot 10 detected by the IMU 125 as described above imposes a heavy processing load on the CPU 111. Unlike relatively simple control that compensates for the difference in rotation angle, the processing load is greatly increased by incorporating physical quantities indicating the posture of the robot 10 (the physical quantities are particularly acceleration and angular velocity) into the parameters used for control.

[0105] (Offset value is applied to calibration result)

[0106] Fig.12 FIG. 1 is a graph that helps illustrate the results of applying an offset value to a potentiometer calibration in one embodiment of the present invention. Fig.12 In the example depicted in the graph, by adding the offset value V OFFSETThe function f(θ)2 obtained by adding the value of the function f(θ)1 is used to convert the output voltage V of the potentiometer 155 into the value of the rotation angle θ. x With rotation angle θ y In the example shown, the offset value V OFFSET Compensation at rotation angle θ x With rotation angle θ y The difference between the function f(θ)0 and the function f(θ)2 in the range between .

[0107] For example, when the rotation angle θ x With rotation angle θ y The range between is the range of the rotation angle θ in the operation of the robot 10 in an emergency situation, and the offset value V OFFSET The application compensation in this range uses the conversion function f -1 (V) The difference between the estimated value of the rotation angle θ and the actual rotation angle θ in the case of 1. As a result, the control device 110 can recognize the accurate rotation angle θ within the range and control the operation of the robot 10 more appropriately. On the other hand, in Fig.12 In the example, at a rotation angle θ x With rotation angle θ y The offset value V is applied in a limited manner within the range between OFFSET That is, at the rotation angle θ x With rotation angle θ y Outside the range of rotation angle θ, the original function f(θ)1 and the conversion function f -1 (V) 1. However, the rotation angle θ x and the rotation angle θ y For example, as in the example of the setting process to be described later, when an emergency situation in operation is recognized by using another sensor (such as IMU 125, etc.) that the robot 10 has and the offset value V is applied in a limited manner in this case, OFFSET When the rotation angle θ x With rotation angle θ y The offset value V is applied in a limited manner within the range between OFFSET In this case, the offset value V is applied in a limited manner within a certain range of the rotation angle θ. OFFSET This is equivalent to applying the offset value V in a limited manner in emergency situations during the operation of the robot 10. OFFSET .

[0108] It should be noted that in one embodiment of the present invention, which will be described below, the offset value V OFFSET Applied to the transformation function f -1(V)1, thus setting the conversion function f -1 (V)2 equivalent function f -1 (V+V OFFSET )1, instead of converting the conversion function f -1 (V)1 is replaced by the conversion function f -1 (V) 2, the accurate rotation angle θ can be identified based on the output voltage V of the potentiometer 155. This configuration is advantageous, for example, in applying the offset value V in a limited manner in an emergency situation during the operation of the robot 10 as described above. OFFSET , different offset values ​​V are applied for each emergency situation in multiple operations of the robot 10 OFFSET , or update the offset value V OFFSET In order to correspond to the change of the function f(θ)0 caused by the long-term change of the potentiometer 155 or the surrounding environment.

[0109] Fig.13 1 is a flowchart showing an example of a specific process for setting and applying an offset value in one embodiment of the present invention. Incidentally, it is assumed that in the illustrated process, the conversion function f is predetermined by a separate calibration process. -1 (V)1.

[0110] First, the CPU 111 starts the bipedal walking operation of the robot 10 (step S101). Here, the CPU 111 controls the motor 150 of the joint 130 of each part of the rotation-driven robot 10 according to the bipedal walking control mode read from the ROM 113 or the external memory 114. At this time, the CPU 111 controls the motor 150 of the joint 130 of each part of the rotation-driven robot 10 according to the conversion function f -1 (V)1 The output voltage V of the potentiometer 155 is converted into an estimated value of the rotation angle θ.

[0111] Here, when the ground contact confirmation sensors 126L and 126R detect that any one of the feet 106L and 106R of the robot 10 is not in contact with the floor surface, that is, the robot 10 is supported by one leg (step S102), and the offset value V for bipedal walking has not been set. OFFSET (Step S103), the CPU 111 executes a method for setting the offset value V OFFSET Specifically, the CPU 111 identifies the posture of the robot 10 by referring to the detection result of the IMU 125 (step S104), and determines the offset value V based on the difference between the actual posture and the ideal posture of the robot 10. OFFSET (For example, the inclination angle of the actual posture relative to the ideal posture) (Step S105) Here, the ideal posture of the robot 10 in bipedal walking may be, for example, a posture in which the main body 102 is horizontal.

[0112] At the time point of step S104, the CPU 111 uses the conversion function f -1 (V) 1 without applying the offset value V OFFSET , the bipedal walking operation of the robot 10 is controlled based on the estimated value of the rotation angle θ converted from the output voltage V. Here, when there is a difference between the actual rotation angle θ and the above-mentioned estimated value, a difference corresponding to the difference in the rotation angle θ is also generated in the control result, that is, between the actual posture and the ideal posture of the robot 10. Therefore, in step S105, the CPU 111 determines the offset value V based on the difference between the actual posture and the ideal posture of the robot 10. OFFSET The difference between the rotation angle θ actually occurring in the above case and the recognition result can be compensated, and the proper posture of the robot 10 can be maintained by the control of the CPU 111 as described above. Specifically, for example, the CPU 111 calculates the offset value V of the rotation angle θ of each joint portion by converting the inclination of the actual posture relative to the proper posture into rotations (pitch rotation, roll rotation, and yaw rotation) in the joint portions of the legs 105L and 105R. OFFSET .

[0113] When the offset value V is calculated in the above step S105 OFFSET , and the offset value V has been set in the above step S103 OFFSET When the CPU 111 converts the output voltage V into an estimated value of the rotation angle θ, the offset value V is applied. OFFSET (Step S106). Specifically, the CPU 111 sets the offset value V OFFSET Applied to the transformation function f -1 (V)1 to set the function f -1 (V+V OFFSET )1, and then converts the output voltage V into an estimated value of the rotation angle θ. Therefore, the estimated value of the rotation angle θ is close to the actual rotation angle θ, and the CPU 111 can control the bipedal walking operation of the robot 10 more appropriately.

[0114] When the grounding confirmation sensors 126L and 126R detect in the above step S102 that the robot 10 is not supported by one leg, that is, the robot 10 is supported by two legs, on the other hand, the CPU 111 performs the grounding confirmation according to the conversion function f -1 (V)1 Convert the output voltage V to the rotation angle θ without applying the offset value V OFFSET (Step S107) Thereafter, the above-mentioned processing is repeated until the CPU 111 ends the bipedal walking operation of the robot 10 (Step S108).

[0115] As described above, the process according to the present embodiment can obtain an estimated value of the rotation angle θ by applying the offset value V OFFSETcan reduce or eliminate the described Fig.11 The difference shown in V DIFF In addition, although when the offset value V is first set OFFSET The detection result of the IMU 125 is referred to at the time, but a relatively simple control is then performed to compensate for the difference between the estimated value of the rotation angle θ based on the output voltage V of the potentiometer 155 and the ideal value of the rotation angle θ. Therefore, the processing load on the CPU 111 is greatly reduced.

[0116] In addition, although the above description only performs the operation for setting the offset value V at the first bipedal walking operation, OFFSET However, the CPU 111 may set the offset value V by periodically executing OFFSET The process of updating the offset value V at predetermined intervals OFFSET Therefore, for example, even when the function f(θ)0 changes according to the long-term change of the potentiometer 155 or the surrounding environment, the offset value V corresponding to the change can be set. OFFSET For example, compared to the process of re-performing the calibration of the potentiometer 155 and re-defining the function f(θ)1, the process for setting the offset value V OFFSET The process for setting the offset value V is easy and can be performed during normal operation of the robot 10. OFFSET Therefore, for example, in the case where the end user uses the robot 10 at hand for a long time, the accurate operation of the robot 10 can be maintained without increasing the maintenance work.

[0117] (Selective application of multiple offset values)

[0118] Fig.14 is a graph that helps illustrate an example of selectively applying multiple offset values ​​to potentiometer calibration results in one embodiment of the present invention. Fig.14 The graph depicts the addition of a first offset value V OFFSET1 The function f(θ)2 is obtained by adding the second offset value V OFFSET2 The function f(θ)3 is obtained by adding the value of the function f(θ)1 to the value of the function f(θ)1. Fig.12 The offset value V OFFSET Same, the first offset value V OFFSET1 At the rotation angle θ x With rotation angle θ y The difference between the function f(θ)0 and the function f(θ)2 is compensated in the range between . On the other hand, the second offset value V OFFSET2 At a different rotation angle θ than the above z and the rotation angle θ w The range between compensates for the difference between function f(θ)0 and function f(θ)3.

[0119] When the rotation angle θ z and the rotation angle θ w The range between is the range of the rotation angle θ in an emergency situation during the operation of the robot 10, and the range is different from the rotation angle θ. x and the rotation angle θ y For example, the second offset value V OFFSET2 The applied compensation in this range uses the transfer function f -1 (V) The difference between the estimated value of the rotation angle θ and the actual rotation angle θ in case 1. As a result, the control device 110 can recognize the accurate rotation angle θ within the range and control the operation of the robot 10 more appropriately.

[0120] Specifically, for example, the rotation angle θ x With rotation angle θ y The range between may be the range of the rotation angle θ in an emergency situation in the first operation of the robot 10, for example, in the case of being supported by one leg in bipedal walking, and the rotation angle θ z and the rotation angle θ w The range between may be the range of the rotation angle θ in an emergency situation in the second operation of the robot 10, for example, when the robot 10 stands up from a sitting or overturned state. As described above, in the present embodiment, the CPU 111 selects a mode corresponding to the determined operation from the control modes stored in the ROM 113 or the external memory 114, and controls the robot 10 according to the selected mode. Therefore, in the above example, bipedal walking as the first operation and standing up as the second operation can be identified based on the selected control mode.

[0121] Here, when applying the first offset value V OFFSET1 Or the second offset value V OFFSET2 When the CPU 111 rotates the angle θ within a specific range (specifically, within the first offset value V OFFSET1 The rotation angle θ in the case x With rotation angle θ y The range between the second offset value V OFFSET2 The rotation angle θ in the case z With rotation angle θ w The first offset value V may be applied in a limited manner in the range between θ and θ, or the first offset value V may be applied in the entire range of the rotation angle θ when a specific control mode (the bipedal walking mode and the stand-up mode in the above specific example) is selected. OFFSET1 Or the second offset value V OFFSET2 ,like Fig.14 shown.

[0122] Fig.15 1 is a flowchart showing an example of a specific process for selectively applying a plurality of offset values ​​in one embodiment of the present invention. Incidentally, it is assumed that in the illustrated process, by OFFSET1 and the second offset value V OFFSET2 Each of the executions is as follows Fig.13 The setting process shown above is used to predetermine the first offset value V for bipedal walking OFFSET1 and a second offset value V for standing up OFFSET2 , and stores it in ROM 113 or external memory 114. In addition, it is assumed that the process of identifying the rotation angle θ of the joint part 130 after applying each offset value is similar to Fig.13 Processing shown.

[0123] First, when the bipedal walking mode is selected as the control mode of the robot 10 (step S111), the CPU 111 applies the first offset value V OFFSET1 (Step S112). Therefore, during the bipedal walking operation of the robot 10, the CPU 111 applies the first offset value V OFFSET1 The function f(θ) 2 identifies the rotation angle θ from the output voltage V of the potentiometer 155 .

[0124] On the other hand, when the standing up mode is selected as the control mode of the robot 10 (step S113), the CPU 111 applies the second offset value V OFFSET2 (Step S114). Therefore, during the standing-up operation of the robot 10, the CPU 111 applies the second offset value V OFFSET2 The function f(θ) 3 identifies the rotation angle θ from the output voltage V of the potentiometer 155 .

[0125] As a result of the determination in the above-mentioned step S111 or S113, when neither the bipedal walking mode nor the standing-up mode is selected as the control mode of the robot 10, the CPU 111 identifies the rotation angle θ from the output voltage V of the potentiometer 155 according to the function f(θ)1 to which the offset value is not applied.

[0126] Through the processing as described above, in multiple operations of the robot 10 in emergency situations, the selective application of multiple offset values ​​enables the CPU 111 to accurately identify the rotation angle θ, and appropriately control the operation of the robot 10 through relatively simple control to compensate for the difference between the ideal value of the rotation angle and the actual rotation angle θ.

[0127] Incidentally, regarding the operation of the robot 10, the operation of bipedal walking and the operation of getting up from the state where the robot 10 is seated or overturned have been shown in the above description. However, the operation of the robot 10 is not limited to such examples. In addition, the emergency situation in each operation is not limited to the examples in the above description. For example, the emergency situation in bipedal walking can be defined as a situation where the ZMP is on the boundary line of the stable area. In addition, the above example is an example in which the rotation angle at the joint of the legs 105L and 105R and the feet 106L and 106R mainly affects the operation result of the robot 10. However, there may be a situation in which the rotation angle at the joint of the arms 103L and 103R and the hands 104L and 104R affects the operation result of the robot 10. For example, in the operation of grasping an object of a known size, by accurately controlling the rotation angle θ in the grasping situation, the force applied to the object can be reduced to the necessary minimum while grasping the object. In addition, in the operation of the robot 10 to reproduce an arbitrary programmed motion, in a situation where the various parts of the robot 10 may interfere with each other, such as when the two arms are made to intersect with each other, etc., by precisely controlling the rotation angle θ, the motion can be reproduced without causing interference between the various parts of the robot 10.

[0128] In addition, referring to the above Fig.15 In the described example, the operation of the robot 10 includes a first operation (bipedal walking) and a second operation (standing up), and the offset value includes a first offset value (V OFFSET1 ) and an offset value corresponding to an emergency situation in the second operation (V OFFSET2 ). However, the operation of the robot 10 and the relationship between the emergency situation in the operation and the offset value are not limited to this example. For example, in a single operation of the robot 10, there may be a first emergency situation and a second emergency situation, and the first offset value and the second offset value corresponding to each emergency situation may be set.

[0129] In addition, the above description only changes the offset value V OFFSET This is an example of a calibration result applied to the potentiometer 155 as a sensor for detecting the rotation angle θ in the joint portion 130 of the robot 10. However, a similar configuration may be applied to a sensor for detecting another state quantity of the robot 10. For example, it may be useful to apply an offset value set to compensate for a difference between an estimated value and an actual value in an emergency situation occurring in the operation of the robot 10, for example, where the relationship between the state quantity detected by the sensor and the detection value of the sensor is not necessarily as in the reference Fig.11 The various sensors described are linear and therefore need to be calibrated to convert the detected values ​​into estimated values ​​of the state quantity.

[0130] The illustrative embodiments of the present invention have been described above. Incidentally, the configurations of the above-described embodiments can be implemented independently of each other or in combination with each other. Specifically, for example, referring to Figure 7 The joint structure described can be independent of the reference Fig.12 The offset value is applied to achieve this. Fig. 8A and Figure 8B The legs 105L and 105R of the robot 10 shown in FIG. Fig. 9A and Fig. 9B The application of the arms 103L and 103R of the robot 10 shown can be implemented simultaneously, or in a manner such as Fig. 8A and Figure 8B Its application in the legs 105L and 105R of the robot 10 shown or in the Fig. 9A and Fig. 9B Its application in the arms 103L and 103R of the robot 10 shown can be realized.

[0131] In addition, the above description is made by generally showing the joint part 130 of the robot 10 or showing a part of the joint part (for example, the hip side tilt joint part 134L_R). However, the structure or control as described above can be applied to the operation of the robot 10 and the control for realizing the operation as shown in FIG. Figure 1 In each joint of the robot 10. In addition, Figure 1 The joint configuration of the robot 10 shown in FIG. 1 is an example, and various other joint configurations are also possible. In addition, the robot according to other embodiments of the present invention is not limited to a humanoid robot, such as Figure 1 The robot 10 shown in the figure may be any other robot having joints, and there may be a critical situation in the operation performed by controlling the joints so that the joints are affected by the backlash.

[0132] Some embodiments of the present invention have been described in detail above with reference to the accompanying drawings. However, the present invention is not limited to these examples. Obviously, a person with ordinary knowledge in the technical field of the present invention can think of various changes or modifications within the scope of the technical concept described in the claims. Therefore, it should be understood that these changes or modifications naturally also fall within the technical scope of the present invention.

[0133] Reference numerals list

[0134] 10...robot, 101...head, 102...body, 103L, 103R...arm, 104L, 104R...hand, 105L, 105R...leg, 106L, 106R...foot, 110...control device, 111...CPU, 113...ROM, 114...external memory, 115...bus interface, 116...conversion function, 117...offset value, 130...joint, 130A. ..First part, 130B...Second part, 140A...Main body side link, 140B...Distal end side link, 150...Motor, 151...Servo circuit, 152...Driver, 153...Encoder, 154...Driving force transmission mechanism, 155...Potentiometer, 156...A / D converter circuit, 160...Joint structure, 161, 161A...Tension spring, 162A...Connecting member, 163B...Solenoid actuator.

Claims

1. A control device for a robot, the control device comprising a processor, the processor being configured to: obtaining a signal indicating a detection value of a sensor detecting a state quantity of the robot; converting the detected value into an estimated value of the state quantity according to a conversion function obtained through calibration of the sensor; Determine whether the robot's operation is in an emergency situation; Calculating an offset value that compensates for the difference between the estimated value and the actual state quantity; The offset value is applied to the estimated value when the operation of the robot is in an emergency.

2. The control device according to claim 1, wherein: In the emergency situation, the offset value is applied in a limited manner.

3. The control device according to claim 1 or 2, wherein: The operation of the robot includes a first operation and a second operation, and The offset values ​​include a first offset value corresponding to an emergency situation in a first operation and a second offset value corresponding to an emergency situation in a second operation.

4. The control device according to claim 1 or 2, wherein: The emergency situation includes a first situation and a second situation, and The offset values ​​include a first offset value corresponding to a first case and a second offset value corresponding to a second case.

5. The control device according to any one of claims 1 to 4, wherein: The processor also implements the function of executing the process of setting the offset value, and The setup process includes: a first process of controlling the operation of the robot according to the converted estimate without applying the offset value, and A second process of determining an offset value according to a difference between a control result and an ideal result in the first process.

6. The control device according to claim 5, wherein: The control result is the posture of the robot, which is detected by an inertial measurement unit included in the robot.

7. The control device according to claim 5 or 6, wherein: The processor periodically executes a setup process.

8. The control device according to any one of claims 1 to 7, wherein: The operation of the robot includes bipedal walking.

9. The control device according to claim 8, wherein: The emergency situation includes a situation where the robot is supported by one leg in bipedal walking.

10. The control device according to any one of claims 1 to 9, wherein: The state quantity includes the rotation angle of the joint of the robot.

11. The control device according to claim 10, wherein: The sensor comprises a potentiometer attached to the joint.

12. A control method for a robot, the control method comprising: obtaining a signal indicating a detection value of a sensor detecting a state quantity of the robot; converting the detected value into an estimated value of the state quantity according to a conversion function obtained through calibration of the sensor; Determine whether the robot's operation is in an emergency situation; Calculating an offset value that compensates for the difference between the estimated value and the actual state quantity; The offset value is applied to the estimated value when the operation of the robot is in an emergency.

13. A control program for a robot, the control program causing a processor included in the robot to implement: obtaining a signal indicating a detection value of a sensor detecting a state quantity of the robot; converting the detected value into an estimated value of the state quantity according to a conversion function obtained through calibration of the sensor; Determine whether the robot's operation is in an emergency situation; Calculating an offset value that compensates for the difference between the estimated value and the actual state quantity; The offset value is applied to the estimated value when the operation of the robot is in an emergency.

Citation Information

Patent Citations

  • Servo unit and joint servo for use in a robot system

    US20060028164A1

  • Potentiometer employing digital circuit to simulate multi-brush output

    CN104965120A

  • Robot device and method of controlling the same

    CN1697723A

  • Vehicle steering angle detection device and electric power steering apparatus equipped with same

    WO2017061257A1