世界一長いヘビ型ロボットは作れるか!? ギネスにチャレンジ

~ロボット学会、工学セミナーレポート(実習編)


【写真1】毎年春ごろにロボット学会主催で開催されているロボット工学セミナー「ロボットの作り方」。本年は、ヘビ型ロボットのパイオニアとして有名な東京工業大学で行なわれた

ヘビ型ロボットの歴史と、ユニークな蛇行推進の原理

 6月5日(金)と6日(土)の両日、東京工業大学・大岡山キャンパスにおいて、社団法人日本ロボット学会主催のロボット工学セミナー「ロボットの作り方2009」が開催された。ここでは、6日に行なわれたヘビ型ロボットの製作実習の模様を中心に報告する【写真1】。セミナーのオーガナイザーは、東京工業大学機械宇宙システム専攻の遠藤玄助教、および青木岳史特任助教ほか。

 ヘビにヒントを得て研究されているヘビ型ロボットは、屈曲関節を連結しただだけの単純な形態ながら、水が流れるように滑らかに地上を移動できるユニークな動作が可能だ。東京工業大学の広瀬茂男教授の研究によって世界的に有名になった。今回のセミナーの目玉は、このヘビ型ロボットを実際に製作するというものだ。

【写真2】東京工業大学グローバルエッジ研究院 テニュア・トラック 山田浩也助教

 まずプロローグとして、東京工業大学グローバルエッジ研究院の山田浩也氏【写真2】が、これまでに同大学で開発されてきたヘビ型ロボットの歴史や原理について触れ、ヘビの推進運動の力学などについて解説した。

 ヘビ型ロボットは、同じ構造体を繰り返して利用でき、設計や製作が容易ながら、多様な機能を示す奥深いシステムだといえる。配管検査やレスキュー活動など、狭所に入り込む能力を持ち、実社会で本当に役に立つ機械として活躍する。ヘビ型ロボットは、ヘビの機能要素を抽出して作られており、「ACM」(Active Cord Mechanism)とも呼ばれている。これは、能動的に屈曲できる関節ユニットを直列に多数配置し、索状をなす機能体だ。ACMは移動体としての機能はもちろん、マニピュレーターやグリッパーなどにも応用が利くという。

 このようなACMの研究は1971年まで遡る。広瀬教授らによって実際にヘビの推進メカニズムが力学的に解析され、その翌年には蛇行推進に世界で初めて成功したヘビ型ロボット「ACM-III」【写真3】の開発に成功した。その後さまざまな改良が進み、2002年には3次元的な運動が可能な地上用ヘビ型ロボットACM「ACM-R3」【写真4】が開発された。さらに2005年には、地上のみならず水中でも自在に泳ぎまわり、先端にカメラを搭載できる「ACM-R5」【写真5】が登場。そして2009年には、山田氏が二重関節を採用した最小のヘビ型ロボット「ACM-L2」【写真6】の開発に取り組んでいるところだ。

 次に山田氏は、ヘビ型ロボットの推進力学についても解説した。実際のヘビの滑走形態は「サーペノイド曲線」(Serpenoid Curve)と呼ばれる曲線で近似できるという。サーペノイド曲線とは、広瀬教授により提唱されたもので、「曲線に沿った曲率の変化率が正弦波のように変化する曲線」のこと。サーペノイド曲線を描いて蛇行するヘビ型ロボットの1周期に発生するトルク分布を計算で求め、蛇行推進の解析を行なった【写真7】。またロボットによる実験でも、体を曲げる際のモーメントが推進力になるという理論的な裏付けも得られたという。

 さらに山田氏は「Sinus-lifting」と名付けられたヘビ特有の滑走様式についても説明した。Sinus-liftingとはヘビが全力疾走する際に、大屈部あたりの一部が地面から浮き上がる現象だ。これによりヘビは横滑りしやすい場所でも推進できるという。実験では、車輪のないヘビ型ロボットを使用し、地面を盛り上げて擬似的なSinus-liftingを再現【動画1】。実際に車輪のないヘビ型ロボットでも前進できることを確認できたそうだ。

