Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Spr::HISpidar4D Class Reference

#include <HISpidar4D.h>

Inherits Spr::HIForceDevice3D.

Collaboration diagram for Spr::HISpidar4D:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Protected Member Functions

Protected Attributes


Detailed Description

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);

Definition at line 44 of file HISpidar4D.h.


Member Function Documentation

float Spr::HISpidar4D::AvailableForce int  disable,
Vec3f f,
Vec3f v3Str
[protected]
 

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

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

void Spr::HISpidar4D::InitMat  )  [protected]
 

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

virtual bool Spr::HISpidar4D::Init DVDeviceManager dev  )  [virtual]
 

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

virtual bool Spr::HISpidar4D::Init DVDeviceManager dev,
Vec3f motorPos,
float  vpn,
float  lpp,
float  minF,
float  maxF
[virtual]
 

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

virtual bool Spr::HISpidar4D::BeforeCalib  )  [inline, virtual]
 

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

Reimplemented from Spr::HIHapticDevice.

Definition at line 82 of file HISpidar4D.h.

virtual bool Spr::HISpidar4D::Calib  )  [virtual]
 

キャリブレーション

Reimplemented from Spr::HIHapticDevice.

void Spr::HISpidar4D::SetMinForce  ) 
 

最低張力を出力

virtual void Spr::HISpidar4D::SetForce const Vec3f f  )  [inline, virtual]
 

力の出力

Implements Spr::HIForceDevice3D.

Definition at line 88 of file HISpidar4D.h.

virtual void Spr::HISpidar4D::Update float  dt  )  [virtual]
 

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

Reimplemented from Spr::HIForceDevice6D.

virtual Vec3f Spr::HISpidar4D::GetForce  )  [virtual]
 

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

Implements Spr::HIForceDevice6D.

virtual Vec3f Spr::HISpidar4D::GetPos  )  [inline, virtual]
 

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

Implements Spr::HIForceDevice6D.

Definition at line 94 of file HISpidar4D.h.


Member Data Documentation

Vec3f Spr::HISpidar4D::posSqrConst [protected]
 

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

Definition at line 52 of file HISpidar4D.h.

Matrix3f Spr::HISpidar4D::matPos [protected]
 

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

Definition at line 54 of file HISpidar4D.h.

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

モータ

Definition at line 60 of file HISpidar4D.h.


The documentation for this class was generated from the following file:
Generated on Sun Apr 16 02:09:21 2006 for Springhead by  doxygen 1.4.1