WO2019003401A1 - ロボットの制御装置、制御方法および制御プログラム - Google Patents
ロボットの制御装置、制御方法および制御プログラム Download PDFInfo
- Publication number
- WO2019003401A1 WO2019003401A1 PCT/JP2017/024052 JP2017024052W WO2019003401A1 WO 2019003401 A1 WO2019003401 A1 WO 2019003401A1 JP 2017024052 W JP2017024052 W JP 2017024052W WO 2019003401 A1 WO2019003401 A1 WO 2019003401A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- joint
- offset value
- link
- value
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
- B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
- B62D57/032—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/0006—Exoskeletons, i.e. resembling a human figure
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
Definitions
- the present invention relates to a control device, control method and control program of a robot.
- various sensors for detecting a state quantity of the robot are used.
- the state quantities detected by these sensors are input to, for example, a controller of the robot, and the controller controls the operation of the robot according to the state quantities.
- a motor for driving, a reduction mechanism for reducing and transmitting the rotational speed of the motor, an output shaft coupled to a final rotation shaft of the reduction mechanism, and a rotation angle of the output shaft are detected
- a servo unit for a robot including a potentiometer.
- the potentiometer is, for example, a sensor that is generally used to detect a rotation angle at a joint of a robot.
- the signal indicating the detected value does not correspond linearly to the state quantity, and convert the signal indicating the detected value to the state quantity based on the result .
- the signal indicating the detected value may not be converted into an accurate state quantity, which may make it difficult to appropriately control the robot operation. .
- the present invention when converting the detection value of a sensor requiring calibration into the state quantity of the robot, the present invention can convert the detection value into the correct state quantity in an effective manner according to the operation of the robot. It is an object of the present invention to provide a new and improved robot control device, control method and control program.
- a control device of a robot has a function of acquiring a signal indicating a detected value of a sensor that detects a state amount of the robot, and an operation of the robot in converting the detected value into an estimated value of the state amount according to a conversion function obtained by calibration of the sensor.
- a processor that implements the function of applying an offset value to compensate for the difference between the estimated value and the actual state quantity in a critical scene.
- a control method of a robot comprises the steps of: acquiring a signal indicating a detection value of a sensor that detects a state amount of the robot; and a processor included in the robot converting the detection value into an estimate of the state amount according to a conversion function obtained by calibration of the sensor.
- the step of applying includes the step of applying an offset value that compensates for the difference between the estimated value in the critical scene in the operation of the robot and the actual state quantity.
- a control program of a robot has a function of acquiring a signal indicating a detection value of a sensor that detects a state quantity of the robot, and an operation of the robot in converting the detection value into an estimated value of a state quantity according to a conversion function obtained by calibration of the sensor. And a function of applying an offset value that compensates for the difference between the estimated value in the critical scene and the actual state quantity is realized in a processor included in the robot.
- the state quantity is accurately measured in an effective manner according to the operation of the robot Can be converted to
- FIG. 2 is an exemplary view showing a joint configuration of a robot according to an embodiment of the present invention. It is an exemplary figure showing the hardware constitutions of the robot concerning one embodiment of the present invention. It is an exemplary block diagram showing composition for driving a joint part of a robot concerning one embodiment of the present invention. It is a figure for demonstrating the example of a general backlash. It is a figure for demonstrating the example of the backlash in the joint part of a robot. It is a figure for demonstrating the example of the backlash in the joint part of a robot. It is a figure for demonstrating the example of the backlash in the joint part of a robot. It is a figure for demonstrating the example of the influence of the backlash in biped walking of a robot. It is a figure for demonstrating the example of the influence of the backlash in biped walking of a robot.
- FIG. 5 is a flow chart illustrating an example of a specific procedure for selectively applying a plurality of offset values in an embodiment of the present invention.
- FIG. 1 is an exemplary view showing a joint configuration of a robot according to an embodiment of the present invention.
- a robot 10 according to an exemplary embodiment of the present invention includes a head 101, a main body 102, a pair of arms 103L and 103R, a pair of hands 104L and 104R, and a pair Legs 105L and 105R, and a pair of legs 106L and 106R.
- Each of these parts includes a joint and a link connected to the joint.
- Various movements of the robot 10 are realized by relative rotation of the link about the joint.
- the left arm 103L includes a shoulder joint 131L, an elbow joint 132L, and a wrist joint 133L.
- the shoulder joint 131L is between the shoulder link 141L connected to the main body 102 and the upper arm link 142L, and allows relative rotation of the link 142L relative to the link 141L.
- the joint unit 131L includes a pitch joint unit 131L_P that enables pitch rotation, a roll joint unit 131L_R that enables roll rotation, and a yaw joint unit 131L_Y that enables yaw rotation.
- the rotation axes (pitch, roll, and yaw) are defined on the basis of the case where the robot 10 is in the upright posture.
- Such a structure of the joint portion 131L allows the upper arm link 142L to rotate in each direction with respect to the shoulder link 141L.
- the elbow joint 132L is between the upper arm link 142L and the forearm link 143L, and includes a pitch joint 132L_P that enables pitch rotation and a yaw joint 132L_Y that enables yaw rotation. Including.
- Such a structure of the joint portion 132L allows the link 143L of the forearm to rotate in the pitch direction and the yaw direction with respect to the link 142L of the upper arm.
- the joint portion 133L of the wrist is between the link 143L of the forearm and the link 144L of the wrist connected to the hand portion 104L and enables pitch rotation with the roll joint portion 133L_R that enables roll rotation.
- a pitch joint portion 133L_P Such a structure of the joint portion 133L allows the wrist link 144L to rotate in the rolling direction and the pitch direction with respect to the forearm link 143L.
- the left leg 105L includes a crotch joint 134L, a knee joint 135L, and an ankle joint 136L.
- the crotch joint 134L is between the hip link 145 coupled to the body portion 102 and the upper thigh link 146L to allow relative rotation of the link 146L with respect to the link 145.
- the joint section 134L includes a yaw joint section 134L_Y that enables yaw rotation, a roll joint section 134L_R that enables roll rotation, and a pitch joint section 134L_P that enables pitch rotation.
- Such a structure of the joint portion 134L allows the upper thigh link 146L to rotate in each direction with respect to the hip link 145.
- the knee joint 135L includes a pitch joint 135L_P between the upper thigh link 146L and the lower thigh link 147L to allow pitch rotation.
- a pitch joint 135L_P between the upper thigh link 146L and the lower thigh link 147L to allow pitch rotation.
- the ankle joint 136L is located between the lower leg link 147L and the ankle link 148L connected to the foot 106L, and enables a pitch joint 136L_P that enables pitch rotation and a roll joint.
- a roll joint 136L_R Such a structure of the joint 136L allows the ankle link 148L to rotate in the pitch and roll directions with respect to the lower leg link 147L.
- the configurations of the right arm portion 103R and the right leg portion 105R are the same as the configurations of the left arm portion 103L and the left leg portion 105L described above, and thus redundant description will be omitted.
- the right arm 103R includes a shoulder joint 131R coupled to the shoulder link 141R, an upper arm link 142R coupled to the shoulder joint 131R, and an elbow joint coupled to the upper arm link 142R.
- the right leg 105R includes a crotch joint 134R coupled to the hip link 145, an upper thigh link 146R coupled to the crotch joint 134R, and a knee joint coupled to the upper thigh link 146R.
- FIG. 2 is an exemplary diagram showing a hardware configuration of a robot according to an embodiment of the present invention.
- the robot 10 has a control device 110 mounted on the main body 102.
- the control device 110 includes a central processing unit (CPU) 111 that executes arithmetic processing, a random access memory (RAM) 112, a read only memory (ROM) 113, an external memory 114, and the like.
- the control device 110 determines the operation of the robot 10 in accordance with the image data generated by the camera 121, the sound data generated by the microphone 122, the command signal received by the communication interface 124, or the like.
- the camera 121, the microphone 122, and the communication interface 124 are connected to the control device 110 via the bus interface 115.
- a camera 121 as an example of an image input device includes an imaging element, a lens, and an image processing circuit, and generates image data obtained by capturing an image around the robot 10.
- a microphone 122 which is an example of a voice input device, generates voice data obtained by capturing sounds around the robot.
- the communication interface 124 performs wired or wireless communication with an external device, and transmits and receives various signals and data. Specifically, the communication interface 124 communicates with a terminal device that functions as a remote controller of the robot 10, such as a smartphone, a tablet, or a dedicated controller, such as Bluetooth (registered trademark), wireless LAN (Local Area Network), or The signal may be transmitted and received by wireless communication using infrared rays or the like. Also, the communication interface 124 may be connected to the network via an external device, and may transmit and receive signals to and from a server on the network.
- control device 110 controls each part of the robot 10 so that the determined operation is performed. Specifically, control device 110 controls motor 150 that rotationally drives the joints of arms 103L and 103R, hands 104L and 104R, and legs 105L and 105R so that the determined operation is performed. Do. Although not shown, the head 101, the body 102, and the legs 106L and 106R may be provided with joints driven by the motor 150. At this time, the control device 110 detects a distance measurement sensor (not shown), an inertial measurement device (IMU: Inertial Measurement Unit) 125, ground confirmation sensors 126L and 126R, a load sensor (not shown), and the power control device 127. Refer to the values as needed.
- IMU Inertial Measurement Unit
- control device 110 may provide audio data to the speaker 123 or cause the communication interface 124 to transmit a command signal to an external device so that the determined operation is performed.
- the speaker 123, the communication interface 124, the motor 150, the distance measurement sensor, the IMU 125, the grounding confirmation sensors 126 L and 126 R, the load sensor, and the power control device 127 are connected to the control device 110 via the bus interface 115.
- the distance measurement sensor detects the distance to an object around the robot 10.
- the IMU 125 detects the attitude and tilt of the main body portion 102.
- the grounding confirmation sensors 126L and 126R detect contact of the foot portions 106L and 106R with the floor surface.
- the load sensor detects a load acting on each of the foot portions 106L and 106R.
- the power control unit 127 is used to manage power such as a battery and detects the remaining amount of power.
- the CPU 111 of the control device 110 selects a pattern corresponding to the operation determined from the control pattern stored in the ROM 113 or the external memory 114, and performs foot movement, ZMP (Zero Moment Point) trajectory according to the selected pattern.
- the trunk movement, upper limb movement, waist horizontal position and height, etc. are set, and the motor 150 is controlled according to these set values.
- the CPU 111 may adaptively control the motor 150 in accordance with the detection value of the above-described sensor or the like.
- FIG. 3 is an exemplary block diagram showing a configuration for driving a joint of a robot according to an embodiment of the present invention.
- the robot 10 has a control device 110 as a configuration for driving a joint unit 130 (hereinafter collectively referred to as joint unit 130 of the robot 10 as shown in FIG. 1).
- a servo circuit 151, a driver 152, an encoder 153, a driving force transmission mechanism 154, a potentiometer 155, and an A / D conversion circuit 156 are included.
- the controller 110 inputs the target value of the rotation angle of the motor 150 into the servo circuit 151.
- the servo circuit 151 drives the motor 150 by inputting a control signal to the driver 152, and detects the rotation angle of the motor 150 based on the pulse signal output from the encoder 153 as the motor 150 rotates, and rotates the motor 150.
- the control signal input to the driver 152 is adjusted so that the angle reaches the target value.
- the rotational driving force of the motor 150 is transmitted to the joint unit 130 by the driving force transmission mechanism 154.
- This causes relative rotation between the two links connected to the joint 130 (eg, in the case of the crotch joint 134L shown in FIG. 1, the waist link 145 and the upper leg link 146L).
- a potentiometer 155 is attached to the articulation 130 to detect this relative rotation. Therefore, when the relative rotation described above occurs, the output voltage of the potentiometer 155 changes in accordance with the rotation angle.
- Control device 110 obtains a digital signal generated by A / D conversion circuit 156 based on this output voltage.
- the CPU 111 calculates the rotation angle detected by the potentiometer 155 based on the signal input from the A / D conversion circuit 156. At this time, the CPU 111 refers to the conversion function 116 stored in the ROM 113 or the external memory 114. Furthermore, as necessary, the CPU 111 refers to the offset value 117 stored separately in the ROM 113 or the external memory 114 from the conversion function 116. The details of the conversion function 116 and the offset value 117 will be described later.
- the ideal value of the rotational angle of the joint 130 for example, robot It is possible to extract the difference between the rotation angle required to execute the predetermined operation 10) and the rotation angle actually generated. For example, when the difference is large, the controller 110 inputs an additional target value for compensating the difference to the servo circuit 151.
- the feedback of the rotation angle by the potentiometer 155 may not necessarily be performed in all the joint units 130, and the potentiometer 155 and the A / D conversion circuit 156 may be provided in at least some joints. It may not be attached. Also, instead of detecting the actual rotation angle with the potentiometer 155, the ideal and actual values of the rotation angle are detected by detecting the posture and inclination of the robot 10 from the detection values of other sensors such as the IMU 125 shown in FIG. The difference with the rotation angle occurring in the image may be estimated.
- Backlash in joint structure means a gap that exists in an engagement portion of a mechanical element such as a gear.
- a mechanical element such as a gear.
- an appropriately sized backlash is intentionally provided to allow smooth movement of the machine elements.
- the wear of the member may increase the backlash beyond an appropriate range.
- FIG. 4 is a diagram for explaining a general backlash example.
- the position of the backlash BL is determined by the direction of the rotational drive.
- the backlash BL the rotation of the drive-side element E 1 is generated in a position to precede the rotation of the driven element E 2.
- the rotational drive direction is reversed, the positional relationship between the drive-side element E 1 , the driven-side element E 2 , and the backlash BL is reversed, so that a dead zone of rotational drive corresponding to the size of the backlash BL is generated.
- FIG. 5A and FIG. 5B are diagrams for explaining an example of backlash in a joint portion of a robot.
- the links connected to the main body side of the joint unit 130 are collectively referred to as the main body side link 140A), the joint portion 130, and the peripheral side link 140B (hereinafter, among the links of the robot 10 as shown in FIG. 1, the links connected to the peripheral side of the joint portion 130 are collectively referred to as the peripheral side link (Also referred to as 140 B).
- the joint unit 130 includes a first portion 130A coupled to the main body side link 140A and a second portion 130B coupled to the distal side link 140B.
- the second portion 130B can rotate relative to the first portion 130A.
- the rotational driving force transmitted by the driving force transmission mechanism 154 causes relative rotation with respect to the first portion 130A of the second portion 130B, and as a result, The distal side link 140B rotates relative to the main body side link 140A.
- the peripheral side link 140B which is an object of rotation, is not symmetrical about the rotation axis. Therefore, the position of the backlash BL is determined by the direction of the force F acting on the distal link 140B rather than the direction of the rotational drive.
- the first link is similar to the example of FIG. A backlash BL occurs such that the rotation of the portion 130A precedes the rotation of the second portion 130B.
- the force F which produces the moment in the same direction as the rotational drive acts on the distal side link 140B, so unlike the example of FIGS. 4 and 5A, the second portion 130B is different.
- the backlash BL occurs such that the rotation of the first portion 130A precedes the rotation of the first portion 130A.
- FIGS. 6A to 6C are diagrams for describing an example of the influence of backlash in biped walking of a robot. These figures show changes in backlash BL that occur in the crotch roll joints 134L_R and 134R_R when the robot 10 walks in two legs. In addition, illustration is abbreviate
- FIG. 6A shows a state in which the center of gravity is moved to the right before the robot 10 lifts the left leg 105L in bipedal walking.
- the weight of the robot 10 is supported by both the left and right legs 105L and 105R. Therefore, an upward reaction force from the floor acts on the links 146L and 146R (corresponding to the peripheral side link 140B in the example of FIGS. 5A and 5B described above) on the left and right upper thighs, resulting in the roll joint 134L_R.
- 134R_R generate a backlash as illustrated. Specifically, an inner backlash BL IN occurs in the left roll joint portion 134L_R, and an outer backlash BL OUT occurs in the right roll joint portion 134R_R.
- FIG. 6B shows the robot 10 lifting the left leg 105L after the state shown in FIG. 6A.
- the weight of the robot 10 is supported by the right leg 105R. Therefore, an upward reaction force from the floor continues to act on the link 146R on the right upper leg, and an outer backlash BL OUT is generated on the right roll joint portion 134R_R.
- the reaction force from the floor surface no longer acts on the link 146L on the left upper thigh.
- the link 146L constitutes a (diagonal) cantilever with the left roll joint 134L_R as a fulcrum.
- link 146L includes link 146L itself and the distal portion of leg 105L connected to link 146L (ie, knee joint 135L, lower leg link 147L, ankle joint 136L, ankle link 148L, And downward force of gravity acting on the foot portion 106L).
- link 146L includes link 146L itself and the distal portion of leg 105L connected to link 146L (ie, knee joint 135L, lower leg link 147L, ankle joint 136L, ankle link 148L, And downward force of gravity acting on the foot portion 106L).
- the backlash occurring at the left roll joint 134L_R switches from the inner backlash BL IN shown in FIG. 6A to the outer backlash BL OUT .
- FIG. 6C shows a state in which the robot 10 lowers the left leg 105L to the floor surface after the state shown in FIG. 6B.
- the weight of the robot 10 is supported by both the left and right legs 105L and 105R.
- the backlash generated at the left roll joint 134L_R switches from the outer backlash BL OUT to the inner backlash BL IN again, a dead zone is generated in association with the switching.
- FIG. 7 is a view showing an example of a joint structure of a robot according to an embodiment of the present invention.
- the joint structure 160 of the robot 10 includes the joint unit 130 including the first portion 130A and the second portion 130B, the driving force transmission mechanism 154, and the tension spring 161.
- the first portion 130A of the joint 130 is connected to the main body side link 140A
- the second portion 130B is connected to the distal side link 140B. ing.
- the main body side link 140A means a link closer to the main body portion 102 of the robot 10 among the links connected to the joint portion 130.
- the peripheral side link 140B means a link on the side far from the main body portion 102 among the links connected to the joint portion 130.
- the link 145 at the waist corresponds to the main body side link 140A
- the link 146L at the upper thigh corresponds to the peripheral side link 140B.
- the link 146L of the upper leg corresponds to the main body side link 140A
- the link 147L of the lower leg corresponds to the peripheral side link 140B.
- the ankle joint 136L the lower leg link 147L corresponds to the main body side link 140A
- the ankle link 148L corresponds to the peripheral side link 140B.
- the same link may be the main body side link 140A or the distal side link 140B.
- the joint of the left leg 105L has been described above as an example, the same applies to the joint of the right leg 105R.
- the main body side link 140A and the distal side link 140B can be similarly defined for the arm portions 103L and 103R.
- the shoulder link 141L corresponds to the main body side link 140A
- the upper arm link 142L corresponds to the peripheral side link 140B.
- the upper arm link 142L corresponds to the main body side link 140A
- the forearm link 143L corresponds to the distal side link 140B
- the link 143L of the forearm corresponds to the main body side link 140A
- the link 144L of the wrist corresponds to the peripheral side link 140B.
- the same definition is possible for the right arm 103R.
- the distal link 140B is a link that can constitute a cantilever having the joint 130 as a fulcrum.
- the upper thigh link 146L which is the distal link to the crotch joint 134L including the left roll joint 134L_R, constitutes a cantilever having the joint 134L as a fulcrum.
- the link 146L is supported at the first end by the joint 134L, while the knee at the opposite second end
- the lower leg link 147L, the ankle joint 136L, the ankle link 148L, and the foot portion 106L are loaded via the joint portion 135L.
- the lower leg link 147L constitutes a cantilever with the knee joint 135L as a fulcrum.
- the ankle link 148L constitutes a cantilever having the ankle joint 136L as a fulcrum.
- the link 146R on the right upper leg constitutes a cantilever having the crotch joint 134R as a fulcrum
- the lower leg The link 147R of the second embodiment constitutes a cantilever with the knee joint 135R as a fulcrum
- the ankle link 148R constitutes a cantilever with the ankle joint 136R as a fulcrum.
- each link that can be the distal side link 140B as described above is a joint except for the case where the hand 104L and 104R are supported by an object other than the robot 10, for example.
- a cantilever having the portion 130 as a fulcrum is configured.
- the joint unit 130 includes a first portion 130A coupled to the main body side link 140A and a second portion 130B coupled to the distal side link 140B.
- the first portion 130A and the second portion 130B are assembled so as to be relatively rotatable about the rotation axis X directly or through another portion of the joint 130. It is done. This enables relative rotation of the distal link 140B in the joint 130 with respect to the main body link 140A.
- the driving force transmission mechanism 154 is a motor 150 described above with reference to FIG. 3 for the rotational driving force that generates relative rotation of the second portion 130B about the rotational axis X with respect to the first portion 130A.
- the driving force transmission mechanism 154 is illustrated as including a chain or a belt, but may not necessarily include these.
- the driving force transmission mechanism 154 can include various mechanical elements such as gears. Even when the motor 150 is incorporated into the joint 130, an engagement portion of at least one set of mechanical elements constituting the driving force transmission mechanism 154 exists between the motor 150 and the joint 130. Because of the backlash provided in this engagement, events such as those described above with reference to FIGS. 5A and 5B and FIGS. 6A to 6C occur.
- the tension spring 161 included in the joint structure 160 in this embodiment is centered on the rotation axis X in the second portion 130B of the joint 130, ie, relative to the first portion 130A of the second portion 130B. It is an example of a biasing means for providing a rotational biasing force coaxial with the rotation. 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. Since the tension spring 161 is attached in advance between the main body side link 140A and the distal side link 140B, a tensile biasing force is generated to rotate the distal side link 140B to approach the main body side link 140A. Do.
- the tension spring 161 is the main body side link 140A as described above.
- the biasing force exerted on the distal side link 140B provides a rotational biasing force coaxial with the relative rotation of the second portion 130B with respect to the first portion 130A.
- the force F acting on the distal side link 140B to generate a moment in the reverse direction to the rotational drive also acts Regardless, there is a backlash BL such that rotation of the second portion 130B precedes rotation of the first portion 130A.
- the rotation of the second portion 130B also occurs when a force F that causes a moment in the same direction as the rotational drive acts on the distal side link 140B.
- a backlash BL occurs which precedes the rotation of the first portion 130A. That is, in the example shown in FIG. 7, the position of the backlash BL does not change regardless of the direction of the force acting on the distal side link 140B.
- FIGS. 8A and 8B are views for explaining an application example of the joint structure 160 described above with reference to FIG. 7 in the leg portions 105L and 105R of the robot 10 according to an embodiment of the present invention.
- FIG. 8A shows a state similar to that shown above in FIG. 6B, that is, the robot 10 lifting the left leg 105L from the floor in bipedal walking.
- the backlash generated at the left roll joint portion 134L_R in this state is switched from the inner backlash BL IN to the outer backlash BL OUT .
- the left leg 105L is switched from the inner backlash BL IN to the outer backlash BL OUT .
- the inner backlash BL IN continues to occur in the roll joint portion 134L_R even after the rear end is lifted. This is because, in the joint structure 160 including the roll joint portion 134L_R, when the link 146L of the upper thigh constitutes a cantilever having the roll joint portion 134L_R as a fulcrum, a rotational biasing force against the gravity acting on the link 146L is given. , Because the tension spring 161 is attached.
- FIG. 8B shows the same state as that shown above in FIG. 6C, that is, the state in which the robot 10 lowers the left leg 105L to the floor surface.
- unstable backlash BL UNST occurs as the backlash generated at the left roll joint 134L_R switches from the outer backlash BL OUT to the inner backlash BL IN again in this state. did.
- the inner backlash BL IN occurs in the roll joint 134L_R while the left leg 105L is lifted as described above, the left leg 105L is the floor. When it is lowered to the surface, the backlash does not switch again, thus preventing the generation of an unexpected moment or vibration due to the occurrence of unstable backlash BL UNST .
- the tension spring 161 acts on the distal side link 140 B constituting a cantilever with the joint 130 as a fulcrum.
- the tension spring 161 acts on the distal side link 140 B constituting a cantilever with the joint 130 as a fulcrum.
- FIGS. 8A and 8B describes the joint structure 160 including the left roll joint portion 134L_R of the left crotch
- the joint structure including the tension spring 161 is similarly applied to the roll joint portion 136L_R of the left ankle. It is possible to set it as 160.
- the same joint structure 160 is also used for the roll joint 134R_R (and the roll joint 136R_R) included in the right leg 105R to stabilize the operation when the right leg 105R is lifted in biped walking.
- Can. 8A and 8B have been described by way of example of joints for enabling roll rotation between links in the legs 105L and 105R, but the joints for the pitch and yaw rotation can be similarly described above. Structure 160 can be applied.
- which joint of the legs 105L and 105R of the robot 10 the joint structure 160 is to be applied may be determined as follows, for example. For example, in the roll joints of the crotch in the above example, in the biped walking of the robot 10, the timing at which one leg support switches to both legs support (or vice versa) and the timing at which backlash switches at the joints overlap. Because of this, the switching of the backlash may cause the motion of the robot 10 to become unstable. In such joints, the operation of the robot 10 may be stabilized by applying the joint structure 160.
- the joint structure 160 may not need to be applied to joints that are not conducive to conversion, and joints that do not cause backlash switching in the assumed control.
- the robot 10 performs operations other than biped walking, the conditions are different, and when biped walking, the conditions differ depending on what kind of operation of the joint unit is programmed, so the main body side link 140A
- the joint structure 160 described above may be applied to all joints 130 that connect the lower link 140B and the distal link 140B.
- FIG. 9A and 9B are diagrams for explaining an application example of the joint structure 160 described above with reference to FIG. 7 in the left arm portion 103L of the robot 10 according to an embodiment of the present invention.
- FIG. 9A shows a state in which the robot 10 extends the left arm 103L sideways and the palm of the hand 104L is directed upward.
- the wrist link 144L constitutes a cantilever supported by the wrist joint portion 133L.
- the tension spring 161 of the joint structure 160 including the pitch joint portion 133L_P of the joint portion 133L of the wrist applies a rotational biasing force in the same direction as the gravity acting on the link 144L. Therefore, in the pitch joint portion 133L_P, a backlash BL PALM on the palm side (upper side in FIG. 9A) is generated according to the gravity acting on the link 144L.
- FIG. 9B shows a state where the yaw joint 132L_Y of the elbow joint 132L is rotated approximately 180 degrees from the state shown in FIG. 9A.
- the link 144L of the wrist continues to constitute a cantilever supported by the joint portion 133L of the wrist, but as a result of rotating the portion on the end side of the yaw joint portion 132L_Y of the arm portion 103L by 180 degrees, the hand portion The palm of 104L is directed downward unlike the state of FIG. 9A.
- the tension spring 161 exerts a rotational biasing force in a direction against gravity acting on the link 144L. Become.
- the backlash generated at the pitch joint portion 133L_P is maintained at the backlash BL PALM on the palm side (lower side in FIG. 9B).
- the joint structure 160 When the joint structure 160 is applied to the joints of the arms 103L and 103R of the robot 10 as in the above example, for example, even when the direction of gravity applied to the distal link 140B is changed by the operation of the other joints.
- the backlash can not be switched at the joint 130.
- the positions of the hand portions 104L and 104R can be controlled with high accuracy, and the hand portions 104L and 104R grip other objects or move other objects. The accuracy of the operation of the robot 10 can be improved.
- the tension spring 161 of the joint structure 160 always rotates against the gravity acting on the distal link 140B while the distal link 140B constitutes a cantilever with the joint 130 as a fulcrum. It does not necessarily give a biasing force.
- the tension spring 161 acts on the force of gravity in a particular direction acting on the distal link 140B. May be configured to provide a rotational biasing force that opposes. In this case, while the gravity acting on the distal side link 140B is not in the specific direction, the tension spring 161 may apply a rotational biasing force in the same direction as the gravity acting on the distal side link 140B.
- FIG. 10A and 10B are diagrams showing a modification of the joint structure of the robot according to the embodiment of the present invention described above with reference to FIG.
- the joint structure 160A according to the modification shown in FIG. 10A includes a connecting member 162A connected to the first portion 130A of the joint 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 connecting member 162A and the distal side link 140B in a state of being stretched in advance, so that a tensile biasing force is generated to rotate the distal side link 140B to approach the connecting member 162A.
- the tension spring 161A is connected to the connecting member 162A and the distal side link 140B and the tension spring 161A is connected to the connecting member 162A and The biasing force applied to the distal link 140B provides a rotational biasing force coaxial with the relative rotation of the second portion 130B relative to the first portion 130A.
- one end of the tension spring 161A is connected not to the main body side link 140A but to the first portion 130A. It is connected to the member 162A.
- both ends of the tension spring 161A may be connected to the main body side link 140A and the distal side link 140B as long as the second portion 130B is consequently provided with the rotational biasing force, and the first portion 130A Alternatively, it may be connected to a connecting member connected to the second portion 130B, or may be directly connected to the first portion 130A or the second portion 130B.
- the tension spring 161 extends along an arc centered on the rotation axis X (for example, using a spring guide not shown), but in the modification shown in FIG. 10A
- the tension spring 161A extends in a straight line.
- the tension spring 161A may not be disposed so as to generate a rotational biasing force about the rotation axis X itself.
- the tension spring 161A is assembled such that the first portion 130A and the second portion 130B of the joint portion 130 can be relatively rotated around the rotation axis X.
- You may give a power.
- the solenoid actuator 163B is attached to the connecting member 162A, and the tension spring 161A is connected to the solenoid actuator 163B. ing.
- the solenoid actuator 163B stretches or contracts the tension spring 161A, which is an elastic body constituting the biasing means, by operating with a predetermined stroke in a tangential direction of a circle centered on the rotation axis X.
- the length of the tension spring 161A and the position of the connecting member 162A are given a linear biasing force that can resist the force F acting on the distal side link 140B when the solenoid actuator 163B extends the tension spring 161A, and the solenoid actuator 163B When the tension spring 161A is contracted, it is set such that a linear biasing force that can resist the force F acting on the distal side link 140B is not applied.
- the solenoid actuator 163B is in the first state in which the tension spring 161A applies a sufficient rotational biasing force to the second portion 130B of the joint 130, and the tension spring 161A is in the second portion 130B. It functions as a switching means for switching to the second state in which a sufficient rotational biasing force is not applied.
- the position of the backlash BL in the joint unit 130 is determined by the biasing force of the tension spring 161A regardless of the direction of the force F acting on the distal side link 140B.
- the position of the backlash BL in the joint 130 is determined by the direction of the force F acting on the distal link 140B.
- the switching means included in the joint structure 160B is not limited to the solenoid actuator, and may be another type of linear actuator capable of extending or contracting the tension spring 161A.
- the switching means may be a rotary actuator capable of extending or contracting the tension spring 161A by winding up a wire or a belt connected to the tension spring 161A.
- other biasing means may be used instead of the tension spring 161A, but also in this case, when the biasing means is an elastic body, the elastic body is extended or elongated like the solenoid actuator 163B described above.
- a mechanism for contracting can be used as the switching means.
- the joint structure 160B as described above, for example, while the robot 10 is supported by one foot in the biped example as described above with reference to FIGS. 8A and 8B (ie, the legs While applying lift force to the roll joints 134L_R and 134R_R while either 105L or 105R is being lifted), while applying a rotational bias force while the robot 10 is supported by both legs, May be While the robot 10 is supported by both legs, there is a relatively low possibility that the operation of the robot 10 becomes unstable even if backlash switching occurs in the joint.
- the switching means in the critical scene in the operation of the robot 10, the first state is selected to stabilize the operation of the robot 10 by the rotation biasing force, while in the other scenes, the second state is selected.
- the rotation biasing force may not have an unexpected effect on the operation of the robot 10 by selecting the state of.
- the tension spring 161 (or the tension spring 161A) is an example of an urging means for applying a rotational biasing force to the second portion 130B of the joint unit 130, and the concrete Can be various springs such as coil springs and spiral springs, or elastic bodies such as rubber bands.
- the rotational biasing force is applied to the second portion 130B by the tensile biasing force generated by the tension spring 161, but if, for example, the position of the tension spring 161 with respect to the distal side link 140B is reversed, the tension spring 161 Can be applied to the second portion 130B by the biasing force of the compression generated.
- the potentiometer 155 described above with reference to FIG. 3 is a sensor that detects the relative rotation generated between the two links connected to the joint 130.
- the output voltage of the potentiometer 155 changes in accordance with the rotation angle of the portion of the joint unit 130 to which the potentiometer 155 is attached (for example, the second portion 130B described above with reference to FIGS. 5A and 5B and the like).
- the control device 110 of the robot 10 recognizes the actual rotation angle at the joint 130 by the digital signal based on the output voltage.
- FIG. 11 is a graph for explaining an example of calibration of a potentiometer.
- the rotation angle ⁇ of the joint 130 to which the potentiometer 155 is attached is shown on the horizontal axis
- the output voltage V of the potentiometer 155 is shown on the vertical axis.
- the output voltage V changes according to the function f ( ⁇ ) 0 with respect to the rotation angle ⁇ . Since the function f ( ⁇ ) 0 fluctuates due to the individual difference of the potentiometer 155 or the like, calibration of the potentiometer 155 is required to convert the output voltage V into the rotation angle ⁇ .
- the function f ( ⁇ ) 1 is obtained by approximating the relationship of The function f ( ⁇ ) 1 in the illustrated example is an approximate straight line determined based on the point ( ⁇ 1 , V 1 ), the point ( ⁇ 2 , V 2 ), and the point ( ⁇ 3 , V 3 ) is there.
- this function f ⁇ 1 (V) 1 is also referred to as a conversion function obtained by calibration of the potentiometer 155.
- the function f ( ⁇ ) 0 indicating the original output voltage V of the potentiometer 155 with respect to the rotation angle ⁇ is not necessarily a linear function. Therefore, for example, 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, between the rotation angle ⁇ X and the rotation angle ⁇ Y In the example illustrated as a range of v), a larger difference V DIFF may be generated between the original function f ( ⁇ ) 0 and the function f ( ⁇ ) 1 .
- the operation of the robot 10 includes an unexpected moment, for example, as a scene of switching between two-leg support and one-leg support in biped walking.
- a scene is also referred to as a critical scene in the operation of the robot 10 in the following description.
- V DIFF as shown in FIG. 11
- the estimated value of the rotation angle ⁇ used by the control device 110 to control the robot 10 is not accurate. May result in a fall or other consequences.
- the control device 110 compares the target value of the rotational angle of the motor 150 input to the servo circuit 151 with the rotational angle ⁇ detected by the potentiometer 155 to obtain a joint.
- the difference between the ideal value of the rotation angle of the unit 130 and the actually generated rotation angle ⁇ is extracted. If this difference is large, the controller 110 inputs an additional target value for compensating 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 backlash generated by the driving force transmission mechanism 154 for transmitting the rotational driving force from the motor 150 to the joint unit 130.
- the rotation angle ⁇ used by the controller 110 to control the robot 10 is an estimated value converted from the output voltage V using the conversion function f ⁇ 1 (V) 1 . Therefore, if the estimated value of the rotation angle ⁇ is not accurate due to, for example, the difference V DIFF shown in FIG. 11, the additional target value which is originally necessary may not be input, or the additional target value which is not originally necessary may be There is a possibility that the operation of the robot 10 is not properly controlled by the input.
- control device 110 moves to the posture and inclination of robot 10 and the floor surfaces of foot portions 106L and 106R through the sensors such as IMU 125 and ground confirmation sensors 126L and 126R described above with reference to FIG. It is also possible to recognize conditions such as contact of For example, detection values of these sensors may be used to appropriately control the operation of the robot 10 in critical scenes as described above. For example, during one-leg support in biped walking, the difference V shown in FIG. 11 is obtained by controlling the rotation angle ⁇ of the joint unit 130 while constantly checking the posture of the robot 10 with reference to the detection value of the IMU 125. The motion of the robot 10 can be appropriately controlled without being affected by DIFF .
- FIG. 12 is a graph for explaining the application of the offset value to the calibration result of the potentiometer in one embodiment of the present invention.
- the function f ( ⁇ ) 1 in order to convert the output voltage V of the potentiometer 155 into the rotation angle ⁇ in the range between the rotation angle ⁇ X and the rotation angle ⁇ Y , the function f ( ⁇ ) 1
- the function f ( ⁇ ) 2 obtained by adding the offset value V OFFSET to the value is used.
- the offset value V OFFSET compensates for the difference between the function f ( ⁇ ) 0 and the function f ( ⁇ ) 2 in the range between the rotation angle ⁇ X and the rotation angle ⁇ Y.
- the conversion function in this range is obtained by applying the offset value V OFFSET
- the control device 110 recognizes the correct rotation angle ⁇ in this range, and the robot Ten operations can be controlled more appropriately.
- the offset value V OFFSET is limitedly applied in the range between the rotation angle ⁇ X and the rotation angle ⁇ Y.
- the original function f ( ⁇ ) 1 and the conversion function f ⁇ 1 (V) 1 are used at rotation angles ⁇ other than the range between the rotation angle ⁇ X and the rotation angle ⁇ Y .
- the rotation angle ⁇ X and the rotation angle ⁇ Y may not necessarily be detected directly.
- the offset value V OFFSET is limitedly applied in the range between the rotation angle ⁇ X and the rotation angle ⁇ Y.
- applying the offset value V OFFSET in a specific range of the rotation angle ⁇ in a limited manner is equivalent to applying the offset value V OFFSET in a critical scene of the operation of the robot 10 in a critical manner.
- the conversion function f ⁇ 1 (V) 2 is not replaced by the conversion function f ⁇ 1 (V) 1 but the conversion function f ⁇ 1 (V) 1 is used.
- the offset value V OFFSET By applying the offset value V OFFSET and setting it as the function f -1 (V + V OFFSET ) 1 equivalent to the conversion function f -1 (V) 2 , accurate recognition of the rotation angle ⁇ based on the output voltage V of the potentiometer 155 It is possible.
- the offset value V OFFSET is limitedly applied in critical scenes in the operation of the robot 10, or different offset values V OFFSET in critical scenes in a plurality of operations of the robot 10 are used. It is advantageous to apply or to update the offset value V OFFSET in response to changes in the function f ( ⁇ ) 0 due to aging of the potentiometer 155 or the surrounding environment.
- FIG. 13 is a flow chart showing an example of a specific procedure of setting and application of the offset value in the embodiment of the present invention. In the illustrated process, it is assumed that the conversion function f ⁇ 1 (V) 1 is determined in advance by a separate calibration process.
- the CPU 111 starts a biped walking operation of the robot 10 (step S101).
- the CPU 111 controls the motor 150 that rotationally drives the joint unit 130 of each part of the robot 10 according to the control pattern of biped walking read from the ROM 113 or the external memory 114.
- the CPU 111 converts the output voltage V of the potentiometer 155 into an estimated value of the rotation angle ⁇ according to the conversion function f ⁇ 1 (V) 1 .
- the grounding confirmation sensors 126L and 126R detect that one of the foot portions 106L and 106R of the robot 10 is not in contact with the floor surface, that is, the robot 10 is in a single-leg supporting state (step S102)
- the CPU 111 executes the setting procedure of the offset value VOFFSET .
- the CPU 111 recognizes the posture of the robot 10 with reference to the detection result of the IMU 125 (step S104), and the difference between the actual posture of the robot 10 and the ideal posture (for example, for the ideal posture)
- the offset value VOFFSET is determined based on the inclination angle of the actual posture (step S105).
- the ideal posture of the robot 10 in biped walking may be, for example, a posture in which the main body 102 is horizontal.
- the CPU 111 does not apply the offset value V OFFSET, and according to the estimated value of the rotation angle ⁇ converted from the output voltage V using the conversion function f ⁇ 1 (V) 1 It controls bipedal movement.
- the difference between the rotation angle ⁇ also results in the control, that is, between the actual posture of the robot 10 and the ideal posture. A corresponding difference occurs. Therefore, in step S105, the CPU 111 determines the offset value V OFFSET based on the difference between the actual attitude of the robot 10 and the ideal attitude.
- the difference between the actually generated rotation angle ⁇ and the recognition result is compensated, and the control of the CPU 111 as described above enables the robot 10 to maintain an appropriate posture.
- the CPU 111 converts the inclination of the actual posture with respect to the appropriate posture into rotations (pitch rotation, roll rotation, and yaw rotation) at the joints of the legs 105L and 105R, and thereby each joint
- An offset value V OFFSET for the rotation angle ⁇ of the part is calculated.
- the CPU 111 converts the output voltage V into an estimated value of the rotation angle ⁇ .
- the offset value V OFFSET is applied (step S106). Specifically, the CPU 111 applies the offset value V OFFSET to the conversion function f -1 (V) 1 to obtain the function f -1 (V + V OFFSET ) 1 , and then the output voltage V is an estimated value of the rotation angle ⁇ Convert to As a result, the estimated value of the rotation angle ⁇ approaches the actual rotation angle ⁇ , and the CPU 111 can more appropriately control the biped walking motion of the robot 10.
- step S102 when the contact confirmation sensors 126L and 126R detect that the robot 10 is not in the one-leg supporting state, ie, in the both-leg supporting state, the CPU 111 applies the offset value V OFFSET The output voltage V is converted into the rotation angle ⁇ according to the conversion function f ⁇ 1 (V) 1 (step S 107). Thereafter, the above process is repeated until the CPU 111 ends the biped walking motion of the robot 10 (step S108).
- the CPU 111 performs the offset procedure by periodically executing the setting procedure of the offset value V OFFSET
- the value V OFFSET may be updated at predetermined intervals.
- the setting procedure of the offset value V OFFSET is easier than, for example, the procedure of re-calibrating the potentiometer 155 to redefine the function f ( ⁇ ) 1 and can be performed in the normal operation of the robot 10 . Therefore, for example, when the robot 10 is used at the end user's hand for a long time, accurate operation of the robot 10 can be maintained without increasing maintenance.
- FIG. 14 is a graph for explaining an example of selectively applying a plurality of offset values to the calibration result of the potentiometer in the embodiment of the present invention.
- the value of the function f ( ⁇ ) 1 is added to the function f ( ⁇ ) 2 obtained by adding the first offset value V OFFSET 1 to the value of the function f ( ⁇ ) 1 and the second offset value
- the function f ( ⁇ ) 3 with V OFFSET2 added is shown.
- the first offset value V OFFSET1 has a function f ( ⁇ ) 0 in the range between the rotation angle ⁇ X and the rotation angle ⁇ Y , similarly to the offset value V OFFSET shown above in FIG.
- the second offset value V OFFSET2 compensates for the difference between the function f ( ⁇ ) 0 and the function f ( ⁇ ) 3 in the range between different rotational angle theta Z and the rotation angle theta W from the above.
- the range between the rotational angle theta Z and the rotation angle theta W is, different from the range between the rotation angle theta X and the rotation angle theta Y, the rotation angle of the critical situations in the operation of the robot 10 theta
- the conversion function f ⁇ 1 (V) 1 is used in this range by applying the second offset value V OFFSET2 , the difference between the estimated value of the rotation angle ⁇ and the actual rotation angle ⁇ is As a result of being compensated, the controller 110 recognizes the correct rotation angle ⁇ in this range, and can control the operation of the robot 10 more appropriately.
- the range between the rotation angle ⁇ X and the rotation angle ⁇ Y is a critical scene in the first operation of the robot 10, for example, the rotation angle ⁇ in the scene of one leg support in biped walking.
- the range between the rotation angle ⁇ Z and the rotation angle ⁇ W is the rotation angle ⁇ at the critical scene in the second motion of the robot 10, for example, the scene after the robot 10 is seated or fallen. It may be in the range of
- the CPU 111 selects a pattern corresponding to the operation determined from the control pattern stored in the ROM 113 or the external memory 114, and executes control of the robot 10 according to the selected pattern.
- the first motion biped and the second motion rising can be identified based on the control pattern being selected.
- the CPU 111 determines a specific range of the rotation angle ⁇ (specifically, in the case of the first offset value V OFFSET1 , rotation
- the offset value is limitedly applied in the range between the angle ⁇ X and the rotation angle ⁇ Y, and in the case of the second offset value V OFFSET 2, the range between the rotation angle ⁇ Z and the rotation angle ⁇ W )
- a specific control pattern in the above specific example, the biped walking pattern and the rising pattern are selected
- the entire rotation angle ⁇ is obtained.
- the first offset value V OFFSET1 or the second offset value V OFFSET2 may be applied in the range.
- FIG. 15 is a flow chart illustrating an example of a specific procedure for selectively applying a plurality of offset values in an embodiment of the present invention.
- the first second offset value V OFFSET2 for offset value V OFFSETl, and rising for bipedalism, setting procedure as illustrated in FIG. 13 above are performed for each Are determined in advance and stored in the ROM 113 or the external memory 114.
- the process of recognizing the rotation angle ⁇ of the joint unit 130 after applying each offset value is also similar to the process illustrated in FIG.
- the CPU 111 applies a first offset value V OFFSET1 (step S112).
- the CPU 111 recognizes the rotation angle ⁇ from the output voltage V of the potentiometer 155 according to the function f ( ⁇ ) 2 to which the first offset value V OFFSET1 is applied.
- the CPU 111 applies the second offset value VOFFSET2 (step S114).
- the CPU 111 recognizes the rotation angle ⁇ from the output voltage V of the potentiometer 155 in accordance with the function f ( ⁇ ) 3 to which the second offset value V OFFSET2 is applied.
- the CPU 111 selects the potentiometer according to the function f ( ⁇ ) 1 to which the offset value is not applied.
- the rotation angle ⁇ is recognized from the output voltage V of 155.
- the CPU 111 accurately recognizes the rotation angle ⁇ in a critical scene in a plurality of operations of the robot 10 by selectively applying the plurality of offset values, and the ideal value of the rotation angle It is possible to appropriately control the operation of the robot 10 with relatively simple control that compensates for the difference between the rotation angle ⁇ and the rotation angle ⁇ that is actually generated.
- the motion of the robot 10 is exemplified by the motion of biped walking and the motion of rising from a state in which the robot 10 is seated or turned over, but the present invention is not limited to such an example.
- the critical scenes in each operation are not limited to the examples described above.
- a critical scene in bipedal walking may be defined as a scene in which ZMP is on the boundary of the stable region.
- the above example is mainly an example in which the rotation angle at the joint of the legs 105L and 105R and the legs 106L and 106R affects the result of the operation of the robot 10.
- the arms 103L and 103R and the hand 104L , 104R may affect the result of the motion of the robot 10.
- the motion of the robot 10 includes the first motion (biped walking) and the second motion (rising), and the offset value in the first motion is
- the first offset value (V OFFSET1 ) corresponding to the critical scene and the second offset value (V OFFSET2 ) corresponding to the critical scene in the second operation are included, in the operation and operation of the robot 10
- the relationship between the critical scene and the offset value is not limited to such an example.
- there are a first critical scene and a second critical scene there are a first critical scene and a second critical scene, and the first offset value and the second offset value corresponding to each critical scene are set. It may be done.
- the offset value V OFFSET is applied to the result of the calibration of the potentiometer 155 which is a sensor for detecting the rotation angle ⁇ of the joint unit 130 of the robot 10
- the present invention may be applied to a sensor that detects other state quantities of.
- the relationship between the state quantity detected by the sensor and the detection value of the sensor is not necessarily linear, and therefore calibration is necessary to convert the detected value into an estimated value of the state quantity
- the exemplary embodiments of the present invention have been described above.
- the configurations of the embodiments described above can be implemented independently of one another or in combination.
- the joint structure as described with reference to FIG. 7 can be implemented independently of the application of the offset value described with reference to FIG.
- the application in the legs 105L and 105R of the robot 10 as shown in FIGS. 8A and 8B and the application in the arms 103L and 103R of the robot 10 as shown in FIGS. 9A and 9B Or both may be implemented.
- the joint unit 130 of the robot 10 is described generically or by exemplifying a part of joint units (for example, the roll joint unit 134L_R of the crotch), but the operation of the robot 10 and the operation thereof Depending on the control to achieve the above, structures or controls as described can be applied at each joint of the robot 10 as described with reference to FIG.
- the joint configuration of the robot 10 shown in FIG. 1 is an example, and various other joint configurations are possible.
- a robot according to another embodiment of the present invention is not limited to a humanoid robot such as the robot 10 shown in FIG. 1, but has a joint and the joint is affected by backlash. It may be various types of robots in which there is a critical scene in the operation realized by the control of the unit.
- CPU 113: ROM, 114: external memory, 115: bus interface, 116: conversion function, 117: offset value, 130: joint portion, 130A: first portion, 130B: second portion, 140A: main body side link, 140B: Peripheral link, 150: Motor, 151: Servo circuit, 152: Driver, 153: Encoder, 154: Drive force transmission mechanism, 155: Potentiometer, 156: A / D conversion circuit, 160: Joint structure, 161, 161A ... tension spring, 162A ... connection member, 163B ... solenoid actuator.
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Human Computer Interaction (AREA)
- Manipulator (AREA)
Abstract
本発明のある観点によれば、ロボットの制御装置が提供される。制御装置は、ロボットの状態量を検出するセンサの検出値を示す信号を取得する機能と、センサのキャリブレーションによって得られる変換関数に従って検出値を状態量の推定値に変換するにあたり、ロボットの動作におけるクリティカルな場面における推定値と実際の状態量との差分を補償するオフセット値を適用する機能とを実現するプロセッサを含む。
Description
本発明は、ロボットの制御装置、制御方法および制御プログラムに関する。
ロボットの制御においては、ロボットの状態量を検出するための様々なセンサが用いられる。これらのセンサによって検出された状態量は、例えばロボットの制御装置に入力され、制御装置は状態量に応じてロボットの動作を制御する。
例えば、特許文献1には、駆動用のモータと、モータの回転速度を減速して伝達する減速機構と、減速機構の最終回転軸に結合されている出力軸と、出力軸の回転角度を検出するポテンショメータとを含むロボット用サーボユニットが記載されている。ポテンショメータは、例えばロボットの関節部における回転角度を検出するために一般的に用いられるセンサである。
しかしながら、ポテンショメータのようなセンサでは、例えば検出値を示す信号が状態量に線形に対応しないために、キャリブレーションを行い、その結果に基づいて検出値を示す信号を状態量に変換する必要がある。キャリブレーションの仕方、およびキャリブレーションの結果に基づく変換の仕方によっては、検出値を示す信号が正確な状態量に変換されず、ロボットの動作を適切に制御することが困難になる可能性がある。
そこで、本発明は、キャリブレーションを必要とするセンサの検出値をロボットの状態量に変換するにあたり、ロボットの動作に応じた効果的な仕方で検出値を正確な状態量に変換することを可能にする、新規かつ改良されたロボットの制御装置、制御方法および制御プログラムを提供することを目的とする。
本発明のある観点によれば、ロボットの制御装置が提供される。制御装置は、ロボットの状態量を検出するセンサの検出値を示す信号を取得する機能と、センサのキャリブレーションによって得られる変換関数に従って検出値を状態量の推定値に変換するにあたり、ロボットの動作におけるクリティカルな場面における推定値と実際の状態量との差分を補償するオフセット値を適用する機能とを実現するプロセッサを含む。
本発明の別の観点によれば、ロボットの制御方法が提供される。制御方法は、ロボットの状態量を検出するセンサの検出値を示す信号を取得するステップと、ロボットが備えるプロセッサが、センサのキャリブレーションによって得られる変換関数に従って検出値を状態量の推定値に変換するにあたり、ロボットの動作におけるクリティカルな場面における推定値と実際の状態量との差分を補償するオフセット値を適用するステップとを含む。
本発明のさらに別の観点によれば、ロボットの制御プログラムが提供される。制御プログラムは、ロボットの状態量を検出するセンサの検出値を示す信号を取得する機能と、センサのキャリブレーションによって得られる変換関数に従って検出値を状態量の推定値に変換するにあたり、ロボットの動作におけるクリティカルな場面における推定値と実際の状態量との差分を補償するオフセット値を適用する機能とをロボットが有するプロセッサに実現させる。
上記のような本発明の構成によれば、キャリブレーションを必要とするセンサの検出値をロボットの状態量に変換するにあたり、ロボットの動作に応じた効果的な仕方で検出値を正確な状態量に変換することができる。
以下、添付図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
(ロボットの関節構成)
図1は、本発明の一実施形態に係るロボットの関節構成を示す例示的な図である。図1を参照すると、本発明の例示的な一実施形態に係るロボット10は、頭部101と、本体部102と、一対の腕部103L,103Rと、一対の手部104L,104Rと、一対の脚部105L,105Rと、一対の足部106L,106Rとを含む。これらの各部分は、関節部と、関節部に連結されたリンクとを含む。リンクが関節部を中心にして相対的に回転することによって、ロボット10の各種の動作が実現される。
図1は、本発明の一実施形態に係るロボットの関節構成を示す例示的な図である。図1を参照すると、本発明の例示的な一実施形態に係るロボット10は、頭部101と、本体部102と、一対の腕部103L,103Rと、一対の手部104L,104Rと、一対の脚部105L,105Rと、一対の足部106L,106Rとを含む。これらの各部分は、関節部と、関節部に連結されたリンクとを含む。リンクが関節部を中心にして相対的に回転することによって、ロボット10の各種の動作が実現される。
図示された例において、左の腕部103Lは、肩の関節部131Lと、肘の関節部132Lと、手首の関節部133Lとを含む。肩の関節部131Lは、本体部102に連結された肩のリンク141Lと、上腕のリンク142Lとの間にあり、リンク142Lのリンク141Lに対する相対的な回転を可能にする。より具体的には、関節部131Lは、ピッチ回転を可能にするピッチ関節部131L_Pと、ロール回転を可能にするロール関節部131L_Rと、ヨー回転を可能にするヨー関節部131L_Yとを含む。なお、本明細書において、回転軸(ピッチ、ロール、およびヨー)は、ロボット10が直立姿勢である場合を基準として定義されている。このような関節部131Lの構造によって、上腕のリンク142Lは、肩のリンク141Lに対して各方向で回転することができる。
同様に、肘の関節部132Lは、上腕のリンク142Lと、前腕のリンク143Lとの間にあり、ピッチ回転を可能にするピッチ関節部132L_Pと、ヨー回転を可能にするヨー関節部132L_Yとを含む。このような関節部132Lの構造によって、前腕のリンク143Lは、上腕のリンク142Lに対してピッチ方向およびヨー方向で回転することができる。また、手首の関節部133Lは、前腕のリンク143Lと、手部104Lに連結された手首のリンク144Lとの間にあり、ロール回転を可能にするロール関節部133L_Rと、ピッチ回転を可能にするピッチ関節部133L_Pとを含む。このような関節部133Lの構造によって、手首のリンク144Lは、前腕のリンク143Lに対してロール方向およびピッチ方向で回転することができる。
また、図示された例において、左の脚部105Lは、股の関節部134Lと、膝の関節部135Lと、足首の関節部136Lとを含む。股の関節部134Lは、本体部102に連結された腰のリンク145と、上腿のリンク146Lとの間にあり、リンク146Lのリンク145に対する相対的な回転を可能にする。より具体的には、関節部134Lは、ヨー回転を可能にするヨー関節部134L_Yと、ロール回転を可能にするロール関節部134L_Rと、ピッチ回転を可能にするピッチ関節部134L_Pとを含む。このような関節部134Lの構造によって、上腿のリンク146Lは、腰のリンク145に対して各方向で回転することができる。
同様に、膝の関節部135Lは、上腿のリンク146Lと、下腿のリンク147Lとの間にあり、ピッチ回転を可能にするピッチ関節部135L_Pを含む。このような関節部135Lの構造によって、下腿のリンク147Lは、上腿のリンク146Lに対してピッチ方向で回転することができる。また、足首の関節部136Lは、下腿のリンク147Lと、足部106Lに連結された足首のリンク148Lとの間にあり、ピッチ回転を可能にするピッチ関節部136L_Pと、ロール関節部を可能にするロール関節部136L_Rとを含む。このような関節部136Lの構造によって、足首のリンク148Lは、下腿のリンク147Lに対してピッチ方向およびロール方向で回転することができる。
なお、図示された例において、右の腕部103Rおよび右の脚部105Rの構成は、上述した左の腕部103Lおよび左の脚部105Lの構成と同様であるため、重複した説明は省略する。すなわち、右の腕部103Rは、肩のリンク141Rに連結された肩の関節部131Rと、肩の関節部131Rに連結された上腕のリンク142Rと、上腕のリンク142Rに連結された肘の関節部132Rと、肘の関節部132Rに連結された前腕のリンク143Rと、前腕のリンク143Rに連結された手首の関節部133Rと、手首の関節部133Rおよび手部104Rに連結された手首のリンク144Rとを含む。右の脚部105Rは、腰のリンク145に連結された股の関節部134Rと、股の関節部134Rに連結された上腿のリンク146Rと、上腿のリンク146Rに連結された膝の関節部135Rと、膝の関節部135Rに連結された下腿のリンク147Rと、下腿のリンク147Rに連結された足首の関節部136Rと、足首の関節部136Rおよび足部106Rに連結された足首のリンク148Rとを含む。
(ロボットのハードウェア構成)
図2は、本発明の一実施形態に係るロボットのハードウェア構成を示す例示的な図である。図2を参照すると、ロボット10は、本体部102に搭載される制御装置110を有する。制御装置110は、演算処理を実行するCPU(Central Processing Unit)111、RAM(Random Access Memory)112、ROM(Read Only Memory)113、および外部メモリ114などを含む。制御装置110は、カメラ121が生成した画像データ、マイクロフォン122が生成した音声データ、または通信インターフェース124が受信したコマンド信号などに応じてロボット10の動作を決定する。カメラ121、マイクロフォン122、および通信インターフェース124は、バスインターフェース115を介して制御装置110に接続される。
図2は、本発明の一実施形態に係るロボットのハードウェア構成を示す例示的な図である。図2を参照すると、ロボット10は、本体部102に搭載される制御装置110を有する。制御装置110は、演算処理を実行するCPU(Central Processing Unit)111、RAM(Random Access Memory)112、ROM(Read Only Memory)113、および外部メモリ114などを含む。制御装置110は、カメラ121が生成した画像データ、マイクロフォン122が生成した音声データ、または通信インターフェース124が受信したコマンド信号などに応じてロボット10の動作を決定する。カメラ121、マイクロフォン122、および通信インターフェース124は、バスインターフェース115を介して制御装置110に接続される。
ここで、画像入力装置の例であるカメラ121は、撮像素子、レンズ、および画像処理回路を含み、ロボット10の周囲の像をキャプチャした画像データを生成する。音声入力装置の例であるマイクロフォン122は、ロボットの周囲の音をキャプチャした音声データを生成する。通信インターフェース124は、外部装置との間で有線または無線の通信を実行し、各種の信号およびデータを送受信する。具体的には、通信インターフェース124は、ロボット10のリモートコントローラとして機能する端末装置、例えばスマートフォン、タブレット、または専用のコントローラとの間で、Bluetooth(登録商標)、無線LAN(Local Area Network)、または赤外線などを用いた無線通信によって信号を送受信してもよい。また、通信インターフェース124は、外部装置を介してネットワークに接続され、ネットワーク上のサーバとの間で信号を送受信してもよい。
また、制御装置110は、決定された動作が実行されるように、ロボット10の各部を制御する。具体的には、制御装置110は、決定された動作が実行されるように、腕部103L,103R、手部104L,104R、および脚部105L,105Rの関節部を回転駆動するモータ150を制御する。図示されていないが、頭部101、本体部102、および足部106L,106Rにもモータ150によって駆動される関節部が設けられてもよい。このとき、制御装置110は、距離計測センサ(図示せず)、慣性計測装置(IMU:Inertial Measurement Unit)125、接地確認センサ126L,126R、荷重センサ(図示せず)、電源制御装置127の検出値を必要に応じて参照する。また、制御装置110は、決定された動作が実行されるように、スピーカ123に音声データを提供したり、通信インターフェース124から外部装置にコマンド信号を送信させたりしてもよい。スピーカ123、通信インターフェース124、モータ150、距離計測センサ、IMU125、接地確認センサ126L,126R、荷重センサ、および電源制御装置127は、バスインターフェース115を介して制御装置110に接続される。
ここで、距離計測センサは、ロボット10の周囲にある物体までの距離を検出する。IMU125は、本体部102の姿勢および傾斜を検出する。接地確認センサ126L,126Rは、足部106L,106Rの床面への接触を検出する。荷重センサは、足部106L,106Rのそれぞれに作用する荷重を検出する。電源制御装置127は、バッテリーなどの電源を管理するために用いられ、電源の残量を検出する。
例えば、制御装置110のCPU111は、ROM113または外部メモリ114に格納された制御パターンから決定された動作に対応するパターンを選択し、選択されたパターンに従って足部運動、ZMP(Zero Moment Point)軌道、体幹運動、上肢運動、腰部水平位置および高さなどを設定し、これらの設定値に従ってモータ150を制御する。このとき、CPU111は、上記のようなセンサなどの検出値に応じて、モータ150を適応的に制御してもよい。
(関節部を駆動するための構成)
図3は、本発明の一実施形態に係るロボットの関節部を駆動するための構成を示す例示的なブロック図である。図3を参照すると、ロボット10は、関節部130(以下、図1に示したようなロボット10の関節部を総称して関節部130ともいう)を駆動するための構成として、制御装置110およびモータ150に加えて、サーボ回路151と、ドライバ152と、エンコーダ153と、駆動力伝達機構154と、ポテンショメータ155と、A/D変換回路156とを含む。制御装置110は、モータ150の回転角度の目標値をサーボ回路151に入力する。サーボ回路151は、ドライバ152に制御信号を入力することによってモータ150を駆動するとともに、モータ150の回転に伴ってエンコーダ153から出力されるパルス信号に基づいてモータ150の回転角度を検出し、回転角度が目標値に到達するようにドライバ152に入力する制御信号を調節する。
図3は、本発明の一実施形態に係るロボットの関節部を駆動するための構成を示す例示的なブロック図である。図3を参照すると、ロボット10は、関節部130(以下、図1に示したようなロボット10の関節部を総称して関節部130ともいう)を駆動するための構成として、制御装置110およびモータ150に加えて、サーボ回路151と、ドライバ152と、エンコーダ153と、駆動力伝達機構154と、ポテンショメータ155と、A/D変換回路156とを含む。制御装置110は、モータ150の回転角度の目標値をサーボ回路151に入力する。サーボ回路151は、ドライバ152に制御信号を入力することによってモータ150を駆動するとともに、モータ150の回転に伴ってエンコーダ153から出力されるパルス信号に基づいてモータ150の回転角度を検出し、回転角度が目標値に到達するようにドライバ152に入力する制御信号を調節する。
モータ150の回転駆動力は、駆動力伝達機構154によって関節部130に伝達される。これによって、関節部130に連結された2つのリンク(例えば、図1に示された股の関節部134Lの場合、腰のリンク145および上腿のリンク146L)の間に相対的な回転が発生する。ポテンショメータ155は、この相対的な回転を検出するように、関節部130に取り付けられている。従って、上記の相対的な回転が発生した場合、回転角度に応じてポテンショメータ155の出力電圧が変化する。制御装置110は、A/D変換回路156がこの出力電圧に基づいて生成したデジタル信号を取得する。
制御装置110では、CPU111が、A/D変換回路156から入力された信号に基づいて、ポテンショメータ155が検出した回転角度を算出する。このとき、CPU111は、ROM113または外部メモリ114に格納された変換関数116を参照する。さらに、必要に応じて、CPU111は、ROM113または外部メモリ114に変換関数116とは別に格納されたオフセット値117を参照する。なお、変換関数116およびオフセット値117の詳細については後述する。制御装置110がサーボ回路151に入力したモータ150の回転角度の目標値と、ポテンショメータ155が検出した回転角度の算出結果とを比較することによって、関節部130の回転角度の理想値(例えば、ロボット10が所定の動作を実行するために必要とされる回転角度)と実際に発生している回転角度との差分を抽出することができる。例えば、差分が大きい場合、制御装置110は、差分を補償するための追加の目標値をサーボ回路151に入力する。
なお、本実施形態に係るロボット10では、必ずしもすべての関節部130においてポテンショメータ155による回転角度のフィードバックが行われなくてもよく、少なくとも一部の関節部にポテンショメータ155およびA/D変換回路156が取り付けられなくてもよい。また、ポテンショメータ155で実際の回転角度を検出する代わりに、図2に示したIMU125のような他のセンサの検出値からロボット10の姿勢および傾斜を検出することによって、回転角度の理想値と実際に発生している回転角度との差分を推定してもよい。
(関節構造におけるバックラッシュ)
バックラッシュは、歯車などの機械要素の係合部に存在する隙間を意味する。一般的に、機械要素の円滑な運動を可能にするために、適切な大きさのバックラッシュが意図的に設けられている。ただし、部材の摩耗によってバックラッシュが適切な範囲を超えて増大する場合もある。
バックラッシュは、歯車などの機械要素の係合部に存在する隙間を意味する。一般的に、機械要素の円滑な運動を可能にするために、適切な大きさのバックラッシュが意図的に設けられている。ただし、部材の摩耗によってバックラッシュが適切な範囲を超えて増大する場合もある。
図4は、一般的なバックラッシュの例について説明するための図である。図4に示されるように、例えば車輪やターンテーブルのように回転軸について対称な対象物OBJを回転させる場合、バックラッシュBLの位置は、回転駆動の向きによって決まる。具体的には、図示されているように、バックラッシュBLは、駆動側要素E1の回転が従動側要素E2の回転に先行するような位置に発生する。回転駆動の向きが反転した時には、駆動側要素E1、従動側要素E2、およびバックラッシュBLの位置関係が反転するため、バックラッシュBLの大きさに相当する回転駆動の不感帯が生じることになる。
図5Aおよび図5Bは、ロボットの関節部におけるバックラッシュの例について説明するための図である。図5Aおよび図5Bには、ロボット10の本体側リンク140A(以下、図1に示したようなロボット10のリンクのうち、関節部130の本体側に連結されたリンクを総称して本体側リンク140Aともいう)と、関節部130と、末梢側リンク140B(以下、図1に示したようなロボット10のリンクのうち、関節部130の末梢側に連結されたリンクを総称して末梢側リンク140Bともいう)とが示されている。関節部130は、本体側リンク140Aに連結された第1の部分130Aと、末梢側リンク140Bに連結された第2の部分130Bとを含む。なお、第2の部分130Bは、第1の部分130Aに対する相対的な回転が可能である。
ここで、図5Aおよび図5Bに示された例では、駆動力伝達機構154が伝達する回転駆動力によって、第2の部分130Bの第1の部分130Aに対する相対的な回転が発生し、結果として末梢側リンク140Bが本体側リンク140Aに対して相対的に回転する。このとき、回転の対象物である末梢側リンク140Bは、回転軸について対称ではない。従って、バックラッシュBLの位置は、回転駆動の向きよりもむしろ末梢側リンク140Bに作用する力Fの向きによって決まることになる。
具体的には、図5Aの例では、末梢側リンク140Bに回転駆動と逆向きのモーメントを生じさせるような力Fが作用しているため、上記の図4の例と同様に、第1の部分130Aの回転が第2の部分130Bの回転に先行するようなバックラッシュBLが発生する。一方、図5Bの例では、末梢側リンク140Bに回転駆動と同じ向きのモーメントを生じさせるような力Fが作用しているため、図4および図5Aの例とは異なり、第2の部分130Bの回転が第1の部分130Aの回転に先行するようなバックラッシュBLが発生する。
(二足歩行におけるバックラッシュの影響)
図6A~図6Cは、ロボットの二足歩行におけるバックラッシュの影響の例について説明するための図である。これらの図には、ロボット10が二足歩行をするときに股のロール関節部134L_R,134R_Rで発生するバックラッシュBLの変化が示されている。なお、簡単のため、ロール回転が生じないピッチ関節部およびヨー関節部については図示を省略している。また、足首のロール関節部136L_Rおよび136R_Rで発生するバックラッシュについても図示を省略している。
図6A~図6Cは、ロボットの二足歩行におけるバックラッシュの影響の例について説明するための図である。これらの図には、ロボット10が二足歩行をするときに股のロール関節部134L_R,134R_Rで発生するバックラッシュBLの変化が示されている。なお、簡単のため、ロール回転が生じないピッチ関節部およびヨー関節部については図示を省略している。また、足首のロール関節部136L_Rおよび136R_Rで発生するバックラッシュについても図示を省略している。
図6Aには、ロボット10が、二足歩行で左の脚部105Lを持ち上げる前の段階で、重心を右側に移動させた状態が示されている。この状態において、ロボット10の自重は、左右の脚部105L,Rの両方で支持されている。従って、左右の上腿のリンク146L,146R(上記の図5Aおよび図5Bの例では末梢側リンク140Bに相当する)には床面からの上向きの反力が作用し、結果としてロール関節部134L_R,134R_Rには図示されるようなバックラッシュが発生する。具体的には、左のロール関節部134L_Rでは内側のバックラッシュBLINが発生し、右のロール関節部134R_Rでは外側のバックラッシュBLOUTが発生する。
図6Bには、図6Aに示された状態の後に、ロボット10が左の脚部105Lを持ち上げた状態が示されている。この状態において、ロボット10の自重は右の脚部105Rで支持される。従って、右の上腿のリンク146Rには引き続き床面からの上向きの反力が作用し、右のロール関節部134R_Rには外側のバックラッシュBLOUTが発生する。その一方で、左の上腿のリンク146Lにはもはや床面からの反力が作用しない。この状態において、リンク146Lは左のロール関節部134L_Rを支点とする(斜めの)カンチレバーを構成する。従って、リンク146Lには、リンク146L自身、およびリンク146Lに連結された脚部105Lの末梢側部分(すなわち、膝の関節部135L、下腿のリンク147L、足首の関節部136L、足首のリンク148L、および足部106L)にかかる下向きの重力が作用する。結果として、左のロール関節部134L_Rで発生するバックラッシュは、図6Aに示された内側のバックラッシュBLINから、外側のバックラッシュBLOUTに切り替わる。
図6Cには、図6Bに示される状態の後に、ロボット10が左の脚部105Lを床面に降ろした状態が示されている。この状態において、左の足部106Lが再び床面に接触すれば、ロボット10の自重は左右の脚部105L,Rの両方で支持されるようになる。しかしながら、この時点において、左のロール関節部134L_Rで発生するバックラッシュが外側のバックラッシュBLOUTから内側のバックラッシュBLINに再び切り替わるため、切り替わりに伴う不感帯が発生する。この間、左のロール関節部134L_Rには不安定なバックラッシュBLUNSTが発生し(つまり、バックラッシュは存在するがその位置が安定しない)、左の上腿のリンク146Lに床面からの反力が作用する状態と作用しない状態とが交互かつ不規則に発生する可能性がある。この結果、脚部105L,105Rを含むロボット10に想定外のモーメントがかかったり、振動が発生したりして、ロボット10が転倒する可能性がある。
(ロボットの関節構造の例)
図7は、本発明の一実施形態に係るロボットの関節構造の例を示す図である。図7を参照すると、ロボット10の関節構造160は、第1の部分130Aおよび第2の部分130Bを含む関節部130と、駆動力伝達機構154と、テンションスプリング161とを含む。ここで、上記で図5Aおよび図5Bを参照して説明したように、関節部130の第1の部分130Aは本体側リンク140Aに連結され、第2の部分130Bは末梢側リンク140Bに連結されている。
図7は、本発明の一実施形態に係るロボットの関節構造の例を示す図である。図7を参照すると、ロボット10の関節構造160は、第1の部分130Aおよび第2の部分130Bを含む関節部130と、駆動力伝達機構154と、テンションスプリング161とを含む。ここで、上記で図5Aおよび図5Bを参照して説明したように、関節部130の第1の部分130Aは本体側リンク140Aに連結され、第2の部分130Bは末梢側リンク140Bに連結されている。
ここで、本体側リンク140Aは、関節部130に連結されたリンクのうち、ロボット10の本体部102に近い側のリンクを意味する。同様に、末梢側リンク140Bは、関節部130に連結されたリンクのうち、本体部102から遠い側のリンクを意味する。具体的には、左の脚部105Lの場合、股の関節部134Lについては、腰のリンク145が本体側リンク140Aにあたり、上腿のリンク146Lが末梢側リンク140Bにあたる。膝の関節部135Lについては、上腿のリンク146Lが本体側リンク140Aにあたり、下腿のリンク147Lが末梢側リンク140Bにあたる。足首の関節部136Lについては、下腿のリンク147Lが本体側リンク140Aにあたり、足首のリンク148Lが末梢側リンク140Bにあたる。
上記の例からわかるように、関節部130をロボット10のどの関節部に対応付けるかによって、同じリンクでも本体側リンク140Aになる場合と末梢側リンク140Bになる場合とがある。上記では左の脚部105Lの関節部を例にして説明したが、右の脚部105Rの関節部についても同様である。また、本体側リンク140Aおよび末梢側リンク140Bは、腕部103L,103Rでも同様に定義することができる。具体的には、左の腕部103Lの場合、肩の関節部131Lについては、肩のリンク141Lが本体側リンク140Aにあたり、上腕のリンク142Lが末梢側リンク140Bにあたる。肘の関節部132Lについては、上腕のリンク142Lが本体側リンク140Aにあたり、前腕のリンク143Lが末梢側リンク140Bにあたる。手首の関節部133Lについては、前腕のリンク143Lが本体側リンク140Aにあたり、手首のリンク144Lが末梢側リンク140Bにあたる。右側の腕部103Rでも同様の定義が可能である。
換言すれば、末梢側リンク140Bは、関節部130を支点とするカンチレバーを構成しうるリンクである。例えば、上記で図6Bに示した状態において、左のロール関節部134L_Rを含む股の関節部134Lに対する末梢側リンクである上腿のリンク146Lは、関節部134Lを支点とするカンチレバーを構成する。具体的には、足部106Lが持ち上げられて床面から離れている間、リンク146Lは、第1の端部において関節部134Lに支持される一方で、反対側の第2の端部において膝の関節部135Lを介して下腿のリンク147L、足首の関節部136L、足首のリンク148L、および足部106Lの荷重を受ける。
同様に、下腿のリンク147Lは、膝の関節部135Lを支点とするカンチレバーを構成する。また、足首のリンク148Lは、足首の関節部136Lを支点とするカンチレバーを構成する。上記と同様に、ロボット10の二足歩行の動作において右の脚部105Rが持ち上げられた場合には、右側の上腿のリンク146Rは股の関節部134Rを支点とするカンチレバーを構成し、下腿のリンク147Rが膝の関節部135Rを支点とするカンチレバーを構成し、足首のリンク148Rが足首の関節部136Rを支点とするカンチレバーを構成する。また、腕部103L,103Rでは、上記のように末梢側リンク140Bになりうるそれぞれのリンクが、例えば手部104L,104Rがロボット10以外の物体によって支持されているような場合を除いて、関節部130を支点とするカンチレバーを構成する。
上記のように、関節部130は、本体側リンク140Aに連結される第1の部分130Aと、末梢側リンク140Bに連結される第2の部分130Bとを含む。第1の部分130Aと第2の部分130Bとは、直接的に、または関節部130の他の部分を介して、回転軸Xを中心にして相対的に回転することが可能であるように組み立てられている。これによって、関節部130における末梢側リンク140Bの本体側リンク140Aに対する相対的な回転が可能になる。駆動力伝達機構154は、回転軸Xを中心にした第2の部分130Bの第1の部分130Aに対する相対的な回転を発生させる回転駆動力を、上記で図3を参照して説明したモータ150から関節部130に伝達する。
ここで、駆動力伝達機構154は、チェーンまたはベルトを含むように図示されているが、必ずしもこれらを含まなくてもよい。駆動力伝達機構154は、歯車などの各種の機械要素を含みうる。たとえモータ150が関節部130に組み込まれている場合であっても、モータ150から関節部130までの間には、駆動力伝達機構154を構成する少なくとも1組の機械要素の係合部が存在し、この係合部に設けられたバックラッシュのために、例えば上記で図5Aならびに図5B、および図6A~図6Cを参照して説明したような事象が発生する。
本実施形態において関節構造160に含まれるテンションスプリング161は、関節部130の第2の部分130Bに、回転軸Xを中心にした、すなわち第2の部分130Bの第1の部分130Aに対する相対的な回転と同軸の回転付勢力(rotational biasing force)を与える付勢手段の例である。図示された例において、テンションスプリング161の両端は本体側リンク140Aおよび末梢側リンク140Bにそれぞれ連結される。テンションスプリング161は、本体側リンク140Aと末梢側リンク140Bとの間に予め伸長された状態で取り付けられるため、末梢側リンク140Bを回転させて本体側リンク140Aに近づけるような引張の付勢力が発生する。上記のように、本体側リンク140Aおよび末梢側リンク140Bはそれぞれ関節部130の第1の部分130Aおよび第2の部分130Bに連結されているため、上記のようにテンションスプリング161が本体側リンク140Aおよび末梢側リンク140Bに与える付勢力によって、第2の部分130Bの第1の部分130Aに対する相対的な回転と同軸の回転付勢力が与えられる。
これによって、図示された例では、上記で図5Aを参照して説明した例とは異なり、末梢側リンク140Bに回転駆動と逆向きのモーメントを生じさせるような力Fが作用しているにもかかわらず、第2の部分130Bの回転が第1の部分130Aの回転に先行するようなバックラッシュBLが発生している。ここで、図5Bを参照して説明した例と同様に、末梢側リンク140Bに回転駆動と同じ向きのモーメントを生じさせるような力Fが作用するときにも、第2の部分130Bの回転が第1の部分130Aの回転に先行するようなバックラッシュBLが発生する。つまり、図7に示された例では、末梢側リンク140Bに作用する力の向きに関わらず、バックラッシュBLの位置が変化しない。
(脚部における関節構造の適用例)
図8Aおよび図8Bは、本発明の一実施形態に係るロボット10の脚部105L,105Rにおける、上記で図7を参照して説明した関節構造160の適用例について説明するための図である。図8Aには、上記で図6Bに示されたのと同様の状態、すなわちロボット10が二足歩行で左の脚部105Lを床面から持ち上げた状態が示されている。図6Bの例では、この状態において左のロール関節部134L_Rで発生するバックラッシュが内側のバックラッシュBLINから外側のバックラッシュBLOUTに切り替わったが、図8Aの例では、左の脚部105Lが持ち上げられた後も、ロール関節部134L_Rでは引き続き内側のバックラッシュBLINが発生する。これは、ロール関節部134L_Rを含む関節構造160において、上腿のリンク146Lがロール関節部134L_Rを支点とするカンチレバーを構成するときに、リンク146Lに作用する重力に対抗する回転付勢力を与えるように、テンションスプリング161が取り付けられているためである。
図8Aおよび図8Bは、本発明の一実施形態に係るロボット10の脚部105L,105Rにおける、上記で図7を参照して説明した関節構造160の適用例について説明するための図である。図8Aには、上記で図6Bに示されたのと同様の状態、すなわちロボット10が二足歩行で左の脚部105Lを床面から持ち上げた状態が示されている。図6Bの例では、この状態において左のロール関節部134L_Rで発生するバックラッシュが内側のバックラッシュBLINから外側のバックラッシュBLOUTに切り替わったが、図8Aの例では、左の脚部105Lが持ち上げられた後も、ロール関節部134L_Rでは引き続き内側のバックラッシュBLINが発生する。これは、ロール関節部134L_Rを含む関節構造160において、上腿のリンク146Lがロール関節部134L_Rを支点とするカンチレバーを構成するときに、リンク146Lに作用する重力に対抗する回転付勢力を与えるように、テンションスプリング161が取り付けられているためである。
一方、図8Bには、上記で図6Cに示されたのと同様の状態、すなわち、ロボット10が左の脚部105Lを床面に降ろした状態が示されている。図6Cの例では、この状態において左のロール関節部134L_Rで発生するバックラッシュが外側のバックラッシュBLOUTから内側のバックラッシュBLINに再び切り替わることに伴って不安定なバックラッシュBLUNSTが発生した。これに対して、図8Bの例では、上記のように左の脚部105Lが持ち上げられている間もロール関節部134L_Rでは内側のバックラッシュBLINが発生するため、左の脚部105Lが床面に降ろされたときにバックラッシュが再び切り替わることがなく、従って不安定なバックラッシュBLUNSTが発生することによる想定外のモーメントや振動の発生が防止される。
このように、本発明の一実施形態では、図7を参照して説明したような関節構造160において、テンションスプリング161が、関節部130を支点とするカンチレバーを構成する末梢側リンク140Bに作用する重力に対抗する回転付勢力を与える。これによって、末梢側リンク140Bがカンチレバーを構成しない状態(関節部130以外の部分によっても支持されている状態)からカンチレバーを構成する状態(関節部130のみによって支持される状態)に遷移したときに、関節部130におけるバックラッシュが切り替わることによってロボット10の動作が不安定化するのを避けることができる。
なお、上記の図8Aおよび図8Bの例では左の股のロール関節部134L_Rを含む関節構造160について説明したが、左の足首のロール関節部136L_Rについても、同様にテンションスプリング161を含む関節構造160とすることが可能である。右の脚部105Rに含まれるロール関節部134R_R(およびロール関節部136R_R)についても同様の関節構造160とすることで、二足歩行で右の脚部105Rが持ち上げられるときの動作を安定させることができる。また、図8Aおよび図8Bでは脚部105L,105Rにおいてリンク間のロール回転を可能にする関節部を例として説明したが、同様にピッチ回転およびヨー回転を可能にする関節部にも上記の関節構造160を適用することができる。
ここで、ロボット10の脚部105L,105Rのどの関節部に関節構造160を適用するかについては、例えば以下のように決定されてもよい。例えば、上記の例における股のロール関節部134L_R,134R_Rは、ロボット10の二足歩行において片脚支持が両脚支持に(またはその逆に)切り替わるタイミングと関節部においてバックラッシュが切り替わるタイミングとが重なるために、バックラッシュの切り替わりがロボット10の動作を不安定にする可能性がある関節部である。このような関節部では、関節構造160を適用することによってロボット10の動作を安定させられる可能性がある。一方、例えば、末梢側リンク140Bがカンチレバーを構成することによるバックラッシュの切り替わりが発生するものの、それが例えば二足歩行においてロボット10が両脚で支持されている間に発生するために動作の不安定化につながらない関節部、および想定された制御ではバックラッシュの切り替わりが発生しない関節部では、関節構造160を適用しなくてもよい可能性がある。ただし、ロボット10が二足歩行以外の動作をする場合には条件が異なり、また二足歩行をする場合にもどのような関節部の動作をプログラムするかによって条件が異なるため、本体側リンク140Aと末梢側リンク140Bとを連結するすべての関節部130に上記の関節構造160を適用してもよい。
(腕部における関節構造の適用例)
図9Aおよび図9Bは、本発明の一実施形態に係るロボット10の左の腕部103Lにおける、上記で図7を参照して説明した関節構造160の適用例について説明するための図である。図9Aには、ロボット10が左の腕部103Lを横に伸ばし、手部104Lの掌を上に向けた状態が示されている。この状態において、手首のリンク144Lは、手首の関節部133Lによって支持されるカンチレバーを構成する。ただし、この時点では、手首の関節部133Lのピッチ関節部133L_Pを含む関節構造160のテンションスプリング161は、リンク144Lに作用する重力と同じ向きの回転付勢力を与えている。従って、ピッチ関節部133L_Pではリンク144Lに作用する重力に従って掌側(図9Aでは上側)のバックラッシュBLPALMが発生する。
図9Aおよび図9Bは、本発明の一実施形態に係るロボット10の左の腕部103Lにおける、上記で図7を参照して説明した関節構造160の適用例について説明するための図である。図9Aには、ロボット10が左の腕部103Lを横に伸ばし、手部104Lの掌を上に向けた状態が示されている。この状態において、手首のリンク144Lは、手首の関節部133Lによって支持されるカンチレバーを構成する。ただし、この時点では、手首の関節部133Lのピッチ関節部133L_Pを含む関節構造160のテンションスプリング161は、リンク144Lに作用する重力と同じ向きの回転付勢力を与えている。従って、ピッチ関節部133L_Pではリンク144Lに作用する重力に従って掌側(図9Aでは上側)のバックラッシュBLPALMが発生する。
図9Bには、図9Aに示された状態から、肘の関節部132Lのヨー関節部132L_Yが約180度回転した状態が示されている。この状態において、手首のリンク144Lは引き続き手首の関節部133Lに支持されるカンチレバーを構成するが、腕部103Lのヨー関節部132L_Yよりも末端側の部分が180度回転させられた結果、手部104Lの掌は図9Aの状態とは異なり下に向けられている。ここで、手首の関節部133Lのピッチ関節部133L_Pを含む関節構造160も180度回転させられた結果、テンションスプリング161は、リンク144Lに作用する重力に対抗する向きの回転付勢力を与えるようになる。この結果、ピッチ関節部133L_Pで発生するバックラッシュは、掌側(図9Bでは下側)のバックラッシュBLPALMに維持される。
上記の例のように、ロボット10の腕部103L,103Rの関節部に関節構造160を適用した場合、例えば他の関節部の動作によって末梢側リンク140Bにかかる重力の向きが変わった場合にも、関節部130でバックラッシュが切り替わらないようにすることができる。これによって、他の関節部の動作にかかわらず、例えば手部104L,104Rの位置を高い精度で制御することができ、手部104L,104Rで他の物体を把持する、または他の物体を移動させるといったようなロボット10の動作の精度を向上させることができる。
また、上記の例からいえることとして、関節構造160のテンションスプリング161は、末梢側リンク140Bが関節部130を支点とするカンチレバーを構成する間、常に末梢側リンク140Bに作用する重力に対抗する回転付勢力を与えるとは限らない。例えば、上記で図9Aおよび図9Bを参照して説明した例のように末梢側リンク140Bの重力方向に対する向きが変化する場合、テンションスプリング161は、末梢側リンク140Bに作用する特定の方向の重力に対抗する回転付勢力を与えるように構成されてもよい。この場合、末梢側リンク140Bに作用する重力が当該特定の方向ではない間、テンションスプリング161は末梢側リンク140Bに作用する重力と同じ向きの回転付勢力を与えてもよい。
(関節構造の変形例)
図10Aおよび図10Bは、上記で図7を参照して説明した本発明の一実施形態に係るロボットの関節構造の変形例を示す図である。図10Aに示された変形例に係る関節構造160Aは、関節部130の第1の部分130Aに連結された連結部材162Aと、テンションスプリング161Aとを含む。テンションスプリング161Aの両端は、連結部材162Aおよび末梢側リンク140Bにそれぞれ連結される。テンションスプリング161Aは、連結部材162Aと末梢側リンク140Bとの間に予め伸長された状態で取り付けられるため、末梢側リンク140Bを回転させて連結部材162Aに近づけるような引張の付勢力が発生する。上記のように、連結部材162Aおよび末梢側リンク140Bは、それぞれ関節部130の第1の部分130Aおよび第2の部分130Bに連結されているため、上記のようにテンションスプリング161Aが連結部材162Aおよび末梢側リンク140Bに与える付勢力によって、第2の部分130Bの第1の部分130Aに対する相対的な回転と同軸の回転付勢力が与えられる。
図10Aおよび図10Bは、上記で図7を参照して説明した本発明の一実施形態に係るロボットの関節構造の変形例を示す図である。図10Aに示された変形例に係る関節構造160Aは、関節部130の第1の部分130Aに連結された連結部材162Aと、テンションスプリング161Aとを含む。テンションスプリング161Aの両端は、連結部材162Aおよび末梢側リンク140Bにそれぞれ連結される。テンションスプリング161Aは、連結部材162Aと末梢側リンク140Bとの間に予め伸長された状態で取り付けられるため、末梢側リンク140Bを回転させて連結部材162Aに近づけるような引張の付勢力が発生する。上記のように、連結部材162Aおよび末梢側リンク140Bは、それぞれ関節部130の第1の部分130Aおよび第2の部分130Bに連結されているため、上記のようにテンションスプリング161Aが連結部材162Aおよび末梢側リンク140Bに与える付勢力によって、第2の部分130Bの第1の部分130Aに対する相対的な回転と同軸の回転付勢力が与えられる。
ここで、図10Aに示された変形例では、図7に示された例とは異なり、テンションスプリング161Aの一方の端が、本体側リンク140Aではなく、第1の部分130Aに連結された連結部材162Aに連結されている。このように、結果的に第2の部分130Bに回転付勢力が与えられる限りにおいて、テンションスプリング161Aの両端は、本体側リンク140Aおよび末梢側リンク140Bに連結されてもよく、第1の部分130Aまたは第2の部分130Bに連結された連結部材に連結されてもよく、あるいは第1の部分130Aまたは第2の部分130Bに直接的に連結されてもよい。
また、図7に示された変形例ではテンションスプリング161が(例えば図示しないスプリングガイドを用いて)回転軸Xを中心とする円弧に沿って延びているが、図10Aに示された変形例では、テンションスプリング161Aが直線状に延びている。このように、テンションスプリング161Aは、それ自体が回転軸Xを中心とする回転付勢力を発生させるように配置されなくてもよい。具体的には、例えば、テンションスプリング161Aは、関節部130の第1の部分130Aと第2の部分130Bとが回転軸Xを中心にして相対的に回転可能であるように組み立てられていることを利用して、結果的に第2の部分130Bに回転軸Xを中心とする回転付勢力が与えられるように、第2の部分130B、または第2の部分130Bに連結された部分に線形付勢力を与えてもよい。
一方、図10Bに示された変形例に係る関節構造160Bでは、図10Aに示した変形例と比較して、連結部材162Aにソレノイドアクチュエータ163Bが取り付けられ、ソレノイドアクチュエータ163Bにテンションスプリング161Aが連結されている。ソレノイドアクチュエータ163Bは、回転軸Xを中心とする円の接線方向に所定のストロークで動作することによって、付勢手段を構成する弾性体であるテンションスプリング161Aを伸長または収縮させる。テンションスプリング161Aの長さ、および連結部材162Aの位置は、ソレノイドアクチュエータ163Bがテンションスプリング161Aを伸長させたときには末梢側リンク140Bに作用する力Fに対抗できる線形付勢力が与えられ、ソレノイドアクチュエータ163Bがテンションスプリング161Aを収縮させたときには末梢側リンク140Bに作用する力Fに対抗できる線形付勢力が与えられないように設定されている。
つまり、図10Bの例において、ソレノイドアクチュエータ163Bは、テンションスプリング161Aが関節部130の第2の部分130Bに十分な回転付勢力を与える第1の状態と、テンションスプリング161Aが第2の部分130Bに十分な回転付勢力を与えない第2の状態とを切り替える切替手段として機能する。上記の第1の状態において、関節部130におけるバックラッシュBLの位置は、末梢側リンク140Bに作用する力Fの向きに関わらず、テンションスプリング161Aの付勢力によって決まる。一方、上記の第2の状態において、関節部130におけるバックラッシュBLの位置は、末梢側リンク140Bに作用する力Fの向きによって決まる。
なお、関節構造160Bに含まれる切替手段はソレノイドアクチュエータには限られず、テンションスプリング161Aを伸長または収縮させることが可能な他の種類の線形アクチュエータであってもよい。あるいは、切替手段は、テンションスプリング161Aに連結されたワイヤまたはベルトを巻き上げることによってテンションスプリング161Aを伸長または収縮させることが可能な回転アクチュエータであってもよい。後述するように、テンションスプリング161Aに代えて他の付勢手段を用いることもできるが、その場合も、付勢手段が弾性体である場合、上記のソレノイドアクチュエータ163Bのように弾性体を伸長または収縮させる機構を切替手段として用いることができる。
上記のような関節構造160Bを用いて、例えば、上記で図8Aおよび図8Bを参照して説明したような二足歩行の例において、ロボット10が片足で支持されている間(すなわち、脚部105L,105Rのいずれかが持ち上げられている間)にはロール関節部134L_R,134R_Rに回転付勢力を与える一方で、ロボット10が両脚で支持されている間には回転付勢力を与えないようにしてもよい。ロボット10が両脚で支持されている間は、関節部でバックラッシュの切り替わりが発生してもロボット10の動作が不安定になる可能性が比較的低い。このように、切替手段を用いて、ロボット10の動作におけるクリティカルな場面では上記の第1の状態を選択して回転付勢力によってロボット10の動作を安定させる一方で、それ以外の場面では第2の状態を選択して回転付勢力がロボット10の動作に想定外の影響を与えないようにしてもよい。
なお、上記で説明されたロボット10の関節構造において、テンションスプリング161(またはテンションスプリング161A)は、関節部130の第2の部分130Bに回転付勢力を与える付勢手段の例であり、具体的にはコイルばねや渦巻ばねなどの各種のばね、またはラバーバンドなどの弾性体でありうる。上記の例ではテンションスプリング161が発生させる引張の付勢力によって第2の部分130Bに回転付勢力が与えられたが、例えば末梢側リンク140Bに対するテンションスプリング161の位置を逆にすれば、テンションスプリング161が発生させる圧縮の付勢力によって第2の部分130Bに回転付勢力を与えることもできる。
(ポテンショメータのキャリブレーション)
上記で図3を参照して説明したポテンショメータ155は、関節部130に連結された2つのリンクの間に発生した相対的な回転を検出するセンサである。ポテンショメータ155が取り付けられた関節部130の部分(例えば、上記で図5Aおよび図5Bなどを参照して説明した第2の部分130B)の回転角度に応じて、ポテンショメータ155の出力電圧が変化する。ロボット10の制御装置110は、この出力電圧に基づくデジタル信号によって、関節部130における実際の回転角度を認識する。
上記で図3を参照して説明したポテンショメータ155は、関節部130に連結された2つのリンクの間に発生した相対的な回転を検出するセンサである。ポテンショメータ155が取り付けられた関節部130の部分(例えば、上記で図5Aおよび図5Bなどを参照して説明した第2の部分130B)の回転角度に応じて、ポテンショメータ155の出力電圧が変化する。ロボット10の制御装置110は、この出力電圧に基づくデジタル信号によって、関節部130における実際の回転角度を認識する。
図11は、ポテンショメータのキャリブレーションの例について説明するためのグラフである。図11のグラフでは、横軸にポテンショメータ155が取り付けられた関節部130の回転角度θが、縦軸にポテンショメータ155の出力電圧Vが示されている。図示された例において、出力電圧Vは、回転角度θに対して関数f(θ)0に従って変化する。関数f(θ)0はポテンショメータ155の個体差などによって変動するため、出力電圧Vを回転角度θに変換するためにはポテンショメータ155のキャリブレーションが必要になる。
図示された例では、3つの回転角度θ1,θ2,θ3について、当該回転角度における出力電圧V1,V2,V3を測定し、その結果から、回転角度θと出力電圧Vとの関係を近似した関数f(θ)1を得ている。図示された例における関数f(θ)1は、点(θ1,V1)、点(θ2,V2)、および点(θ3,V3)を基準にして決定された近似直線である。このような関数f(θ)1が定義されることによって、ポテンショメータ155の出力電圧Vが出力電圧V1,V2,V3以外の任意の値である場合にも、θ=f-1(V)1とすることで出力電圧Vを回転角度θの推定値に変換することができる。なお、以下の説明では、この関数f-1(V)1を、ポテンショメータ155のキャリブレーションによって得られる変換関数ともいう。
しかしながら、図示されているように、回転角度θに対するポテンショメータ155の本来の出力電圧Vを示す関数f(θ)0は、必ずしも線形の関数ではない。それゆえ、例えば関数f(θ)1を決定する基準になった3つの回転角度θ1,θ2,θ3とは異なる回転角度(図11では回転角度θXと回転角度θYとの間の範囲として例示される)では、本来の関数f(θ)0と関数f(θ)1との間により大きな差分VDIFFが発生している可能性がある。このような回転角度θの範囲では、変換関数f-1(V)1による回転角度θの推定値と実際の回転角度θとの間に差分がある、つまり、ポテンショメータ155の出力電圧Vに基づく回転角度θの推定値が必ずしも正確ではない可能性がある。
ここで、上記で図6A~図6Cなどを参照して説明したように、ロボット10の動作には、例えば二足歩行において両脚支持と片脚支持の切り替わりの場面のように、想定外のモーメントや振動が(たとえ小さなものであっても)ロボット10の転倒などの結果につながる場面が存在する。このような場面を、以下の説明では、ロボット10の動作におけるクリティカルな場面ともいう。例えば、ロボット10の動作におけるクリティカルな場面での回転角度において、図11に示したような差分VDIFFが生じる場合、制御装置110がロボット10の制御に用いる回転角度θの推定値が正確でないことによって、転倒などの結果が生じやすくなる可能性がある。
上記で図3を参照して説明したように、制御装置110は、サーボ回路151に入力したモータ150の回転角度の目標値と、ポテンショメータ155が検出した回転角度θとを比較することによって、関節部130の回転角度の理想値と実際に発生している回転角度θとの差分を抽出している。この差分が大きい場合、制御装置110は、差分を補償するための追加の目標値をサーボ回路151に入力する。このような制御によって、例えばモータ150から関節部130に回転駆動力を伝達する駆動力伝達機構154で発生するバックラッシュによる影響を低減して、ロボット10の動作を適切に制御することができる。しかしながら、既に述べたように、制御装置110がロボット10の制御に用いている回転角度θは、変換関数f-1(V)1を用いて出力電圧Vから変換された推定値である。従って、例えば図11に示した差分VDIFFのために回転角度θの推定値が正確ではない場合、本来は必要な追加の目標値が入力されなかったり、本来は必要ではない追加の目標値が入力されたりすることによって、ロボット10の動作が適切に制御されない可能性がある。
一方、制御装置110は、上記で図2を参照して説明したIMU125、および接地確認センサ126L,126Rなどのセンサを介して、ロボット10の姿勢および傾斜、ならびに足部106L,106Rの床面への接触などの状態を認識することも可能である。例えば、上記のようなクリティカルな場面でロボット10の動作を適切に制御するために、これらのセンサの検出値を利用してもよい。例えば、二足歩行における片脚支持の間は、IMU125の検出値を参照してロボット10の姿勢をたえず確認しながら関節部130の回転角度θを制御することによって、図11に示した差分VDIFFの影響を受けずに、ロボット10の動作を適切に制御できる。しかしながら、上記のようにIMU125が検出したロボット10の姿勢をフィードバックする制御は、CPU111に多大な処理負荷を与える。回転角度の差分を補償する比較的単純な制御とは異なり、ロボット10の姿勢を示す物理量(具体的には、加速度および角速度)を制御のためのパラメータに取り込むことによって、処理負荷は大きく増大する。
(キャリブレーション結果に対するオフセット値の適用)
図12は、本発明の一実施形態におけるポテンショメータのキャリブレーション結果に対するオフセット値の適用について説明するためのグラフである。図12のグラフに示された例では、回転角度θXと回転角度θYとの間の範囲で、ポテンショメータ155の出力電圧Vを回転角度θに変換するために、関数f(θ)1の値にオフセット値VOFFSETを加えた関数f(θ)2が用いられる。図示された例において、オフセット値VOFFSETは、回転角度θXと回転角度θYとの間の範囲において関数f(θ)0と関数f(θ)2との差分を補償する。
図12は、本発明の一実施形態におけるポテンショメータのキャリブレーション結果に対するオフセット値の適用について説明するためのグラフである。図12のグラフに示された例では、回転角度θXと回転角度θYとの間の範囲で、ポテンショメータ155の出力電圧Vを回転角度θに変換するために、関数f(θ)1の値にオフセット値VOFFSETを加えた関数f(θ)2が用いられる。図示された例において、オフセット値VOFFSETは、回転角度θXと回転角度θYとの間の範囲において関数f(θ)0と関数f(θ)2との差分を補償する。
例えば、回転角度θXと回転角度θYとの間の範囲が、ロボット10の動作におけるクリティカルな場面での回転角度θの範囲である場合、オフセット値VOFFSETの適用によって、この範囲において変換関数f-1(V)1を用いた場合の回転角度θの推定値と実際の回転角度θとの差分が補償される結果、制御装置110がこの範囲において正確な回転角度θを認識し、ロボット10の動作をより適切に制御することができる。その一方で、図12の例では、オフセット値VOFFSETが回転角度θXと回転角度θYとの間の範囲において限定的に適用されている。つまり、回転角度θXと回転角度θYとの間の範囲以外の回転角度θでは、元の関数f(θ)1および変換関数f-1(V)1が用いられる。ただし、回転角度θXおよび回転角度θYは必ずしも直接的に検出されなくてもよい。例えば、後述する設定手順の例のようにIMU125などのロボット10が有する他のセンサを利用して動作におけるクリティカルな場面を特定し、当該場面において限定的にオフセット値VOFFSETを適用することによって、結果的に回転角度θXと回転角度θYとの間の範囲において限定的にオフセット値VOFFSETが適用される。この場合、オフセット値VOFFSETを回転角度θの特定の範囲において限定的に適用することと、オフセット値VOFFSETをロボット10の動作におけるクリティカルな場面において限定的に適用することとは等価である。
なお、以下で説明する本発明の一実施形態では、変換関数f-1(V)2によって変換関数f-1(V)1を代替するのではなく、変換関数f-1(V)1にオフセット値VOFFSETを適用し、変換関数f-1(V)2と等価な関数f-1(V+VOFFSET)1とすることによって、ポテンショメータ155の出力電圧Vに基づく正確な回転角度θの認識を可能にしている。このような構成は、例えば上記のようにロボット10の動作におけるクリティカルな場面において限定的にオフセット値VOFFSETを適用したり、ロボット10の複数の動作におけるクリティカルな場面ごとに異なるオフセット値VOFFSETを適用したり、ポテンショメータ155または周辺環境の経年変化によって関数f(θ)0が変化したのに対応してオフセット値VOFFSETを更新したりするために有利である。
図13は、本発明の一実施形態におけるオフセット値の設定および適用の具体的な手順の例を示すフローチャートである。なお、図示された処理において、変換関数f-1(V)1は、別途のキャリブレーション処理によって予め決定されているものとする。
まず、CPU111は、ロボット10の二足歩行動作を開始する(ステップS101)。ここで、CPU111は、ROM113または外部メモリ114から読み出した二足歩行の制御パターンに従って、ロボット10の各部の関節部130を回転駆動するモータ150を制御する。この時点において、CPU111は、変換関数f-1(V)1に従って、ポテンショメータ155の出力電圧Vを回転角度θの推定値に変換している。
ここで、接地確認センサ126L,126Rが、ロボット10の足部106L,106Rのいずれかが床面に接触していない、すなわちロボット10が片脚支持の状態であることを検出し(ステップS102)、かつ二足歩行のためのオフセット値VOFFSETが未設定である場合(ステップS103)、CPU111は、オフセット値VOFFSETの設定手順を実行する。具体的には、CPU111は、IMU125の検出結果を参照してロボット10の姿勢を認識し(ステップS104)、ロボット10の実際の姿勢と理想的な姿勢との差分(例えば、理想的な姿勢に対する実際の姿勢の傾斜角度)に基づいてオフセット値VOFFSETを決定する(ステップS105)。ここで、二足歩行におけるロボット10の理想的な姿勢は、例えば、本体部102が水平になるような姿勢でありうる。
上記のステップS104の時点で、CPU111は、オフセット値VOFFSETを適用せずに、変換関数f-1(V)1を用いて出力電圧Vから変換された回転角度θの推定値に従ってロボット10の二足歩行の動作を制御している。ここで、実際の回転角度θと上記の推定値との間に差分がある場合、制御の結果、すなわちロボット10の実際の姿勢と理想的な姿勢との間にも、回転角度θの差分に対応する差分が生じる。そこで、ステップS105では、CPU111が、ロボット10の実際の姿勢と理想的な姿勢との差分に基づいてオフセット値VOFFSETを決定する。上記の場合において実際に発生している回転角度θと認識結果との差分を補償し、上記のようなCPU111の制御によってロボット10が適切な姿勢を保つことを可能にする。具体的には、例えば、CPU111は、適切な姿勢に対する実際の姿勢の傾きを脚部105L,Rの関節部における回転(ピッチ回転、ロール回転、およびヨー回転)に変換することによって、それぞれの関節部の回転角度θのためのオフセット値VOFFSETを算出する。
上記のステップS105でオフセット値VOFFSETが算出された場合、および上記のステップS103でオフセット値VOFFSETが既に設定されていた場合、CPU111は、出力電圧Vを回転角度θの推定値に変換するにあたり、オフセット値VOFFSETを適用する(ステップS106)。具体的には、CPU111は、変換関数f-1(V)1にオフセット値VOFFSETを適用して関数f-1(V+VOFFSET)1とした上で、出力電圧Vを回転角度θの推定値に変換する。これによって、回転角度θの推定値が実際の回転角度θに近づき、CPU111はロボット10の二足歩行の動作をより適切に制御することができる。
一方、上記のステップS102において、接地確認センサ126L,126Rが、ロボット10が片脚支持の状態ではない、すなわち両脚支持の状態であることを検出した場合、CPU111は、オフセット値VOFFSETを適用することなく、変換関数f-1(V)1に従って出力電圧Vを回転角度θに変換する(ステップS107)。以下、CPU111がロボット10の二足歩行動作を終了させるまで(ステップS108)、上記の処理が繰り返される。
以上で説明したような本実施形態の処理では、オフセット値VOFFSETを適用することによって図11に示した差分VDIFFの影響を低減または除去した回転角度θの推定値を得ることが可能になる。また、最初にオフセット値VOFFSETを設定するときにIMU125の検出結果を参照するものの、それ以降はポテンショメータ155の出力電圧Vに基づく回転角度θの推定値と理想値との差分を補償する比較的単純な制御になるため、CPU111の処理負荷が大きく低減される。
また、上記ではオフセット値VOFFSETの設定手順が最初の二足歩行動作のときに実行される例について説明したが、CPU111は、オフセット値VOFFSETの設定手順を定期的に実行することによって、オフセット値VOFFSETを所定の期間ごとに更新してもよい。これによって、例えば、ポテンショメータ155または周辺環境の経年変化によって関数f(θ)0が変化した場合にも、そのような変化に対応したオフセット値VOFFSETを設定することができる。オフセット値VOFFSETの設定手順は、例えばポテンショメータ155のキャリブレーションを再実行して関数f(θ)1を再定義する手順に比べて容易であり、またロボット10の通常の動作の中で実行できる。従って、例えば、ロボット10がエンドユーザの手元で長期間にわたって使用されるような場合に、メンテナンスの手間を増やすことなくロボット10の正確な動作を維持できる。
(複数のオフセット値の選択的な適用)
図14は、本発明の一実施形態においてポテンショメータのキャリブレーション結果に複数のオフセット値を選択的に適用する例について説明するためのグラフである。図14のグラフには、関数f(θ)1の値に第1のオフセット値VOFFSET1を加えた関数f(θ)2に加えて、関数f(θ)1の値に第2のオフセット値VOFFSET2を加えた関数f(θ)3が示されている。ここで、第1のオフセット値VOFFSET1は、上記で図12に示されたオフセット値VOFFSETと同様に、回転角度θXと回転角度θYとの間の範囲において関数f(θ)0と関数f(θ)2との差分を補償する。一方、第2のオフセット値VOFFSET2は、上記とは異なる回転角度θZと回転角度θWとの間の範囲において関数f(θ)0と関数f(θ)3との差分を補償する。
図14は、本発明の一実施形態においてポテンショメータのキャリブレーション結果に複数のオフセット値を選択的に適用する例について説明するためのグラフである。図14のグラフには、関数f(θ)1の値に第1のオフセット値VOFFSET1を加えた関数f(θ)2に加えて、関数f(θ)1の値に第2のオフセット値VOFFSET2を加えた関数f(θ)3が示されている。ここで、第1のオフセット値VOFFSET1は、上記で図12に示されたオフセット値VOFFSETと同様に、回転角度θXと回転角度θYとの間の範囲において関数f(θ)0と関数f(θ)2との差分を補償する。一方、第2のオフセット値VOFFSET2は、上記とは異なる回転角度θZと回転角度θWとの間の範囲において関数f(θ)0と関数f(θ)3との差分を補償する。
例えば、回転角度θZと回転角度θWとの間の範囲が、回転角度θXと回転角度θYとの間の範囲とは別の、ロボット10の動作におけるクリティカルな場面での回転角度θの範囲である場合、第2のオフセット値VOFFSET2の適用によって、この範囲において変換関数f-1(V)1を用いた場合の回転角度θの推定値と実際の回転角度θとの差分が補償される結果、制御装置110がこの範囲において正確な回転角度θを認識し、ロボット10の動作をより適切に制御することができる。
具体的には、例えば、回転角度θXと回転角度θYとの間の範囲はロボット10の第1の動作におけるクリティカルな場面、例えば二足歩行における片脚支持の場面での回転角度θの範囲であり、回転角度θZと回転角度θWとの間の範囲はロボット10の第2の動作におけるクリティカルな場面、例えばロボット10が着座または転倒した状態からの起き上がりの場面での回転角度θの範囲でありうる。上述のように、本実施形態において、CPU111は、ROM113または外部メモリ114に格納された制御パターンから決定された動作に対応するパターンを選択し、選択されたパターンに従ってロボット10の制御を実行するため、上記の例において、第1の動作である二足歩行と第2の動作である起き上がりとを選択中の制御パターンに基づいて識別することができる。
ここで、第1のオフセット値VOFFSET1または第2のオフセット値VOFFSET2の適用にあたって、CPU111は、回転角度θの特定の範囲(具体的には、第1のオフセット値VOFFSET1の場合には回転角度θXと回転角度θYとの間の範囲、第2のオフセット値VOFFSET2の場合には回転角度θZと回転角度θWとの間の範囲)において限定的にオフセット値を適用してもよいし、あるいは図14に示されるように、特定の制御パターン(上記の具体的な例でいえば、二足歩行のパターンおよび起き上がりのパターン)が選択された場合には回転角度θの全範囲において第1のオフセット値VOFFSET1または第2のオフセット値VOFFSET2を適用してもよい。
図15は、本発明の一実施形態において複数のオフセット値を選択的に適用するための具体的な手順の例を示すフローチャートである。なお、図示された処理において、二足歩行用の第1のオフセット値VOFFSET1、および起き上がり用の第2のオフセット値VOFFSET2は、それぞれについて上記で図13に例示したような設定手順が実行されることによって予め決定され、ROM113または外部メモリ114に格納されているものとする。また、それぞれのオフセット値を適用した上で関節部130の回転角度θを認識する処理も、図13に例にした処理と同様であるものとする。
まず、ロボット10の制御パターンとして二足歩行のパターンが選択されている場合(ステップS111)、CPU111は、第1のオフセット値VOFFSET1を適用する(ステップS112)。これによって、ロボット10の二足歩行の動作の間、CPU111は第1のオフセット値VOFFSET1を適用した関数f(θ)2に従ってポテンショメータ155の出力電圧Vから回転角度θを認識する。
一方、ロボット10の制御パターンとして起き上がりのパターンが選択されている場合(ステップS113)、CPU111は、第2のオフセット値VOFFSET2を適用する(ステップS114)。これによって、ロボット10の起き上がりの動作の間、CPU111は第2のオフセット値VOFFSET2を適用した関数f(θ)3に従ってポテンショメータ155の出力電圧Vから回転角度θを認識する。
上記のステップS111,S113の判定の結果、ロボット10の制御パターンとして二足歩行のパターンも起き上がりのパターンも選択されていなかった場合、CPU111は、オフセット値を適用しない関数f(θ)1に従ってポテンショメータ155の出力電圧Vから回転角度θを認識する。
以上で説明したような処理では、複数のオフセット値を選択的に適用することによって、ロボット10の複数の動作におけるクリティカルな場面において、CPU111が回転角度θを正確に認識し、回転角度の理想値と実際に発生している回転角度θとの差分を補償する比較的単純な制御でロボット10の動作を適切に制御することが可能になる。
なお、ロボット10の動作について、上記の説明では二足歩行の動作と、ロボット10が着座または転倒した状態からの起き上がりの動作とを例示したが、このような例には限られない。また、それぞれの動作におけるクリティカルな場面も、上記の説明における例には限られない。例えば、二足歩行におけるクリティカルな場面は、ZMPが安定領域の境界線上にある場面として定義されてもよい。また、上記の例は主に脚部105L,105Rおよび足部106L,106Rの関節部における回転角度がロボット10の動作の結果に影響を与える例であるが、腕部103L,103Rおよび手部104L,104Rの関節部における回転角度がロボット10の動作の結果に影響を与える場合もありうる。例えば、大きさが既知の物体を把持する動作では、把持する場面で回転角度θが正確に制御されることによって、物体に及ぼす力を必要最低限にして把持することができる。また、ロボット10がプログラムされた任意のモーションを再生するときの動作では、例えば両腕を交差させるなど、ロボット10の部分同士が互いに干渉する可能性がある場面で回転角度θが正確に制御されることによって、干渉を起こさずにモーションを再生することが可能になる。
また、上記で図15を参照して説明された例では、ロボット10の動作が第1の動作(二足歩行)と第2の動作(起き上がり)とを含み、オフセット値が第1の動作におけるクリティカルな場面に対応する第1のオフセット値(VOFFSET1)と第2の動作におけるクリティカルな場面に対応する第2のオフセット値(VOFFSET2)とを含んでいたが、ロボット10の動作および動作におけるクリティカルな場面とオフセット値との関係はこのような例には限られない。例えば、ロボット10の単一の動作において、第1のクリティカルな場面と第2のクリティカルな場面とが存在し、それぞれのクリティカルな場面に対応する第1のオフセット値および第2のオフセット値が設定されてもよい。
また、上記では、ロボット10の関節部130における回転角度θを検出するセンサであるポテンショメータ155のキャリブレーションの結果に対してオフセット値VOFFSETを適用する例について説明したが、同様の構成をロボット10の他の状態量を検出するセンサに適用してもよい。例えば、図11を参照して説明したようにセンサが検出する状態量とセンサの検出値との関係が必ずしも線形ではなく、従って検出値を状態量の推定値に変換するためにキャリブレーションが必要になる各種のセンサについて、例えばロボット10の動作で発生するクリティカルな場面における推定値と実際の値との差分を補償するように設定されたオフセット値を適用することは有用でありうる。
以上、本発明の例示的な実施形態について説明した。なお、上記で説明した実施形態の構成は、互いに独立して、または組み合わせて実施することが可能である。具体的には、例えば、図7を参照して説明したような関節構造は、図12を参照して説明したオフセット値の適用とは独立して実施することが可能である。関節構造の例でも、図8Aおよび図8Bに示したようなロボット10の脚部105L,105Rにおける適用と、図9Aおよび図9Bに示したようなロボット10の腕部103L,103Rにおける適用とは、その両方が実施されてもよいし、いずれか一方が実施されてもよい。
また、上記の説明では、ロボット10の関節部130について総称的に、または一部の関節部(例えば、股のロール関節部134L_R)を例示して説明したが、ロボット10の動作、およびその動作を実現するための制御に応じて、図1を参照して説明したようなロボット10のそれぞれの関節部において、説明されたような構造、または制御を適用することができる。また、図1に示したロボット10の関節構成は一例であり、他にも様々な関節構成が可能である。また、本発明の他の実施形態に係るロボットは図1に示したロボット10のような人型のロボットには限られず、関節部を有し、当該関節部がバックラッシュの影響を受ける、関節部の制御によって実現される動作においてクリティカルな場面が存在するような、様々な種類のロボットでありうる。
以上、添付図面を参照しながら本発明のいくつかの実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
10…ロボット、101…頭部、102…本体部、103L,103R…腕部、104L,104R…手部、105L,105R…脚部、106L,106R…足部、110…制御装置、111…CPU、113…ROM、114…外部メモリ、115…バスインターフェース、116…変換関数、117…オフセット値、130…関節部、130A…第1の部分、130B…第2の部分、140A…本体側リンク、140B…末梢側リンク、150…モータ、151…サーボ回路、152…ドライバ、153…エンコーダ、154…駆動力伝達機構、155…ポテンショメータ、156…A/D変換回路、160…関節構造、161,161A…テンションスプリング、162A…連結部材、163B…ソレノイドアクチュエータ。
Claims (13)
- ロボットの制御装置であって、
前記ロボットの状態量を検出するセンサの検出値を示す信号を取得する機能と、
前記センサのキャリブレーションによって得られる変換関数に従って前記検出値を前記状態量の推定値に変換するにあたり、前記ロボットの動作におけるクリティカルな場面における前記推定値と実際の前記状態量との差分を補償するオフセット値を適用する機能と
を実現するプロセッサを備える、制御装置。 - 前記オフセット値は、前記クリティカルな場面において限定的に適用される、請求項1に記載の制御装置。
- 前記ロボットの動作は、第1の動作と第2の動作とを含み、
前記オフセット値は、前記第1の動作におけるクリティカルな場面に対応する第1のオフセット値と、前記第2の動作におけるクリティカルな場面に対応する第2のオフセット値とを含む、請求項1または請求項2に記載の制御装置。 - 前記クリティカルな場面は、第1の場面と第2の場面とを含み、
前記オフセット値は、前記第1の場面に対応する第1のオフセット値と、前記第2の場面に対応する第2のオフセット値とを含む、請求項1または請求項2に記載の制御装置。 - 前記プロセッサは、前記オフセット値の設定手順を実行する機能をさらに実現し、
前記設定手順は、
前記オフセット値を適用せずに変換された前記推定値に従って前記ロボットの動作を制御する第1の手順と、
前記第1の手順における制御の結果と、理想的な結果との差分に基づいて前記オフセット値を決定する第2の手順と
を含む、請求項1から請求項4のいずれか1項に記載の制御装置。 - 前記制御の結果は、前記ロボットが備える慣性計測装置によって検出された前記ロボットの姿勢である、請求項5に記載の制御装置。
- 前記プロセッサは、前記設定手順を定期的に実行する、請求項5または請求項6に記載の制御装置。
- 前記ロボットの動作は、二足歩行を含む、請求項1から請求項7のいずれか1項に記載の制御装置。
- 前記クリティカルな場面は、前記二足歩行において前記ロボットが片脚支持される場面を含む、請求項8に記載の制御装置。
- 前記状態量は、前記ロボットの関節部の回転角度を含む、請求項1から請求項9のいずれか1項に記載の制御装置。
- 前記センサは、前記関節部に取り付けられたポテンショメータを含む、請求項10に記載の制御装置。
- ロボットの制御方法であって、
前記ロボットの状態量を検出するセンサの検出値を示す信号を取得するステップと、
前記ロボットが備えるプロセッサが、前記センサのキャリブレーションによって得られる変換関数に従って前記検出値を前記状態量の推定値に変換するにあたり、前記ロボットの動作におけるクリティカルな場面における前記推定値と実際の前記状態量との差分を補償するオフセット値を適用するステップと
を含む、制御方法。 - ロボットの制御プログラムであって、
前記ロボットの状態量を検出するセンサの検出値を示す信号を取得する機能と、
前記センサのキャリブレーションによって得られる変換関数に従って前記検出値を前記状態量の推定値に変換するにあたり、前記ロボットの動作におけるクリティカルな場面における前記推定値と実際の前記状態量との差分を補償するオフセット値を適用する機能と
を前記ロボットが備えるプロセッサに実現させる、制御プログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/623,489 US11453128B2 (en) | 2017-06-29 | 2017-06-29 | Robot control apparatus, control method and control program |
PCT/JP2017/024052 WO2019003401A1 (ja) | 2017-06-29 | 2017-06-29 | ロボットの制御装置、制御方法および制御プログラム |
CN201780092363.4A CN110831725A (zh) | 2017-06-29 | 2017-06-29 | 机器人控制装置、控制方法及控制程序 |
JP2019526080A JP7069155B2 (ja) | 2017-06-29 | 2017-06-29 | ロボットの制御装置、制御方法および制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/024052 WO2019003401A1 (ja) | 2017-06-29 | 2017-06-29 | ロボットの制御装置、制御方法および制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019003401A1 true WO2019003401A1 (ja) | 2019-01-03 |
Family
ID=64741280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/024052 WO2019003401A1 (ja) | 2017-06-29 | 2017-06-29 | ロボットの制御装置、制御方法および制御プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US11453128B2 (ja) |
JP (1) | JP7069155B2 (ja) |
CN (1) | CN110831725A (ja) |
WO (1) | WO2019003401A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111702746A (zh) * | 2020-06-19 | 2020-09-25 | 南方科技大学 | 一种多方向转动的机器人 |
CN112276959B (zh) * | 2020-12-25 | 2021-03-30 | 之江实验室 | 几何参数与关节零位自标定方法、装置、电子设备及介质 |
CN112775983A (zh) * | 2020-12-25 | 2021-05-11 | 张月崧 | 智能防卫保护方法及智能保镖机器人 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0774963B2 (ja) * | 1986-11-11 | 1995-08-09 | 横河電機株式会社 | ロボツト校正装置 |
JPH09265321A (ja) * | 1996-03-28 | 1997-10-07 | Kayaba Ind Co Ltd | サーボコントローラのa/d変換器 |
JP2002048595A (ja) * | 2000-08-03 | 2002-02-15 | Sony Corp | センサのキャリブレーション方法 |
JP2005088175A (ja) * | 2003-09-19 | 2005-04-07 | Sony Corp | ロボット装置及びロボット装置の動作制御方法 |
JP2013107191A (ja) * | 2011-11-22 | 2013-06-06 | Disney Enterprises Inc | 力制御関節を有する有脚ロボットのための運動学的および動力学的キャリブレーション方法 |
JP2015089575A (ja) * | 2013-11-05 | 2015-05-11 | セイコーエプソン株式会社 | ロボット、制御装置、ロボットシステム及び制御方法 |
WO2017033247A1 (ja) * | 2015-08-21 | 2017-03-02 | 株式会社安川電機 | 処理システム及びロボットの制御方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69836765T2 (de) * | 1997-01-31 | 2007-10-04 | Honda Giken Kogyo K.K. | Steuergerät eines mit beinen beweglichen roboters |
JP3634238B2 (ja) * | 2000-05-19 | 2005-03-30 | 本田技研工業株式会社 | 脚式移動ロボットの床形状推定装置 |
EP1466705B1 (en) * | 2001-12-28 | 2010-05-19 | Honda Giken Kogyo Kabushiki Kaisha | Gait producing device for leg type movable robot, and control device |
EP1473122B1 (en) * | 2001-12-28 | 2010-10-13 | Honda Giken Kogyo Kabushiki Kaisha | Gait generation device for legged mobile robot |
EP1475198B1 (en) * | 2002-01-18 | 2007-05-23 | Honda Giken Kogyo Kabushiki Kaisha | Controller of legged mobile robot |
US7319919B2 (en) * | 2002-04-26 | 2008-01-15 | Honda Giken Kogyo Kabushiki Kaisha | Control device and footstep determination device for legged mobile robot |
KR100956520B1 (ko) * | 2002-04-26 | 2010-05-06 | 혼다 기켄 고교 가부시키가이샤 | 다리식 이동 로봇의 자기위치 추정 장치 |
US20050228540A1 (en) | 2003-03-23 | 2005-10-13 | Tomohisa Moridaira | Robot device and method of controlling the same |
JP4246535B2 (ja) | 2003-04-17 | 2009-04-02 | 本田技研工業株式会社 | 二足歩行移動体の床反力作用点推定方法及び二足歩行移動体の関節モーメント推定方法 |
JP4089663B2 (ja) | 2004-08-06 | 2008-05-28 | 双葉電子工業株式会社 | ロボット用関節サーボ |
JP4840413B2 (ja) | 2008-07-02 | 2011-12-21 | ソニー株式会社 | 情報表示方法、情報処理装置および情報表示用プログラム |
DE112010005024B4 (de) * | 2009-12-28 | 2016-05-25 | Honda Motor Co., Ltd. | Roboter-Steuer- /Regeleinrichtung |
CN104965120A (zh) * | 2015-06-12 | 2015-10-07 | 陕西宝成航空仪表有限责任公司 | 用数字电路模拟多电刷输出的电位计 |
JP6249145B2 (ja) | 2015-10-08 | 2017-12-20 | 日本精工株式会社 | 車両用舵角検出装置及びそれを搭載した電動パワーステアリング装置 |
UA127018C2 (uk) | 2017-01-31 | 2023-03-15 | Веру Інк. | КОМПОЗИЦІЇ ТА СПОСОБИ ТРИВАЛОГО ВИВІЛЬНЕННЯ АНТАГОНІСТІВ ГОНАДОТРОПІН-ВИВІЛЬНЯЮЧОГО ГОРМОНА (GnRH) |
-
2017
- 2017-06-29 JP JP2019526080A patent/JP7069155B2/ja active Active
- 2017-06-29 WO PCT/JP2017/024052 patent/WO2019003401A1/ja active Application Filing
- 2017-06-29 CN CN201780092363.4A patent/CN110831725A/zh active Pending
- 2017-06-29 US US16/623,489 patent/US11453128B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0774963B2 (ja) * | 1986-11-11 | 1995-08-09 | 横河電機株式会社 | ロボツト校正装置 |
JPH09265321A (ja) * | 1996-03-28 | 1997-10-07 | Kayaba Ind Co Ltd | サーボコントローラのa/d変換器 |
JP2002048595A (ja) * | 2000-08-03 | 2002-02-15 | Sony Corp | センサのキャリブレーション方法 |
JP2005088175A (ja) * | 2003-09-19 | 2005-04-07 | Sony Corp | ロボット装置及びロボット装置の動作制御方法 |
JP2013107191A (ja) * | 2011-11-22 | 2013-06-06 | Disney Enterprises Inc | 力制御関節を有する有脚ロボットのための運動学的および動力学的キャリブレーション方法 |
JP2015089575A (ja) * | 2013-11-05 | 2015-05-11 | セイコーエプソン株式会社 | ロボット、制御装置、ロボットシステム及び制御方法 |
WO2017033247A1 (ja) * | 2015-08-21 | 2017-03-02 | 株式会社安川電機 | 処理システム及びロボットの制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2019003401A1 (ja) | 2020-04-16 |
US20200189110A1 (en) | 2020-06-18 |
JP7069155B2 (ja) | 2022-05-17 |
US11453128B2 (en) | 2022-09-27 |
CN110831725A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100687461B1 (ko) | 로보트 및 로보트용 관절 장치 | |
US8688273B2 (en) | Walking control apparatus of robot and method of controlling the same | |
US7278501B2 (en) | Legged walking robot and motion control method therefor | |
Lohmeier et al. | Humanoid robot LOLA | |
US6999851B2 (en) | Robot apparatus and motion controlling method therefor | |
US20060214622A1 (en) | Control system and related method for multi-limbed, multi-legged robot | |
JP5722747B2 (ja) | ロボットの関節構造及びこの関節構造が組み込まれたロボット | |
WO2019003401A1 (ja) | ロボットの制御装置、制御方法および制御プログラム | |
EP0406018A1 (en) | Legged walking robot and system for controlling the same | |
US8428780B2 (en) | External force target generating device of legged mobile robot | |
US20120158182A1 (en) | Walking control apparatus and method of robot | |
KR20100001567A (ko) | 보행 로봇 및 그 제어 방법 | |
JP2011101938A (ja) | ロボットおよびその制御装置 | |
WO2011117999A1 (ja) | 歩行補助装置 | |
JP6783390B2 (ja) | ロボットの関節構造 | |
WO2004033160A1 (ja) | ロボット装置の動作制御装置及び動作制御方法 | |
JP5467291B2 (ja) | 省エネルギー型ロボット関節駆動制御システム | |
KR20230066011A (ko) | 외골격을 움직이기 위한 방법 | |
JP2009107033A (ja) | 脚式移動ロボット及びその制御方法 | |
JPS61211177A (ja) | 負荷軽減機構を有する多関節脚機構 | |
JP4490210B2 (ja) | 運動体の制御システム | |
JP2005088166A (ja) | ロボット | |
KR102536390B1 (ko) | 무릎관절 보조 착용로봇, 그 제어시스템 및 제어방법 | |
US20240246227A1 (en) | Joint structure of robot | |
KR20180057208A (ko) | 병렬식 링크 구조를 포함하는 로봇 하체, 이를 포함하는 보행 로봇 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17916325 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019526080 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17916325 Country of ref document: EP Kind code of ref document: A1 |