計測自動制御学会東北支部 第 245 回研究集会 (2008.10.24)
資料番号 245-6

ヒューマノイドロボットの自立歩行に関する研究
A Research on Automatic Walking of Humanoid Robot○冨樫淳輝 ∗ ，大久保重範 ∗∗○ Junki Togashi∗ , Okubo Shigenori∗∗*山形大学*Yamagata University
キーワード : パルス (pulse)，ジャイロ (gyro)，静歩行 (static walk)，動歩行 (dynamic walk)，
連絡先 : 〒 992-8510 米沢市城南 4-3-16 山形大学 工学部 機械システム工学科 大久保研究室
冨樫淳輝，Tel.: (0238)26-3245，Fax.: (0238)26-3245，E-mail: jt3156204@yahoo.co.jp

1.

緒言

本研究は、小型ヒューマノイドロボットに動歩行を行わせることを目的とする。
静歩行は、重心が常に足裏にあるのに対し、動歩行は人間の歩行と同じ様に重心が足裏に無く、上体を倒す力で歩行を行う。一般的に、動歩行の方が制御は難しいが素早い歩行が可能とされている 1) 。

Fig. 1

ヒューマノイド

以上のことから、将来ヒューマノイドロボットが社会に順応するには動歩行の方が有利と考えられる。

2.

3.

構成

3.1

アクチュエーター

研究対象使用したアクチュエーターのスペック 2) を以下

この研究では Fig. １の自作ヒューマノイドを使に示す。

1) メーカー用して行った。
重量は 1.6kg、自由度は 11 である。

2) 種別

サーボモーター3) 製品名MiniS RB9954) 動作電圧–1–

ミニスタジオ有限会社

DC4.8V〜6V5) トルク

10.5kg.cm(6V)

10) ADC

6) 稼動範囲± 90 °

11) クロック

16MHz

7) 移動速度0.19s/60 °(6V)12) 使用個数

1個8) 駆動方式

デジタル13) 外観

10bit 分解能 8ch

Fig.3 に示す。

9) 使用個数 13個(自由度と差があるのは、同じ信号で 2 つのサーボモーターを動かしている箇所があるため。)

10) 外観Fig.2 に示す。

Fig. 3

3.3

ATmega32 マイコンボード

センサ

使用したセンサのスペック 4) を以下に示す。

Fig. 2

1) メーカーMiniS RB995

2) 種別

ジャイロセンサ

3) 製品名3.2

近藤科学株式会社

KRG-1

IC4) 動作電圧

DC3V〜12V

3)使用した IC のスペック を以下に示す。

5) 特徴
1) メーカー2) 製品名株式会社ベストテクノロジー

5) 入出ポート

7) 外観

Fig.4 に示す。

32 本
32kB

1kB
Fig. 42kB9) カウンタ

1個

10,000 回

6) FLASH ROM
7) EEROM

6) 使用個数DC4.5V〜5.5V

4) 書換補償回数

8) RAMPWM に変換して出力することもできる。

ATmega32 マイコンボード

3) 動作電圧

入力信号無しに単体でジャイロ効果を

8bit 2ch

16bit 1ch–2–KRG-1

3.4

今後の拡張も考えて、ポートCの0番〜8番とポー電源

ト D の 2 番〜8 番の計 14 ポートをサーボモーターの使用した電源のスペックを以下に示す。

駆動のために使った。

1) IC 電源

アルカリ乾電池 006P 型 9V × 1

2) サ ー ボ 電 源

ニッケ ル 水 素 バッテ リ 単 三 型

1.2V2500mAh × 5(計 6V)

4.

開発環境

プログラムの製作、書き込みは、株式会社ベストテクノロジー 3) よりフリーで配布されている GCC

Developer Lite(以下 GDL)Ver1.9.1.6 を使用した。
GDL は、エディタ、コンパイラ、ライタ、通信モニタープログラムが一体となっている C 言語の開発環境である。

GDL を Fig.5 に示す。

Fig. 5

Fig. 6GDL5.

サーボモーターの駆動

5.1

パルスの生成過程

5.2

パルスの生成過程

パルスの生成方法

時間を正確に計るために、ATmega32 に内蔵されているタイマ/カウンタと比較カウンタとのマッパルスで命令を送るタイプのサーボモーターのチによる割り込みを使用する。

場合、全般的に 20mS の周期で、パルス幅が 0.6mS1)〜2.4mS のパルスで動く場合が多い 。

1 フェーズごとの時間はタイマ 1 の比較マッチ割
り込み A を CTC モード (設定した値にカンタが達

このパルスを、電流の急激な上昇を抑えるために Fig.6 に示すようにフェーズごとにずらして発生すると、カウンタを 0 に戻すモード) で使用し生成した。

させた。

ポート C のパルス幅はタイマ 1 の比較マッチ割り
込み B をノーマルモードで使用し生成した。

–3–

ポート D のパルス幅はタイマ 0 の比較マッチ割り

これを、移動速度調節関数としてプログラムに組み込んだ。

込みをノーマルモードで使用し生成した。
なお、タイマ 0 は 8bit、タイマ 1 は 16bit のカウンタである。
各タイマの比較マッチさせる値は下記のように7.

静歩行

7.1

