本文へスキップ
バージョン:最新

インバース3

Haply::HardwareAPI::Devices::Inverse3

Inverse3デバイスと対話するために必要なロジックをカプセル化します。

コンストラクタのパラメータとして、Inverse3のシリアルポートを表すSerialStreamクラスのインスタンスが必要です。コンストラクタが構築されると、DeviceWakeupコマンドによってデバイスがウェイクアップされ、送信メソッドが有効になります。すべての送信メソッドの後には、デバイスの応答を処理するためにそれぞれの受信メソッドが続く必要があります。

このクラスでは、デバイスのカーソルを指すのに、エンド・エフェクタという用語を使用します。

このクラス内のすべてのメソッドは、IO操作が完了するまでブロックされる。Inverse3デバイスは最大8kHzの周波数で動作することができ、スムーズな触覚体験を保証するために最低1kHzが推奨されます。複数のデバイスが同じスレッドで管理されている場合、全体の処理周波数は、すべてのデバイスの中で最も低い周波数が上限となります。したがって、同じスレッド内でハンドルとInverse3を混在させることは推奨されません。

インデックス

クラス

メンバー

名称タイプ説明
NUM_JOINTS静的 constexpr uint8_tインバース3装置のモーター/ジョイントの数。
左利き静的 constexpr uint8_t左利き用デバイスの定数 ...
RIGHT_HANDED静的 constexpr uint8_t右利き用デバイスの定数 ...

方法

名称タイプ説明
インバース3(...)...からInverse3オブジェクトを構築する。
デバイスウェイクアップDeviceInfoResponse(...)デバイスをウェイクアップして追加コマンドを可能にする。
SendDeviceWakeupvoid()デバイスをウェイクアップして追加コマンドを可能にする。
ReceiveDeviceInfoint()...からの応答を受け取る。
ReceiveDeviceInfoint(uint16_t *, uint8_t *, uint8_t *, ...)...からの応答を受け取る。
DeviceIdExtQueryDeviceIdExtResponse(...)デバイスのUUIDを問い合わせる。
SendDeviceIdExtQueryvoid()デバイスのUUIDを問い合わせる。
ReceiveDeviceIdExtint()...からの応答を受け取る。
ReceiveDeviceIdExtint(UUID*)...からの応答を受け取る。
FirmwareVersionExtQueryFirmwareVersionExtResponse(...)拡張ファームウェア・バージョンをデバイスに問い合わせる。
SendFirmwareVersionExtQueryvoid()拡張ファームウェア・バージョンをデバイスに問い合わせる。
ReceiveFirmwareVersionExtint()...からの応答を受け取る。
ReceiveFirmwareVersionExtint(UUID*)...からの応答を受け取る。
ジョイント・トルクJointStatesResponse(...)装置のモーターに規定のトルクを加える。
センドジョイントトルクvoid()装置のモーターによるトルクの発生を停止する。
センドジョイントトルクvoid(const float)装置のモーターに規定のトルクを加える。
ジョイントアングルJointStatesResponse(...)デバイスの関節の角度を設定します。
センドジョイントアングルvoid()装置のモーターによるトルクの発生を停止する。
センドジョイントアングルvoid(const float)デバイスの関節の角度を設定します。
レシーブジョイントステートint()...からの応答を受け取る。
レシーブジョイントステートint(float *, float *)...からの応答を受け取る。
エンドエフェクターフォースEndEffectorStateResponse(...)デバイスのカーソルに規定の力を加える。
SendEndEffectorForcevoid()デバイスのカーソルへの力の発生を停止する。
SendEndEffectorForcevoid(const float)デバイスのカーソルに規定の力を加える。
エンドエフェクターポジションEndEffectorStateResponse(...)デバイスのカーソルの位置を設定する。
SendEndEffectorPosition(センド・エンド・エフェクター・ポジションvoid()デバイスのカーソルへの力の発生を停止する。
SendEndEffectorPosition(センド・エンド・エフェクター・ポジションvoid(const float)デバイスのカーソルの位置を設定する。
ReceiveEndEffectorStateint()...からの応答を受け取る。
ReceiveEndEffectorStateint(float *, float *)...からの応答を受け取る。
デバイスオリエンテーションクエリーDeviceOrientationResponse(...)デバイスのボディの向きを問い合わせる。
SendDeviceOrientationQueryvoid()デバイスのボディの向きを問い合わせる。
ReceiveDeviceOrientationint()...からの応答を受け取る。
ReceiveDeviceOrientationint(float)...からの応答を受け取る。
デバイスパワークエリーDevicePowerResponse(...)デバイスの給電状態を問い合わせる。
SendDevicePowerQueryvoid()デバイスの給電状態を問い合わせる。
デバイスパワーを受け取るint()...からの応答を受け取る。
デバイスパワーを受け取るint(bool *)...からの応答を受け取る。
デバイス温度クエリデバイス温度応答(...)デバイスの温度を問い合わせる。
SendDeviceTemperatureQueryvoid()デバイスの温度を問い合わせる。
受信デバイス温度int()...からの応答を受け取る。
受信デバイス温度int(float *)...からの応答を受け取る。
モーター電流クエリーMotorCurrentsResponse(...)デバイスのモーターに印加されている電流を問い合わせる。
モーター電流クエリー送信void()デバイスのモーターに印加されている電流を問い合わせる。
モーター電流の受信int()...からの応答を受け取る。
モーター電流の受信int(float *)...からの応答を受け取る。
GetDeviceHandednessデバイスハンドレッドペイロード(...)デバイスの利き手を問い合わせる。
SendGetDeviceHandednessvoid()デバイスの利き手を問い合わせる。
手の大きさを設定するデバイスハンドレッドペイロード(...)デバイスのハンドネスを設定する。
送信設定デバイスの手の大きさvoid(const uint8_t &)デバイスのハンドネスを設定する。
ReceiveDeviceHandednessint()...からの応答を受け取る。
ReceiveDeviceHandednessint(uint8_t *)...からの応答を受け取る。
GetTorqueScalingトルク・スケーリング・ペイロード(...)デバイスのトルク・スケーリングの状態を問い合わせる。
SendGetTorqueScalingvoid()デバイスのトルク・スケーリングの状態を問い合わせる。
セットトルクスケーリングトルク・スケーリング・ペイロード(...)デバイスのトルク・スケーリング状態を、提供された...
センドセットトルクスケーリングvoid(const bool &)デバイスのトルク・スケーリング状態を、提供された...
ReceiveTorqueScalingint()...からの応答を受け取る。
ReceiveTorqueScalingint(bool *)...からの応答を受け取る。
重力補償GravityCompensationPayload(...)デバイスの重力補正状態を問い合わせる。
重力補償の送信void()デバイスの重力補正状態を問い合わせる。
重力補償の設定GravityCompensationPayload(...)デバイスの重力補正状態を、提供された...
送信設定重力補償void(const bool &, const float &)デバイスの重力補正状態を、提供された...
重力補償を受けるint()...からの応答を受け取る。
重力補償を受けるint(bool *, float *)...からの応答を受け取る。
セーブコンフィグSaveConfigResponse(...)変更された設定パラメータを永続化する。
センドセーブコンフィグvoid()変更された設定パラメータを永続化する。
ReceiveSaveConfigint(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 を参照。