204.加減速時に必要なトルク


2003/05/12 【アクチュエータ編TOPに戻る】

 

さて、201〜203のページでは、静止姿勢の時に各関節に加わる自重によるモーメントを考えてきました。これは早い話が、各関節でそれに相当するだけのトルクが出せれば、最低限姿勢の維持ができるというものです。ロボットの場合、それで十分かというとそうではありませんね。自分の重さを支えるだけで精一杯では、自由に動き回ることはできません。つまり、それぞれの関節を、好きな時間内に好きな位置まで動かせないと意味がありません。では、自由に関節を動かすためにはどれくらいのトルクが必要になるのでしょうか。姿勢を維持するために必要なトルクに加えて、いったいどれくらいのトルクを見込んでおけば良いのか、について考えてみましょう。


204−1.直線系での運動方程式

 

中学校くらいの理科で以下のようなことを勉強しているともいますが、憶えていますか?

質量M [Kg]の物体をF [Kg・f]の力で押しつづけると、物体はa [m/s2]の加速度で動くというものです。これらの関係を式に表すと、

 F = M a 

という関係になります。これがニュートンの運動の第2法則で、運動方程式というとこれを指すのだと思います。力弥はすっかり頭から抜け落ちていましたが、皆さんは如何でしょうか。(物体を動かす時の摩擦は無いものとします。)

F = M a という関係式は、単純に言うと以下の2つの事実を示しています。

 1.重いものを動かそうとするほど、大きな力が必要になる。

 2.早く動かそうとするほど、大きな力が必要になる。

言われてみれば当然のことで、私たちが感覚的に承知していることですが、それらを定量的に扱うための重要で基本的な式です。特に今回は、「早く動かそうとするほど、大きな力が必要になる」という点について考えて見たいと思います。

 

■加速度 a とは...

よく、「この車は加速がいいねえ」などと言います。こう言われた時私たちは、「短時間のうちにより速いスピードに達することができる車だ」と理解します。

左図は、車が青信号でスタートしてから時間の経過と共にスピードがどう変化したかをグラフにしたものです。グラフでは10秒後時速50Km/hに達するような一定の加速をしています。この時の加速度はいくらになるのでしょう。

先ず、時速50km/hという速度は、50Km/h = 50,000m/3,600s = 13.9[m/s]より、秒速13.9m/sです。

スタートしてから10秒間で秒速13.9m/sの速度の達したので、その加速度 a は、

 a = V/T = 13.9/10 = 1.39[m/s2]

と計算でき、グラフの傾きの大きさに相当します。

しかし、この計算の仕方は、加速度というものの本質からは外れています。グラフでは常に一定の加速度で加速しているため、結果として間違いではありませんが、正解ではないのです。

実際に車が加速していく場合、全く直線的に加速するわけではなく、例えば左図のグラフのように速度の増え方は一定ではありません。つまり、時刻 t1 の時の加速度と、時刻 t2 の時の加速度は違うのです。

「でも、結局10秒後の速度は時速50Km/hなんだから、別に問題ないじゃん!」などと思ってはいけません。スタート1秒後に時速50Km/hに達してそのままの50Km/hの速度で走りつづけた車と、上のグラフのように一定の加速度で時速50Km/hに達した車とでは、必要なパワーも、実際に10秒間で走りぬける距離も違います。

加速度を考える場合は、時々刻々と変化する様子を捉えなければなりません。つまり加速度は、観測したい瞬間の微小な時間(Δt)における速度の変化(ΔV)を持って表すのが本当だということになります。Δはデルタと読み、変化量(偏移量)を示します。

これを「速度を時間で微分すると加速度が求まる」といい、ある時刻での加速度は、その時刻でのグラフの接線の傾きで表されるということになりますが、ここでは詳しい解説は省略します。速度や加速度についてちょっと勉強を進めると、微分、積分の知識が必要になりますが、中学生以下の方々や、学校を卒業して暫く経つ方々には難しく感じる分野ですね。普通は「一定の加速度」という条件のもとで、先に紹介したような直線的なグラフで論じる場合も多く、その場合には最初に示した加速度の算出方法でも代用できます。

【先頭に戻る】

 

■加速度 a と速度 v と移動距離 L の関係

 

加速度 a とは、微小時間Δtにおける速度の変化量Δvで、その関係式は以下の通りでした。

