4脚ロボットの関節(revolute joint)のトルク入力ができません。

こんにちは。私は現在、4脚ロボットのモデル化を行っています。revolute joint にトルクを入力するために、膝関節・腰関節を
revolute joint>Z Revolute Primitive(Rz)>Actuation>Torque→Provided by Input, Motion→Automatically Computed
に設定しました。しかし、どのトルクの値を入力しても、脚が真っ直ぐになるような同じ挙動になります。0を入力してもこのような動きをします。関節にはLimitを設けているのですがそのLimitを超えた関節角度になります。またエラーは出ていません。
試したこととしては、Simulink-PS Converter の単位をN*mに変えたり、入力の取り扱いを入力フィルター処理、微分の算出、2次フィルター処理に変更を行いましたが改善しませんでした。またシミュレーションが重かったのでソルバーをode15sに変更しています。以下にモデルのsimulinkを示します。
移動ロボットのtorque入力の際に気を付ける点やどこを直したらいいか教えてください。

4 Comments

参考情報になりますが、以下のデモモデルは確認されましたでしょうか。同じように、四足歩行ロボットにトルクを入力するモデルになっています。
啓太 鈴木
啓太 鈴木 on 2 Aug 2022
はい、このモデルを参考にsimulinkを作成していきました。Gait Phase部分と床との接触部分以外は同じような設定になっています。関節角度入力では動作するのですが、トルク入力では指令値に関わらず同じ挙動を示します。
Limitを超えているとなると、
・Revolute Jointの入力トルクが想定以上になっている
・Limitのトルクが小さい(or 角度設定に問題がないか)
・Internal Mechanismなど内力で過大な力がかかっている
など一つ一つあたっていく方針になりそうです。
啓太 鈴木
啓太 鈴木 on 3 Aug 2022
小林様のご指摘の通りInternal Mechanismの設定を小さくすることで、トルク入力の値に関わらず同じ挙動を示す現象が直りました。
ご回答ありがとうございました。

Sign in to comment.

Answers (0)

Products

Release

R2020b

Asked:

on 2 Aug 2022

Commented:

on 3 Aug 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!