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

采纳的回答
添付のように、「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 中查找有关 アセンブリ 的更多信息
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)