本文へ移動

tf-2md3-devel@t-frog.com

Re: PWM方式について

Date:
Thu, 16 Oct 2014 16:18:17 +0900
From:
"YUUKI SUGANO" <
rr0024rh at ed dot ritsumei dot ac dot jp
>
To:
"tf-2md3-devel" <
tf-2md3-devel at t-frog dot com
>
Subject:
[00053] Re: PWM方式について
渡辺様

菅野です
ご回答ありがとうございます.

使用しているモータはT-frogプロジェクトのTF-M30-24-3500-G15L/R
です. ちなみにギアボックスを取り外したことはありません.

ちなみに確認なのですが, YP_wheel_velコマンドはYP_wheel_torqueと
同様に値(角速度)を与えるコマンドだと思うのですが, その値というのは
TF-2MD3-R6_Manual_rev4のP.3において慣性補償, PI制御器に
入るwrref, wlrefという理解でよろしいでしょうか?

お手数おかけしますが,ご回答のほどよろしくお願い致します.
-----Original message-----
From:Atsushi Watanabe <
atsushi dot w at ieee dot org
>
To:tf-2md3-devel <
tf-2md3-devel at t-frog dot com
>
Date:Wed, 15 Oct 2014 19:59:36
Subject:[tf-2md3-devel:00051] Re: PWM方式について

菅野様

> 負のトルク値をコマンドから与えると, 数十%以上の誤差が生じています.

使っているモータとギヤの製品を教えて頂くと、何か知見があるかもしれません。
また、T-frogプロジェクトのギヤードモータの場合、ギヤボックスを取り外したことはありますか。


> まず, YP_get_wheel_torque, YP_get_wheel_velそれぞれのコマンドで
> 取得されるトルクと角速度はどのように求められた値なのでしょうか?

モータドライバからPCには、与えているPWM比(≒電圧(E))と、角速度(ω)が送られてきます。
角速度はドライバ中で、1[ms]あたりのエンコーダパルス数をカウントした値を[rad/s]に単位変換したものです。
モータの逆起電力係数(Ke)、端子間抵抗(R)から、モータ電流(I)は、
I = (E - ω Ke) / R で推定でき、
モータのトルク係数(Kt)から、トルク(τ)は、
τ = I Kt で求められます。

PC側の実際の計算は、以下のコードで行っています。
https://openspur.org/redmine/projects/ypspur/repository/revisions/master/entry/src/odometry.c#L116


> あと, モータドライバユニット内で行われている内部計算については
> 確認および変更することは可能でしょうか?

モータドライバファームウェアは、以下のURLのリポジトリにあり、Gitでソースコードを取得できます。
http://t-frog.com/repos/?p=motor-controller.git
ソースコード取得: $ git clone http://t-frog.com/repos/git/motor-controller.git

取得したソースコード内の tfrog-motordriver/ ディレクトリで Makeすると、
ファームウェアが生成できますので、これを書き込むことで動作を変更できます。
コンパイルには arm-none-eabi-gcc が必要です。(検索すると出てきます。)


よろしくお願いいたします。

// Atsushi WATANABE
// Ph.D. Researcher
// Advanced Telecommunications Research Institute International (ATR)
// Intelligent Robotics and Communication Laboratories
// E-mail:
atsushi dot w at ieee dot org
/
atsushi dot w at atr dot jp