加速度 a = Δv/Δt ......式1

 

では、速度 v とは何かというと、微小時間Δtに移動した距離ΔLで、その関係式は以下の通りになります。つまり、横軸に時間t、縦軸に移動距離Lをとったグラフを描いた場合、そのグラフの傾きが速度であるということになります。

速度 v = ΔL/Δt........式2

 

さて、上の式1Δv を、式2ΔL/Δtと書き換えると、

加速度 a = (ΔL/Δt) x (1/Δt) となり、

加速度 a = ΔL/Δt2 になります。

 

これをΔLについて書き直すと

移動距離ΔL = aΔt2 であり、単純に書くと

移動距離L = at2 となります。

 

つまり、加速度が一定であれば、その移動距離は時間の二乗に比例するという関係になります。以下は、その関係を表すグラフです。

時刻ゼロから一定の加速度を与え続けると、速度は一定の割合で増加します。その時、移動距離は二次曲線で「うなぎ昇り」に大きくなります。距離グラフを、横軸を中心に反転させて下向きのグラフに書き換えると、ちょうど物体をビルから投げたときの軌跡である放物線と相似の曲線になります。ビルから投げられた物体は、地球の引力によって9.8[m/s2]の重力加速度を受けて、「うなぎ昇り」に落下速度を早めて行きますが、それと一緒です。

【先頭に戻る】


204−2.スムーズな加減速とは

 

F = M a という関係式から、動かそうとする物体の重さと目標とする加速度が分かれば、加えるべき力が計算で求まることが分かります。

前項の距離グラフの二次曲線を見てください。ここでは加速度を一定にしているためは定数として扱うことができます。なので移動距離Lは、L = at2という時間の関数で表されます。つまり、力を加え始めてから何秒後に、物体がどこまで移動するかということが予測できるということを示します。これは逆に、物体を何秒間で何センチ移動させるためには、どれくらいの力を加えればよいか、ということも計算で求まることを示します。ちなみに、前者を動力学、後者を逆動力学と呼び、ロボット工学で重要な学問のひとつになっています。

 

上のグラフを見てください。

これらは、逆動力学的な考えにより、移動させたい物体の動きを「距離グラフ」で計画し、それを実現させるために必要な加速度はどうなる?というのを右から左に順に考えたものです。

 

■「距離グラフ」を見てください。

時間の経過と共に一定の速度で目標位置に近づき、目標位置に到達したら停止するという計画を立てています。グラフを見る限り、別に不自然なところも無く、問題ないように思えます。

 

■「速度グラフ」を見てください。

計画の段階で「一定の速度で目標位置に近づき」とあるように、計画の距離グラフを実現するためには、移動の始めから終わりまで一定の速度を維持する必要があり、このような四角いグラフとなります。「あ、そう。じゃあそうすればいいじゃん」と言われそうですが、そこが問題になります。

 

■「加速度グラフ」を見てください。

上記の速度グラフを実現させるためには、このように上下にヒゲとなるような突発的に過大な加速度が必要となります。なぜでしょう。

もう一度速度グラフを見ると、速度ゼロだったものを移動開始直後にいきなり所定の速度にしています。この加速に要する時間をゼロにするのは不可能です。時間軸を100倍に伸ばして見直してみると、マルで囲っているように僅かながら時間を要していることでしょう。a = Δv/Δt という関係式がありました。短い時間に大きな速度変化があるほど加速度の値は大きくなります。今回は特にΔtの値が非常に小さく、逆にΔvの値が非常に大きいため、実際に必要となる加速度は非現実的な数値になることでしょう。

これは目標位置に到達して停止させる時ににも同じことが言えます。これはまるで自動車の衝突実験と同じ事を計画しているということになります。

 

もう一度おさらいです。F = M a なので、必要な加速度が非現実的に大きな値の場合、必要な力Fの大きさも非現実的になるということです。つまり、上のグラフのような計画には理論上無理があるということになります。しかし、実際には上図の距離グラフのような計画を立てる場合が少なくありません。サーボだったらいきなり全開で動かし、急停止する、という簡易的な制御です。もちろんサーボのトルクは有限ですので全く計画通りの動きはしませんが、近似的にガクガクっとした動作になります。

