Skip to content

LIO SAMの使用方法

Taishi Yamamoto edited this page Aug 27, 2020 · 3 revisions

install

  • 本リポジトリに詳しく記載されています。LIO-SAM

Run

roslaunch lio_sam run.launch
rosbag play your-bag.bag -r 3
  • rosbag play your-bag.bag -r 3はbagファイルを3倍速で再生するコマンドですが、再生速度が遅いほうが精度の高い地図ができる傾向にあります。

Parameter

  • lio-sam/config/params.yamlにあります。このパラメータをロボットに合わせて調整します。  

Topics

  • バグファイルのトピック名に合わせてリマップを行います。例えば、ros-drivers/velodyneを用いる場合は"points_raw" -> "velodyne_points"のように変えます。
#Topics
pointCloudTopic: "velodyne_points"           # Point cloud data
imuTopic: "imu_data"                         # IMU data

Export Settings

  • 本パッケージはSLAMで生成された地図をpcdファイルにセーブすることができます。セーブしたい場合は"save_pcd: true"として保存するフォルダを指定してください。デフォルトでは~/Downloads/LOAM/に保存されます。
# Export settings
savePCD: true                               # https://github.com/TixiaoShan/LIO-SAM/issues/3
savePCDDirectory: "/Downloads/LOAM/"        # in your home folder, starts and ends with "/". Warning: the code deletes "LOAM" folder then recreates it. See "mapOptimization" for implementation
  • セーブされない場合はこのissueを参考にすると解決する可能性があります。

Extrinsics (lidar -> IMU)

  • LiDARとIMUの位置関係を表します。例えばORNE-α, ORNE-βの場合はそれぞれ以下のようになります。
#ORNE-alpha
  extrinsicTrans: [0.0, 0.0, 0.0]
  extrinsicRot: [1, 0, 0,
                  0, 1, 0,
                  0, 0, -1]
  extrinsicRPY: [0,  1, 0,
                 1, 0, 0,
                  0, 0, -1]
#ORNE-beta
  extrinsicTrans: [0.0, 0.0, 0.0]
  extrinsicRot: [-1, 0, 0,
                  0, 1, 0,
                  0, 0, -1]
  extrinsicRPY: [0,  1, 0,
                 -1, 0, 0,
                  0, 0, 1]

補足事項

  • ロボットをジョイコンで操縦してbagファイルを取得していると、操縦者が地図に反映されてしまうため、フィルタリングを行ったほうが良いです。その一つとして,ros-drivers/velodyneには一定距離以内にある点群を除去することができます。
    roslaunch velodyne_pointcloud VLP16_points.launch min_range:=1.0 #1mの範囲の点群を除去する
  • 地図はCloudCompareを用いて可視化や編集をすることができます。

テスト動画