34
二足歩行ロボットの製作と制御に関する研究 041238 2009 2 Copyright c 2009 by Masaki Yagi

卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

卒 業 論 文

二足歩行ロボットの製作と制御に関する研究

石川工業高等専門学校 電気工学科

学籍番号 041238

八木 政樹

主任指導教員 河合 康典 講師

2009年 2月

Copyright c© 2009 by Masaki Yagi

Page 2: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

c©2009

Masaki Yagi

All rights reserved

Page 3: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

要 旨

本研究では, 二足歩行ロボットについての研究を行う. 本研究の目的は, 近年, 研究開発が

盛んに行われている二足歩行ロボットを設計及び製作し, その全体的な構成と動作原理を理

解することである.また, 製作した二足歩行ロボットを用いて歩行の実現を目指す.

はじめに, ロボットのシステム構成と設計について説明する. システム構成では, まずロ

ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

る部品について示す. 次に, ロボットの設計を機械系, 電気系, プログラムの 3段階に分けて

考察する. また, その設計内容を元にして, 実際に二足歩行ロボットを製作する. 最後に, 制

御プログラムについて考察し, 製作した二足歩行ロボットを用いて, 歩行実験を行う. その

後, 実験結果を示し, その評価を行う.

Page 4: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す
Page 5: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

i

目 次

第 1章 序論 1

1.1 研究の背景と目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 論文構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

第 2章 システムの構成 2

2.1 仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.2 マイコンボード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.3 センサ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.4 駆動部 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.5 バッテリー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.6 構造材料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

第 3章 設計 6

3.1 機械系の設計 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.2 電気系の設計 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.3 ソフトウェアの設計 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

第 4章 制御プログラム 13

4.1 制御方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.2 制御信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.3 速度制御 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.4 関節パラメータの測定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.5 歩行とアルゴリズム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.6 オフライン計算モーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.7 各種センサの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.8 実験結果とその評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Page 6: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

ii 目 次

第 5章 結論 22

5.1 本研究での成果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

5.2 今後の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

付 録A 付録 23

謝辞 24

参考文献 25

Page 7: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

iii

図 目 次

2.1 AKI-H8/3067F(20MHz)超高性能マイコンモジュールボード . . . . . . . . . 3

2.2 距離センサ GP2D12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.3 ジャイロ PG-03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.4 SX-101Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.5 PICO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.6 EPG-VR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.7 EPG-VB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.1 全体組み立て図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.2 ロボットの写真 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.3 平行リンク機構 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.4 重心移動の方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.5 膝から上までを簡略化した図 . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.6 システム構成図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.7 ソフトの構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.8 Visual Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.9 Visual C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4.1 PWM制御 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.2 RCサーボの制御信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.3 全体の制御信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.4 RCサーボ入力値と角度の時間変化 . . . . . . . . . . . . . . . . . . . . . . . 15

4.5 0番サーボの補間直線 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.6 歩行モーションのイメージ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.7 歩行シーケンス図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.8 歩行モーションデータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.9 ジャイロの入出力信号タイミングチャート . . . . . . . . . . . . . . . . . . . 21

Page 8: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

iv 図 目 次

A.1 I/Oボードの回路図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Page 9: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

v

表 目 次

2.1 ロボットの仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.2 マイコンボードの仕様 [5] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4.1 関節パラメータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Page 10: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

1

第 1章

序論

1.1 研究の背景と目的

近年, ロボットの研究開発が盛んである. ロボットは一定の動作を繰り返す作業用機械と

してだけではなく様々な分野での活用を求められるようになっており, 中でも二足歩行ロ

ボット等の人間型ロボットの開発は, 人間自身のメカニズムの解明にも繋がるとされ, 多方

面で開発が進められている.

本研究では, 二足歩行ロボットを設計及び製作し, その全体的な構成と動作原理を理解す

ると共に, 歩行を実現することを目的とする.

1.2 論文構成