このように、ガクガクとした動きはロボットの代名詞のようになっています。ロボットの物まねをしろと言われれば、そのような動きをしてみせることでしょう。しかしスムーズな動きというものからは程遠いものです。そこで、以下のようなグラフになるように工夫します。

 

 

■「距離グラフ」を見てください。

計画では、t 秒間で目標位置に移動させるために、始めはゆっくり動き出して、t/2秒後に最大の速度になるように加速を行います。そして減速しながら目標位置で停止するというものです。これは二次曲線が2個組み合わされたグラフになっています。これならガクガクっとした動きにはならず、スムーズな動きになりそうです。

 

■「速度グラフ」を見てください。

「距離グラフ」でご説明した通り、t/2秒後に最大の速度に達するように直線的に加減速を行っている様子です。「直線的に」という通り、一定の加速度で加減速を行っています。

 

■「加速度グラフ」を見てください。

加速時にはプラス方向(上向き)の加速を行い、減速時にはマイナス方向(下向き)の加速を行っている様子です。加速度は一定の大きさですので、F = Ma より加えている力も一定であることが分かります。また、今回はt/2秒という大きさを持った時間で加速するため、Δv/Δtで表される加速度aも、前の事例よりも小さくて済みそうです。

 

このように、物体(やロボットの関節など)を無理なくスムーズに動かそうとする場合には、加減速がうまく行えるような計画を立てる必要があります。そして、それはサーボやモータなどの動力系にもやさしい動きであると言えます。

【先頭に戻る】


204−3.F=Ma 加速力簡易計算ツール

 

さてここで、Microsoft Excelを使った自動計算ツールをご紹介します。

ツールでは、前項でご紹介している加減速で物体を移動させるために必要な加速度と力を計算する部分と、任意の時間間隔での速度変化を表に入力すると、移動距離、加速度および必要な力を計算してグラフ表示してくれる部分からなります。

ここをクリックするとExcelファイルがダウンロードできます。feqma.xls

Microsoft(R) Excel2000で作成しています。他のバージョンでの動作は検証していませんので、ご了承下さい。画面は以下のようになっています。

 

 

■標準的な加減速条件での計算

物体の重さと、移動させたい距離と時間を入力すると、必要な加速度と力を計算して表示します。これは、「移動時間」で指定した時間の1/2の時間の時に最大速度となるように加減速を行った場合を条件としています。この部分は、右に表示されるグラフとは無関係で、ただ単に計算してくれるというだけのものです。

 

■時間と速度の変化から加速度/移動距離/力を計算する

下半分の表示のピンクの領域に、好きな時間間隔とその時の速度を入力すると、時間間隔をΔtとして加速度と移動距離と必要な力を計算してくれるものです。ここの計算結果がグラフに表示されます。変則的な速度変化にともなう加速度や力を見て見たい時に利用できます。

 

パラメータの入力は、オレンジとピンクの領域のみでOKです。下半分の大部分を占めるピンク以外のセルには、各種の計算式が入力されているので、間違って消したり上書きしたりしないように注意して下さい。

角度入力の行数は、勝手に増やしたり減らしたりしてもかまいません。増やす場合には、各セルに入力されている計算式もコピーして下さい。

【先頭に戻る】


204−4.回転系での運動方程式

 

今までお話してきたのは直線運動上でのことでした。これをロボットの関節にそのまま使えるかというとそうも行きません。それは、ロボットの関節は普通直線運動ではなく回転運動によるものだからです。では、回転運動における加速度や必要トルクはどうなるのでしょう。

質量M [Kg]の重りが回転軸からL [m]の距離に取り付けられた機構が机の上に置かれており、左の図は机を真上から見たものとします。

静止している重りを、回転軸に力を加えて動かそうとした場合に感じる重さを慣性モーメント [Kg]とし、実際に動かす時の角加速度をα[rad/s2]、その角加速度で動かすために必要なトルクをτ[Kgfm]とします。

※お詫び

