平行リンクのトルク 考察
夏期講習で久々に暇ができたので書いてます、realteckです。遅くなってスミマセン。
前回のばねの記事を書いたところ、平行リンクのトルクの考え方に予想以上の反応があったので、図を交えつつ考察していきたいと思います。
※今回も私の考えであって、特に近似の仕方を大きく間違えていると思います。参考程度にご利用を
※以下の項目においては静的状態、静的トルクを対象として考察しています。
動的トルク(歩行時、急激な運動時)は含まれませんので予めご了承下さい。
とか言いつつ最初はトルクの定義の説明です。最後の方では安全率の話も書くつもりです。
はじめに、本来のトルクの意味とは高校物理で言うところの「回転軸回りの力のモーメント」です。
ロボットサーボや機械工学で示すところのトルクは、単位長さあたりのモーメントを表します。
例えばサーボのkg・cmというのは、回転軸から作用点(力が作用する点)までの距離が1cmであるとき、何kgの力を出せるか、つまりどれぐらいの力が出るのかを示す単位になります。ただ、回転軸から作用点までの距離は常に1cmとは限らないので、この関係を変形することになります。
例えばあるサーボのトルクをN(kg・cm)とし、回転軸から作用点までの距離をL(cm)、作用点において発生させる力をM(kg)とします。このとき次の式が成り立ちます。
N(kg・cm)=M(kg)*L(cm)
また作用点における力の大きさだけを求めたいなら
N(kg・cm)/L(cm)=M(kg)となります。
わかりにくい説明なので、そもそものモーメントを知りたい人はwiki→リンク
それでは、実際にサーボにL(cm)のアームを付け、その先にM(kg)の物体をつけてみましょう。
(以下サーボ回転軸と重量物をつなぐフレームをアームと書きます。)
上の図において、サーボの必要トルクは MLcosθで表せます。
(MLcosθの意味は割愛させて頂きます。高校の物理の参考書を見ればたぶん分かる。)
重心位置がアームの先端にありますが、これは重心位置が問題なのではなく、図におけるアームの先端にかかる重さ(縦方向の力)さえ変わらなければトルクは同じだという意味です。
ではこのサーボに最も力がかかるのはいつでしょうか?正確にはこのサーボの必要トルクが最大になるのはいつでしょうか?ロボットの膝サーボに見立て、0°(アーム真横)~90°(アーム垂直)の範囲で考えていきます。
cosθ最大のときですから、明らかに0°のときですね。
つまりアーム先端への重さが変わらなければ、膝のアームが真横になったとき、すなわち屈伸したときが最もトルクが必要なわけです。
仮にシリアルリンクでアームが真横より下に動く機構でも、最大は真横のときです。(cosθの値より)
余談ですが、アーム先端への重さ(縦方向の力)が変わるときは重心位置が図の横方向にずれるときで、そのときはアーム(の延長線上)に垂直に重心位置を下ろしてあげて下さい。そしてその点までのアームの長さ、重さとcosθを掛ければトルクが出ます。つまり横方向の重心位置の変化は、アームのおもりの位置を変えているのと同じような事と捉えられます。
例えばあのおもりが左斜め上方向に長く伸びていて、垂直に下ろした重心位置がサーボ回転軸上であれば、サーボの必要トルクは理論上0になります。
とまあ舌っ足らずですね。
これは需要が一人でもあれば図解しますんで、知りたい人はコメントでも残して下しあ。
さて、それではシリアルリンクにおける膝サーボの静的トルクはどうなのか。
先ほどのおもりとサーボの図をそのままこの図に当てはめて考えて下さい。注目するのは膝サーボ(赤実線の◯があるサーボで、3つのうち真ん中にあるサーボ)です。
仮に足に重量がなく、ロボット胴体の重心位置(赤点線の◯)が足ピッチすべてのサーボにおいて共通だと考えると、理論上は大腿ピッチと足首ピッチの必要トルクはありません。
そして、胴体の重心位置が横方向にずれることがなければ、膝にはcosθの大きさを掛けたトルクが必要なわけです。もう180°屈伸で膝の必要トルクが最大になるのは、一番右の図から明らかですね?
ここで先ほどの余談の話が出てきます。実際には足には重量があるわけで、各々のピッチのサーボにおいて(そのサーボ回転軸より上の部分の)重さと重心位置が変わってきます。膝サーボにおいてはアーム重量を加味すれば重心位置は図において若干左寄りであり、足首ピッチにおいては加えて1サーボ(膝ピッチ)分の重量が増えます。
さて、本題の平行リンクです。
左2つの図は、平行リンクを屈伸させる過程の図です。
赤実線の◯はサーボ回転軸を表しますが、各々の4つの必要静的トルクがわかりません。
そこで一番右の図のように考えてみます。つまりダブルサーボのシリアルリンクです。
真ん中の赤いアームが平行リンクの中間に描いた仮想のアームになります。
前の図では膝サーボが1つでしたが、ダブルサーボでは膝サーボの部分を単純に足したトルクで考えていいと思います。つまり、同じ角度、重心位置、重さだとすると、必要トルクは膝1サーボの場合の半分でいいと考えるわけです。そう考えると、平行リンクの膝サーボ部分も同じように膝の上下のダブルサーボのトルクを足したものと考え・・・たいところですが、これでは足首や大腿ピッチのトルクがわかりません。
そこでさきほどと同様に大腿ピッチと足首ピッチの必要トルクを0と考え(注意:根拠の無い近似です)、さらに前回の記事から、膝にかかるトルクを平行リンク内のサーボトルクを合計した数値と考えています(注意:これも根拠の無い近似です)。まあ前回書いた考えに至るには、こうした過程がありました。
さて、先ほど180°屈伸がトルク最大と述べましたが、平行リンクでもそれは同じであり、180°屈伸においての必要静的トルクを満たせれば、急激な運動でない限り平行リンクで屈伸が出来るというわけです。
単純な屈伸であれば、膝にトルクが集中し、足ピッチのサーボ数が同じ4つでも、平行リンクはダブルサーボの倍出せると考えています。この辺は実際に試してみたいところです。
ただ、だからなんでも平行リンクがいいというわけではなく、平行リンクは各々のサーボの動作同期が取りづらいデメリットがあります。逆にシリアルリンクは自由度の多さなどのメリットがありますし、そのあたりは個人でメリット・デメリットを考えて欲しいです。
昨今の低トルク低価格サーボみたいに、トルクを集中させないといけないものは、有効かもしれません。
安全率について
※以下複数のビルダーさん、及びロボットの名前を出します。無許可でスミマセン。ご了承下さい。
さて、ここまでの近似が数値的にも考えやすいのか、複数のロボビルダーの方から前記事を紹介して頂きました。前回はここで実際のロボットの数値を当てはめて考えてみましたが、今回は自重させて頂きます。
もっとたくさんの個人のロボビルダーの方々が細かな機体データ公開して、サンプルデータとして使っていいよってしてくれると、もっと参加者の裾野を広げられるのかなと思います。
おっと本題から外れかけましたが、その機体データを使って「安全率」という言葉を使いました。
この言葉を知ったのは、ROBO-ONE委員会の「進化する二足歩行ロボットの作り方」という書籍内において、関西の赤い皇帝ことキングカイザーの丸さんが執筆なさっていたのを読んだのがきっかけです。丸さん曰く、設計現場においては1.5~2.5(150%~250%)で用いられることが多いそうです。
安全率という言葉は機械や住宅設計の業界では頻繁に使われる言葉で、「システムが破壊などされる最小の負荷と、システムを安全に利用できる最大の負荷との比(前者÷後者)のこと(by wiki)」だそうです。
ここでは「(これを超えると壊れる)サーボの保持トルク÷(運用においての)必要トルク」とします。
では、なぜ私は安全率という考えに賛同しているか。
一番最初の図を思い出してみて下さい。サーボでおもりを持ち上げました。おもりが真横にあるときの必要トルクを満たせれば理論上は動くと私は書きました。
でも果たしてスムーズに動くでしょうか?あるいは、それは多少無理できる設計でしょうか?答えは否だと私は強く思っています。なぜならサーボパワーを減らす要因はいくらでもああるからです。つまり安全率100%での運用は難しいのです。
要因を例示してみると
・バッテリーの電圧降下→モーターのパフォーマンスは電圧に比例
・衝撃の存在→走ったり、転んだり、ロボットには自重以上の重量が(衝撃等の影響で)かかる。
・たわみ、摩擦の存在→フレームや可動部分はたわみや摩擦で力を逃がす。
があります。特に1、2番目は顕著だと思います。
1番目は大会でも稀に見かけます。バッテリーの電圧不足で起き上がれない、なんて光景はよくあります。
2番目も大きな要因です。大きなものとして第18回大会(新潟県新発田市)では、常連の前田さんの大きなオムニしばたんの膝のギアが歯飛びしました。またそうでなくとも、レグホーンのジオ・アサルトや、フロスティのバク宙も、見た目以上のパワーがかかっていると思います。
それでも故障しないために、減速ギアや長穴増速機構、メカロックや引張バネやサーボセイバーを用いたりと、トップを走るロボビルダーの皆さんは、見た目以上に多くの工夫をしていると思います。
そしてそんな対策をしても防ぎきれない領域(瞬間的なトルク不足や構造の強度不足)が当然存在することになります。それは実践でしか現れない部分です。
それがどれぐらいなのか、それは作ってみないとわかりません。でも作って直していてはかなりロスが多くなってしまいます。もちろん、最初は失敗もあると思いますが、ある程度予測できるといいわけです。
今まではあまり安全率といった言葉は使われず、「3kg級のロボットは40kg・cmのサーボだと十分に動ける」みたいに曖昧な部分がありました。しかし必要トルクを求め、それに安全率をかけてやれば、「膝サーボはもう少しトルクがいるな」みたいに、もう少し正確に作れるようになると思います。そして、そのマージンはできるだけ大きいほうがいいとは思いますが、程よい値で設計できればベストだと思います。
結論:自分のオススメは安全率200%です。←根拠はないけどw
もちろん、オーバースペックなロボットである分には問題はないと思いますが・・・。
補足:この安全率の考え方ですが、上の図において静的トルクですべてを計算したので急激な運動をするのであれば、正確には動的トルクを考察する必要がありました。ただ私の頭ではそこまで求めるのは困難であったため、動的トルクにおいて静的トルクとの間に生まれる差を補うためにも、安全率を使用しています。
ですが本来動的トルクを計算するのであれば、安全率は「サーボが耐えられるトルクの最小値÷動的トルクの最大値」で計算すべきです。この安全率の使用方法において、また考え方においてご指摘頂きましたので、私の意図(あくまで静的状態であること)を理解してもらうために補足させて頂きます。
ただトルク、安全率の定義は間違っていませんので誤解なきよう。
以下個人的な話
この記事だけに4日ぐらいかけていた希ガス、JWCADで図を作ったり、文献やらネット記事漁ったり。
説明口調なのは勘弁。自分でも治したいと思っているとこです。
ええと、今回も大いに間違えている部分があります。あくまで目安として、お使いください。
そしてこんなに長くなるとは・・・。全部読んでくれた人がいたら感謝です。
そしてROBO-ONEが近いのに更新遅れてスミマセン。膝のトルクで悩んでる方って多いんですよね。
予備校も夏期講習の中間で、センターまであと5ヶ月半、国立二次まで7ヶ月、あっちゅうまです。
質問やらコメントはバンバン受け付けております。ROBO-ONE近いし、ハード面で手助けできればと思います。
では以上(誤字はちょいちょい修正してるかもしれません。)
8/3 追記
複数の方からトルクを求める際の条件や、安全率の使い方にご指摘を頂きましたので、加筆修正いたしました。