[go: up one dir, main page]

WO2016159346A1 - 脚型機構体、歩行ロボット、姿勢制御方法及びプログラム - Google Patents

脚型機構体、歩行ロボット、姿勢制御方法及びプログラム Download PDF

Info

Publication number
WO2016159346A1
WO2016159346A1 PCT/JP2016/060915 JP2016060915W WO2016159346A1 WO 2016159346 A1 WO2016159346 A1 WO 2016159346A1 JP 2016060915 W JP2016060915 W JP 2016060915W WO 2016159346 A1 WO2016159346 A1 WO 2016159346A1
Authority
WO
WIPO (PCT)
Prior art keywords
leg
posture
main body
angular momentum
state
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2016/060915
Other languages
English (en)
French (fr)
Inventor
充典 植村
文夫 宮崎
平井 宏明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Osaka NUC
Original Assignee
Osaka University NUC
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 Osaka University NUC filed Critical Osaka University NUC
Priority to US15/562,478 priority Critical patent/US10589810B2/en
Priority to JP2017510250A priority patent/JP6407409B2/ja
Publication of WO2016159346A1 publication Critical patent/WO2016159346A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles 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/02Vehicles 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/032Vehicles 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • 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 leg-type mechanism, a walking robot, and its posture control technology for autonomous walking (running) with a plurality of legs, or for assisting / supporting walking, or for posture analysis.
  • Patent Document 1 describes a posture control method for an articulated robot that can return to the original standing posture when a slight external force acts on the robot.
  • Non-Patent Document 1 discloses a technique for defining a maximum range in which an ankle torque can be used to return to an original posture when a robot is pressed by an external force or the like in a legged robot having an ankle actuator. Yes.
  • Non-Patent Document 1 shows a control technique limited to the case where an external force acts on the center of gravity, and is a legged robot of a type provided with an ankle actuator.
  • the ankle actuator outputs an ankle torque of a certain level or more
  • the heel or toe is separated from the ground, so that the toe and heel portions that are in contact with the ground are in a state similar to a joint without an actuator.
  • This control method cannot be controlled.
  • the angular momentum around the center of gravity of the robot is assumed to be zero and cannot be dealt with when an angular momentum occurs around the center of gravity of the robot, there is a certain limit as an algorithm based on reality.
  • the present invention has been made in view of the above, and by using the angular momentum around the ankle and its integral value, a leg-type mechanism, a walking robot, and a posture that can perform a fall avoidance control regardless of the presence or absence of an ankle actuator A control method and a program are provided.
  • a leg-type mechanism includes a main body connected to an upper part of at least one leg so as to be relatively changeable in posture, and posture control for stabilizing the posture of the main body based on the state of the legs and the main body.
  • a state calculating means for periodically calculating the angular momentum around the lower end of the leg in a standing state and its integral value from each angle information of the leg and the main body.
  • determining means for determining whether the angular momentum and its integrated value are close to or away from the target value and outputting the determination result to the attitude control means.
  • the posture control method comprises posture control means for stabilizing the posture of the main body connected to the upper part of at least one leg so as to be relatively changeable based on the state of the legs and the main body.
  • a state calculation step for periodically calculating the angular momentum around the lower end of the leg in the standing state and its integral value from each angle information of the leg and the main body, and calculation A determination step of determining whether the angular momentum and the integrated value thereof are close to or away from the target value, and outputting a determination result to the posture control means.
  • the program according to the present invention is a program for stably controlling the posture of the main body connected to the upper part of at least one leg so as to be relatively changeable in posture based on the state of the leg and the main body.
  • State calculation means for periodically calculating the angular momentum around the lower end of the leg in the standing state and the integral value thereof from the angle information of the leg and the main body, and the calculated angular momentum and the integral value as the target value
  • the computer is made to function as a determination unit that determines whether the state is approaching or leaving, and uses the determination result for posture stabilization processing.
  • the posture of the main body connected to the upper part of at least one leg so that the posture can be changed relatively is stably controlled by the posture control means based on the state of the legs and the main body.
  • the state calculating means periodically calculates the angular momentum around the lower end of the leg in the standing state and its integrated value from each angle information of the leg and the main body, and the calculated angular momentum and its integrated value are determined by the judging means. It is determined whether the target value is approaching or leaving, and the determination result is output to the attitude control means. Accordingly, the balance of the posture of the main body, that is, the posture of the leg type mechanism body is maintained with a simple configuration, and the fall is avoided even by disturbance including external force.
  • FIG. 3 is a p 1 -p I1 phase diagram for generating a walking motion.
  • FIG. 7 is a p 1 -p I1 phase diagram for realizing a target walking speed with a smaller number of steps by changing the posture of the main body during walking motion and for controlling to avoid stillness during walking motion. .
  • FIG. 1 is a configuration diagram modeling a walking robot according to the present invention.
  • FIG. 2 is a functional configuration diagram of the walking robot.
  • the robot 1 is simply referred to.
  • the robot 1 includes a plurality of links, for example, two legs 10 (10L, 10R) that are symmetric in the depth direction of FIG. 1 and a body 20 as a main body connected to the upper portions of the legs 10L, 10R.
  • a body 20 as a main body connected to the upper portions of the legs 10L, 10R.
  • Have The upper part of each leg 10L, 10R is connected with the lower part of the trunk
  • the body 20 can change the relative posture with respect to the leg 10 by the leg motor 31.
  • the angle q1 is an angle formed between the leg 10 and the horizontal ground EA (an angle with respect to the direction of gravity), and the angle q2 is an angle formed between the leg 10 and the body 20.
  • the angle q1 is changed by the relative rotation of the leg 10 in the free leg state.
  • the angle q2 is changed by the relative rotation of the body 20 and the leg 10.
  • the angle q2 is changed by driving the leg motor 31 on the side of one leg 10 that is grounded to the ground EA or by synchronous driving of the leg motors 31 of both legs that are grounded.
  • the angle q1 is indirectly changed by changing the center of gravity position of the robot by changing the angle q2 and rotating the entire robot around the ankle.
  • the leg 10 is divided in the middle of the length direction so that it can be relatively rotated around the knee via a knee motor 32 (a left knee motor 32L and a right knee motor 32R) which is a knee actuator for a knee joint, or a knee portion. It is also possible to adopt a configuration in which the lengths of the legs can be adjusted by expanding and contracting. In this case, the rotation axes of the leg motor 31 and the knee motor 32 are set parallel to each other.
  • the structure in which the leg 10 is divided and connected by the knee motor 32 is not essential, but is preferable in terms of expanding the stabilizing range and increasing the accuracy of the stepping position when it is outside the range as described later.
  • Angle sensors 40 are provided at portions corresponding to the joint portions, for example, at appropriate positions of the left and right legs 10L and 10R, and at an appropriate position of the body 20, for example, at the lower portion.
  • the angle sensor 40 includes a left leg angle sensor 41L that detects an angle with the ground EA, a right leg angle sensor 41R, and a body angle sensor 42 that detects angles between the legs 10L and 10R.
  • a gravity sensor using an acceleration sensor is employed as at least one of the left leg angle sensor 41L, the right leg angle sensor 41R, and the body angle sensor 42.
  • Other sensors may obtain the relative rotation amount of the joint as angle information.
  • the angle sensor 40 is provided for each joint part employed in the robot 1, so that the position of the center of gravity and the angular momentum of the robot are based on the mass distribution information of the trunk and each leg. It can be calculated.
  • Equation of motion regarding angular momentum around the ankle the depth direction of the drawing is set as the left-right direction, the right side of the figure is the front, and the left side of the figure is the rear.
  • the robot 1 may have an actuator at the ankle which is the lower end of the leg 10, but in this embodiment, the robot 1 will be described as having no actuator.
  • a description will be given with a model having one joint, that is, a joint (hereinafter referred to as a waist) which is a connecting portion between the leg 10 and the body 20, but the following content is a robot having an arbitrary number of joints. It can also be applied to.
  • Equation 1 the equation of motion of the robot is expressed by Equation 1 using the Lagrange equation of motion.
  • the robot 1 does not rotate around the ankle and can maintain an upright posture.
  • the range of the equation (8) is referred to as a stabilizing range depending on the body posture, and the range where the equation (8) is not satisfied is referred to as an unstabilizable range.
  • An example of an input that maximizes the stabilizing range is
  • the leg 10 When the leg 10 is stepped on, it can return to the upright posture if it is within the stabilizing range when the leg 10 is next worn. From FIG. 1 and Equation (3), the value of the joint angle vector q changes at the moment when the standing leg and the free leg are exchanged, and the value of the integral value p I1 also changes instantaneously. Therefore, when the leg 10 is put on, if the expression (8) is satisfied, it is possible to return to the upright posture. Therefore,
  • the angular momentum p 1 is the state quantity on the vertical axis is a phase diagram taken the integrated value p I1 on the horizontal axis.
  • the angular momentum p 1 is shows the momentum of rotation, takes a positive value when the entire robot 1 rotates before around around the ankle, takes a negative value when rotating around behind.
  • the integral value p I1 takes a positive value when the robot 1 is tilted forward, and takes a negative value when the robot 1 is tilted backward.
  • a line segment 201 passing through the origin in the region 301 has the following meaning.
  • a dark shaded region 202 having a predetermined width is set on both sides including the line segment 201.
  • posture control with respect to the robot 1 is not necessary. It is possible to return to the origin by controlling the posture of 1.
  • a region 202 represents this range, and corresponds to the range that can be stabilized by the body posture shown in Expression (8).
  • the target value of the fuselage angle q tr for controlling the fuselage posture within the stabilizing range shown by the equation (8) is shown in the equation (9). Equation (9) maximizes the stabilizing range within the range of the constraint of Equation (7).
  • the region 301 and the region 302 excluding the stabilization possible range 202 it is an unstabilizable range that cannot reach the origin (posture stability target value) of FIG. Therefore, it is necessary to step out one leg 10 at an appropriate time.
  • the leg 10 to be stepped on is the side on which the state quantity p I1 transitions to the region 202 by the next landing. If the leg 10 is put into the region 202, it can finally be stabilized.
  • the state quantities p 1 and p I1 come to the center position of the region 202, so that they can be farthest from the unstabilizable range.
  • the state quantity p 1 If the values too large or too small), to come to the position of the left and right lines 101 and 102 (a schematic robot shown in the left and right in FIG. 3
  • the values of the state quantities p 1 and p I1 are brought close to the origin at the next step by putting the foot on the leg so that the leg on the free leg side is located farthest from the leg on the standing leg side). It will be.
  • the state can be finally shifted to the stabilizing range, and the origin can be returned to using the equation (9).
  • the robot 1 can be controlled independently by a control device that controls each motor 30 and includes a control unit 100 and a storage unit 110.
  • the control unit 100 is configured by a microcomputer, for example, and is connected to the motor 30, the angle sensor 40, and the storage unit 110.
  • the storage unit 110 includes a control program, an area for storing various reference data to be referred to when executing the control program and each calculation, and a work area.
  • the control unit 100 executes the control program to thereby obtain an angle information acquisition unit 101, an angular momentum calculation unit 102, an integral value calculation unit 103, a stability determination unit 104, a posture target setting unit 105, a step instruction unit 106, a step It functions as the target setting unit 107 and the walking control unit 108.
  • the angle information acquisition unit 101 acquires each angle information from the angle sensor 40 in a predetermined cycle, for example, about 0.01 seconds to 0.0001 seconds, generally about 0.001 seconds.
  • the capture cycle can be set within an appropriate range depending on the application.
  • Angular momentum calculating section 102 each capture each angle information, angular momentum p 1 around the ankle of the leg 10 of the standing side, and calculates running equation (1).
  • the integral value calculation unit 103 executes equation (3) to calculate an approximate integral value p I1 .
  • the stability determination unit 104 executes the determination process of Expression (8) using various constraint conditions. It determines with it being in a possible range, and when that is not right, it determines with it being in the range which cannot be stabilized.
  • the posture target setting unit 105 generates a target value obtained from Expression (9) as a posture control signal of the body 20 when the determination result is within a stable range.
  • the stepping instruction unit 106 issues a stepping instruction to one leg 10, for example, the leg 10 on the side close to the unstable direction.
  • the step target setting unit 107 calculates a command value for the toe position so as to satisfy Expression (10) at the time of the next landing for the leg 10 on which the step is instructed.
  • the relationship between the free leg that has been stepped on and the standing leg is that the free leg is switched to the standing leg at the moment when the leg 10 on the free leg side contacts the ground EA, and at the same time, the standing leg is switched to the free leg.
  • the value of the joint angle vector q is changed from FIG.
  • This value takes an arbitrary value in the area surrounded by the lines 101 and 102 by adjusting the position where the leg 10 is worn. Here, it replaced and the stance and swing, as 0 impulsive force caused upon impact of the legs are dealing as not the value of p 1 changes when switching is the stance and swing. However, it may be treated as the value of p 1 is changed.
  • the leg 10 on the free leg side is positioned farthest from the leg on the standing leg side so as to be positioned on the lines 101 and 102.
  • the state quantities p 1 and p I1 can be made as close as possible to the origin by stepping on the next leg, and finally it can return to an upright posture.
  • the angle information acquisition unit 101 to the stepping target setting unit 107 can return the posture instability caused by the disturbance to a stable posture without moving or by moving the leg 10 by repeating such processing. It becomes.
  • the walking control unit 108 performs control so that the legs 10L and 10R are alternately extended at a predetermined speed. The details of the process of stepping on the other leg 10 alternately without falling down during walking will be described later.
  • step S1 obtains the angle information, angular momentum p 1 and the integrated value p I1 around the ground point of the leg 10 (around the ankle) is calculated for each predetermined period (step S1).
  • step S3 based on the calculated angular momentum p 1 and its integral value p I1 , a determination process according to equation (8) is executed (step S3). If the determination result is within the stabilizing range, the body posture target value q trd is set based on the equation (9) (step S5), and a synchronous drive command is issued to the leg motor 31 (step S7). In this case, steps S1 to S5 are repeated at a predetermined cycle to finally return to the origin.
  • step S3 if the determination result is within the range where stabilization is not possible, the target foot tip position is set based on equation (10), and the stepping drive instruction is issued to the leg motor 31 of one leg 10. (Step S9).
  • the process returns to step S1, and in the next detection cycle, it is determined whether or not the stabilization range is entered in step S3. If so, the process finally returns to the origin, whereas if it does not enter, Step S9 is repeated until it enters, and finally step S3 is satisfied.
  • a robot having an ankle joint 34 at the lower end of the leg 10 via an ankle joint and an ankle motor 34 as an actuator attached to the ankle joint. It can also be applied to 1A.
  • the ankle motor 34 changes the relative angle of the leg 10 with respect to the foot 11 that is in contact with the ground EA.
  • the ⁇ 1 in the equation (2) is within a certain range
  • the range of the formula (13) is called a stabilizing range by the ankle torque, and the range where the formula (13) is not satisfied is called a non-stabilizable range.
  • An example of an input that maximizes the stabilizing range is
  • the position of the foot 11 may be controlled so that the leg 10 is stepped on as described above and then stabilized when the foot 11 is next worn.
  • the walking control unit 108 outputs control signals for alternately stepping operation of both the legs 10L and 10R, and further from the angle information acquisition unit 101 to the integral value calculation unit 103, the step instruction unit 106, and the step target setting unit 107.
  • the stepping and landing positions are instructed according to the control signal.
  • the leg 10 on the free leg side may be put in an appropriate position.
  • the free leg is switched to the standing leg at the moment when the leg 10 on the free leg side contacts the ground EA, and at the same time, the standing leg is switched to the free leg.
  • the value of p I1 is switched instantaneously.
  • This value can be moved to any value in the area surrounded by the lines 101 and 102 by adjusting the position where the leg 10 is worn.
  • the value of p 1 is also affected according to the striking force generated when the leg 10 collides, but here the striking power is set to 0 as described above, and the free leg and the standing leg are affected.
  • the value of pI1 is treated as not changing.
  • the present invention is also applicable when the value of pI1 changes.
  • the following algorithm may be adopted and executed by the control unit 100.
  • the robot 1 stops even though it is walking.
  • the state may be changed to the region 301 by tilting the body 20.
  • an algorithm that can reach the target walking state with fewer steps can be considered. That is, when the body posture is not vertical, c 2 ⁇ 0, and the transition of p 1 and p I1 is as shown by the arrow AR in FIG. 7 from the equations (16) and (17). At this time, the range of the value of p I1 that keeps the waist height above a certain level can be expanded to the side where the body 20 is inclined as shown in FIG. As a result, the values of p 1 and p I1 become closer to the walking line 401 in one step. The value of p 1 and p I1 is, when sufficiently close to the walking beam 401, by returning the body attitude vertically, so that walking to the target can be achieved.
  • the present invention is not limited to a walking robot, and a leg robot having an ankle actuator, a monopod or biped walking assist robot having an actuator, a prosthetic leg, and the like.
  • leg type mechanisms By applying to these, it becomes possible to control the posture balance of the main body including the human body and prevent falling.
  • the leg may have two, three, four, or more legs on the left and right.
  • it is not limited to the aspect which steps a leg in the front-back direction, For example, it is good also as an aspect which provides a spherical joint in the connection part with a trunk
  • the posture balance control technology for external force in the embodiment can be applied to other applications.
  • CG computer graphics
  • the human body including other organisms
  • the motion capture technology that detects various movements by attaching sensors to each location was used.
  • behavior information of various posture balances can be easily obtained and used for CG. It becomes possible to use.
  • the leg-type mechanism includes a main body connected to an upper part of at least one leg so that the posture can be changed relatively, and the posture of the main body based on the state of the legs and the main body.
  • a leg-type mechanism equipped with posture control means for stabilizing the state the angular momentum around the lower end of the leg in a standing state and the integral value thereof are periodically calculated from each angle information of the leg and the main body It is determined whether the calculation means and the calculated angular momentum and its integrated value are close to or away from the target value, that is, whether or not there is a possibility of posture stabilization, and the determination result is determined by the posture control means. It is preferable to include determination means for outputting to
  • the posture control method comprises posture control means for stabilizing the posture of the main body connected to the upper part of at least one leg so as to be relatively changeable based on the state of the legs and the main body.
  • a state calculation step for periodically calculating the angular momentum around the lower end of the leg in the standing state and its integral value from each angle information of the leg and the main body, and calculation A determination step of determining whether the angular momentum and the integrated value thereof are close to or away from the target value, that is, whether there is a possibility of posture stabilization, and outputting a determination result to the posture control means It is preferable to comprise.
  • the program according to the present invention is a program for stably controlling the posture of the main body connected to the upper part of at least one leg so as to be relatively changeable in posture based on the state of the leg and the main body.
  • State calculation means for periodically calculating the angular momentum around the lower end of the leg in the standing state and the integral value thereof from the angle information of the leg and the main body, and the calculated angular momentum and the integral value as the target value It is preferable to make the computer function as a determination step of determining whether or not there is a possibility of posture stabilization, that is, whether or not there is a possibility of posture stabilization, and using the determination result for posture stabilization processing.
  • the posture of the main body connected to the upper part of at least one leg so that the posture can be changed relatively is stably controlled by the posture control means based on the state of the legs and the main body.
  • the state calculating means periodically calculates the angular momentum around the lower end of the leg in the standing state and its integrated value from each angle information of the leg and the main body, and the calculated angular momentum and its integrated value are determined by the judging means. It is determined whether the target value is approaching or leaving, that is, whether or not there is a possibility of posture stabilization, and the determination result is output to the posture control means. Accordingly, the balance of the posture of the main body, that is, the posture of the leg type mechanism body is maintained with a simple configuration, and the fall is avoided even by disturbance including external force.
  • the leg type mechanism body includes an angle sensor that detects angle information of the leg and the main body, and at least one of the angle sensors can detect an angle with respect to a gravitational direction. According to such a configuration, since at least one of the angle sensors can detect an angle with respect to the direction of gravity, the angular momentum around the lower end of the leg and its integrated value can be calculated.
  • the leg-type mechanism includes a leg actuator that connects the postures of the main body to the upper portions of a plurality of legs so as to be relatively changeable, and the posture control means includes the calculated angular momentum and the calculated angular momentum. If the integrated value is close to the target value, the first posture control means for driving the leg actuator with the lower end position of each leg stationary to stabilize the posture of the main body, When the determination result is that the calculated angular momentum and its integrated value are away from the target value, the main body is driven by driving one of the leg actuators to perform the corresponding leg stepping operation. It is preferable to include a second attitude control unit that stabilizes the attitude of the camera.
  • the first attitude control is performed depending on whether the calculated angular momentum and its integrated value are close to or away from the target value, that is, whether there is a possibility of attitude stabilization. Since the posture balance is achieved without changing the legs by means and the posture balance is obtained by changing the steps by the second posture control means, the posture balance can be surely obtained. Become.
  • the posture control means sets a target value of the posture of the main body based on the angular momentum at the time of determination and its integrated value for the leg actuator.
  • the target value is set based on the angular momentum calculated once at the time of determination and the integrated value thereof, so that the processing becomes easy.
  • the walking robot includes a walking control unit that performs walking by individually operating each leg actuator of the plurality of legs in a leg-type mechanism having a plurality of legs. According to this configuration, it is possible to easily control the posture balance at rest, which is indispensable for a walking robot. In addition, posture balance processing can be applied to disturbances during walking.
  • the legs are divided in the middle of the longitudinal direction, and the divided parts are connected via a joint actuator so as to be capable of relative rotation or expansion / contraction.
  • a joint actuator by operating the joint actuator, the relative angle of each joint or the length of the legs can be controlled, so that the posture balance performance can be improved and the accuracy of the landing position can be increased.

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Human Computer Interaction (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Manipulator (AREA)

Abstract

歩行ロボット(1)は、2本の脚(10)の上部に相対的に姿勢変更可能に連結された胴体(20)と、脚(10)及び胴体(20)の姿勢に基づいて本体の姿勢を安定にする姿勢制御部(105,106,107)とを備えている。脚(10)及び胴体(20)の各角度情報から、立脚状態にある脚の足首周りの角運動量P及びその積分値PI1を周期的に算出する状態算出部(101,102,103)と、算出された角運動量P及びその積分値PI1が目標値に対して近づく状態であるか離れる状態であるかを判定し、判定結果を姿勢制御部(105,106,107)に出力する安定判定部(104)とを備えている。このように、足首周りの角運動量とその積分値を用いて転倒を回避する。

Description

脚型機構体、歩行ロボット、姿勢制御方法及びプログラム
 本発明は、複数の脚を備えて自立歩行(走行)し、あるいは歩行を補助・支援し、乃至は姿勢解析のための脚型機構体、歩行ロボット、及びその姿勢制御技術に関する。
 歩行する脚型ロボットは、不整地を含め人の生活環境での移動を得意とするため、その基礎技術が盛んに研究されている。しかし、盛んな研究競争が繰り広げられているわりに、脚型ロボットの制御技術やハードウェア技術の限界から、実用化に至っている脚型ロボットは殆ど存在しない現状にある。脚型ロボットの技術的問題は、ロボットの大型化や高重量化、高価格化、鈍速化、転倒の発生などがある。これらの問題は、制御技術の問題やロボットが多数のアクチュエータを持つことを原因とするものが多い。従来の脚型ロボットのバランス制御は、ZMP(Zero Moment Point)を規範としたものが多い。しかし、ZMPが両脚の足裏から構成される平面外にあるときロボットの踵か爪先が浮いてしまい、そのとき接地している爪先や踵はアクチュエータを持たない関節と同等な状態になる。
 このような場合に有効なバランス制御法は、殆ど提案されてこなかった。また、従来のロボット制御技術の多くでは、ロボットの全自由度を制御するために足首に2個のアクチュエータを持つ。しかし、足先に2個のアクチュエータを取り付けると、足先が大型化、高重量化及び高価格化してしまう。また、その足先を動かすために膝や股関節のアクチュエータも高出力化する必要があるため、膝や股も大型化、高重量化及び高価格化する。結果として、ロボット全体が大型化、高重量化、高価格化及び鈍速化する。一方、足首にアクチュエータを持たない脚型ロボットは、少数ではあるが研究されている。それらの研究により、ロボットが特定の速度で歩行する制御アルゴリズムは確立されつつある。これにより、両脚足首の合計4個のアクチュエータが不要となり、ロボットの小型化、軽量化、低価格化及び高速化に貢献する。
 しかし、足首にアクチュエータを持たないロボットが一定の立位姿勢を保てることは、脚型ロボットの実用化には不可欠であるにも関わらず、一定の立位姿勢を保つための従来の制御技術は極めて不十分であり、課題となっている。
 特許文献1には、僅かな外力がロボットに作用したときに、元の立位姿勢に戻ることが可能な多関節ロボットの姿勢制御方法が記載されている。また、非特許文献1には、足首にアクチュエータを持つ脚型ロボットで、外力等によりロボットが押された場合に、足首トルクを使って元の姿勢に戻れる最大範囲を規定する技術が示されている。
特開2006-75945号公報
杉原知道、"最良重心-ZMP レギュレータに基づく二脚運動の立位可安定性と踏み出し"、第14回 ロボティクスシンポジア、PP.435-440、2009.
 特許文献1に記載の姿勢制御方法では、大きな外力が加わった場合にはロボットは転倒してしまうが、どのような状態であれば、元の立位姿勢に戻れるかという判定手法等の評価に関しては記載されていない。
 非特許文献1は、重心に外力が作用する場合に限定した制御技術を示したものであり、また、足首アクチュエータを備えたタイプの脚型ロボットである。足首アクチュエータが一定以上の足首トルクを出力した場合に、踵か爪先が地面から離れるため、地面に接地している爪先や踵部分はアクチュエータのない関節と同様な状態となるため、非特許文献1の制御方法では制御不能となる。さらに、ロボットの重心位置周りの角運動量を0と仮定しており、ロボットの重心位置周りに角運動量が発生した場合には対処できないため、現実に則したアルゴリズムとしては一定の限界がある。
 本発明は、上記に鑑みてなされたもので、足首周りの角運動量とその積分値を用いることで、足首アクチュエータの有無に関係なく転倒回避制御を可能とする脚型機構体、歩行ロボット、姿勢制御方法及びプログラムを提供するものである。
 本発明に係る脚型機構体は、少なくとも1個の脚の上部に相対的に姿勢変更可能に連結された本体と、前記脚及び本体の状態に基づいて前記本体の姿勢を安定にする姿勢制御手段とを備えた脚型機構体において、前記脚及び前記本体の各角度情報から、立脚状態にある脚の下端周りの角運動量及びその積分値を周期的に算出する状態算出手段と、算出された角運動量及びその積分値が目標値に対して近づく状態であるか離れる状態であるかを判定し、判定結果を前記姿勢制御手段に出力する判定手段とを備えたものである。
 また、本発明に係る姿勢制御方法は、少なくとも1個の脚の上部に相対的に姿勢変更可能に連結された本体の姿勢を、前記脚及び本体の状態に基づいて安定にする姿勢制御手段を備えた脚型機構体の姿勢制御方法において、前記脚及び前記本体の各角度情報から、立脚状態にある脚の下端周りの角運動量及びその積分値を周期的に算出する状態算出工程と、算出された角運動量及びその積分値が目標値に対して近づく状態であるか離れる状態であるかを判定し、判定結果を前記姿勢制御手段に出力する判定工程とを備えたものである。
 また、本発明に係るプログラムは、少なくとも1個の脚の上部に相対的に姿勢変更可能に連結された本体の姿勢を、前記脚及び本体の状態に基づいてコンピュータで安定に制御するプログラムにおいて、前記脚及び前記本体の各角度情報から、立脚状態にある脚の下端周りの角運動量及びその積分値を周期的に算出する状態算出手段、及び算出された角運動量及びその積分値が目標値に対して近づく状態であるか離れる状態であるかを判定し、判定結果を姿勢安定処理に供する判定手段、として前記コンピュータを機能させるものである。
 これらの発明によれば、姿勢制御手段によって、少なくとも1個の脚の上部に相対的に姿勢変更可能に連結された本体の姿勢が、脚及び本体の状態に基づいて安定に制御される。状態算出手段によって、脚及び本体の各角度情報から、立脚状態にある脚の下端周りの角運動量及びその積分値を周期的に算出され、判定手段によって、算出された角運動量及びその積分値が目標値に対して近づく状態であるか離れる状態であるかが判定され、判定結果が姿勢制御手段に出力される。従って、簡易な構成でありながら、本体の姿勢すなわち脚型機構体の姿勢のバランスが保たれ、外力を含む外乱によっても転倒が回避される。
 本発明によれば、足首周りの角運動量とその積分値を用いて転倒を回避する制御が可能となる。
本発明に係る歩行ロボットをモデル化した構成図である。 歩行ロボットの機能構成図である。 状態量である角運動量pを縦軸に、その積分値pI1を横軸にとった相図である。 外力の印加に対する姿勢安定処理のフローチャートである。 図1に対応する図で、足首にアクチュエータを備えた実施形態の構成図である。 歩行運動を生成するp-pI1相図である。 歩行運動中で本体の姿勢を変更することにより、より少ない歩数で目標の歩行速度を実現することと、歩行運動中での静止を回避する制御のためでのp-pI1相図である。
 図1は、本発明に係る歩行ロボットをモデル化した構成図である。図2は、歩行ロボットの機能構成図である。以下では、単にロボット1という。
 ロボット1は、複数本のリンク、例えば図1の紙面奥行き方向で左右対称となる2本の脚10(10L,10R)と、各脚10L,10Rの上部に連結された本体としての胴体20とを有する。各脚10L,10Rの上部は、関節に対応する脚アクチュエータの一例としての脚モータ31(左脚モータ31L及び右脚モータ31R)を介して、胴体20の下部と連結されている。
 脚モータ31によって、胴体20は、脚10に対して相対姿勢が変更可能となる。角度q1は、脚10と水平な地面EAとのなす角度(重力方向に対する角度)であり、角度q2は、脚10と胴体20とのなす角度である。角度q1は、遊脚状態の脚10の相対回転によって変更される。角度q2は、胴体20と脚10の相対回転によって変更される。具体的には、角度q2は、地面EAに接地した一方の脚10側の脚モータ31の駆動によって、あるいは接地した両方脚の脚モータ31の同期駆動によって変更される。角度q1は、外乱によって変更される他、角度q2の変更によってロボットの重心位置が変更されることによりロボット全体が足首周りに回転することで間接的に変更される。
 なお、脚10を長さ方向の途中で分割し、膝関節用の膝アクチュエータである膝モータ32(左膝モータ32L及び右膝モータ32R)を介して膝周りに相対回転可能に、又は膝部分が伸縮することで脚の長さが調節可能となるように連結された構成を採用してもよい。この場合、脚モータ31及び膝モータ32の各回転軸は互いに平行に設定されている。脚10を分割し、膝モータ32で連結する構成は必須ではないが、後述するように安定化可能範囲の拡大、また当該範囲外にある場合の踏み出し位置の精度を高める上で好ましい。
 各関節部分に相当する部分、例えば左右の脚10L,10Rの適所、及び胴体20の適所、例えば下部には、それぞれ角度センサ40が設けられている。角度センサ40は、本実施形態では、地面EAとの角度を検出する左脚角度センサ41Lと右脚角度センサ41R、及び脚10L,10Rとの角度を検出する胴体角度センサ42を有する。なお、左脚角度センサ41L及び右脚角度センサ41Rと、胴体角度センサ42との少なくとも一方には、例えば加速度センサを利用した重力センサが採用されている。それ以外のセンサは、関節部の相対回転量を角度情報として得るものでよい。いずれかに重力センサを採用することで、ロボット1の各部位について鉛直方向(図1、矢印g参照)に対する傾斜角度に置換することが可能となり、これによって、後述するようにロボット1の状態を知るための計算が可能となる。
 なお、図1では示していないが、角度センサ40は、ロボット1に採用される関節部位毎に設けられることで、胴体や各脚の質量分布の情報を元にロボットの重心位置や角運動量が算出可能となる。
 続いて、図1を参照しつつ、モデル化されたロボット1の姿勢制御方法を説明する。
(1)足首周りの角運動量に関する運動方程式
 図1において、紙面奥行き方向を左右方向、図の右方を前方とし、図の左方を後方として設定している。図1では、左右の脚10L,10Rは重なっている。また、ロボット1は、脚10の下端である足首にアクチュエータを持つ態様でもよいが、本実施形態では、アクチュエータを持たない態様で説明する。また、ここでは、簡単化のため1関節すなわち脚10と胴体20との連結部である関節(以下、腰という)を備えたモデルで説明するが、以下の内容は任意の関節数を持つロボットにも適用できる。
 まず、ロボットの運動方程式は、ラグランジュの運動方程式を用いて、数1で表される。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
のように、式(1)で示される。
 これらより、足首周りの角運動量pの時間変化は、
Figure JPOXMLDOC01-appb-M000003
 図1のように、足首にアクチュエータを持たない場合は、τ1 = 0となる。この場合、足首周りのロボット1の回転を制御するためには、重心位置xを適切に制御する必要があることがわかる。
(2)立直姿勢を保つためのpI1
 ロボット1が安定な姿勢(直立姿勢)を保つことができる関節角度ベクトル、つまりx= 0となる姿勢を、qと定義し、その近傍で足首周りの角運動量pを積分した量の近似値(以下、単に、積分値又は状態量と呼ぶ)を、
Figure JPOXMLDOC01-appb-M000004
と定義する。このとき、式(1)と慣性行列Mとの特性から、
Figure JPOXMLDOC01-appb-M000005
 これらのpとpI1とを0に収束させれば、ロボット1は足首周りに回転せず、かつ直立姿勢を保つことができる。
(3)胴体姿勢の調節によるpとpI1の制御
 胴体の角度qtrは、図1から、qtr=q+q―π/2 と定義できる。ロボット1は腰の部位に脚モータ31があるため、qtrは制御可能である。角運動量に関する式を考察すると、次式が近似的に成立する。
Figure JPOXMLDOC01-appb-M000006
ただし、cqtrは正の定数である。
Figure JPOXMLDOC01-appb-M000007
を得る。式(5)と式(2)とから、状態量をpとpI1とし、入力をqtrとした状態方程式
Figure JPOXMLDOC01-appb-M000008
が得られる。ここで、ロボット1の胴体20は脚10との干渉のため、一定角度以上は曲げられないことを考えて、
Figure JPOXMLDOC01-appb-M000009
という入力の制約を設定する。これらの状態方程式(6)と入力の制約(7)がある場合、状態量pとpI1とを0に収束させられる最大範囲は、
Figure JPOXMLDOC01-appb-M000010
となる。以下、この式(8)の範囲を、胴体姿勢による安定化可能範囲と呼び、式(8)が満たされない範囲を、安定化不可能範囲と呼ぶ。安定化可能範囲を最大化する入力の一例は、
Figure JPOXMLDOC01-appb-M000011
である。ただし、qtr>=qtrmaxのときは、qtr=qtrmaxとし、qtr<=qtrminのときは、qtr=qtrminとする。また、k,kは、一定の範囲で設定される定数である。よって、式(8)が満たされているときは、式(9)に従って胴体20の角度を調節することで、最終的に姿勢を安定化し得、式(8)が満たされないときは、一方の脚10を踏み出す必要があることが分かる。
 脚10を踏み出す場合、次に脚10を着いたときに安定化可能範囲にあれば、直立姿勢に戻ることができる。図1と式(3)とから、関節角度ベクトルqは、立脚と遊脚とが交換した瞬間に値が変わり、積分値pI1の値も瞬間的に変わる。そこで、脚10が着いたときに、式(8)が満たされるようにすれば、直立姿勢に戻ることが可能となる。そこで、
Figure JPOXMLDOC01-appb-M000012
となるように踏み出した脚10の足先を設定すれば、安定化不可能領域から最も離れること、すなわち安定化可能範囲の中央に入ることが可能となる。
 続いて、外力が作用した場合の姿勢安定化について、図3を参照しつつ説明する。図3は、状態量である角運動量pを縦軸に、その積分値pI1を横軸にとった相図である。なお、角運動量pは、回転の勢いを示すもので、ロボット1全体が足首周りに前回りに回転するとき正の値をとり、後ろ周りに回転するとき負の値をとる。また、積分値pI1は、ロボット1が前側に傾いているとき正の値をとり、ロボット1が後ろ側に傾いているとき負の値をとる。
 胴体20の姿勢が立直な場合、すなわちqtr=0のときの、状態量pとpI1の推移を図3の矢印ARで示す。また、ロボット1の転倒を防止するために、脚10と胴体20の連結位置(腰)の高さを一定以上に保つ必要があり、そのために、pI1の値を、図3の左右両側の線101,102で囲まれる領域内に留める必要がある。
 まず、矢印ARの意味を説明する。ロボット1の状態は、任意の時点で図3の相図内のある点(状態位置)に対応しており、その状態を継続すると、ロボット1の状態は、矢印ARで示す方向の状態位置に遷移する。例えば、ロボット1の現在の状態に対応する点が薄い網掛けを施した領域301内(いわゆる第2、第4象限)にある場合、時間経過に従って矢印ARに沿って移動して、p=0、pI1=0、すなわち立直静止(原点)側に近づくようになる。一方、ロボット1の現在の状態に対応する点が、領域302内(いわゆる第1、第3象限)にある場合、時間経過に従って矢印ARに沿って移動して、p,pI1共に絶対値が大きくなっていき、すなわち原点から離れて、最終的に線101,102で囲まれる領域外に飛び出してしまう。
 また、領域301内の、原点を通る線分201は以下の意味を有する。ある時点におけるロボット1の状態に対応する点が、この線分201上にある場合、時間経過に従って状態が遷移する結果、p=0、pI1=0、すなわち原点に到達(復帰)し得る。
 さらに、線分201を含む両側には、所定の幅を有する、濃い目の網掛けが施された領域202が設定されている。前記したように、ある時点でロボット1の状態が線分201上に一致するときは、ロボット1に対する姿勢制御は不要であるが、線分201から離れていても、所定の範囲内では、ロボット1の姿勢を制御することで、原点に戻すことが可能である。領域202は、この範囲を示すもので、式(8)で示す胴体姿勢による安定化可能範囲に該当する。そして、式(8)で示す安定化可能範囲内で胴体姿勢を制御する、胴体角度qtrの目標値を式(9)に示している。式(9)は、式(7)の制約の範囲内で、安定化可能範囲を最大化するものである。
 一方、安定化可能範囲202を除く領域301、及び領域302からは、そのままでは図3の原点(姿勢安定の目標値)に辿り着けない安定化不可能範囲であり、放置すれば最終的に転倒してしまうことになるため、一方の脚10を適切な時点で踏み出す必要がある。領域301に位置する場合、原点に近づく状態にあることから、脚を踏み出す必要はない。また、領域302に位置する場合、原点から離れていくので、足を踏み出す必要がある。踏み出す脚10は、次に着地によって状態量pI1が領域202に遷移する側である。脚10を着いたとき、領域202に入れれば、最終的に安定化可能となる。また、式(10)を満たすように脚10を着けば、状態量p、pI1は領域202の中心位置にくるため、安定化不可能範囲から最も遠ざかることができる。一方、領域202に入れない場合(例えば状態量pの値が大きすぎたり小さすぎたりした場合)、左右の線101,102の位置にくるように(図3中の左右に示す略図ロボットのように、遊脚側の脚を立脚側の脚から最大限離れた位置にするように)足を着くことで、次の歩で、状態量p、pI1の値が最大限原点に近づくことになる。これを繰り返すと、状態量p、pI1がどのような値であっても、最終的に安定化可能範囲に移行でき、式(9)を利用して原点に戻ることができる。
 図2において、ロボット1は、各モータ30を制御する、制御部100及び記憶部110を有する制御装置によって自立制御可能にされている。制御部100は、例えばマイクロコンピュータで構成され、モータ30、角度センサ40及び記憶部110と接続されている。記憶部110は、制御プログラム、制御プログラムを実行する上で、また各演算を実行する際に参照される各種の参照データを記憶するエリア、及びワークエリアを有している。制御部100は、制御プログラムを実行することで、角度情報取得部101、角度運動量算出部102、積分値算出部103、安定判定部104、姿勢目標設定部105、踏出指示部106、踏出目標設定部107、及び歩行制御部108として機能する。
 角度情報取得部101は、角度センサ40からそれぞれの角度情報を所定周期、例えば0.01秒~0.0001秒程度、一般的には0.001秒程度で取り込むものである。取り込み周期は、用途等に応じて適宜の範囲で設定可能である。角運動量算出部102は、各角度情報を取り込む毎に、立脚側の脚10の足首周りの角運動量pを、式(1)を実行して算出するものである。積分値算出部103は、式(3)を実行して、近似の積分値pI1を算出するものである。
 安定判定部104は、角運動量p、積分値pI1が得られる毎に、各種の制約条件を用いて、式(8)の判定処理を実行し、判定条件を満たす場合には、安定化可能範囲にあると判定し、そうでない場合は、安定化不可能範囲にあると判定する。姿勢目標設定部105は、判定結果が安定可能範囲である場合に、式(9)から得られる目標値を胴体20の姿勢制御信号として生成する。
 踏出指示部106は、判定結果が安定化不可能範囲である場合に、片方の脚10、例えば不安定となる方向に近い側の脚10に対する踏み出しの指示を行う。踏出目標設定部107は、踏み出し指示された側の脚10に対して、次の着地時に式(10)を満たすように足先位置の指令値を算出する。踏み出された遊脚と立脚との関係は、遊脚側の脚10が地面EAに接触した瞬間に遊脚は立脚に切り替わり、同時に立脚は遊脚に切り替わるものとする。遊脚と立脚とが切り替わるとき、図1と式(3)とから、関節角度ベクトルqは値が変わり、積分値pI1の値も瞬間的に切り替わる。この値は、脚10を着く位置を調節することにより、線101,102で囲まれた領域の任意の値をとる。なお、ここでは、遊脚と立脚とが入れ替わる、脚の衝突の際に生じる撃力は0として、遊脚と立脚とが切り替わるときにpの値は変化しないものとして扱っている。ただし、pの値が変化するとして扱ってもよい。
 一方の脚10を踏み出す場合、当該脚が着地した次の判定時点で、安定化可能範囲に入った、すなわち式(8)が満たされると判定されると、以後は、式(9)によって直立静止姿勢に戻ることができる。なお、式(10)から得られる目標値を設定することで、線分201に載せることが可能となる。
 一方、当該脚が着地した次の判定時点でも安定化不可能範囲と判定されると、線101,102上に位置するように遊脚側の脚10を立脚側の脚から最大限遠い位置に着地するように制御することで、その次の脚の踏み出しで、状態量p,pI1を最大限、原点に近づけることができ、最終的に直立姿勢に戻ることができる。角度情報取得部101~踏出目標設定部107は、かかる処理を繰り返すことで、外乱により生じた姿勢不安定を、脚10を移動せずに、あるいは移動させることによって安定姿勢に戻すことが可能となる。
 なお、歩行制御部108は、所定の速度で脚10L,10Rを交互に繰り出すように制御するものである。歩行時において転倒することなく交互に他方の脚10を踏み出す処理の詳細については後述する。
 次に、図4のフローチャートを用いて、外力の印加に対する姿勢安定処理を説明する。まず、角度情報を取得し、脚10の接地点周り(足首周り)の角運動量p及びその積分値pI1が所定の周期毎に算出される(ステップS1)。次いで、算出された角運動量p及びその積分値pI1に基づいて、式(8)による判定処理が実行される(ステップS3)。判定結果が安定化可能範囲であると、胴体姿勢の目標値qtrdが、式(9)に基づいて設定され(ステップS5)、脚モータ31に同期駆動指令される(ステップS7)。この場合、ステップS1~S5を所定周期で繰り返すことで、最終的に原点に戻る。
 一方、ステップS3で、判定結果が安定化不可能範囲であると、式(10)に基づいて目標足先位置が設定され、片方の脚10の脚モータ31に対して踏み出し駆動の指示が行われる(ステップS9)。次いで、ステップS1に戻り、次の検出周期で、ステップS3で安定化可能範囲に入ったか否かが判断され、入ったのであれば、最終的に原点に戻り、一方、入らなかった場合には、入るまでステップS9を繰り返し、最終的に、ステップS3を満たすことになる。
 次に、(4)足首にアクチュエータがある態様の制御について説明する。
 前記(1)~(3)で説明した内容は、図5のように脚10の下端に足首関節を介して足部11を備え、また足首関節にアクチュエータである足首モータ34が取り付けられたロボット1Aにも適用できる。足首モータ34は、地面EAに接地している足部11に対して脚10の相対角度を変える。足部11に足首モータ34が設けられている場合、式(2)のτは一定の範囲、
Figure JPOXMLDOC01-appb-M000013
で発生させられる。足首関節から足部11の爪先や踵までの距離が長いほど、この範囲は大きくなる。この範囲を超えると、爪先や踵が地面から離れる。地面から離れた爪先(又は踵)と反対側の地面に接触している踵(又は爪先)は、その接触点を中心に回転できる足首モータ34を持たない関節と同等な状態となる。この場合でも、足首にアクチュエータを持たない場合の制御法が適用できる。式(11)の範囲で姿勢を安定化できる場合は、足首関節により姿勢を安定化できるので、胴体姿勢を調節する必要はない。ただし、胴体姿勢を調節する態様としてもよい。ここでは、胴体姿勢は鉛直となるように設定して、qtr=0として説明を行う。このとき、式(1)と式(5)から、状態量をpとpI1とし、入力をτとした状態方程式
Figure JPOXMLDOC01-appb-M000014
が得られる。本式(12)と式(11)とから、足首トルクによってpとpI1とを0に収束させられる最大範囲は、
Figure JPOXMLDOC01-appb-M000015
となる。本式(13)の範囲を足首トルクによる安定化可能範囲と呼び、本式(13)が満たされない範囲を安定化不可能範囲と呼ぶ。安定化可能範囲を最大化する入力の一例は、
Figure JPOXMLDOC01-appb-M000016
である。ただし、τ>=τ1maxのときは、τ=τ1maxとし、τ<=τ1minのときは、τ=τ1minとする。また、k,kは、一定の範囲で設定する定数である。よって、式(13)が満たされているときは、式(14)を用いて姿勢を安定化する。式(13)が満たされない場合は、前述の胴体20の姿勢を用いた安定化法を併用する。両方併用した場合、式(6)と式(12)の入力であるqtrとτが両方作用することで、安定化可能範囲は、
Figure JPOXMLDOC01-appb-M000017
に広がる。それでも安定化できない場合は、前述のように脚10を踏み出し、次に足部11が着いたときに安定化できるように足部11の位置を制御すればよい。
(5)歩行運動への応用
 ここでは、以上の説明を応用して、さらに歩行運動を生成する制御法を説明する。足首にアクチュエータがない場合、τ=0を考える。このとき、式(6)から現在の状態量p(t),pI1(t)と、T秒後の状態量p(t+T),pI1(t+T)の関係を解析的に求める。
Figure JPOXMLDOC01-appb-M000018
である。これらの式(16),(17)から、胴体姿勢が立直な場合すなわちqtr=0のpとpI1の推移を図6の矢印ARで示す。転倒を防止するために腰の高さを一定以上に保つ必要があり、そのためにはpI1の値を、図6の線101,102で囲まれる範囲内に留める必要がある。図6中の右方向に歩行するためには、pI1が負の値をとっている初期姿勢から、pI1が正の値をとる姿勢まで推移し、同じ初期姿勢に戻れればよい。これを実現する軌道の一つを図6に歩行線401で示す。よって、一定の歩行を行うためには、図中の線101,102で囲まれた領域の任意の点から目標値としての歩行線401に辿り着けばよい。
 歩行制御部108は、両脚10L,10Rの交互踏み出し操作の制御信号を出力しつつ、さらに、角度情報取得部101~積分値算出部103及び踏出指示部106、踏出目標設定部107からの制御信号に従って、踏み出し及び着地位置を指示する。これを実現するためには、遊脚側の脚10を適切な位置に着けばよい。ここでは、遊脚側の脚10が地面EAに接触した瞬間に遊脚は立脚に切り替わり、同時に立脚は遊脚に切り替わるものとする。前述のように、遊脚と立脚が切り替わるとき、pI1の値は瞬間的に切り替わる。この値は、脚10を着く位置を調節することにより線101,102で囲まれた領域の任意の値に移動できる。なお、遊脚と立脚が入れ替わるとき、脚10の衝突の際に生じる撃力に応じてpの値も影響を受けるが、ここでは、前記したように撃力は0として、遊脚と立脚が切り替わるときにpI1の値は変化しないものとして扱う。ただし、pI1の値が変化する場合にも適用可能である。pとpI1とが歩行線401上の任意の点に辿り着くためには、例えば次のようなアルゴリズムを採用し、制御部100に実行させればよい。
 図6の領域301内に、pとpI1の値があるとき、一定時間経過するとこれらの値は歩行線401に近づく。よって、この場合、現運動をそのまま継続すればよい。それに対し、領域302内にあるときは歩行線401から遠ざかるため、遊脚側の脚10を適切な場所に着く必要がある。また、線101,102で囲まれた領域以外にある場合も、転倒を防止するために遊脚側の脚10を適切な場所に着く必要がある。脚10を着く位置は、次の1歩で、pとpI1の値が最も歩行線401に近づくことができる位置にする。これにより、図6中の線101,102で囲まれた任意の点から歩行線401に辿り着くことができる。外乱等の影響で、pとpI1が大きく変わったとしても、上記のアルゴリズムを継続して実行することで、自動的に目標の歩行状態(歩行線401)に収束することが可能となる。
 ただし、図6の原点に状態がある場合(p=0,pI1=0)には、ロボット1は歩行中であるにも関わらず停止してしまう。これを避ける方法として、胴体20を傾けることによって領域301に状態を推移させればよい。
 上記のアルゴリズムに胴体姿勢を調節する制御を加えることで、より少ない歩数で目標の歩行状態に辿り着くアルゴリズムが考えられる。すなわち、胴体姿勢が鉛直でないときc≠0となり,式(16)と式(17)から、pとpI1の推移は、図7の矢印ARのようになる。このとき、腰の高さを一定以上に保つpI1の値の範囲は、図7のように胴体20を傾けた方に広げることができる。これにより、pとpI1の値は、一歩でより歩行線401に近づけるようになる。pとpI1の値が、歩行線401に十分近づいたときは、胴体姿勢を鉛直に戻せば、目標とする歩行が実現できることになる。
 なお、前記実施形態では、ロボット1に外力が印加された場合を想定したが、その他、外乱として不整地歩行時等における姿勢バランスを損なう乃至は転倒しかねないような力が作用する場合を含む。また、力が作用する態様として、歩行中での脚の踏み出し、歩行状態から静止する場合での姿勢バランス制御にも適用できる。
 前記実施形態では、歩行ロボットで説明したが、本発明は、歩行ロボットに限定されず、足首にアクチュエータを備える脚ロボット、またアクチュエータを備える1脚型あるいは2脚型の歩行補助ロボットや義足等の脚型機構体に適用可能である。これらに適用することで、人体を含めた本体の姿勢バランスを制御して転倒防止を図るようにすることが可能となる。また、脚は左右で2本の他、3本型、4本型乃至はそれ以上の本数を有するものでもよい。また、脚を前後方向に踏み出す態様に限定されず、その他の方向にも踏み出す、例えば前後左右方向に踏み出し可能なように胴体との連結部に球状ジョイントを設ける態様としてもよい。
 前記実施形態における外力に対する姿勢バランス制御技術は、他の用途にも適用可能である。例えば、コンピュータグラフィックス(CG)において、仮想のキャラクタに種々の箇所に外力が作用した時の臨場感のある姿勢バランスの挙動を再現するべく、従来では、実際に人体(その他の生物含む)の各箇所にセンサを取付けて種々の動きを検出するモーチョンキャプチャー技術を用いていたが、前記実施形態におけるロボットを採用することで各種の姿勢バランスの挙動情報を容易に取得でき、CGへの利用に供することが可能となる。
 以上説明したように、本発明に係る脚型機構体は、少なくとも1個の脚の上部に相対的に姿勢変更可能に連結された本体と、前記脚及び本体の状態に基づいて前記本体の姿勢を安定にする姿勢制御手段とを備えた脚型機構体において、前記脚及び前記本体の各角度情報から、立脚状態にある脚の下端周りの角運動量及びその積分値を周期的に算出する状態算出手段と、算出された角運動量及びその積分値が目標値に対して近づく状態であるか離れる状態であるか、すなわち姿勢安定化の可能性の有無を判定し、判定結果を前記姿勢制御手段に出力する判定手段とを備えることが好ましい。
 また、本発明に係る姿勢制御方法は、少なくとも1個の脚の上部に相対的に姿勢変更可能に連結された本体の姿勢を、前記脚及び本体の状態に基づいて安定にする姿勢制御手段を備えた脚型機構体の姿勢制御方法において、前記脚及び前記本体の各角度情報から、立脚状態にある脚の下端周りの角運動量及びその積分値を周期的に算出する状態算出工程と、算出された角運動量及びその積分値が目標値に対して近づく状態であるか離れる状態であるか、すなわち姿勢安定化の可能性の有無を判定し、判定結果を前記姿勢制御手段に出力する判定工程とを備えることが好ましい。
 また、本発明に係るプログラムは、少なくとも1個の脚の上部に相対的に姿勢変更可能に連結された本体の姿勢を、前記脚及び本体の状態に基づいてコンピュータで安定に制御するプログラムにおいて、前記脚及び前記本体の各角度情報から、立脚状態にある脚の下端周りの角運動量及びその積分値を周期的に算出する状態算出手段、及び算出された角運動量及びその積分値が目標値に対して近づく状態であるか離れる状態であるか、すなわち姿勢安定化の可能性の有無を判定し、判定結果を姿勢安定処理に供する判定工程、として前記コンピュータを機能させることが好ましい。
 これらの発明によれば、姿勢制御手段によって、少なくとも1個の脚の上部に相対的に姿勢変更可能に連結された本体の姿勢が、脚及び本体の状態に基づいて安定に制御される。状態算出手段によって、脚及び本体の各角度情報から、立脚状態にある脚の下端周りの角運動量及びその積分値を周期的に算出され、判定手段によって、算出された角運動量及びその積分値が目標値に対して近づく状態であるか離れる状態であるか、すなわち姿勢安定化の可能性の有無が判定され、判定結果が姿勢制御手段に出力される。従って、簡易な構成でありながら、本体の姿勢すなわち脚型機構体の姿勢のバランスが保たれ、外力を含む外乱によっても転倒が回避される。
 また、前記脚型機構体は、前記脚及び前記本体の角度情報を検出する角度センサを備え、前記角度センサの少なくとも1個が重力方向に対する角度を検出可能とすることが好ましい。かかる構成によれば、角度センサの少なくとも1個に重力方向に対する角度を検出可能なものを用いるので、脚の下端周りの角運動量、その積分値が算出可能となる。
 また、前記脚型機構体は、複数の脚の上部に前記本体の姿勢を相対変更可能に連結する脚アクチュエータを備え、前記姿勢制御手段は、前記判定結果が、前記算出された角運動量及びその積分値が目標値に対して近づく状態であるとした場合、前記各脚の下端位置を静止させた状態で前記脚アクチュエータを駆動して前記本体の姿勢を安定させる第1の姿勢制御手段と、前記判定結果が、前記算出された角運動量及びその積分値が目標値に対して離れる状態であるとした場合、前記脚アクチュエータのいずれかを駆動して対応する脚の踏み出し操作を行って前記本体の姿勢を安定させる第2の姿勢制御手段とを備えることが好ましい。かかる構成によれば、算出された角運動量及びその積分値が目標値に対して近づく状態であるか離れる状態であるか、すなわち姿勢安定化の可能性の有無に応じて、第1の姿勢制御手段による、脚の踏み替えを行うことなく姿勢バランスを取る態様と、第2の姿勢制御手段による、踏み替えを行って姿勢バランスを取る態様とを採用したので、確実に姿勢バランスが取れることになる。
 また、前記姿勢制御手段は、前記脚アクチュエータに対して、判定時点における前記角運動量及びその積分値に基づいて前記本体の姿勢の目標値を設定することが好ましい。かかる構成によれば、目標値が、判定時点で一旦算出した角運動量及びその積分値に基づいて設定されるので、処理が容易となる。
 また、歩行ロボットは、複数の脚を有する脚型機構体において、前記複数の脚の各脚アクチュエータを個別に操作して歩行を行わせる歩行制御手段を備えることが好ましい。かかる構成によれば、歩行ロボットにおいて不可欠な静止時の姿勢バランスの制御が容易に行われる。また、歩行時における外乱に対しても姿勢バランス処理を適用することが可能となる。
 また、前記歩行ロボットは、前記脚が、長手方向の途中で分割され、関節アクチュエータを介して分割部位が相対回転又は伸縮可能に連結されていることが好ましい。かかる構成によれば、関節アクチュエータを作動することで、各関節の相対角度又は脚の長さを制御できるので、姿勢バランス性能が向上し、また着地位置の精度を高めることが可能となる。
 1 歩行ロボット(脚型機構体)
 10 脚
 20 胴体(本体)
 30 モータ(アクチュエータ)
 31 脚モータ(脚アクチュエータ)
 40 角度センサ
 100 制御部(姿勢制御手段)
 102 角運動量算出部(状態算出手段)
 103 積分値算出部(状態算出手段)
 104 安定判定部(判定手段)
 105 姿勢目標設定部(第1の姿勢制御手段)
 106 踏出指示部(第2の姿勢制御手段)
 107 踏出目標設定部(第2の姿勢制御手段)

Claims (8)

  1.  少なくとも1個の脚の上部に相対的に姿勢変更可能に連結された本体と、前記脚及び本体の状態に基づいて前記本体の姿勢を安定にする姿勢制御手段とを備えた脚型機構体において、
     前記脚及び前記本体の各角度情報から、立脚状態にある脚の下端周りの角運動量及びその積分値を周期的に算出する状態算出手段と、
     算出された角運動量及びその積分値が目標値に対して近づく状態であるか離れる状態であるかを判定し、判定結果を前記姿勢制御手段に出力する判定手段とを備えた脚型機構体。
  2.  前記脚及び前記本体の角度情報を検出する角度センサを備え、前記角度センサの少なくとも1個が重力方向に対する角度を検出可能であることを特徴とする請求項1に記載の脚型機構体。
  3.  複数の脚の上部に前記本体の姿勢を相対変更可能に連結する脚アクチュエータを備え、
     前記姿勢制御手段は、
     前記判定結果が、前記算出された角運動量及びその積分値が目標値に対して近づく状態であるとした場合、前記各脚の下端位置を静止させた状態で前記脚アクチュエータを駆動して前記本体の姿勢を安定させる第1の姿勢制御手段と、
     前記判定結果が、前記算出された角運動量及びその積分値が目標値に対して離れる状態であるとした場合、前記脚アクチュエータのいずれかを駆動して対応する脚の踏み出し操作を行って前記本体の姿勢を安定させる第2の姿勢制御手段とを備えた請求項1又は2に記載の脚型機構体。
  4.  前記姿勢制御手段は、前記脚アクチュエータに対して、判定時点における前記角運動量及びその積分値に基づいて前記本体の姿勢の目標値を設定する請求項3に記載の脚型機構体。
  5.  請求項3又は4に記載の脚型機構体に、前記複数の脚の各脚アクチュエータを個別に操作して歩行を行わせる歩行制御手段を備えた歩行ロボット。
  6.  前記脚は、長手方向の途中で分割され、関節アクチュエータを介して分割部位が相対回転又は伸縮可能に連結されていることを特徴とする請求項5に記載の歩行ロボット。
  7.  少なくとも1個の脚の上部に相対的に姿勢変更可能に連結された本体の姿勢を、前記脚及び本体の状態に基づいて安定にする姿勢制御手段を備えた脚型機構体の姿勢制御方法において、
     前記脚及び前記本体の各角度情報から、立脚状態にある脚の下端周りの角運動量及びその積分値を周期的に算出する状態算出工程と、
     算出された角運動量及びその積分値が目標値に対して近づく状態であるか離れる状態であるかを判定し、判定結果を前記姿勢制御手段に出力する判定工程とを備えた姿勢制御方法。
  8.  少なくとも1個の脚の上部に相対的に姿勢変更可能に連結された本体の姿勢を、前記脚及び本体の状態に基づいてコンピュータで安定に制御するプログラムにおいて、
     前記脚及び前記本体の各角度情報から、立脚状態にある脚の下端周りの角運動量及びその積分値を周期的に算出する状態算出手段、
     及び算出された角運動量及びその積分値が目標値に対して近づく状態であるか離れる状態であるかを判定し、判定結果を姿勢安定処理に供する判定手段、として前記コンピュータを機能させるプログラム。
PCT/JP2016/060915 2015-04-02 2016-04-01 脚型機構体、歩行ロボット、姿勢制御方法及びプログラム Ceased WO2016159346A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/562,478 US10589810B2 (en) 2015-04-02 2016-04-01 Legged mechanism, walking robot, method for controlling posture, and recording medium
JP2017510250A JP6407409B2 (ja) 2015-04-02 2016-04-01 脚型機構体、歩行ロボット、姿勢制御方法及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015075922 2015-04-02
JP2015-075922 2015-04-02

Publications (1)

Publication Number Publication Date
WO2016159346A1 true WO2016159346A1 (ja) 2016-10-06

Family

ID=57006107

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/060915 Ceased WO2016159346A1 (ja) 2015-04-02 2016-04-01 脚型機構体、歩行ロボット、姿勢制御方法及びプログラム

Country Status (3)

Country Link
US (1) US10589810B2 (ja)
JP (1) JP6407409B2 (ja)
WO (1) WO2016159346A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6823569B2 (ja) * 2017-09-04 2021-02-03 本田技研工業株式会社 目標zmp軌道の生成装置
DE102019107969B3 (de) * 2019-03-28 2020-08-06 Franka Emika Gmbh Lagewinkelanzeige beim manuellen Führen eines Robotermanipulators
US12005584B2 (en) * 2020-12-22 2024-06-11 Ubtech Robotics Corp Ltd Pose control method, robot and computer-readable storage medium
CN118907264B (zh) * 2024-08-23 2025-11-21 七腾机器人有限公司 一种四足机器人腿部结构及四足机器人

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005088113A (ja) * 2003-09-16 2005-04-07 Advanced Telecommunication Research Institute International 2足歩行移動体および2足歩行制御方法
WO2006040868A1 (ja) * 2004-10-15 2006-04-20 Honda Motor Co., Ltd. 脚式移動ロボットの歩容生成装置
US20070016329A1 (en) * 2005-03-31 2007-01-18 Massachusetts Institute Of Technology Biomimetic motion and balance controllers for use in prosthetics, orthotics and robotics
JP2008534304A (ja) * 2005-03-30 2008-08-28 本田技研工業株式会社 二段階外乱応答手法を用いた脚式ロボットの制御システムおよび制御方法
US20130013111A1 (en) * 2011-07-05 2013-01-10 Jonathan Hurst Apparatus and method for legged locomotion integrating passive dynamics with active force control

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003057423A1 (en) * 2001-12-28 2003-07-17 Honda Giken Kogyo Kabushiki Kaisha Gait producing device for leg type movable robot
KR101083414B1 (ko) * 2003-06-27 2011-11-14 혼다 기켄 고교 가부시키가이샤 다리식 이동 로봇의 제어장치
JP4199236B2 (ja) * 2003-06-27 2008-12-17 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
US8060253B2 (en) * 2004-03-31 2011-11-15 Honda Motor Co., Ltd. Systems and methods for controlling a legged robot based on rate of change of angular momentum
JP4548135B2 (ja) * 2005-02-03 2010-09-22 トヨタ自動車株式会社 脚式ロボットとその制御方法
WO2011106543A1 (en) * 2010-02-25 2011-09-01 Honda Motor Co., Ltd. A momentum-based balance controller for humanoid robots on non-level and non-stationary ground
JP5398592B2 (ja) * 2010-03-01 2014-01-29 本田技研工業株式会社 脚式移動ロボットの運動状態評価装置
US8428780B2 (en) * 2010-03-01 2013-04-23 Honda Motor Co., Ltd. External force target generating device of legged mobile robot

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005088113A (ja) * 2003-09-16 2005-04-07 Advanced Telecommunication Research Institute International 2足歩行移動体および2足歩行制御方法
WO2006040868A1 (ja) * 2004-10-15 2006-04-20 Honda Motor Co., Ltd. 脚式移動ロボットの歩容生成装置
JP2008534304A (ja) * 2005-03-30 2008-08-28 本田技研工業株式会社 二段階外乱応答手法を用いた脚式ロボットの制御システムおよび制御方法
US20070016329A1 (en) * 2005-03-31 2007-01-18 Massachusetts Institute Of Technology Biomimetic motion and balance controllers for use in prosthetics, orthotics and robotics
US20130013111A1 (en) * 2011-07-05 2013-01-10 Jonathan Hurst Apparatus and method for legged locomotion integrating passive dynamics with active force control

Also Published As

Publication number Publication date
JPWO2016159346A1 (ja) 2018-01-25
US10589810B2 (en) 2020-03-17
JP6407409B2 (ja) 2018-10-17
US20180093725A1 (en) 2018-04-05

Similar Documents

Publication Publication Date Title
US7805218B2 (en) Robot device and control method of robot device
JP4998506B2 (ja) ロボット制御装置、ロボット制御方法、及び脚式ロボット
JP4513320B2 (ja) ロボット装置、並びにロボット装置の運動制御方法
US9043029B2 (en) Walking robot and method for controlling posture thereof
CN103257652B (zh) 步行机器人及其控制方法
JP5803039B2 (ja) 移動ロボットの歩行動作の制御方法およびその方法を実装したロボット
US9079624B2 (en) Walking robot and method of controlling balance thereof
US20130079929A1 (en) Robot and control method thereof
US20110172824A1 (en) Walking robot and method of controlling the same
KR20120134036A (ko) 로봇 및 그 제어방법
JP6682341B2 (ja) 歩行制御方法、歩行制御プログラム及び2足歩行ロボット
US20110172823A1 (en) Robot and control method thereof
KR20110017500A (ko) 다리식 이동 로봇의 제어장치 및 그 제어방법
KR20120071599A (ko) 보행 로봇 및 그 제어 방법
JP6407409B2 (ja) 脚型機構体、歩行ロボット、姿勢制御方法及びプログラム
JP4483254B2 (ja) ロボット装置及びロボット装置の制御方法
KR20200099664A (ko) 로봇의 보행 제어시스템 및 제어방법
JP2009107033A (ja) 脚式移動ロボット及びその制御方法
CN119734255A (zh) 一种冗余自由度约束的类人机器人预测控制方法及机器人
JP2006116672A (ja) 2脚ロボットの歩行制御装置および歩行制御方式
JP2009255231A (ja) 歩行制御装置および歩行制御方法
JP2009125838A (ja) 二足歩行ロボットおよびその歩行制御方法
TWM677250U (zh) 人形機器人
Kien et al. Motion planning of a bipedal walking robot with leg-mounted ultrasonic sensors—An experimental study
JP2008126382A (ja) 脚式移動ロボット、及びその制御方法

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: 16773226

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017510250

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15562478

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16773226

Country of ref document: EP

Kind code of ref document: A1