Infanoid | Keepon | ClayBot
日本語 | English
はじまりはラジコン用サーボの制御装置
【初代 Pico】

Infanoid 1〜3号機を開発するとき,ラジコン用サーボを位置制御するために開発した専用コンピュータが,初代 Pico です.プロセッサに 68HC11A1 という8ビットのワンチップ=マイコン(クロック 5MHz)を採用し,ホスト PC とシリアル通信(RS-232C, 9600bps)することで,4系統の PWM 信号のデューティ比を制御するというものでした.

写真:中央に68HC11A1を配置したPico-1基板 写真:Pico-1を2個使用した制御ボックス
初代 Pico(1996年)・制御ボックス(1997年)

また,ハーモニックドライブの AC アクチュエータを位置制御(CW/CCW パルスを市販ドライバに送信)する派生型も作りました.Infanoid 3号機の制御ボックスには,これら2つの〈初代 Pico〉が入っています.

開発当時(1996年)はプログラムが小さかったので,すべてアセンブリ言語で書いてから,手作業でマシン語に変換し,EEPROM(640byte)に焼き込んでいました.ワークエリアとしての RAM は 256byte でした.

埋め込みコンピュータの開発
【Pico-11・Poco-32】

上半身ヒューマノイド Infanoid 4〜5号機の開発では,DC モータの位置・速度・トルク制御ができる小型コンピュータとモータドライバが必要になりました.比較的小さな身体のあちこちに,20個以上のモータを配置します.モータには大きな電流が流れるため,長いケーブルを身体内に引くことは得策ではありません.また,ケーブルの断面積・体積も,小さな身体がゆえに,大きな問題となります.曲げ伸ばしによって,ケーブルが疲労断線したり,運動制御に非線形の影響を与えることが考えられます.そこで,小型コンピュータやモータドライバを身体各所に配置し,ケーブルの出入りを最小限に抑えることにしました.

写真:中央に68HC11K4を配置したPico-11の試作基板 写真:Hブリッジを2個配置したPoco-32の試作基板
Pico-11 試作品・Poco-32 試作品(2000年)

そのために開発した制御コンピュータが Pico-11 です.プロセッサには初代とほぼ同じ 68HC11K4(16MHz)を採用し,エンコーダつきの DC モータを4台まで制御できるようにしました.エンコーダ読み取り IC(HCTL-2016)が4つ見えるのが特徴です.ホスト PC との通信は,インピーダンスを低く抑えた TTL レベルのシリアル通信(9600〜38400bps)によってを実現しています.それぞれ異なるアドレスを与えた Pico-11 をカスケード接続することによって,最大127 個の Pico-11 をホスト PC につなぐことができます.また,コネクタに JST の SH シリーズ(1mm ピッチ)を採用することで,汎用性をもたせながら,基板サイズを 60mm×40mm まで小さくすることができました.今後,この基板サイズが CareBots プロジェクトの標準になります.

Pico-11 の制御プログラムは,すべてアセンブリ言語で書き,専用のアセンブラでマシン語に変換しました.モジュールごとに EEPROM(640byte)と RAM (768byte)上でデバッグし,完成したモジュールごとに,OTP-ROM(1回だけ書き込める ROM;24Kbyte)に焼き込んでいったのです.(いまから思えば,よくこんな作業をこなしたものです.)

写真:60mm×40mmのPico-11の量産基板(表/裏) 写真:60mm×40mmのPoco-32の量産基板(表/裏)
Pico-11・Poco-32 (上=表/下=裏;2000年)

また,DC モータを駆動するためのモータドライバ Poco-32 も開発しました.Hブリッジに LM18200 を採用し,40W までのモータを2台まで駆動できます.また,モータ電流をセンスする機能も持っています.

ちなみに,なぜ Pico-11 なのでしょうか.まず,「11」はプロセッサの 68HC11 に由来します.(その昔,6809 というプロセッサがよく使われていて,「マルク (09)」と呼ばれていました. 68HC11 はその派生型のひとつです.)一方,「マイクロコンピュータ」はもう死語に近いかもしれませんが,〈マイクロ (10e-6)〉より小さなコンピュータということで〈ピコ (10e-12)〉としました. (〈ナノ (10-e9)〉は別の分野を想像させるので不採用にしました.) Poco や後述の Peco はその〈派生形〉です.

より進化した Pico と Poco
【Pico-2・Poco-14・Poco-42】

Infanoid 6号機には,より小型化 (高さを圧縮)・高性能化 (24bit 位置カウンタ・高い制御サイクルなど) を実現した制御コンピュータとモータドライバが必要になりました.このために開発したのが,Pico-2・Poco-14・Poco-42 です.

