Download
latest Releases : 2.0.0-RELESE
2.0.0-RELESE | Download page |
Number of Projects
RT-Component | 153.5 |
RT-Middleware | 35 |
Tools | 22 |
Documentation | 2 |
Choreonoid
Motion editor/Dynamics simulator
OpenHRP3
Dynamics simulator
OpenRTP
Integrated Development Platform
AIST RTC collection
RT-Components collection by AIST
TORK
Tokyo Opensource Robotics Association
DAQ-Middleware
Middleware for DAQ (Data Aquisition) by KEK
Armadillo240は アットマークテクノから販売されている、ARM を搭載した Linux 搭載可能な小型 CPU ボードです。 Atmark Techno, Inc.から、ATDE2 (Atmark Techno Development Environment)と、GNU クロス開発ツール、AtmarkDist という3つの開発ツールが提供され、簡単にクロス開発を行うことができます。
ここでは、Armadillo で実行できる RTコンポーネントの実行ファイルをクロス開発します。 その後、Armadillo 起動後、RTコンポーネントが自動で起動するイメージファイル(romfs:ルートファイルシステム)を作成します。
作業の流れ
クロス開発環境の構築
Armadillo で実行できる RTコンポーネントの実行ファイルをクロスコンパイルで作成します。 Atmark Techno, Inc.から Armadilloシリーズの開発環境が VMイメージで配布されており、クロス開発環境に必要なツールが事前にインストールされています。ATDE2 と VMware のダウンロード
ATDE2 と VMwareの起動
※ATDE2-20071018.zip を解凍し、解凍したフォルダの中の ATDE2.vmx をダブルクリック、または VMwareのfile > Open から解凍したフォルダーの中の ATDE2-20071018のATDE2.vmx を選択してください。
ATDE2 開発環境の整備
ATDE2 はすでにクロスコンパイル環境が整っていますが、OpenRTM の RTコンポーネントをクロス開発できる環境に整える必要があります。 起動したATDE2 上で以下のソースとシェルスクリプトをダウンロードしホームディレクトリー以下の適当な作業ディレクトリーに入れておきます。
OpenRTM-aist のクロスコンパイル
OpenRTM-aist のビルド
OpenRTM-aist-0.4.2 のソースコードをホームディレクトリーなどの適当なディレクトリーに展開してください。展開後、作成されたディレクトリーに移動します。
OpenRTM-aist のインストール
config.sh で指定した /usr/arm-linux-gnu/ にインストールされます。RTコンポーネントのクロス開発
以上で、RTコンポーネントをクロス開発する環境が整いました。 ここでは例として、サンプルに含まれる SeqOutComp のソースを使用してクロスコンパイルしてみます。
RTコンポーネントのクロス開発する
rtc-template で SimpleIO の RTコンポーネントを生成する。
サンプルを作成するため適当なディレクトリーを作成し、そこに OpenRTM のサンプル SeqOut のソースに含まれる以下のファイルをコピーしてください。
OutPort を八つ持つ SeqOutComp というコンポーネントを生成します。
RTコンポーネントのビルド
生成された、Makefile.SeqOut の内容を確認してください。CXX=で始まる行がない場合、コンパイラにクロス用のコンパイラを以下のように指定する必要があります。
環境変数を設定し make する
make が正常に完了すると、SeqOutComp の実行ファイルが生成されます。
RTコンポーネントの実行
クロス開発した実行ファイル、ライブラリ、などを USBメモリーにコピーし、Armadillo240 上で起動します。USBメモリーの準備
Armadillo240 上で RTコンポーネントを実行するのに必要なファイルを USBメモリーにコピー、生成します。
この例では、先ほどクロスコンパイルした SeqOutComp を使用します。 SeqOutComp をUSBメモリーの適当な場所(ルートディレクトリー等)にコピーします。
このディレクトリー内のライブラリのうち、以下のものを USBメモリーにコピーします。 USBメモリーにライブラリを置くディレクトリーlibを作成します。
/usr/arm-linux-gnu/lib のライブラリをコピーする際に、以下の通りに名前を変更してください。
Armadillo上ではネームサーバを起動しませんので、別のPC上でネームサーバを起動しておいてください。 rtc.confのcorba.nameservers のオプションにはそのネームサーバを起動したPCのアドレスを指定します。
自動でマウントされないときはVMware(ATDE2)の端末でsuコマンドでrootになりmountをし直します。
Desktop上に USBメモリーのアイコンが表示されてるときは、右クリック > アンマウントしてください。
または、コンソールからコマンドでアンマウントできます。
USBメモリーのディレクトリー構造
USBメモリーの準備を終えると、USBメモリーは下のようなディレクトリー構造になります。
Armadillo240 で実行ファイルを起動
USBメモリーのマウント設定、ライブラリ PATH の設定を変更し、実行ファイルを動かします。 PC とArmadillo をシリアルケーブルで接続し、Armadillo上 の Linux のシリアルコンソールからログインすることで Armadillo上 の Linux を操作することができます。 以下のやりやすい方法で進めてください。
ATDE2上から minicom で操作する
ATDE2上から端末エミュレーターのプログラムminicomで操作します。 PCのシリアルポートと Armadillo のシリアルポートをシリアルケーブルで接続してください。 シリアルポートがない PC の場合は USB-シリアル変換ケーブルなどを使用する必要があります。 Armadillo のシリアルケーブルの接続方法に関しては、Armadillo のマニュアルを参照してください。
※VMware の仮想マシンのデバイスの設定を以下のように行ってください。
接続のチェックを確認してください。
デバイスステータスのチェックと、接続 > 物理シリアルポートを使用でポートを確認してください。 ATDE2 の端末から、端末エミュレーターminicom を起動します。
Windows から端末エミュレーター (teraterm) で操作する
Windowsから、TeraTerm などの端末エミュレーターを使用して Armadillo のシリアルコンソールと接続することもできます。TeraTerm はこちらから無料でダウンロードできます。 以下の設定で起動してください。
上記の設定で起動すると、Armadillo240 のログイン画面が表示されます。 ※表示されないときは Enter を押してください。 以降は共通の操作に進んでください。
共通の操作
USBメモリーを Armadillo に差してください。 Armadillo のログイン画面で、root (パスワード:root) でログインしてください。 デフォルトの mount はオプション(umous=111)で、どのユーザーも実行のできないパーミッション設定です。
一度アンマウントしてから、書き込み・実行可能な -o rw オプションでリマウントします。
※RtcLink からも確認できます。
この方法では Armadillo の起動の度に設定を修正しなくてはなりません。 次の章では、Armadillo の起動後 RTコンポーネントが自動で起動するイメージファイルを作成し、Armadillo にダウンロードします。
Armadillo240 のイメージファイルを作成する
これまでの方法だと、Armadillo の起動ごとに端末エミュレーターで設定を変更する必要があります。ここでは、AtmarkTechno,Inc から提供されている atmark-dist を使い、Armadillo240 の起動後 RTコンポーネントが自動で起動するイメージファイルを作成し、Armadillo にダウンロードします。
開発環境の整備
RTコンポーネントをクロスコンパイルした ATDE2 の環境をそのまま使います。ATDE2上に以下の項目をダウンロードしてください。
atmark-distのビルドと設定
ここでは、Armadillo の userland のイメージファイルを作成します。 ここで作成するイメージファイルを使用すると、USBメモリーにあらかじめインストールされた RTコンポーネントを、自動的に起動できるようになります。
RTコンポーネントの起動の仕組み
USBメモリーを /home/openrtm/にマウントし、Armadillo の 起動後/home/openrtm/boot.sh を起動させます。 boot.shは、USBメモリー内のライブラリパスを通し、実行ファイルを起動します。USBメモリーに以下のファイルを用意してください。
atmark-distビルド
ATDE2上で、atmark-dist と linuxカーネル、openrtm.patch をダウンロードし展開してください。
openrtm.patchをコピーし以下の手順でパッチを当ててください。
イメージファイルを Armadillo240 にダウンロードする
生成した userland のイメージファイルromfs.img.gzを Armadillo240 にダウンロードします。 Armadillo はジャンパピン(2)をショートして、電源を入れておいてください(Armadilloハードウェアマニュアルのp.16を参考にしてください)
VMware(ATDE2)、Windows どちらからでもダウンロードできます。
ATDE2上からダウンロードする
こちら で VMware の仮想マシンのデバイス設定を行ってから進めてください。
Windows上からダウンロードする
Armadillo240 に同梱されている CD-ROM の downloader > win32 > Hermit.zip を Widows上に置いてください。
RTコンポーネントの実行・確認
RTCLink を起動し、RTコンポーネントの起動を確認します。
応用例
Armadillo + URG センサ ー
Armadillo と北陽電機URGセンサーと組み合わせ、分散センサーシステムを簡単に構築するためのユニットです。 Armadillo 上では URG センサー RTコンポーネントが動作します。(Armadillo 電源投入と同時に RTC が自動起動します。) PoE (Power over Ether) 対応の Armadillo を使用することで、LANケーブルのみで通信・給電が可能です。 URG センサーも PoE からの電源供給で動作します。 ケーブル1本のみでセンサー配置が可能ですので、分散センサーシステムを容易に構築できます。