平成 14 年度
修士論文

二足歩行ロボットの製作と基礎実験
Development and Fundamental Experiment of Biped Robot

指導教員
井上喜雄 教授
副指導教員
岡 宏一 助教授

高知工科大学大学院
知能機械システム工学コース
博士課程前期1055062
松谷 融

1

目次
1.

2.

3.

4.

5.

序論…………………………………………………………………………………………...…3
1.1.

緒言…………………………………………………………………………………3

1.2.

本論文の構成………………………………………………………………………4

二足歩行ロボット本体の製作………………………………………………………………...5
2.1.

ロボット本体の構成………………………………………………………………52.2.

制御用コンピュータ………………………………………………………………6

2.3.

全体の構成…………………………………………………………………………8

二足歩行ロボットの機構……………………………………………………………………...9
3.1.

モデルの全体機構と座標系………………………………………………………93.2.

脚機構……………………………………………………………………………..103.3.

脚関節角度の仮定………………………………………………………………..10

制御プログラムの作成…………………………………………………………………….....13
4.1.

3 次元シミュレータの作成……………………………………………………..13

4.2.

サーボモータの制御……………………………………………………………..144.3.

制御プログラムの作成…………………………………………………………..14

実験………………………………………………………………………………………….....18
5.1.

5.2.

5.3.
6.

予備実験…………………………………………………………………………..19
5.1.1.

実験方法……………………………………………………………...19

5.1.2.

実験結果……………………………………………………………...19

歩行実験…………………………………………………………………………..21
5.2.1.

実験方法……………………………………………………………...21

5.2.2.

実験結果……………………………………………………………...21

考察………………………………………………………………………………..25

結言………………………………………………………………………………………….....26
謝辞，参考文献付録 1 製作した二足歩行ロボット本体………………………………………………………..27

2

1.

序論

1.1.

緒言

近年，ヒューマノイドタイプのロボットの研究が盛んに行われている．その背景には，アニメなどの空想世界において「人間とロボットが共生している世界」の描写がなされていることや，現実世界において本田技研の ASIMO やソニーの SDR-３X，北野共生システ
ムプロジェクトの PINO など，ヒューマノイドタイプのロボットが発表され，身近な話題としてロボットがとりあげられるようになったからだと考えられる．また，様々な機能を有するロボット製作キットが販売されるなど，専門的な研究者でなくともロボットを製作することができる環境が整いつつある．
しかし，二足歩行ロボットは本質的には不安定系であるため，二足歩行ロボットの実現には解決すべき問題が多い．まず制御の問題として，人間が行っているような円滑で巧みな動作の実現については多くの研究がなされているものの，まだ多くの課題が残っている．
例えば，制御プログラムを作成するにはロボット及びロボットと外部環境との相互作用に関する厳密な数学モデルが必要となり，それらのモデルに含まれるパラメータの正確な値を決定しなければならないが，それを完璧に行うことは現実的には非常に厳しい．近似的な数学モデルとパラメータの近似値が得られ，その結果をもとにしたプログラムが作られたとしても，プログラムによる決まった制御しかできないため，想定されていない環境や条件に遭遇した場合には問題が生ずる．また，それらをもとにしたシミュレーションによる実験は多数行われているが，現実に歩行させるには困難な場合が多い．
そこで本論文では，専門的な研究者でない者でも二足歩行ロボットを製作することが可能かどうかを検討する．まずロボット本体を製作し，それをシミュレーションだけでなく実際に歩行させることで様々な問題点を見つけ出し，その問題点を人間が数値を変化させフィードバックすることで二足歩行ロボットを歩行させる一連のシステムを製作する．
具体的には，既存のロボット製作キットやラジコン用サーボモータなどを用い，ロボッ
ト本体を製作することで，実際の下肢関節間の長さ（リンク長）や質量，関節位置などを計測する．
次に 3 次元シミュレーションプログラムの作成を行う．これにより，コンピュータ上で下肢関節の位置や，角度などを感覚的につかむことが可能となる．
続いてロボットを制御するためのプログラムの作成を行う．二足歩行ロボットの動作には個人でロボットを作る場合，制御用コンピュータとしてマイコンが多用されている．そこでまず，本論文でも動作にはマイコン（PIC16F84A-20/P）を用いた．これはアセンブラの簡素な命令形態でどの程度まで制御を行うことができるかをつかみ，また各関節位置や角度などの数値を実際に求め，意識的に入力するためである．
これらを組み合わせることでロボットを動かし，一連のシステムを構築する．