【写真3】世界初のヘビ型ロボット「ACM-III」。これにより、ヘビ型ロボットという新しい分野が誕生した【写真4】3次元ヘビ型ロボット「ACM-R3」。本物のコブラのように、体を立てながら動くことができるロボットだ【写真5】3次元水陸両用ヘビ型ロボット「ACM-R5」。愛知万博に出展されていたので、ご存知の方も多いだろう
【写真6】二重関節を採用したヘビ型ロボット「ACM-L2」。9関節で長さ1m、重量1.2kgほどと小型軽量な構造【写真7】サーペノイド曲線を描いて蛇行するヘビ型ロボットの1周期に発生するトルク分布を計算【動画1】車輪のないヘビ型ロボットを使用したSinus-liftingの実証実験

ロボットの基本要素、マイコン、センサー信号処理、モータ制御について学ぶ

【写真8】東京工業大学機械宇宙システム専攻の青木岳史特任助教。マイコンの基礎から、センサー信号処理、モータ制御まで分かりやすく解説

 次にヘビ型ロボットを製作する前準備として、東京工業大学機械宇宙システム専攻の青木岳史特任助教【写真8】より、マイコンプログラム基礎、センサー信号処理、モータ制御に関するレクチャーが行なわれた。

 まずマイコン基礎セミナーでは、ワンチップマイコンとI/Oボード、ソフトウェア開発環境についての解説が行なわれた【写真9】。今回使用するマイコンボードは秋月電子製の「AKI-H8/3694Fタイニーマイコンキット」だ。製品名から分かるとおり、ルネサステクノロジの「H8/3694」が採用されており、5VレギュレーターやRS-232C用レベルコンバーターも搭載。H8/3694は、フラッシュROM(32k)、RAM(2k)、8ch・10ビットA/Dコンバーター、RS-232Cインターフェイスなどを備える。メインクロックは20MHzだが、32.768kHzのサブクロックもサポートし、正確なタイマーを利用できる。

 一方、I/Oボードには「H8 タイニーIOボード」を利用。こちらはマイコンボードの入出力インターフェイスのほか、シリアル通信ポートやテスト用LED×2個、スイッチなどが付いている【写真10】。まずマイコンボードをI/Oボードのソケットに挿入し、各種ジャンパーピンの設定を行なう【写真11】。

【写真9】マイコン基礎セミナーで用いられた教材の一例。「AKI-H8/3694Fタイニーマイコンキット」(写真右)と「H8 タイニーIOボード」(写真左)【写真10】「H8 タイニーIOボード」正面から。赤と緑のLEDを搭載し、簡単なプログラムのテストが可能【写真11】H8 タイニーIOボードのソケットにAKI-H8/3694Fタイニーマイコンキットを挿入したところ。ジャンパーピンの切り替えでプログラムの書き込み、RUNモードなどを設定

 次にソフトウェア開発環境だが、プログラミングにC言語を利用するため、ベストテクノロジーの「GCC Developer Lite」(H8/SH/AVR用GCC付属)を用いる。使用マイコンや接続ポートなど環境設定を終えたら【画面1】【画面2】、C言語で書かれたLED点滅プログラムをマイコンに書き込む。今回はあらかじめ用意されたプログラムソースをGCC側から開いて、それをコンパイルしてマイコンに転送する【画面3】。またH8マイコンにプログラムを書き込む際には、ジャンパーピンをプログラムモードにしておく。

 プログラムの内容は「while~if~else文」で分岐ループを組んで、I/Oボードの赤と緑のLEDを交互に点滅させるというものだ【画面4】。点灯時間はwait関数のパラメータで設定する。プログラムの転送はRS-232C経由となるが、筆者のノートPCにはRS-232Cポートがないため、別売のUSB/RS-232Cコンバータを利用した【写真12】。H8マイコンにプログラムが書き込まれたら、ジャンパーピンでH8マイコンをRUNモードに戻し、リセットボタンを押すとLEDが点滅を始める【動画2】。

