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

TOPPERS版ETロボコン環境の登場前回までは、nxtJSPという環境を使ってロボットのプログラムを作成していました。nxtJSPでは、TOPPERSプロジェクトが公開しているカーネルなどのソースコードを、nxtJSPプロジェクトの手によってNXTで動作するように修正して利用しています。このように

軽部 禎文

2010年8月30日 20:00

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」というフォルダが作成されます。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30