プラットフォーム共通のトラブル

OpenHRPの旧バージョン用に作っていたモデルファイルが読み込めない

モデルファイルの仕様が一部変更になっています。 とりあえず、モデルファイル内の「Proto Joint」 ノードの定義で、

exposedField SFFloat jointId -1

となっているところを、

exposedField SFInt32 jointId -1

と修正してみてください。

GrxUIが起動時に固まる

omniORBのネームサーバ omniNames の内容を一度クリアすると 不具合が解消される場合があります。

omniNamesは一度登録されたCORBAオブジェクトをログファイルで記録しておくように なっていますので、このログファイルを消去してomniNamesを再起動します。

例えば、Ubuntu上でパッケージとしてomniORBをインストールした場合は、 /var/log 以下に omninames-ホスト名.bak, omninames-ホスト名.log という ログファイルがあるので、まずはこれを消去してください。 その後、/etc/init.d で

$ ./omniorb4-nameserver restart
として、ネームサーバを再起動します。 これで、ネームサーバがクリアされた状態でOpenHRPを起動することができます。

GrxUIが起動時モーダレスダイアログが表示されたままになる

「GrxUIが起動時に固まる」とは異なり GrxUIの操作は受け付けますが、ダイアログが画面トップに表示したままになります。 この時サンプルプロジェクトをロードするなどした場合ダイアログが消えてくれます。 この不具合は、OpenHRP Ver.3.0.3で解消しました。


VRMLの内容を変更したのに変更が反映されない

3.0系のVRML読み込み部分は,以前読み込んだことのあるファイルの読み込みが指定された場合,実際に読み込みを行うかわりに以前読み込んだ内容を返すことで読み込み時間を短縮するキャッシュ機能をもっています.このためファイル名は変えずにファイルの中身を変えてもその内容が反映されません.このような場合はGrxUIを起動し直すか,メニューバーのTools->ProcessManagerからModelLoaderのチェックを一度外して再度チェックを入れることでModelLoaderの再起動を行って下さい.

Linux特有のトラブル

GrxUIにおいて3D表示がおかしい/ウィンドウが固まる(Linux 対象)

X Window でOpenGLの描画をDirect Rendering で行っている場合、 ドライバによってはこのような不具合が起きることがあり、 Direct Rendering をオフにすれば(描画速度は遅くなりますが) 正常に動くことがあります。

具体的に、Ubuntu 7.10 をインテルGM965チップセットを搭載したノートPCで動かしたときに、 このような症状を確認しています。 その例では、/etc/X11/xorg.conf の、Section "Device" 内に、

Option "DRI" "false"
を追加してX Windowを再起動したところ、Direct Rendering がオフになり、 正常に動作しました.

おそらく、OpenGLドライバか、Java3Dのバグだと思われます。

GrxUIを操作中に X Window が落ちる (Linux 対象)

XのディスプレイドライバがOpenGLに関して適切に設定されていない場合、 このような症状がでることがあるようです。

