AI自動運転ラジコンカープロト (4-3 Visual SLAM (RTAB-Map) #1)


はじめに

Dense Visual SLAMのRTAB-Mapパッケージで自律走行を試してみました。AutowareはORB_SLAM2で自己位置推定ができるのですが、生成されたPointCloudマップを活用したかったので今回はRTAB-Mapを使用しました。

前提

  • Jetson AGX Xavier
  • RealSense D455
  • JetPack 4.2
  • ROS melodic
  • RTAB-Map

インストール

$ sudo apt install ros-melodic-rtabmap ros-melodic-rtabmap-ros

マップ作成

RTAB-MapとRealSenseのノードを立ち上げてマニュアルで走行させてマップを作成します。車両の速度をかなりゆっくりにしないと自己位置を簡単に見失って失敗します。今回は狭いエリアで試してみました。

rtabmap_terminal
$ roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start" \
frame_id:=camera_link \
depth_topic:=/camera/depth/image_rect_raw \
rgb_topic:=/camera/color/image_raw \
camera_info_topic:=/camera/color/camera_info \
rtabmapviz:=false rviz:=true rgbd_odometry:=true
realsense_terminal
$ roslaunch realsense2_camera rs_aligned_depth.launch 

自己位置推定

マップ作成後、下記のコマンドを実行すると/rtabmap/localization_poseに自己位置が出力されるので、このデータをもとに車両を制御します。制御方法は別途まとめる予定です。

$ roslaunch rtabmap_ros rtabmap.launch  \
frame_id:=camera_link \
depth_topic:=/camera/aligned_depth_to_color/image_raw \
rgb_topic:=/camera/color/image_raw \
camera_info_topic:=/camera/color/camera_info \
rtabmapviz:=false rviz:=true \
rgbd_odometry:=true localization:=true 

走行デモ

下記の動画は3倍速再生です。作りが甘いので少しフラフラしています。

目次ページへのリンク

目次