3

1.2.

本論文の構成2 章では，本論文で用いる二足歩行ロボットの概要説明と，本体の構成について述べる．
3 章では二足歩行ロボットのモデルをもとにした座標系や運動力学などから歩行に必要な脚先位置を求める方法について述べる．4 章では二足歩行ロボットを制御するために用いたプログラムについて述べる．最後に 5 章で本論文についての考察を述べる．

4

2.

二足歩行ロボット本体の製作
本章では，本論文で用いる二足歩行ロボットの本体構造について述べる．
アニメなどの空想世界において「21 世紀は人間とロボットが共生している世界となっている」という描写がなされたり，現実世界においては本田技研の ASIMO やソニーのSDR-3X，北野共生システムプロジェクトの PINO のような，ヒューマノイドタイプのロボットが発表されたりするなど，身近な話題としてロボットがとりあげられるようになりつつある．また，障害物を避けるための赤外線センサやライントレースシステムなどの様々な機能を付加したロボットの製作キットが販売されるなど，専門的な研究者でなくとも様々な機能を有するロボットを製作することができる環境が整いつつある．そこで本論文で製作した二足歩行ロボットも，一般で販売されている部品を用い，歩行にのみ特化することで複雑な機能を排除した．製作した二足歩行ロボット本体の写真を付録 1 に示す．
2.1.

ロボット本体の構成

ロボット本体を製作するにあたり，関節部にはサーボモータを用いた．また，サーボモ
ータ同士を連結させるためにブラケットを用いた．全体のモデルとサーボホーンの方向を
図 2-1 に示す．

7

1
2

8
9

3

10

4

11

5

12

6

図 2-1

製作したロボットモデル

5

サーボモータ（図 2-1 1〜12）には，近藤科学製 PDS-2143FET を使用した．これは，回転速度 0.08sec/60 度，トルク 8.0Kg/cm，重量 54.5g，金属ギアを備えたデジタルサーボである．デジタルサーボの利点として，
アナログサーボに比べ応答性がよい
常に信号を処理しているなどがあげられ，短期間に多くの処理が必要となる動作に適していると思われる．また歩
行動作が目的のため，脚関節を持ち上げる際の負荷や自重からサーボホーンに高負荷がかかることが考えられる．そこで，金属ギアを使用しており，比較的軽量かつ高トルクのサーボモータを選定した．
サーボモータ保持のためのブラケットには，イトーレイネツ社製の SCT-01K を使用した．
これは金属製のサーボブラケットで，前出のサーボモータに適応する．また，足と地面の接地面（足裏）や股関節の連結にはイトーレイネツ社製の SCOP-001 を用いた．
足裏には厚さ 3 ミリのゴムシートを緩衝材として貼り付けた．
2.2.

制御用コンピュータ

