FrankaControlProtocol 仕様準拠
nut_touch_cartesianpose.cpp
sudo ./nut_touch_cartesianpose robot-ip-address port
指定ポートにパケットを受信した後で、1msec周期で送信元の指定ポートにRobotStateを送信する。
対応コマンドは以下。
rc_begin : 何も処理しない。送信元IPアドレスを判定するために使う。
rc_RobotState : RobotStateをコンソールに表示する。表示項目は送信項目と同じ。
rc_CartesianPose : 受信データをfranka::CartesianPose outputに設定する。
rc_CartesianPose_init : 初期待機位置姿勢に移動する。
rc_CartesianPose_drag : 受信データを目標位置姿勢としてサイン波駆動で移動する。
rc_CartesianPose_relative : 受信データをrobot_state.O_T_EE_dに加算してoutputにする。
rc_end : プログラムを終了する。
送信するRobotStateの項目は以下。
O_T_EE,O_T_EE_d,tau_J,q,q_d,dq,dq_d,joint_contact,cartesian_contact,tau_ext_hat_filtered,theta,dtheta
nut_robotsimu.cpp
./nut_robotsimu port
指定ポートにパケットを受信した後で、1msec周期で送信元の指定ポートにRobotStateを送信する。
対応コマンドは以下。
rc_begin : 何も処理しない。送信元IPアドレスを判定するために使う。
rc_RobotState : 何も処理しない。
rc_CartesianPose : 受信データをO_T_EE,O_T_EE_dに設定する。
rc_CartesianPose_init : O_T_EE,O_T_EE_dをゼロクリアする。
rc_CartesianPose_drag : 受信データをO_T_EE,O_T_EE_dに加算する。
rc_CartesianPose_relative : 受信データをO_T_EE,O_T_EE_dに加算する。
rc_end : 何も処理しない。
送信するRobotStateの項目は以下。
O_T_EE,O_T_EE_d,tau_J,q,q_d,dq,dq_d,joint_contact,cartesian_contact,tau_ext_hat_filtered,theta,dtheta
全ての初期値はゼロとする。各項目の最終要素は1msec毎に変化する値となっている。