本論文では, 第 2章に二足歩行ロボットのシステム構成について示し, 第 3章で設計につ

いて説明する. 第 4章では, 制御プログラムおよび歩行実験, 評価について述べる.

Page 11: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

2 第 2 章 システムの構成

第 2章

システムの構成

2.1 仕様

ロボットの仕様を表 2.1に示す.

表 2.1: ロボットの仕様

寸法 (身長) 約 35cm

重量 約 1.3kg

合計自由度 13(脚:4, 腕:6, 腰:2, 首:1)

モーター RCサーボモーター

・腰:サンワ ERG-VB(ピッチ軸), ERG-VR(ロール軸)

・首:GWS PICO

・その他:サンワ SX-101Z

電源 ニッケル水素電池(6.0V 1100mAh)

センサ ジャイロ(1軸)

赤外線距離センサ

CPU H8/3067F(20MHz, 32k byte RAM)

基本性能 (1)1秒間に2歩程度のペースで二足歩行できる

(2)周囲の障害物の状況を調べられる

Page 12: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

2.2. マイコンボード 3

2.2 マイコンボード

二足歩行ロボットを実現するためには, タイマやA/D変換器といった機能を持った制御

用マイクロコンピュータが必要である.

そこで本研究では, C言語でプログラムを作りやすい点を考慮して,ルネサステクノロジー

製の H8/3067 というマイコンチップが載っている, 秋月電子通商製のマイコンボードキッ

トを使う.仕様については表 2.2に示す. また, 実際の写真を図 2.1に示した.

図 2.1: AKI-H8/3067F(20MHz)超高性能マイコンモジュールボード

表 2.2: マイコンボードの仕様 [5]

Page 13: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

4 第 2 章 システムの構成

2.3 センサ

ロボットの外のことを知る外界センサとして距離センサを, ロボット自身のことを知る内

界センサとしてジャイロを載せる. 距離センサを搭載することによって, 操縦のみのリモコ

ン式ロボットではなく, わずかでもロボットに状況を判断させて, 行動に反映させることが

でき, 自律的に行動することが可能になる. また, ジャイロを搭載することにより, 歩行の動

作が, あらかじめ決めた動作の完全な再生ではなく, 歩いている場所の微妙な凹凸を感じて,

歩き方に反映できるようになる [1].

次にロボットに搭載するセンサを簡単に説明する. 距離センサは,赤外線を使って距離を測

るセンサである. 赤外線を出す部分と, その赤外線のスポットの方向を読み取る部分で構成

されており, 三角測量の原理で距離を求める. シャープ製の測距センサユニット GP2D12(図

2.2) という機種を使う. ジャイロは, 回転運動を測るセンサで, GWS製の PG-03(図 2.3) と

いう機種を使う.

図 2.2: 距離センサ GP2D12 図 2.3: ジャイロ PG-03

2.4 駆動部

駆動部に, RCサーボモータを使う. サーボモータとは制御回路を含むモータモジュール

である. この制御回路に, 制御パルスを送ると, そのパルス幅に比例した角度にまで回転す

る. パルスの幅と回転角度の対応は, それぞれのサーボモータで少しずつ違ってくる.

本研究では, 主にサンワ製の SX-101Z(図 2.4) という機種の RCサーボモータを用いる.

首は力より軽さを重視するためGWS製の PICO(図 2.5) を使用する. 腰に使うRCサーボ

モータは SX-101Z では力不足なので, サンワ製の EPG-VR(図 2.6) と ERG-VB(図 2.7) を

使う .本研究では, RCサーボモータを合計 13箇所に用いる.今回, 使用するサーボモータの

図を以下に示した.

Page 14: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

2.5. バッテリー 5

図 2.4: SX-101Z

図 2.5: PICO

図 2.6: EPG-VR 図 2.7: EPG-VB

2.5 バッテリー

バッテリーは性能, 入手性, ランニングコスト等よりNi-MH(ニッケル水素)電池を使用し

