Simscape Multibodyで​Jointの動きをプ​ログラミングする方法

こんにちは.
私は,現在Simscape Multibodyを使ってRevolute Jointを用いたアクチュエータを作成しているのですが,C言語で関節の動きを制御しようとしています.
Cylindrical Jointの回転方向にプログラミングでトルクを入力したいのですが,どのブロックを接続すればいいか分かりません.無題.jpg

 采纳的回答

0 个投票

添付のように、「Simulink-PS Converter」を用いることで、通常のSimulinkの信号を接続することができます。添付のサンプルではConstantブロックを接続していますが、それ以外のSimulinkの信号を扱うブロックからも接続できます。
もしSimulink内にC言語のコードを取り込んで制御したいということであれば、S-Functionを用いると出来るようになります。
例としては以下のS-Function Builderをご確認ください。

10 个评论

S-Function Bilderを使ったところ動かすことができました!ありがとうございます.
ちなみに上図のCylindricalで角度データを観測したいのですが,なにか方法はありますでしょうか?
添付画像のようにCylindrical Jointで「Z Revolute Primitive (Rz)」「Sensing」「Position」にチェックを入れてください。添付モデルのように信号が出力されます。単位はラジアンです。
言い忘れていましたが、モデルのバージョンR2019aです。
度々ありがとうございます.観測した角度をもう一度S-Functionに入力することはできるでしょうか?
S-Function Builderをお使いでしたら、添付画像のように自由に入力変数( = ブロックの入力ポート)を増やすことができますが、この方法で問題ありませんでしょうか。
添付画像の通り,入力ポートを増やして実行してみます.完了まで数時間かかるようなので,この方法の成否はまた明日以降ご報告させていただきます.
本日は若輩者の質問に付き合っていただき誠にありがとうございます.
こんにちは,遅ればせながらアクチュエータの動作に成功しました.お力添えありがとうございます.
疑問が尽きず申し訳ないのですが,反発係数を導入したいと考えています.物体が落下してきて床に衝突する際のものです.この機能をもったブロックはありますでしょうか?または,Simscapeのジョイントの「Actuation」→「Motion」で入力ができますでしょうか?
物体同士の接触力をモデル化したいということでしょうか。
その場合、先日リリースされましたR2019bにて可能になりました。以下のリンク先に接触力を用いたサンプルモデルがありますのでご確認ください。
2019bをダウンロードしてサンプルモデルを使用してみました.
一般的なSolidではできるのですが,File SolidではExportが出てきません.
CADからモデルをインポートして使っているので,File Solidになってしまいます.なにかいい方法はないでしょうか?
申し訳ありません。
R2019b時点では「Brick」「Cylinder」「Sphere」のみ対応していまして、File Solidは未対応です。
接触部分のみを上記形状に置き換えるか、付け足すなどをして対応していただく必要があります。
対応していただき,ありがとうございます.
複雑な形状なので,ご助言通り簡単な形状のものを付け足します

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Simscape Multibody 的更多信息

Community Treasure Hunt

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

Start Hunting!