waypoints generator csv
半自動にウェイポイントを抽出するパッケージを開発しました.この記事ではそのパッケージについて説明します.
waypoints_generator_csv
概要
自律移動ロボットで地図を作成した後は通常,作成した地図からウェイポイントを抽出してそれに沿って自律移動ロボットを走行させるのが鉄板です.ウェイポイントを抽出する方法には様々な方法があると思いますが主にPublish Point
やLocalization
を用います.そこでこのパッケージでは前述の方法を用いて半自動的にウェイポイントをを生成します.
環境
Ubuntu 18.04
ROS (Melodic)
Python 2.7.x
準備
-
waypoints_generator_csv
パッケージをダウンロードしてください.
$ cd ~/catkin_ws/src/
$ git clone https://github.com/HHorimoto/waypoints_generator_csv.git
$ cd ~/catkin_ws
$ catkin_make
- 動作に必要なパッケージをダウンロードしてください.
$ sudo apt-get install python-blessed # for key click
使い方
このパッケージはウェイポイントを生成するための3つの方法を提供し、それらは起動ファイルのパラメータを介して選択することができます.
生成されたcsv
ファイルは graphs/
に保存されます。
$ roslaunch waypoints_generator_csv waypoints_generator_csv.launch
graphs/
waypoints.csv
このパッケージには、生成されたウェイポイントをrvizに表示するだけのスクリプトも含まれています.これを起動したら、rviz
のadd
ボタンからMarker
トピックを選択します。
$ roslaunch waypoints_generator_csv publish_marker.launch
パラメーター
-
select : どの方法でウェイポイントを生成するかを指定します。
key_click(k)
またはclicked_point(c)
またはthreshold(t)
.
defult :threshold
. -
file_name : 生成するウェイポイントを格納するファイル名.
defult :waypoints
-
dist_th : 閾値に対するウェイポイントの距離間隔.
defult :7.0 [m]
. -
theta_th : 閾値のウェイポイントの度数間隔.
defult :60.0 [deg]
. -
use_debug_marker :
rviz
に保存されたウェイポイントを表示するかどうか。
defult :true
. -
distance_tolerance : マーカー円の半径
defult :1.0 [m]
.
スクリプトの詳細
key_click_csv - key_click(k) -
このスクリプトは、キーボードのEnter
キーを押したときに、ロボットの現在位置をウェイポイントとして保存します。
デモビデオ
clicked_point_csv - clicked_point(c) - クリックされたポイント。
rviz
でPublish Point
ボタンを押すと、その位置がウェイポイントとして保存されます。
デモビデオ
threshold_csv - threshold(t)
設定された距離と角度の閾値を超えると、スクリプトは自動的にその位置をウェイポイントとして保存します。