ている. 本研究ではロボットのサイズと消費電力から判断して 1.2V 1100mAhの電池が 5本

パックされた形で, ラジコン用として売られている 6Vの電池を使用する.

2.6 構造材料

フレームは, 1mm厚のプラスチック板を使用している. これは, 軽くて丈夫であること,

安価, 加工がしやすい等の利点を考慮して, 選んだ結果である.また, 脚の軸受けとして, ア

ルミアングル (12× 12× 1mm)を使用する.

Page 15: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

6 第 3 章 設計

第 3章

設計

3.1 機械系の設計

フレーム設計とその留意点を以下に示す.

1. すべての部分は必要十分な範囲で軽くて丈夫であること

2. 二足歩行や, その他の実現したい動きができる関節の配置になっており, かつそれぞれ

の関節は, 十分な動ける範囲 (関節可動範囲)を持っていること

3. マイコンや電池などを積み込むのに十分なスペースがあること

以上のことに留意しながら, ロボットの形を決定する. [1]図 3.1に全体の組み立て図, 図 3.2

にその写真をそれぞれ示す.

Page 16: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

3.1. 機械系の設計 7

図 3.1: 全体組み立て図

図 3.2: ロボットの写真

Page 17: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

8 第 3 章 設計

1. 平行リンクと脚の仕組み

 脚部に平行リンク (図 3.3)と呼ばれる機構を搭載する. 平行リンク機構は, 脚をどの

位置に持ってきても, いつも足裏の面が地面と平行になることが特徴である. 本研究

では, このように片足あたり 2つのRC サーボで, ある程度の速さで二足歩行できる簡

単な機構として, 平行リンク機構を採用している.

 平行リンクを使用しない機構をシリアルリンク機構という. シリアルリンクの場合,

足裏の面を自由な向きにできる代わりに, RCサーボが 1つ増え, 重量が大きくなるデ

メリットがある. よって, 安価なRCサーボを使用すると, 軸受けの機械的なガタが大

きくなり, 力のかかったときに, 目標からのずれが大きい傾向にある.

 さらに, シリアルリンクは足首を中心として体全体が傾くのに対し, 平行リンクは足

首を中心として動くのは膝までであり, 胴体の傾きに影響が出にくい. 二足歩行ロボッ

トは, 重心の制御が非常に重要なので, 安価なRCサーボを使用しても安定して歩ける

ようにするために, シリアルリンクではなく, 平行リンクを採用することにした [1].

図 3.3: 平行リンク機構

2. 重心移動の方法

 本研究の二足歩行ロボットは, 人間が歩くときと同じように左右の足に交互に重心

を移しながら歩行する. 図 3.4は重心移動の方法を簡略化して示したものである. この

ように, 重心移動のために 1つの関節しか使わないため, モーターが少ない分ロボット

が軽くなり, また重心移動のための制御が簡単になるので, このような方式を採用す

る. このように, 平行リンク機構で前後方向の重心移動が少なくてすむので, 上半身を

使った左右方向の重心移動制御により, 歩行動作が可能となる.

Page 18: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

3.1. 機械系の設計 9

図 3.4: 重心移動の方法

3. 脚の寸法

 脚の寸法を, 図 3.5を用いて説明する. 膝を限界まで曲げてしゃがんだ時に, AB間

は水平になるので, Lが最大になることがわかる. この時, 膝に発生するトルクを, RC

サーボ SX-101Zのトルク限界値 3.3kg・cm以下になるように計算する.

L= 50mmを計算すると

1300[g]

2× 50[mm] = 32500[g・mm] = 3.25[kg・cm] (3.1)

となり, 条件に満たすので脚の長さは 5cmになるように設定する.

1300g F

L

図 3.5: 膝から上までを簡略化した図

Page 19: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

10 第 3 章 設計

3.2 電気系の設計

1. システム構成図

 構想の部分で定義したロボットの概略使用からマイコンを中心としたシステムの構

成を図 3.6に示す.

