インバース3
Haply::HardwareAPI::Devices::Inverse3
Inverse3デバイスと対話するために必要なロジックをカプセル化します。
コンストラクタのパラメータとして、Inverse3のシリアルポートを表すSerialStreamクラスのインスタンスが必要です。コンストラクタが構築されると、DeviceWakeupコマンドによってデバイスがウェイクアップされ、送信メソッドが有効になります。すべての送信メソッドの後には、デバイスの応答を処理するためにそれぞれの受信メソッドが続く必要があります。
このクラスでは、デバイスのカーソルを指すのに、エンド・エフェクタという用語を使用します。
このクラス内のすべてのメソッドは、IO操作が完了するまでブロックされる。Inverse3デバイスは最大8kHzの周波数で動作することができ、スムーズな触覚体験を保証するために最低1kHzが推奨されます。複数のデバイスが同じスレッドで管理されている場合、全体の処理周波数は、すべてのデバイスの中で最も低い周波数が上限となります。したがって、同じスレッド内でハンドルとInverse3を混在させることは推奨されません。
インデックス
クラス
- デバイスハンドネスペイロード
- DeviceIdExtResponse
- DeviceInfoResponse
- デバイス・オリエンテーションレスポンス
- DevicePowerResponse
- デバイス温度応答
- EndEffectorForceRequest
- EndEffectorPositionRequest
- EndEffectorStateResponse
- FirmwareVersionExtResponse
- 重力報酬
- ジョイント・アングル・リクエスト
- ジョイントステートレスポンス
- 関節トルクのリクエスト
- モーター電流レスポンス
- SaveConfigResponse
- トルク・スケーリング・ペイロード
メンバー
名称 | タイプ | 説明 |
---|---|---|
NUM_JOINTS | 静的 constexpr uint8_t | インバース3装置のモーター/ジョイントの数。 |
左利き | 静的 constexpr uint8_t | 左利き用デバイスの定数 ... |
RIGHT_HANDED | 静的 constexpr uint8_t | 右利き用デバイスの定数 ... |
方法
名称 | タイプ | 説明 |
---|---|---|
インバース3 | (...) | ...からInverse3オブジェクトを構築する。 |
デバイスウェイクアップ | DeviceInfoResponse(...) | デバイスをウェイクアップして追加コマンドを可能にする。 |
SendDeviceWakeup | void() | デバイスをウェイクアップして追加コマンドを可能にする。 |
ReceiveDeviceInfo | int() | ...からの応答を受け取る。 |
ReceiveDeviceInfo | int(uint16_t *, uint8_t *, uint8_t *, ...) | ...からの応答を受け取る。 |
DeviceIdExtQuery | DeviceIdExtResponse(...) | デバイスのUUIDを問い合わせる。 |
SendDeviceIdExtQuery | void() | デバイスのUUIDを問い合わせる。 |
ReceiveDeviceIdExt | int() | ...からの応答を受け取る。 |
ReceiveDeviceIdExt | int(UUID*) | ...からの応答を受け取る。 |
FirmwareVersionExtQuery | FirmwareVersionExtResponse(...) | 拡張ファームウェア・バージョンをデバイスに問い合わせる。 |
SendFirmwareVersionExtQuery | void() | 拡張ファームウェア・バージョンをデバイスに問い合わせる。 |
ReceiveFirmwareVersionExt | int() | ...からの応答を受け取る。 |
ReceiveFirmwareVersionExt | int(UUID*) | ...からの応答を受け取る。 |
ジョイント・トルク | JointStatesResponse(...) | 装置のモーターに規定のトルクを加える。 |
センドジョイントトルク | void() | 装置のモーターによるトルクの発生を停止する。 |
センドジョイントトルク | void(const float) | 装置のモーターに規定のトルクを加える。 |
ジョイントアングル | JointStatesResponse(...) | デバイスの関節の角度を設定します。 |
センドジョイントアングル | void() | 装置のモーターによるトルクの発生を停止する。 |
センドジョイントアングル | void(const float) | デバイスの関節の角度を設定します。 |
レシーブジョイントステート | int() | ...からの応答を受け取る。 |
レシーブジョイントステート | int(float *, float *) | ...からの応答を受け取る。 |
エンドエフェクターフォース | EndEffectorStateResponse(...) | デバイスのカーソルに規定の力を加える。 |
SendEndEffectorForce | void() | デバイスのカーソルへの力の発生を停止する。 |
SendEndEffectorForce | void(const float) | デバイスのカーソルに規定の力を加える。 |
エンドエフェクターポジション | EndEffectorStateResponse(...) | デバイスのカーソルの位置を設定する。 |
SendEndEffectorPosition(センド・エンド・エフェクター・ポジション | void() | デバイスのカーソルへの力の発生を停止する。 |
SendEndEffectorPosition(センド・エンド・エフェクター・ポジション | void(const float) | デバイスのカーソルの位置を設定する。 |
ReceiveEndEffectorState | int() | ...からの応答を受け取る。 |
ReceiveEndEffectorState | int(float *, float *) | ...からの応答を受け取る。 |
デバイスオリエンテーションクエリー | DeviceOrientationResponse(...) | デバイスのボディの向きを問い合わせる。 |
SendDeviceOrientationQuery | void() | デバイスのボディの向きを問い合わせる。 |
ReceiveDeviceOrientation | int() | ...からの応答を受け取る。 |
ReceiveDeviceOrientation | int(float) | ...からの応答を受け取る。 |
デバイスパワークエリー | DevicePowerResponse(...) | デバイスの給電状態を問い合わせる。 |
SendDevicePowerQuery | void() | デバイスの給電状態を問い合わせる。 |
デバイスパワーを受け取る | int() | ...からの応答を受け取る。 |
デバイスパワーを受け取る | int(bool *) | ...からの応答を受け取る。 |
デバイス温度クエリ | デバイス温度応答(...) | デバイスの温度を問い合わせる。 |
SendDeviceTemperatureQuery | void() | デバイスの温度を問い合わせる。 |
受信デバイス温度 | int() | ...からの応答を受け取る。 |
受信デバイス温度 | int(float *) | ...からの応答を受け取る。 |
モーター電流クエリー | MotorCurrentsResponse(...) | デバイスのモーターに印加されている電流を問い合わせる。 |
モーター電流クエリー送信 | void() | デバイスのモーターに印加されている電流を問い合わせる。 |
モーター電流の受信 | int() | ...からの応答を受け取る。 |
モーター電流の受信 | int(float *) | ...からの応答を受け取る。 |
GetDeviceHandedness | デバイスハンドレッドペイロード(...) | デバイスの利き手を問い合わせる。 |
SendGetDeviceHandedness | void() | デバイスの利き手を問い合わせる。 |
手の大きさを設定する | デバイスハンドレッドペイロード(...) | デバイスのハンドネスを設定する。 |
送信設定デバイスの手の大きさ | void(const uint8_t &) | デバイスのハンドネスを設定する。 |
ReceiveDeviceHandedness | int() | ...からの応答を受け取る。 |
ReceiveDeviceHandedness | int(uint8_t *) | ...からの応答を受け取る。 |
GetTorqueScaling | トルク・スケーリング・ペイロード(...) | デバイスのトルク・スケーリングの状態を問い合わせる。 |
SendGetTorqueScaling | void() | デバイスのトルク・スケーリングの状態を問い合わせる。 |
セットトルクスケーリング | トルク・スケーリング・ペイロード(...) | デバイスのトルク・スケーリング状態を、提供された... |
センドセットトルクスケーリング | void(const bool &) | デバイスのトルク・スケーリング状態を、提供された... |
ReceiveTorqueScaling | int() | ...からの応答を受け取る。 |
ReceiveTorqueScaling | int(bool *) | ...からの応答を受け取る。 |
重力補償 | GravityCompensationPayload(...) | デバイスの重力補正状態を問い合わせる。 |
重力補償の送信 | void() | デバイスの重力補正状態を問い合わせる。 |
重力補償の設定 | GravityCompensationPayload(...) | デバイスの重力補正状態を、提供された... |
送信設定重力補償 | void(const bool &, const float &) | デバイスの重力補正状態を、提供された... |
重力補償を受ける | int() | ...からの応答を受け取る。 |
重力補償を受ける | int(bool *, float *) | ...からの応答を受け取る。 |
セーブコンフィグ | SaveConfigResponse(...) | 変更された設定パラメータを永続化する。 |
センドセーブコンフィグ | void() | 変更された設定パラメータを永続化する。 |
ReceiveSaveConfig | int(uint8_t *) | ...からの応答を受け取る。 |
メンバー
NUM_JOINTS
静的 constexpr uint8_t NUM_JOINTS = 3
インバース3装置のモーター/ジョイントの数。
左利き
static constexpr uint8_t LEFT_HANDED = 0x00
DeviceHandednessPayloadと組み合わせて使用する左利き用デバイスの定数。
RIGHT_HANDED
static constexpr uint8_t RIGHT_HANDED = 0x01
DeviceHandednessPayloadと共に使用される右利き用デバイスの定数。
方法
インバース3
インバース3( Haply::HardwareAPI::IO::SerialStream* stream、 タイムアウト)
指定されたストリームからInverse3オブジェクトを構築します。
パラメータ
-
streamデバイスに関連付けられたシリアルポートを表すストリームオブジェクト。ストリームのライフタイムは、Inverse3オブジェクトのライフタイムと同じか、それ以上でなければなりません。このストリームはSerialStreamクラスを使用して構築することをお勧めします。
-
timeoutデバイスからの応答を待つ最大時間。この時間内にデバイスからの応答がない場合、操作は失敗し、エラーが標準エラー出力に出力される。
デフォルトのタイムアウトは5秒で、負の値を指定するとタイムアウトは無効になる。
デバイスウェイクアップ
DeviceInfoResponseDeviceWakeup()
デバイスをウェイクアップして追加コマンドを可能にする。
このコマンドは、他のコマンドを送信する前にデバイスに送信する必要があります。このコマンドは、デバイスの内部状態(つまりシミュレーション・モード)をリセットする副作用もあります。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはSendDeviceWakeupと同等だが、エラー処理メカニズムは提供しない。
リターン
デバイスの基本情報。
SendDeviceWakeup
void SendDeviceWakeup()
デバイスをウェイクアップして追加コマンドを可能にする。
このコマンドは、他のコマンドを送信する前にデバイスに送信する必要があります。このコマンドには、デバイスの内部状態(シミュレーション・モード)をリセットする副作用もあります。デバイスの応答を処理するには、ReceiveDeviceInfoをコールする必要があります。
機能的にはDeviceWakeupと同等だが、基本的なエラー処理メカニズムを提供する。
ReceiveDeviceInfo
int ReceiveDeviceInfo()
SendDeviceWakeupからの応答を受け取り、結果を破棄する。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
ReceiveDeviceInfo
int ReceiveDeviceInfo( uint16_t * device_id、 uint8_t * デバイスモデル番号、 uint8_t * hardware_version、 uint8_t * firmware_version、 UUID* device_id_ext)
SendDeviceWakeupからの応答を受け取り、その結果を指定された引数に格納する。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
こちらも参照
パラメータの説明についてはDeviceInfoResponse を参照のこと。
DeviceIdExtQuery
DeviceIdExtResponseDeviceIdExtQuery()
デバイスのUUIDを問い合わせる。
DeviceWakeupメソッドのレスポンスで提供されたものと同じUUID を返す。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはSendDeviceIdExtQueryと同等だが、エラー処理メカニズムは提供しない。
リターン
デバイスのUUID。
SendDeviceIdExtQuery
void SendDeviceIdExtQuery()
デバイスのUUIDを問い合わせる。
DeviceWakeupメソッドへの応答で提供されたものと同じUUIDを返す。デバイスの応答を処理するには、その後にReceiveDeviceIdExtをコールする必要があります。
機能的にはDeviceIdExtQueryと同等だが、基本的なエラー処理メカニズムを提供する。
ReceiveDeviceIdExt
int ReceiveDeviceIdExt()
SendDeviceIdExtQueryからの応答を受け取り、結果を破棄する。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
ReceiveDeviceIdExt
int ReceiveDeviceIdExt(UUID* device_id)
指定された引数に結果を格納するSendDeviceIdExtQueryからの応答を受信します。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
こちらも参照
パラメータの説明については、DeviceIdExtResponseを参照のこと。
FirmwareVersionExtQuery
FirmwareVersionExtResponseFirmwareVersionExtQuery()
拡張ファームウェア・バージョンをデバイスに問い合わせる。
警告このコマンドはまだ検討中であり、その動作は当てにならない。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはSendFirmwareVersionExtQueryと同等だが、エラー処理メカニズムは提供しない。
リターン
機器のファームウェアのバージョン。
SendFirmwareVersionExtQuery
void SendFirmwareVersionExtQuery()
拡張ファームウェア・バージョンをデバイスに問い合わせる。
デバイスからの応答を処理するには、ReceiveFirmwareVersionExtをコールする必要がある。
機能的にはFirmwareVersionExtResponseと同等だが、基本的なエラー処理メカニズムを提供する。
ReceiveFirmwareVersionExt
int ReceiveFirmwareVersionExt()
SendFirmwareVersionExtQueryからの応答を受信し、結果を破棄する。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
ReceiveFirmwareVersionExt
int ReceiveFirmwareVersionExt(UUID* firmware_version_id)
指定された引数に結果を格納するSendFirmwareVersionExtQueryからの応答を受信します。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
こちらも参照
パラメータの説明についてはFirmwareVersionExtResponseを参照してください。
ジョイント・トルク
JointStatesResponseJointTorques(constJointTorquesRequest& request)
装置のモーターに規定のトルクを加える。
このコマンドは、デバイスをジョイント・シミュレーション・モードに切り替え、新しいトルク値または新しいシミュレーション・モードによって上書きされるまで、指定されたトルクを維持します。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはSendJointTorquesと同等だが、エラー処理メカニズムは提供しない。
パラメータ
- リクエストモーターにかけるトルク。
リターン
デバイスの関節の現在の状態。
センドジョイントトルク
void SendJointTorques()
装置のモーターによるトルクの発生を停止する。
センドジョイントトルク
void SendJointTorques(const float torques)
装置のモーターに規定のトルクを加える。
このコマンドは、デバイスをジョイント・シミュレーション・モードに切り替え、新しいトルク値または新しいシミュレーション・モードによって上書きされるまで、指定されたトルクを維持します。
その後にReceiveJointStatesをコールして、デバイスの応答を処理しなければならない。
機能的にはJointTorquesと同等だが、基本的なエラー処理メカニズムを提供する。
ジョイントアングル
JointStatesResponseJointAngles(constJointAnglesRequest& request)
デバイスの関節の角度を設定します。
このコマンドは、装置を関節シミュレーション・モードに切り替え、新しい角度または新しいシミュレーション・モードによって上書きされるまで、指定された角度を維持します。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはSendJointAnglesと同等だが、エラー処理メカニズムは提供しない。
パラメータ
- リクエストモーターに適用する角度。
リターン
デバイスの関節の現在の状態。
センドジョイントアングル
void SendJointAngles()
装置のモーターによるトルクの発生を停止する。
センドジョイントアングル
void SendJointAngles(const float angles)
デバイスの関節の角度を設定します。
このコマンドは、装置を関節シミュレーション・モードに切り替え、新しい角度または新しいシミュレーション・モードによって上書きされるまで、指定された角度を維持します。
その後にReceiveJointStatesをコールして、デバイスの応答を処理しなければならない。
機能的にはJointAnglesと同等だが、基本的なエラー処理メカニズムを提供する。
レシーブジョイントステート
int ReceiveJointStates()
SendJointTorquesまたはSendJointAnglesからの応答を受け取り、結果を破棄する。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
レシーブジョイントステート
int ReceiveJointStates( float * 角度 float * 角度緯度)
SendJointTorquesまたはSendJointAnglesからの応答を受け取り、指定されたパラメータに結果を格納する。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
こちらも参照
パラメータの説明については、JointStatesResponseを参照のこと。
エンドエフェクターフォース
EndEffectorStateResponseEndEffectorForce(constEndEffectorForceRequest& request)
デバイスのカーソルに規定の力を加える。
このコマンドは、デバイスをカーソル・シミュレーション・モードに切り替え、新しい力または新しいシミュレーション・モードによって上書きされるまで、指定された力を維持します。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはxSendEndEffectorForceと同等だが、エラー処理メカニズムは提供しない。
パラメータ
- requestカーソルに加える力。
リターン
デバイスのカーソルの現在の状態。
SendEndEffectorForce
void SendEndEffectorForce()
デバイスのカーソルへの力の発生を停止する。
SendEndEffectorForce
void SendEndEffectorForce(const float force)
デバイスのカーソルに規定の力を加える。
このコマンドは、デバイスをカーソル・シミュレーション・モードに切り替え、新しい力または新しいシミュレーション・モードによって上書きされるまで、指定された力を維持します。
その後にReceiveEndEffectorStateをコールして、デバイスの応答を処理しなければならない。
機能的にはEndEffectorForceと同等ですが、基本的なエラー処理メカニズムを提供します。
エンドエフェクターポジション
EndEffectorStateResponseEndEffectorPosition(constEndEffectorPositionRequest& request)
デバイスのカーソルの位置を設定する。
このコマンドは、デバイスをカーソル・シミュレーション・モードに切り替え、新しい位置または新しいシミュレーション・モードによって上書きされるまで、指定された位置を維持する。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはxSendEndEffectorPositionと同等だが、エラー処理メカニズムは提供しない。
パラメータ
- requestカーソルの位置。
リターン
デバイスのカーソルの現在の状態。
SendEndEffectorPosition(センド・エンド・エフェクター・ポジション
void SendEndEffectorPosition()
デバイスのカーソルへの力の発生を停止する。
SendEndEffectorPosition(センド・エンド・エフェクター・ポジション
void SendEndEffectorPosition(const float position)
デバイスのカーソルの位置を設定する。
このコマンドは、デバイスをカーソル・シミュレーション・モードに切り替え、新しい位置または新しいシミュレーション・モードによって上書きされるまで、指定された位置を維持する。
その後にReceiveEndEffectorStateをコールして、デバイスの応答を処理しなければならない。
機能的にはEndEffectorPositionと同等だが、基本的なエラー処理メカニズムを提供する。
ReceiveEndEffectorState
int ReceiveEndEffectorState()
SendEndEffectorForceまたはSendEndEffectorPositionからの応答を受信し、結果を破棄する。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
ReceiveEndEffectorState
int ReceiveEndEffectorState() float * 位置 float * 速度)
SendEndEffectorForceまたはSendEndEffectorPositionからの応答を受信し、指定された引数に結果を格納します。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
こちらも参照
パラメータの説明については EndEffetorStatesResponse を参照のこと。
デバイスオリエンテーションクエリー
DeviceOrientationResponseDeviceOrientationQuery()
デバイスのボディの向きを問い合わせる。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはSendDeviceOrientationQueryと同等だが、エラー処理メカニズムは提供しない。
リターン
デバイス本体の向き。
SendDeviceOrientationQuery
void SendDeviceOrientationQuery()
デバイスのボディの向きを問い合わせる。
デバイスの応答を処理するために、ReceiveDeviceOrientationをコールしなければならない。
機能的にはDeviceOrientationQueryと同等だが、基本的なエラー処理メカニズムを提供する。
ReceiveDeviceOrientation
int ReceiveDeviceOrientation()
SendDeviceOrientationQueryからの応答を受け取り、結果を破棄する。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
ReceiveDeviceOrientation
int ReceiveDeviceOrientation(float 四元数)
SendDeviceOrientationQuery の応答を受け取り、その結果を引数に格納します。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
こちらも参照
パラメータについてはDeviceOrientationResponse を参照のこと。
デバイスパワークエリー
DevicePowerResponseDevicePowerQuery()
デバイスの給電状態を問い合わせる。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはSendDevicePowerQueryと同等だが、エラー処理メカニズムは提供しない。
リターン
デバイスの電源状態。
SendDevicePowerQuery
void SendDevicePowerQuery()
デバイスの給電状態を問い合わせる。
デバイスの応答を処理するために、ReceiveDevicePowerをコールしなければならない。
機能的にはDevicePowerQueryと同等ですが、基本的なエラー処理メカニズムを提供します。
デバイスパワーを受け取る
int ReceiveDevicePower()
SendDevicePowerQueryからの応答を受け取り、結果を破棄する。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
デバイスパワーを受け取る
int ReceiveDevicePower(bool * powered)
SendDevicePowerQueryからの応答を受け取り、指定された引数に結果を格納します。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
こちらも参照
パラメータについてはDevicePowerResponse を参照のこと。
デバイス温度クエリ
DeviceTemperatureResponseDeviceTemperatureQuery()
デバイスの温度を問い合わせる。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはSendDeviceTemperatureQueryと同等だが、エラー処理メカニズムは提供しない。
リターン
デバイスの温度。
SendDeviceTemperatureQuery
void SendDeviceTemperatureQuery()
デバイスの温度を問い合わせる。
デバイスの応答を処理するために、ReceiveDeviceTemperatureをコールしなければならない。
機能的にはDeviceTemperatureQueryと同等ですが、基本的なエラー処理メカニズムを提供します。
受信デバイス温度
int ReceiveDeviceTemperature()
SendDeviceTemperatureQueryからの応答を受け取り、結果を破棄する。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
受信デバイス温度
int ReceiveDeviceTemperature(float * 温度)
指定された引数に結果を格納するSendDeviceTemperatureQueryからの応答を受信します。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
こちらも参照
DeviceTemperatureResponseパラメータの説明。
モーター電流クエリー
MotorCurrentsResponseMotorCurrentsQuery()
デバイスのモーターに印加されている電流を問い合わせる。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはSendMotorCurrentsQueryと同等だが、エラー処理メカニズムは提供しない。
リターン
装置の各モーターの電流。
モーター電流クエリー送信
void SendMotorCurrentsQuery()
デバイスのモーターに印加されている電流を問い合わせる。
デバイスの応答を処理するために、ReceiveMotorCurrentsをコールする必要がある。
機能的にはMotorCurrentsQueryと同等だが、基本的なエラー処理メカニズムを提供する。
モーター電流の受信
int ReceiveMotorCurrents()
SendMotorCurrentsQueryからの応答を受信し、結果を破棄する。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
モーター電流の受信
int ReceiveMotorCurrents(float * 電流)
SendMotorCurrentsQueryからの応答を受信し、指定された引数に結果を格納する。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
こちらも参照
パラメータの説明はMotorCurrentsResponse を参照。
GetDeviceHandedness
DeviceHandednessPayloadGetDeviceHandedness()
デバイスの利き手を問い合わせる。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはSendGetDeviceHandednessと同等だが、エラー処理メカニズムは提供しない。
リターン
デバイスの利き手。
SendGetDeviceHandedness
void SendGetDeviceHandedness()
デバイスの利き手を問い合わせる。
デバイスの応答を処理するために、ReceiveDeviceHandednessをコールしなければならない。
機能的にはGetDeviceHandednessと同等だが、基本的なエラー処理メカニズムを提供する。
手の大きさを設定する
DeviceHandednessPayloadSetDeviceHandedness(constDeviceHandednessPayload& payload)
デバイスのハンドネスを設定する。
ハンドネスを変更すると、デバイスの参照フレームが変更され、内部状態がリセットされます。これには、デバイスのキャリブレーション、トルク/角度/力/位置の値、シミュレーションモードが含まれます。ハンドネスを変更すると、デバイスのアームの物理的な変更も必要になります。この変更を行う方法については、Haplyのドキュメントハブを参照してください。
このメソッドによる変更は、デバイスの次のパワー・サイクルまでしか持続しない。SaveConfig を使用すると、変更を永続的に保持できます。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはSendSetDeviceHandednessと同等だが、エラー処理メカニズムは提供しない。
リターン
デバイスの利き手。
送信設定デバイスの手の大きさ
void SendSetDeviceHandedness(const uint8_t & handedness)
デバイスのハンドネスを設定する。
ハンドネスを変更すると、デバイスの参照フレームが変更され、内部状態がリセットされます。これには、デバイスのキャリブレーション、トルク/角度/力/位置の値、シミュレーションモードが含まれます。ハンドネスを変更すると、デバイスのアームの物理的な変更も必要になります。この変更を行う方法については、Haplyのドキュメントハブを参照してください。
このメソッドによる変更は、デバイスの次のパワー・サイクルまでしか持続しない。SaveConfig を使用すると、変更を永続的に保持できます。
このメソッドによる変更は、デバイスの次のパワー・サイクルまでしか持続しない。SaveConfig を使用すると、変更を永続的に保持できます。
デバイスの応答を処理するために、ReceiveDeviceHandednessをコールしなければならない。
機能的にはSetDeviceHandednessと同等だが、基本的なエラー処理メカニズムを提供する。
ReceiveDeviceHandedness
int ReceiveDeviceHandedness()
SendGetDeviceHandednessまたはSendSetDeviceHandednessからの応答を受け取り、結果を破棄する。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
ReceiveDeviceHandedness
int ReceiveDeviceHandedness(uint8_t * ハンドネス)
SendGetDeviceHandednessまたはSendSetDeviceHandednessからの応答を受け取り、指定された引数に結果を格納します。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
こちらも参照
DeviceHandednessResponse パラメータの説明はこちら。
GetTorqueScaling
トルク・スケーリング・ペイロードGetTorqueScaling()
デバイスのトルク・スケーリングの状態を問い合わせる。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはSendGetTorqueScalingと同等だが、エラー処理メカニズムは提供しない。
リターン
デバイスのトルク・スケーリング状態。
SendGetTorqueScaling
void SendGetTorqueScaling()
デバイスのトルク・スケーリングの状態を問い合わせる。
その後にReceiveTorqueScalingをコールして、デバイスの応答を処理しなければならない。
機能的にはGetTorqueScalingと同等だが、基本的なエラー処理メカニズムを提供する。
セットトルクスケーリング
トルクスケーリングペイロードSetTorqueScaling(constTorqueScalingPayload& payload)
デバイスのトルク・スケーリング状態を指定された値に設定する。
このメソッドによる変更は、デバイスの次のパワー・サイクルまでしか持続しない。SaveConfig を使用すると、変更を永続的に保持できます。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはSendGetTorqueScalingと同等だが、エラー処理メカニズムは提供しない。
リターン
デバイスのトルク・スケーリング状態。
センドセットトルクスケーリング
void SendSetTorqueScaling(const bool & enabled)
デバイスのトルク・スケーリング状態を指定された値に設定する。
このメソッドによる変更は、デバイスの次のパワー・サイクルまでしか持続しない。SaveConfig を使用すると、変更を永続的に保持できます。
その後にReceiveTorqueScalingをコールして、デバイスの応答を処理しなければならない。
機能的にはSetTorqueScalingと同等だが、基本的なエラー処理メカニズムを提供する。
ReceiveTorqueScaling
int ReceiveTorqueScaling()
SendGetTorqueScalingまたはSendSetTorqueScalingからの応答を受信し、結果を破棄する。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
ReceiveTorqueScaling
int ReceiveTorqueScaling(bool * enabled)
SendGetTorqueScalingまたはSendSetTorqueScalingからの応答を受信し、指定された引数に結果を格納する。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
こちらも参照
TorqueScalingPayloadにパラメータがあります。
重力補償
GravityCompensationPayloadGetGravityCompensation()
デバイスの重力補正状態を問い合わせる。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはSendGetGravityCompensationと同等だが、エラー処理メカニズムは提供しない。
リターン
デバイスの重力補正状態。
重力補償の送信
void SendGetGravityCompensation()
デバイスの重力補正状態を問い合わせる。
その後にReceiveGravityCompensationをコールして、デバイスの応答を処理しなければならない。
機能的にはGetGravityCompensationと同等だが、基本的なエラー処理メカニズムを提供する。
重力補償の設定
重力補償ペイロードSetGravityCompensation(constGravityCompensationPayload& payload)
デバイスの重力補正状態を指定された値に設定する。
このメソッドによる変更は、デバイスの次のパワー・サイクルまでしか持続しない。SaveConfig を使用すると、変更を永続的に保持できます。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはSendSetGravityCompensationと同等だが、エラー処理メカニズムは提供しない。
リターン
装置の重力補償状態。
送信設定重力補償
void SendSetGravityCompensation() const bool & enabled、 const float & 重力スケール係数)
デバイスの重力補正状態を指定された値に設定する。
このメソッドによる変更は、デバイスの次のパワー・サイクルまでしか持続しない。SaveConfig を使用すると、変更を永続的に保持できます。
その後にReceiveGravityCompensationをコールして、デバイスの応答を処理しなければならない。
機能的にはGetGravityCompensationと同等だが、基本的なエラー処理メカニズムを提供する。
重力補償を受ける
int ReceiveGravityCompensation()
SendGetGravityCompensationまたはSendSetGravityCompensationの応答を受信し、結果を破棄する。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
重力補償を受ける
int ReceiveGravityCompensation() ブール * 有効 float * 重力スケール係数)
SendGetGravityCompensationまたはSendSetGravityCompensationからの応答を受信し、指定された引数に結果を格納します。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
こちらも参照
GravityCompensationPayloadパラメータの説明。
セーブコンフィグ
SaveConfigResponseSaveConfig()
変更された設定パラメータを永続化する。
デバイスの永続ストレージには書き込み制限があり、このメソッドを呼び出すたびに消費される。そのため、このメソッドは滅多に使うべきではありません。
デバイスからメッセージを受信するか、エラーが発生するまでブロックする。エラーが発生した場合は、標準エラー出力にエラーが出力され、falseが返されることもある。
機能的にはSendSaveConfigと同等ですが、エラー処理メカニズムは提供しません。
リターン
コマンドの結果。
センドセーブコンフィグ
void SendSaveConfig()
変更された設定パラメータを永続化する。
デバイスの永続ストレージには書き込み制限があり、このメソッドを呼び出すたびに消費される。そのため、このメソッドは滅多に使うべきではありません。
デバイスの応答を処理するために、ReceiveSaveConfigをコールしなければならない。
機能的にはSaveConfigと同等ですが、基本的なエラー処理メカニズムを提供します。
ReceiveSaveConfig
int ReceiveSaveConfig(uint8_t * parameters_updated)
指定した引数に結果を格納するSendSaveConfigからの応答を受け取ります。
デバイスからメッセージを受信するか、エラーが発生するまでブロックされる。
リターン
操作が正常に完了した場合は 0 を返す。ストリームを介したデバイスとの通信中にエラーが発生した場合、このメソッドは負の値を返し、エラーが標準エラー出力に出力され、false を返すこともあります。
こちらも参照
パラメータの説明はSaveConfigResponse を参照。