Skip to content

ORNE_ORでの自立移動の方法

川鍋清志郎 edited this page Apr 1, 2024 · 5 revisions

ロボットに自律走行をさせる一連の流れをまとめる。

ハードウェア

ORNE_ORのロボットフレームとモータドライバは以下のものを使用している

環境構築

ROS noetic(Ubuntu20.04)をインストール後、READMEに従い環境構築をする。

モータドライバとの接続確認

  • orne_or_setup/scripts内の、create_udev_rulesを実行
  • モータドライバとpcを接続し、/dev/sensorsにicart_miniがあることを確認する
$ ls /dev/sensors
icart_mini

2D LiDARとの接続

使用するLiDARのIPアドレスは192.168.0.1とする

pc側の設定

設定アプリ⇒ネットワークタブ
有線の表記があることを確認し、右側の+ボタンからプロファイルを追加する
ipv4タブのipv4メソッドを手動に変更する
アドレス 192.168.0.103
ネットマスク 24
ゲートウェイ 192.168.0.1

ipv6タブに移動し、ipv6メソッドを無効にする

launchファイルの編集

orne_or.launchでLiDARのIPアドレスを指定する
https://github.com/open-rdc/orne_or/blob/7efabe27f607adc858c98ba041b109a84360b1ac/orne_or_bringup/launch/orne_or.launch#L9
ここでは、192.168.0.102

i-Cart miniの走行パラメータ設定

以下のパラメータを調整する
https://github.com/open-rdc/orne_or/blob/noetic-devel/orne_or_setup/config/orne_or.param
パラメータ調整の方法
https://www.roboken.iit.tsukuba.ac.jp/platform/wiki/yp-spur/parameter-file

ジョイスティックでの操作

上記までのセットアップでジョイスティックでの操作が行える
pcにジョイスティックを接続し以下コマンドをそれぞれ順番に入力する

$ roslaunch orne_or_bringup orne_or.launch
$ roslaunch icart_mini_driver teleop_joy.launch

地図の作成

過去にまとめたissue

地図の作成にはcartographerというアプリケーションを使用する。
地図作成の手順を簡単に示す

  • cartographerをインストール
  • rosbagを取りながら地図を作りたい経路を走行させる
  • cartographerでrosbagを指定して地図を作成する
  • 地図を保存する

cartographerをインストール

こちらのサイトに従いインストールをする。

rosbag

以下コマンドを実行し、ジョイスティックで操作しながら走行する。
rosbagはレコードしているディレクトリに保存されるため任意のディレクトリに移動。ここではホーム直下の/rosbagディレクトリ。
$ cd ~/rosbag

-aはすべてのトピックを収集。-Oはファイルの名前を付けるオプション。日付とわかりやすい名前などが望ましい
$ rosbag record -a -O 240401_tsudanuma

cartographerの実行

地図を作成するにあたり、いくつかの編集をする。
cartographer_rosのdemo_backpack_2d.launchを使用する場合、backpack_2d.launchの中でと、<remap from="/odom" to="/icart_mini/odom" />を追記する。

  <node name="cartographer_node" pkg="cartographer_ros"
      type="cartographer_node" args="
          -configuration_directory $(find cartographer_ros)/configuration_files
          -configuration_basename backpack_2d.lua"
      output="screen">
    <remap from="echoes" to="scan" />
    <remap from="/odom" to="/icart_mini/odom" />
  </node>

この追記でrosbagのトピックから地図の作成ができるようになる。
ターミナルで以下のコマンドを実行する。
$ roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/rosbag/240401_tsudanuma.bag 作成した地図は、ターミナルで以下のコマンドを実行することで保存ができる。
& rosrun map_serber map_saver

コストマップの作成

上記コマンドで保存した地図は、.pgmと.yamlの2つのファイル。それぞれのファイルをファイルの名前の下に"for_costmap"を付けて保存する。
例)
$ cp filename.pgm filename_for_costmap.pgm

GIMPを使用して、地図上の不必要な障害物の除去や異なる地図の合成などの編集をする。

waypoint manager