[openrtm-users 02402] Re: RTCHokuyoAISTのActivate失敗

kumagai @ tjcc.tohoku-gakuin.ac.jp kumagai @ tjcc.tohoku-gakuin.ac.jp
2012年 1月 29日 (日) 16:36:53 JST


東北学院大学の熊谷でございます。

その後、WinXPでは、(なにもすることなく)動くようになりました。
普段、ハイバネばかりしているPCなので、起動時間の問題かもと思って再起動
しましたが、解決はしていません。
(WinXPもWin7Proも)

表示からソースを追っていったところ、HokuyoAISTのSensor::calibrate_time
内の"Gathering "...(893行)移行のsamples回数(=デフォ10)のループが、
皆無・1回〜2回実行で、なんの表示もなく終了しているらしいことが
見えました。おそらく、get_timing_mode_time()内の、どれかのthrowに
引っかかっているようですが、C++の例外処理に疎く、それ以上の問題追跡は
できませんでした。
#先ほどの添付の画面ログでも、
#Gathering 10 offset values.
#のあとに表示が続いていません(コードによると時間オフセット計算結果が
#10行くらい出そう)

calibrate_timeはヘッダのコメントを見るとオプショナルなようですので、
さしあたり、RTCHokuyoAIST::open_laserの
   laser_.calibrate_time();
をコメントアウトしてビルドしたものを使ってみたところ、動作していなかった
Win7機でも動作はするようになりました。
(これだけが原因かは不明ですが)

対処療法であって、根本的にはまずい気がしますが、お知らせします。


kumagai @ tjcc.tohoku-gakuin.ac.jp wrote:
> 東北学院大学の熊谷と申します。
> 
> RTCHokuyoAistのActivateに(うまくいくときもありますが)失敗しています。
> なにか、コツのようなものがあれば、教えていただきたく、メイルをお送り
> します。
> 
> ・Windows XP SP3(32bit9 および Windows7(64bit)
> ・OpenRTM-aist 1.1 (C++, Python) 
> ・URG-04LX-UG01
> 環境で
> http://gbiggs.github.com/rtchokuyoaist/index_j.html
> からダウンロードした、Windows用のRTCHokuyoAIST(とHokuyoAIST、Flexiport
> から取り出したhokuyoaist.dll, flexiport.dllを同一フォルダに)を
> 添付のような rtc.conf および rtchokuyoaist.conf で使用しました。
> (COMポートはteratermで開いてVVコマンドに応答があることまで確認)
> 
> #蛇足:rtchokuyoaist.confを読み込むため、サンプルのrtc.confでは
> #Sensor.RTCHokuyoAist.config_file: rtchokuyoaist.conf となっていますが
> #Sensor.RTCHokuyoAIST.config_file: rtchokuyoaist.conf にしないと
> #(Aist→AIST)読み込まれません
> 
> このとき、(RTSEで)ActivateでErrorが出ることが多く、verbose=1にして、
> 画面の表示をログしました→添付ファイル
> 操作手順:
> ・URG-04LXをUSBポートに接続
> ・RTCHokuyoAistを実行
> ・RTSEでActivate
> 
> 気になること1:rtchokuyo_verbose.txt
> ・通信は成立していて、初期化段階でこけているようです。
> ・このNGモードでは、verbose=1にしない場合は、
>   Error setting up laser: <半角カナ> →rtchokuyo_verbose.txtの372行
>   Error shutting down laser: 同387
>  だけが表示されます。>rtchokuyoaist内のopen_laser()あたり?
> ・このエラーが起きた場合は、ポートが開いたままになるようです。
> 
> 気になること2:
> ・別のNGモードでは
>  Sensor::hokuyoaist::Sensor::open() Creating and opening port using options: type=serial,device=COM4,timeout=1
>  Sensor::hokuyoaist::Sensor::set_power() Turning laser off.
>  というエラーになることもあります。
>  ※単にポートが開けなかったときにこのエラーになる気配
> 
> 気になること3:rtchokuyo_verbose2.txt
> ・最初のNGに似たケースで rtchokuyo_verbose2.txt のように、そこそこ
>  短く、半角カナの交じったエラーがでて、かつ、最後がclsoe connectionになる。
>  Reset→再アクティベートで表示は変わるものの、やはりNG
>  ※このとき、URGの機種検出もできていない気配。
> 
> 
> なお、デバイスマネージャの確認では
> ・16550互換のFIFOバッファを使用、受信14、送信16
> ・シリアル系デバイスをつなぐと悪さをすることで有名?なMicrosoft Ball Point
>  なマウスデバイスは検出されず
> です。
> 
> なんとなく、RTCのエラーと言うよりは、HokuyoAISTの中のトラブルのよう
> ですが、お伺いいたしたく存じます。
> よろしくお願いいたします。
> 
> ※1ヶ月前に動いた動いたと喜んでいたのですが、今日はさっぱり動かずorz
> 


openrtm-users メーリングリストの案内