インターネット経由で制御できるお手軽ロボットの実験記を紹介します。
-
目的
ロボットの話題が昨今熱いです。でも、インターネットを自由に利用できるようになったのにロボットだけ、ローカルの制御と言うのも寂しい気がします。ここではロボットをお手軽にインターネット経由で制御できるための方法を紹介したいと思います。
-
製作方法
再現性を高めるために市販されているコンポーネントを活用します。市販品が無い場合はコンポーネントを自作します。以下のコンポーネントから構成されています。
- Zaurus
今回はネットワークへの接続のしやすさからLinux-Zaurus を使っていますが、telnet, シリアルインターフェイスを装備しているPDAであればどれでもいいと思います。
- 接続ケーブル
Zaurs と PPRK の接続は市販のケーブルを用いて行います。元々、ZaurusのケーブルはPCとの接続が基本になっているのでクロスケーブルです。一方、PPRK はストレートケーブルでの接続が前提ですので、途中でクロスケーブルを経由させます。つまり、クロスxクロスでストレートにするわけです。
実験方法
などを投入してサーボモータが回ることを確認します。
ザウルスとの接続
PPRKで使われている SV203 の制御ボードはストレートケーブルでPCに接続されるようになっています。今回、PPRKとザウルスはCE-170TSで接続しましたが、これはPCとの接続が前提にありますのでいわゆるクロスケーブルです。ですから、もう一度クロスケーブルを入れて変換します。ターミナルを立ち上げて、
- echo 'BD0 SV1 M100' > /dev/ttyS0[enter]
- echo 'BD0 SV2 M200' > /dev/ttyS0[enter]
ここまでで、ロボットを単独で動作させる環境が整いました。ザウルスのソフト次第で様々な動作させることが可能ですし、元祖PPRK と同等の機能を実現したことになります。ちなみに筆者はケーブルがそのままだとあまりにも冗長だと思ったので切って利用しています。配線の色などはロットによって変わる場合がありますので、各人で確認してコネクタを接続するようにしてください。
PCとザウルスの接続
今回のウリはPCとザウルスが無線LAN経由で接続されるのに価値があります。ネットワーク制御などの複雑な部分をザウルスに肩代わりさせることにより、簡単にロボットの制御が出来るわけです。モータのコントロールも専用のハードウェアで行っているので徹底した分散処理と言えるかもしれません。PCとザウルスの接続は telnet 経由で行います。素の telnet での接続はセキュリティー面で問題があるようですが、今回の限定された領域での動作確認では極めて有効です。反対にホンチャンで使う場合にはセキュリティーを考慮する必要もありますし、非常に興味深いテーマとも思います。筆者の場合は PC の方は teraterm, ザウルス側は telnetd を起動するだけでした。
インテグレーションテスト
既にザウルスと SV203 は接続されていますので、今度はザウルスにログインして動作させてみます。これが今回の目玉であるロボットにログインして動作を行うことになります。teraterm から 192.168.1.12 にログインします。ユーザIDは zaurus でパスワードなしがデフォルトのようです。その後は su になり、制御を行います。上述した、echo 'BD0 SV1 M100' > /dev/ttyS0 を行います。
今後
今回の実験で、ネットワーク越しにロボットを制御するための基本的な枠組みが出来ました。高価なネットワーク対応PDAをロボットの制御に利用するのには賛否両論があるかと思いますが、使わないよりマシです。また、今回は telnet を使っての簡易的な接続でしたが、専用のクライアントを構築するともっと出来ることが広がります。例えば PC側はジョイスティックなどを接続して、その変位量を読み取りその値をネットワークで送り、ロボット側でそれらをデコードして命令を生成してシリアルで送ってモーターをコントロールすることなどが可能になると思います。最近では安いジャンクの無線LAN内蔵のPDAも出回るようになりましたので、それらで組んでみても良いかもしれません。筆者の目下の最大の関心事は春号で紹介されたCFタイプのUSBのホストカードです。これとEZ-USBを組み合わせて、モーターコントロールとカメラのコントロールを行えるようにしたいと思っています。やるべきことは沢山ありますが、最も今風なロボットが出来ると思っています。
|