- 締切済み
マニピュレータの力-トルク変換
現在ロボット工学を独習している者です。 回転関節のみとすると、 マニピュレータの関節におけるトルクτと 手先に働く力Fの間には、 τ=(J^T)F の関係があると手持ちの参考書「絵ときでわかるロボット工学」 に載っていました。 また、仮想仕事の原理を用いて証明も載っていて、 それも納得できました。 仮想仕事の原理を用いてこの関係を導いたことから、 僕はこの関係式を 「手先に加わった力Fとそれとつりあうトルクの関係式」 と解釈しているのですが、 同参考書の後半で、 「手先で発生する力とそれを発生させるために必要なトルクの関係式」 として使われていました。 仮想仕事の原理はつり合いの条件を求めるものなので、 後者の考え方は間違っている気がするのですが、 (1)上記関係式は結局何を表しているのか (2)上記関係式を導くのに仮想仕事の原理を用いるのは正しいのか をどうか教えてほしいです。 よろしくお願いします!!
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- my3027
- ベストアンサー率33% (495/1499)
(1)はそうであれば数学的には問題ないと思います。 (2)釣り合いの式というのは「大きさが同じで向きが逆もの」が釣り合っているという事です。 >前者の場合、「手先に加えられた力Fによる関節軸まわりの >モーメント」と「負荷トルク」の向きは同じ方向で、 >どちらの考え方でもFとτがともに同じ方向となるので、 >これらの力が釣り合うことは無いと思うのですが・・・ 両者が同方向という事は、左辺なりにまとめた時同符号という事ですよね?ですので(J^T)の前に-をつけて、和を0にしています。そうすれば(τ-(J^T)F=0)で負荷トルクから手先に加えられたFによるモーメントを引くと、大きさも向きも同じものの差を取るので、結果0となり両トルクが釣り合ってるとも考えられると思いますが。。この辺はマルチボディダイナミクスのケイン方程式の基本的な運動方程式の見解となっている考え方です。
- my3027
- ベストアンサー率33% (495/1499)
1)式の仮想変位からの導出ですが、考え方はいいと思うのですが素直に代入すると τΔθ=JΔθFでΔθは0でないから τ=JF でヤコビアンの転置になりません。Jが対称行列ならJ=J^Tですが。。 2)手持ちの参考書では仮想仕事の原理を用いて証明しているのですが、 仮想仕事の原理はつり合いの条件を導くもので、 今はマニピュレータの手先の力Fとモーターのトルクτの 関係を見ているだけで、別につり合っている状況を考えてはいないので 仮想仕事の原理は使えませんよね? >τ=(J^T)Fの式を「手先に加えられた力Fとそれによって発生する負荷トルク(モーターに加わってしまうトルク)τが釣り合ってる関係式」 又は「可動トルクτとそれによって発生する手先の力Fが釣り合っている関係式」と見る(τ-(J^T)F=0)と見ると、仮想仕事でもいいと思います。
- my3027
- ベストアンサー率33% (495/1499)
「力Fにより発生するトルク」というのはどういうことですか? 力Fが加わって、それに対抗するためにモーターが発生させなければ ならないトルクとは違うものですか? >「Fにより発生するトルク」とは大きさは同じでモーターと逆向きなトルクです。 >Fで「発生する」トルクの向きを+とすると、 これがよくわかりません。僕の考えだと作用を受ける側と作用する側 どちらの立場で考える場合もトルクの向きは反時計方向を正としています。発生するトルクと発生させるトルクで符合を変える理由はなぜですか? >発生するトルクとは「負荷トルク」です。発生させるトルクとはモーターからの「可動トルク」です。両トルクの大きさは同じで向きが逆です。 トルクの符号がモーターの役割(トルクが発生する、もしくは発生させる)で逆にする必要はなく、トルクの符号は反時計方向を正とする、 それで良いと思うのですが・・・。 >符号をモーターの役割で分けているのではなく、「負荷」と「可動」させるトルクの方向は逆になるという事を書きました。
お礼
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! そういうことですか!!!!!!!!!!!!!!!!!!!!!!!! 分っかりましたぁ!!!!!!!!!!!!!!!!!!!!!!!!! 死ぬほどありがとうございました!!!!!!!!!!!!!!!!!! 本当に丁寧に教えてくださってありがとうございます!!! 3日悩んでここで質問して、って感じだったんでめちゃめちゃ 分かってうれしいです!!!!!!! ということは τ=(J^T)Fは 「手先に加えられた力Fとそれによって発生する負荷トルク(モーターに 加わってしまうトルク)τの関係式」 と 「可動トルクτとそれによって発生する手先の力Fの関係式」 の2つを表すことができるってことですね! すいません・・・最後に1つだけ質問させてください! この式の証明ですが、 「モーターのする仕事はτΔθとなる。 モーターのトルクτを手先で発生する力Fに 置き換えると手先のする仕事はFΔxとなる。 これらは同じものであるから τΔθ=FΔx が成り立つが、ヤコビアンの定義よりΔx=JΔθが成り立ち これを代入すると τ=(J^T)Fを得る」 でよろしいですか? 手持ちの参考書では仮想仕事の原理を用いて証明しているのですが、 仮想仕事の原理はつり合いの条件を導くもので、 今はマニピュレータの手先の力Fとモーターのトルクτの 関係を見ているだけで、別につり合っている状況を考えてはいないので 仮想仕事の原理は使えませんよね?
- my3027
- ベストアンサー率33% (495/1499)
言葉の定義によるベクトルの正負の向きがゴチャゴチャになってると思います。まず手先に力Fが「加わる」場合を+、Fで「発生する」トルクの向きを+とすると、 τ=(J^T)Fを 「手先に加わった力Fとそれとつりあうトルクの関係式」 と解釈すると F=Rを代入して、必要なトルクτは τ=(J^T)R・・・(※) となります。 >これは「釣り合うトルク」ではなく、「力Fにより発生するトルク」です。 τ=(J^T)Fを 「手先で発生する力とそれを発生させるために必要なトルクの関係式」 と解釈すると、 マニピュレータは加えられたRと逆向きな力-Rを 手先で発生させなければならないため、 F=-Rとして τ=-(J^T)R となり、(※)と一致しません。 >これは-Rを反力として「発生させる」トルクですから、上記の正負定義から場合1と逆向きのトルクが発生する事になります。2つの解釈は作用を受ける側と、作用する側の立場といえます。 力の作用反作用という概念を勉強してみて下さい。
お礼
回答ありがとうございます! 「力Fにより発生するトルク」というのはどういうことですか? 力Fが加わって、それに対抗するためにモーターが発生させなければ ならないトルクとは違うものですか? >Fで「発生する」トルクの向きを+とすると、 これがよくわかりません。僕の考えだと作用を受ける側と作用する側 どちらの立場で考える場合もトルクの向きは反時計方向を正としています。 発生するトルクと発生させるトルクで符合を変える理由はなぜですか? トルクの符号がモーターの役割(トルクが発生する、もしくは発生させる) で逆にする必要はなく、トルクの符号は反時計方向を正とする、 それで良いと思うのですが・・・。 それと、いろいろと答えてくださって本当にありがとうございます!
- my3027
- ベストアンサー率33% (495/1499)
J^Tはヤコビアンの転置なんですね。私のアドバイスとしては、 (1)式の解釈は質問者さんの方が素直な解釈だと思います。但し、参考書後半記載の解釈も間違いではない。例えばF=maは「外力は質量mに加速度aを発生させる」という動的解釈ですが、ダランベールの原理から式をF-ma=0と書き換えると「外力と質量にかかるみかけの加速度による力の差は0になる」という静的解釈になります。同様に上式も解釈によって上述の2つの解釈が出来ると思います。 (2)仮想仕事の原理は、釣り合いの式を簡単に求める事が出来るので方法的には正しいでしょう。他の方法ももちろんありますが、(1)で解説したように式を静的と見るか動的と見るかは解釈次第ですから。
お礼
回答ありがとうございます!! どちらの解釈の仕方も合っている、ということなんですが、 そうすると例えば 「マニピュレータの手先に力R(ベクトルとします)が加わったとき、 マニピュレータが静止するためにはどれだけのトルクτが必要か」 という問題を考えるとします。 このとき、 τ=(J^T)Fを 「手先に加わった力Fとそれとつりあうトルクの関係式」 と解釈すると F=Rを代入して、必要なトルクτは τ=(J^T)R・・・(※) となります。 しかし、 τ=(J^T)Fを 「手先で発生する力とそれを発生させるために必要なトルクの関係式」 と解釈すると、 マニピュレータは加えられたRと逆向きな力-Rを 手先で発生させなければならないため、 F=-Rとして τ=-(J^T)R となり、(※)と一致しません。 これらはもちろん一致しなければならないと 思うのですが、どこで考え違いをしてるのでしょうか・・・。
- my3027
- ベストアンサー率33% (495/1499)
τ=(J^T)F 上式でJとTは何でしょうか? 次元解析するとτ:N*m なので(J^T)はmだと思いますが、Jは慣性モーメントだと思いますが・・・。
補足
すいません説明不足でした! Jはヤコビアンです!
お礼
本当に返信ありがとうございます!! 1) すいません!僕が間違ってました! Fとτはベクトルなのでそれぞれがする仕事は (τ^T)Δθ=(F^T)Δx と表されて(転置が抜けていました・・・)、 Δx=JΔθより (τ^T)Δθ=(F^T)JΔθ ⇔(τ^T)=(F^T)J ⇔τ=(J^T)F でした!! これは正しいでしょうか? 2)τ=(J^T)Fの式を「手先に加えられた力Fとそれによって発生する負荷トルク(モーターに加わってしまうトルク)τが釣り合ってる関係式」 又は「可動トルクτとそれによって発生する手先の力Fが釣り合っている関係式」と見る(τ-(J^T)F=0)と見ると、仮想仕事でもいいと思います。 >前者の場合、「手先に加えられた力Fによる関節軸まわりの モーメント」と「負荷トルク」の向きは同じ方向で、 後者の場合、「可動トルク」と「それによって発生する手先の力Fの 関節軸まわりのモーメント」は同じ方向となりますよね? どちらの考え方でもFとτがともに同じ方向となるので、 これらの力が釣り合うことは無いと思うのですが・・・