【画面1】ソフトウェア開発環境には「GCC Developer Lite」を利用。まずオプションメニューで使用マイコンを設定。ここではH8/3894F(H8Tiny)内蔵フラッシュROMを選択【画面2】設定で注意する点はCOMのポート番号だ。これはPC側のシステムのプロパティから確認できるので、設定が合っているか事前に確認しておく【画面3】プログラムソースをGCC側で開いて、それをコンパイル。コンパイル終了後、フラッシュライターによって、マイコン側にマシンコードを転送する
【画面4】LED点滅プログラムの内容。while~if~elseでループを組んで、I/Oボードの赤と緑のLEDを交互に点滅させる【写真12】基板に挿したコネクターのような(赤く点灯している)パーツがUSB→RS-232Cコンバーター【動画2】LEDの点滅実験の模様。LEDの点灯時間はwait関数のパラメーターで設定

 次に各種センサー信号処理の実習が行なわれた【写真13】。こちらも用意されたサンプルプログラムを用いる。この実習では、可変ボリュームのポテンショメーターや、赤外線距離センサーのPSD(Position Sensitive Detector)【写真14】が用いられた。また光センサーとしてCDS(硫化カドミウムセル)【写真15】を利用。いずれもセンサーのアナログ出力を中継基板を介してH8マイコンキット側に送る【写真16】。H8マイコンに内蔵されたA/Dコンバーターがセンサー出力をデジタル値に変換する。その値をパソコン側で取得し、シンプルタームで10ビットのデジタル値が表示されるという流れだ【写真17】。

 さらに、もっとも扱いやすいアクチュエーターとして、DCモータによるPWM(Pulse Width Modulation)制御と、RCサーボモータの駆動についての実習も行なわれた【写真18】。DCモータは印加電圧(電流)によってトルクが変化する。そこでPWM制御では、短時間の周期でパルス電圧の印加時間の比率(Duty比)を変化させることで、周期電圧の積分値(平均電圧)をコントロールする。具体的なモータ回路はHブリッジで組み、4つのトランジスタの組み合わせにより回転方向(CW/CCW)を決め、さらにトランジスタのスイッチングによって、モータの印加電圧を制御して、速度や位置を制御する【写真19】。

【写真13】センサー信号処理の教材。中継基板を経由して、各種センサーとマイコンキットを接続する【写真14】写真手前は赤外線距離センサーのPSD、写真奥はリニア式可変ボリュームと回転式可変ボリューム(ポテンショメーター)【写真15】光センサーとして用いたCDS。光によって抵抗値が変化する
【写真16】センサー中継基板のアップ。回転式可変ボリュームを付けているところ。この基板はDCモータやRCサーボモータのインターフェイスとしても機能する【写真17】シンプルターム上でセンサーの値を確認する。MAXは10ビットなので1024だが、ここではボリューム値が383と表示されているので、3分の1程度の回転だということが分かる【写真18】センサー基板を介して、モータドライバー側に制御用の指令電圧を送る。またボリュームを動かして、PWMのDuty比を変えてみる
【写真19】DCモータの制御方法。単相PWMの指令信号をモータドライブ回路に送り、トランジスタをスイッチングさせる

 モータ駆動回路が内蔵されたドライバには、ハイボット社の「タイテックモータドライバ Ver.4」が利用された。H8/3694マイコンボードから送られてくる単相PWM信号(パルス電圧)をCR平滑回路を介してアナログ電圧にして、その入力をドライバの指令電圧とする【写真20】。ちなみにCR平滑回路の原理は、ひらたく言うと抵抗Rが水道の蛇口、コンデンサー容量Cが風呂釜のようなものに相当し、電気的時定数を考慮してCR値を決定する。抵抗Rが大きいと水(電気)が流れにくく、風呂釜の水が溜まる時間が遅くなる。逆に風呂釜が大きすぎると、水位(電圧)の上昇が鈍くなる。ちょうど良い値を決めると、水位の反応が早く、かつ水面の変動(リップル)も小さく安定する。

 モータのシャフトにはポテンショメーターが取り付けられており、その値をコントローラーにフィードバックして回転角の情報としている【写真21】。したがってドライバ側では、指令電圧に応じたDCモータの正確な位置制御が可能だ【写真22】。実習ではサンプルプログラムをコンパイルし、マイコン側に書き込み、DCモータの位置制御を行なって、シンプルタームからPWMのDuty比などを確認した【写真23】【写真24】。

