前回Jetson Nano (Jetpack 4.6) + ROS1 (Melodic) で Hector_SLAM を使ってみた(1)の続きです。
Hector_SLAMとmove_baseを使った自律走行に向けた前段です。
この方のサンプルを使わせていただきます。
こんなことをやってみます。前回つくったJetson NanoとRPLiDAR、Hector_SLAMのシステムが地図上でどこにいるのか表示してみます。
こういう部屋の中を移動します。
Jetson Nano と RPLiDAR が部屋の中のどこにいるのか表示します。
セットアップ
依存パッケージをインストールしておきます。使わないのもあるかもしれませんが、気にしません。
前回でmap-serverをお試し済みならros-melodic-map-serverはインストール不要です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
sudo apt-get install ros-melodic-joy sudo apt-get install ros-melodic-teleop-twist-joy sudo apt-get install ros-melodic-teleop-twist-keyboard sudo apt-get install ros-melodic-laser-proc sudo apt-get install ros-melodic-rgbd-launch sudo apt-get install ros-melodic-depthimage-to-laserscan sudo apt-get install ros-melodic-rosserial-arduino sudo apt-get install ros-melodic-rosserial-python sudo apt-get install ros-melodic-rosserial-server sudo apt-get install ros-melodic-rosserial-client sudo apt-get install ros-melodic-rosserial-msgs sudo apt-get install ros-melodic-amcl sudo apt-get install ros-melodic-map-server sudo apt-get install ros-melodic-move-base sudo apt-get install ros-melodic-urdf sudo apt-get install ros-melodic-xacro sudo apt-get install ros-melodic-compressed-image-transport sudo apt-get install ros-melodic-rqt-image-view sudo apt-get install ros-melodic-gmapping sudo apt-get install ros-melodic-navigationか |
catkin_ws へ移動してサンプルをビルドします。
1 2 3 4 5 6 7 |
cd ~/catkin_ws/src/ git clone https://github.com/DaikiMaekawa/ros-navigation2d-example cd ../ catkin build |
5つのファイルを編集します。
① move_base.launch
1 |
sudo nano ~/catkin_ws/src/ros-navigation2d-example/launch/move_base.launch |
以下のタグをコメントアウト
<!–<node pkg=”roomba_500_series” type=”roomba500_light_node” respawn=”false” name=”roomba500_light_node” output=”screen”/>–>
② hector_hokuyo.launch
1 |
sudo nano ~/catkin_ws/src/ros-navigation2d-example/launch/hector_hokuyo.launch |
1:以下のタグをコメントアウト
<!–<node pkg=”hokuyo_node” type=”hokuyo_node” name=”hokuyo_node”/>–>
2:修正
<include file=”$(find hector_geotiff)/launch/geotiff_mapper.launch”>
↓
<include file=”$(find hector_geotiff_launch)/launch/geotiff_mapper.launch”>
③ global_costmap_params.yaml
1 |
sudo nano ~/catkin_ws/src/ros-navigation2d-example/param/global_costmap_params.yaml |
‘/’を削除
global_frame: map
robot_base_frame: scanmatcher_frame
④ local_costmap_params.yaml
1 |
sudo nano ~/catkin_ws/src/ros-navigation2d-example/param/local_costmap_params.yaml |
‘/’を削除
global_frame: map
robot_base_frame: scanmatcher_frame
⑤ default_mapping.launch
1 |
sudo nano ~/catkin_ws/src/ros-navigation2d-example/launch/default_mapping.launch |
2か所修正
1:
<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”/>
2:
<!–<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″/>–>
move_baseのlaunchを起動
1 2 3 |
cd ~/catkin_ws/src/ros-navigation2d-example/launch/ roslaunch move_base.launch |
例えば、RvizのFixed Frameをmap から laserに変更してみます。
別ターミナルでRPLiDARを起動
1 2 3 4 |
ls /dev | grep ttyUSB sudo chmod 666 /dev/ttyUSB0 roslaunch rplidar_ros rplidar.launch |
Jetson と RPLiDAR を持ってうろうろしてみます。
矢印が原点(初期位置)からの移動方向を示しています。
Next
以下のような構成でやってみます。
シングルボードコンピュータ + ROS1 (Melodic) でノード間通信をやってみる
Leave a Reply