Maple für Professional
Maple für Akademiker
Maple für Studenten
Maple Personal Edition
Maple Player
Maple Player für iPad
MapleSim für Professional
MapleSim für Akademiker
Maple T.A. - Testen & beurteilen
Maple T.A. MAA Placement Test Suite
Möbius - Online-Courseware
Machine Design / Industrial Automation
Luft- und Raumfahrt
Fahrzeugtechnik
Robotics
Energiebranche
System Simulation and Analysis
Model development for HIL
Anlagenmodelle für den Regelungsentwurf
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematikausbildung
Technik
Allgemein- und berufsbildende Schulen
Testen und beurteilen
Studierende
Finanzmodelle
Betriebsforschung
Hochleistungsrechnen
Physik
Live-Webinare
Aufgezeichnete Webinare
Geplante Veranstaltungen
MaplePrimes
Maplesoft-Blog
Maplesoft-Mitgliedschaft
Maple Ambassador Program
MapleCloud
Technische Whitepapers
E-Mail Newsletters
Maple-Bücher
Math Matters
Anwendungs-Center
MapleSim Modell-Galerie
Anwenderberichte
Exploring Engineering Fundamentals
Lehrkonzepte mit Maple
Maplesoft Welcome-Center
Resource-Center für Lehrer
Help-Center für Studierende
運動エクスポート
運動変数と関数
すべてのシステムは一般化座標 q と一般速度 p のセットでモデリングされます。q の時間の導関数は、運動変換の導集合を通じて p に相関します。座標 q が独立していない場合、位置拘束のセットを通じて互いに相関します。同様に、速度 p が依存系の場合、内部の関係は速度拘束と加速拘束による導関数で定義されます。次表にこれらのエクスポートされる運動変数と関数の概要を示します。
式
モデルエクスポート
説明
変数
vQ
ユーザーが選択する一般化座標 (n x 1 列行列)
vP
ユーザーが選択する一般化速度 (n x 1 列行列)
vX
一般化速度と座標で
構成される状態変数 (2n x 1 列行列)
vQdot
一般化座標の時間の導関数
vPdot
一般化速度の時間の導関数
vXdot
状態変数の時間の導関数
変換
GetKinTrans()
vQdot と vP (n x 1 列行列) との間の変換
vKinTransRHS
GetKinTrans() 関数の右辺
位置拘束
GetPosCons()
n の座標 (m x 1 行列) に対する位置レベルの運動拘束方程式
xJacPos
一般化座標 (m x n 行列) に対する位置拘束方程式の Jacobian 行列
速度拘束
GetVelCons()
速度レベルの運動拘束方程式、これは座標 q で非線形、速度 p (m x 1 列行列) では線形
xJacVel
一般化速度 (m x n 行列) に対する速度拘束方程式の Jacobian 行列
vVelRHS
速度レベルの運動拘束方程式の右辺
加速度拘束
GetAccCons()
加速レベルの運動拘束方程式、これは p および q で非線形、加速 (m x 1 列行列) で線形
加速レベルの拘束の Jacobian 行列は、速度レベルの Jacobian 行列と等しく、 との積に等価であり は速度 p に対する偏導関数
vAccRHS
加速レベルの運動拘束方程式の右辺
GetFrameMotion コマンド
GetFrameMotion コマンドは、システム内のすべてのフレーム移動について、定義済み座標と速度における並進運動または回転運動の式を生成します。一般に、このコマンドの関係式は次のとおりです:
> GetFrameMotion(vector_type,end_frame,start_frame,ref_frame,[ListNumSubs]);
この式で vector は、start_frame (デフォルトは慣性フレーム) に対する end_frame の運動を示し、ref_frame (デフォルトは慣性フレーム) 沿いのコンポーネントで解が求められます。
文字列 vector_type は、以下の値を取ります。:
"r" - 並進位置ベクトル
"v" - 並進速度ベクトル
"vdot" - 並進加速ベクトル
"R" - 回転変換行列 (start_frame に対するend_frame の方向を示します。この 3x3 行列が求められている場合は文字列 ref_frame は省略する必要があります。)
"w" - 角速度ベクトル
"wdot" - 角加速ベクトル
最後に、ListNumSubs リストを使用して、記号化される運動式に表示するパラメータ用の数値を入力します。数値が割り当てられていないシステムパラメータを特定するには、 GetParams コマンドを使用します。ListNumSubsは、一般に [pd_1=value_1, pd_2=value_2, ...] という形式をとり、ここで pd_i は i_番目のパラメータまたはドライバで、value_i は、数字のパラメータ値または時間の駆動関数を示します。
それぞれの概念を説明するいくつかの例を挙げます。
> GetFrameMotion("v","CoM");
慣性フレームに対する CoM フレームの並進速度における 3 つのグローバルコンポーネントである、X、Y、Z が得られます。
> GetFrameMotion("vdot","CoM","Base");
基底フレームに対する CoM フレームの並進加速における 3 つのグローバルコンポーネントである、X、Y、Z が得られます。
> Params:= [L1=1, L2=0.5]:
> GetFrameMotion("w","CoM","Base","Ref",Params);
基底フレームに対する CoM フレームの角速度が得られ、参照フレームに沿ったコンポーネントである x、y、z が導かれます。L1 および L2 の数値は Params リストに保存され、記号式に代入されます。
> GetFrameMotion("R","CoM","Base");
基底フレームから CoM フレームまでの 3x3 回転行列変換が得られます。回転行列の詳細については、「システムモデルの作成/ボディとフレーム」の項を参照してください。
例
下図は、平面スライダクランク機構を MapleSim の組み込みモデルで表した例です。この例では組み込みコンポーネント名は Simulation0、モデル名は SliderCrank です。
leArguments := [ 'InputString'=MapleSim:-Multibody:-GetMultibodyInput("Simulation0"), 'ModelName'="SliderCrank", 'KinSimpType'="Simplify", 'DynSimpType'="Simplify", 'AugType'="Lagrange", 'MaxSmallQOrder'=1, 'SaveToLib'=false, 'SilentMode'=false ]: MapleSim:-Multibody:-BuildEQs(op(leArguments)):
SliderCrank:-vX;
SliderCrank:-GetPosCons();
SliderCrank:-GetFrameMotion("v", "R6_frame_b", "GROUND", "GROUND");
SliderCrank:-GetFrameMotion("R", "R6_frame_b", "GROUND", "GROUND");
関連項目
Dynamic Exports, MapleSim, MapleSim[Multibody][BuildEQs], MapleSim[Multibody][BuildExpression], MapleSim[Multibody][BuildSimCode], MapleSim[Multibody][BuildSimulation], MapleSim[Multibody][GetModel], MapleSim[Multibody][GetMultibodyInput]
Download Help Document