マッピング用のデータ収集にはRPLiDARを使います。
ラズパイ4Bにコンテナを作成し、RPLiDARをセットアップして起動する手順は以下を参照
ラズパイ4B+ Raspberry Pi OS + コンテナに ROS1(Melodic)をインストールしてRPLiDARを動かしてみる
RPLiDARからのデータのマッピングに、Hector_SLAMパッケージを使ってみます。
Hector_SLAMのセットアップ
前回作成したコンテナを起動します
1 |
sudo docker start -i my_ros1 |
Qt4とQt5の機能を使います
1 2 |
apt-get install qt4-qmake qt4-dev-tools -y apt-get install qt5-image-formats-plugins |
catkin_ws/srcに移動して、GitHubから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 nano mapping_default.launch |
<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”/>
<!–<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 nano tutorial.launch |
<param name=”/use_sim_time” value=”true”/>
↓
<param name=”/use_sim_time” value=”false”/>
cv_bridge用のリンクを張っておきます
find などでopencv2のありかを探します。で、/usr/include/opencvにリンクを張ります。
1 |
ln -s /usr/include/opencv2/ /usr/include/opencv |
catkin_wsへ移動してビルド
1 2 3 4 5 |
cd ~/catkin_ws/ catkin_make source devel/setup.bash |
ここで一旦コンテナを閉じます
Ctrl + D
RPLiDARをラズパイに接続
Xを設定して、コンテナを再起動します
1 2 3 |
sudo xhost si:localuser:root sudo docker start -i my_ros1 |
前回作成したコンテナ内でttyUSB0のモードは666に設定されているものとします。
RPLiDARを起動
1 |
roslaunch rplidar_ros rplidar.launch |
別ターミナルでコンテナ(my_ROS1)をもう一つ開いておきます
1 |
sudo docker exec -it my_ros1 bash |
Hector_SLAM を起動
1 |
roslaunch hector_slam_launch tutorial.launch |
こんな感じ
Leave a Reply