【写真20】モータドライバーはアナログ指令電圧で制御されるため、単相PWM信号(パルス電圧)をCR平滑回路を介してアナログ電圧に変換する必要がある。その際に最適な電気的時定数を求める【写真21】DCモータの回転角度を検出するために、シャフトにはポテンショメーターが取り付ける。その値をコントローラーにフィードバック【写真22】指令電圧に応じたDCモータの正確な位置制御が可能。ただし今回はH8のPWM出力レベルが5Vなので、タイテックドライバーの入力指令電圧の半分となる。したがって可動範囲も半分までに対応
【写真23】DCモータの位置制御の実習。ボリュームでPWMのDuty比を変えて、ドライバー側に送る入力指令電圧を変える【写真24】シンプルタームには、モータへの入力指令電圧のデジタル値と、PWMのDuty比が表示される

いよいよヘビ型ロボットの製作にチャレンジ!

【写真25】東京工業大学機械宇宙システム専攻 遠藤玄助教。今回のロボット教材の設計者だ

 さて、一通り基本的なマイコン制御の実習を終えたら、いよいよヘビ型ロボットの製作にとりかかる。今回のセミナーには、全国津々浦々から47名が参加した。各人がヘビロボットの関節ユニットを製作し、それを最後に連結させて、世界一長いロボットを完成させるという壮大な目論見がある。現時点で世界最長のヘビ型ロボットは36関節だというから、もし参加者全員が関節を連結できれば47関節となるため、ギネス更新を狙えるのだ。また実際に先頭節を無線操縦することで、推進速度や方向がうまく制御できることも実証する方針だ。

 ヘビ型ロボットを製作するにあたり、東京工業大学機械宇宙システム専攻の遠藤玄助教より、製作の手順と注意点の説明が行なわれた【写真25】。以下、ヘビロボットの関節ユニットの製作手順と関節の連結までの流れを簡単に追っていこう。ヘビ関節ユニットの主なパーツは、基礎実習で利用したH8/3694マイコンキットに加え、中継基板、ポテンショメーター、RCサーボモータ、電池、各種電子部品、機構ユニットなどで構成される【写真26】。

 まず制御回路系を製作する。H8/3694マイコンキットを搭載する中継基板を作り、そこに電池ボックスやポテンショメーターを接続する【写真27】【写真28】【写真29】【写真30】。制御回路が完成したら、H8マイコンキットにサンプルプログラムを焼きこみ、サーボモータと単4電池ボックスをつなげて、動作確認を行なう。ここでポテンショメーターを回転させると、若干の時間遅れを伴いながら、サーボモータが回転する【動画3】。さらにモータ軸のゼロ点出しを行なっておく。

