Closed nkm071 closed 9 months ago
以下がrostopic echoの出力である.クオータニオンのwの値だけが1である.
--- header: seq: 1263 stamp: secs: 1703420906 nsecs: 628080368 frame_id: "odom" child_frame_id: '' pose: pose: position: x: 0.0 y: 0.0 z: 0.0 orientation: x: 0.0 y: 0.0 z: 0.0 w: 1.0 covariance: [0.017689000000000003, -7.59710849412839e-21, 0.0, 0.0, 0.0, 0.0, 6.565395813338196e-21, 0.017689000000000003, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.28302400000000005, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] twist: twist: linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0 covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ---
原因として考えられることを以下に示す.
渡すべきトピックについて調査を行う. [navsat_transform_node]()のwikiによれば,サブスクライブするトピックは以下の3個である.
TFのリンクについて調査した結果をまとめる.orne_box.launchでxacroやurdfを読み込んでいる.また,センサ類はそれぞれのlaunchファイル内でconfigを読み込んでいる.このことから分散実行でGNSSを起動するときは子機側でGNSSの起動を行う必要がありそうである.
現状のbox2でGNSSを使う時のlaunchファイルは以下のものを使用する.またその簡単な説明を行う.
ナビゲーションを除くノード類の起動 orne_box.launch
GNSSレシーバの起動 ublox_device.launch
ublow_device.launchによってGNSSレシーバは起動するが現在の構成では,TFのリンクを定義しない起動コマンドを用いている.従って,TFのリンクが適切でないという結論でbox2内で真偽を調査する.
robot_localizationにGNSSを含めないようにしてください. 理由は研究ノートを参照してください. 初回に1回だけ参照していたような気もしますので,その場合は問題ないかもしれませんが,別々に取得したほうが比較しやすい気がします.
以下のノードを使用していると思いますが,まずは正しい値が出力されているかを確認してください. https://github.com/KumarRobotics/ublox
前に計測した様子が報告されていましたが,あれは上記を使用したものでしょうか. そうであれば,後は計測して解析するという段階に来ていると思います.
申し訳ありません.私の環境の情報と経緯が不足していました.このissueによればbox2に積まれているjetsonでこのGNSSレシーバは使用できません.ですのでjetsonを親機,自分のPCを子機としてROSの分散実行を行っています.GNSSレシーバを起動する時は,このパッケージを使用して
roslaunch f9p_ichimill gps_ichimill.launch
上記のコマンドを子機で実行し,GNSSを起動しています.その時はこのコンフィグファイルを読み込んでいないのでTFが適切に設定されていないだろうと予想しました.
robot_localizationにGNSSを含めないようにしてください. 理由は研究ノートを参照してください. 初回に1回だけ参照していたような気もしますので,その場合は問題ないかもしれませんが,別々に取得したほうが比較しやすい気がします.
承知しました.
以下のノードを使用していると思いますが,まずは正しい値が出力されているかを確認してください.
上記の投稿で示した別のROSパッケージを利用しています.正しい値かどうかに関しては研究ノートに示したとおり問題ないと考えます.
そうであれば,特に問題ないかもしれません. 以下が計測できていれば,次の解析のステップに進めます.
1)従来の自己位置推定の結果 2)GNSSの計測結果
念のためrqt_graph
でGNSSの出力がどこにも接続されていないことを確認しておくと良いと思います.
rosbagを取得する場合はrosbagには接続しているような図になるかもしれませんが.
承知しました.ありがとうございます.おそらく1)と2)は取得できていそうなので確認します.これからの内容はorne-boxとは直接かかわらないのでissueを閉じます.
robot_localizationパッケージに含まれるnavsat_transform_nodeのodometry/gpsトピックの値がおそらく正しくない