Closed kyo0221 closed 4 months ago
6/11(火)に実環境での実験を行う 場所:食堂横駐車場 条件:低速域(1m/s程度)、/vectornav/poseを使用した自律移動
今後の作業 ・パラメータをmain_executorの方から参照できるようにする ・津田沼における実験用csvファイルの作成 ・シミュレータ環境での動作確認
現状の問題 ・main_executorを立ち上げたときに以下のようなエラーが出てくる
現状の問題 ・main_executorを立ち上げたときに以下のようなエラーが出てくる
上記のエラーに関しては,path_publisher_nodeのパラメータであるfile_pathの引数が渡されていないことが要因だと思います. https://github.com/open-rdc/AIFormula_private/blob/49ade44a5f06eeeb8bba78877177bdc59d06423a/gnssnav/src/path_publisher_node.cpp#L21
また,シミュレータ上で動作確認を行う際は,以下のリンクのように仮想canを使用することでCannot find device 'can0'
が出ないようになると思います.
https://qiita.com/bunnyhopper_isolated/items/33a7b7d6a7ceeb51323d
※ 例がvcan0であることに注意
https://github.com/open-rdc/AIFormula_private/blob/feat/gnssnav_develop/gnssnav/src/path_publisher_node.cpp#L22 ファイルパスについてシェアディレクトリを使用して指定することにした.
main_executorのconfigにコースデータを含めている.
変更後でも変わらずmain_executorを立ち上げたときのエラーが発生している
現状の問題 ・main_executorを立ち上げたときに以下のようなエラーが出てくる
上記のエラーが解決しました. シェアディレクトリを正しく設定できていなかったのが原因だったようです.
6/11の実験の結果 以下のエラーが再発してしまい、自律走行を行えなかった.
シェアディレクトリを通じてcsvファイルを開けていたことは確認できたが、エラーが発生していた
エラーはvectornavを起動したときに発生し, main_executorの他のノードが切れてしまう現象も発生した. また, エラーは発生するときと発生しない時があった.
今後はエラーの原因を探すこととマルチスレッドにvectornavを含めていないことがわかったため, main_executorを立ち上げたときにvectornavも立ち上げられるようにする.
いくつかの問題を解決しました.
パラメータファイルを読み込めていない →ワイルドカード部分にパラメータを記述することで読めるようになった
followpath関数の周期とgnss_pathがパブリッシュされる周期が違う →両方共100msおきに実行されるように変更した(パラメータファイルで変更可能)
follower_node起動時にエラーが発生する問題(下記のものと同様)
6/11の実験の結果 以下のエラーが再発してしまい、自律走行を行えなかった.
シェアディレクトリを通じてcsvファイルを開けていたことは確認できたが、エラーが発生していた
エラーはvectornavを起動したときに発生し, main_executorの他のノードが切れてしまう現象も発生した. また, エラーは発生するときと発生しない時があった.
今後はエラーの原因を探すこととマルチスレッドにvectornavを含めていないことがわかったため, main_executorを立ち上げたときにvectornavも立ち上げられるようにする.
→purepursuitにおける先読み点の座標を格納しているpoint_のメッセージ型をgeometry::msgs::msg::PoseStampedからgeometry::msgs::msg::Poseに変更したことで今まで発生していたエラーが発生しなくなった.
マルチスレッドでgnssnavが起動できることが確認できたため, システムに組み込むことができたと考えてcloseします.
gnss_navigationがパッケージ内でパラメータを定義していたり起動を個別に行う必要があったため、既存のmain_executorにパラメータを統一してマルチスレッドでgnssnavを呼び出せるようにする (feat/gnssnav_develop)