研究ブログ

LiDARと地図情報を使った自己位置推定①


① LiDAR Odometry
② hector_slamにより作成した地図 + amcl + LiDAR Odometry
を使って自己位置推定を行います。

TFのつながり方は
/map(map_server) -> (amcl) -> /odom -> (laser_scan_matcher) -> /base_link -> /laser_link
となります。

①, LiDAR Odometryの導入と実行
 - インストール(hokuyo_nodeはインストール済みを想定)
 $ sudo apt-get install ros-indigo-scan-tools

 -  hokuyoノードとlaser_scan_matcherノードの起動
 -- laser_odometry.launch ----------------------------------------------------------------------
 <launch>

      <node pkg="hokuyo_node" type="hokuyo_node" name="hokuyo_node">
        <param name="intensity" type="bool" value="true"/>
        <param name="port" value="/dev/ttyACM0"/>
        <param name="min_ang" value="-2.07" type="double"/>
        <param name="max_ang" value="2.07" type="double"/>
     </node>

      <node pkg="tf" type="static_transform_publisher" name="tf_base_link_to_laser" args="0.0 0 0 0.0 0.0 0.0 /base_link /laser 100" />

      <node pkg="laser_scan_matcher" type="laser_scan_matcher_node" name="laser_scan_matcher_node" output="screen">
        <param name="fixed_frame" value = "/odom"/>
        <param name="base_frame" value = "/base_link"/>
        <param name="use_cloud_input" value="false"/>
        <param name="publish_tf" value="true"/>
        <param name="publish_odom" value="true"/>
        <param name="use_odom" value="false"/>
        <param name="use_imu" value="false"/>
        <param name="use_alpha_beta" value="true"/>
        <param name="max_iterations" value="10"/>
      </node>

 </launch>
 -- laser_odometry.launch ----------------------------------------------------------------------

 上記を実行し,RVIZ上で
  ・ Fixed Frame: /odom
 と設定し,/base_linkが移動することが確認できれば成功です.
  
 次回は,これにさらに地図情報の配信とamclを実行して自己位置推定を行います.