2014年10月15日 15:54 YUUKI SUGANO <
rr0024rh at ed dot ritsumei dot ac dot jp
>:
> 渡辺様
>
> 菅野です
> ご回答ありがとうございます.
>
> 負のトルク値をコマンドから与えると, 数十%以上の誤差が生じています.
> 原因がどこにあるか探っているところです.
>
> さらにいくつか質問があります.
>
> まず, YP_get_wheel_torque, YP_get_wheel_velそれぞれのコマンドで
> 取得されるトルクと角速度はどのように求められた値なのでしょうか?
>
> あと, モータドライバユニット内で行われている内部計算については
> 確認および変更することは可能でしょうか?
>
> お手数おかけしますが,ご回答のほどよろしくお願い致します.
>
> -----Original message-----
> From:Atsushi Watanabe <
atsushi dot w at ieee dot org
>
> To:tf-2md3-devel <
tf-2md3-devel at t-frog dot com
>
> Date:Sat, 11 Oct 2014 10:43:58
> Subject:[tf-2md3-devel:00041] Re: PWM方式について
>
> 菅野様
>
> 渡辺です。
>
>> 送っていただいたファイルのp.7におけるpwmの値を直接
>> 与えたいと考えていました.
>
> 申し訳ありませんが、現状ではPWMや電圧を指定するコマンドを用意していません。
> 研究用途では確かに需要はあると思いますので、
> 時間がとれたときに、ドライバのファームウェアとYP-Spurに追加しようと思います。
>
>
>> 符号の異なる同じ値のトルクを与えて移動車を直進
>> させたいのですが, 左右のタイヤに発生するトルクが
>> 大きく違うようで直進しません.
>
> 一定トルクで駆動する場合、定常状態の回転数は、
> 速度に対して増加する摩擦成分と、与えたトルクの釣り合いで決まりますので、
> 微妙な摩擦の違いで速度が変わります。
> そのため、何らかのフィードバック無しで直進させるのは、困難です。
>
> あまり大きく(数十%オーダーで)トルクが異なる場合は、
> モータ、ギア、それらの組み付け、ドライバの問題を疑った方がよいです。
>
>
>> まず, p.7の"モータの起電力に逆らって電圧を印加"という箇所の
>> 式にコイルのインダクタンスによる電流の時間微分項が
>> 入っていないのはなぜですか?
>
> モータの制御周期 1ms、ロボットの走行軌跡制御周期 20ms に対して
> インダクタによる遅れの時定数が短い、または同程度なため、無視しています。
>
> 具体的には、maxonのコアレスモータですと、L/Rの時定数が10usから100us程度、
> T-frogプロジェクトで提供しているコアードブラシレスモータで 3ms弱です。
>
>
>> 2点目は, マイナスのトルク値を与え, プラス入力の時とは
>> タイヤが逆方向に回転している場合, 先ほどの式における
>> ω(角速度)の値はエンコーダからマイナスの値として
>> 返ってくるのでしょうか?
>
> はい。
> 各車輪の制御においては、トルクの方向と、角速度の方向は一致しているはずです。
>
>
>> 最後に, 回転による粘性摩擦の影響は多少あるとは思いますが,
>> 発生する粘性摩擦は回転方向によって大きく異なる
>> のでしょうか?
>
> 摩擦パラメータは回転方向によって微妙に異なります。
> また、ギアの組み付けが悪い場合、特に大きな差が発生します。
>
>
> 以上、よろしくお願いいたします。
>
> // Atsushi WATANABE
> // Ph.D. Researcher
> // Advanced Telecommunications Research Institute International (ATR)
> // Intelligent Robotics and Communication Laboratories
> // E-mail:
atsushi dot w at ieee dot org
/
atsushi dot w at atr dot jp