I/O

図 3.6: システム構成図

2. I/Oボード

I/Oボードの部分を回路図を図A.1に示す.

Page 20: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

3.3. ソフトウェアの設計 11

3.3 ソフトウェアの設計

ソフトウェアは, PC用ソフト (GUIあり), PC用ソフト (GUIなし), H8マイコン用ソフ

トの 3種類から構成する. ソフトの構成をまとめたものを図 3.7に示す.

図 3.7: ソフトの構成

1. PC用ソフト (GUIあり)

 動作確認用のソフト. 簡単な試験用機能をまとめて, Microsoft Visual Basic 2008

Express Edition(図 3.8)で作成する. RCサーボを1つずつ動かす, 各センサーの出力

値を見る, モーションデータ用の中間通過ポイントをファイルに読み, 書き, 編集する

などの機能を持つ.

図 3.8: Visual Basic

Page 21: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

12 第 3 章 設計

2. PC用ソフト (GUIなし)

 Microsoft Visual C++ 2008 Express Edition(図 3.9)を使用する. オフラインモー

ションの作成を行う.

図 3.9: Visual C++

3. H8マイコン用ソフト

 上記Visual C++でプログラムを作成し, コンパイルが通ることを確認した後H8用

のCコンパイラにてコンパイルを行う.

Page 22: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

13

第 4章

制御プログラム

4.1 制御方法

サーボモータを任意の角度まで回転させるためには,制御パルスのパルス幅を変調させ

ることが必要となる.これをPWM(パルス幅変調)方式といい,サーボモータの制御に不

可欠なものといえる.

図 4.1の左側では,デューティー比が高いほどONになっている期間が長く,デューティー

比がゼロではずっとOFFのままである様子を示している.モーターにこのようなタイミン

グで電源を与えてあげると,あたかもアナログ的に電源電圧を可変してあげたかのように,

角度の制御が可能になる. これが PWM による制御である [4].

図 4.1: PWM制御

PWM制御を用いるにあたって,デューティー比が必要となってくる.デューティー比は

周期T と,on 時間xの比である. 数式で表すと,

duty =x

T× 100[%] (4.1)

となる.

Page 23: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

14 第 4 章 制御プログラム

4.2 制御信号

1個のRCサーボモータに入力する制御信号を図4.2に示す. このように20ms周期で1.5ms

前後のパルスを入力することによってRCサーボモータを制御する. パルスの幅を 1.5msを

中心として長くしたり, 短くしたりすると, RCサーボモータがそれに比例した角度に動く

という仕組みである.

ms

ms ms

図 4.2: RCサーボの制御信号

次に, 13個のRCサーボモータにパルスを与える方法を考える. 本研究では, 13本の信号

を効率良く伝達し, かつ 20msの周期を守るために, 図 4.3のようなタイミングチャートを採

用した. このように同時に 3個ずつ 4回に分けてパルスを伝達させることで上記の条件を満

たすことができる.

SM0

SM1

SM2

SM3

SM4

SM5

SM6

SM7

SM8

SM9

SM10

SM11

SM12

図 4.3: 全体の制御信号

Page 24: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

4.3. 速度制御 15

4.3 速度制御

サーボモータをスムーズに動かすと共に, 速度制御する方法を以下に示す.

• いきなり目標値を与える方法

• 一定間隔で目標値をずらしていく方法

• 目標値をずらす幅をスムーズに変化させる方法

今回は, 目標値をずらす幅をスムーズに変化させる方法を使用する. マイコンからRCサー

ボに入力するパルスの幅を時間間隔は一定で, 目標値までの数値割合を少しずつ増減させる

ことでスムーズに動くようになっている. 横軸を時間 [s], 縦軸をRCサーボモータへの入力

値として関係をグラフ化したものが, 図 4.4である.このように, RCサーボモータの能力を

考慮して, 動かす角度と時間を決めれば, マイコンからの入力を受けた後に動き出すので, 一