関節位置や角度の制御をするためのコンピュータにはワンチップマイコンを用いた．個
人でロボットを作る場合，制御用コンピュータとして日立製作所の H8 やザロイン社の Z80 などのマイコンが多用されている．本論文では関節位置や角度の制御にマイクロチップ
テクノロジー社の PIC（Peripheral Interface Controller）を用いた．
PIC はピン数やメモリ容量，D/A 変換機能の有無などによって様々な種類があり，主にPC の周辺機器や，個別機能ごとの制御などに用いられる．あまり高機能，高性能とは言えないが，ミドルレンジシリーズの場合，プログラム命令数が 35 個と非常に簡素で，なおか
つ安価なことが特徴である．また，C コンパイラーを用いることで，C 言語によるプログラ
ム開発も可能となる．
制御用マイコンに PIC を用いた理由としては，PIC 制御用のアセンブラ言語の簡素な命令形態でどの程度まで制御を行うことができるかをつかみ，各関節位置や角度などの数値を実際に求めることを目的としたためである．また，命令数によって時間のカウントをとることができ，確実なタイムループを作成できることで，割り込みの概念を捉えにくい人にも用いることが容易であると考えたためである．
今回用いた PIC16F84A-20/P は 5V の電源と，外部に接続された水晶発振帯で生成された周波数によって作動する．本論文のようにセンサなどでロボットの状態を知ることを目的としないならば，最適なマイコンではないかと考えられる．
対応周波数は 20MHz までとなっているが，今回は 10MHz で用いた．これは動作プログ
ラムを作る際にタイマカウンタの計算を簡素化するためである．
本論文では，右脚制御用マイコン，左脚制御用マイコンを作成し，それぞれで各脚の制御を行った．これは PIC の最高出力数が限られているためである．各出力端子からそれぞ

6

れのサーボモータへの接続は，途中にプルアップ用の抵抗を接続している．
サーボ制御用の基盤回路図を図 2-2 に示す．なお，本論文ではサーボモータ 1〜6（図 21 中）には右脚制御用マイコンの出力端子 RA0〜RA4，RB0 が，サーボモータ 7〜12（図2-1 中）には左足制御用マイコンの出力端子 RB1 から RB6 が接続されている．

20pF

SERVO

20pF
7.2V

10MHz

5V
抵抗

2kΩ
18 17 16 15 14

水晶発振帯

13 12 11 10

PIC16F84A-20/P
1

2

3

4

5

6

7

8

コンデンサ

9
+

電解コンデンサ
グラウンド
IN
9V

+

78L05

OUT

+

GND

47μF

47μF

PIC16F84A-20/Pの 1,2,3,6,7,8,9,10,11,12,17 番
ピンは 18 番ピンと同様

図 2-2

制御用基盤回路図

7

2.3.

全体の構成

本論文ではロボットを動作させるための装置を図 2-3 に示すような構成とした．
プログラミングソフトには MPLAB（マイクロチップテクノロジー社）を，書き込みソフトには PICEE をそれぞれ用いた．プログラムの作成に用いたコンピュータは IBM-PC 互換
機，書き込み装置は自作の PIC ライターとし，書き込みは PC のプリンタコネクタより行
った．

MPLAB

IBM/PC互換機

PICライター
制御基盤
PIC16F84A-20/P
図 2-3

全体の構成

PIC ライターにより書き込まれた PIC16F84A-20/P を制御基盤に移し変え，制御基盤を作動させることでロボットを動作させる．

8

3.

二足歩行ロボットの機構
本章では，本論文で使用する二足歩行ロボットのモデルについて述べる．
二足歩行ロボットを歩行させる際には，腰位置から足の裏，つまり下肢関節の長さや関

節位置，関節の角度などが重要なポイントとなってくる．特に，下肢関節の角度を決定することで歩行のタイミングや歩行の様子，周期などが決定される．そこで本論文で製作したロボット（第 2 章を参照）のモデルを示すとともに，歩行を決定する要素を仮定する．
3.1.

モデルの全体構成と座標系製作した二足歩行ロボットのモデルを図 3-1 に示す．ロボットの進行方向を x 方向，進行方向に対して垂直な方向を y 方向，ロボットの高さの方向を z 方向とする座標系をとる．
また，ロボットは 6 自由度を持つ脚を 2 本持ち，進行方向に対して交互に脚を出すことにより歩行をおこなう．

ｙxz

図 3-1 二足歩行ロボットのモデル

9

3.2.

脚機構

脚の機構と座標軸，回転方向のモデルを図 3-2 に示す．リンク長はそれぞれ，L1=16mm，
L2＝60mm，L3=78mm，L4＝68mm，L5=60mm，L6=12mm となっている．また，回転方向はそれぞれ，Θ1（サーボ 1，7 に対応）は Z 軸周り，Θ2（サーボ 2，8 に対応），Θ6（サーボ 6，12 に対応）は X 軸周り，Θ3（サーボ 3，9 に対応），Θ4（サーボ 4，10 に対応），Θ5（サーボ 5，11 に対応）は Y 軸周りとなっている．

