[root@armadillo440-0 (ttymxc1) ~]# mount
/dev/ram0 on / type ext2 (rw)
proc on /proc type proc (rw)
usbfs on /proc/bus/usb type usbfs (rw)
sysfs on /sys type sysfs (rw)
udev on /dev type tmpfs (rw)
ramfs on /home/ftp/pub type ramfs (rw)
/dev/mmcblk0p1 on /mnt type vfat (rw,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1)
トラブルシューティング
RTsystemEditorのネームサービスビューにArmadilloのコンポーネント(SeqOut)が表示されない
[原因] Armadilloの電源が入っていない
Armadilloの電源を入れてください。
[原因] Armadilloが起動していない
工場出荷状態のArmadilloは起動可能なカーネルおよびユーザランドが書き込まれてい無いことがあります。 アットマークテクノで配布しているデフォルトのカーネルとユーザランドを書き込んで機能可能な状態にしてからご利用ください。
[原因] ArmadilloにLANケーブルが接続されていない
有効なネットワークにLANケーブルを接続してください。
[原因] Armadilloがネットワークにつながっていない
ArmadilloはデフォルトではDHCPでアドレスを取得してネットワークに接続します。 利用しているLAN上にDHCPがない場合、DHCPサーバを立てるか、Armadilloに固定アドレスを振る設定を行ってくださ。
[原因] SDメモリカードがカードスロットに挿入されていない
SDメモリカードはArmadilloの起動前にカードスロットに差し込む必要があります。Armadillo動作中、RTC起動中に抜き差ししないでください。
[原因] SDメモリカード内に、ライブラリ、コンポーネント起動スクリプト、rtc.confが入っていない
必要なファイルが一つでも欠けている場合コンポーネントは起動しません。 Armadilloにログインし、/mnt ディレクトリを確認してみます。
上記の例SeqOutCompを動作させるには、このような構成になっている必要があります。
[原因] SDメモリカードが正しくマウントされていない
Armadilloにログインして、マウントポイントを確認します。
最後の行、/dev/mmcblk0p1 が /mnt ディレクトリにマウントされています。 もし、/dev/mmcblk0p1 がマウントされていない場合、
のようにして手動でマウントしてみます。
[原因] 起動スクリプトにバグがある
起動スクリプトにバグがあり、RTコンポーネントが起動できないケースがあります。 起動スクリプト boot.sh に書いてある手順通りに、シリアル端末からRTCを実行してみる。
ネームサービスビューにゾンビとして表示される
[原因] オブジェクト参照に不正なアドレスが設定されている
Armadilloに複数のネットワークインターフェースがあり、PC側から届かない方のアドレス (Unreachable) がセットされている場合、システムエディタがRTCのプロファイル情報を取得できずにゾンビ表示になります。
Armadillo上で実行するRTC用のrtc.confにendpointを設定してください。
[原因] PCとArmadilloの間にファイヤウォールがあるもしくはArmadilloがプライベートアドレス空間にある
PCとArmadilloの間にファイヤウォールがある場合、またはArmadilloがNATを介してネームサービスに名前を登録している場合、PC側からはArmadilloに到達することができずにゾンビン表示となります。
ArmadilloをPCと同じセグメント(ネットワーク)に接続して起動してください。
ポートの接続ができない(エラー、RTSystemEditorが固まるなど)
[原因] PCのRTCからArmadilloのRTC(またはその逆)が Unreachable
ポートの接続をする際にはコンポーネント同士でポートのオブジェクト参照を交換します。 その際、相手のポートのIPアドレスおよびポートを利用して相手のポートの接続しに行くため、両RTC間が相互に到達可能なIPアドレスである必要があります。
特にPC側はVMwareなどがインストールされており、ネットワークインターフェースをたくさん持つ状態になっています。 たとえば、PC側のRTCが持つVMネットワークのプライベートアドレス 192.168.5.10 を、RTC上のRTCのオブジェクト参照内に埋め込むと、Armadillo側のRTCは 192.168.5.10 にポートの接続をしに行こうとします。この192.168.5.10というアドレスは、VMwareの仮想プライベートネットワーク内でのみ有効なアドレスなので、Armadillo側のRTCは到達し得ないポートに接続しに行こうとし、タイムアウトになるまで試行します。 この時、RTSystemEditorはRTCから応答が返ってこないため固まります。
この場合、PC側のRTCが読み込むrtc.confにendopiintを設定する必要があります。 ipconfig 等のコマンドでPCの実際のLAN上でのアドレスを調べ (仮に150.29.123.123とします)、
のようにcorba.endpointsオプションに指定します。最後のコロン「:」は必ず付けてください。
RTSystemEditorで接続、またはActivateするとRTCが落ちる
[原因] ライブラリの不整合
実行しているRTCと、そのRTCが利用しているライブラリ (Linuxでは.so、WindowsではDLL) のバージョンに不整合がある場合、何らかの操作をすると落ちるケースがあります。 RTCとそのRTCが参照しているライブラリのバージョンを確認してください。
[原因] RTCのバグ
自作のRTCの場合、RTCに実装したロジックにバグがあればRTCは落ちます。 OpenRTM-aistに付属のサンプルRTCは簡単なロジックのものしかありませんので、この原因の可能性は低いでしょう。
[原因] OpenRTM-aistのバグ
OpennRTM-aistのバグの可能性がある場合は、
を添えてメーリングリストにて報告してください。
その他
その他、どうしてもうまくいかない場合は、メーリングリスト ( OpenRTM-users ) で気軽に質問してください。