定の時間差はあるが, だいたいマイコンが入力した通りの動きで関節を動かすことができる

[1].

RC

図 4.4: RCサーボ入力値と角度の時間変化

Page 25: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

16 第 4 章 制御プログラム

4.4 関節パラメータの測定

本研究で製作したロボットは, 関節のRCサーボごとにサーボホーンが保持すべき位置を

4桁の整数で与えて位置を制御する. ロボットが全体として意味のある動きをするために上

位のプログラムから与えられている数値と, RCサーボが動くために必要な数値の単位が違

うので, その間の橋渡しする手段が必要である. 具体的には, 4桁の整数と, mm単位や, 度単

位の間の対応づけが必要になる. モーションデータを計算するプログラムでは, この対応付

けのための数値を集めたテキストファイルをベースとして計算を行う. この数値を, 関節パ

ラメータという. 表 4.1に関節パラメータを測定したファイルを示す. ただし, 表中のBone

lengthは関節から関節までの長さを表す. 単位はmmである.

表 4.1: 関節パラメータ

#右パラメータ

Bone length 0 53.76

Bone length 1 53.76

Servo Data 0 -45 1975 0 2950 30 3650

Servo Data 1 -30 850 0 1625 45 2550

Servo Data 6 -90 3215 -45 2165 0 1075

Servo Data 7 -45 1520 0 2275 45 3335

Servo Data 8 -45 3275 0 2250 45 1250

#左パラメータ

Bone length 0 53.76

Bone length 1 53.76

Servo Data 2 -30 700 0 1375 45 2400

Servo Data 3 -45 1575 0 2450 30 3300

Servo Data 9 0 3275 45 2150 90 1200

Servo Data 10 -45 1010 0 1900 45 2900

Servo Data 11 -45 2925 0 1950 45 950

#胴体パラメータ

Servo Data 4 -25 1650 0 2225 25 2850

Servo Data 5 -90 1000 -30 2500 0 3200

Servo Data 12 -45 1225 0 2475 45 3500

Page 26: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

4.5. 歩行とアルゴリズム 17

RCサーボへの出力値と角度の対応を記述しているものが Servo dataである. 具体的には,

実際にロボットで使用するRCサーボの軸の可動範囲から中立位置 1点と最大可動範囲など

2点で合計 3点 (仮にA, B, Cとする)をとり, その角度とRCサーボ出力値をペアにして並

べる. プログラムではA-B間とB-C間で直線補間の計算をして任意の角度の出力値を計算

している. 例として 0番のサーボの行をグラフにしたものを図 4.5に示す. ただし, Aは 45

度, Bは中立位置のRCサーボ出力値とする.

 A-B間の補間式は

y = 21.67× x + 2950 (4.2)

となる.

RCサーボの理想は, 入力パルスの幅と軸の角度が比例することである. しかし, 実際は途

中で傾きが変わったり, 凸凹があったりするため, 関節を動かす範囲でA-BとB-Cの 2本の

直線に分けている [1].

図 4.5: 0番サーボの補間直線

4.5 歩行とアルゴリズム

はじめに, ロボットの歩行の考え方を示す. まず, 平地を一定のスピードで歩いているとき

は左右の足を交互に, 体を支えているほうの脚を後ろに送り, その間に反対側の脚を前に出

す. そして, 両足が地面に付く瞬間を経て, 体を支える脚が切り替わるというサイクルを繰

り返すことで歩行を行う. 歩きはじめと止まるときだけ体の移動速度に変化があり, 通常の

サイクルと異なると考える. 図 4.6 のように, ロボットの重心は足跡を通るように移動する.

今回製作したロボットは, 1秒間に 50回という決まったサイクルで, 関節の角度を指定す

Page 27: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

18 第 4 章 制御プログラム

る仕組みになっている. そのため, モーションは必然的に 1秒間を 50に割って, その瞬間ご

とのポーズになるよう, 関節の角度を順番に目標位置として指定していく方式をとる.

