Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

CAD アセンブリ モデルのインポート

関数 smimport を使用して、Simscape™ Multibody™ ソフトウェアに CAD アセンブリ モデルをインポートします。この関数は、XML マルチボディ記述ファイルを解析し、対応するモデルを自動的に生成します。マルチボディ記述ファイル形式に付随するジオメトリ ファイルは、可視化を目的としたボディのジオメトリを提供します。

この例では、関数 smimport を使用して XML ファイルからロボット モデルを生成する方法を説明します。この例は、Robot.xml と一連のパーツ ジオメトリ ファイルを基にしています。

XML ファイルとジオメトリ ファイルを使用するには、この例を開き、現在の MATLAB® セッションの検索パスにサポート ファイルを追加します。

openExample("sm/ImportedCADModelExample")
addpath(genpath("ImportedCADModelSupport"))

既定の名前でのモデルのインポート

ロボット アームの CAD モデルをインポートし、既定の名前でメモリに保管します。名前は後から変更できます。モデルは XML 形式であるため、名前の拡張子は省略できます。

smimport("Robot");

Simscape Multibody は、関数 smimport の既定の設定を使用して、Robot.xml ファイルに記述されたモデルを生成します。

生成されたモデルのブロックは、MATLAB 変数としてパラメーター化されます。これらの変数の数値は Robot_DataFile.m という名前のデータ ファイルで定義され、生成されたモデルと同じアクティブ フォルダーに格納されます。

カスタム名でのモデルのインポート

また、ロボット アームの CAD モデルをインポートし、カスタムの名前で現在のフォルダーに保存できます。モデルに Robotto という名前を付け、パラメーター データ ファイルに Robottos_Data_File という名前を付けます。

smimport("Robot","ModelName","Robotto",...
"DataFileName","Robottos_Data_File");

インポートしたモデルの更新

インポートしたロボット アーム CAD モデルのデータ ファイルを再生成します。元のデータ ファイルが上書きされるのを防ぐため、新しいファイルに Robottos_New_Data_File という名前を付けます。

smimport("Robot","ImportMode","dataFile","DataFileName",...
"Robottos_New_Data_File","PriorDataFile","Robottos_Data_File");

インポートしたモデルが新しいデータ ファイルを指すようにし、モデル ワークスペースを再初期化します。

hws = get_param(bdroot,"modelworkspace");
hws.DataSource = "MATLAB File";
hws.FileName = "Robottos_New_Data_File";
hws.reload

同じことをモデル エクスプローラーで行うには、まず [モデル化][設計][モデル ワークスペース] の順に選択して、モデル エクスプローラーを開きます。次に、モデル エクスプローラーの [モデルの階層構造] で [モデル ワークスペース] を左クリックします。[モデル ワークスペース] ペインの [ファイル名] パラメーターに「Robottos_New_Data_File.m」と入力し、[ソースから再初期化] ボタンをクリックして変更を適用します。

モデルの可視化

ブロック線図を更新してモデルを可視化します。[モデル化] タブで、[モデルの更新] をクリックします。Mechanics Explorer が開き、ロボット アーム モデルの静的な可視化が、初期構成で表示されます。

Mechanics Explorer での既定のビュー規則は、元のアセンブリ モデルの作成に使用した CAD アプリケーションでのビュー規則とは異なります。Mechanics Explorer は Z 軸が上を向くビュー規則を使用しますが、CAD アプリケーションでは Y 軸が上を向くビュー規則を使用します。

Mechanics Explorer のツールストリップからビュー規則を変更するには、[View convention] パラメーターを [Y up (XY Front)] に設定します。次に、[View][Standard Views] メニューから標準ビューを選択して、新しいビュー規則を適用します。

モデルの確認

インポートしたモデルのボディ間に予期しない剛結合がないか確認します。Simscape Multibody ソフトウェアは、サポートされていない CAD 拘束を剛結合に置き換えます。これは、座標系を直接接続するライン、Rigid Transform ブロック、または Weld Joint ブロックとして表示されます。

MATLAB コマンド ウィンドウの警告メッセージによって、サポートされていない拘束の影響を受けるボディと接続座標系が特定されます。ボディ間の人工的な剛結合を、Simscape Multibody ライブラリの適切なジョイント ブロック、拘束ブロック、またはギア ブロックに置き換えてください。

モデルのアセンブリ エラーを排除するために、ブロック線図を更新します。シミュレーションを実行して、モデルのダイナミクスが想定どおりであることを確認します。ソース CAD アセンブリ モデルを更新すると、更新されたデータ ファイルを新しいマルチボディ記述ファイルから直接生成できます。

モデルのシミュレーション

モデルをシミュレーションしてみます。ロボット アームには制御システムがないため、重力下で単純にばたつきます。Simulink® ブロックを使用して、ロボット アームの運動をガイドするために必要な制御システムを作成できます。制御システムは、運動の検出出力を、各種のジョイントにおける作動入力に変換します。ジョイント ブロックのダイアログ ボックスから、検出端子と作動端子を表示できます。

参考

関連するトピック