WO2017199502A1 - ロボットおよびその制御方法、ならびに制御プログラム - Google Patents

ロボットおよびその制御方法、ならびに制御プログラム Download PDF

Info

Publication number
WO2017199502A1
WO2017199502A1 PCT/JP2017/006330 JP2017006330W WO2017199502A1 WO 2017199502 A1 WO2017199502 A1 WO 2017199502A1 JP 2017006330 W JP2017006330 W JP 2017006330W WO 2017199502 A1 WO2017199502 A1 WO 2017199502A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
servo motor
torque
ankle
determination unit
Prior art date
Application number
PCT/JP2017/006330
Other languages
English (en)
French (fr)
Inventor
洋平 福田
Original Assignee
シャープ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シャープ株式会社 filed Critical シャープ株式会社
Priority to CN201780026640.1A priority Critical patent/CN109476012B/zh
Priority to JP2018518089A priority patent/JP6560823B2/ja
Publication of WO2017199502A1 publication Critical patent/WO2017199502A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages

Definitions

  • the present invention relates to a robot having a plurality of movable parts.
  • robot technology has evolved and robots that can communicate such as conversations are being developed. Some robots are small and can be easily lifted by the user. Portable robots that can be used not only indoors but also outdoors can be used when the aircraft is placed on the ground, etc. The operations that can be performed differ depending on when they are held.
  • Patent Document 1 it is determined whether or not its own state is lifted from a signal from an acceleration sensor or a gyro sensor, and an operation according to its own state is performed. Also, in Patent Document 2, the self-state is determined by looking at the torque of the servo motor, and the operation according to the self-state is performed.
  • the walking and lifting states of the robot are determined based on the time series values of the acceleration and the gyro sensor.
  • the acceleration sensor or gyro sensor is due to the vibration caused by holding it in your hand or the vibration of the robot itself. Is difficult.
  • the holding state of the robot is estimated from the torque of the servo motor. Therefore, when the robot is stationary and has a specific part, the hand-held state can be determined. However, if the robot detects it while it is operating, the robot operation may be hindered. is there. In addition, when the servo motor has a portion where no torque is applied, there is a problem that the hand-held state cannot be detected.
  • the present invention has been made in view of the above-described problems, and an object of the present invention is to determine whether or not the robot is placed without interfering with the operation while the robot is operating. It is to realize.
  • a robot is a robot including a plurality of movable parts, and when the robot is placed on a predetermined surface among the plurality of movable parts.
  • a torque determination unit that determines whether or not a torque generated in a first servo motor provided in a movable part that supports the generated reaction force exceeds a predetermined threshold; and a torque that is generated in the first servo motor by the torque determination unit
  • a state determining unit that determines that the robot is in a state of being placed on the predetermined surface when it is determined that the predetermined threshold is exceeded.
  • a robot control method is a robot control method including a plurality of movable parts, and the robot is placed on a predetermined surface among the plurality of movable parts.
  • a torque determination step for determining whether or not a torque generated in a first servo motor provided in a movable portion that supports a reaction force generated when placed on the motor exceeds a predetermined threshold; and the first servo in the torque determination step
  • a state determining step for determining that the robot is in a state of being placed on the predetermined surface when it is determined that the torque generated in the motor exceeds the predetermined threshold.
  • FIG. 1 It is a block diagram which shows the structure of the principal part (a control part, an acceleration sensor, and a servomotor) of the robot which concerns on Embodiment 1 of this invention.
  • A is a figure which shows the structure of the robot which concerns on Embodiment 1 of this invention
  • (b) is a figure which shows the rotation angle of each servomotor with which the robot of the state shown to (a) is provided.
  • (A) is a figure which shows an example of the attitude
  • (b) is a figure which shows the rotation angle of each servomotor with which the robot of the state shown to (a) is equipped
  • (c) is a figure of a robot It is a figure which shows another example of a posture
  • (d) is a figure which shows the state of the ankle part in the state where the robot was lifted
  • (e) is the figure of the ankle part in the state where the robot was put on the ground It is a figure which shows a state. It is a flowchart which shows the flow of operation
  • (A) is a figure which shows an example of the attitude
  • (b) is a figure which shows the rotation angle of each servomotor with which the robot of the state shown to (a) is equipped
  • (c) is a figure of a robot It is a figure which shows another example of a attitude
  • It is a flowchart which shows the flow of operation
  • (A) is a figure which shows an example of the attitude
  • (b) is a figure which shows the rotation angle of each servomotor with which the robot of the state shown to (a) is equipped
  • (c) is a figure of a robot It is a figure which shows another example of a attitude
  • FIGS. 1 to 11 Embodiments of the present invention will be described with reference to FIGS. 1 to 11 as follows.
  • components having the same functions as those described in the specific items may be denoted by the same reference numerals and description thereof may be omitted.
  • FIG. 1 is a block diagram illustrating a configuration of a main part of a biped walking robot 110 according to the first embodiment of the present invention.
  • the main part of the robot 110 includes a control unit 10, an acceleration sensor 11, and servo motors M1 to M4.
  • FIG. 2A is a diagram illustrating a configuration of the robot 110 according to the first embodiment of the present invention.
  • the servo motors M1 to M4 are member names used to collectively refer to the servo motors 1L and 1R to the servo motors 4L and 4R shown in FIG. Hereinafter, these servo motors may be collectively referred to simply as a servo motor.
  • the control unit 10 comprehensively controls each component of the robot 110. As shown in FIG. 1, the control unit 10 includes a servo motor detection unit (torque determination unit) 12, a servo motor command unit (drive control unit) 13, an acceleration sensor detection unit 14, a posture estimation unit (posture determination unit) 15, And a state determination unit (state determination unit) 16.
  • the servo motor detection unit 12 has a function of detecting the rotation angle of each servo motor and detecting torque generated in each servo motor.
  • the servo motor detection unit 12 in the present embodiment is a movable unit that supports a reaction force generated when the robot 110 is placed on a predetermined surface (for example, the ground) among the servo motors provided in each of the plurality of movable units.
  • examples of the first servo motor as the movable part include servo motors 1L, 2L, 1R, 2R provided at the left and right ankle joints, servo motors 3L, 3R provided at the left and right hip joints, Servo motors 4L, 4R and the like provided at the shoulder joints of the head can be exemplified.
  • the servo motor command unit 13 has a function of designating the rotation angle of each servo motor and controlling its drive.
  • the acceleration sensor detection unit 14 has a function of converting a detection signal from the acceleration sensor 11 into detection information that can be processed.
  • the posture estimation unit 15 estimates the posture of the robot 110 based on the acceleration detection information acquired by the acceleration sensor detection unit 14 and the rotation angle detection information of each servo motor acquired by the servo motor detection unit 12 ( Or a function of determining).
  • the state determination unit 16 has a function of determining that the robot 110 is placed on a predetermined surface when the servo motor detection unit 12 determines that the torque generated in the first servo motor has exceeded a predetermined threshold. Have The state determination unit 16 determines that the robot 110 is being held by the user when the servo motor detection unit 12 determines that the torque generated in the first servo motor does not exceed a predetermined threshold. It has the function to do. According to the above, when it is determined that the robot 110 is placed on a predetermined surface, the operation of the servo motors other than the first servo motor is not hindered. Therefore, the operation is not hindered while the robot 110 is operating. Therefore, it is possible to determine whether or not the robot 110 is in a state where the robot 110 is placed without interfering with the operation while the robot 110 is operating.
  • the acceleration sensor 11 has a function of detecting acceleration generated in the robot 110 and passing the detection signal to the acceleration sensor detection unit 14.
  • the robot 110 includes servomotors 1L to 4L, servomotors 1R to 4R, left ankle (ankle) 5L, right ankle (ankle) 5R, trunk 7, left arm. 8L, right arm 8R, and head 9.
  • the body 7 includes a control unit 10 and an acceleration sensor 11.
  • the rotation angle values of the servo motors 1R to 3R and the servo motors 1L to 3L are 0 ° of the reference value.
  • the servo motor commands 1R and 1L of the ankles that are in contact with the ground are set higher so that they are closer to the center of gravity.
  • the servo motor detection unit 12 specifies the torque generated in these servo motors.
  • both the left ankle 5L and the right ankle 5R are in a floating state.
  • (1 servo motor) No torque is generated in 1L and 1R.
  • FIG. 3E when the robot 110 is placed on the ground, torque is applied in the Roll direction in the ankle servomotors 1L and 1R.
  • the state determination unit 16 of the robot 110 determines that the robot 110 is placed on the ground if the torque generated in each of the ankle servomotors 1L and 1R exceeds a predetermined threshold, and If at least one of the torques generated in each of the servo motors 1L and 1R does not exceed a predetermined threshold value, the gripping state is determined.
  • step S it is determined whether or not the robot is in the gripping state when the legs are straight and both legs are aligned in the biped walking robot 110.
  • step S the posture estimation unit 15 acquires the rotation angle detection result of each servo motor acquired by the servo motor detection unit 12 and the acceleration sensor detection unit 14.
  • the posture of the robot 110 is estimated using the acceleration detection result (proceeds to S102).
  • the posture estimation unit 15 determines whether or not both feet (right foot 6R and left foot 6L) are aligned from the angles of the servomotors 3R and 3L. If they are not aligned, the flow proceeds to the flow of FIG. On the other hand, if both feet are aligned, the process proceeds to S103.
  • the posture estimation unit 15 determines the left ankle 5L and the right ankle 5R based on the terminal inclination Roll acquired from the acceleration sensor detection unit 14 and the rotation angles of the servo motors 1R and 1L. Determine if the sole is level with the ground. As a result, if the sole is horizontal with the ground, the process proceeds to S106. On the other hand, if the sole is not level with the ground, the process proceeds to S108.
  • the soles of the ankles are parallel to the predetermined surface, the robot 110 is highly likely to be placed on the predetermined surface. Therefore, according to the above operation, it is easier to determine whether or not the robot 110 is placed.
  • the servo motor command unit 13 determines that the servo motor (first servo) is set so that the inside of the sole is higher by ⁇ ° from the horizontal angle with respect to the ground. Motors 1R and 1L are designated, the servo motors are driven, and the process proceeds to S107. As a result, since the torque generated in the first servomotor by intentionally driving the first servomotor is seen, it becomes easier to determine whether or not the robot 110 is in a placed state.
  • the state determination unit 16 determines that the robot 110 It is determined that the object is placed on the ground (S109), and the process proceeds to S111.
  • the state determination unit 16 determines that either one of the torques of the servo motors 1R and 1L is lower than the threshold value ⁇ 1, the state determination unit 16 is in a state where the robot 110 is held by the hand. It discriminate
  • the hand-held state determination is performed when both legs are aligned with the knee 110 bent in the biped walking robot 110.
  • the torque is already applied to the ankle servomotor without moving the ankle. Judgment can be made by seeing whether or not.
  • the posture estimation unit 15 uses the detection result of the rotation angle of each servo motor acquired by the servo motor detection unit 12 and the detection result of acceleration acquired by the acceleration sensor detection unit 14 to determine the posture of the robot 110. Estimate (proceed to S203).
  • the posture estimation unit 15 determines the left ankle 5L and the right ankle 5R from the tilt Roll of the robot 110 acquired from the acceleration sensor detection unit 14 and the rotation angles of the servo motors 1R and 1L. Determine whether the sole of the foot is level with the ground. As a result, if the sole is horizontal with the ground, the process proceeds to S207. On the other hand, if the sole is not level with the ground, the process proceeds to S208.
  • the soles of the ankles are parallel to the predetermined surface, the robot 110 is highly likely to be placed on the predetermined surface. Therefore, according to the above operation, it is easier to determine whether or not the robot 110 is placed. Note that when the knees of the robot 110 are bent, torque is already applied to the servo motors described above, and therefore it is not necessary to operate the servo motors as in S106 of the first embodiment.
  • the state determination unit 16 determines that the robot 110 is placed on the ground if the torques of the servo motors (first servo motor) 2R and 2L exceed the threshold value ⁇ 2 (S209). , The process proceeds to S211. On the other hand, if the torque of either one of the servo motors 2R and 2L is lower than the threshold value ⁇ 2, it is determined that the robot 110 is held in the hand (S210), and the process proceeds to S212. As a result, since the torque generated in the servo motor provided at the ankle joint portion is seen, it becomes easier to determine whether or not the robot 110 is in a placed state.
  • the hand-held state is determined from the time-series values of the acceleration sensor as in the technique described in Patent Document 1.
  • the hand-held state is determined when the legs are opened back and forth with the biped walking robot 110. As shown in FIG. 7 (c), when the foot is standing in the front-rear direction, torque is already applied to the ankle servo without moving the ankle. is there.
  • the posture estimation unit 15 uses the detection result of the rotation angle of each servo motor acquired by the servo motor detection unit 12 and the detection result of acceleration acquired by the acceleration sensor detection unit 14 to determine the posture of the robot 110. Estimate (proceed to S303).
  • the posture estimation unit 15 determines that the soles of the left ankle 5L and the right ankle 5R are based on the inclination pitch of the robot 110 acquired from the acceleration sensor detection unit 14 and the rotation angles of the servo motors 2R, 2L, 3R, 3L. Determine if it is level with the ground.
  • the pitch of the robot 110 in the pitch direction is ⁇ 1
  • the angle from the zero point of the servo motor 2R is ⁇ 2.1
  • the angle from the zero point of the servo motor 1R is Is ⁇ 3.1
  • the posture estimation unit 15 determines the left ankle 5L and the right ankle 5R from the inclination Roll of the robot 110 acquired from the acceleration sensor detection unit 14 and the rotation angles of the servo motors 1R and 1L, as in S203. Determine whether the sole of the foot is level with the ground. As a result, if the sole is horizontal with the ground, the process proceeds to S307. On the other hand, if the sole is not level with the ground, the process proceeds to S308.
  • the soles of the ankles are parallel to the predetermined surface, the robot 110 is highly likely to be placed on the predetermined surface. Therefore, according to the above operation, it is easier to determine whether or not the robot 110 is placed. Note that when the knees of the robot 110 are bent, torque is already applied to the servo motors described above, and therefore it is not necessary to operate the servo motors as in S106 of the first embodiment.
  • the state determination unit 16 determines that the robot 110 is placed on the ground if the sum of the torques of the servomotors (first servomotors) 2R and 2L exceeds the threshold value ⁇ 3 (S309).
  • the process proceeds to S311.
  • S107 and S207 described above since both feet of the robot 110 are aligned, the torques of the servo motors 2R and 2L when in contact with the ground are the same. Therefore, the determination condition is that both torques exceed a predetermined threshold.
  • the torques of the servo motors 2R and 2L when contacting the ground are not necessarily the same. For this reason, various determination methods are conceivable. Here, the determination is made based on the sum of the torques of the servomotors 2R and 2L.
  • FIG. 9A is a diagram illustrating a configuration of the robot 110 according to the fourth embodiment of the present invention.
  • the servo motors M1 to M3 are members for collectively referring to the servo motors 1RF, 1LF, 1RR, 1LR to 3RF, 3LF, 3RR, 3LR shown in FIGS. 9A and 9B, respectively. Name.
  • these servo motors may be collectively referred to simply as a servo motor.
  • the robot 120 includes a servo motor 1LF to 3LF, a servo motor 1LR to 3LR, a left front ankle (ankle portion) 5LF, a left rear ankle (ankle portion) 5LR, and a left front foot 6LF. , Left hind leg 6LR, torso 7, and head 9.
  • the body 7 includes a control unit 10 and an acceleration sensor 11.
  • the robot 120 has a servo motor 1RF to 3RF, a servo motor 1RR to 3RR, a right front ankle (ankle portion) 5RF, a right rear ankle (ankle portion) 5RR, a front right side on the back side of the drawing.
  • a foot 6RF and a right rear foot 6FR are provided.
  • the servo motor detection unit 12 in the present embodiment is provided in a movable part that supports a reaction force generated when the robot 120 is placed on a predetermined surface (for example, the ground) among the servo motors provided in each of the plurality of movable parts.
  • the servomotors 1LF, 1LR, 2LF, 2LR, 1RF, 1RR, 2RF, 2RR which are provided at the left and right ankle joint portions, are provided at the left and right hip joint portions.
  • Servo motors 3LF, 3LR, 3RF, 3RR, etc. can be exemplified.
  • the state determination unit 16 has a function of determining that the robot 120 is placed on a predetermined surface when the servo motor detection unit 12 determines that the torque generated in the first servo motor has exceeded a predetermined threshold. Have The state determination unit 16 determines that the robot 120 is held by the user when the servo motor detection unit 12 determines that the torque generated in the first servo motor does not exceed a predetermined threshold. Has the function of According to the above, when it is determined that the robot 120 is placed on a predetermined surface, the operation of the servo motors other than the first servo motor is not hindered. Therefore, the operation is not hindered while the robot 120 is operating. For this reason, it is possible to determine whether or not the robot 120 is placed without interfering with the operation while the robot 120 is operating.
  • the rotation angles of the servo motors 1RF to 3RF, the servo motors 1LF to 3LF, the servo motors 1RR to 3RR, and the servo motors 1LR to 3LR are set.
  • the value is 0 ° of the reference value.
  • the servo motors 1RF to 3RF, servo motors 1LF to 3LF, servo motors 1RR to 3RR, and servo motors 1LR to 3LR are provided.
  • the rotation angle is as shown in the table of FIG.
  • the hand-held state is determined when the leg is straight and both legs are aligned in the quadruped walking type robot 120.
  • a quadruped robot as shown in FIG.
  • the ankle pitch direction servomotor (first servomotor) 2RF, 2LF, 2RR, 2LR, or ankle roll direction servomotor ( (First servo motor) 1RF, 1LF, 1RR, 1LR are moved so that the position of the center of gravity does not change.
  • the posture estimation unit 15 uses the detection result of the rotation angle of each servo motor acquired by the servo motor detection unit 12 and the detection result of acceleration acquired by the acceleration sensor detection unit 14 to determine the posture of the robot 120. Estimate (proceed to S404).
  • the posture estimation unit 15 calculates the left front ankle from the inclination pitch of the robot 120 acquired from the acceleration sensor detection unit 14 and the angles of the servo motors 2RF, 2LF, 3RF, 3LF, 2RR, 2LR, 3RR, and 3LR. It is determined whether or not the soles of the (ankle portion) 5LF, the left rear ankle (ankle portion) 5LR, the right front ankle (ankle portion) 5RF, and the right rear ankle (ankle portion) 5RR are horizontal with the ground. For example, in the posture shown in FIG.
  • the pitch of the robot 120 in the pitch direction is ⁇ 1
  • the angle from the zero point of the servo motor 2RF / 2RR is ⁇ 2
  • the angle from the zero point of the servo motor 1RF / 1RR is ⁇ 3.
  • step S405 the posture estimation unit 15 determines that the sole is horizontal with the ground based on the inclination Roll of the terminal acquired from the acceleration sensor detection unit 14 and the angles of the servo motors 1RF, 1LF, 1RR, and 1LR. Determine whether or not.
  • the process proceeds to S406.
  • the sole is not level with the ground, the process proceeds to S408.
  • the robot 120 has a high probability of being placed on the predetermined surface. Therefore, according to the above operation, it becomes easier to determine whether or not the robot 120 is placed.
  • the servo motor command unit 13 determines that the servo motor (first servo motor) 1RF is higher so that the inside of the sole is higher by ⁇ ° from the horizontal angle with respect to the ground. , 1LF, 1RR, and 1LR are designated, the servo motors are driven, and the process proceeds to S407. As a result, since the torque generated in the first servomotor by intentionally driving the first servomotor is seen, it becomes easier to determine whether or not the robot 110 is in a placed state.
  • the state determination unit 16 is in a state where the robot 120 is placed on the ground if the torques of the servo motors 1R (1RF or 1RR) and 1L (1LF or 1LR) both exceed the predetermined threshold ⁇ 4. (S409), and the process proceeds to S411. On the other hand, if the torque of the servo motor 1R (1RF or 1RR) or 1L (1LF or 1LR) is below the threshold value ⁇ 4, it is determined that the robot 120 is being held by the hand (S410). The process proceeds to S412. As a result, since the torque generated in the servo motor provided at the ankle joint portion is seen, it is easier to determine whether or not the robot 120 is in a placed state.
  • the hand-held state is determined from the time-series values of the acceleration sensor as in the technique described in Patent Document 1.
  • control blocks of the robots 110 and 120 are logic circuits formed in an integrated circuit (IC chip) or the like. (Hardware) or software using a CPU (Central Processing Unit).
  • the robots 110 and 120 include a CPU that executes instructions of a program that is software that realizes each function, and a ROM (Read Only Memory) in which the program and various data are recorded so as to be readable by the computer (or CPU).
  • a storage device (these are referred to as “recording media”), a RAM (Random Access Memory) for expanding the program, and the like are provided.
  • the objective of this invention is achieved when a computer (or CPU) reads the said program from the said recording medium and runs it.
  • a “non-temporary tangible medium” such as a tape, a disk, a card, a semiconductor memory, a programmable logic circuit, or the like can be used.
  • the program may be supplied to the computer via an arbitrary transmission medium (such as a communication network or a broadcast wave) that can transmit the program.
  • a transmission medium such as a communication network or a broadcast wave
  • the present invention can also be realized in the form of a data signal embedded in a carrier wave in which the program is embodied by electronic transmission.
  • the robot according to the first aspect of the present invention is a robot (110, 120) having a plurality of movable parts, and the reaction force generated when the robot is placed on a predetermined surface among the plurality of movable parts.
  • a torque determination unit (servo motor detection unit 12) that determines whether or not the torque generated in the first servo motor provided in the supporting movable unit exceeds a predetermined threshold value, and the torque determination unit generates the torque in the first servo motor.
  • a state determination unit state determination unit 16 that determines that the robot is in a state of being placed on the predetermined surface when it is determined that the torque exceeds the predetermined threshold. is there.
  • the torque determination unit determines whether the torque generated in the first servo motor provided in the movable unit that supports the reaction force generated when the robot is placed on a predetermined surface exceeds a predetermined threshold value. judge.
  • the state determination unit determines that the robot is in a state of being placed on a predetermined surface when it is determined that the torque generated in the first servomotor exceeds a predetermined threshold. Therefore, when it is determined that the robot is placed on a predetermined surface, the operation of the servo motors other than the first servo motor is not hindered. Therefore, the operation is not hindered while the robot is operating. For this reason, it is possible to determine whether or not the robot is placed without interfering with the operation while the robot is operating.
  • the state determination unit determines that the torque generated in the first servomotor does not exceed a predetermined threshold by the torque determination unit, It is preferable to determine that the robot is held by the user. According to the above configuration, it is possible to determine whether or not the robot is being held by the user without disturbing the operation while the robot is operating.
  • the first servo motor is preferably a servo motor provided at an ankle joint as the movable part. According to the above configuration, since the torque generated in the servo motor provided at the ankle joint portion is seen, it is easier to determine whether or not the robot is in a placed state.
  • a robot includes a drive control unit (servo motor command unit 13) that drives the first servo motor in any one of the above aspects 1 to 3, and the state determination unit includes the drive control unit.
  • the robot is placed on the predetermined surface May be determined. According to the above configuration, since the torque generated in the first servomotor by intentionally driving the first servomotor is seen, it is easier to determine whether or not the robot is placed.
  • the robot according to aspect 5 of the present invention includes the posture determination unit (posture estimation unit 15) that determines that the sole of the ankle portion is parallel to the predetermined surface in the above aspect 4.
  • the drive control unit may drive the first servo motor after the posture determination unit determines that the sole of the ankle portion is parallel to the predetermined surface. good.
  • the sole of the ankle part is parallel to the predetermined surface, the robot is highly likely to be placed on the predetermined surface. Therefore, according to the above configuration, it is easier to determine whether or not the robot is placed.
  • a robot control method is a robot control method including a plurality of movable parts, and the reaction force generated when the robot is placed on a predetermined surface among the plurality of movable parts.
  • a torque determination step for determining whether or not the torque generated in the first servo motor provided in the movable part supporting the motor exceeds a predetermined threshold, and the torque generated in the first servo motor in the torque determination step is the predetermined threshold.
  • a state determination step that determines that the robot is in a state of being placed on the predetermined surface when it is determined that the amount of the robot has been exceeded.
  • the robot according to each aspect of the present invention may be realized by a computer.
  • the robot is controlled by the computer by causing the computer to operate as each unit (software element) included in the robot.
  • a program and a computer-readable recording medium on which the program is recorded also fall within the scope of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

ロボットが動作中に動作を妨げることなく、ロボットが置かれた状態にあるか否かを判定する。複数の可動部うちロボットを所定の面上に置いたときに生じる反力を支える可動部に設けられた第1サーボモータに生じるトルクが所定の閾値を超えたか否かを判定するサーボモータ検出部(12)と、サーボモータ検出部(12)によって第1サーボモータに生じるトルクが所定の閾値を超えたと判定された場合に、ロボットが所定の面上に置かれた状態にあると判定する状態判別部(16)と、を備える。

Description

ロボットおよびその制御方法、ならびに制御プログラム
 本発明は、複数の可動部を備えたロボットなどに関する。
 現在、ロボット技術が進化し、会話等のコミュニケーションができるロボットが開発されている。ロボットは小型なものもあり、ユーザが容易に持ち上げることができ、室内だけでなく、屋外へ持ち運んで利用できる持ち運び可能なロボットは、機体が地面等に置かれているときと、機体が手に持たれているときとで、実行可能な動作が異なる。
 例えば、機体が地面等に置かれているときには転倒しないようにバランスを取りながら稼動する必要があり、機体が手に持たれているときには人の手を挟まないように稼働する必要がある。そのため、機体が地面等に置かれている状態や、機体が手に持たれている状態のような自己の状態を判別する手段を必要とする。
 特許文献1では、加速度センサやジャイロセンサによる信号から自己の状態が持ち上げられているかどうかを判別し、自己の状態に応じた動作を行っている。また、特許文献2では、サーボモータのトルクを見て、自己の状態を判別して、自己の状態に応じた動作を行っている。
国際公開パンフレット「WO 第00/32360号公報(2000年6月8日国際公開)」 日本国公開特許公報「特開2013-13946号公報(2013年1月24日公開)」
 上記のように、特許文献1に記載された技術では、加速度やジャイロセンサの時系列の値により、ロボットの歩行や持ち上げ状態を判別している。しかしながら、近年増加している小型ロボットは、片手で持ち上げることができるため、持ち上げ方のパターンは様々である。特に大きく持ち上げずに静かに手に持ったような場合は、加速度センサやジャイロセンサの値が、手に持ったことによる振動によるものなのか、ロボット自身が動作した振動によるものなのかを判別することが困難である。
 一方、特許文献2に記載された技術では、サーボモータのトルクから、ロボットの保持状態を推定している。そのため、ロボットが静止している状態で特定の箇所を持った場合には、手持ち状態を判別することができるが、ロボットが動作中に検出を行うとロボットの動作を妨げてしまうという問題点がある。また、サーボモータにトルクがかからない箇所を持った場合には、手持ち状態を検出できないという問題点もある。
 本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ロボットが動作中に動作を妨げることなく、ロボットが置かれた状態にあるか否かを判定することができるロボットなどを実現することにある。
 上記の課題を解決するために、本発明の一態様に係るロボットは、複数の可動部を備えたロボットであって、上記複数の可動部のうち上記ロボットを所定の面上に置いたときに生じる反力を支える可動部に設けられた第1サーボモータに生じるトルクが所定の閾値を超えたか否かを判定するトルク判定部と、上記トルク判定部によって上記第1サーボモータに生じるトルクが上記所定の閾値を超えたと判定された場合に、上記ロボットが上記所定の面上に置かれた状態にあると判定する状態判定部と、を備えていることを特徴としている。
 上記の課題を解決するために、本発明の一態様に係るロボットの制御方法は、複数の可動部を備えたロボットの制御方法であって、上記複数の可動部のうち上記ロボットを所定の面上に置いたときに生じる反力を支える可動部に設けられた第1サーボモータに生じるトルクが所定の閾値を超えたか否かを判定するトルク判定ステップと、上記トルク判定ステップで上記第1サーボモータに生じるトルクが上記所定の閾値を超えたと判定された場合に、上記ロボットが上記所定の面上に置かれた状態にあると判定する状態判定ステップと、を含んでいることを特徴としている。
 本発明の一態様によれば、ロボットが動作中に動作を妨げることなく、ロボットが置かれた状態にあるか否かを判定することができるという効果を奏する。
本発明の実施形態1に係るロボットの主要部(制御部、加速度センサ、およびサーボモータ)の構成を示すブロック図である。 (a)は、本発明の実施形態1に係るロボットの構成を示す図であり、(b)は、(a)に示す状態のロボットが備える各サーボモータの回転角度を示す図である。 (a)は、ロボットの姿勢の一例を示す図であり、(b)は、(a)に示す状態のロボットが備える各サーボモータの回転角度を示す図であり、(c)は、ロボットの姿勢の別の例を示す図であり、(d)は、ロボットが持ち上げられた状態における足首部の状態を示す図であり、(e)は、ロボットが地面に置かれた状態における足首部の状態を示す図である。 本発明の実施形態1に係るロボットの動作の流れを示すフローチャートである。 (a)は、ロボットの姿勢の一例を示す図であり、(b)は、(a)に示す状態のロボットが備える各サーボモータの回転角度を示す図であり、(c)は、ロボットの姿勢の別の例を示す図である。 本発明の実施形態2に係るロボットの動作の流れを示すフローチャートである。 (a)は、ロボットの姿勢の一例を示す図であり、(b)は、(a)に示す状態のロボットが備える各サーボモータの回転角度を示す図であり、(c)は、ロボットの姿勢の別の例を示す図である。 本発明の実施形態3に係るロボットの動作の流れを示すフローチャートである。 (a)は、本発明の実施形態4に係るロボットの構成を示す図であり、(b)は、(a)に示す状態のロボットが備える各サーボモータの回転角度を示す図である。 (a)は、ロボットの姿勢の一例を示す図であり、(b)は、(a)に示す状態のロボットが備える各サーボモータの回転角度を示す図であり、(c)は、ロボットの姿勢の別の例を示す図である。 本発明の実施形態4に係るロボットの動作の流れを示すフローチャートである。
 本発明の実施の形態について図1~図11に基づいて説明すれば、次の通りである。以下、説明の便宜上、特定の項目にて説明した構成と同一の機能を有する構成については、同一の符号を付記し、その説明を省略する場合がある。
 〔実施形態1〕
 図1は、本発明の実施形態1に係る二足歩行型のロボット110の主要部の構成を示すブロック図である。同図に示すように、ロボット110の主要部は、制御部10、加速度センサ11、およびサーボモータM1~M4を備えている。図2の(a)は、本発明の実施形態1に係るロボット110の構成を示す図である。なお、サーボモータM1~M4は、それぞれ、図2の(a)に示すサーボモータ1L,1R~サーボモータ4L,4Rのそれぞれを纏めて呼称するときの部材名である。なお、以下これらのサーボモータを纏めて単にサーボモータと称する場合がある。
 (制御部10)
 制御部10は、ロボット110の各構成要素を統括的に制御するものである。図1に示すように、制御部10は、サーボモータ検出部(トルク判定部)12、サーボモータ指令部(駆動制御部)13、加速度センサ検出部14、姿勢推定部(姿勢判定部)15、および状態判別部(状態判定部)16を備える。
 (サーボモータ検出部12)
 サーボモータ検出部12は、各サーボモータの回転角度を検出する他、各サーボモータに生じるトルクを検出する機能を有している。特に、本実施形態におけるサーボモータ検出部12は、複数の可動部のそれぞれに設けられたサーボモータのうちロボット110を所定の面(例えば地面)上に置いたときに生じる反力を支える可動部に設けられた第1サーボモータに生じるトルクが所定の閾値を超えたか否かを判定する機能を有している。ここで、可動部としての第1サーボモータの例としては、左右の足首関節部に設けられたサーボモータ1L,2L,1R,2R、左右の股関節部に設けられたサーボモータ3L,3R、左右の肩関節部に設けられたサーボモータ4L,4Rなどを例示することができる。
 (サーボモータ指令部13)
 サーボモータ指令部13は、各サーボモータの回転角度を指定して、その駆動を制御する機能を有する。
 (加速度センサ検出部14)
 加速度センサ検出部14は、加速度センサ11からの検出信号を情報処理可能な検出情報に変換する機能を有する。
 (姿勢推定部15)
 姿勢推定部15は、加速度センサ検出部14にて取得した加速度の検出情報、およびサーボモータ検出部12にて取得した各サーボモータの回転角度の検出情報に基づいて、ロボット110の姿勢を推定(または判定)する機能を有する。
 (状態判別部16)
 状態判別部16は、サーボモータ検出部12によって第1サーボモータに生じるトルクが所定の閾値を超えたと判定された場合に、ロボット110が所定の面上に置かれた状態にあると判定する機能を有する。また、状態判別部16は、サーボモータ検出部12によって第1サーボモータに生じるトルクが所定の閾値を超えていないと判定された場合に、ロボット110がユーザに保持されている状態にあると判定する機能を有する。以上によれば、ロボット110が所定の面上に置かれた状態にあると判定する際に、第1サーボモータ以外のサーボモータの動作が妨げられることはない。よって、ロボット110が動作中に動作が妨げられることはない。このため、ロボット110が動作中に動作を妨げることなく、ロボット110が置かれた状態にあるか否かを判定することができる。
 (加速度センサ11)
 加速度センサ11は、ロボット110に生じた加速度を検出し、その検出信号を加速度センサ検出部14に渡す機能を有する。
 次に、図2の(a)に示すように、ロボット110は、サーボモータ1L~4L、サーボモータ1R~4R、左足首(足首部)5L、右足首(足首部)5R、胴体7、左腕8L、右腕8R、および頭9を備える。胴体7は、制御部10および加速度センサ11を備える。
 ロボット110の姿勢が、図2の(a)に示す状態のとき、サーボモータ1R~3R、サーボモータ1L~3Lのそれぞれの回転角度の値は、基準値の0°となっている。
 また、ロボット110の姿勢が例えば、図3の(a)に示す状態に変化した場合、サーボモータ1L~3L、およびサーボモータ1R~3Rの各サーボモータの回転角度は、図3の(b)に示す表のとおりとなる。
 例えば、ロボット110で、両足がそろっている場合は、図3の(c)に示すように地面と接地する足首のサーボモータ1R,1Lのそれぞれを重心に近い方が高くなるようにサーボモータ指令部13の制御によりRoll方向に回転させた後、サーボモータ検出部12は、これらのサーボモータに生じるトルクを特定する。
 このとき、ロボット110がユーザに把持されていれば、図3の(d)に示すように、左足首5L、右足首5Rの両方が空中に浮いた状態になるため、足首のサーボモータ(第1サーボモータ)1L,1Rにトルクは生じない。一方、図3の(e)に示すように、ロボット110が地面に置かれている場合、足首のサーボモータ1L,1RにおいてRoll方向にトルクがかかる。そのため、ロボット110の状態判別部16は、足首のサーボモータ1L,1Rのそれぞれに生じたトルクが共に所定の閾値を超えていればロボット110が地面に置かれている状態と判定し、足首のサーボモータ1L,1Rのそれぞれに生じたトルクの何れか少なくとも一方が、所定の閾値を超えていなければ把持状態と判定する。
 次に、図4に基づき、本発明の実施形態1に係るロボットの動作の流れについて説明する。本実施形態では、2足歩行型のロボット110で足がまっすぐで両足がそろっている場合に、把持状態にあるか否かの判定を行う。まず、ステップS(以下、「ステップ」は省略する)101では、姿勢推定部15は、サーボモータ検出部12が取得する各サーボモータの回転角度の検出結果、および加速度センサ検出部14が取得する加速度の検出結果を用い、ロボット110の姿勢を推定する(S102に進む)。
 S102では、姿勢推定部15は、サーボモータ3R,3Lの角度から両足(右足6R、左足6L)が揃っているかどうかを判別し、揃っていない場合、図8のフローに遷移する。一方、両足が揃っている場合、S103に進む。
 次に、S103では、姿勢推定部15は、サーボモータ3R,3Lの回転角度のそれぞれが0°になっていなかった場合、膝が曲がっていると判断し、図6のフローに遷移する。一方、サーボモータ3R,3Lの回転角度のそれぞれが0°になっている場合、S104に進む。
 次に、S104では、姿勢推定部15は、加速度センサ検出部14から取得したロボット110の傾きPitchと、サーボモータ2R,2L,3R,3Lの各回転角度から、左足首5Lおよび右足首5Rの足裏が地面と水平かどうかを判別する。例えば、図3の(a)に示す姿勢の場合、ロボット110のPitch方向の傾きをθ1、サーボモータ2Rのゼロ点からの角度をθ2、サーボモータ1Rのゼロ点からの角度をθ3とすると、θ1=θ2-θ3となる場合に足裏のPitch方向の角度が地面と水平と判定できる。以上の結果、足裏が地面と水平であれば、S105に進む。一方、足裏が地面と水平でなければ、S108に進む。
 次に、S105では、姿勢推定部15は、S104と同様に、加速度センサ検出部14から取得した端末の傾きRollと、サーボモータ1R,1Lの各回転角度から、左足首5Lおよび右足首5Rの足裏が地面と水平かどうかを判別する。その結果、足裏が地面と水平であれば、S106に進む。一方、足裏が地面と水平でなければ、S108に進む。足首部の足裏が、所定の面に対して平行になっている場合、ロボット110は所定の面上に置かれている蓋然性が高い。よって、上記の動作によれば、ロボット110が置かれた状態にあるか否かをより判定し易くなる。
 次に、S106では、姿勢推定部15の上記の判定結果に基づき、サーボモータ指令部13は、足裏が地面に対して水平な角度からα°内側が高くなるようにサーボモータ(第1サーボモータ)1R、1Lのそれぞれの回転角度を指定して、各サーボモータを駆動させてS107に進む。これにより、第1サーボモータを意図的に駆動させることで第1サーボモータに生じたトルクを見るので、ロボット110が置かれた状態にあるか否かをより判定し易くなる。
 次に、S107では、状態判別部16は、サーボモータ検出部12によりサーボモータ(第1サーボモータ)1Rと1Lのトルクが共に所定の閾値β1を超えていると判定された場合、ロボット110が地面に置かれた状態と判別し(S109)、S111に進む。一方、状態判別部16は、サーボモータ検出部12によりサーボモータ1R、1Lのトルクがどちらか一方でも閾値β1を下回っていると判定された場合、ロボット110が手に持たれた状態であると判別し(S110)、S112に進む。これにより、足首関節部に設けられたサーボモータに生じたトルクを見るので、ロボット110が置かれた状態にあるか否かをより判定し易くなる。
 S108では、S107の判定をするための条件を満たさない場合は、特許文献1に記載の技術のように加速度センサの時系列の値から、手持ち状態を判別する。
 S111では、ロボット110が地面に置かれていると判定された場合には、例えば歩行などの可能なアクションを実行する。
 S112では、ロボット110が手に持たれていると判定された場合には、転倒の心配がないため、例えば、バランスを考慮せずに足を自由に動かすアクションを実行する。
 〔実施形態2〕
 次に、図5および図6に基づき、本発明の実施形態2に係るロボット110の動作について説明する。なお、本実施形態におけるロボット110の主要部の構成は、図1に示す構成と同様である。また、本実施形態におけるロボット110の構成は、図2の(a)に示す構成と同様である。
 ロボット110の姿勢が例えば、図2の(a)に示す状態から図5の(a)に示す状態に変化した場合、サーボモータ1L~3L、およびサーボモータ1R~3Rの各サーボモータの回転角度は、図5の(b)に示す表のとおりとなる。
 本実施形態では、2足歩行型のロボット110で膝が曲がっている状態で両足がそろっている場合の手持ち状態の判定を行う。図5の(c)に示すようにロボット110が、ひざが曲がった状態で立っている場合、足首を動かさなくても既に足首のサーボモータにトルクがかかっているため、所定の閾値を超えるか否かを見て判定が可能である。
 次に、図6に基づき、本発明の実施形態2に係るロボット110の動作の流れについて説明する。まず、S201では、姿勢推定部15は、サーボモータ検出部12が取得する各サーボモータの回転角度の検出結果、および加速度センサ検出部14が取得する加速度の検出結果を用い、ロボット110の姿勢を推定する(S203に進む)。
 S203では、姿勢推定部15は、加速度センサ検出部14から取得した端末の傾きPitchと、サーボモータ2R,2L,3R,3Lの各回転角度から、左足首5Lおよび右足首5Rの足裏が地面と水平かどうかを判別する。例えば、図5の(a)に示す姿勢の場合、端末のPitch方向の傾きをθ1、サーボモータ2Rのゼロ点からの角度をθ2、サーボモータ1Rのゼロ点からの角度をθ3とすると、θ1=θ2-θ3となる場合に足裏のPitch方向の角度が地面と水平と判定できる。以上の結果、足裏が地面と水平であれば、S204に進む。一方、足裏が地面と水平でなければ、S208に進む。
 次に、S204では、姿勢推定部15は、S203と同様に、加速度センサ検出部14から取得したロボット110の傾きRollと、サーボモータ1R,1Lの各回転角度から、左足首5Lおよび右足首5Rの足裏が地面と水平かどうかを判別する。その結果、足裏が地面と水平であれば、S207に進む。一方、足裏が地面と水平でなければ、S208に進む。足首部の足裏が、所定の面に対して平行になっている場合、ロボット110は所定の面上に置かれている蓋然性が高い。よって、上記の動作によれば、ロボット110が置かれた状態にあるか否かをより判定し易くなる。なお、ロボット110の膝が曲がっているときは、既に上記の各サーボモータにトルクがかかっているので、実施形態1のS106のように特に各サーボモータを動作させる必要はない。
 次に、S207では、状態判別部16は、サーボモータ(第1サーボモータ)2Rと2Lのトルクが共に閾値β2を超えていれば、ロボット110が地面に置かれていると判別し(S209)、S211に進む。一方、サーボモータ2Rと2Lのトルクがどちらか一方でも閾値β2を下回っていたら、ロボット110が手に持たれていると判別し(S210)、S212に進む。これにより、足首関節部に設けられたサーボモータに生じたトルクを見るので、ロボット110が置かれた状態にあるか否かをより判定し易くなる。
 S208では、S207の判定をするための条件を満たさない場合は、特許文献1に記載の技術のように加速度センサの時系列の値から、手持ち状態を判別する。
 S211では、ロボット110が地面に置かれていると判定された場合には、例えば歩行などの可能なアクションを実行する。
 S212では、ロボット110が手に持たれていると判定された場合には、転倒の心配がないため、例えば、バランスを考慮せずに足を自由に動かすアクションを実行する。
 〔実施形態3〕
 次に、図7および図8に基づき、本発明の実施形態3に係るロボット110の動作について説明する。なお、本実施形態におけるロボット110の主要部の構成は、図1に示す構成と同様である。また、本実施形態におけるロボット110の構成は、図2の(a)に示す構成と同様である。
 ロボット110の姿勢が例えば、図2の(a)に示す状態から図7の(a)に示す状態に変化した場合、サーボモータ1L~3L、およびサーボモータ1R~3Rの各サーボモータの回転角度は、図7の(b)に示す表のとおりとなる。
 本実施形態では、2足歩行型のロボット110で足が前後に開いている場合の手持ち状態の判定を行う。図7の(c)に示すように足が前後に開いている状態で立っている場合、足首を動かさなくても既に足首のサーボにトルクがかかっているため、閾値を見て判定が可能である。
 次に、図8に基づき、本発明の実施形態3に係るロボット110の動作の流れについて説明する。まず、S301では、姿勢推定部15は、サーボモータ検出部12が取得する各サーボモータの回転角度の検出結果、および加速度センサ検出部14が取得する加速度の検出結果を用い、ロボット110の姿勢を推定する(S303に進む)。
 S303では、姿勢推定部15が、加速度センサ検出部14から取得したロボット110の傾きPitchと、サーボモータ2R,2L,3R,3Lの各回転角度から、左足首5Lおよび右足首5Rの足裏が地面と水平かどうかを判別する。例えば図7の(a)に示す姿勢の場合、ロボット110のPitch方向の傾きをθ1、右足については、サーボモータ2Rのゼロ点からの角度をθ2.1、サーボモータ1Rのゼロ点からの角度をθ3.1とすると、θ1=θ2.1-θ3.1となる場合に足裏のPitch方向の角度が地面と水平と判定できる。一方、左足については、サーボモータ2Lのゼロ点からの角度をθ2.2、サーボモータ1Lのゼロ点からの角度をθ3.2とすると、θ1=θ2.2-θ3.2となる場合に足裏のPitch方向の角度が地面と水平と判定できる。ここでは、左右両足が地面に水平かどうかを判定する。以上の結果、足裏が地面と水平であれば、S304に進む。一方、足裏が地面と水平でなければ、S308に進む。
 次に、S304では、姿勢推定部15は、S203と同様に、加速度センサ検出部14から取得したロボット110の傾きRollと、サーボモータ1R,1Lの各回転角度から、左足首5Lおよび右足首5Rの足裏が地面と水平かどうかを判別する。その結果、足裏が地面と水平であれば、S307に進む。一方、足裏が地面と水平でなければ、S308に進む。足首部の足裏が、所定の面に対して平行になっている場合、ロボット110は所定の面上に置かれている蓋然性が高い。よって、上記の動作によれば、ロボット110が置かれた状態にあるか否かをより判定し易くなる。なお、ロボット110の膝が曲がっているときは、既に上記の各サーボモータにトルクがかかっているので、実施形態1のS106のように特に各サーボモータを動作させる必要はない。
 S307では、状態判別部16は、サーボモータ(第1サーボモータ)2Rおよび2Lのそれぞれのトルクの和が閾値β3を超えていれば、ロボット110が地面に置かれていると判別し(S309)、S311に進む。なお、上述したS107やS207の場合、ロボット110の両足が揃っているため、地面に接しているときのサーボモータ2Rおよび2Lのトルクは同じになる。そのため、両方のトルクが所定の閾値を超えることを判定条件としている。一方、上記のS307の場合、両足を前後に開いているため、地面に接しているときのサーボモータ2Rと2Lのトルクは同じとは限らない。そのため、判定方法は色々考えられるが、ここではサーボモータ2Rおよび2Lのそれぞれのトルクの和で判定を行っている。
 一方、サーボモータ2Rおよび2Lのそれぞれのトルクの和が閾値β3を下回っていたら、ロボット110が手に持たれていると判別し(S310)、S312に進む。これにより、足首関節部に設けられたサーボモータに生じたトルクを見るので、ロボット110が置かれた状態にあるか否かをより判定し易くなる。
 S308では、S307の判定をするための条件を満たさない場合は、特許文献1に記載の技術のように加速度センサの時系列の値から、手持ち状態を判別する。
 S311では、ロボット110が地面に置かれていると判定された場合には、例えば歩行などの可能なアクションを実行する。
 S312では、ロボット110が手に持たれていると判定された場合には、転倒の心配がないため、例えば、バランスを考慮せずに足を自由に動かすアクションを実行する。
 〔実施形態4〕
 次に、図9~図11に基づき、本発明の実施形態4に係るロボット120の動作について説明する。なお、本実施形態におけるロボット120の主要部の構成は、図1に示す構成と同様である。ロボット110の主要部は、制御部10、加速度センサ11、およびサーボモータM1~M3を備えている。図9の(a)は、本発明の実施形態4に係るロボット110の構成を示す図である。なお、サーボモータM1~M3は、それぞれ、図9の(a)および(b)に示すサーボモータ1RF、1LF、1RR、1LR~3RF、3LF、3RR、3LRのそれぞれを纏めて呼称するときの部材名である。なお、以下これらのサーボモータを纏めて単にサーボモータと称する場合がある。
 次に、図9の(a)に示すように、ロボット120は、サーボモータ1LF~3LF、サーボモータ1LR~3LR、左前足首(足首部)5LF、左後ろ足首(足首部)5LR、左前足6LF、左後ろ足6LR、胴体7、および頭9を備える。胴体7は、制御部10および加速度センサ11を備える。なお、図示は省略するが、ロボット120は、紙面に対して奥側に、サーボモータ1RF~3RF、サーボモータ1RR~3RR、右前足首(足首部)5RF、右後ろ足首(足首部)5RR、右前足6RF、右後ろ足6FRを備える。
 本実施形態におけるサーボモータ検出部12は、複数の可動部のそれぞれに設けられたサーボモータのうちロボット120を所定の面(例えば地面)上に置いたときに生じる反力を支える可動部に設けられた第1サーボモータに生じるトルクが所定の閾値を超えたか否かを判定する機能を有している。ここで、可動部としての第1サーボモータの例としては、左右の足首関節部に設けられたサーボモータ1LF、1LR、2LF、2LR、1RF、1RR、2RF、2RR、左右の股関節部に設けられたサーボモータ3LF、3LR、3RF、3RRなどを例示することができる。
 状態判別部16は、サーボモータ検出部12によって第1サーボモータに生じるトルクが所定の閾値を超えたと判定された場合に、ロボット120が所定の面上に置かれた状態にあると判定する機能を有する。また、状態判別部16は、サーボモータ検出部12によって第1サーボモータに生じるトルクが所定の閾値を超えていないと判定された場合に、ロボット120がユーザに保持されている状態にあると判定する機能を有する。以上によれば、ロボット120が所定の面上に置かれた状態にあると判定する際に、第1サーボモータ以外のサーボモータの動作が妨げられることはない。よって、ロボット120が動作中に動作が妨げられることはない。このため、ロボット120が動作中に動作を妨げることなく、ロボット120が置かれた状態にあるか否かを判定することができる。
 次に、ロボット120の姿勢が、図9の(a)に示す状態のとき、サーボモータ1RF~3RF、サーボモータ1LF~3LF、サーボモータ1RR~3RR、サーボモータ1LR~3LRのそれぞれの回転角度の値は、基準値の0°となっている。
 また、ロボット120の姿勢が例えば、図10の(a)に示す状態に変化した場合、サーボモータ1RF~3RF、サーボモータ1LF~3LF、サーボモータ1RR~3RR、サーボモータ1LR~3LRの各サーボモータの回転角度は、図10の(b)に示す表のとおりとなる。本実施形態では、4足歩行型のロボット120で、足がまっすぐで両足がそろっている場合の手持ち状態の判定を行う。4足歩行型のロボットの場合、図10の(c)に示すように足首のPitch方向のサーボモータ(第1サーボモータ)2RF、2LF、2RR、2LR、または、足首のRoll方向のサーボモータ(第1サーボモータ)1RF、1LF、1RR、1LRを重心位置が変わらないように動かす。
 次に、図11に基づき、本発明の実施形態4に係るロボット120の動作の流れについて説明する。まず、S401では、姿勢推定部15は、サーボモータ検出部12が取得する各サーボモータの回転角度の検出結果、および加速度センサ検出部14が取得する加速度の検出結果を用い、ロボット120の姿勢を推定する(S404に進む)。
 次に、S404では、姿勢推定部15が、加速度センサ検出部14から取得したロボット120の傾きPitchと、サーボモータ2RF、2LF、3RF、3LF、2RR、2LR、3RR、3LRの角度から、左前足首(足首部)5LF、左後ろ足首(足首部)5LR、右前足首(足首部)5RF、右後ろ足首(足首部)5RRの足裏が地面と水平かどうかを判別する。例えば図10の(a)に示す姿勢の場合、ロボット120のPitch方向の傾きをθ1、サーボモータ2RF/2RRのゼロ点からの角度をθ2、サーボモータ1RF/1RRのゼロ点からの角度をθ3とすると、θ1=θ2-θ3となる場合に、左前足首5LF、左後ろ足首5LR、右前足首5RF、右後ろ足首5RRの足裏のPitch方向の角度が地面と水平と判定できる。以上の結果、足裏が地面と水平であれば、S405に進む。一方、足裏が地面と水平でなければ、S408に進む。
 次に、S405では、S404と同様に、姿勢推定部15は、加速度センサ検出部14から取得した端末の傾きRollと、サーボモータ1RF,1LF、1RR,1LRの角度から、足裏が地面と水平かどうかを判別する。以上の結果、足裏が地面と水平であれば、S406に進む。一方、足裏が地面と水平でなければ、S408に進む。足首部の足裏が、所定の面に対して平行になっている場合、ロボット120は所定の面上に置かれている蓋然性が高い。よって、上記の動作によれば、ロボット120が置かれた状態にあるか否かをより判定し易くなる。
 S406では、姿勢推定部15の上記の判定結果に基づき、サーボモータ指令部13は、足裏が地面に対して水平な角度からα°内側が高くなるようにサーボモータ(第1サーボモータ)1RF,1LF、1RR,1LRのそれぞれの回転角度を指定して、各サーボモータを駆動させてS407に進む。これにより、第1サーボモータを意図的に駆動させることで第1サーボモータに生じたトルクを見るので、ロボット110が置かれた状態にあるか否かをより判定し易くなる。
 S407では、状態判別部16は、サーボモータ1R(1RFまたは1RR)と1L(1LFまたは1LR)のトルクが共に所定の閾値β4を超えていれば、ロボット120が地面に置かれている状態であると判別し(S409)、S411に進む。一方、サーボモータ1R(1RFまたは1RR)と1L(1LFまたは1LR)のトルクがどちらか一方でも閾値β4を下回っていたら、ロボット120が手に持たれている状態であると判別し(S410)、S412に進む。これにより、足首関節部に設けられたサーボモータに生じたトルクを見るので、ロボット120が置かれた状態にあるか否かをより判定し易くなる。
 S408では、S407の判定をするための条件を満たさない場合は、特許文献1に記載の技術のように加速度センサの時系列の値から、手持ち状態を判別する。
 S411では、ロボット120が地面に置かれていると判定された場合には、例えば歩行などの可能なアクションを実行する。
 S412では、ロボット120が手に持たれていると判定された場合には、転倒の心配がないため、例えば、バランスを考慮せずに足を自由に動かすアクションを実行する。
 〔ソフトウェアによる実現例〕
 ロボット110,120の制御ブロック(特に制御部10におけるサーボモータ指令部13、サーボモータ検出部12、姿勢推定部15および状態判別部16)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
 後者の場合、ロボット110,120は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
 〔まとめ〕
 本発明の態様1に係るロボットは、複数の可動部を備えたロボット(110,120)であって、上記複数の可動部のうち上記ロボットを所定の面上に置いたときに生じる反力を支える可動部に設けられた第1サーボモータに生じるトルクが所定の閾値を超えたか否かを判定するトルク判定部(サーボモータ検出部12)と、上記トルク判定部によって上記第1サーボモータに生じるトルクが上記所定の閾値を超えたと判定された場合に、上記ロボットが上記所定の面上に置かれた状態にあると判定する状態判定部(状態判別部16)と、を備えている構成である。
 上記構成によれば、トルク判定部は、ロボットを所定の面上に置いたときに生じる反力を支える可動部に設けられた第1サーボモータに生じるトルクが所定の閾値を超えたか否かを判定する。また、状態判定部は、第1サーボモータに生じるトルクが所定の閾値を超えたと判定された場合に、ロボットが所定の面上に置かれた状態にあると判定する。したがって、ロボットが所定の面上に置かれた状態にあると判定する際に、第1サーボモータ以外のサーボモータの動作が妨げられることはない。よって、ロボットが動作中に動作が妨げられることはない。このため、ロボットが動作中に動作を妨げることなく、ロボットが置かれた状態にあるか否かを判定することができる。
 本発明の態様2に係るロボットは、上記態様1において、上記状態判定部は、上記トルク判定部によって上記第1サーボモータに生じるトルクが所定の閾値を超えていないと判定された場合に、上記ロボットがユーザに保持されている状態にあると判定することが好ましい。上記構成によれば、ロボットが動作中に動作を妨げることなく、ロボットがユーザに保持されている状態にあるか否かを判定することができる。
 本発明の態様3に係るロボットは、上記態様1または2において、上記第1サーボモータは、上記可動部としての足首関節部に設けられたサーボモータであることが好ましい。上記構成によれば、足首関節部に設けられたサーボモータに生じたトルクを見るので、ロボットが置かれた状態にあるか否かをより判定し易くなる。
 本発明の態様4に係るロボットは、上記態様1~3の何れかにおいて、上記第1サーボモータを駆動させる駆動制御部(サーボモータ指令部13)を備え、上記状態判定部は、上記駆動制御部によって上記第1サーボモータが駆動された後に、上記第1サーボモータに生じるトルクが上記所定の閾値を超えたと判定された場合に、上記ロボットが上記所定の面上に置かれた状態であると判定しても良い。上記構成によれば、第1サーボモータを意図的に駆動させることで第1サーボモータに生じたトルクを見るので、ロボットが置かれた状態にあるか否かをより判定し易くなる。
 本発明の態様5に係るロボットは、上記態様4において、足首部の足裏が、上記所定の面に対して平行になっていることを判定する姿勢判定部(姿勢推定部15)を備えており、上記駆動制御部は、上記姿勢判定部によって上記足首部の上記足裏が、上記所定の面に対して平行になっていると判定された後に、上記第1サーボモータを駆動させても良い。足首部の足裏が、所定の面に対して平行になっている場合、ロボットは所定の面上に置かれている蓋然性が高い。よって、上記構成によれば、ロボットが置かれた状態にあるか否かをより判定し易くなる。
 本発明の態様6に係るロボットの制御方法は、複数の可動部を備えたロボットの制御方法であって、上記複数の可動部のうち上記ロボットを所定の面上に置いたときに生じる反力を支える可動部に設けられた第1サーボモータに生じるトルクが所定の閾値を超えたか否かを判定するトルク判定ステップと、上記トルク判定ステップで上記第1サーボモータに生じるトルクが上記所定の閾値を超えたと判定された場合に、上記ロボットが上記所定の面上に置かれた状態にあると判定する状態判定ステップと、を含んでいる方法である。
 本発明の各態様に係るロボットは、コンピュータによって実現してもよく、この場合には、コンピュータを上記ロボットが備える各部(ソフトウェア要素)として動作させることにより上記ロボットをコンピュータにて実現させるロボットの制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
 〔付記事項〕
 本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
  12  サーボモータ検出部(トルク判定部)
  13  サーボモータ指令部(駆動制御部)
  15  姿勢推定部(姿勢判定部)
  16  状態判別部(状態判定部)
110,120 ロボット
1L,2L サーボモータ(第1サーボモータ)
1R,2R サーボモータ(第1サーボモータ)
1LR,2LR サーボモータ(第1サーボモータ)
1LF,2LF サーボモータ(第1サーボモータ)
  5L  左足首(足首部)
  5R  右足首(足首部)
 5LF  左前足首(足首部)
 5LR  左後ろ足首(足首部)

Claims (7)

  1.  複数の可動部を備えたロボットであって、
     上記複数の可動部のうち上記ロボットを所定の面上に置いたときに生じる反力を支える可動部に設けられた第1サーボモータに生じるトルクが所定の閾値を超えたか否かを判定するトルク判定部と、
     上記トルク判定部によって上記第1サーボモータに生じるトルクが上記所定の閾値を超えたと判定された場合に、上記ロボットが上記所定の面上に置かれた状態にあると判定する状態判定部と、を備えていることを特徴とするロボット。
  2.  上記状態判定部は、上記トルク判定部によって上記第1サーボモータに生じるトルクが所定の閾値を超えていないと判定された場合に、上記ロボットがユーザに保持されている状態にあると判定することを特徴とする請求項1に記載のロボット。
  3.  上記第1サーボモータは、上記可動部としての足首関節部に設けられたサーボモータであることを特徴とする請求項1または2に記載のロボット。
  4.  上記第1サーボモータを駆動させる駆動制御部を備え、
     上記状態判定部は、上記駆動制御部によって上記第1サーボモータが駆動された後に、上記第1サーボモータに生じるトルクが上記所定の閾値を超えたと判定された場合に、上記ロボットが上記所定の面上に置かれた状態であると判定することを特徴とする請求項1から3までの何れか1項に記載のロボット。
  5.  足首部の足裏が、上記所定の面に対して平行になっていることを判定する姿勢判定部を備えており、
     上記駆動制御部は、上記姿勢判定部によって上記足首部の上記足裏が、上記所定の面に対して平行になっていると判定された後に、上記第1サーボモータを駆動させることを特徴とする請求項4に記載のロボット。
  6.  請求項1に記載のロボットとしてコンピュータを機能させるための制御プログラムであって、上記トルク判定部および上記状態判定部としてコンピュータを機能させるための制御プログラム。
  7.  複数の可動部を備えたロボットの制御方法であって、
     上記複数の可動部のうち上記ロボットを所定の面上に置いたときに生じる反力を支える可動部に設けられた第1サーボモータに生じるトルクが所定の閾値を超えたか否かを判定するトルク判定ステップと、
     上記トルク判定ステップで上記第1サーボモータに生じるトルクが上記所定の閾値を超えたと判定された場合に、上記ロボットが上記所定の面上に置かれた状態にあると判定する状態判定ステップと、を含んでいることを特徴とするロボットの制御方法。
PCT/JP2017/006330 2016-05-20 2017-02-21 ロボットおよびその制御方法、ならびに制御プログラム WO2017199502A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201780026640.1A CN109476012B (zh) 2016-05-20 2017-02-21 机器人及其控制方法,以及记录介质
JP2018518089A JP6560823B2 (ja) 2016-05-20 2017-02-21 ロボットおよびその制御方法、ならびに制御プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-101842 2016-05-20
JP2016101842 2016-05-20

Publications (1)

Publication Number Publication Date
WO2017199502A1 true WO2017199502A1 (ja) 2017-11-23

Family

ID=60325802

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/006330 WO2017199502A1 (ja) 2016-05-20 2017-02-21 ロボットおよびその制御方法、ならびに制御プログラム

Country Status (3)

Country Link
JP (1) JP6560823B2 (ja)
CN (1) CN109476012B (ja)
WO (1) WO2017199502A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110385715A (zh) * 2018-04-17 2019-10-29 发那科株式会社 设置方式判定装置、设置方式判定用程序以及记录介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0871967A (ja) * 1994-09-09 1996-03-19 Komatsu Ltd 歩行ロボットの歩行制御装置および歩行制御方法
WO2000032360A1 (fr) * 1998-11-30 2000-06-08 Sony Corporation Robot et son procede de commande
JP2004306251A (ja) * 2003-03-23 2004-11-04 Sony Corp ロボット装置及びその制御方法
JP2013013946A (ja) * 2011-06-30 2013-01-24 Fujitsu Ltd ロボット、状況認識方法および状況認識プログラム
JP2016055361A (ja) * 2014-09-05 2016-04-21 シャープ株式会社 制御装置、ロボット、および制御プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4305323B2 (ja) * 2004-08-11 2009-07-29 ソニー株式会社 ロボット装置の動作制御装置及び動作制御方法
JP4896276B2 (ja) * 2010-01-04 2012-03-14 パナソニック株式会社 ロボット、ロボットの制御装置、制御方法、及び制御プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0871967A (ja) * 1994-09-09 1996-03-19 Komatsu Ltd 歩行ロボットの歩行制御装置および歩行制御方法
WO2000032360A1 (fr) * 1998-11-30 2000-06-08 Sony Corporation Robot et son procede de commande
JP2004306251A (ja) * 2003-03-23 2004-11-04 Sony Corp ロボット装置及びその制御方法
JP2013013946A (ja) * 2011-06-30 2013-01-24 Fujitsu Ltd ロボット、状況認識方法および状況認識プログラム
JP2016055361A (ja) * 2014-09-05 2016-04-21 シャープ株式会社 制御装置、ロボット、および制御プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110385715A (zh) * 2018-04-17 2019-10-29 发那科株式会社 设置方式判定装置、设置方式判定用程序以及记录介质
CN110385715B (zh) * 2018-04-17 2021-07-27 发那科株式会社 设置方式判定装置、设置方式判定用程序以及记录介质
US11072069B2 (en) 2018-04-17 2021-07-27 Fanuc Corporation Installation mode determination device, computer program and recording medium for determining installation mode

Also Published As

Publication number Publication date
JPWO2017199502A1 (ja) 2019-01-31
JP6560823B2 (ja) 2019-08-14
CN109476012B (zh) 2021-12-28
CN109476012A (zh) 2019-03-15

Similar Documents

Publication Publication Date Title
US8855821B2 (en) Robot and control method thereof
US10786899B2 (en) Device for calculating stowage pattern and robot controller
US9829878B2 (en) Robot, robot system, and robot control device
US8725296B2 (en) Gripping judgment apparatus and gripping judgment method
US8958909B2 (en) Walking robot and control method thereof
KR100776849B1 (ko) 레그식 로봇의 제어 장치
WO2012129259A1 (en) Damage reduction control for humanoid robot fall
Lee et al. Fall on backpack: Damage minimizing humanoid fall on targeted body segment using momentum control
JP6560823B2 (ja) ロボットおよびその制御方法、ならびに制御プログラム
TWI750939B (zh) 控制機器人脫困的方法、機器人、電子設備和電腦可讀儲存介質
Lee et al. Fall on backpack: Damage minimization of humanoid robots by falling on targeted body segments
JP2011240468A (ja) ロボットの接触種類判別システム
Baltes et al. Active balancing using gyroscopes for a small humanoid robot
Balletti et al. Towards variable impedance assembly: the VSA peg-in-hole
US8976013B2 (en) Contact type tactile feedback apparatus and operating method of contact type tactile feedback apparatus
JP2018058177A (ja) ロボット、姿勢制御装置、姿勢制御方法、および制御プログラム
CN105945972A (zh) 调整智能交互机器人姿态的方法及智能交互机器人
Baltes et al. The use of gyroscope feedback in the control of the walking gaits for a small humanoid robot
WO2017056622A1 (ja) ロボット、ロボットの制御方法、およびプログラム
US20200055680A1 (en) Robotic manipulation of objects for grip adjustment
JP6806327B2 (ja) スイング解析装置、コンピュータにスイングを解析させるためのプログラムおよびスイング解析システム
KR20210019800A (ko) 보행속도기반 착용로봇의 능동-준능동 제어 방법
JP6516432B2 (ja) 制御装置、ロボット、および制御プログラム
WO2022091911A1 (ja) 力覚デバイス、力覚デバイスの制御装置及び力覚デバイスの制御方法
KR100567184B1 (ko) 이족보행로봇의 실시간 자세제어 장치 및 방법

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2018518089

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17798940

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17798940

Country of ref document: EP

Kind code of ref document: A1