[openrtm-users 02401] RTCHokuyoAISTのActivate失敗

5 個の投稿 / 0 new
最終投稿
kumagai@tjcc.to...
オフライン
Last seen: なし 前
登録日: 2012-01-29 15:20
[openrtm-users 02401] RTCHokuyoAISTのActivate失敗

東北学院大学の熊谷と申します。

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

未定義
kumagai@tjcc.to...
オフライン
Last seen: なし 前
登録日: 2012-01-29 15:20
[openrtm-users 02402] RTCHokuyoAISTのActivate失敗

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

その後、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 mailing list
openrtm-users@openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-users

gbiggs
オフライン
Last seen: 6年 9ヶ月 前
登録日: 2010-08-02 07:51
[openrtm-users 02404] RTCHokuyoAISTのActivate失敗

熊谷様

ジェフです。

On 29/01/12 15:11, 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

私はURGでテストした時(もう結構前ですけど)、以下の問題は時々出ました。
原因はいつもバーファーにデータが残っていたことでした。例えばコンポーネン
トを綺麗に終了させなくてまたコンポーネントを機動してactivateしようとした
ら、残っているデータで機動手続きが邪魔になりました。レーザーを切断してま
た接続したら直しました。(ところで今URGでテストしたら数回問題なし機動で
きました。)

しかし熊谷様が見たように毎回起こることはおかしくて、別の問題でしょう。

> 気になること1:rtchokuyo_verbose.txt
> ・通信は成立していて、初期化段階でこけているようです。
> ・このNGモードでは、verbose=1にしない場合は、
>   Error setting up laser: <半角カナ> →rtchokuyo_verbose.txtの372行
>   Error shutting down laser: 同387
>  だけが表示されます。>rtchokuyoaist内のopen_laser()あたり?
> ・このエラーが起きた場合は、ポートが開いたままになるようです。

カナが出ていることは多分例外の問題です。バイナリーの間で例外を使うことは
正しくなくて、おかげでエラーストリングが取れません。rtc.cppの102行に
e.desc_code()とe.error_type()も出力したら何のエラーかが見えます。

> 気になること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.
>  というエラーになることもあります。
>  ※単にポートが開けなかったときにこのエラーになる気配

以上のエラーはよくポートが存在しない時に見ます。レーザーに電源を入れると
少し機動時間があって、その前にコンポーネントをActivateしようとしたらエ
ラーになります。

> 気になること3:rtchokuyo_verbose2.txt
> ・最初のNGに似たケースで rtchokuyo_verbose2.txt のように、そこそこ
>  短く、半角カナの交じったエラーがでて、かつ、最後がclsoe connectionになる。
>  Reset→再アクティベートで表示は変わるものの、やはりNG
>  ※このとき、URGの機種検出もできていない気配。

以上のエラーはバーファーに残っているデータが邪魔になっているということです。

> なお、デバイスマネージャの確認では
> ・16550互換のFIFOバッファを使用、受信14、送信16
> ・シリアル系デバイスをつなぐと悪さをすることで有名?なMicrosoft Ball Point
>  なマウスデバイスは検出されず
> です。
>
> なんとなく、RTCのエラーと言うよりは、HokuyoAISTの中のトラブルのよう
> ですが、お伺いいたしたく存じます。
> よろしくお願いいたします。

問題はRTCに関係ありません。何かのコミュニケーション問題です。解決するた
めに、して欲しいことがあります:

- hokuyoaist_exampleで同じ問題が出ることを確認してください。
- hokuyoaist_exampleのソースにexample.cppの47行の値を以下のように変更し
て実行してください:
"type=seriallog,device=COM4,timeout=1,debug=3"
こうしたらかなり出力情報が増えます。問題があった時の方を添付でリストに
送ってください。port.logwとport.logrというファイルも出されます。それも
送ってください。

よろしくお願いいたします。
_______________________________________________
openrtm-users mailing list
openrtm-users@openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-users

kumagai@tjcc.to...
オフライン
Last seen: なし 前
登録日: 2012-01-29 15:20
[openrtm-users 02406] RTCHokuyoAISTのActivate失敗

ジェフ様

熊谷でございます。
早速のお返事ありがとうございます。

2件目のメイルでお送りしたようにcalibrate_timeをコメントアウトしたものは、
Win7pro 64bitでも、確実に動作するようになっていますので、とりあえずは、
それを使ってみています。
CPU時刻を得るところで、マルチコアなのが悪さをしている可能性も考慮して、
タスクマネージャからCPUを1個に固定してみましたが、それでもないようでした。