左図に表している τの単位について、正確にはどのように表記して良いか分かりませんでした。以下の記事中には左図の単位で記載しておきますが、どなたかご指導頂けるれば修正いたします。m(_ _;mスミマセン

■慣性モーメントとは...

左の図は、上が大きな玉がひとつで、下がその半分の重さの玉が2個棒に取り付けられているものです。つまり両方とも同じ重さです。両方とも重心は赤い点にあり、重心を軸としてコマのようになっていて摩擦なく回転できる構造になっています。

さて、両方の重さは同じであるにもかかわらず、コマの軸をつまんで廻そうとしたとき、上のコマよりも下のコマのほうが重く感じます。この時に感じる重さが慣性モーメントです。つまり慣性モーメントは形状によって決まると言えます。慣性モーメントは回転軸から質点(重さがある部分)までの距離が長いほど大きくなり、その関係式は

  慣性モーメント I = ML2 です。

つまり、質点の重さに回転軸からの距離の二乗を掛けた分の大きさになります。

フィギュアスケートの選手が高速ターンをする場合、両腕を広げずに胸元に縮めて廻るのは、この慣性モーメントを小さくして回転し易くしているためです。

 

■回転系の運動方程式

 

直線系での運動方程式は F=Ma でした。回転系でもこれと同様の考えに基づき、

 回転トルクτ = Iα 

という関係式で表されます。

ここで、αとは角加速度のことで、回転スピードの加速度という意味で単位は[rad/s2]です。つまり回転に必要なトルクは、回転軸から見た質点の重さ(慣性モーメント)と、回転の加速度を掛けた値ということであり、直線系の運動方程式と同じ考えてあると言えます。上のトルクの式は、以下のようにも掛けます。

 回転トルクτ = ML2α

 

■角度を表すラジアンという単位

 

さて、さきほど角加速度の単位は[rad/s2]であると言いました。回転角度の加速度だったら[度/s2]じゃないのか?などと思いますが、いったいradってなんでしょう。これはラジアンというもので、角度を表す単位です。ただし、単に「角度」を表すだけのものではありません。

左の図は半径が1の円単位円)です。円周の長さの計算式は2πrでした。今回は半径が1なので、円周の長さは2πです。

ところで円周とは、ぐるっと円を360度ひと回りした長さを表しているので、360度を2πと言い換えることができます。同様に、180度ならπ90度ならπ/2です。度と円周上の長さは以下の関係式が成り立ちます。

 円周上の長さ = 2πx(度/360)  ただしπ = 3.14........

つまり、単位円の円周上の長さによって対応する角度を表現しようとするもので、これをラジアン[rad]と言います。

ラジアンのえらいところは、角度を表す単位でありながら、その値は長さを表しているというところです。「毎秒π/2ラジアンの回転速度だ」と言われたら、毎秒90度の回転速度で、質点が半径20cmの位置にあれば0.2xπ/2 = 31.4センチだけ移動するということが簡単に分かります。

 

■角加速度 α と角速度 ω と回転角度 θ の関係

 

角加速度 α とは、微小時間Δtにおける角速度の変化量Δωで、その関係式は直線運動と同じように以下の通りとなります。

角加速度 α = Δω/Δt ......式1

 

では、角速度 ω(オメガ) は何かというと、微小時間Δtに回転した角度Δωで、その関係式は以下の通りになります。つまり、横軸に時間t、縦軸に回転角度θをとったグラフを描いた場合、そのグラフの傾きが角速度であるということになります。

角速度 ω = Δθ/Δt........式2

 

さて、上の式1Δω を、式2Δθ/Δtと書き換えると、

角加速度 α = (Δθ/Δt) x (1/Δt) となり、

角加速度 α = Δθ/Δt2 になります。

 

これをΔθについて書き直すと

回転角度Δθ = αΔt2 であり、単純に書くと

回転角度θ = αt2 となります。

つまり、角加速度が一定であれば、その回転角度は時間の二乗に比例するという関係になり、

204−2.スムーズな加減速とはでご紹介した直線運動での加減速グラフが適用できます。

 

回転トルクτ = ML2α

という関係式があることから、(質点の重さ)と(質点までの距離)が物理的に決まっていれば、必要な回転トルクは角加速度αの大きさに比例することになります。同時に、質点までの距離の二乗に比例して大きな回転トルクが必要になるということも重要な事実です。

 

■念のため

回転トルクの計算に用いている重心までの距離とせずに質点までの距離としてご紹介しました。■慣性モーメントとは...でご紹介している大きな丸い玉のコマは、重心を軸として回転します。回転トルクの計算に使う重心までの距離として計算してしまうと、慣性モーメントはゼロになってしまいますが、そんなことはありません。