制御コンピュータ Pico-2 は,プロセッサに SH2 (HD64F7046;50MHz),エンコーダ読み取り IC に ZEN2044F を採用し,計算能力を格段に向上させました.最大4台の DC モータを位置・速度・トルク制御できるほか,最大4台のラジコン用サーボを位置・速度制御することができます.また,デジタル入出力・アナログ入力端子も備え,汎用性をもたせてあります.ホスト PC との通信は全二重の RS-485 方式とし,通信速度を最大 768Kbps まで高めました.Pico-11 と同じように,それぞれ異なるアドレスを与えた Pico-2 をカスケード接続することで,最大32個の Pico-2 を1本の通信線でホスト PC につなぐことができます.

写真:表面にZEN2044Fと裏面にSH2を配置したPico-2量産基板
Pico-2 (上=表/下=裏;2003年)

ちなみに,Pico-2 の心臓部 SH2 は,基板裏側に配置してあります.これは,最も消費電力の大きい(つまり最も発熱する)SH2 を,ロボットの構造部材に(熱伝導グリスなどで)密着させ,効率よく放熱させるための工夫です.とても大きな効果がありました.

写真:裏面にHブリッジを配置したPoco-14量産基板 写真:裏面にHブリッジを配置したPoco-42量産基板
Poco-14・Poco-42 (上=表/下=裏;2003年)

Poco-14 は最大4台の小型 DC モータ(〜20W)を駆動できるモータドライバ,Poco-42 は最大2台の小型・中型 DC モータ (〜120W) を駆動できるモータドライバです.Hブリッジには,それぞれ STS の L6204D と L6201PS を採用し,それらを放熱のため基板裏面に配置しました.Poco-14・Poco-42 は,いずれも電流センサを備え,Pico-2 と接続することでトルク制御が可能になります.

ホスト PC との通信
【通信コンバータ Peco-1・Peco-2】

Infanoid・Keepon は,いわゆる〈リモート=ブレイン=ロボット〉です.ホスト PC が〈脳〉となり,ロボットは感覚器と運動器を備えた〈身体〉となります.〈脳〉と〈身体〉は,非同期シリアル通信線によって接続されます.

初代 Pico は RS-232C 通信ポートを持っているため,直接 PC の COM ポートに接続することができます.TTL レベルの通信ポートをもった Pico-11 と通信するには,RS-232C の信号を TTL レベルに変換する Peco-1 を使います.Peco-1 は,RS-232C(3線式=上り+下り+共通グラウンド)と TTL レベル(3線式)の変換チャネルを2つ持っています.また,Pico-11 には,1つの TTL レベル通信線に複数の Pico-11 をカスケード接続するための機能があります.オープンコレクタ出力のバッファを利用してインピーダンスを低く抑え,耐ノイズ性を向上させています.

写真:シンプルな通信コンバータPeco-1(60mm×40mm)
Peco-1 (上=表/下=裏;2000年)

ぬいぐるみロボット Keepon の開発では,当初 Pico-11 と Poco-14 を組み合わせて,4つのモータを制御していました.実際に Keepon を使う現場では,比較的長い距離の通信(当時は有線のみ)が必要となり,RS-232C や TTL レベルの通信線では十分な通信速度が得られないことがわかりました.そこで Pico-2 に採用した RS-485(4線式=上りツイストペア+下りツイストペア)に切り替えることにしました.表面実装タイプの RS-485 ドライバを Peco-1 (RS-232C ドライバの上)・Pico-11 (68HC11 の上) に接着し,ラッピングワイヤで親基板との間を配線してあります.職人技が必要でした.

写真:Peco-1にRS-485ドライバを接着・手配線したPeco-1改 写真:Pico-11にRS-485ドライバを接着・手配線したPico-11改
Peco-1改・Pico-11改 (上=表/下=裏;2002年)

2003年に完成した制御コンピュータ Pico-2 は,カスケード接続が可能な RS-485 通信ポートを備えています.PC 側からは,RS-232C の COM ポートを RS-485 に変換すれば,1つの通信線で最大 31個の Pico-2 と通信可能になります.この変換を(職人技に頼ることなく)可能にするのが,通信コンバータ Peco-2 です.Peco-2 は,RS-232C(3線式)と RS-485(4線式)の変換チャネルを2つ持っています.

ClayBot: peco-2
Peco-2 (上=表/下=裏;2003年)

現在,無線によってホスト PC と Pico-2 をつなげる装置を開発しています.Peco-3 は無線 LAN カード(CF カード)を利用するためのアダプタです.市販のアダプタ ELZ-80C と組み合わせることで,無線 LAN カードと Pico-2 を RS-485 通信線で接続することができます.また,無線 LAN ではなく BlueTooth を利用した Peco-4 も開発中です.これらを活用することで,リモート=ブレインの移動ロボットを比較的簡単に開発することができるでしょう.

写真:無線LAN(CFカード)アダプタPeco-3(単体) 写真:Peco-3にEZL-80Cと無線LANカードを装着した様子
Peco-3 (上=表/下=裏)・Poco-3+EZL-80C(2005年)