まずは、
> 問題はRTCに関係ありません。何かのコミュニケーション問題です。解決するた
> めに、して欲しいことがあります:
>
> - hokuyoaist_exampleで同じ問題が出ることを確認してください。
> - hokuyoaist_exampleのソースにexample.cppの47行の値を以下のように変更し
> て実行してください:
> "type=seriallog,device=COM4,timeout=1,debug=3"
> こうしたらかなり出力情報が増えます。問題があった時の方を添付でリストに
> 送ってください。port.logwとport.logrというファイルも出されます。それも
> 送ってください。
を確認したいと思います。
(ビルドツリーが家のPC内なので&明日から出張で、少し遅くなります)

> > 気になること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.
> >  というエラーになることもあります。
> >  ※単にポートが開けなかったときにこのエラーになる気配
>
> 以上のエラーはよくポートが存在しない時に見ます。レーザーに電源を入れると
> 少し機動時間があって、その前にコンポーネントをActivateしようとしたらエ
> ラーになります。
>
> > 気になること3:rtchokuyo_verbose2.txt
> > ・最初のNGに似たケースで rtchokuyo_verbose2.txt のように、そこそこ
> >  短く、半角カナの交じったエラーがでて、かつ、最後がclsoe connectionになる。
> >  Reset→再アクティベートで表示は変わるものの、やはりNG
> >  ※このとき、URGの機種検出もできていない気配。
>
> 以上のエラーはバーファーに残っているデータが邪魔になっているということです。

この2件が連続して起こるので関連性はありそうに思っていましたが、
バッファの残りデータの影響だったのですね。
いまは、なにかあったら差し直して試すようにしています。

どうもありがとうございます。
--------------------------------------------
東北学院大学工学部 機械知能工学科 熊谷正朗
> > 気になること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.
> >  というエラーになることもあります。
> >  ※単にポートが開けなかったときにこのエラーになる気配
>
> 以上のエラーはよくポートが存在しない時に見ます。レーザーに電源を入れると
> 少し機動時間があって、その前にコンポーネントをActivateしようとしたらエ
> ラーになります。
>
> > 気になること3:rtchokuyo_verbose2.txt
> > ・最初のNGに似たケースで rtchokuyo_verbose2.txt のように、そこそこ
> >  短く、半角カナの交じったエラーがでて、かつ、最後がclsoe connectionになる。
> >  Reset→再アクティベートで表示は変わるものの、やはりNG
> >  ※このとき、URGの機種検出もできていない気配。
>
> 以上のエラーはバーファーに残っているデータが邪魔になっているということです。
>
> > なお、デバイスマネージャの確認では
> > ・16550互換のFIFOバッファを使用、受信14、送信16
> > ・シリアル系デバイスをつなぐと悪さをすることで有名?なMicrosoft Ball Point
> >  なマウスデバイスは検出されず
> > です。
> >
> > なんとなく、RTCのエラーと言うよりは、HokuyoAISTの中のトラブルのよう
> > ですが、お伺いいたしたく存じます。
> > よろしくお願いいたします。
>
> 問題はRTCに関係ありません。何かのコミュニケーション問題です。解決するた
> めに、して欲しいことがあります:
>
> - hokuyoaist_exampleで同じ問題が出ることを確認してください。
> - hokuyoaist_exampleのソースにexample.cppの47行の値を以下のように変更し
> て実行してください:
> "type=seriallog,device=COM4,timeout=1,debug=3"
> こうしたらかなり出力情報が増えます。問題があった時の方を添付でリストに
> 送ってください。port.logwとport.logrというファイルも出されます。それも
> 送ってください。
>
> よろしくお願いいたします。
> _______________________________________________
> openrtm-users mailing list
> openrtm-users@openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users
_______________________________________________
openrtm-users mailing list
openrtm-users@openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-users

gbiggs
オフライン
Last seen: 6年 9ヶ月 前
登録日: 2010-08-02 07:51
[openrtm-users 02408] RTCHokuyoAISTのActivate失敗

熊谷様

ジェフです。

On 30/01/12 10:17, kumagai@tjcc.tohoku-gakuin.ac.jp wrote:
> ジェフ様
>
> 熊谷でございます。
> 早速のお返事ありがとうございます。
>
> 2件目のメイルでお送りしたようにcalibrate_timeをコメントアウトしたものは、
> Win7pro 64bitでも、確実に動作するようになっていますので、とりあえずは、
> それを使ってみています。
> CPU時刻を得るところで、マルチコアなのが悪さをしている可能性も考慮して、
> タスクマネージャからCPUを1個に固定してみましたが、それでもないようでした。