静歩行の過程求められる。クロックは共通で、16MHz として計何もデータの無い状態から動歩行を製作するの算した。
タイマ 1 の比較マッチ割り込み A の値は、生成すは困難である。そこでまず静歩行を製作し、それる時間が 2.5mS であるので、1/64 分周 (64 クロックを元にセンサの追加や、モーションの調節を施すで 1 カウントという意味) として、16,000,000[Hz] ×ことで、動歩行を製作することにした。Fig.7 に静0.0025[S]/64=625 となり、625 と比較マッチさせれ歩行のフローチャートを示す。

ば 2.5mS を生成できる。
タ イ マ 1 の 比 較 マッチ 割 り 込 み B の 値 の 範
囲 は 、生 成 す る 時 間 が 0.6mS〜2.4mS で あ る ので 、1/64 分 周 と し て 、16,000,000[Hz] × 0.0006〜0.0024[S]/64=150〜600 となり、150〜600 の範囲と比較マッチさせればサーボモーター用のパルス幅を生成できる。
タ イ マ 0 の 比 較 マッチ 割 り 込 み の 値 の 範 囲は 、生 成 す る 時 間 が 0.6mS〜2.4mS で あ る の で 、1/256 分 周 と し て 、16,000,000[Hz] × 0.0006〜0.0024[S]/256=38〜150 と な り、38〜150 の 範 囲 と比較マッチさせればサーボモーター用のパルス幅を生成できる。

6.

移動速度の調節今回使用したサーボモーター自身には移動速度を調節する機能は備わっていない。そこで、ソフ

Fig. 7

ト的に速度の調節を行う。

静歩行フローチャート

目標地点までの角度を適当に分割し、目標地点に向かって一定の間隔を空けて分割された角度分サーボモーターを動かす。この場合、分割数を多く7.2すれば遅くなり、少なくすれば速く動く。つまり、分割数を変動させることで、サーボモーターの移静歩行の連続写真

静歩行のプログラムを実行したときのヒューマノイドの動きを Fig.8 に示す。

動速度をコントロールできるということになる。

各番号でのヒューマノイドの状態は次のとおりである。

–4–

1) ホームポディション
2) 右体重移動 (1 歩目)
3) 左足上げる
4) 左足下げる5) 左体重移動
6) 右足上げる
7) 右足下げる8) 右体重移動プログラムでは 3〜8 を無限ループにしている。
なお、改修を行った後撮影したため、外見がFig.1と若干異なる。

8.

ジャイロ効果のミキシング

8.1

ミキシング方法

ジャイロセンサとは、角加速度を測定するセンサで、姿勢制御などに用いられる。

KRG-1 で角加速度を測定するのには、無負荷の状態で基準となるパルスを測定し、角加速度が発生したときのパルスとの差を計算することで測定できる。この測定結果をサーボモーターに反映すれば、ジャイロ効果のミキシングができる。
小型ヒューマノイドの場合、歩行中に角加速度が常に変化していると考えられるので、短いスパンでセンサの測定を行う必要がある。このような場合、タイマ/カウンタを利用した割り込みで実現させるが、本研究ではサーボモーターの駆動に使用しているため不可能である。そこで、プログラ

Fig. 8静歩行の連続写真

ム中のウェイト関数内にセンサの測定プログラムを記述することにした。移動速度の調節にもこの関数を使用しているので、メイン関数でウェイト関数か、移動速度調節関数を走らせていれば、必ずセンサの測定プログラムが実行される。つまり–5–

割り込みを使わずとも短いスパンでセンサの測定を行うことが可能になる。

8.2

ジャイロの設置

ジャイロをFig.9の赤丸で示した位置に設置した。
前後の角加速度を検出するように、ラベル面を前方に、入出力ピンの面を下方になるように設置している。
出力信号はポート B の 0 番に接続した。

Fig. 10

Fig. 9

動歩行フローチャートジャイロの設置位置

9.

動歩行

9.1

動歩行の過程静歩行を元に、次のような改良を行い、動歩行のモーションを作成した。
足を下げるモーションを介さず、体重移動モーションへと移行するようにした。
体重移動の際に足を左右に広げ、安定するようにした。Fig.10 に動歩行のフローチャートを示す。

9.2

動歩行の連続写真

動歩行のプログラムを実行したときのヒューマノイドの動きを Fig.11 に示す。

–6–

Fig. 11

動歩行の連続写真

各番号でのヒューマノイドの状態は次のとおりである。

1) ホームポディション
2) 右体重移動 (1 歩目)
3) 左足上げる
4) 左体重移動
5) 右足上げる
6) 右体重移動プログラムでは 3〜6 を無限ループにしている。
なお、改修を行った後撮影したため、外見がFig.1と若干異なる。

10.

結言

本研究では、ヒューマノイドロボットに動歩行させることには成功した。
しかし、直線的に歩行するのが困難であったり、地面が傾くと歩けなくなったりと、不安定な歩行であることは否めない。
今回使用したセンサは 1 種類だけであったが、接地面の状況を察知する感圧センサや、周囲の障害物の状況を察知する距離センサなどを追加し、それらのセンサからの情報をフィールドバックさせ、さらに安定した動作を行わせる必要がある。

参考文献
1) 浅草ギ研 (著): 二足歩行ロボット製作超入門 バッテ
リーから RC サーボまで，オーム社 (2006)2) http://www.ministudio.co.jp/Japanese/3) http://www.besttechnology.co.jp/
4) http://www.kondo-robot.com/index.php–7–