Dobotロボット 二次開発用のSDKについて
Dobot社のロボットは多くのロボットステータスがSDKにより取得可能であり、独自のアプリケーションを作成することで、ロボットの能力を最大限に活用できます。
取得できるステータスはDobot Download Centerから取得できるSDKのコード内に記述されています。
class CFeedbackData
{
public:
unsigned short MessageSize = 0;//メッセージのバイト長の合計
short Reserved1[3];//予約
long DigitalInputs = 0;//IO入力
long DigitalOutputs = 0;//IO出力
long RobotMode = 0;//ロボットモード
long TimeStamp = 0;//タイムスタンプ(単位ms)
long Reserved2 = 0;//予約2
long TestValue = 0;// 0x0123 4567 89AB CDEF
double Reserved3 = 0;//予約3
double SpeedScaling = 0;//速度オーバーライド値
double LinearMomentumNorm = 0; //ロボット運動量の現在値
double VMain = 0;//制御盤電圧
double VRobot = 0;//ロボット本体電圧
double IRobot = 0;//ロボット本体電流
double Reserved4 = 0;//予約4
double Reserved5 = 0;//予約5
double ToolAccelerometerValues[3];//TCP加速度
double ElbowPosition[3];//肘位置
double ElbowVelocity[3];//肘速度
double QTarget[6];//目標関節位置
double QdTarget[6];//目標関節速度
double QddTarget[6];//目標関節加速度
double ITarget[6];//目標関節モーター電流
double MTarget[6];//目標関節モーター電流
double QActual[6];//実際の関節位置
double QdActual[6];//実際の関節速度
double IActual[6];//実際の関節モーター電流
double IControl[6];//TCP力覚センサー値
double ToolVectorActual[6];//実際のTCPデカルト座標値
double TCPSpeedActual[6]; //実際のTCP速度
double TCPForce[6];//TCP力値
double ToolVectorTarget[6];//目標とするTCPデカルト座標値
double TCPSpeedTarget[6];//目標とするTCP速度
double MotorTempetatures[6];//各軸モーター温度
double JointModes[6];//関節制御モード
double VActual[6];//各軸関節電圧
unsigned char Handtype[4];//関節方向 R,D,N,Cfg
unsigned char User = 0;//ユーザー座標系
unsigned char Tool = 0;//工具座標系
unsigned char RunQueuedCmd = 0;//動作キューフラグ
unsigned char PauseCmdFlag = 0;//一時停止フラグ
unsigned char VelocityRatio = 0;//ジョイント速度レシオ(0~100)
unsigned char AccelerationRatio = 0;//ジョイント加速度レシオ(0~100)
unsigned char JerkRatio = 0;//ジョイント加加速度レシオ(0~100)
unsigned char XYZVelocityRatio = 0;//デフォルト座標系速度レシオ(0~100)
unsigned char RVelocityRatio = 0;//デフォルト座標系回転速度レシオ(0~100)
unsigned char XYZAccelerationRatio = 0;//デフォルト座標系加速度レシオ(0~100)
unsigned char RAccelerationRatio = 0;//デフォルト座標回転系加速度レシオ(0~100)
unsigned char XYZJerkRatio = 0;//デフォルト座標系加加速度レシオ(0~100)
unsigned char RJerkRatio = 0;//デフォルト座標回転系加加速度レシオ(0~100)
unsigned char BrakeStatus = 0; //ブレーキ状態
unsigned char EnableStatus = 0;//イネーブル状態
unsigned char DragStatus = 0;//ティーチングモード状態
unsigned char RunningStatus = 0;//ロボット動作状態
unsigned char ErrorStatus = 0;//エラー状態
unsigned char JogStatus = 0;//ロボットのジョグ状態
unsigned char RobotType = 0; //ロボットのタイプ
unsigned char DragButtonSignal = 0; //ティーチングモードボタン信号
unsigned char EnableButtonSignal = 0;//イネーブルボタンの信号
unsigned char RecordButtonSignal = 0;//ロボット動作記録ボタンの信号
unsigned char ReappearButtonSignal = 0;//軌跡再生ボタンの信号
unsigned char JawButtonSignal = 0; //グリッパ制御信号
unsigned char SixForceOnline = 0;//六軸力覚センサーの通信状況
unsigned char Reserved6[82];//予約6
double MActual[6];//実トルク
double Load = 0;//ハンド搭載kg
double CenterX = 0;//ハンド重心X方向距離mm
double CenterY = 0;//ハンド重心Y方向距離mm
double CenterZ = 0;//ハンド重心Z方向距離mm
double UserValu[6];//ユーザー座標系設定値
double Tools[6];//ツール座標系設定値
double TraceIndex = 0;//再現軌跡選択のインデックス
double SixForceValue[6];//現在の6軸力覚センサーの変換前の値
double TargetQuaternion[4]; //[qw,qx,qy,qz] 目標とする四元数
double ActualQuaternion[4];//[qw,qx,qy,qz] 実際の四元数
unsigned char Reserved7[24];//予約7
};