こちらでWin7pro 64bitのVMにURGでテストしたら、calibrate_time()はうまくで
きました。バーチャルマシーンですからかな。熊谷様のコンピュータのログファ
イルが興味深いです。

よろしくお願いいたします。

> まずは、
>> 問題はRTCに関係ありません。何かのコミュニケーション問題です。解決するた
>> めに、して欲しいことがあります:
>>
>> - hokuyoaist_exampleで同じ問題が出ることを確認してください。
>> - hokuyoaist_exampleのソースにexample.cppの47行の値を以下のように変更し
>> て実行してください:
>> "type=seriallog,device=COM4,timeout=1,debug=3"
>> こうしたらかなり出力情報が増えます。問題があった時の方を添付でリストに
>> 送ってください。port.logwとport.logrというファイルも出されます。それも
>> 送ってください。
> を確認したいと思います。
> (ビルドツリーが家のPC内なので&明日から出張で、少し遅くなります)
>
>>> 気になること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.
>>>  というエラーになることもあります。
>>>  ※単にポートが開けなかったときにこのエラーになる気配
>>
>> 以上のエラーはよくポートが存在しない時に見ます。レーザーに電源を入れると
>> 少し機動時間があって、その前にコンポーネントをActivateしようとしたらエ
>> ラーになります。
>>
>>> 気になること3:rtchokuyo_verbose2.txt
>>> ・最初のNGに似たケースで rtchokuyo_verbose2.txt のように、そこそこ
>>>  短く、半角カナの交じったエラーがでて、かつ、最後がclsoe connectionになる。
>>>  Reset→再アクティベートで表示は変わるものの、やはりNG
>>>  ※このとき、URGの機種検出もできていない気配。
>>
>> 以上のエラーはバーファーに残っているデータが邪魔になっているということです。
>
> この2件が連続して起こるので関連性はありそうに思っていましたが、
> バッファの残りデータの影響だったのですね。
> いまは、なにかあったら差し直して試すようにしています。
>
> どうもありがとうございます。
> --------------------------------------------
> 東北学院大学工学部 機械知能工学科 熊谷正朗
>>> 気になること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.
>>>  というエラーになることもあります。
>>>  ※単にポートが開けなかったときにこのエラーになる気配
>>
>> 以上のエラーはよくポートが存在しない時に見ます。レーザーに電源を入れると
>> 少し機動時間があって、その前にコンポーネントをActivateしようとしたらエ
>> ラーになります。
>>
>>> 気になること3:rtchokuyo_verbose2.txt
>>> ・最初のNGに似たケースで rtchokuyo_verbose2.txt のように、そこそこ
>>>  短く、半角カナの交じったエラーがでて、かつ、最後がclsoe connectionになる。
>>>  Reset→再アクティベートで表示は変わるものの、やはりNG
>>>  ※このとき、URGの機種検出もできていない気配。
>>
>> 以上のエラーはバーファーに残っているデータが邪魔になっているということです。
>>
>>> なお、デバイスマネージャの確認では
>>> ・16550互換のFIFOバッファを使用、受信14、送信16
>>> ・シリアル系デバイスをつなぐと悪さをすることで有名?なMicrosoft Ball Point
>>>  なマウスデバイスは検出されず
>>> です。
>>>
>>> なんとなく、RTCのエラーと言うよりは、HokuyoAISTの中のトラブルのよう
>>> ですが、お伺いいたしたく存じます。
>>> よろしくお願いいたします。
>>
>> 問題はRTCに関係ありません。何かのコミュニケーション問題です。解決するた
>> めに、して欲しいことがあります:
>>
>> - hokuyoaist_exampleで同じ問題が出ることを確認してください。
>> - hokuyoaist_exampleのソースにexample.cppの47行の値を以下のように変更し
>> て実行してください:
>> "type=seriallog,device=COM4,timeout=1,debug=3"
>> こうしたらかなり出力情報が増えます。問題があった時の方を添付でリストに
>> 送ってください。port.logwとport.logrというファイルも出されます。それも
>> 送ってください。
>>
>> よろしくお願いいたします。
>> _______________________________________________
>> openrtm-users mailing list
>> openrtm-users@openrtm.org
>> http://www.openrtm.org/mailman/listinfo/openrtm-users
> _______________________________________________
> openrtm-users mailing list
> openrtm-users@openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users
_______________________________________________
openrtm-users mailing list
openrtm-users@openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-users

コメントを投稿するにはログインまたはユーザー登録を行ってください

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2195
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク