数据类型

  • 回调函数

  • 笛卡尔空间位置数据类型
    1
    2
    3
    4
    5
    
      typedef struct {
          double x;  // x轴坐标, 单位mm
          double y;  // y轴坐标, 单位mm
          double z;  // z轴坐标, 单位mm
      }CartesianTran;
    
  • 欧拉角姿态数据类型
    1
    2
    3
    4
    5
    
      typedef struct {
          double rx;  // 绕固定 轴X 旋转角度,单位: rad
          double ry;  // 绕固定 轴Y 旋转角度,单位: rad
          double rz;  // 绕固定 轴Z 旋转角度,单位: rad
      }Rpy;
    
  • 笛卡尔空间位姿类型
    1
    2
    3
    4
    
      typedef struct {
          CartesianTran tran;  // 笛卡尔空间位置
          Rpy rpy;             // 笛卡尔空间姿态
      }CartesianPose;
    
  • 描述旋转有几种方式:旋转矩阵、欧拉角、旋转向量、四元数。
    • 旋转矩阵用9个量描述3个自由度,具有冗余性;
    • 欧拉角和旋转向量虽然是紧凑的,但是具有奇异性;
    • 因此某个牛人找到了四元数,既紧凑又没有奇异性。
  • 关节位置数据类型
    1
    2
    3
    
      typedef struct {
          double jVal[6];  // 6关节位置值,单位:rad
      }JointValue;
    
  • 机器人状态数据类型
    1
    2
    3
    4
    5
    
      typedef struct {
          bool estoped;       // 是否急停
          bool poweredOn;     // 是否打开电源
          bool servoEnabled;  // 是否使能
      }RobotState;
    
  • 机器人力矩数据类型
    1
    2
    3
    
      typedef struct {
          double jTorque[6];  // 各关节力矩值,单位:N
      }TorqueValue;
    

API

  • 机器人登录
    • 简介:连接机器人控制器
    • 声明:errno_t login_in(const char* ip);
    • 参数:
      • ip – 控制器ip地址
    • 返回值:
      • ERR_SUCC – 成功
      • 其他失败
  • 机器人注销
    • 简介:断开控制器连接
    • 声明:errno_t login_out();
    • 参数:无
    • 返回值:
      • ERR_SUCC – 成功
      • 其他失败
  • 机器人上电
    • 简介:打开机器人电源
    • 声明:errno_t power_on();
    • 参数:无
    • 返回值:
      • ERR_SUCC – 成功
      • 其他失败
  • 机器人下电
    • 简介:关闭机器人电源
    • 声明:errno_t power_off();
    • 参数:无
    • 返回值:
      • ERR_SUCC – 成功
      • 其他失败
  • 获取机器人状态
    • 简介:获取机器人状态
    • 声明:errno_t get_robot_state(RobotState* state);
    • 参数:
      • state – 机器人状态查询结果
    • 返回值:
      • ERR_SUCC – 成功
      • 其他失败
  • 获取当前设置下工具末端的位姿
    • 简介:获取当前设置下工具末端的位姿
    • 声明:errno_t get_tcp_position(CartesianPose* tcp_position);
    • 参数:
      • tcp_position – 工具末端位置查询结果
    • 返回值:
      • ERR_SUCC – 成功
      • 其他失败
  • 获取当前机器人关节角度
    • 简介:获取当前机器人关节角度
    • 声明:errno_t get_joint_position(JointValue* joint_position);
    • 参数:
      • joint_position – 关节角度查询结果
    • 返回值:
      • ERR_SUCC – 成功
      • 其他失败
  • 查询机器人运动是否停止
    • 简介:查询机器人运动是否停止
    • 声明:errno_t is_in_pos(bool* in_pos);
    • 参数:
      • in_pos – 查询结果
    • 返回值:
      • ERR_SUCC – 成功
      • 其他失败
  • 机器人求解逆解
    • 简介:计算指定位姿在当前工具,当前安装角度以及当前用户坐标系设置下的逆解
    • 声明:errno_t kine_inverse(const JointValue* ref_pos, const CartesianPose* cartesian_pose, JointValue* joint_pos);