nvidia, ATI等のビデオカードでメーカーによるディスプレイドライバが使用可能な場合は、 それを用いることで問題が解決される可能性があります。 (詳しくは、こちら

Ubuntuでアップデートを行うとコンパイルエラー、またはGrxUIの起動時に例外が発生して起動できない(Linux 対象)

ubuntuのアップデートを行うとデフォルトでインストールされているgcjが最新版に更新されて、 インストール時に切り替えた標準Java環境がsunのJavaから gcjへ切り替わる現象が原因です。

実行時に

$ ./GrxUI.sh
message logging level : SEVERE
classpath added: file:/home/user/aist/OpenHRP3.0/client/gui/plugin/
/home/user/aist/OpenHRP3.0/client/gui
Null peer?!
とコンソール上に表示されハングする現象が発生します。

この現象を解消するには、インストール時と同様にコマンド

  $ sudo update-java-alternatives -s java-6-sun
  
を実行してシステムの標準Javaを切り替えてください。 gcjを使用しない場合はgcjをアンインストールしてしまうのも手です。

Ubuntu環境で視覚効果を適応した場合ダイアログ表示が背景色になる。(Linux 対象)

VMWareのような仮想マシン環境ではなく、ネイティブ環境で顕著に再現した不具合です。 ファイルをオープンする時、図(Fig.1)のような異常が起きます。

Fig.1


これを回避するには、視覚効果を無しに設定してください。
設定手順は以下の通りです。
デスクトップのメニューより システム→設定→外観の設定を選択し外観の設定ダイアログを起動します。(Fig.2)

Fig.2


視覚効果タブを押下して効果なしのラジオボタンを選択して適応します。(Fig.3)

Fig.3


ubuntu9.04以降の環境でGrxUI on EclipseからRTCが動作しない(Linux 対象)

ubuntu9.04以降の環境で初回導入時、GrxUI on EclipseでRTCを使用するサンプルが動作しないことがあります。 この時、端末から

$ openhrp-aist-dynamics-simulator -ORBInitRef NameService=corbaloc:iiop:localhost:2809/NameService
と実行して
IDL:omg.org/CORBA/TRANSIENT:1.0
と出力されれば、ubuntu9.04以降の環境でipv6がデフォルトで有効でなくなったことが原因による不具合と思われます。

対処法は、/etc/hostsの
::1        localhost ip6-localhost ip6-loopback
ipv6のlocalhost設定の行をコメントアウトしてください。

ModelLoaderサーバに他のPCからアクセスできない。

現在、ubuntu上で起動したModelLoaderサーバーに、他のPCからCORBAのインタフェースでアクセスできない不具合が確認されています。 原因は、特定できていません。

2009/05/25以降、システムのアップデートまたはOpenHRPの新規インストール時にコンパイルエラーが起こる(Linux 対象)

2009/05/25以降、ubuntuのアップデートまたはOpenHRPの新規インストールを行うと通常OpenRTM-aist-1.0.0-RC1 が導入されます。2009/06/09現在のOpenHRPでは、最新のOpenRTM-aist-1.0.0-RC1に対応していませんので次の ようなコンパイルエラーが発生します。

error: ‘ExtTrigExecutionContextService_var’ in namespace ‘RTC’ does not name a type
error: ‘RTC::ExtTrigExecutionContextService’ has not been declared
error: ‘ExtTrigExecutionContextService_ptr’ is not a member of ‘RTC'
場合に応じて以下のように対処してください。



OpenHRP を新規インストールする場合

2010年5月31日以前のパッケージ導入スクリプトではOpenRTM-aist-1.0.0-RC1をインストールしてしまいます。
該当の方は (解凍先フォルダ)/util/pkg_install_ubuntu.sh を以下のスクリプトファイルで置き換えてください。

パッケージを置き換えたら「パッケージ導入スクリプトの実行」説明どおりパッケージを導入してください。

なお、OpenRTM-aist 旧バージョンをインストールしても次回からパッケージ自動アップデート により最新版にアップグレードされてしまう可能性がありますので、次の節の通り OpenRTM-aist 自動アップデートを停止するようにしてください。

既にOpenRTM-aist-1.0をインストールを行ってしまった場合にはOpenRTM-aist-1.0のアンインストールが必要です。
OpenRTM-aist-1.0のアンインストールを行った後にパッケージ導入スクリプトを実行してください。

sudo apt-get remove openrtm-aist openrtm-aist-doc openrtm-aist-dev openrtm-aist-example

OpenRTM-aist 自動アップデートを停止する

メニューから システム -> システム管理 -> ソフトウェアソース(English: System -> Administration -> Software Sources)を選択し、"サードパーティのソフトウェア"タブを開いてください。 そして Fig.4 のように OpneRTM 項目のチェックを外してください。


Fig.4

Windows特有のトラブル

omniORBのネームサーバが起動しない(Windows 対象)

OmniORBバージョン4.1.2をインストールしたWindows環境にて、 以下の画像(Fig.4)のようにGrxUIの起動時に "3DVIEW : failed to bind to localhost NameService" と 表示されてしまい、起動が失敗する場合があります。


Fig.4: failed to bind to localhost NameService


ご利用のコンピュータのコンピュータ名を正常に認識できなかった場合、このようなエラーが発生します。

コンピュータ名を[A~Z,a~z,0~9,'_'] のみの構成にして14文字以下に設定し直してください。

コンピュータ名の変更は次の通りです。
以下の4つの方法でシステムのプロパティダイアログを起動します。
•デスクトップの[マイ コンピュータ]アイコンを右クリックし、[プロパティ] をクリックします。
•[スタート] ボタンをクリックし、[マイ コンピュータ] を右クリックし、[プロパティ] をクリックします。
•[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。次に、sysdm.cpl と入力し、[OK] をクリックします。
•[スタート] ボタンをクリックし、[コントロール パネル]、[システム] の順にクリックします。

起動したダイアログにて[コンピュータ名]タブ、[変更]ボタンを選択後、コンピュータ名を変更して再起動します。

GrxUIにおいて3D表示がおかしい(Windows 対象)

GrxUI 3DViewの矩形が狭い時、頂点バッファの表示が崩れることがあります。 原因は確定してはいませんがノートPCに見られた現象からビデオアダプタに由来する不具合と 思われます。3DViewタブ ウィンドウの矩形を拡大するような操作を行えば正常に表示されます。

GrxUI起動時に 3D デバイス用のエラーが表示される (Windows 対象)

GrxUI起動時に以下のようなエラーが表示され、window が落ちてしまう場合があります。

Fail to create referance rasterizer 3D Device - D3DERR_NOTAVAILABLE

http://support.microsoft.com/kb/191660/ja によるとこの問題の原因として以下のうようなこと が考えられます。

     
  1. 使用しているコンピュータが、実行に必要な 3D ハードウェアの最小要件を満たしていない。
  2.  
  3. 使用しているビデオ アダプタに、実行するのに十分なビデオメモリがない。

  4.  対処:
      (1.) と (2.) 対しては、CPU,メインメモリ,ビデオメモリなどのハードウェア機器が 3D表示をするために必要な最小要件を満たしていないという問題ですので、ハードウェア スペックを性能の良いものに更新する手しかありません。以下に、OpenHRP3 を 快適に利用できるコンピュータのハードウェアスペックを述べますので、それとご自分のコンピュータ のスペックを比較の上、判断してください。
      • CPU:PentiumIV 2Ghz
      • メインメモリ:1024MB
      • ビデオアダプタ:NVIDIA
      • ビデオメモリ:128MB
      • HDD空き容量:5GB
     
  5. [DirectDraw アクセラレータ]、 [Direct3D アクセラレータ] が無効になっている。
     対処:
    • 「スタート」 → 「ファイル名を指定して実行」 と辿って 「dxdiag」 と実行します。 すると 「DirectX 診断ツール」 ウィンドウが現れます。
    •  
    • 「ディスプレイ」 タブを選択し、「DirectDrawアクセラレータ」 と 「Direct3Dアクセラレータ」 の状態を確認します。いずれかが 「使用不可」 となっていれば、その行の 「有効」 をクリックします。
    •  
    • 「有効」 ボタンがアクティブでない状態 (ボタンを押せない状態) であれば、次の (4.) と (5.) を 確認してください。
  6.  
  7. ビデオアダプタ用のドライバが古い。
     対処:
      古いバージョンのドライバですと、上記のアクセラレータ機能が対応しない場合があります。 このような場合、ビデオアダプタに対応するドライバの最新バージョン(できれば安定版)を 見つけてきてインストールする必要があります。多くの場合メーカのホームページから最新 ドライバを提案されます。 「デバイスマネージャー」 の 「ディスプレイアダプタ」 項目に 表示されるドライバでネットを検索するとダウンロード元が見つかりやすいでしょう。
  8.  
  9. DirectX の最新バージョンがインストールされていない、または DirectX が破損している。
     対処:
      (3.) で説明されているとおり、 「DirectX 診断ツール」 の 「ディスプレイ」 タブに辿って 「DirectDraw のテスト」 と 「Direct3D のテスト」 を行ってください。テスト中にいくつかの 画面が表示されます。それらを正常に表示されない場合テストが失敗しますので、DirectX ランタイム・ エンジンのを異常があると考えられます。 http://www.microsoft.com/japan/windows/directx/default.mspx から DirectX インストーラ をダウンロードし、再インストールしてください。
  10.  
  11. バックグラウンドで実行される一つまたは複数のプログラムが干渉している。
     対処:
      バックグラウンドで DirectDraw、Direct3D を利用して3D表示をするアプリケーション・ソフト が実行されると、処理が重くなり、ハンドルできなくなることがあります。パソコンの性能に よって処理をハンドルできる程度が変わります。このような場合、利用していないアプリケーション の使用を止めてから進めてください。

GrxUI実行中に OS が落ちる (Windows 対象)

特定のビデオアダプタとドライバーのバージョンによって発生する不具合のようです。 固有のビデオアダプタについては下記のテーブルを参考にしてください。

ビデオアダプタ不具合発生時ドライバ Ver.対処
ATI Radeon HD 2400 XT8.420.0.0 (2007/09/14)版ドライバ更新による不具合解消
Table 1:不具合発生ビデオアダプタ一覧