【写真26】ヘビ関節ユニットの主なパーツ。マイコン基礎実習で利用したH8マイコンキットも利用する【写真27】制御回路系のパーツ類。電子パーツは電解コンデンサー(47μF)、積層セラミックコンデンサー(0.1μF)のみとシンプル【写真28】中継基板をつくる。H8/3694マイコンキットを接続するためのソケットやコンデンサー類をハンダ付けする
【写真29】中継基板のソケットにH8/3694マイコンキットをはめ込んだところ【写真30】ポテンショメーター(10kΩ)に積層セラミックコンデンサーをハンダ付けする【動画3】ポテンショメーターを回転させると、時間遅れを伴いながら、サーボモータが回転

 次は機構部の組み立てに取りかかる。ここでは「受動車輪」ユニットを作る【写真31】。ユニットの車輪は、モータと連結されてダイレクトに駆動するわけではない。製作するヘビ型ロボットは、各関節部に搭載されたマイコンとRCサーボモータによって関節角をコントロールすることで、前方から後方へ各関節の動きが波のように伝わり、推進力を得るという原理だ。そのためリンク中央部に駆動源のないベアリング付き車輪を取り付け、受動車輪と呼んでいるわけだ。

 さて受動車輪ができたら、機構部のベースプレートを組み、下側から受動車輪を取り付ける【写真32】。サーボの出力軸を嵌めるためのサーボホーンを、もう1枚のベースプレートに組み付け【写真33】、専用ステーにポテンションメーターを組み込む【写真34】。すべてのパーツが揃ったら【写真35】、これらを付けて全体の関節部を完成させる。まずRCサーボモータをベースプレートに嵌め、さらにモータのシャフトをもう1枚のベースプレートのサーボホーンと連結【写真36】。関節角度の指令値を読み取るポテンショメーターを反対側からサーボホーンと連結する【写真37】。最後に基板ステーや電池ボックスを取り付ければ、1軸の関節ユニットが完成する【写真38】。ここでユニットの動作を確認するために、センサー実験用の予備ポテンショメーターを接続する。ポテンショメーターの位置と関節の位置関係が正しくなるように調節しておく。

【写真31】受動車輪ユニットの組み立て。ヘビ型ロボットの車輪はモータでダイレクトに駆動するわけではない【写真32】ベースプレートを組み、下側からベアリング付きの受動車輪を取り付けたところ【写真33】もう1枚のベースプレートにはサーボホーンを取り付けておく
【写真34】ポテンショメータのナットを一旦外して、専用ステーに取り付ける【写真35】組み立てた機構部品にサーボモータやポテンショメーターを取り付けて関節部を完成させる【写真36】PCサーボモータをベースプレートに嵌め、サーボモータのシャフトとサーボホーンを連結させる
【写真37】ベースプレートの上側からポテンショメーターをサーボホーンに取り付ける。これで回転角度が読み取れる【写真38】基板ステーや電池ボックスを取り付けて、1軸の関節ユニットが完成

各関節を連結して、世界一長いヘビ型ロボットを目指す!

 ここまで進んだら、いよいよ各関節ユニットの連結作業に入る。ただし、いきなり長い関節をつなげるのではなく、まずグループごとに短い関節にして動作を確認してみる。ヘビ型ロボットは先頭節のみラジコンで操作し、あとの関節部は個人で製作した関節をつなげていく形となる【写真39】【写真40】。

【写真39】各関節ユニットの連結作業。サーボホーン側のプレートを前の関節部と連結させ、スぺーサーを立て、H8マイコンキットが搭載された中継基板を取り付ける。ポテンショメーターやサーボモータのケーブルも接続【写真40】ヘビ型ロボットの完成。まずは8台の関節を取り付けて動作確認をしてみたところ、滑らかに進んだ。まるで本当の生物のようだ

 ここで簡単に今回のヘビ型ロボットの動作原理について確認しておこう。まず関節部のマイコンが回転角度となるアナログ信号を読み取って記録する(先頭部のみリモコン操作による指令)。そして、その記録信号を指令値として、若干の時間差でRCサーボモータで関節を動かす。関節が動くと、それに連動した形で、次関節のポテンショメータが回転し、同様に次関節のマイコンが回転角度を記録する。また、これがRCサーボモーターの指令値となって関節を動かす、というプロセスを繰り返すことで、各関節の動きが波のように伝播する仕組みになっている【写真41】【写真42】。

