1584 lines
54 KiB
C++
1584 lines
54 KiB
C++
#ifndef RSDEF_H
|
||
#define RSDEF_H
|
||
#include <vector>
|
||
#include "rstype.h"
|
||
#include "AuboRobotMetaType.h"
|
||
|
||
#define TRUE 1
|
||
#define FALSE 0
|
||
#define RS_SUCC 0
|
||
#define RS_FAILED -1
|
||
#define MAX_RS_INSTANCE 32
|
||
#define POS_SIZE 3
|
||
#define ORI_SIZE 4
|
||
#define INERTIA_SIZE 6
|
||
#define JOINT_RADIAN_SIZE 6
|
||
|
||
#define RS_UNUSED(x) (void)x;
|
||
//#define _DEBUG
|
||
|
||
using namespace aubo_robot_namespace;
|
||
|
||
typedef CoordCalibrateByJointAngleAndTool CoordCalibrate;
|
||
|
||
typedef struct
|
||
{
|
||
CoordCalibrate user_coord;
|
||
char used;
|
||
} CustomUserCoord;
|
||
|
||
typedef struct
|
||
{
|
||
double rotateAxis[3];
|
||
} Move_Rotate_Axis;
|
||
|
||
typedef struct
|
||
{
|
||
wayPoint_S waypoint[8];
|
||
int solution_count;
|
||
} ik_solutions;
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
// library initialize and uninitialize
|
||
/**
|
||
* @brief 初始化机械臂控制库
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_initialize(void);
|
||
|
||
/**
|
||
* @brief 反初始化机械臂控制库
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_uninitialize(void);
|
||
|
||
// robot service context
|
||
/**
|
||
* @brief 创建机械臂控制上下文句柄
|
||
* @param rshd
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_create_context(
|
||
RSHD *rshd /*returned context handle*/);
|
||
|
||
/**
|
||
* @brief 注销机械臂控制上下文句柄
|
||
* @param rshd
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_destory_context(RSHD rshd);
|
||
|
||
// login logout
|
||
/**
|
||
* @brief 链接机械臂服务器
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param addr 机械臂服务器的IP地址
|
||
* @param port 机械臂服务器的端口号
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_login(RSHD rshd, const char *addr,
|
||
int port);
|
||
|
||
/**
|
||
* @brief 断开机械臂服务器链接
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_logout(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 获取当前的连接状态
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param status true 在线 false 离线
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_login_status(RSHD rshd, bool *status);
|
||
// set move profile
|
||
/**
|
||
* @brief 初始化全局的运动属性
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_init_global_move_profile(RSHD rshd);
|
||
|
||
// joint max acc,velc
|
||
/**
|
||
* @brief 设置六个关节的最大加速度
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param max_acc 六个关节的最大加速度,单位(rad/ss)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_global_joint_maxacc(
|
||
RSHD rshd, const JointVelcAccParam *max_acc);
|
||
|
||
/**
|
||
* @brief 设置六个关节的最大速度
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param max_velc 六个关节的最大速度,单位(rad/s)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_global_joint_maxvelc(
|
||
RSHD rshd, const JointVelcAccParam *max_velc);
|
||
|
||
/**
|
||
* @brief 获取六个关节的最大加速度
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param max_acc 返回六个关节的最大加速度单位(rad/s^2)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_global_joint_maxacc(
|
||
RSHD rshd, JointVelcAccParam *max_acc);
|
||
|
||
/**
|
||
* @brief 获取六个关节的最大速度
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param max_velc 返回六个关节的最大加度单位(rad/s)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_global_joint_maxvelc(
|
||
RSHD rshd, JointVelcAccParam *max_velc);
|
||
|
||
// end line max acc,velc
|
||
/**
|
||
* @brief 设置机械臂末端最大线加速度
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param max_acc 末端最大加线速度,单位(m/s^2)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_global_end_max_line_acc(RSHD rshd,
|
||
double max_acc);
|
||
|
||
/**
|
||
* @brief 设置机械臂末端最大线速度
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param max_velc 末端最大线速度,单位(m/s)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_global_end_max_line_velc(
|
||
RSHD rshd, double max_velc);
|
||
|
||
/**
|
||
* @brief 获取机械臂末端最大线加速度
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param max_acc 机械臂末端最大线加速度,单位(m/s^2)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_global_end_max_line_acc(
|
||
RSHD rshd, double *max_acc);
|
||
|
||
/**
|
||
* @brief 获取机械臂末端最大线速度
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param max_velc 机械臂末端最大线速度,单位(m/s)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_global_end_max_line_velc(
|
||
RSHD rshd, double *max_velc);
|
||
|
||
// end line max acc,velc
|
||
/**
|
||
* @brief 设置机械臂末端最大角加速度
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param max_acc 末端最大角加速度,单位(rad/s^2)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_global_end_max_angle_acc(
|
||
RSHD rshd, double max_acc);
|
||
|
||
/**
|
||
* @brief 设置机械臂末端最大角速度
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param max_velc 末端最大速度,单位(rad/s)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_global_end_max_angle_velc(
|
||
RSHD rshd, double max_velc);
|
||
|
||
/**
|
||
* @brief 获取机械臂末端最大角加速度
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param max_acc 机械臂末端最大角加速度,单位(m/s^2)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_global_end_max_angle_acc(
|
||
RSHD rshd, double *max_acc);
|
||
|
||
/**
|
||
* @brief 获取机械臂末端最大角加速度
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param max_velc 机械臂末端最大角速度,单位(m/s)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_global_end_max_angle_velc(
|
||
RSHD rshd, double *max_velc);
|
||
|
||
/**
|
||
* @brief 设置机械臂关节运动范围
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param joint_range
|
||
* 机械臂每个关节的运动范围(±175°)注意!!!单位使用弧度(rad)
|
||
* @param enable 使能关节运动范围控制 true:启用 false:禁用
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_robot_joint_motion_range(
|
||
RSHD rshd, RangeOfMotion joint_range[ARM_DOF], bool enable = true);
|
||
|
||
// robot move
|
||
/**
|
||
* @brief 机械臂轴动
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param joint_radian 六个关节的关节角,单位(rad)
|
||
* @param isblock isblock==true
|
||
* 代表阻塞,机械臂运动直到到达目标位置或者出现故障后返回。 isblock==false
|
||
* 代表非阻塞,立即返回,运动指令发送成功就返回,函数返回后机械臂开始运动。
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_move_joint(RSHD rshd,
|
||
double joint_radian[ARM_DOF],
|
||
bool isblock = true);
|
||
|
||
/**
|
||
* @brief 机械臂轴动
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param move_profile 运动属性
|
||
* @param joint_radian 六个关节的关节角,单位(rad)
|
||
* @param isblock isblock==true
|
||
* 代表阻塞,机械臂运动直到到达目标位置或者出现故障后返回。 isblock==false
|
||
* 代表非阻塞,立即返回,运动指令发送成功就返回,函数返回后机械臂开始运动。
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_move_joint_ex(RSHD rshd,
|
||
MoveProfile_t *move_profile,
|
||
double joint_radian[ARM_DOF],
|
||
bool isblock = true);
|
||
|
||
/**
|
||
* @brief 跟随模式机械臂轴动
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param joint_radian 六个关节的关节角,单位(rad)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_follow_mode_move_joint(
|
||
RSHD rshd, double joint_radian[ARM_DOF]);
|
||
|
||
/**
|
||
* @brief 机械臂保持当前姿态直线运动
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param joint_radian 六个关节的关节角,单位(rad)
|
||
* @param isblock isblock==true
|
||
* 代表阻塞,机械臂运动直到到达目标位置或者出现故障后返回。 isblock==false
|
||
* 代表非阻塞,立即返回,运动指令发送成功就返回,函数返回后机械臂开始运动。
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_move_line(RSHD rshd,
|
||
double joint_radian[ARM_DOF],
|
||
bool isblock = true);
|
||
|
||
/**
|
||
* @brief 机械臂保持当前姿态直线运动
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param move_profile 运动属性
|
||
* @param joint_radian 六个关节的关节角,单位(rad)
|
||
* @param isblock isblock==true
|
||
* 代表阻塞,机械臂运动直到到达目标位置或者出现故障后返回。 isblock==false
|
||
* 代表非阻塞,立即返回,运动指令发送成功就返回,函数返回后机械臂开始运动。
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_move_line_ex(RSHD rshd,
|
||
MoveProfile_t *move_profile,
|
||
double joint_radian[ARM_DOF],
|
||
bool isblock = true);
|
||
|
||
/**
|
||
* @brief rs_move_rotate_to_waypoint保持当前位置变换姿态旋转运动至目标路点
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param target_waypiont 目标路点
|
||
* @param isblock isblock==true
|
||
* 代表阻塞,机械臂运动直到到达目标位置或者出现故障后返回。 isblock==false
|
||
* 代表非阻塞,立即返回,运动指令发送成功就返回,函数返回后机械臂开始运动。
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_move_rotate_to_waypoint(
|
||
RSHD rshd, aubo_robot_namespace::wayPoint_S *target_waypiont,
|
||
bool isblock = true);
|
||
|
||
/**
|
||
* @brief 保持当前位置变换姿态做旋转运动
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param user_coord 用户坐标系
|
||
* @param rotate_axis :转轴(x,y,z) 例如:(1,0,0)表示沿Y轴转动
|
||
* @param rotate_angle 旋转角度 单位(rad)
|
||
* @param isblock isblock==true
|
||
* 代表阻塞,机械臂运动直到到达目标位置或者出现故障后返回。 isblock==false
|
||
* 代表非阻塞,立即返回,运动指令发送成功就返回,函数返回后机械臂开始运动。
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_move_rotate(
|
||
RSHD rshd, const CoordCalibrate *user_coord,
|
||
const Move_Rotate_Axis *rotate_axis, double rotate_angle,
|
||
bool isblock = true);
|
||
|
||
/**
|
||
* rs_get_rotate_target_waypiont
|
||
* 根据根据起始点姿态及基坐标系下描述的旋转轴、旋转角,获取目标位姿
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param originateWayPointOnBaseCoord 起始路点信息
|
||
* @param rotateAxisOnBaseCoord 基坐标系下表示的旋转轴
|
||
* @param rotateAngle 旋转角
|
||
* @param targetWayPointOnBaseCoord 目标路点信息 (传出参数)
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_rotate_target_waypiont(
|
||
RSHD rshd,
|
||
const aubo_robot_namespace::wayPoint_S *originateWayPointOnBaseCoord,
|
||
const double rotateAxisOnBaseCoord[], double rotateAngle,
|
||
aubo_robot_namespace::wayPoint_S *targetWayPointOnBaseCoord);
|
||
|
||
/**
|
||
* @brief rs_get_rotateaxis_user_to_Base
|
||
* 将用户坐标系下描述的旋转轴转换到基坐标系下描述
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param oriOnUserCoord 用户做标系旋转姿态
|
||
* @param rotateAxisOnUserCoord 用户坐标系下描述的旋转轴
|
||
* @param rotateAxisOnBaseCoord 基坐标系下描述的旋转轴
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_rotateaxis_user_to_Base(
|
||
RSHD rshd, const aubo_robot_namespace::Ori *oriOnUserCoord,
|
||
const double rotateAxisOnUserCoord[], double rotateAxisOnBaseCoord[]);
|
||
|
||
/**
|
||
* @brief 清除所有已经设置的全局路点
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_remove_all_waypoint(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 添加全局路点用于轨迹运动
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param joint_radian 六个关节的关节角,单位(rad)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_add_waypoint(RSHD rshd,
|
||
double joint_radian[ARM_DOF]);
|
||
|
||
/**
|
||
* @brief 设置交融半径
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param radius 交融半径,单位(m)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_blend_radius(RSHD rshd, double radius);
|
||
|
||
/**
|
||
* @brief 设置圆运动圈数
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param times 当times大于0时,机械臂进行圆运动times次
|
||
* 当times等于0时,机械臂进行圆弧轨迹运动
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_circular_loop_times(RSHD rshd,
|
||
int times);
|
||
|
||
/**
|
||
* @brief 设置用户坐标系
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param user_coord 用户坐标系
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_user_coord(
|
||
RSHD rshd, const CoordCalibrate *user_coord);
|
||
|
||
/**
|
||
* @brief 设置基座坐标系
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_base_coord(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 检查用户坐标系参数设置是否合理
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param user_coord 用户坐标系
|
||
* @return RS_SUCC 成功 其他失败 合理返回: 0 不合理返回: 其他
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_check_user_coord(
|
||
RSHD rshd, const CoordCalibrate *user_coord);
|
||
|
||
/**
|
||
* @brief 检查用户坐标系标定
|
||
* @param rshd
|
||
* @param user_coord
|
||
* @param bInWPos 在世界坐标系中的位置
|
||
* @param bInWOri 在世界坐标系中的姿态
|
||
* @param wInBPos 在基座坐标系中的位置
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_user_coord_calibrate(
|
||
RSHD rshd, const CoordCalibrate *user_coord, double bInWPos[3],
|
||
double bInWOri[9], double wInBPos[3]);
|
||
|
||
/**
|
||
* @brief rs_tool_calibration 工具标定 该函数能标定出工具的位置信息和姿态信息
|
||
* @param toolCalibrate 工具标定结构体 用于储存标定点,标定方法等
|
||
* @param toolInEndDesc 标定的结果
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_tool_calibration(
|
||
RSHD rshd, const ToolCalibrate &toolCalibrate,
|
||
ToolInEndDesc &toolInEndDesc);
|
||
/**
|
||
* @brief 设置基于基座标系运动偏移量
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param relative 相对位移(x, y, z) 单位(m)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_relative_offset_on_base(
|
||
RSHD rshd, const MoveRelative *relative);
|
||
|
||
/**
|
||
* @brief 设置基于用户标系运动偏移量
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param relative 相对位移(x, y, z) 单位(m)
|
||
* @param user_coord 用户坐标系
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_relative_offset_on_user(
|
||
RSHD rshd, const MoveRelative *relative, const CoordCalibrate *user_coord);
|
||
|
||
/**
|
||
* @brief 取消提前到位设置
|
||
* @param rshd
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_no_arrival_ahead(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 设置距离模式下的提前到位距离
|
||
* @param rshd
|
||
* @param distance 提前到位距离 单位(米)
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_arrival_ahead_distance(RSHD rshd,
|
||
double distance);
|
||
|
||
/**
|
||
* @brief 设置时间模式下的提前到位时间
|
||
* @param rshd
|
||
* @param sec 提前到位时间 单位(秒)
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_arrival_ahead_time(RSHD rshd,
|
||
double sec);
|
||
|
||
/**
|
||
* @brief 设置距离模式下交融半径距离
|
||
* @param rshd
|
||
* @param distance 提前到位距离 单位(米)
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_arrival_ahead_blend(RSHD rshd,
|
||
double radius);
|
||
|
||
/**
|
||
* @brief 轨迹运动
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param sub_move_mode 轨迹类型:
|
||
* 2:圆弧
|
||
* 3:轨迹
|
||
* @param isblock isblock==true
|
||
* 代表阻塞,机械臂运动直到到达目标位置或者出现故障后返回。 isblock==false
|
||
* 代表非阻塞,立即返回,运动指令发送成功就返回,函数返回后机械臂开始运动。
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_move_track(RSHD rshd,
|
||
move_track sub_move_mode,
|
||
bool isblock = true);
|
||
|
||
/**
|
||
* @brief
|
||
* 保持当前位姿通过直线运动的方式运动到目标位置,其中目标位置是通过相对当前位置的偏移给出
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param target 基于用户平面表示的目标位置
|
||
* @param tool 工具参数
|
||
* @param isblock isblock==true
|
||
* 代表阻塞,机械臂运动直到到达目标位置或者出现故障后返回。 isblock==false
|
||
* 代表非阻塞,立即返回,运动指令发送成功就返回,函数返回后机械臂开始运动。
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_move_line_to(RSHD rshd, const Pos *target,
|
||
const ToolInEndDesc *tool,
|
||
bool isblock = true);
|
||
|
||
/**
|
||
* @brief 保持当前位姿通过关节运动的方式运动到目标位置
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param target 基于用户平面表示的目标位置
|
||
* @param tool 工具参数
|
||
* @param isblock isblock==true
|
||
* 代表阻塞,机械臂运动直到到达目标位置或者出现故障后返回。 isblock==false
|
||
* 代表非阻塞,立即返回,运动指令发送成功就返回,函数返回后机械臂开始运动。
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_move_joint_to(RSHD rshd, const Pos *target,
|
||
const ToolInEndDesc *tool,
|
||
bool isblock = true);
|
||
|
||
/**
|
||
* @brief 设置示教坐标系
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param user_coord 示教坐标系
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_teach_coord(
|
||
RSHD rshd, const CoordCalibrate *teach_coord);
|
||
|
||
/**
|
||
* @brief 开始轴动示教
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param mode 示教关节:JOINT1,JOINT2,JOINT3, JOINT4,JOINT5,JOINT6,
|
||
* 位置示教:MOV_X,MOV_Y,MOV_Z 姿态示教:ROT_X,ROT_Y,ROT_Z
|
||
* @param dir 运动方向 正方向true 反方向false
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_teach_move_start(RSHD rshd, teach_mode mode,
|
||
bool dir);
|
||
|
||
/**
|
||
* @brief 结束示教
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_teach_move_stop(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 清理服务器上的非在线轨迹运动数据
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_clear_offline_track(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 向服务器添加非在线轨迹运动路点
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param waypoints 路点数组 (路点个数小于等于3000)
|
||
* @param waypoint_count 路点数组大小
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_append_offline_track_waypoint(
|
||
RSHD rshd, const JointParam waypoints[], int waypoint_count);
|
||
|
||
/**
|
||
* @brief 向服务器添加非在线轨迹运动路点文件
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param filename
|
||
* 路点文件全路径,路点文件的每一行包含六个关节的关节角(弧度),用逗号隔开
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_append_offline_track_file(
|
||
RSHD rshd, const char *filename);
|
||
|
||
/**
|
||
* @brief 通知服务器启动非在线轨迹运动
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_startup_offline_track(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 通知服务器停止非在线轨迹运动
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_stop_offline_track(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 通知服务器启动非在线轨迹运动
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_startup_excit_traj_track(
|
||
RSHD rshd, const char *trackfile, char type, char subtype);
|
||
|
||
/**
|
||
* @brief 设置轨迹回放采样周期
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param second 采样周期(秒)
|
||
* @param RS_SUCC 成功 其他失败
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_track_playback_cycle(RSHD rshd,
|
||
double second);
|
||
|
||
/**
|
||
* @brief rs_get_dynidentify_results
|
||
* @param param
|
||
* @param len
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT bool rs_get_dynidentify_results(
|
||
RSHD rshd, std::vector<int> ¶mVector);
|
||
|
||
/**
|
||
* @brief 通知服务器进入TCP2CANBUS透传模式
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_enter_tcp2canbus_mode(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 通知服务器退出TCP2CANBUS透传模式
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_leave_tcp2canbus_mode(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 透传运动路点到CANBUS
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_waypoint_to_canbus(
|
||
RSHD rshd, double joint_radian[ARM_DOF]);
|
||
|
||
/**
|
||
* @brief 透传运动路点到CANBUS
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_waypoints_to_canbus(
|
||
RSHD rshd, double joint_radian[][ARM_DOF], int waypint_count);
|
||
|
||
/**
|
||
* @brief 正解 此函数为正解函数,已知关节角求对应位置的位置和姿态。
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param joint_radian 六个关节的关节角,单位(rad)
|
||
* @param waypoint 六个关节角,位置,姿态
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_forward_kin(
|
||
RSHD rshd, const double joint_radian[ARM_DOF], wayPoint_S *waypoint);
|
||
|
||
/**
|
||
* @brief 逆解
|
||
* 此函数为机械臂逆解函数,根据位置信息(x,y,z)和对应位置的参考姿态(w,x,y,z)得到对应位置的关节角信息。
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param joint_radian 参考关节角(通常为当前机械臂位置)单位(rad)
|
||
* @param pos 目标路点的位置 单位:米
|
||
* @param ori 目标路点的参考姿态
|
||
* @param waypoint 目标路点信息
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_inverse_kin(RSHD rshd,
|
||
double joint_radian[ARM_DOF],
|
||
const Pos *pos, const Ori *ori,
|
||
wayPoint_S *waypoint);
|
||
|
||
/**
|
||
* @brief 逆解
|
||
* 此函数为机械臂逆解函数,根据位置信息(x,y,z)和对应位置的参考姿态(w,x,y,z)得到对应位置的关节角信息。
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param pos 目标路点的位置 单位:米
|
||
* @param ori 目标路点的参考姿态
|
||
* @param ik_solutions
|
||
* 目标路点信息(最多返回八组解,逆解结果超过8个则仅返回前8个)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_inverse_kin_closed_form(
|
||
RSHD rshd, const Pos *pos, const Ori *ori, ik_solutions *solutions);
|
||
|
||
/**
|
||
* @brief 用户坐标系转基座坐标系
|
||
* 概述:
|
||
* 将法兰盘中心基于基座标系下的位置和姿态 转成 工具末端基于用户座标系下的位置和姿态。
|
||
*
|
||
* 扩展1: 法兰盘中心可以看成是一个特殊的工具,即工具的位置为(0,0,0)
|
||
*
|
||
* 因此当工具为(0,0,0)时,相当于将法兰盘中心基于基座标系下的位置和姿态 转成 法兰盘中心基于用户座标系下的位置和姿态。
|
||
*
|
||
* 扩展2: 用户坐标系也可以选择成基座标系, 即:userCoord.coordType =
|
||
* BaseCoordinate
|
||
* 因此当用户平面为基座标系时,相当于将法兰盘中心基于基座标系下的位置和姿态 转成 工具末端基于基座标系下的位置和姿态,
|
||
* 即在基座标系加工具。
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param pos_onbase 基于基座标系的法兰盘中心位置信息(x,y,z) 单位(m)
|
||
* @param ori_onbase 基于基座标系的姿态信息(w, x, y, z)
|
||
* @param user_coord 用户坐标系
|
||
* @param tool_pos 工具信息
|
||
* @param pos_onuser 基于用户座标系的工具末端位置信息,输出参数
|
||
* @param ori_onuser 基于用户座标系的工具末端姿态信息,输出参数
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_base_to_user(
|
||
RSHD rshd, const Pos *pos_onbase, const Ori *ori_onbase,
|
||
const CoordCalibrate *user_coord, const ToolInEndDesc *tool_pos,
|
||
Pos *pos_onuser, Ori *ori_onuser);
|
||
|
||
/**
|
||
* @brief 用户坐标系转基座标系
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param pos_onuser 基于用户座标系的工具末端位置信息
|
||
* @param ori_onuser 基于用户座标系的工具末端姿态信息
|
||
* @param user_coord 用户坐标系
|
||
* @param tool_pos 工具信息
|
||
* @param pos_onbase 基于基座标系的法兰盘中心位置信息
|
||
* @param ori_onbase 基于基座标系的姿态信息
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_user_to_base(
|
||
RSHD rshd, const Pos *pos_onuser, const Ori *ori_onuser,
|
||
const CoordCalibrate *user_coord, const ToolInEndDesc *tool_pos,
|
||
Pos *pos_onbase, Ori *ori_onbase);
|
||
|
||
/**
|
||
* @brief 基坐标系转基座标得到工具末端点的位置和姿态
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param flange_center_pos_onbase 基于基座标系的法兰盘中心位置信息
|
||
* @param flange_center_ori_onbase 基于基座标系的姿态信息
|
||
* @param tool 工具信息
|
||
* @param tool_end_pos_onbase 基于基座标系的工具末端位置信息
|
||
* @param tool_end_ori_onbase 基于基座标系的工具末端姿态信息
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_base_to_base_additional_tool(
|
||
RSHD rshd, const Pos *flange_center_pos_onbase,
|
||
const Ori *flange_center_ori_onbase, const ToolInEndDesc *tool,
|
||
Pos *tool_end_pos_onbase, Ori *tool_end_ori_onbase);
|
||
|
||
/**
|
||
* @brief rs_get_target_waypoint_by_position 根据位置获取目标路点信息
|
||
* @param sourceWayPointOnBaseCoord 起始路点(基于基坐标系)
|
||
* @param userCoordSystem 用户坐标系
|
||
* @param toolEndPosition 工具末端位置
|
||
* @param toolInEndDesc 工具末端偏移
|
||
* @param targetWayPointOnBaseCoord 目标路点(基于基坐标系)
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_target_waypoint_by_position(
|
||
RSHD rshd,
|
||
const aubo_robot_namespace::wayPoint_S &sourceWayPointOnBaseCoord,
|
||
const aubo_robot_namespace::CoordCalibrateByJointAngleAndTool
|
||
&userCoordSystem,
|
||
const aubo_robot_namespace::Pos &toolEndPosition,
|
||
const aubo_robot_namespace::ToolInEndDesc &toolInEndDesc,
|
||
aubo_robot_namespace::wayPoint_S &targetWayPointOnBaseCoord);
|
||
|
||
/**
|
||
* @brief 欧拉角转四元素
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param rpy 姿态的欧拉角表示方法
|
||
* @param ori 姿态的四元素表示方法
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_rpy_to_quaternion(RSHD rshd, const Rpy *rpy,
|
||
Ori *ori);
|
||
|
||
/**
|
||
* @brief 四元素转欧拉角
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param ori 姿态的四元素表示方法
|
||
* @param rpy 姿态的欧拉角表示方法
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_quaternion_to_rpy(RSHD rshd, const Ori *ori,
|
||
Rpy *rpy);
|
||
|
||
/**
|
||
* @brief 设置工具的运动学参数
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param tool 工具的运动学参数
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_tool_end_param(
|
||
RSHD rshd, const ToolInEndDesc *tool);
|
||
|
||
// end tool parameters
|
||
/**
|
||
* @brief 设置无工具的动力学参数
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_none_tool_dynamics_param(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 设置工具的动力学参数
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param tool 工具的动力学参数
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_tool_dynamics_param(
|
||
RSHD rshd, const ToolDynamicsParam *tool);
|
||
|
||
/**
|
||
* @brief 获取工具的动力学参数
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param tool 工具的动力学参数
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_tool_dynamics_param(
|
||
RSHD rshd, ToolDynamicsParam *tool);
|
||
|
||
/**
|
||
* @brief 获取工具的动力学参数
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param tool 工具的动力学参数
|
||
* @return RS_SUCC 成功 其他失败
|
||
* @note 由于rs_get_tool_dynamics_param获取的位置值单位是mm,增加此
|
||
* 函数将单位与rs_set_tool_dynamics_param统一
|
||
*/
|
||
inline int rs_get_tool_dynamics_param2(RSHD rshd, ToolDynamicsParam *tool)
|
||
{
|
||
int retval = rs_get_tool_dynamics_param(rshd, tool);
|
||
tool->positionX /= 1000.;
|
||
tool->positionY /= 1000.;
|
||
tool->positionZ /= 1000.;
|
||
|
||
return retval;
|
||
}
|
||
|
||
/**
|
||
* @brief 设置无工具运动学参数
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_none_tool_kinematics_param(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 设置工具的运动学参数
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param tool 工具的运动学参数
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_tool_kinematics_param(
|
||
RSHD rshd, const ToolKinematicsParam *tool);
|
||
|
||
/**
|
||
* @brief 获取工具的运动学参数
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param tool 工具的运动学参数
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_tool_kinematics_param(
|
||
RSHD rshd, ToolKinematicsParam *tool);
|
||
|
||
// robot control
|
||
/**
|
||
* @brief 启动机械臂
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param tool_dynamics 动力学参数
|
||
* @param colli_class 碰撞等级
|
||
* @param read_pos 是否允许读取位置
|
||
* @param static_colli_detect 是否允许侦测静态碰撞
|
||
* @param board_maxacc 接口板允许的最大加速度
|
||
* @param state 机械臂启动状态
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_robot_startup(
|
||
RSHD rshd, const ToolDynamicsParam *tool_dynamics, uint8 colli_class,
|
||
bool read_pos, bool static_colli_detect, int board_maxacc,
|
||
ROBOT_SERVICE_STATE *state);
|
||
|
||
/**
|
||
* @brief 关闭机械臂
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_robot_shutdown(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 停止机械臂运动加速度设置
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param jerkRatio [0.1,20]
|
||
* @param double acc 6维数组,
|
||
* 1,末端型运动,只使用acc[0] 最大加速度
|
||
* 2,轴动,使用acc[0,5] 关节最大加速度
|
||
* @param size 6
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_reduce_para(RSHD rshd,
|
||
const double jerkRatio,
|
||
const double acc[],
|
||
int size);
|
||
|
||
/**
|
||
* @brief 停止机械臂运动
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_move_stop(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 停止机械臂运动
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_move_fast_stop(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 暂停机械臂运动
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_move_pause(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 暂停后回复机械臂运动
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_move_continue(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 机械臂碰撞后恢复
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_collision_recover(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 获取机械臂当前状态
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param state 机械臂当前状态
|
||
* 机械臂当前停止:RobotStatus.Stopped
|
||
* 机械臂当前运行:RobotStatus.Running
|
||
* 机械臂当前暂停:RobotStatus.Paused
|
||
* 机械臂当前恢复:RobotStatus.Resumed
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_robot_state(RSHD rshd,
|
||
RobotState *state);
|
||
|
||
/**
|
||
* @brief 设置机械臂运动进入缩减模式
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT bool rs_enter_reduce_mode(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 设置机械臂运动退出缩减模式
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT bool rs_exit_reduce_mode(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 通知机械臂工程启动,服务器同时开始检测安全IO
|
||
* @param rshd
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT bool rs_project_startup(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 通知机械臂工程停止,服务器停止检测安全IO
|
||
* @param rshd
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT bool rs_project_stop(RSHD rshd);
|
||
|
||
// tool interface
|
||
|
||
// robot parameters
|
||
/**
|
||
* @brief 设置机械臂服务器工作模式
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param mode 机械臂服务器工作模式
|
||
* 机械臂仿真模式:RobotRunningMode.RobotModeSimulator
|
||
* 机械臂真实模式:RobotRunningMode.RobotModeReal
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_work_mode(RSHD rshd,
|
||
RobotWorkMode mode);
|
||
|
||
/**
|
||
* @brief 获取机械臂服务器当前工作模式
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param mode 机械臂服务器工作模式
|
||
* 机械臂仿真模式:RobotRunningMode.RobotModeSimulator
|
||
* 机械臂真实模式:RobotRunningMode.RobotModeReal
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_work_mode(RSHD rshd,
|
||
RobotWorkMode *mode);
|
||
|
||
/**
|
||
* @brief 获取重力分量
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param gravity 重力分量
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_gravity_component(
|
||
RSHD rshd, RobotGravityComponent *gravity);
|
||
|
||
/**
|
||
* @brief 设置机械臂碰撞等级
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param grade 碰撞等级 范围(0~10)
|
||
* @param mode 碰撞模式
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_collision_class(RSHD rshd, int grade);
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_collision_class2(RSHD rshd, int grade,
|
||
CollisionMode mode);
|
||
|
||
/**
|
||
* @brief 获取当前碰撞等级
|
||
* @param rshd 机械臂控制上下文句柄
|
||
* @param grade 碰撞等级 范围(0~10)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_collision_class(RSHD rshd, int *grade);
|
||
|
||
/**
|
||
* @brief 获取设备信息
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param dev 设备信息
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_device_info(RSHD rshd,
|
||
RobotDevInfo *dev);
|
||
|
||
/**
|
||
* @brief 获取当前是否已经链接真实机械臂
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param exist true:存在 false:不存在
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_is_have_real_robot(RSHD rshd, bool *exist);
|
||
|
||
/**
|
||
* @brief 当前机械臂是否运行在联机模式
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param isonline true:在 false:不在
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_is_online_mode(RSHD rshd, bool *isonline);
|
||
|
||
/**
|
||
* @brief 当前机械臂是否运行在联机主模式
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param ismaster true:主模式 false:从模式
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_is_online_master_mode(RSHD rshd,
|
||
bool *ismaster);
|
||
|
||
/**
|
||
* @brief 获取机械臂当前状态信息
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param jointStatus 返回六个关节状态,包括:电流,电压,温度
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_joint_status(
|
||
RSHD rshd, JointStatus jointStatus[ARM_DOF]);
|
||
|
||
/**
|
||
* @brief 获取机械臂当前位置信息
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param waypoint 关节位置信息
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_current_waypoint(RSHD rshd,
|
||
wayPoint_S *waypoint);
|
||
|
||
/**
|
||
* @brief 获取机械臂诊断信息
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param info 机械臂诊断信息
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_diagnosis_info(
|
||
RSHD rshd, RobotDiagnosis *robotDiagnosisInfo);
|
||
|
||
/**
|
||
* @brief 根据错误号获取错误信息
|
||
* @param rshd 机械臂控制上下文句柄
|
||
* @param err_code 错误号
|
||
* @return 调用成功返回ErrnoSucc;错误返回错误号
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT const char *rs_get_error_information_by_errcode(
|
||
RSHD rshd, RobotErrorCode err_code);
|
||
|
||
/**
|
||
* @brief 获取socket链接状态
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param connected true:已连接 false:未连接
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_socket_status(RSHD rshd,
|
||
bool *connected);
|
||
|
||
/**
|
||
* @brief 获取机械表末端速度
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param endspeed 末端速度 单位(m/s)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_robot_end_speed(RSHD rshd,
|
||
float *endspeed);
|
||
|
||
// IO interaface
|
||
/**
|
||
* @brief 获取接口板指定IO集合的配置信息
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param type IO类型
|
||
* @param config IO配置信息集合
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_board_io_config(
|
||
RSHD rshd, RobotIoType type, std::vector<RobotIoDesc> *config);
|
||
|
||
/**
|
||
* @brief 根据接口板IO类型和地址设置IO状态
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param type IO类型
|
||
* @param name IO名称
|
||
* @param val IO状态
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_board_io_status_by_name(
|
||
RSHD rshd, RobotIoType type, const char *name, double val);
|
||
|
||
/**
|
||
* @brief 根据接口板IO类型和地址设置IO状态
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param type IO类型
|
||
* @param addr IO状态
|
||
* @param val IO状态
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_board_io_status_by_addr(
|
||
RSHD rshd, RobotIoType type, int addr, double val);
|
||
|
||
/**
|
||
* @brief 根据接口板IO类型和地址获取IO状态
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param type IO类型
|
||
* @param name IO名称
|
||
* @param val IO状态
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_board_io_status_by_name(
|
||
RSHD rshd, RobotIoType type, const char *name, double *val);
|
||
|
||
/**
|
||
* @brief 根据接口板IO类型和地址获取IO状态
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param type IO类型
|
||
* @param addr IO地址
|
||
* @param val
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_board_io_status_by_addr(
|
||
RSHD rshd, RobotIoType type, int addr, double *val);
|
||
|
||
// tool device interface
|
||
/**
|
||
* @brief 设置工具端电源电压类型
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param type ower_type:电源类型
|
||
* 0:.OUT_0V
|
||
* 1:.OUT_12V
|
||
* 2:.OUT_24V
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_tool_power_type(RSHD rshd,
|
||
ToolPowerType type);
|
||
|
||
/**
|
||
* @brief 获取工具端电源电压类型
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param type ower_type:电源类型
|
||
* 0:.OUT_0V
|
||
* 1:.OUT_12V
|
||
* 2:.OUT_24V
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_tool_power_type(RSHD rshd,
|
||
ToolPowerType *type);
|
||
|
||
/**
|
||
* @brief 设置工具端数字量IO的类型
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param addr 地址
|
||
* @param type 类型 0:输入 1:输出
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_tool_io_type(RSHD rshd,
|
||
ToolDigitalIOAddr addr,
|
||
ToolIOType type);
|
||
|
||
/**
|
||
* @brief 获取工具端电压数值
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param voltage 电压数值,单位(伏特)
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_tool_power_voltage(RSHD rshd,
|
||
double *voltage);
|
||
|
||
/**
|
||
* @brief 获取工具端IO状态
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param name IO名称
|
||
* @param val 工具端IO状态
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_tool_io_status(RSHD rshd,
|
||
const char *name,
|
||
double *val);
|
||
|
||
/**
|
||
* @brief 设置工具端IO状态
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param name IO名称
|
||
* @param status 工具端IO状态
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_tool_do_status(RSHD rshd,
|
||
const char *name,
|
||
IO_STATUS status);
|
||
|
||
/**
|
||
* @brief 暂停工程
|
||
* @param rshd
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_client_status_pause(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 继续工程
|
||
* @param rshd
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_client_status_continue(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 工程停止
|
||
* @param rshd
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_client_status_stop(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 工程启动
|
||
* @param rshd
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_client_status_run(RSHD rshd);
|
||
|
||
/**
|
||
* @brief 通知接口板上位机停止状态
|
||
* @param data
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_robot_orpe_stop(RSHD rshd, uint8 data);
|
||
|
||
/**
|
||
* @brief rs_robot_control
|
||
* @param rshd
|
||
* @param cmd
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_robot_control(RSHD rshd,
|
||
RobotControlCommand cmd);
|
||
|
||
/**
|
||
* @brief 设置机械臂辨识参数
|
||
* @param param
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_robot_recognition_param(
|
||
RSHD rshd, const RobotRecongnitionParam *param);
|
||
|
||
/**
|
||
* @brief 获取机械臂辨识参数
|
||
* @param type
|
||
* @param param
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_robot_recognition_param(
|
||
RSHD rshd, int type, RobotRecongnitionParam *param);
|
||
|
||
/**
|
||
* @brief 获取机械臂安全配置
|
||
* @param rshd
|
||
* @param safetyConfig
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_robot_safety_config(
|
||
RSHD rshd, RobotSafetyConfig *param);
|
||
|
||
/**
|
||
* @brief 获取机械臂安全配置
|
||
* @param rshd
|
||
* @param safetyConfig
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_robot_safety_config(
|
||
RSHD rshd, RobotSafetyConfig *param);
|
||
|
||
/**
|
||
* @brief 获取机械臂安全状态
|
||
* @param rshd
|
||
* @param safetyStatus
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_robot_safety_status(
|
||
RSHD rshd, OrpeSafetyStatus *param);
|
||
|
||
//#ifndef FOR_FORCE_LIBRARY
|
||
/**
|
||
* @brief 设置底座参数信息
|
||
* @param rshd
|
||
* @param param
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_robot_base_parameters(
|
||
RSHD rshd, const RobotBaseParameters *param);
|
||
|
||
/**
|
||
* @brief 获取底座参数信息
|
||
* @param rshd
|
||
* @param param
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_robot_base_parameters(
|
||
RSHD rshd, RobotBaseParameters *param);
|
||
|
||
/**
|
||
* @brief 设置关节参数信息
|
||
* @param rshd
|
||
* @param param
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_robot_joints_parameter(
|
||
RSHD rshd, const RobotJointsParameter *param);
|
||
|
||
/**
|
||
* @brief 获取关节参数信息
|
||
* @param rshd
|
||
* @param param
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_robot_joints_parameter(
|
||
RSHD rshd, RobotJointsParameter *param);
|
||
|
||
/**
|
||
* @brief 刷新关节参数信息
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_robot_refresh_robot_arm_paramter(
|
||
RSHD rshd);
|
||
|
||
//#else
|
||
|
||
/**
|
||
* @brief 设置调速模式配置
|
||
* @param rshd
|
||
* @param config
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_regulate_speed_param(
|
||
RSHD rshd, const RegulateSpeedModeParamConfig_t *config);
|
||
|
||
/**
|
||
* @brief 获取调速模式配置
|
||
* @param rshd
|
||
* @param config
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_regulate_speed_param(
|
||
RSHD rshd, RegulateSpeedModeParamConfig_t *config);
|
||
|
||
/**
|
||
* @brief 使能/失能调速模式
|
||
* @param rshd
|
||
* @param enbaleFlag
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_enable_regulate_speed_mode(RSHD rshd,
|
||
bool enbaleFlag);
|
||
|
||
/**
|
||
* @brief 获取"主动探寻力"参数
|
||
* @param rshd
|
||
* @param forceLimit
|
||
* @param distLimit
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_force_control_mode_explore_force_param(
|
||
RSHD rshd, double *forceLimit, double *distLimit);
|
||
|
||
/**
|
||
* @brief 设置"主动探寻力"参数
|
||
* @param rshd
|
||
* @param forceLimit
|
||
* @param distLimit
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_set_force_control_mode_explore_force_param(
|
||
RSHD rshd, double forceLimit, double distLimit);
|
||
|
||
/**
|
||
* @brief 使能/失能力控模式
|
||
* @param rshd
|
||
* @param enbaleFlag
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_enable_force_control_mode(RSHD rshd,
|
||
bool enbaleFlag);
|
||
|
||
/**
|
||
* @brief 获取实时力数据
|
||
* @param rshd
|
||
* @param 传出参数
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_get_realtime_force_data(
|
||
RSHD rshd, double forceData[6]);
|
||
|
||
/**
|
||
* @brief 将一个轨迹文件(位置+姿态)转换为路点容器,进行平滑处理和限制条件检查
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param filePath 轨迹文件路径 输入参数
|
||
* @param poseType 位姿类型
|
||
* @param referPointJointAngle 逆解参考点的关节角 输入参数
|
||
* @param toolInEndDesc 末端工具的信息 输入参数
|
||
* @param wayPointVector 路点集合 输出参数
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_parse_file_as_roadpoint_collection(
|
||
RSHD rshd, const char *filePath,
|
||
aubo_robot_namespace::POSITION_ORIENTATION_TYPE poseType,
|
||
const double *referPointJointAngle,
|
||
const aubo_robot_namespace::ToolInEndDesc *toolInEndDesc,
|
||
aubo_robot_namespace::wayPoint_S wayPoint[], int waypointSize,
|
||
int *sizeReturn);
|
||
|
||
/**
|
||
* @brief 解析路点文件并缓存结果
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param filePath 轨迹文件路径 输入参数
|
||
* @param referPointJointAngle 逆解参考点的关节角 输入参数
|
||
* @param toolInEndDesc 末端工具的信息 输入参数
|
||
* @param firstWayPoint 轨迹的第一个点 输出参数
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_parse_roadpoint_file_and_cache_result(
|
||
RSHD rshd, const char *filePath, const double *referPointJointAngle,
|
||
aubo_robot_namespace::ToolInEndDesc *toolInEndDesc,
|
||
aubo_robot_namespace::wayPoint_S *firstWayPoint);
|
||
/**
|
||
* @brief 运行缓存好的轨迹
|
||
* 即:运行rs_parse_roadpoint_file_and_cache_result的结果
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_move_cached_track(RSHD rshd);
|
||
|
||
//#endif
|
||
|
||
// callback
|
||
/**
|
||
* @brief 注册用于获取实时路点的回调函数
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param ptr 获取实时路点信息的函数指针
|
||
* @param arg
|
||
* 这个参数系统不做任何处理,只是进行了缓存,当回调函数触发时该参数会通过回调函数的参数传回
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_setcallback_realtime_roadpoint(
|
||
RSHD rshd, const RealTimeRoadPointCallback ptr, void *arg);
|
||
|
||
/**
|
||
* @brief 注册用于获取关节状态的回调函数
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param ptr 获取实时关节状态信息的函数指针
|
||
* @param arg
|
||
* 这个参数系统不做任何处理,只是进行了缓存,当回调函数触发时该参数会通过回调函数的参数传回
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_setcallback_realtime_joint_status(
|
||
RSHD rshd, const RealTimeJointStatusCallback ptr, void *arg);
|
||
|
||
/**
|
||
* @brief 注册用于获取实时末端速度的回调函数
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param ptr 获取实时末端速度的函数指针
|
||
* @param arg
|
||
* 个参数系统不做任何处理,只是进行了缓存,当回调函数触发时该参数会通过回调函数的参数传回
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_setcallback_realtime_end_speed(
|
||
RSHD rshd, const RealTimeEndSpeedCallback ptr, void *arg);
|
||
|
||
/**
|
||
* @brief 注册用于获取机械臂事件信息的回调函数
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param ptr 获取机械臂事件信息的函数指针
|
||
* @param arg
|
||
* 个参数系统不做任何处理,只是进行了缓存,当回调函数触发时该参数会通过回调函数的参数传回
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_setcallback_robot_event(
|
||
RSHD rshd, const RobotEventCallback ptr, void *arg);
|
||
|
||
/**
|
||
* @brief 注册用于获取函数的日志信息的回调函数
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_setcallback_robot_loginfo(
|
||
RSHD rshd, const RobotLogPrintCallback ptr, void *arg);
|
||
|
||
/**
|
||
* @brief 注册用于获取MOVEP运动进度信息的回调函数
|
||
* @return
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_setcallback_movep_step_num(
|
||
RSHD rshd, const RealTimeMovepStepNumNotifyCallback ptr, void *arg);
|
||
|
||
// enable push information
|
||
/**
|
||
* @brief 设置是否允许实时路点信息推送
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param enable true表示允许 false表示不允许
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_enable_push_realtime_roadpoint(RSHD rshd,
|
||
bool enable);
|
||
|
||
/**
|
||
* @brief 设置是否允许实时关节状态推送
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param enable true表示允许 false表示不允许
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_enable_push_realtime_joint_status(
|
||
RSHD rshd, bool enable);
|
||
|
||
/**
|
||
* @brief 设置是否允许实时末端速度推送
|
||
* @param rshd 械臂控制上下文句柄
|
||
* @param enable true表示允许 false表示不允许
|
||
* @return RS_SUCC 成功 其他失败
|
||
*/
|
||
SERVICE_INTERFACE_ABI_EXPORT int rs_enable_push_realtime_end_speed(RSHD rshd,
|
||
bool enable);
|
||
|
||
// other
|
||
SERVICE_INTERFACE_ABI_EXPORT const char *rs_str_error(RSHD rshd, int err);
|
||
SERVICE_INTERFACE_ABI_EXPORT void print_plan(const CoordCalibrate *user_coord);
|
||
SERVICE_INTERFACE_ABI_EXPORT void print_move_relative_offset(
|
||
const MoveRelative *relative);
|
||
SERVICE_INTERFACE_ABI_EXPORT void print_waypoint(wayPoint_S *waypoint);
|
||
SERVICE_INTERFACE_ABI_EXPORT void print_tool_dynamics(
|
||
ToolDynamicsParam *tool_dynamics);
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif // RSDEF_H
|