MATLAB Answers

0

既知の姿勢を使用するマッピングについて

Asked by ryuki tomohiro on 22 Apr 2019
Latest activity Commented on by ryuki tomohiro on 9 May 2019
サンプルでは、レーザーセンサーで既存地図の形状を読み取り占有地図を作成されているようですが、
私が所持しているLiDAR(VLP-16)で取得したデータで置き換えて占有地図は、作成することは可能でしょうか?
また、MATLAB内の関数を組み合わせることで、オドメトリデータとLiDARデータを用いてSLAMを行うことは可能でしょうか?
可能でしたら、使用する関数&参考になるページ等教えていただけないでしょうか?

  0 Comments

Sign in to comment.

1 Answer

Answer by Tohru Kikawada on 23 Apr 2019
 Accepted Answer

はい、原理的には可能と思います。ただ、精度の面では調整は必要です。 下記は3D点群のレジストレーションで地図データを作成しています。 https://jp.mathworks.com/help/vision/examples/3-d-point-cloud-registration-and-stitching.html 例題ではレジストレーションにて姿勢推定していますがオドメトリの姿勢も使えます。
VLP-16のPCAPファイルをお持ちであれば下記の読み込み関数が使えます。 https://jp.mathworks.com/help/vision/ref/velodynefilereader.html
R2019aからはImage Acquision Toolboxで直接取り込みにも対応しています。 https://jp.mathworks.com/hardware-support/velodyne-lidar.html

  3 Comments

ryuki tomohiro on 25 Apr 2019
ご回答いただきありがとうございます。
よろしければ追加で質問させていただきたいのですが、
現在、手持ちのLiDAR(VLP-16)とhttps://jp.mathworks.com/help/robotics/examples/implement-slam-with-lidar-scans.html
上記のサンプルを組み合わせ、2次元SLAMはできました。
 さらに、LiDARデータとオドメトリデータを組み合わせで2次元SLAMを実行できないかと考えております。
 ですが、LiDARをのせている車両にオドメトリデータを取得する機構がついていないため、車両が移動する経路に誤差が生じないよう直線に限定し移動距離をメジャー等で計測しています。
 上記のサンプルのロボットのパスを直線にし、その移動に合わせて、自身のLiDAR(VLP-16)で取得したデータを重ねていくことで、正確ではないものの、オドメトリデータを用いた2 次元SLAMができると考えました。
専門家の方から見て、これは可能でしょうか?
また、私の目標に対して似たことを行っているサンプルや関数等ございましたら教えていただけないでしょうか?
Tohru Kikawada on 25 Apr 2019
> 上記のサンプルのロボットのパスを直線にし、その移動に合わせて、自身のLiDAR(VLP-16)で取得したデータを重ねていくことで、正確ではないものの、オドメトリデータを用いた2 次元SLAMができると考えました。専門家の方から見て、これは可能でしょうか?
はい、原理的に可能です。位置推定の誤差がなくなりますので、位置ズレが少なく点群地図ができるかと思います。
>また、私の目標に対して似たことを行っているサンプルや関数等ございましたら教えていただけないでしょうか?
2D SLAMであればご提示いただいているRobotics System Toolboxのサンプルがもっとも近しいかと思います。3Dでしたら私がご提示させていただいたComputer Vision Toolboxのサンプルが近いと思います。
ryuki tomohiro on 9 May 2019
Kikawada様
ご回答誠にありがとうございます.
自分なりにサンプル等からRoSの勉強を始めたのですが一点分からない箇所があり,ご教授お願いできないでしょうか?
自身で所持しているLiDAR(VLP-16)のデータを「exampleHelperROSCreateSampleNetwork」に追加する(新たなノードとしてデータを格納する)もしくは置き換える,
もしくはRoSネットワーク全体を1から作成してそこにデータを格納する方法を教えていただけないでしょうか?
「https://jp.mathworks.com/help/robotics/examples/exchange-data-with-ros-publishers.html」
どちらのサンプルとも,RoSにある「scan」データを読み出しているようでしたので,二次元SLAM(オドメトリとLiDARデータ)で行う場合は,一度RoSネットワーク上にデータを上げる必要があると考えました.
見当違いなことを質問していたら申し訳ありません.

Sign in to comment.