次に, 歩行プログラムを作成する手法について述べる. 本研究では, 比較的単純に, 足先は

空間に長円の軌跡を描くように, 左右の足でタイミングをずらして動かし, 上半身は足を動

かすタイミングに合わせて左右に動かす. この動作を幾何学で求めて, 連続的に変わるポー

ズのデータを作る手法を採用する. この手法は確実に早くモーションが得られ, 歩幅として

与える数値を変えるだけで, 簡単に歩幅を変えたモーションデータを作ることが可能である.

ここまでの内容を実現するためのプログラムは, 大きく分けて 3つの部分から構成される.

1. 足先の軌道点列を作るプログラム

2. 軌道点列を書く関節の角度 (モーションデータ)に変換するプログラム

3. モーションデータを再生するプログラム

1, 2の処理は, ロボットを歩かせながらH8マイコンで実行するには重過ぎるので, あらかじ

め PCで計算してその結果をモーションデータとしてロボットに転送する方式を採用する.

これを一般に, オフライン計算モーションという. そして, ロボットに搭載したH8マイコン

は 3の処理のみ実行する [1].

図 4.6: 歩行モーションのイメージ

Page 28: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

4.6. オフライン計算モーション 19

4.6 オフライン計算モーション

直進歩行の動作を以下の 3つのフェイズに分けて考える.

1. 初めの一歩

足をそろえて止まっている状態から, 加速して一歩目を踏み出すまでの動作

2. 定常歩行

連続的に歩いているときの動作. この動作を繰り返す間は一定速度で歩き続ける.

3. 最後の一歩

連続的に歩いている状態から, 減速して足をそろえて止まるまでの動作

前進するためには, これら 3つの動作に対応するオフライン計算モーションを作成するプロ

グラムが必要になる. モーションデータを作ることは, 結局足先の軌道のデータを作ること

と同じことである. しかし, 人よりずっと関節数が少ないロボットには, 人の足の軌道をそ

のまま真似ることはできないので, ここでは単純化して円と直線で構成した軌道を使う.

図 4.7 は上半身を揺らす動きと足先の軌道を表した図である. なお, 足や上半身は矢印の

方向に動くものとする. また, はじめの一歩とさいごの一歩のフェイズについて, 上半身の

動きの加速・減速のシーケンスを独立させて 2つに分けることとする. 定常歩行のフェイズ

では, 軌道のつなぎ目が右足は a点, 左足が点 cにある. 右足が a→ b→ cと地面に着いた状

態で動いている間, 左足は c → aへ空中を動くことになる [1].

abc abc

abc

abc

abc

abc

A

BC

A

BC

BC

A

BC

A

C

BC

A

CCC

abc abc

abc

abc

abc

abc

A

BC

A

BC

BC

A

BC

A

C

BC

A

CCC

図 4.7: 歩行シーケンス図

Page 29: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

20 第 4 章 制御プログラム

次に, 1, 2, 3のモーションをつないでプロットしたものを図 4.8 に示す. ただし, グラフの

傾きが, その関節のRCサーボに要求されるスピードである.例として, 右足のサーボモータ

と腰 (ロール)のサーボモータのモーションデータを示す. このように, 3つのモーションが

連続し, かつ傾きが急すぎないことが, ロボットのバランスを保つ上で重要である.

図 4.8: 歩行モーションデータ

4.7 各種センサの使用

• ジャイロ

 ジャイロの入出力信号タイミングチャートを図 4.9に示す. 入力信号がGyro Refで

出力信号がGyro Dataである. このように入力パルスからパルス幅の半分くらい遅れ

て出力パルスが出てくる. 入力パルスの幅 t0は 1.5msで, 出力パルスの幅 t1はジャイ

ロの回転運動の早さに比例して増減する. 逆にジャイロが運動していないときは入力

パルスと同じパルス幅, すなわちこの場合は 1.5msとなる. したがって, プログラムに

