EZ-SERVO＆RoboShellによるロボット開発環境の提案

オープン・ソースのロボット用プラットホーム

RoboShellシステム
大橋 修● ロボット開発がブームだが…

● RoboShell システムを開発

近年，日本をはじめアジアでも，企業や研究団体，アマチュ

このような状況を打開するため，筆者はハードウェアなどのアを問わずロボット開発がブームです．とくに 2 足歩行ロボッ

回路図も含めたオープン・ソースのロボット用プラットホーム

トは，RoboOne などの競技会やキットの販売を通して，下は小として，「RoboShell システム」を開発しました．

学生から上はプロフェッショナルまで，非常に幅広く開発されRoboShell システムとは，ロボット・コントローラ用サーボ・ています．ロボットのキットも，安いものから企業の研究プ

モータ EZ-SERVO（オプティマイズ製）と，EZ-SERVO 上で動ラットホームになりえるものまで，いろいろなものが販売され作するロボット制御用ソフトウェアのフレームワーク RoboShellています．また，制御用のコントローラやサーボ・モータも単から構成されます．RoboShell は筆者の所属する TeamKNOx体で発売されています．

が開発・配布を行っています．

しかしロボットは，それそのものがさまざまな技術の集合体

RoboShell システムの目的は，業界標準の技術を用いてロです．ちょっとまともなロボットを作ろうとすると，すぐに障ボット制御に利用できる低価格でオープンなサーボ・モータ・壁が現れます．競技用の２足歩行ロボットではサーボ・モータコントロールを構築することにあります．さらにその製作過程が多用されますが，それらは非常に高価です．競技ロボット界を通して，ロボット制御に必要な知識（制御理論や電子回路，では 10,000 円を「1 サーボ」と呼ぶくらいですが，競技に使う高ユーザ・インターフェースなど）を学びます．また，得られた性能なサーボ・モータは 1 個 10,000 円では購入できません．当

技術をコミュニティで共有して技術の向上に役立てることにあ然，これらを制御するサーボ・モータ・コントローラも必要にります．

なります．かなり高価（40,000 円程度）なうえに，コピーされる● RoboShell システムの基本構成ことを恐れてか，開発元からの情報開示が進んでいません．開図 1 に RoboShell システム全体の基本構成を示します．Robo

発環境も専用のものが多く，同じ系列のボードを使わない限り，Shell システムといった場合は，ハードウェア（現在の参照実装習得した技術を次へ生かすことが難しくなります．

は EZ-SERVO）とソフトウェア（RoboShell）で構成されます．

もちろん，これらのボードには開発費がかかっています．たminiEZ-USB を介してパソコンと USB で接続し，プログラムのいした数が出るわけではなく，量産効果による低価格化も期待開発とデバッグに利用します．フロントエンドでは，開発環境できないため，このような価格帯になることは理解できます．に Eclipse を使います．シリアルも装備されていて，このシリ

しかし，価格が手ごろでないとボードは売れません．腕に覚え

アルはモーション作成ソフトウェアである RoboShell Composerのあるユーザは，自分自身で各社から発売されている評価基板に利用されます．また，ほかのホスト用のマイコンを用いてコやキットなどのマイコン・ボードを購入して，サーボ・モータマンドを投入することも可能です．

を制御できるボードを開発することになります．

● RoboShell システムの特徴

こうして自作されたこれらのサーボ・モータ・コントローラ

ほかのサーボ・モータ・コントローラと比べると，RoboShellも，競技会への参加を前提にしているユーザが開発しているこシステムには次のような特徴があります．とが多いため，情報開示はあまり期待できません．また，同じ（1）高機能マイコン・ボードを使っていても構成は少しずつ違うので，まっ¡32 ビット RISC CPU 搭載

たく同一のソフトウェアを動作させることは難しくなります．

¡最大 32 チャネルの PWM 方式のサーボ・モータ・コントローラ

さらに，あまりにも専用化された開発ツールも気になります．
そうなると技術の蓄積が進まず，昨今の開発に重要な概念である標準化もできなくなり，いつまでたっても「車輪の再開発」

搭載¡512K バイトと大容量のオンチップ・フラッシュ・メモリ搭載¡60MHz の内部ブロックによる高速動作が可能の状態から抜け出すことができません．

134―― ロボット制御，サーボ・モータ，ARM7TDMI，LPC2138，EZ-SERVO，RoboShellDec. 2006

オープン・ソースのロボット用プラットホーム
RoboShellシステム
各種センサ

RoboShell Composer¡モーション作成ソフト¡GNUベース開発環境¡Eclipseを用いた統合環境

サーボ・モータminiEZ-USB

EZ-SERVO
CPLD
9572XL

フレームワーク
RoboShell

図1
RoboShell システム基本構成

ARM CPU
LPC2138

JTAG接続AN2138パソコン
USBプログラムの開発とデバッグ

シリアル・レベル・コンバータ

ほかのマイコン（2）業界標準技術の導入
ハードウェアとしては，次のデバイスやインターフェースを採用しています．
¡ARM7TDMI コア CPU LPC2138（NXP Semiconductors 社）

RoboShellとパソコンの通信用もできます．
（4）小型
サイズは 72mm × 47mm と小型です．これは電子工作を行うユーザにはおなじみの，秋月電子通商の C 基板と同サイズにな¡CPLD XC9572XL（Xilinx 社）

ります．穴位置が合わせてあるため，拡張も容易です．

¡USB（5）低価格¡JTAG

EZ-SERVO のキットは 5,000 円，完成品は 8,000 円と低価格¡PWM 方式のサーボ・モータ・コントローラです．ロボットに使えるサーボ・モータ・コントローラを入手〔宮田耕二氏によって発表された Little Burning Core（ 以下するには，市販品を購入するか，各種マイコンの評価用ボードLBC）をベースにして，近藤科学製のレッド・バージョンのを独自に拡張して利用するのは先に述べたとおりです．市販品

サーボ・モータに一部対応した拡張版〕の価格に対してとやかく言うつもりはありませんが，ユーザか開発環境には次のものを採用しています

ら見ると高価な気がします．評価用ボードはそれなりに安価で¡GCC や GDB などの GNU ツール・チェーン

すが，サーボ・モータを動かすところまで拡張するにはそれな¡Eclipse + CDTりに手間とお金がかかります．

¡CPLD Writer（6）ネイティブ対応¡Flash Programming ツール

逆運動理論を実装するためにはネイティブ環境が必須です．

以上の組み合わせで，USB を介してパソコン（PC）と接続し，JTAG によるプログラムの書き込みとデバッグが可能です．写
真 1 に CPU ＋ CPLD 基板である EZ-SERVO と，JTAG デバッ
グを実現する USB 基板 miniEZ-USB（オプティマイズ製）を接続した状態を示します．これらは広く使われている技術で構築されており，習得した技術がほかの用途にも使えるなど，将来の資産になります．
（3）柔軟性（CPU + CPLD）
RoboShell システムでは，サーボ・モータを最大 32 個接続できます．このようにサーボ・モータの数が多くなれば，CPU のI/O ポートの数もそれなりに必要になります．しかし，そうするとポートの多い CPU が必要になってきます．ポートの多いCPU は種類が限られてくるので，選択の幅が狭くなります．
RoboShell では CPLD を利用することにより，この問題に対応しています．CPLD はユーザ側でプログラミングが可能なので，現在の制御方法からシリアル通信方式などに変更すること

Dec. 2006

写真 1 EZ-SERVO ＋ mini EZ-USB の外観

135