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を実行して自己位置推定を行います.