x

y
ｚ

θ1
L1
θ2
L2
θ3
L3

θ4
L4
θ5
L5
θ6
L6

図 3-2

3.3.

脚の機構

脚関節角度の仮定

二足歩行ロボットを歩行させる際には，腰位置から脚の裏，つまり下肢関節の長さや関
節位置，関節の角度などが重要なポイントとなってくる．特に，下肢関節の角度を決める

10

ことで歩行のタイミングや歩行の様子，周期などが決定される．これらの要素は運動方程式をもとに導出する方法や，二足歩行をおこなう動物（人間）の動きをもとに関節角度を仮定する方法によって求められる．
運動方程式を用いる場合の一般的な手法として，
1. 各角度をから脚先の位置を求める順運動学
2. 脚先の位置から各角度を求める逆運動学があげられる．
本論文では，図 3-2 に示したモデルを元に，脚先位置 P(x,y,z)を求める．
順運動学より，P(x,y,z)はそれぞれ

x = cos θ1{L3 sin θ 3 + L4 sin(θ 3 + θ 4 ) + L5 sin(θ 3 + θ 4 + θ 5 ) + L6 cos θ 6 sin(θ 3 + θ 4 + θ 5 )}+ sin θ1[sin θ 2 {L2 + L3 cosθ 3 + L4 cos(θ 3 + θ 4 ) + L5 cos(θ 3 + θ 4 + θ 5 } + L6 cos(θ 3 + θ 4 + θ 5 ) cosθ 6 }+ L6 cosθ 2 sin θ 6 ]y = sin θ1{L3 sin θ 3 + L4 sin(θ 3 + θ 4 ) + L5 sin(θ 3 + θ 4 + θ 5 ) + L6 cos θ 6 sin(θ 3 + θ 4 + θ 5 )}− cos θ1[sin θ 2{L2 + L3 cos θ 3 + L4 cos(θ 3 + θ 4 } + L5 cos(θ 3 + θ 4 + θ 5 ) + L6 cos(θ 3 + θ 4 + θ 5 ) cos θ 6 }+ L6 cosθ 2 + sin θ 6 ]z = L1 + cos θ 2 {L2 + L3 cos θ 3 + L4 cos(θ 3 + θ 4 ) + L5 cos(θ 3 + θ 4 + θ 5 ) + L6 cos(θ 3 + θ 4 + θ 5 ) cos θ 6 }− L6 sin θ 2 sin θ 6となる．順運動学の式を用いて逆運動学を解く．この導出した結果により，具体的な関節角度の指令値を与えることで脚先位置を決定する．しかし 6 リンクの逆運動学を解くことになるため非常に複雑である．
一方，二足歩行をおこなう動物（人間）の動きをもとに関節角度を仮定する場合には，動作解析装置を用いる．本論文では，まず PcVector（2 次元動作解析ソフト）と QuickMAG（3 次元動作解析装置）を用いることで下肢関節の角度を仮定した．しかし，一般的にこれ
らのソフトや装置は専門的な研究者でない者が扱うことはないと考えられる．そこで，ビデオテープに実際の歩行の様子を録画し，それをもとに各タイミングでの下肢角度を仮定する方法を用いた．
ただし，動物（人間）の動きをもとに下肢関節の角度を仮定する場合は，それぞれの個体差により下肢関節間の長さ（リンク長）が異なるため，本論文で用いるロボットのリン

11ク長との割合が異なる．そこで，仮定された角度の値をプログラムに入力し動作させることで不具合を見出し，修正を加えることで歩行させる手段を用いた．

12

4.

制御プログラムの作成

ロボットを制御するためのプログラムをアセンブラ言語で作成した．また，3 章で示した手法により導出した関節角度が正しい脚先位置となるかを確認するための 3 次元シミュレータの作成をおこなった．
4.1.

3 次元シミュレータの作成