>
>
> 2014年10月10日 10:17 YUUKI SUGANO <
rr0024rh at ed dot ritsumei dot ac dot jp
>:
>> 渡辺様
>>
>> 菅野です
>> ご回答ありがとうございます.
>>
>> 送っていただいたファイルのp.7におけるpwmの値を直接
>> 与えたいと考えていました.
>> 符号の異なる同じ値のトルクを与えて移動車を直進
>> させたいのですが, 左右のタイヤに発生するトルクが
>> 大きく違うようで直進しません.
>>
>> ここで, いくつか質問があります.
>> まず, p.7の"モータの起電力に逆らって電圧を印加"という箇所の
>> 式にコイルのインダクタンスによる電流の時間微分項が
>> 入っていないのはなぜですか?
>>
>> 2点目は, マイナスのトルク値を与え, プラス入力の時とは
>> タイヤが逆方向に回転している場合, 先ほどの式における
>> ω(角速度)の値はエンコーダからマイナスの値として
>> 返ってくるのでしょうか?
>>
>> 最後に, 回転による粘性摩擦の影響は多少あるとは思いますが,
>> 発生する粘性摩擦は回転方向によって大きく異なる
>> のでしょうか?
>>
>> お手数おかけしますが,ご回答のほどよろしくお願い致します.
>>
>> -----Original message-----
>> From:Atsushi Watanabe <
atsushi dot w at ieee dot org
>
>> To:tf-2md3-devel <
tf-2md3-devel at t-frog dot com
>
>> Date:Wed, 08 Oct 2014 08:37:44
>> Subject:[tf-2md3-devel:00039] Re: PWM方式について
>>
>> 菅野様
>>
>> 渡辺です。
>> トルク制御時のPWMについて回答いたします。
>>
>> トルク指令を与えた際に、最終的に出力するPWMデューティー比の計算の
>> パラメータを調整したいと言うご質問でよろしいでしょうか。
>> もしくは、デューティー比の指令を直接与えたいということですか。
>>
>> 前者の場合、この制御系では、与えられたトルク指令に対して、
>> モータの物理パラメータを用いたフィードフォワード電流制御をかけます。
>> 具体的な計算については、下記ファイルの pp. 6-7 および p.14 をご覧ください。
>> https://openspur.org/redmine/attachments/download/3/Vehicle_and_Motion_Control.pdf
>> したがって、デューティー比は、以下のパラメータを使って計算されます。
>> ・MOTOR_R (モータ内部抵抗)
>> ・MOTOR_VC (モータ回転数係数)
>> ・MOTOR_TC (モータトルク係数)
>> ・TORQUE_NEWTON (摩擦補償 定数項)
>> ・TORQUE_VISCOS (摩擦補償 比例項)
>>
>>
>> 後者の、デューティー比の指令を直接与えたい場合、
>> そのためのコマンドは、現状は用意していません。
>> これが必要でしたら、モータドライバのファームウェアと
>> YP-Spurのコードに手を加えて、電圧制御のコマンドを追加していただくのが
>> 早いと思いますので、ご相談ください。
>>
>>
>> よろしくお願いいたします。
>>
>> // Atsushi WATANABE
>> // Ph.D. Researcher
>> // Advanced Telecommunications Research Institute International (ATR)
>> // Intelligent Robotics and Communication Laboratories
>> // E-mail:
atsushi dot w at ieee dot org
/
atsushi dot w at atr dot jp

>>
>>
>> 2014年10月6日 13:55 YUUKI SUGANO <
rr0024rh at ed dot ritsumei dot ac dot jp
>:
>>> 渡辺様
>>>
>>> お世話になっております.
>>> 立命館大学川村研究室
>>> 菅野です.
>>>
>>> 直接トルク入力する場合のPWM制御について
>>> 質問があります.
>>>
>>> 直接トルク値を YP_wheel_torque コマンドで入力した場合,
>>> そのトルク値を実現するための電圧をPWM方式によって
>>> モータに印加していると思うのですが, この時の
>>> PWM方式におけるデューティ比を変えることは可能でしょうか?
>>>
>>> お手数おかけしますが,ご回答のほどよろしくお願い致します.
>>>
>>>
>>> ---------------------------------------
>>> 立命館大学
>>> 理工学部 ロボティクス学科 4回生
>>> 運動知能研究室 ポテンシャル班
>>>
>>> 菅野勇希
>>>
>>> 学籍番号: 2250110042-4
>>> E-mail:
rr0024rh at ed dot ritsumei dot ac dot jp

>>>
>>> ---------------------------------------
>>>
>>
>>
>> ---------------------------------------
>> 立命館大学
>> 理工学部 ロボティクス学科 4回生
>> 運動知能研究室 ポテンシャル班
>>
>> 菅野勇希
>>
>> 学籍番号: 2250110042-4
>> E-mail:
rr0024rh at ed dot ritsumei dot ac dot jp

>>
>> ---------------------------------------
>>
>
>
> ---------------------------------------
> 立命館大学
> 理工学部 ロボティクス学科 4回生
> 運動知能研究室 ポテンシャル班
>
> 菅野勇希
>
> 学籍番号: 2250110042-4
> E-mail:
rr0024rh at ed dot ritsumei dot ac dot jp

>
> ---------------------------------------
>


---------------------------------------
立命館大学
理工学部 ロボティクス学科 4回生
運動知能研究室 ポテンシャル班

菅野勇希

学籍番号: 2250110042-4
E-mail:
rr0024rh at ed dot ritsumei dot ac dot jp


---------------------------------------

References