[Documentation] [TitleIndex] [WordIndex

(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

TurtleBotのオドメトリとジャイロのキャリブレーション

Description: ここで、キャリプレーション、または, ナビゲーションをベースとした何らかのアプリケーションを実行する際に推奨されているTurtleBotのキャリブレーションをテストする方法を示します。 /!\ この手順はCreateの場合に限り必要なものです。Kobukiには工場出荷時にキャリブレーション済のジャイロが搭載されています。

Tutorial Level: BEGINNER

Next Tutorial: Setup the Navigation Stack

セットアップ

TurtleBotがどのジャイロを使っているかを特定してください。TurtleBotsは作られたメーカーごとに、違う測定レートのジャイロを持っています。turtlebotパワー/センサーのボードの右側の上の小さなチップを見て、その部品番号 (example)を見つける必要があります。 いくつかの共通のものは以下のようになっています:

Chip

Setting

ADXRS613

150

ADXRS652

250

このリンクが助けになるでしょう:http://www.alldatasheet.com/view.jsp?Searchword=ADXRS6

以下の結果のセクションで説明されているように、rqt_reconfigureを使う、またはconfigurationファイルを編集して、 gyro_measurement_rangeの値を キャリブレーションを実行する前に 設定してください。

TurtleBotの初期位置は、長いまっすぐな壁(少なくとも2メートルの長さ)の中心で、壁に直面して、壁から約30cm離れています。

実行

すでにロボットをスタートさせていると仮定します。(参照: TurtleBot Bringup

SSHでTurtleBotに入り (ssh help) 、キャリブレーションのルーチンを実行します。

roslaunch turtlebot_calibration calibrate.launch

Turtlebotは何周かキャリブレーションのために回転動作を実行します。Tully Footeからの覚え書き によると、キャリブレーションのための回転動作は 720° 初回と次回以降では 360°になるべきです。 ここを参照する各"時間"は、キャリブレーションのための回転動作の1つの実行で、そこで、各々のルーチンは"壁をベースにして合わせる"ことで始まり、IMUとodomエラー出力で終わります。 完全な calibrate.launch タスクは4つのそのようなルーチンを含んでいます。 (正確に、キャリブレーションの間に起こるとされていることをよりよく理解するために、 <ROS_ROOT>/lib/turtlebot_calibration/calibrate.py で、ソースコードを読むことが出来ます)。

それが終わる時、以下のような出力をスクリーン上に見るでしょう (そして、同様な数字が出力されるかどうかはまだ確信がありません):

結果

キャリブレーションのための回転動作で2つの数を出力します。ジャイロのための補正とオドメトリのための補正です。この値は、最もよい結果を得るために現在のパラメータを使って増殖させた校正要素です。(また、このQAこのQAを参照 )

キャリブレーション実行後、パラメータをに校正で弾き出した古い値に設定します。

2つのパラメータは:

dynamic_reconfigureを使って、一度の実行でパラメータを設定することが出来ます:

rosrun rqt_reconfigure rqt_reconfigure 

そして、turtlebot_nodeを選び、パラメータを設定します。Dynamic Reconfigureを使わなければなりません。そうしないとturtlebot_nodeは変化を拾わないでしょう。rosparam setを使った設定では十分ではありません。 (それぞれのキャリブレーションの後に、turtlebot_nodeを再スタートさせることも出来ますが、ここでは起動launchファイルのパラメータ変更を必要としています。)

キャリブレーションのステップに戻り、両方の係数が1に近くなるまで、プロセスを繰り返します。もしキャリブレーションが正しく働いていないなら、数はまったく収束しないかもしれません。何がこれらのパラメータのために予期する妥当な値なのかをガイドラインで与えられているのを誰も確認できていないので、プロセスが発散しているかどうかを言うのは難しいです。もしプロセスがジャイロの校正を0まで動かそうとするなら、何かが悪いと疑うべきです。

一度、両方の校正パラメータが安定した値に収束したら、次以降もこれらのパラメータを使うためにturtlebot.launch ファイルを編集します。


2019-11-30 12:49