関節ごとの角度を入力することで，脚先位置と脚の状態がわかるようになることを目的とし，3 次元シミュレータを作成した．作成は Visual Basic 6.0（マイクロソフト社） でおこなった．作成した 3 次元シミュレータの外観を図 4-1 に示す．

角度入力窓

コントローラロボットのモデル
図 4-1

3 次元シミュレータ

角度入力窓「RECORDNO」に 0 から順番に値を与え，「right」「left」のそれぞれの「1」~「6」に脚関節角度を入力する．
コントローラ「START」：入力した「RECORDNO」の順番に再生する．

13

「STOP」：再生を止める．
「RESTART」：「RECORD

NO」の 0 から再生する．

「RESET」：すべての脚関節角度をリセットする．
「END」：シミュレータを終了する．
ロボットのモデル各脚関節角度に対応したロボットのモデルを表示する．
4.2.

サーボモータの制御

サーボモータは電気信号（パルス）の流れている時間によって，サーボホーンの位置（角度）を決定する（図 4-2 参照）．本論文で用いたサーボモータは，初期位置が 1.5 ミリ秒，
0.5 ミリ秒の増減によって左右 90 度までサーボホーンを動かすことできる．またパルスが流れない間隔に 14〜15 ミリ秒が必要となっている．
具体的には，1 ミリ秒の電気信号を流した後に 15 ミリ秒の空白時間を与えることで，サーボホーンは初期位置より左へ 90 度傾く．また，2 ミリ秒の電気信号を流した後に 15 ミ
リ秒の空白時間を与えることで，サーボホーンは初期位置より右へ 90 度傾く．

14〜15 ﾐﾘ秒ONOFF
1.0〜2.0 ﾐﾘ秒
図 4-2

4.3.

パルスの間隔制御プログラムの作成

ロボットを制御するためのプログラムをアセンブラ言語で作成した．表 4-1 に命令一覧を示す．アセンブラ言語を用いた理由は，アセンブラの簡素な命令形態でどの程度までの制御をおこなうことができるかをつかみ，また，下肢関節の位置や角度を感覚的につかむことを目的としたためである．

14

表 4-1

分類

バ
イ
ト
処
理

ッ

処 ビ
理
ト

理 リ
テ
ラ
ル
処
ャ

ジ
ン
プ

他

命令
A D D W F f,dANDWF
C LRF fC LRW
C O M F f,d
D E C F f,d
D E C F S Z f,d
IN C F f,d
IN C F S Z f,d
IO R W F f,d
M O V F f,d
MOVWF fNO P
R L F f,d
R R F f,d
S U B W F f,d
S W A P F f,d
X O R W F f,d
B C F f,b
B S F f,b
B T F S C f,b
B T F S S f,b
ADDLW k
ANDLW kIO R L W k
MO VLW k
SUBLW kXO RLW k
CALL kGO TO kR E T F IE
RETLW kRETURNC LRW DT
SLEEP

命令一覧

機能
加 算 W + f→ W か fへ 格 納
論 理 積 W AND F→ W か Fへ 格 納
fを ゼ ロ ク リ ア
Wをゼ ロクリア
fの 0 ,1 反 転 → W か fへ 格 納
f- 1 → W か fへ 格 納
f- 1 → W か fへ 格 納 結 果 が 0 な ら 次 の 命 令 を ス キ ッ プ
f+ 1 → W か fへ 格 納
f+ 1 → W か fへ 格 納 結 果 が 0 な ら 次 の 命 令 を ス キ ッ プ
論 理 和 W O R f→ W か fへ 格 納
移 動 fか ら W ま た は f自 身 へ
移 動 Wか らf
何 もしない1 ビ ッ ト 左 へ シ フ ト → W か fへ 格 納
1 ビ ッ ト 右 へ シ フ ト → W か fへ 格 納
減 算 f- W → W か fへ 格 納
fの 上 位 下 位 入 替 → W か fへ 格 納
排 他 的 論 理 和 W O R f→ W か fへ 格 納
fの b ビ ッ ト 目 を 0 に す る
fの b ビ ッ ト 目 を 1 に す る
fの b ビ ッ ト 目 が 0 な ら 次 の 命 令 を ス キ ッ プ
fの b ビ ッ ト 目 が 1 な ら 次 の 命 令 を ス キ ッ プ
定 数 加 算 W +k→ W へ 格 納
定 数 論 理 積 W A N D k→ W へ 格 納
定 数 論 理 和 W O R k→ W へ 格 納
定 数 移 動 k→ W
定 数 減 算 k- w → W へ 格 納
定 数 排 他 的 論 理 和 W O R k→ W へ 格 納
サ ブ ル ー チ ン kへ ジ ャ ン プ
k番 地 へ ジ ャ ン プ
割 り込 み 許 可 で 戻 る
W に kを 格 納 し て 戻 る
サブルーチンから戻る
ウ ォッチ ドッグ タイマ クリア
ス リー プ モー ドに す る

