WHILL Model CR 新機能まとめ

WHILL model CRに新機能が追加されました。新機能の内容や背景を書きますので、参考にしてください。

Kauzmichi Shirai

WHILL Model CR 新機能まとめ

WHILL model CRに、2つの新機能が追加されました。
1つは モーター角度測定タイミングを通知する機能が追加されました。
これにより、オドメトリの精度改善が期待できます。
もう1つは、加速度制御コマンドが追加されました。
今までの制御コマンドと比較して、応答性と速度指令値精度が優れています。
新機能の詳細や背景を書きますので、参考にしてください。

この記事はWHILL Advent Calendar 2019の25日目の記事です。

モーター角度測定タイミングを通知

背景

RS232Cで送られてくるモーター角度からオドメトリを計算しても、オドメトリの精度が安定しないというご指摘をいただいていました。
RS232Cの送信周期とモーター角度測定タイミングがズレることで発生している問題であることがわかりました。
対策として、WHILL Model CRの新FWでは、モーター角度測定タイミング情報をData Set 1に追加しました。

変更点

Data set 1にANGLE_DETECT_COUNTERが追加されます。
この値は、モーター角度を測定したタイミングを表し、単位はmsecです。
0から始まり最大値は200です。
200を超えると0に戻ります。

例) Data set 1で次のような値を連続で受信したとします。

(前回) RIGHT_MOTOR_ANGLE: 1.536rad, ANGLE_DETECT_COUNTER: 110
(今回) RIGHT_MOTOR_ANGLE: 1.624rad, ANGLE_DETECT_COUNTER: 121

この場合、11ms間で+0.088radモーターが回転したとわかります。

注意

この機能追加により、Data set 1のサイズが1増えます。
お客様のコードによっては変更が必要になると思われます。
お手数おかし、申し訳ございません。
ros_whillを最新にしていただければ、Data set 1のサイズ変更に対応できます。
最新のros_whillはWHILL Model CRのFW update前後両対応されています。
他のライブラリは順次対応予定です。

活用例

RIGHT_MOTOR_ANGLE(及びLEFT_MOTOR_ANGLE)とANGLE_DETECT_COUNTERを使うことで、より正確な速度を算出できます。
ros_whillの/whill/odomが改善されます。
ros_whillも最新版をご利用ください。

加速度制御コマンドを追加

背景

従来のWHILL Model CRのFWでは、WHILL Model CRをRS232C経由で動かすときには、SetJoystickコマンドを使用するしかありませんでした。
SetJoystickコマンドはWHILL Model CRのJoystickと同じプロトコルだったので次のような課題がありました。

  • -100~+100の整数で速度指令値を出すので、速度指令値が細かくできない
  • モーターコントローラー内部で計算している加加速度制御を利用しているので、狙った速度カーブで制御するのが難しい

このような課題に対応するため、新たにSetVelocityコマンドを追加しました。

変更点

SetVelocityコマンドを追加しました。
このコマンドを使うことで、0.004km/h単位で速度指令値を送ることができます。
与えられた速度に素早く追従するため、加速度は1.7/ms2と早めなっています。
また等加速度制御になっています。
SetVelocityコマンドでWHILL Model CRを動かした時のパラメーターはSpeed Profileとは独立しており、最高速度・加速度・減速度は固定値になっています。
従来のSetJoystickコマンドとの比較すると、次のような特徴があります。

  • より細かい速度指定ができる
  • 速度追従性がより早い

注意

加速度が大きいので、徐々に速度を上げるように速度指令値を与えてください。
はじめて使うときは、後輪を上げた状態でお試しください。

活用例

お客様で実現したい速度カーブを実現しやすくなります。

FW update方法

営業にご連絡ください。
随時対応いたします。

参考

最新のデータシートはこちらになります。
今回のFW updateに対応して、ros_whillもupdateしています。
最新のros_whillはこちらになります。