【写真41】先頭部のみリモコンでコントロールする。第2関節からポテンショメーターで回転角度を読み取り、次の関節へ情報を伝達していく【写真42】関節の目標角度の指令がバケツリレー式で伝わっていく点が大変ユニーク。後段部の関節ほど累積誤差が大きくなるが、関節の調子が悪ければ、簡単に取り外して再連結できる

 ここで面白い点は、各関節の目標角度の指令をバケツリレー式にして伝播していること。従来のヘビ型ロボットでは、メインコントロール部からCANで通信することで、ほぼ同時に各関節に回転の指令値を与えていた。そのため関節が長くなっても、後段の関節で累積誤差は生じにくい。一方、バケツリレー式では手前の関節の回転角度を次関節で読み取って、それに合わせて動いていくため、後段部の関節になるほど累積誤差が大きくなる。とはいえ、各関節は独立しながらコントロールされているので、もし一部分の関節の調子が悪ければ、簡単に取り外して再連結することができるメリットもあるのだ。

 実際に13関節をつなげて操作してみたところ【動画4】のように、うまく動くことを確認できた。このように各グループにおいて、短いヘビ型ロボットが完成したら、いよいよ今度はそれらを1つにまとめて、長い長いヘビ型ロボットの製作にチャレンジ。前述のとおり、今回のセミナーではギネスへの記録に挑戦する大目標があったのだ【写真43】。

 このセミナーでは、最終的に24関節までの連結と、正常な動作を確認することができた【動画5】。予定では参加者全員の46関節ぶんを連結するはずであったが、関節ユニットの製作にかなり時間が割かれてしまい、遠方からの参加者は途中退席となった。そのため46関節のギネス記録のチャレンジは、今回は残念ながら見送りとなった。とはいえ、ヘビ型ロボットの製作自体は大成功だったといえる。実際に24節のヘビ型ロボットだけでも、かなり長くて、見ていても壮観だった。実際に動いている様子は、あたかも本物の大蛇のよう【動画6】。設計者の遠藤氏をはじめ、関係者、参加者の皆さんの感動もひとしおだ。

【動画4】12関節を連結して動かしているところ。こちらもスムーズに動作して成功【写真43】さらに関節を連結していく。こうやって見ると、ものすごく長い大蛇になった。今回は24関節までつなげることができた
【動画5】24関節を連結したヘビ型ロボットが完成。うまく動いたとき、思わずため息がもれた。すごい! 感動の瞬間だ【動画6】24関節を連結したヘビ型ロボットのアップ。これだけ長いと、動きが伝播するまでかなり時間がかかる
【写真44】最後まで残った参加者の皆さんと記念撮影。ヘビ型ロボットをの作るという目標に向かって力を合わせ、24関節もの大蛇を見事に完成。達成感もひとしおだ

 今回このセミナーに参加させてもらって、筆者も大変勉強になり、感ずるところが大きかった。まずヘビ型ロボットの教材がとても良かったこと。ひとり1関節ずつユニットを製作し、それを連結させて、最後に長いヘビ型ロボットを作るプロセスは、グループ学習に向いているといえるだろう。全員で1つの目標に向かって力を合わせることで参加者が連帯し、ある種のチームワークが生まれたように感じた【写真44】。

 また製作費用も全体で分担できるため、ひとり一人の製作コストの負担も少なくて済む。CPU、サーボモータ、ポテンショメーターも1関節に1つずつ付いている。後で分解しても簡単な制御実験ができるというメリットもある。まさに、このヘビ型ロボット教材は、ロボット学習として最適な教材であると実感した。なお、このロボット教材を教育機関などで利用したい場合は、東京工業大学の遠藤助教(gendo@mes.titech.ac.jp)まで問い合わせれば、入手の相談も可能だという。



(井上猛雄)

2009/6/16 16:41