f ：レジスタファイルのアドレス
W：ワーキングレジスタ
b ：ビット位置のアドレス（0〜7）
k ：リテラル（定数データ）
d ：あて先指定15

また，アセンブラ言語の利点として命令数で時間のカウントをとることができ，確実なタイムループを作成できる．
「割り込み」について理解なしでも命令数で時間を計ることができ，プログラムの初心者でも容易である．
などがあげられる．
全体のプログラムのフローチャートを図 4-3 に示す．

開始
入出力設定
サーボの初期化
関節角度の導出
パルスの発振指定角度で停止

図 4-3

プログラムのフローチャート

入出力設定
PIC とサーボモータをつなぐ端子をそれぞれ出力モードに設定する．また，プルアップ
抵抗を接続することで，PIC で発振されたパルスをサーボモータに伝える．
サーボの初期化
ロボットが直立の姿勢になるようにパルスを発振する．
関節角度の導出第 3 章で述べた運動学により導出された関節角度や，二足歩行をおこなう動物（人間）の動きをもとに仮定した関節角度に対応するパルスを断続的に出力するように，値を組み込む．

16パルスの発振〜指定角度で停止指定された値のパルスをサーボモータに与えることで関節の屈曲をおこなう．この動作により，歩行する．

17

5.

実験
本章ではロボットの歩行実験について述べる．第 3 章で述べた手法により仮定された関節角度に対応するパルスを断続的に出力するようなプログラムを製作し，実験を行った，
左右の脚に入力したサーボホーンの角度をそれぞれ表 5-1（右脚），表 5-2（左脚）に示す．

表 5-1

ループ1
ループ2
ループ3
ループ4
ループ5
ループ6
ループ7
ループ8
ループ9
ループ10
ループ11
ループ12
ループ13
ループ14
ループ15
ループ16
ループ17

θ１
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0

θ2
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0

表 5-2

ループ1
ループ2
ループ3
ループ4
ループ5
ループ6
ループ7
ループ8
ループ9
ループ10
ループ11
ループ12
ループ13
ループ14
ループ15
ループ16
ループ17

θ１
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0

θ2
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0

サーボの角度（右脚）

θ3
15
30
45
60
75
90
75
60
45
30
15
±0
15
30
45
60
75

θ4
45
45
60
75
75
90
90
90
90
90
90
90
90
90
90
90
90

θ5
-30
-30
-30
±0
±0
±0
-15
-30
-45
-60
-75
-90
-75
-60
-45
-30
-15

θ6
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0

θ5
15
30
45
60
75
90
75
60
45
30
15
±0
15
30
45
60
75

θ6
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0
±0

サーボの角度（左脚）

θ3
-30
-30
-15
-15
±0
±0
-15
-30
-45
-60
-75
-90
-75
-60
-45
-30
-15
18

θ4
-45
-45
-60
-75
-75
-90
-90
-90
-90
-90
-90
-90
-90
-90
-90
-90
-90

5.1.

予備実験

予備実験として，脚先を地面につけない状態でプログラムを作動させた．
5.1.1.

実験方法

ロボットの腰位置を万力で掴み，その万力を机に固定することで脚先が常に空中に浮いている状態を作り出すことで実験を行う．
5.1.2.