丸い玉のコマには直径の範囲内全てに質量が存在します。つまり、回転軸を中心として微小な質量が散在していると考えます。この微小な質量による慣性モーメントをコマの直径の範囲内全てにおいて計算して足し合わせることによって、コマ全体としての慣性モーメントが計算できます。つまり積分計算が基本です。なので簡易的にはOKですが、重心だけをもとに慣性モーメントを計算すると、形状と回転軸の関係によって大きな誤差を生じることになることだけは頭に留めて置いてください。(ここでは良しとしていますが...)

【先頭に戻る】


204−5.τ=Ia 加速トルク簡易計算ツール

 

さてここで、再びMicrosoft Excelを使った自動計算ツールをご紹介します。

ツールでは、回転系における加減速で物体を回転移動させるために必要な角加速度とトルクを計算する部分と、任意の時間間隔での角速度変化を表に入力すると、回転角度、角加速度および必要な回転トルクを計算してグラフ表示してくれる部分からなります。

ここをクリックするとExcelファイルがダウンロードできます。teqia.xls

Microsoft(R) Excel2000で作成しています。他のバージョンでの動作は検証していませんので、ご了承下さい。画面は以下のようになっています。

 

■標準的な加減速条件での計算

物体の重さと、回転軸から動かす物体の重心までの距離、移動させたい角度と所要時間を入力すると、必要な角加速度と回転トルクを計算して表示します。これは、「回転時間」で指定した時間の1/2の時間の時に最大速度となるように加減速を行った場合を条件としています。この部分は、右に表示されるグラフとは無関係で、ただ単に計算してくれるというだけのものです。

前項の■念のため....慣性モーメントを求めるのに重心までの距離は使わないと言いましたが、今回はロボットのヒジを回転軸として前腕部を動かすような場合をターゲットとしています。なので、質量の欄には前腕部全体の重さ、重心までの距離には、ヒジから前腕部の重心までの距離を入力してください。

なお、計算結果のトルクの単位は[Kg・cm]に換算しています。これはサーボモータなどでよく使われる単位です。実は[Kgf・cm]と表記すべきなのかどうか悩みましたが、勉強不足のため確証がありません。どなたかご指摘頂ければ助かります。m(_ _);m

 

■時間と角速度の変化から角加速度/回転角度/回転トルクを計算する

下半分の表示のピンクの領域に、好きな時間間隔とその時の角速度を入力すると、時間間隔をΔtとして角加速度と回転角度と必要な回転トルクを計算してくれるものです。ここの計算結果がグラフに表示されます。変則的な角速度変化にともなう角加速度や回転トルクを見て見たい時に利用できます。

 

パラメータの入力は、オレンジとピンクの領域のみでOKです。下半分の大部分を占めるピンク以外のセルには、各種の計算式が入力されているので、間違って消したり上書きしたりしないように注意して下さい。

角度入力の行数は、勝手に増やしたり減らしたりしてもかまいません。増やす場合には、各セルに入力されている計算式もコピーして下さい。

【先頭に戻る】


さて、201〜203のページでご紹介してきた姿勢維持のためのトルクに加えて、今回の動かすためのトルクというものも考慮すれば、実際にロボットの各関節に必要となるトルクが見えてくるのではないかと思います。

このような記事を書いていると、自分自身の勉強不足を痛感します。なにせ学校で勉強してきたことが全然頭に残っていないのですから...(- -; 現在物理学やロボット工学などを勉強されている学生さんなどから見ると、今回の記事は稚拙で間違いだらけだ!と言われるかもしれませんが、そう思われたときには是非、躊躇なく御指摘下さい。間違った情報を公開し続けることほど恥ずかしいことはありません。(^^;;

書籍類や解説書などを見ていて一番足りないと感じるのは、関係式は載っていても単位が明記されていないことが非常に多い点です。 実際に式を用いて計算した結果を実用に使おうとすると、単位というのが非常に重要になります。単位はその数値の意味を表すものだからです。その点で、今回の記事はあいまいな部分を多く残していますのでご注意下さい。

しかしあえて公開するのは、ロボット製作を前提として簡単に噛み砕いた解説が少ないと感じるからです。本屋さんで色々な書籍を立ち読みしても、どれも難しいことが難しく書かれており力弥には簡単には理解できません。ここで公開しておいて、指摘によって少しずつでも正確な情報になればと願っています。(無責任ですみません...)

 

【アクチュエータ編TOPに戻る】


【表紙に戻る】