[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 メーリングリストの案内