Lego Mindstorm with Linux Mini-HOWTO Luis Villa 野本浩一 - 日本語翻訳 Revision History Revision 1.1 October 29th, 2000 Lego グループの Mindstorm の Robotics Invention System (RIS) は、たぶん 、一番合理的な値段で入手できるロボット工学キットです。しかし、標準ソフ トウェアは (驚くことではありませんが) MS Windows 上のものです。ここであ きらめてはいけません - Mindstorm シリーズを Linux から使うための方法が あります。この Mini-HOWTO は、そうした方法について簡単に紹介するととも に、より詳しい情報をどこで入手できるかについてまとめたものです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents 1. はじめに 1.1. 謝辞 1.2. 免責 1.3. Copyright 2. Mindstorm のアーキテクチャ 2.1. 基本ハードウェア 2.2. 標準の RCX プログラミング 2.3. Linux ツールが適合するところ 2.4. Linux ホスト用ハードウェアの必須条件 2.5. CyberMaster と Scout 2.6. Mindstorm の Vision Command 2.7. MS Windows CD についての重要な注意 3. LegOS 3.1. ホームページ 3.2. 作者 3.3. 種別 3.4. 言語 3.5. プラットフォーム 3.6. 概要 4. Lego::RCX.pm 4.1. ホームページ 4.2. 作者 4.3. 種別 4.4. 言語 4.5. プラットフォーム 4.6. 概要 5. Not Quite C (NQC) 5.1. ホームページ 5.2. 作者 5.3. 種別 5.4. 言語 5.5. プラットフォーム 5.6. 概要 6. pbForth 6.1. ホームページ 6.2. 作者 6.3. 種別 6.4. 言語 6.5. プラットフォーム 6.6. 概要 7. TinyVM と leJOS 7.1. ホームページ 7.2. 作者 7.3. 種別 7.4. 言語 7.5. プラットフォーム 7.6. 概要 8. リモート Java API 8.1. ホームページ 8.2. 種別 8.3. 言語 8.4. プラットフォーム 8.5. 概要 9. TCL RCX 9.1. ホームページ 9.2. 作者 9.3. 種別 9.4. 言語 9.5. プラットフォーム 9.6. 概要 10. Pylnp 10.1. ホームページ 10.2. 作者 10.3. 種別 10.4. 言語 10.5. プラットフォーム 10.6. 概要 11. 他の Linux ツール 11.1. LeoCAD 11.2. POVRAY 12. 他の情報源 12.1. LUGNET 12.2. 公式の Mindstorm のサイト 12.3. ハードウェアのサイト 12.4. Historic Lego Bots and Construction Guide 13. 日本語訳について 1. はじめに かっこいい Lego の Mindstorm シリーズのキットを見かけた時、横に貼ってあ る大きな "Windows 必須" のステッカーにがっかりさせられたとしても、あき らめることはありません - まだ希望があります。GNU/Linux で動く C, Perl, Java, Forth の言語それぞれに RCX をプログラムするソフトウェアが存在して いて、どれも入手可能です。この文書は、これらのすべてを解説しようとする ものではありません。むしろ、そうした Linux 上での様々な選択肢について、 それら各々の概要と情報源とを提供しようとするものです。したがって、この 文書は、ひとつの出発点、すなわち Mindstorm シリーズのキット購入を考えて いる Linux ユーザや、既に Mindstorm を持っていて Linux への移行を考えて いるのだけれど Linux 上でも手持ちの高価なおもちゃで遊ぶことができるかど うか疑問を持っている人たちの、役に立つものです。 次の点は、特に注意してください。私は、Mindstorms のオンラインコミュニテ ィの動きをよく知るよう努めてはいますが、すべてを理解しているわけではな いので、この文書のリストにはきっと抜けている事柄があるかと思います。 Linux から Mindstorm を動かす他の方法を御存知でしたら、 luge@users.sourceforge.net の著者ま で知らせてください。その方法をこの文書に追加して、Mindstorms を購入して GNU/Linux コンピュータ上で使おうと考えている他の人たちとそれを共有でき るようにします。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1. 謝辞 私は、私たち皆のためにプログラムを書き、この文書の初期のバージョンにザ ッと目を通してくれた、プログラムの作者に感謝したい。 さらに、書籍 "Extreme Mindstorms" を一緒に書かないかと誘ってくれた Dave Baum にも感謝します。この本の執筆にあたって、私は多くの時間を Mindstorm に割くことになりましたが、それに費やした時間は、そうした機会に恵まれな ければ割くことはなかったものであり、この HOWTO を書こうと思ったのもそう した時間が取れたからでした。RCX の "power programming" の探求に興味があ るなら、わたしはこの本を強くお薦めします。他にもいくつか良い本 (特に O'Reilly 本) が出版されてはいますが、この本は (他の本と比べて) かなり新 しい情報に基づいていて、さらにより重要な点として、記載されているほとん どすべてのプログラムコードが (私の知る限り) Linux 上で動作します。自分 の本の宣伝をするのはおこがましいことであるのは分かっていますが、私はこ の本をとても誇りにしているのです :) ここ で、この本を購入できます。 また、Steve Baker と Matthew Miller と Lugnet の多くの方々には、この文 書の初期バージョンからたくさんの役立つ提案をいただきました。彼らの見解 は、文書の全体に渡り、たくさんの場所にあり、この文書は、そのおかげで、 成り立っています :) 最後に、この文書と直接に関係はしませんが、以前は Duke University に、現 在は AT&T に籍を置く Michael Littman、彼はこの夏、実際に私と LEGO で遊 んでくれました。彼が私に与えてくれた機会無くして、 Mindstorm のオンライ ンコミュニティに熱中し精通した、今の私は無かったでしょう。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2. 免責 The LEGO Company (http://www.lego.com/) is very, very protective of their trademarks. This document is not in any way authorized by or associated with The LEGO Company, nor do I as the author claim to have any relationship with The LEGO Company. To see more about their policy on legal usage of their trademark, check out http://www.lego.com/info/ fair.asp , particularly the part (about halfway down) titled "How LEGO(r) Enthusiasts May Refer to LEGO Products on The Internet." I have attempted to abide by those guidelines faithfully; like everything else in this document, though, if you spot a violation of the guidelines, please let me know by writing me. 参考訳: LEGO 社 (http://www.lego.com/) は、とても、とても積極的に自社の商標 を保護しています。この文書は、決して、LEGO 社の公認もしくは関連する ものではなく、そしてまた、私が著者として、LEGO 社に関係するいかなる 権利を持つものでもありません。LEGO 社の商標の用法の法律上のポリシー について、もっと知りたいなら、http://www.lego.com/info/fair.asp の 、特に (真中の下の方にある) タイトル "How LEGO(r) Enthusiasts May Refer to LEGO Products on The Internet" の部分を確認してください。 この文書全般において、これらの指針に正確に従ったつもりですが、指針 に違反する箇所があれば、著者 ま で、知らせてください。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3. Copyright This document is distributed under the LDP Copyright. You can find a copy of it here. 参考訳: この文書は、LDP Copyright の下で、配布されます。ここ で参照できます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2. Mindstorm のアーキテクチャ 2.1. 基本ハードウェア ご存知ない方のために書きますが、Lego の Mindstorm のキットは、ロボット 工学のキットで、Lego グループから約 200 US ドルで発売されています。キッ トの中身は、Lego のたくさんのブロックと,RCX というもの (CPU と LCD と いくつかのコネクタが付いた大きなブロック) と、二つのモータと、(外界との 交信用の) 光センサと二つのタッチセンサです。 RCX キットの現在のリリースは、バージョン 1.5 で、2001 年の春、 RCX 2.0 に置き換わる予定です。今のところ、この文書内で "RCX" と言った時は、"RCX 1.x" を意味します。1.0 と 1.5 の違いは、些細ですが、1.5 から 2.0 への変 更はかなり大きなものです - 厳密な変更の範囲は、まだ、わかりません。 もっとハードウェアの詳細を学びたいなら (とはいえ、それらは RCX のプログ ラムの一語一語が何を意味しているのかを見るために、逐語的にディスアセン ブルしている人たちからの報告なので、読むのがイヤになるくらい詳しかった りするのですが)、二つの重要なウェブサイトがあります - Russell Nelson's Lego Mindstorms Internals と Kekoa Proudfoot's RCX Internals を訪れてください。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2. 標準の RCX プログラミング Linux から Mindstorm を動作させるためのいろいろな方法を理解するための手 がかりは、はじめに、Mindstorm キットが MS Windows で正常に動作している 時の仕組を理解することです。簡単に言うと、Lego から提供される MS Windows 上のソフトウェアツールを使えば、誰でも (あるいはたぶん、12-14 才くらいの子供が) ちょうど積木を組み立てるような感覚で、グラフィックを 操作して Mindstorm 用のプログラムを作成できます。この方法でプログラムが "組み立て" られると、そのソフトウェアは、プログラムを byte-code にコン パイルします。次に、この byte-code は、ロボットにダウンロードされ、そし てそこで、RCX のファームウェアが byte-code を処理し、byte-code の命令に 基づきマシンを制御します。byte-code の構文解析に加え、RCX ファームウェ アは、OS に似た多くの機能を持っています - ハードウェアの制御、スレッド 、そして、特にロボットとの通信に使われる IR ポートの制御の機能です。IR ポートからの (完全なプログラムに比して) 特別なコマンド、もしくは、特別 なリモート制御コマンドを受付ける能力もあり、それらのコマンドに基づきロ ボットを動かします。 標準のファームウェアは、現在 (RIS バージョン 1.5 を購入したとしても) バ ージョン 1.0 です。これは、とても深刻な制限があります - たとえば、それ ぞれの変数は、RAM ではなく、レジスタに格納されるので、たった 32 の変数 しか持てません。しかし、それでもかなりかっこいいことができ、ファームウ ェアのバージョン 2.0 (このベータバージョンが LEGO から入手できます。) では、これらの制限が かなり緩和され、1.x ハードウェアに対する下位互換性も保たれるはずです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3. Linux ツールが適合するところ Linux 上での Mindstorms プログラムは、前の章で述べたソフトウェアのセッ トの一部をそれぞれ独自のソフトウェアに置き換えるかたちで機能するように なっています。あるプログラムは、標準の Lego ファームウェアを独自の OS ライクなシステムや言語インタープリタへと完全に置き換えてしまいます。そ れ以外のプログラムは、標準の Lego byte-code に一致した byte-code を生成 するので、そうした byte-code さえ生成されれば、その解釈(インタープリト) には標準のファームウェアを使います。最後に、ロボット上で実際に何かを実 行するためのものを与えることなく、ホスト PC からロボットを制御するため のリモート制御用コードだけを生成するプログラムもあります。そうしたプロ グラムの場合も、標準の Lego ファームウェアを使います。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.4. Linux ホスト用ハードウェアの必須条件 ツールの大部分はコマンド形式なので、ハードウェアの必須条件は最低限で、 基本的にどんな Linux システムでも動作するはずです。 例外が一つだけあって、シリアルポートはどうしても必要です (最新のレガシ ーフリーなマシンには無いかもしれません)。RCX との通信は、マシンのシリア ルポートにつながった IR tower を経由します。つまり、シリアルポートがな いマシンではアダプタを買わないかぎり RCX を使えません。さらに、IRQ やシ リアルポートが競合してきちんと動かないことになるかもしれません。これは 、特に、モデムが /dev/ttyS0 を使っている場合です。対処は3つあります - 一つは、2番目のシリアルポートを IR tower 用に使用します。ほとんどの場 合、これで動作するはずです。これでダメなら、モデムと RCX の同時使用を止 めます。これが受け入れられないなら、次に、 ("extended dumb serial driver options" の下の) "support for sharing serial interrupts" のカー ネルコンパイルオプションを調べ、それをオンにし、再コンパイルしてくださ い。 Mac は標準的なシリアルポートが付いていないので、LinuxPPC ユーザはアダプ タを入手し、ツールを使うためにいくつかの変更をしなければならないかもし れません。NQC の作者で Mac ユーザである Dave Baum は、このための方法を 説明 で書いてい ます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.5. CyberMaster と Scout RIS に加え、Lego は他に2つのロボット工学システムを作りました - (ヨーロ ッパだけで入手可能な) CyberMaster と Scout です。残念ながら、これらが他 のツールと動作するのは、一つ (Section 5 で述べる NQC) だけのようです。 大ざっぱな言い方をすれば、Scout の購入を考えていて、あまり小遣いに困っ ていなければ、思い切って RCX を購入しなさい - 追加で払った以上の価値が あります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.6. Mindstorm の Vision Command Vision Command kit は、新しく追加された Mindstorm シリーズの一つで、USB カメラを使って 何かかっこいいことができます。残念ながら、USB カメラサポート (特に USB Quickcam サポート) は、まだ、Linux 下では不安定で、このためこの製品は Linux 下ではまだサポートされません。それをハックしたいなら、このページ を見てください 。ここには、よく似た Quickcam 向けのドライバもあります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.7. MS Windows CD についての重要な注意 下記のたくさんのプログラムが公式の Lego ファームウェアを使っているので 、MS Windows CD が必要かもしれません。MS Windows をブートする必要はあり ません - 時間を途切れさせずにすみますね :) しかし、(とりわけ NQC か RCX.pm を実行するなら) 電池切れの時に、ファームウェアを得るために CD を マウントする必要があるかもしれません。なるべくマウントしたくないなら、 CD 上のファイル firm0309.lgo を探し、Linux パーティション上の安全な場所 にコピーしてください。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3. LegOS 3.1. ホームページ http://legOS.sourceforge.net ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2. 作者 Markus L. Noga ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3. 種別 ファームウェアの置きかえ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.4. 言語 C, C++ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5. プラットフォーム x86 GNU/Linux 上で開発され、PPC Linux 上でテストされました。MS Windows 上の Cygwin と DJGPP にも移植されています。Solaris と Irix への移植は試 みられていますが、一部のツールしか動いていません。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.6. 概要 LegOS は、プリエンティブなマルチタスクの POSIX な RIS 用 OS です。プロ グラムは、標準の C か C++ で書かれ、(クロスコンパイラとして構築された) gcc を用い PC 上でコンパイルされ、次に RCX にダウンロードされ、そして、 実行されます。基本的に、C か C++ で、そして LegOS でどんなことも (もち ろん 32k のRAM に) 書くことができます。面白いことに、random(), 浮動小数 点エミュレーション、POSIX セマフォでのスレッド、複数のプログラムの格納 能力の機能があります。Linux および MS Windows の PC から、データの送受 信を行う機能もあります。この力 (legOS は、ほとんど確実に、RCX の代替ソ フトウェアの中で一番強力です。) は、わずかな手間で手に入ります - gcc を 使うからです。legOS は、様々な Linux の代替の中で設定が一番複雑なシステ ムで、大量のツールのダウンロードが必要です。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4. Lego::RCX.pm 4.1. ホームページ http://members.home.com/quillan/lego/rcx.pm.html ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.2. 作者 John C. Quillan ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.3. 種別 リモート制御ライブラリ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.4. 言語 Perl ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5. プラットフォーム GNU/Linux, MS Windows, Solaris ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.6. 概要 Lego::RCX.pm は、簡単に言えば、IR tower を経た RCX のリモート制御用の perl ライブラリです。IR tower が受け取り、標準のファームウェアが解釈し 、それに従って行動させることができるコマンドを送ります。すでに perl が インストールされていれば (インストールされてないのは誰?)、これは非常に 早く簡単にロボットを制御する方法です。インストールは必要ありません - 単 に、ファイルを正しいライブラリのディレクトリにコピーし、perl スクリプト の先頭に "use RCX.pm" を追加します。まだ、使ったことがないので、自信が ありませんが、CGI スクリプトでロボットと会話するための、おかしいほど簡 単な方法となるでしょう。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5. Not Quite C (NQC) 5.1. ホームページ http://www.enteract.com/~dbaum/nqc/index.html mattdm.org にある NQC の Linux ページ - NQC のRPM のホスト ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2. 作者 Dave Baum ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.3. 種別 ネイティブな byte-code コンパイラ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.4. 言語 C に似た言語で (もちろん) "本当の C ではない" を意味する Not Quite C (NQC) と呼んでいます。最低限のコーディングの経験があれば、誰でも、とて も簡単に学べるはずです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.5. プラットフォーム GNU/Linux, MS Windows, Macintosh ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.6. 概要 NQC は C に似た構文で書かれたプログラムを理解する byte-code コンパイラ で、標準の Lego ファームウェアが理解できる byte-code にプログラムを (PC 上で) コンパイルします。このアプローチは、長所と短所があります - 例えば 、標準のファームウェアは 32 個の変数しか扱えないので、NQC は同様に制限 されます。しかし、これらの制限の中でもおどろくほどたくさんのことができ ます。設定は、とても簡単で、プロジェクトのすべては、とても良く文書化さ れています。また、たぶん一番、一般的な代替プログラミングシステムなので 、 NQC を使い始めるなら、たくさんの人々が喜んで、手伝ってくれる状態にあ ります。 すでに述べたように、NQC は、Linux 下で Cybermaster と Scout の製品をサ ポートする (現状では) 唯一の選択肢です。さらに、そのベータバージョンは 、ファームウェアのバージョン 2.0 で動作し、代替プログラミングシステムの 中で、新しいファームウェアの追加された機能をサポートする最初のものです 。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6. pbForth 6.1. ホームページ http://www.hempeldesigngroup.com/lego/pbFORTH/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.2. 作者 Ralph Hempel ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.3. 種別 ファームウェアの置きかえ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.4. 言語 Forth、一般的なスクリプトに似た言語で、普通、組み込みシステム用に使われ ます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.5. プラットフォーム GNU/Linux, MS Windows ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.6. 概要 pbForth は、簡単に言えば、完全な Forth インタープリタで、これは、標準の ファームウェアを置きかえます。これを入れれば、ロボットに Forth スクリプ トをダウンロードし、次に、インタープリタはスクリプトを解釈し、それを実 行します。それには、変数の数の制限はなく、会話型デバッグに似た機能を提 供するいくつかのライブラリがあります。この環境はツールのセットアップに 関して殆ど最高に簡単なもので、行うべきことはバイナリをダウンロードした らコードを書いてダウンロードするだけです。その他のツール、PC上で動作す るコンパイラやインタプリタなど、は一切ありません。とは言っても、スクリ プトをダウンロードし、 PC との会話を簡単にするクロスプラットフォームな TCL GUI は入手できます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7. TinyVM と leJOS 7.1. ホームページ http://tinyvm.sourceforge.net http://sourceforge.net/projects/leJOS/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.2. 作者 Jose Solorzano ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.3. 種別 ファームウェアの置きかえ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.4. 言語 Java ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.5. プラットフォーム GNU/Linux, Win32 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.6. 概要 名前が意味するように、TinyVM は本当に小さな Java Virtual Machine で、 RCX にダウンロードされ、標準のファームウェアを置きかえます。そして、 Java プログラムを書き、PC 上で byte コンパイルし、RCX にダウンロードし ます。TinyVM プログラムは、いくつかの標準的な Java ライブラリを使うこと ができ、Mindstorm 上のセンサ、モータなどの制御用ライブラリが提供されま す。TinyVM は、すでに、機能している Java コンパイラが必要です。 leJOS は同じ作者による似たようなプロジェクトです (実際に、コードの流用 です)。かなりメモリ消費は大きくなります (TinyVM よりサイズで約 5k ほど) が、浮動小数点と文字列定数のサポートを含む、大幅な機能の追加がされてい ます。他の将来の計画は、ガーベージコレクションと複数プログラムのロード があります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8. リモート Java API 8.1. ホームページ RCX Java API RCXPort Java Interface ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.2. 種別 リモート制御ライブラリ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.3. 言語 Java ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.4. プラットフォーム GNU/Linux(?) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.5. 概要 この両方のライブラリは、(理論上) クロスプラットフォームな Java ライブラ リで、本来のファームウェアを用いた RCX をリモートで制御するために使うこ とができる信号を送ります。Linux でテストされたこともなく、さらに、Linux での開発も行われていませんが、ソースは誰かのために役立つかもしれないの で、この文書に含めました。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9. TCL RCX 9.1. ホームページ http://www.autobahn.org/~peterp/rcx/ http://www.demailly.com/tcl/rcx/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.2. 作者 Laurent Demailly と Peter Pletcher ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.3. 種別 ネイティブな byte-code コンパイラとリモート制御ライブラリ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.4. 言語 TCL ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.5. プラットフォーム GNU/Linux, Win32 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.6. 概要 TCL RCX コンパイラには、2つの主要な機能があります - TCL スクリプトを RCX byte-code にコンパイルすることも、スクリプトと会話型 TCL シェルのど ちらからロボットをリモート制御することもできます。 TCL が選択した言語な ら、これは最良のソリューションです。入手可能なバージョンは2つあります - (demailly.com の) Laurent のそれは、2つのオリジナルがあるようです。 しかし、1998 年から更新されていないようです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10. Pylnp 10.1. ホームページ http://www.hare.demon.co.uk/lego/pylnp.html ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.2. 作者 Les Smithson ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.3. 種別 リモート制御ライブラリ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.4. 言語 Python ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.5. プラットフォーム GNU/Linux ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.6. 概要 Pylnp は、独特な作りのリモート制御ライブラリで、その理由は Python を使 うだけでなく、標準のファームウェアと話すことの代わりに legOS と話します 。この理由は、他のリモート制御ライブラリではできない、非常に多くのカス タマイズ性を提供するためで、ロボットの legOS 側のカスタム機能の呼び出し が使用されています。この力の不利な面は、もちろん、この優れた機能性にア クセスするために、 legOS を学び、C のプログラムを書かなければならないこ とです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11. 他の Linux ツール この章のプログラムは、厳密に言えば、Mindstorm に関連していませんが、 Linux/Lego ファンは興味を持つでしょう。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.1. LeoCAD LeoCAD は、(名前が意味するように) Lego モデルの組み立てと完成予想図のた めの CAD プログラムです。使用可能な GTK の移植があり、 http:// leocad.gerf.org/linux.htm で見つけられます。完全な機能性を持っていない と、作者はほのめかしていますので、これは誰かにとって楽しいプロジェクト となるかもしれません。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.2. POVRAY Lego ピースのセットは、一般的な POVRAY 3-D レンダリングプログラムを使い 、作成されています。http://www.kawo1.rwth-aachen.de/~witte/projekte/ lego/lego.html でそのピースが、http://www.povray.org で POVRAY が探せます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12. 他の情報源 あなたは、今、この文書を読み終えましたが、Mindstorm をさらに探求するた めのウェブ上の場所が他にいくつかあります。これらの大部分は Linux 特有で はありませんが、そのほとんどにはディスカッションフォーラムがあるので、 たぶん、少なくともいく人かの Linux ユーザがいます。あなたがもっと探求す るために、私は十分に刺激を与えたと、期待しています。楽しみましょう! ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.1. LUGNET LEGO User Group NETwork のサイト http://www.lugnet.com/ は、長い間、オ ンラインの Lego に関するセンターです。たくさんの参加者と素晴らしいニュ ースグループがあります。特に、ロボット工学フォーラム は、たいへん知識の豊富な読者と投稿者のいる熱 心なグループです。さらに、前述したいくつかの方法は、この階層の中の robotics/rcx/ ニュースグループの 成果です。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.2. 公式の Mindstorm のサイト 公式の Mindstorm のサイトは http://www.legomindstorms.com/ で、たくさん 素晴らしいアイデアがあり、さらに、NQC ソースを公開配布しています。しか し、 Linux の十分な情報は期待しないでください。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.3. ハードウェアのサイト これらもすでに述べましたが、あまり気にしないでください。これらは、 Lego 技術者ではない人たち向けに、RCX ハードウェアをもっとも総合的に、詳細に 渡って考察しています。オリジナルサイトは http://www.crynwr.com/ lego-robotics/ で、セカンドサイトは http://graphics.stanford.edu/~kekoa /rcx です。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.4. Historic Lego Bots and Construction Guide ご存知かもしれませんが、RIS は部分的に、MIT の見事な成果です。 MIT の有 名な創作者 "Lego class" は、ホームページ を開設しています。 ここには、クラス (真剣に素晴らしい資料があります!) や、ロボット構築ガ イド (Robot Builder's Guide) へのリンクがあります。ロボット構築ガイドに は、初心者がプログラムを動作させ、実際にロボットを構築することについて の、素晴らしい提案がたくさんあります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13. 日本語訳について 日本語訳は Linux Japanese FAQ Project が行いました。翻訳に関するご意見 は JF プロジェクト 宛に連絡してください。 本書で紹介されているリンクは、日本語サイトではありません。訳者は最近 Lego を始めたばかりなので、日本における Lego オンラインコミュニティの状 況を知りません。各リンクにおいて、日本ではここだよというサイトがありま したら、訳者 宛にご連絡ください。本文書に追加したい と思っています。 1.1j 翻訳: 野本浩一 校正: □ 二之宮祐樹さん □ 武井伸光さん □ 溝江智徳さん □ 佐野武俊さん □ Seiji Kanekoさん □ 神尾聡一郎さん □ 中谷千絵さん □ 千旦裕司さん □ Satoshi I.Nozawaさん □ 高津一誠さん