2014年12月8日月曜日

7.4 オドメトリのキャリブレーション

実機ロボットのオドメトリをより正確なものにするために、キャリブレーションを行ないます。
7.4.1 並進方向のキャリブレーションおよび7.4.2 回転方向のキャリブレーションを参考にキャリブレーション用のパラメータを求めたら、以下のように設定して下さい。

床の材質によってキャリブレーションの値は大きく変化します。場所ごとにキャリブレーションを行って、以下のlaunchファイルを複数用意しておくのがいいでしょう。

TurtleBotの場合

turtlebot_carpet_create.launch を編集して、以下のように数値を変更して下さい。
<launch>
  <param name="/use_sim_time" value="false" />
  <!-- Calibration parameters after calibration of an original Create TurtleBot on low-ply carpet -->
  <param name="turtlebot_node/gyro_measurement_range" value="150"/>
  <param name="turtlebot_node/gyro_scale_correction" value="1.43"/>
  <param name="turtlebot_node/odom_angular_scale_correction" value="1.0 "/>
  <param name="turtlebot_node/odom_linear_scale_correction" value="0.955"/>

  <include file="$(find rbx1_bringup)/launch/turtlebot_minimal_create.launch" />

</launch>

以降は、キャリブレーション済みの launchファイルを使って下さい。
$ roslaunch rbx1_bringup turtlebot_carpet_create.launch

Kobukiの場合

turtlebot_carpet_create.launch をコピーして、turtlebot_carpet_kobuki.launch を作成し、以下のように変更して下さい。
<launch>
  <param name="/use_sim_time" value="false" />
  <!-- Calibration parameters after calibration of an original Create TurtleBot on low-ply carpet -->
  <param name="turtlebot_node/gyro_measurement_range" value="150"/>
  <param name="turtlebot_node/gyro_scale_correction" value="1.43"/>
  <param name="turtlebot_node/odom_angular_scale_correction" value="1.0 "/>
  <param name="turtlebot_node/odom_linear_scale_correction" value="0.955"/>

  <include file="$(find rbx1_bringup)/launch/turtlebot_minimal_kobuki.launch" />


以降は、キャリブレーション済みの launchファイルを使って下さい。
$ roslaunch rbx1_bringup turtlebot_carpet_kobuki.launch

0 件のコメント:

コメントを投稿