メインページ | ネームスペース一覧 | クラス階層 | 構成 | Directories | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ | 関連ページ

クラス Spr::HISpidar4

#include <HISpidar4.h>

Spr::HIForceDevice3Dを継承しています。

Spr::HISpidar4のコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

Public メソッド

Static Public 変数

Protected メソッド

Protected 変数


説明

4本糸のSPIDAR. 糸の長さから座標計算を行ったり、出力する力覚から各モータの 出力を計算したりする。出力の計算に2次計画法を用いているため, HIS/Fortran の libF77.lib libI77.lib QuadPR.lib が必要.
SPIDARの定数の設定例
Init(dev, motPos, 0.5776, 2.924062107079e-5f, 0.5f, 20.0f);

//	モータの取り付け位置. モータが直方体に取り付けられている場合は,
#define PX	0.265f	//	x方向の辺の長さ/2
#define PY	0.265f	//	y方向の辺の長さ/2
#define PZ	0.265f	//	z方向の辺の長さ/2
Vec3f motorPos[][4] =	//	モータの取り付け位置(中心を原点とする){
	{Vec3f(-PX, PY, PZ),	Vec3f( PX, PY,-PZ), Vec3f(-PX,-PY,-PZ), Vec3f( PX,-PY, PZ)},
	{Vec3f( PX, PY, PZ),	Vec3f(-PX, PY,-PZ), Vec3f( PX,-PY,-PZ), Vec3f(-PX,-PY, PZ)}
};

//	1ニュートン出すためのDAの出力電圧[V/N]
//	maxon:		0.008[m] / 0.0438[Nm/A] / 0.5[A/V] =  0.365296803653
//	千葉精機:	0.008[m] / 0.0277[Nm/A] / 0.5[A/V] =  0.5776
sp->VoltPerNewton(0.5776f);

//	1カウントの長さ [m/plus]	実測値: 2.924062107079e-5f
sp->LenPerPlus(2.924062107079e-5f);

//	最小張力 [N]
sp->MinForce(0.5f);

//	最大張力 [N]
sp->MaxForce(20.0f);

HISpidar4.h の 44 行で定義されています。


関数

float Spr::HISpidar4::AvailableForce (  int  disable,
Vec3f &  f,
Vec3f *  v3Str
)  [protected]
 

出力可能な力を計算し、その出力の得点を計算する.

引数:
disable 使用しない糸の番号
f 出力したい力. 出力可能な力に変更される.
v3Str 4本の糸の向き
戻り値:
得点(力の正確さとモータ出力の大きさで決まる。 この糸を選択することの正しさ)

void Spr::HISpidar4::InitMat (   )  [protected]
 

位置を計算するための行列の初期化

virtual bool Spr::HISpidar4::Init (  DVDeviceManager &  dev  )  [virtual]
 

デバイスの初期化(使用前に呼ぶ)

virtual bool Spr::HISpidar4::Init (  DVDeviceManager &  dev,
Vec3f *  motorPos,
float  vpn,
float  lpp,
float  minF,
float  maxF
)  [virtual]
 

デバイスの初期化(使用前に呼ぶ)

virtual bool Spr::HISpidar4::BeforeCalib (   )  [inline, virtual]
 

キャリブレーションの前に行う処理

Spr::HIHapticDeviceを再定義しています。

HISpidar4.h の 83 行で定義されています。

virtual bool Spr::HISpidar4::Calib (   )  [virtual]
 

キャリブレーション

Spr::HIHapticDeviceを再定義しています。

void Spr::HISpidar4::SetMinForce (   ) 
 

最低張力を出力

virtual void Spr::HISpidar4::SetForce (  const Vec3f &  f,
const Vec3f &  t
)  [inline, virtual]
 

力の出力

Spr::HIForceDevice3Dを再定義しています。

HISpidar4.h の 89 行で定義されています。

virtual void Spr::HISpidar4::SetForce (  const Vec3f &  f  )  [inline, virtual]
 

デバイスの目標力出力を設定する

Spr::HIForceDevice3Dを実装しています.

HISpidar4.h の 90 行で定義されています。

virtual void Spr::HISpidar4::Update (  float  dt  )  [virtual]
 

デバイスの状態を更新する.

Spr::HIForceDevice6Dを再定義しています。

virtual Vec3f Spr::HISpidar4::GetForce (   )  [virtual]
 

デバイスの実際の提示力を返す

Spr::HIForceDevice6Dを実装しています.

virtual Vec3f Spr::HISpidar4::GetPos (   )  [inline, virtual]
 

デバイスの現在位置を返す

Spr::HIForceDevice6Dを実装しています.

HISpidar4.h の 96 行で定義されています。


変数

Vec3f Spr::HISpidar4::posSqrConst [protected]
 

位置を計算するための定数

HISpidar4.h の 51 行で定義されています。

Matrix3f Spr::HISpidar4::matPos [protected]
 

位置を計算するための行列

HISpidar4.h の 53 行で定義されています。

HISpidarMotor Spr::HISpidar4::motor[4] [protected]
 

モータ

HISpidar4.h の 59 行で定義されています。

UTTypeInfoImp< HISpidar4 > Spr::HISpidar4::typeInfo [static]
 

デバイスのタイプ

Spr::HIForceDevice3Dを再定義しています。

HISpidar4.h の 75 行で定義されています。


このクラスの説明は次のファイルから生成されました:
Springheadに対してSun Apr 16 02:00:49 2006に生成されました。  doxygen 1.4.1