ARCS6 AR6-REV.24062600
読み取り中…
検索中…
一致する文字列を見つけられません
WEF-6A.hh
[詳解]
1
8//
9// Copyright (C) 2011-2022 Yokokura, Yuki
10// This program is free software;
11// you can redistribute it and/or modify it under the terms of the FreeBSD License.
12// For details, see the License.txt file.
13
14#ifndef WEF_6A
15#define WEF_6A
16
17#include <array>
18#include <string>
19#include <memory>
20#include "PCI-46610x.hh"
21
22namespace ARCS { // ARCS名前空間
24class WEF6A {
25 public:
33
34 explicit WEF6A(std::unique_ptr<PCI46610x> RS422CHx);
35 WEF6A(WEF6A&& right);
36 ~WEF6A();
37 void GetVersionInfo(std::string& VerInfo);
38 void GetSensitivity(
39 double& SensFx, double& SensFy, double& SensFz,
40 double& SensMx, double& SensMy, double& SensMz
41 );
42 void SendForceRequest(void);
43 void WaitForceData(void);
44 void ZeroCalibration(void);
45 void ZeroCalibrationOneTime(void);
46 void SetInternalFilter(const FilterSettings FS);
47 bool Get6axisForce(
48 double& Fx, double& Fy, double& Fz,
49 double& Mx, double& My, double& Mz
50 );
51 bool Get6axisForce(std::array<double, 6>& Force);
52
53 private:
54 WEF6A(const WEF6A&) = delete;
55 const WEF6A& operator=(const WEF6A&) = delete;
56 const unsigned int NUM_FORCEDATA = 27;
57 std::unique_ptr<PCI46610x> RS422;
58 std::string VersionInfo;
59 uint8_t RecordNumprev;
60 double SFx;
61 double SFy;
62 double SFz;
63 double SMx;
64 double SMy;
65 double SMz;
66 double Fxprev;
67 double Fyprev;
68 double Fzprev;
69 double Mxprev;
70 double Myprev;
71 double Mzprev;
72 bool IsCalibrated;
73 double GetConv1axisForce(const double Sensitivity);
74 static uint8_t ConvAsciiToHex(const uint8_t Ascii);
75};
76}
77
78#endif
79
Interface社製 PCI-466102~466108 および PEX-466102用クラス
ワコーテック社製 DynPick WEF-6A 6軸力覚センサクラス
Definition WEF-6A.hh:24
~WEF6A()
デストラクタ
Definition WEF-6A.cc:56
void SendForceRequest(void)
6軸力覚センサ値のリクエストを送る関数
Definition WEF-6A.cc:79
bool Get6axisForce(double &Fx, double &Fy, double &Fz, double &Mx, double &My, double &Mz)
6軸力覚センサ値を取得する関数
Definition WEF-6A.cc:141
void ZeroCalibration(void)
センサオフセットのゼロキャリブレーションを実行する関数
Definition WEF-6A.cc:93
void WaitForceData(void)
6軸力覚センサ値の受信を待機する関数(ブロッキング動作)
Definition WEF-6A.cc:85
void ZeroCalibrationOneTime(void)
センサオフセットのゼロキャリブレーションを実行する関数(1回限定版)
Definition WEF-6A.cc:104
FilterSettings
センサ内蔵の移動平均フィルタ設定の定義
Definition WEF-6A.hh:27
@ FILT_4AVE
データ4点の移動平均
Definition WEF-6A.hh:30
@ FILT_8AVE
データ8点の移動平均
Definition WEF-6A.hh:31
@ FILT_DISABLE
フィルタ無効
Definition WEF-6A.hh:28
@ FILT_2AVE
データ2点の移動平均
Definition WEF-6A.hh:29
void GetVersionInfo(std::string &VerInfo)
力覚センサのバージョン情報を取得する関数
Definition WEF-6A.cc:62
WEF6A(std::unique_ptr< PCI46610x > RS422CHx)
コンストラクタ
Definition WEF-6A.cc:25
void SetInternalFilter(const FilterSettings FS)
センサ内蔵の移動平均フィルタを設定する関数
Definition WEF-6A.cc:116
void GetSensitivity(double &SensFx, double &SensFy, double &SensFz, double &SensMx, double &SensMy, double &SensMz)
センサ主軸感度を取得する関数
Definition WEF-6A.cc:70