LoginSignup
1
0

More than 1 year has passed since last update.

ROS : 半自動にウェイポイントを抽出する

Last updated at Posted at 2022-07-10

waypoints generator csv

半自動にウェイポイントを抽出するパッケージを開発しました.この記事ではそのパッケージについて説明します.
waypoints_generator_csv

概要

自律移動ロボットで地図を作成した後は通常,作成した地図からウェイポイントを抽出してそれに沿って自律移動ロボットを走行させるのが鉄板です.ウェイポイントを抽出する方法には様々な方法があると思いますが主にPublish PointLocalizationを用います.そこでこのパッケージでは前述の方法を用いて半自動的にウェイポイントをを生成します.

環境

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に表示するだけのスクリプトも含まれています.これを起動したら、rvizaddボタンから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) - クリックされたポイント。

rvizPublish Pointボタンを押すと、その位置がウェイポイントとして保存されます。

デモビデオ

threshold_csv - threshold(t)

設定された距離と角度の閾値を超えると、スクリプトは自動的にその位置をウェイポイントとして保存します。

デモビデオ

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0