実験結果

実験時の脚の動きを図 5-1 に示す．

19

図 5-1

脚の動き
20

脚の関節角度は，ほぼプログラム通りに動作していると考えられるが，振動が激しかった．これは表 5-1，表 5-2 に示したようにそれぞれのループによってサーボホーンの位置（角度）を決定するプログラムを製作したためであると考えられる．つまり，サーボホーンが移動，停止を繰り返すことにより振動が発生したためと思われる．
5.2.

歩行実験

実際に床面に脚先をつけた状態でプログラムを作動させた．歩行の結果に応じ，表 5-1．
表 5-2 の値から徐々に変更した．実験は 2 種類行った．
5.2.1.

実験方法

実験 1 平面を歩行させる
実験 2 5 度の傾斜を付けた斜面を歩行させる
5.2.2.

実験結果

それぞれ実験した際の歩行の様子を図 5-2（実験 1），図 5-3（実験 2）に示す．

21

図 5-2

平面歩行時

平面歩行時には，一歩目を出そうとした瞬間に後ろに反り返るようになり右側に倒れた．
これは重心位置が後半分にあることと，初期状態から右足を上げ，左足を伸ばすようにしたためであると考えられる．

22

23

24

図 5-3

斜面歩行時

斜面歩行時には，4 歩目を出す際に脚が上がらずに前方に倒れ込んだが，平面歩行時に比べ安定した歩行を行うことができた．これは斜面に角度をつけることで強制的に前傾姿勢にし，重心位置を前方にすることで下りの際の慣性を用いることでスムーズに脚が出たためと考えられる．
5.3.

考察

残念ながら完全な歩行までは行き着かなかったが，人間が数値を変化させることでロボットの制御に対するフィードバックをおこない，二足歩行ロボットを動作させる一連のシステムを構築するための第一歩としては成功したと思われる．
しかし，専門的な研究者などでなくとも，運動学などを用いて要素を求めることなく，
実際の歩行の様子をプログラム上で模擬することで，ある程度の歩行に行き着くことができることを証明した．

25

6.

結言
本論文では二足歩行ロボットの製作から制御プログラムの作成，それを用いた実験を行いうことで専門的な研究者でなくとも二足歩行ロボットを歩行させることが可能かを検討したが，残念ながら完全な歩行までは行き着かなかった．しかし，人間が数値を変化させることでロボットの制御に対するフィードバックをおこない，二足歩行ロボットを動作させる一連のシステムを構築する第一歩としては成功したと思われる．
しかし，アセンブラによる歩行プログラムの作成は，浮動小数点や多くのパラメータなどが必要となる歩行プログラムには適しておらず，非常に困難であった．やはり，C 言語な
どの高級言語を用いてプログラムをおこなう必要性を感じる．C 言語を用いることで，外部で計算した数値により制御をおこなうのではなく，ソフトウェア上で計算することが可能となるが，各関節の位置や角度などを 1 つ 1 つのデータにとして入力することが可能となる分，内部で計算をおこなうため，データを実感することができなくなる．
しかし，運動学などを用いて要素を求めることなく，実際の歩行の様子をプログラム上で模擬することで，ある程度の歩行に行き着くことができることを証明した．
謝辞
本論文を書くにあたり，本学工学部井上喜雄教授，岡宏一助教授，ならびに甲斐義弘助
手には，絶えずご指導を賜りましたことを深く感謝し，厚く御礼申し上げます．また，本学知能機械力学研究室のメンバー，特にシミュレータの作成に尽力していただいた中浜昌
文氏，運動学に対しての解説をいただいた大田大氏に感謝の意を表します．

参考文献
トランジスタ技術; CQ 出版; 2002.6
CHRISTOPHER LAMPTON; FLIGHT OF FANTASY ; アスキー出版局; 1994.9
後閑哲也; PIC 活用ガイドブック; 技術評論社; 2000.2
広瀬茂男; ロボット工学; 裳華房; 1987.12

26

付録 1

製作した二足歩行ロボット

27