![]() |
Springhead
An open source physics engine for virtual reality, haptics and motion generation.
|
エンドエフェクタ(グリップ)が並進3自由度だけを持つSPIDAR用の計算クラス. 糸の数は可変.
#include <HISpidarCalc.h>
Public メソッド | |
HISpidarCalc3Dof () | |
二次形式 並進項の係数 | |
void | Init (int dof, const VVector< float > &minF, const VVector< float > &maxF) |
virtual void | Update () |
姿勢情報の更新 | |
virtual void | SetForce (const Vec3f &) |
提示力の設定(並進.回転力は提示しない) | |
Vec3f | GetForce () |
力の取得 | |
Vec3f | GetPosition () |
位置の取得 | |
![]() | |
HISpidarCalcBase () | |
コンストラクタ | |
virtual | ~HISpidarCalcBase () |
デストラクタ | |
Protected 変数 | |
Vec3f | pos |
グリップの位置 | |
int | nRepeat |
繰り返し回数 | |
std::vector< Vec3f > | wireDirection |
ワイヤ方向単位ベクトル(並進) | |
float | sigma |
係数行列の対角成分に加える | |
Vec3f | trnForce |
float | smooth |
並進力 | |
float | lambda_t |
二次形式 張力の2乗項の係数 | |
![]() | |
VQuadProgram< float > | quadpr |
2次計画問題の計算クラス | |
PTM::VVector< float > | measuredLength |
計測したワイヤ長 | |
PTM::VVector< float > | calculatedLength |
前の姿勢から計算されるワイヤ長 | |
PTM::VMatrixRow< float > | matA |
行列 A | |
PTM::VMatrixRow< float > | matATA |
A * Aの転置 | |
PTM::VVector< float > | lengthDiff |
Δワイヤ長 = 計測ワイヤ長 - 算出ワイヤ長. lengthDiff[i] is the measured SetLength of this time minus the computed legth of last time. | |
PTM::VVector< float > | lengthDiffAve |
Δワイヤ長の平均値 | |
PTM::VVector< float > | postureDiff |
求めた姿勢の変化量 = A * lengthDiff | |
Additional Inherited Members | |
![]() | |
PTM::VVector< float > & | Tension () |
void | Init (int dof, const VVector< float > &minF, const VVector< float > &maxF) |
初期化 [詳細] | |
virtual void | MakeWireVec ()=0 |
ワイヤ方向ベクトルの計算 | |
virtual void | UpdatePos ()=0 |
ワイヤ設置位置座標の更新 | |
virtual void | MeasureWire ()=0 |
ワイヤ長の計測 | |