TOPPERS/JSPによるロボット制御

2010年8月30日(月)
軽部 禎文

TOPPERS版ETロボコン環境の登場

前回までは、nxtJSPという環境を使ってロボットのプログラムを作成していました。nxtJSPでは、TOPPERSプロジェクトが公開しているカーネルなどのソースコードを、nxtJSPプロジェクトの手によってNXTで動作するように修正して利用しています。このようにいったんほかの機器用に開発されたソースコードを別の機器でも動作するように修正することを「ポーティング」と呼びます。

実は最近、本家のTOPPERSプロジェクトも、nxtJSPプロジェクトとは別に、TOPPERS自身がポーティングした、2つのNXT用環境の提供を開始しました。

  • MINDSTORMS NXT用TOPPERS/JSPプラットフォーム
  • MINDSTORMS NXT用TOPPERS/ASP+TECSプラットフォーム

「MINDSTORMS NXT用TOPPERS/JSP プラットフォーム」は、nxtJSPと類似の環境です。もうひとつの「MINDSTORMS NXT用TOPPERS/ASP+TECSプラットフォーム」は、次世代向けのTOPPERS/ASPカーネルとTECS(TOPPERS組み込みコンポーネントシステム)を用いた環境で、ともにETロボコン2010の認定プラットフォームとなっています。

これらのプラットフォームやTOPPERSのETロボコンに対する取り組みの詳細はTOPPERSのWebサイトにある「ETロボコン2010に対する取り組み」というページを参照してください。

これらのプラットフォームを活用するための教育用コンテンツも用意されています。

TOPPERS/JSP版NXT環境を構築しよう

今回は「MINDSTORMS NXT用TOPPERS/JSP プラットフォーム(以下ではTOPPERS/JSP版NXT環境と呼びます)」を開発環境に使ってロボットを動かしてみましょう[*1]

  • [*1]nxtJSPと同様、TOPPERS版JSP環境もレゴ社から提供されているソフトウエアではありませんので、これを使用した場合レゴ社の製品保証範囲外となります。レゴ社のサポートを受けることができなくなるとともに、筆者や株式会社アフレルも製品の動作を保証することができなくなります。この記事に記載されていることを試すときは、みなさん自身の責任において試すことをあらかじめご承知おきください。

まずTOPPERSのWebサイトからTOPPERS/JSP版NXT環境を入手しましょう。ページの下の方にある「教育コンテンツのダウンロード」から「et-robocon-jsp-062610.zip」をダウンロードします。このファイルを展開すると、このプラットフォーム用の教育コンテンツも含まれています。

環境の構築手順についても詳しく載っています。今回は、Windows 7 Professional 32bit版上に構築してみました。

TOPPERS/JSP版NXT環境の環境構築手順は、nxtJSPの環境構築手順と大きな違いはありません。以下に概略を書いておきますので、詳細はTOPPERS/JSP版NXT環境の教育コンテンツを参照してください。

1. Cygwin(GNU make, SED, gcc++, perl)のインストール

CygwinのWebサイトから setup.exe をダウンロードして実行します。Windows 7やVistaにインストールをする場合には、setup.exe を実行するときに、右クリックしてポップアップメニューの「管理者として実行」を選びましょう。また、必要なパッケージは、GNU make ver3.81-2、SED、gcc-g++ ver3.4.4-3 を選択するほか、perl も選択しておきます。

2. GNU ARMツールチェーン(GCC-4.0 toolchain)のインストール

GNU ARMツールチェーン(以下GNU ARMと書きます)は,NXTのCPUに使われているARMチップ用にプログラムをコンパイルするツール群です。GNU ARMのWebサイトの上部にある「FILES」メニューをクリックするとファイルをダウンロードするページに切り替わります。このページの中ほどより下「Binaries」の「GCC-4.0 toolchain」のリストの中から、「binutils-2.16.1, gcc-4.0.2-c-c++, newlib-1.14.0, insight-6.4, setup.exe[24.8MB]」というリンクをクリックしてインストール用ファイルをダウンロードします。

保存したファイルを実行するとインストールが始まります。インストールするフォルダは、この後の設定で参照するので覚えておきましょう。インストール中にコンポーネントを選択する場面では、「Floating PointUnit」と、「Big Endian」は「チェックしない」でください。さらに、CygwinのDLLをインストールは「しない」、環境変数Pathの設定も「しない」にしておいてください。

図1:インストールフォルダを覚えておきましょう

インストールしたGNU ARMのツール群を利用できるように、Cygwinのシェルが使う環境変数PATHを編集します。

エディタで次のファイルを開きます。

【Cygwinをインストールしたフォルダ】\home\【ユーザ名】\ .bash_profile

このファイルの末尾に次のような行を追加します。

インストールしたディレクトリが/GNUARM/bin ではないときは、実際にGNUARMをインストールしたフォルダ名を記述してください。PATHを変更した後は、Cywinをいったん終了し、もう一度起動して変更を反映します。

3. TOPPERS/JSPカーネルのインストール

TOPPERSのWebサイトにアクセスしてTOPPERS/JSPのオリジナルのカーネルのソースコード「jsp-1.4.3.tar.gz」をダウンロードします。ダウンロードしたjsp-1.4.3.tar.gzをCygwinフォルダの中にコピーします。

Cygwinを「管理者として実行」で起動して、保存先のフォルダへ移動し、次のようなコマンドで、「jsp-1.4.3.tar.gz」 を展開します。

tar zxvf jsp-1.4.3.tar.gz

展開が終わると、Cygwinフォルダの中に、「jsp」というフォルダが作成されます。

4. TOPPERS/JSP版NXT環境のインストール

TOPPERSのWebサイトの「ETロボコン向け RTOS活用コンテンツ(TOPPERS/JSPベース)」にアクセスして「ec-robocon-jsp-062610.zip」をダウンロードします。

このファイルには、NXT向けにポーティングしたカーネルソースコードの変更ファイルや、センサーやモーターのためのプログラムのサンプルを含んでいます。展開すると「jsp-mindtormsnxt-1.4.3.tar.gz」というファイルが含まれていますので、このファイルをCygwinフォルダの中にコピーします。

Cygwinを「管理者として実行」で起動して、次のようなコマンドで、「jsp-mindtormsnxt-1.4.3.tar.gz」を展開します。

tar zxvf jsp-mindtormsnxt-1.4.3.tar.gz

展開が終わると「jsp」フォルダの中に「nxt」というフォルダが作成されます。

株式会社アフレル
(株)アフレル所属。システム開発の経験を積んだ後に、ロボットを使った教育教材の開発や指導に従事。子供から大人まで、いかに楽しく学んでもらえるか悩みながら、日々、精進中。
http://www.afrel.co.jp/

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています