![見出し画像](https://assets.st-note.com/production/uploads/images/69602742/rectangle_large_type_2_d2ec53b57268c279cfd642611038409e.png?width=800)
ROS入門 (54) - UnityによるSLAMの実行
UnityによるSLAMの実行の手順をまとめました。
・Noestic
・Unity 2020.3
前回
1. SMAL
「SLAM」を使えば、地図の準備なしにナビゲーションができます。
2. 実験環境の準備
「ROS入門 (52) - Unityによるナビゲーション用の地図作成」と同様です。
![](https://assets.st-note.com/img/1641794997315-BTdyiTSIhC.png?width=800)
3. SLAMの準備
基本的に「ROS入門 (53) - Unityによるナビゲーションの実行」とほぼ同じです。「map_server」を「gmapping」に変更するだけになります。
(1) 「~/catkin_ws/src/my_mobile_robot/launch」に「slam.launch」を生成し、以下のように編集。
・slam.launch
<launch>
<rosparam param="/use_sim_time">true</rosparam>
<!--エンドポイントの起動-->
<param name="ROS_IP" value="0.0.0.0" />
<param name="ROS_TCP_PORT" value="10000" />
<node name="server_endpoint" pkg="ros_tcp_endpoint" type="default_server_endpoint.py" args="--wait" output="screen" respawn="true" />
<!-- gmappingの起動 -->
<node pkg="gmapping" type="slam_gmapping" name="mapper">
<param name="scan" value="base_scan" />
</node>
<!--amclの起動-->
<include file="$(find amcl)/examples/amcl_diff.launch" />
<!--move_baseの起動-->
<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
<rosparam file="$(find my_mobile_robot)/config/costmap_common_params.yaml" command="load" ns="global_costmap" />
<rosparam file="$(find my_mobile_robot)/config/costmap_common_params.yaml" command="load" ns="local_costmap" />
<rosparam file="$(find my_mobile_robot)/config/local_costmap_params.yaml" command="load" />
<rosparam file="$(find my_mobile_robot)/config/global_costmap_params.yaml" command="load" />
<rosparam file="$(find my_mobile_robot)/config/base_local_planner_params.yaml" command="load" />
</node>
</launch>
4. SLAMの実行
SLAMの実行手順は、次のとおりです。
(1) launchファイルの起動。
$ roslaunch my_mobile_robot slam.launch
(2) UnityのPlayボタンでシミュレータを起動。
Visualizationsで/mapを可視化すると、リアルタイムに地図ができていく様子がわかります。
![](https://assets.st-note.com/img/1641794570321-o9AUEF2tv1.png?width=800)
(3) ゴール地点の指定。
$ rosrun my_mobile_robot goal_pose.py
移動ロボットがゴール地点まで障害物を避けながら移動します。
![](https://assets.st-note.com/img/1641794611321-hcqOhsaJcW.png?width=800)
次回
この記事が気に入ったらサポートをしてみませんか?