マッピングのためのデータ収集にはRPLiDARを使います。
Jetson Nano へのROS1 (Melodic)のインストール やRPLiDARのセットアップは以下を参照
Jetson Nano + ROS1 で LiDAR を動かしてみる
システムへマッピング機能をインストール
LiDARからのデータのみでマッピングするので、Hector_SLAMパッケージを使ってみます。
RPLiDARはBreezySLAMでもいけるそうですが、今回はパス(まだ少し問題を持っているようです)。
JetsonとLiDARを手持ちしてSLAMを実行できます。odometryを使わないのでその分、精度は若干落ちるみたいですが….。(ムービーではJetsonとRPLiDARが使われているわけではなく、多分PCと別のLiDARの組み合わせかと….)
Qt4とQt5の機能を使います。
catkin_ws/srcに移動して、hector_slamをクローンしておきます
mapping_default.launchを編集します
変更するのは2か所
①
defaultを変更
<arg name=”base_frame” default=”base_footprint”/>
<arg name=”odom_frame” default=”nav”/>
↓
<arg name=”base_frame” default=”laser”/>
<arg name=”odom_frame” default=”laser”/>
②
nameとargsを変更
<!–<node pkg=”tf” type=”static_transform_publisher” name=”map_nav_broadcaster” args=”0 0 0 0 0 0 map nav 100″/>–>
↓
<!–<node pkg=”tf” type=”static_transform_publisher” name=”base_to_laser_broadcaster” args=”0 0 0 0 0 0 base_link laser 100″/>–>
次に、tutorial.launchを編集します
valueを変更
<param name=”/use_sim_time” value=”true”/>
↓
<param name=”/use_sim_time” value=”false”/>
cv_bridge用のリンクを張っておきます
catkin_wsへ移動してビルド
RPLiDARを起動
このターミナルはそのままにして、別ターミナルを開いて以下を実行してHector_SLAMを起動します。
注:以下のようなエラーが出た場合
RLException: [tutorial.launch] is neither a launch file in package [hector_slam_launch] nor is [hector_slam_launch] a launch file name
ワークスペースセットアップスクリプトの取り込み 、再度実行
こんな感じ
Next
いちおう動くみたいなので、まともに動いているのか検証
Appendix
ラズパイ4B + ROS1 (Melodic) で Hector_SLAM を動かしてみる
Leave a Reply