Skip to content

Commit 57a8e14

Browse files
author
liyahui
committed
feat:The version is upgraded to 1.1.1
1 parent c2b94c7 commit 57a8e14

File tree

338 files changed

+4377
-1627
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

338 files changed

+4377
-1627
lines changed

.gitignore

Lines changed: 0 additions & 3 deletions
This file was deleted.

C++/include/rm_define.h

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ typedef enum {
2828

2929
/**
3030
* @brief 机械臂型号
31-
* @ingroup Algo
3231
*/
3332
typedef enum{
3433
RM_MODEL_RM_65_E, ///< RM_65
@@ -40,7 +39,11 @@ typedef enum{
4039
RM_MODEL_ECO_62_E, ///< ECO_62
4140
RM_MODEL_GEN_72_E, ///< GEN_72
4241
RM_MODEL_ECO_63_E, ///< ECO63
43-
RM_MODEL_UNIVERSAL_E
42+
RM_MODEL_UNIVERSAL_E, ///< 通用型
43+
RM_MODEL_ZM7L_E, ///< ZM7L,
44+
RM_MODEL_ZM7R_E, ///< ZM7R,
45+
RM_MODEL_RXL75_E, ///< 人型机器人左臂
46+
RM_MODEL_RXR75_E, ///< 人型机器人右臂
4447
}rm_robot_arm_model_e;
4548

4649
/**
@@ -186,9 +189,9 @@ typedef struct
186189
char frame_name[12]; ///< 坐标系名称
187190
rm_pose_t pose; ///< 坐标系位姿
188191
float payload; ///< 坐标系末端负载重量,单位:kg
189-
float x; ///< 坐标系末端负载质心位置,单位:m
190-
float y; ///< 坐标系末端负载质心位置,单位:m
191-
float z; ///< 坐标系末端负载质心位置,单位:m
192+
float x; ///< 坐标系末端负载质心位置,单位:mm
193+
float y; ///< 坐标系末端负载质心位置,单位:mm
194+
float z; ///< 坐标系末端负载质心位置,单位:mm
192195
}rm_frame_t;
193196

194197
typedef struct{

C++/include/rm_interface.h

Lines changed: 37 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ RM_INTERFACE_EXPORT int rm_init(rm_thread_mode_e mode);
5252
* @return int 函数执行的状态码。
5353
- 0: 成功。
5454
*/
55-
RM_INTERFACE_EXPORT int rm_destory(void);
55+
RM_INTERFACE_EXPORT int rm_destroy(void);
5656

5757
/**
5858
* @brief 日志打印配置
@@ -85,18 +85,6 @@ RM_INTERFACE_EXPORT void rm_set_timeout(int timeout);
8585
*/
8686
RM_INTERFACE_EXPORT rm_robot_handle *rm_create_robot_arm(const char *ip,int port);
8787

88-
/**
89-
* @brief 手动设置机械臂自由度
90-
*
91-
* @param handle 机械臂控制句柄
92-
* @param dof 机械臂自由度
93-
* @return int 函数执行的状态码。
94-
- 0: 成功。
95-
- -1: 未找到对应句柄,句柄为空或已被删除。
96-
- -2: 设置失败,自由度设置不合理(负数或者大于10)。
97-
*/
98-
RM_INTERFACE_EXPORT int rm_set_robot_dof(rm_robot_handle *handle, int dof);
99-
10088
/**
10189
* @brief 根据句柄删除机械臂
10290
*
@@ -1112,10 +1100,11 @@ RM_INTERFACE_EXPORT int rm_movej(rm_robot_handle *handle, const float *joint, in
11121100
- -3: 返回值解析失败,接收到的数据格式不正确或不完整。
11131101
- -4: 当前到位设备校验失败,即当前到位设备不为关节。
11141102
- -5: 单线程模式超时未接收到返回,请确保超时时间设置合理。
1103+
- -6: 机械臂停止运动规划,外部发送了停止运动指令。
11151104
*/
11161105
RM_INTERFACE_EXPORT int rm_movel(rm_robot_handle *handle,rm_pose_t pose, int v, int r, int trajectory_connect, int block);
11171106
/**
1118-
* @brief 笛卡尔空间直线偏移运动
1107+
* @brief 笛卡尔空间偏移运动(四代控制器支持)
11191108
* @details 该函数用于机械臂末端在当前位姿的基础上沿某坐标系(工具或工作)进行位移或旋转运动。
11201109
* @param handle 机械臂控制句柄
11211110
* @param offset 位置姿态偏移,位置单位:米,姿态单位:弧度
@@ -1141,6 +1130,7 @@ RM_INTERFACE_EXPORT int rm_movel(rm_robot_handle *handle,rm_pose_t pose, int v,
11411130
- -3: 返回值解析失败,接收到的数据格式不正确或不完整。
11421131
- -4: 当前到位设备校验失败,即当前到位设备不为关节。
11431132
- -5: 单线程模式超时未接收到返回,请确保超时时间设置合理。
1133+
- -6: 机械臂停止运动规划,外部发送了停止运动指令。
11441134
*/
11451135
RM_INTERFACE_EXPORT int rm_movel_offset(rm_robot_handle *handle,rm_pose_t offset, int v, int r, int trajectory_connect, int frame_type, int block);
11461136
/**
@@ -1170,6 +1160,7 @@ RM_INTERFACE_EXPORT int rm_movel_offset(rm_robot_handle *handle,rm_pose_t offset
11701160
- -3: 返回值解析失败,接收到的数据格式不正确或不完整。
11711161
- -4: 当前到位设备校验失败,即当前到位设备不为关节。
11721162
- -5: 单线程模式超时未接收到返回,请确保超时时间设置合理。
1163+
- -6: 机械臂停止运动规划,外部发送了停止运动指令。
11731164
*/
11741165
RM_INTERFACE_EXPORT int rm_moves(rm_robot_handle *handle,rm_pose_t pose, int v, int r, int trajectory_connect, int block);
11751166
/**
@@ -1200,6 +1191,7 @@ RM_INTERFACE_EXPORT int rm_moves(rm_robot_handle *handle,rm_pose_t pose, int v,
12001191
- -3: 返回值解析失败,接收到的数据格式不正确或不完整。
12011192
- -4: 当前到位设备校验失败,即当前到位设备不为关节。
12021193
- -5: 单线程模式超时未接收到返回,请确保超时时间设置合理。
1194+
- -6: 机械臂停止运动规划,外部发送了停止运动指令。
12031195
*/
12041196
RM_INTERFACE_EXPORT int rm_movec(rm_robot_handle *handle,rm_pose_t pose_via, rm_pose_t pose_to, int v, int r, int loop, int trajectory_connect, int block);
12051197
/**
@@ -1228,6 +1220,7 @@ RM_INTERFACE_EXPORT int rm_movec(rm_robot_handle *handle,rm_pose_t pose_via, rm_
12281220
- -3: 返回值解析失败,接收到的数据格式不正确或不完整。
12291221
- -4: 当前到位设备校验失败,即当前到位设备不为关节。
12301222
- -5: 单线程模式超时未接收到返回,请确保超时时间设置合理。
1223+
- -6: 机械臂停止运动规划,外部发送了停止运动指令。
12311224
*/
12321225
RM_INTERFACE_EXPORT int rm_movej_p(rm_robot_handle *handle,rm_pose_t pose, int v, int r, int trajectory_connect, int block);
12331226
/**
@@ -1652,14 +1645,16 @@ RM_INTERFACE_EXPORT int rm_clear_joint_odom(rm_robot_handle *handle);
16521645
*
16531646
* @param handle 机械臂控制句柄
16541647
* @param ip 有线网口 IP 地址
1648+
* @param netmask 有线网口子网掩码
1649+
* @param gw 有线网口网关地址
16551650
* @return int 函数执行的状态码。
16561651
- 0: 成功。
16571652
- 1: 控制器返回false,传递参数错误或机械臂状态发生错误。
16581653
- -1: 数据发送失败,通信过程中出现问题。
16591654
- -2: 数据接收失败,通信过程中出现问题或者控制器超时没有返回。
16601655
- -3: 返回值解析失败,接收到的数据格式不正确或不完整。
16611656
*/
1662-
RM_INTERFACE_EXPORT int rm_set_NetIP(rm_robot_handle *handle, const char* ip);
1657+
RM_INTERFACE_EXPORT int rm_set_NetIP(rm_robot_handle *handle, const char* ip, const char* netmask, const char* gw);
16631658
/**
16641659
* @brief 清除系统错误
16651660
*
@@ -1926,14 +1921,15 @@ RM_INTERFACE_EXPORT int rm_get_IO_output(rm_robot_handle *handle, int *DO_state)
19261921
*
19271922
* @param handle 机械臂控制句柄
19281923
* @param voltage_type 电源输出类型,0:0V,2:12V,3:24V
1924+
* @param start_enable true:开机启动时输出此配置电压,false:取消开机启动即配置电压
19291925
* @return int 函数执行的状态码。
19301926
- 0: 成功。
19311927
- 1: 控制器返回false,传递参数错误或机械臂状态发生错误。
19321928
- -1: 数据发送失败,通信过程中出现问题。
19331929
- -2: 数据接收失败,通信过程中出现问题或者控制器超时没有返回。
19341930
- -3: 返回值解析失败,接收到的数据格式不正确或不完整。
19351931
*/
1936-
RM_INTERFACE_EXPORT int rm_set_voltage(rm_robot_handle *handle, int voltage_type);
1932+
RM_INTERFACE_EXPORT int rm_set_voltage(rm_robot_handle *handle, int voltage_type, bool start_enable);
19371933
/**
19381934
* @brief 获取控制器电源输出类
19391935
*
@@ -2610,14 +2606,18 @@ RM_INTERFACE_EXPORT int rm_set_hand_seq(rm_robot_handle *handle, int seq_num, bo
26102606
* @details 设置灵巧手角度,灵巧手有6个自由度,从1~6分别为小拇指,无名指,中指,食指,大拇指弯曲,大拇指旋转
26112607
* @param handle 机械臂控制句柄
26122608
* @param hand_angle 手指角度数组,6个元素分别代表6个自由度的角度,范围:0~1000. 另外,-1代表该自由度不执行任何操作,保持当前状态
2609+
* @param block 0:表示非阻塞模式,发送成功后返回,1:表示阻塞模式,接收设置成功指令后返回。
2610+
* @param timeout 阻塞模式下超时时间设置,单位:秒
26132611
* @return int 函数执行的状态码。
26142612
- 0: 成功。
26152613
- 1: 控制器返回false,传递参数错误或机械臂状态发生错误。
26162614
- -1: 数据发送失败,通信过程中出现问题。
26172615
- -2: 数据接收失败,通信过程中出现问题或者控制器超时没有返回。
26182616
- -3: 返回值解析失败,接收到的数据格式不正确或不完整。
2617+
- -4: 当前到位设备校验失败,即当前到位设备不为灵巧手
2618+
- -5: 超时未返回。
26192619
*/
2620-
RM_INTERFACE_EXPORT int rm_set_hand_angle(rm_robot_handle *handle, const int *hand_angle);
2620+
RM_INTERFACE_EXPORT int rm_set_hand_angle(rm_robot_handle *handle, const int *hand_angle, bool block, int timeout);
26212621
/**
26222622
* @brief 设置灵巧手角度跟随控制
26232623
* @details 设置灵巧手跟随角度,灵巧手有6个自由度,从1~6分别为小拇指,无名指,中指,食指,大拇指弯曲,大拇指旋转,最高50Hz的控制频率
@@ -2637,7 +2637,7 @@ RM_INTERFACE_EXPORT int rm_set_hand_follow_angle(rm_robot_handle *handle, const
26372637
* @details 设置灵巧手跟随位置,灵巧手有6个自由度,从1~6分别为小拇指,无名指,中指,食指,大拇指弯曲,大拇指旋转,最高50Hz的控制频率
26382638
* @param handle 机械臂控制句柄
26392639
* @param hand_pos 手指位置数组,最大范围为0-65535,按照灵巧手厂商定义的角度做控制,例如因时的范围为0-1000
2640-
* @param block 设置0时为非阻塞模式;设置1时为阻塞模式,阻塞模式时超时20ms未返回认为接受失败
2640+
* @param block 0:表示非阻塞模式,发送成功后返回,1:表示阻塞模式,接收设置成功指令后返回
26412641
* @return int 函数执行的状态码。
26422642
- 0: 成功。
26432643
- 1: 控制器返回false,传递参数错误或机械臂状态发生错误。
@@ -3191,10 +3191,10 @@ RM_INTERFACE_EXPORT int rm_set_expand_pos(rm_robot_handle *handle, int speed, in
31913191
*/
31923192
RM_INTERFACE_EXPORT int rm_send_project(rm_robot_handle *handle, rm_send_project_t project, int *errline);
31933193
/**
3194-
* @brief 轨迹规划中改变速度比例系数
3194+
* @brief 规划过程中改变速度系数
31953195
*
31963196
* @param handle 机械臂控制句柄
3197-
* @param speed 当前进度条的速度数据
3197+
* @param speed 速度
31983198
* @return int 函数执行的状态码。
31993199
- 0: 成功。
32003200
- 1: 控制器返回false,传递参数错误或机械臂状态发生错误。
@@ -3794,6 +3794,22 @@ RM_INTERFACE_EXPORT char* rm_algo_version(void);
37943794
* @param Type 传感器型号
37953795
*/
37963796
RM_INTERFACE_EXPORT void rm_algo_init_sys_data(rm_robot_arm_model_e Mode, rm_force_type_e Type);
3797+
/**
3798+
* @brief 初始化算法依赖数据(不连接机械臂时调用)
3799+
* @details 初始化算法依赖数据,根据给定的DH参数判断机械臂类型,适用于通用型机械臂(RM_MODEL_UNIVERSAL_E)。
3800+
*
3801+
* @param sensor_type 传感器型号
3802+
* @param dh DH参数
3803+
* @param dof 自由度
3804+
*/
3805+
RM_INTERFACE_EXPORT void rm_algo_init_sys_data_by_dh(rm_force_type_e sensor_type, rm_dh_t dh, int dof);
3806+
/**
3807+
* @brief 设置算法机械臂自由度
3808+
* @details 通用构型(RM_MODEL_UNIVERSAL_E)设置机器人自由度
3809+
*
3810+
* @param dof 机械臂自由度
3811+
*/
3812+
RM_INTERFACE_EXPORT void rm_algo_set_robot_dof(int dof);
37973813
/**
37983814
* @brief 设置安装角度
37993815
*
@@ -4193,7 +4209,7 @@ RM_INTERFACE_EXPORT int rm_set_run_trajectory(rm_robot_handle *handle, const cha
41934209
*/
41944210
RM_INTERFACE_EXPORT int rm_delete_trajectory_file(rm_robot_handle *handle, const char *trajectory_name);
41954211
/**
4196-
* @brief 保存轨迹到控制机器
4212+
* @brief 保存轨迹到控制器
41974213
* @param handle 机械臂控制句柄
41984214
* @param trajectory_name 轨迹名称
41994215
* @return int 函数执行的状态码。

0 commit comments

Comments
 (0)