はこの入力信号を作る機能と, 出力信号のパルス幅を計測する機能を拡張することで

ジャイロが使うことが可能となる.

Page 30: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

4.8. 実験結果とその評価 21

 歩いている途中で揺れがだんだん大きくなって転倒するのを防ぐのにジャイロの

フィードバックを使う. 具体的には, 歩行中にジャイロ信号を読み取り, その数値に

フィードバックゲインを掛けた数値を, 腰のRCサーボへの出力数値に加減するとい

うことでロボットを安定化する. なお, フィードバックゲインは, 実際にロボットを

動かして, 調整するものとする. ここでは, 0.20程度で安定するので, この数値を採用

する.

Gyro Ref

Gyro Data

t

t1

図 4.9: ジャイロの入出力信号タイミングチャート

• 距離センサ

 赤外線距離センサの測定結果を, ターミナルソフトの画面に出す機能と, 首を動かす

機能をプログラムに追加する. また, この 2つの機能を組み合わせて測定を行い, 画面

にレーダーのような形で表示するようにVisual Basicのプログラムを改良する.

 はじめに, 首を 60度右に向け, 5度刻みで止めながら赤外線距離センサで首が向い

ている方向の距離測定を行う. 最終的には 120度動かして, 左 60度の方向まで測定す

る. このような動作をスキャン動作と呼ぶ. このスキャン動作によって, ロボットが自

律的に移動するときに, 障害物の有無を判断し,歩行範囲を特定することができる.

4.8 実験結果とその評価

前節のモーションデータを, H8マイコンに送信, 実行することで直進歩行を実現できた.

しかし, 進行方向に対してロボットが左右にずれる場合が見受けられる. おそらく, 通信ケー

ブルの影響を受けているものと考えられる. 解決手段として, ケーブルなしで自律して歩行

できるようにプログラムを改良すること, ジャイロを 1軸から 3軸に増やすことがある.

Page 31: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

22 第 5 章 結論

第 5章

結論

5.1 本研究での成果

本研究では, 二足歩行ロボットを設計及び製作し, 制御プログラムによって動歩行を実現

する方法を考えた. そして, 歩行モーションの作成により, 二足歩行ロボットの歩行を実現

し, その結果を示した.

5.2 今後の課題

本研究において, 二足歩行ロボットを設計及び製作し, 歩行を実現したが, 以下の問題点

が残った.

• 通信ケーブルの影響により歩行が安定しない

• 転倒を検知することができない

今後は, 転倒を検知するために加速度センサを追加することが課題である. また, ジャイロ

の追加や, 自律して歩行できるようにプログラムを改良することで, 安定性を増す必要もあ

ると考えられる.

Page 32: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

23

付 録A

付録

図 A.1: I/Oボードの回路図

Page 33: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

24 謝辞

謝辞

本研究を進めるにあたり, 5 年生からの 1 年間, 暖かい指導と様々な機会を与えてくだ

さった河合康典 講師に心より深く感謝いたします. そして, 日頃から様々なご協力をいただ

いた河合研究室のメンバーに感謝します. 最後に, これまでの研究生活を可能にし, 暖かく

見守っていただいた両親, 兄弟に深く感謝します.

Page 34: 卒業論文 二足歩行ロボットの製作と制御に関する研究...ボットの仕様について示し, マイコンボード, センサ, サーボモータなど, ロボットを構成す

25

参考文献

 

[1] 吉野耕司, 60日でできる! 二足歩行ロボット自作入門,毎日コミュニケーションズ, 2007.

[2] 吉野のロボット, http://www2.plala.or.jp/k y yoshino.

[3] 吉野家のロボットを作ろう, http://yassy7.blog44.fc2.com

[4] PWMでモーター制御, http://homepage1.nifty.com/rikiya/software/106pwm1.htm

[5] H8/3067RF搭載 CPUモジュール SSH8-3067Fシリーズ ユーザーズマニュアル, 株式

会社ソーブシステム, 2003.