マッピングのためのデータ収集には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の機能を使います。
1 2 |
sudo apt-get install qt4-qmake qt4-dev-tools sudo apt-get install qt5-image-formats-plugins |
catkin_ws/srcに移動して、hector_slamをクローンしておきます
1 2 3 |
cd ~/catkin_ws/src git clone https://github.com/tu-darmstadt-ros-pkg/hector_slam.git |
mapping_default.launchを編集します
1 2 3 |
cd ~/catkin_ws/src/hector_slam/hector_mapping/launch sudo nano 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を編集します
1 2 3 |
cd ~/catkin_ws/src/hector_slam/hector_slam_launch/launch sudo nano tutorial.launch |
valueを変更
<param name=”/use_sim_time” value=”true”/>
↓
<param name=”/use_sim_time” value=”false”/>
cv_bridge用のリンクを張っておきます
1 |
sudo ln -s /usr/include/opencv4/opencv2/ /usr/include/opencv |
catkin_wsへ移動してビルド
1 2 3 4 5 |
cd ~/catkin_ws/ catkin build source devel/setup.bash |
RPLiDARを起動
1 2 3 4 |
ls /dev | grep ttyUSB sudo chmod 666 /dev/ttyUSB0 roslaunch rplidar_ros rplidar.launch |
このターミナルはそのままにして、別ターミナルを開いて以下を実行してHector_SLAMを起動します。
1 |
roslaunch hector_slam_launch tutorial.launch |
注:以下のようなエラーが出た場合
RLException: [tutorial.launch] is neither a launch file in package [hector_slam_launch] nor is [hector_slam_launch] a launch file name
ワークスペースセットアップスクリプトの取り込み 、再度実行
1 |
source ~/catkin_ws/devel/setup.bash |
こんな感じ
Next
いちおう動くみたいなので、まともに動いているのか検証
Appendix
ラズパイ4B + ROS1 (Melodic) で Hector_SLAM を動かしてみる
Leave a Reply