問題タブ [mpc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
robotics - Drake を使用したメカナム ホイール モデルの MPC
の初心者ですが、 のメカナムホイールモデルMIT Drake
に使用していました。CasADi (ipopt)
MPC
ではCasADi
、最適化パラメーター (つまり、初期状態とターゲット状態) のシンボリック変数を作成できます。
次に、それを使用して状態のエラーを計算します。どうすれば同等の機能を得ることができDrake
ますか?
matlab - 非線形 MPC を使用した MATLAB Simulink でのシミュレーション中のベジエ曲線の作成
現在、Simulink で 2 台の車のオーバーパス操作をシミュレートするモデルを作成しています。パス フォローイングでは、Simulink で組み込みの非線形 MPC を使用しています。入力として基準点を取得します。
基準点を作成するために、MATLAB 関数を開発しました。コードは次のとおりです。
コードにいくつかの問題があり、システム自体はかなり「ばかげている」ことは知っていますが、現在の主な問題は、非線形 MPC が可変サイズの信号を取得できないことです (MATLAB は可変サイズであると言いますが、実際にはサイズは常に同じです。この行のポイント数を定義しますt = linspace(0,1,80);
)。Simulink は次のエラーを示します。
私はいくつかのことを試しました。変数をbezierPoints
永続化して、ここからベジェ曲線を構築する他の方法を試しました:二次ベジェ曲線コードを三次ベジェ曲線に変換する方法は? . 上記のコードでは、次のメソッドを使用しました: Bézier Curves and Kronecker's Tensor Product . 変数の代入をbezierPoints
関数の最後に移動しました (複数の代入により、ベクトル サイズが異なるためにこのエラーが発生するのではないかと考えました)。しかし、何も機能しませんでした。
そこで、この問題をベジエ曲線の構築に使用する方法に関連付けます。シミュレーション中にこの曲線を固定サイズの配列として作成する方法はありますか? この関数の前に、シミュレーションの前に曲線を事前定義し、シミュレーションの時間参照を使用してブロック "ワークスペースから" を使用しましたが、今では両方の車の位置と速度に応じてシミュレーション中に作成する必要があります。
ありがとう!