AUBO SDK  0.26.0
载入中...
搜索中...
未找到
gripper_interface.h
浏览该文件的文档.
1/** @file gripper_interface.h
2 * @brief 通用夹爪接口
3 */
4#ifndef AUBO_SDK_GRIPPER_INTERFACE_H
5#define AUBO_SDK_GRIPPER_INTERFACE_H
6
7#include <aubo/sync_move.h>
8#include <aubo/trace.h>
9
10namespace arcs {
11namespace common_interface {
12
13/**
14 * \~chinese 通用夹爪API接口
15 */
16class ARCS_ABI_EXPORT GripperInterface
17{
18public:
21
22 /**
23 * \chinese
24 * 获取支持的所有夹爪
25 *
26 * @return
27 * \endchinese
28 */
29 std::vector<std::string> gripperGetSupportedModels();
30
31 /**
32 * \chinese
33 * 扫描该型号下的所有设备
34 *
35 * @param model 夹爪品牌型号
36 * @param device_name 设备名
37 * @return 成功返回设备列表和0,失败返回错误码
38 * \endchinese
39 */
40 ResultWithErrno2 gripperScanDevices(const std::string &model,
41 const std::string &device_name);
42
43 /**
44 * \chinese
45 * 添加夹爪
46 *
47 * @param name 用户自定义名字,唯一
48 * @param model 夹爪品牌及型号
49 * @return 成功返回0,失败返回错误码
50 * \endchinese
51 */
52 int gripperAdd(const std::string &name, const std::string &model);
53
54 /**
55 * \chinese
56 * 删除夹爪
57 *
58 * @param name 用户自定义名字
59 * @return 成功返回0,失败返回错误码
60 * \endchinese
61 */
62 int gripperDelete(const std::string &name);
63
64 /**
65 * \chinese
66 * 修改夹爪名
67 *
68 * @param name
69 * @param new_name 新名字
70 * @return 成功返回0,失败返回错误码
71 * \endchinese
72 */
73 int gripperRename(const std::string &name, const std::string &new_name);
74
75 /**
76 * \chinese
77 * 夹爪连接
78 *
79 * @param name
80 * @param device_name 设备名
81 * @return 成功返回0,失败返回错误码
82 * \endchinese
83 */
84 int gripperConnect(const std::string &name, const std::string &device_name);
85
86 /**
87 * \chinese
88 * 夹爪断开连接
89 *
90 * @param name
91 * @return 成功返回0,失败返回错误码
92 * \endchinese
93 */
94 int gripperDisconnect(const std::string &name);
95
96 /**
97 * \chinese
98 * 夹爪是否连接
99 *
100 * @param name
101 * @return 已连接返回true,未连接返回false
102 * \endchinese
103 */
104 bool gripperIsConnected(const std::string &name);
105
106 /**
107 * \chinese
108 * 设置工作模式
109 *
110 * @param name
111 * @param work_mode 工作模式
112 * @return 成功返回0,失败返回错误码
113 * \endchinese
114 */
115 int gripperSetWorkMode(const std::string &name, int work_mode);
116
117 /**
118 * \chinese
119 * 获取工作模式
120 *
121 * @param name
122 * @return 返回工作模式
123 * \endchinese
124 */
125 int gripperGetWorkMode(const std::string &name);
126
127 /**
128 * \chinese
129 * 设置夹爪安装偏移
130 *
131 * @param name
132 * @param isVisibled 是否显示
133 * @param pose 末端(不包括手指)相对法兰的位姿
134 * @return 成功返回true,失败返回false
135 * \endchinese
136 */
137 int gripperSetMountPose(const std::string &name,
138 const std::vector<double> &pose,
139 bool enable_collision);
140
141 /**
142 * @brief 获取夹爪安装偏移
143 * @param name
144 * @return 返回夹爪安装偏移
145 */
146 std::vector<double> gripperGetMountPose(const std::string &name);
147
148 /**
149 * \chinese
150 * 使能夹爪
151 *
152 * @param name
153 * @return
154 * \endchinese
155 */
156 int gripperEnable(const std::string &name, bool enable);
157
158 /**
159 * \chinese
160 * 夹爪是否使能
161 *
162 * @param name
163 * @return
164 * \endchinese
165 */
166 bool gripperIsEnabled(const std::string &name);
167
168 /**
169 * \chinese
170 * 设置运动参数
171 *
172 * @param name
173 * @return
174 * \endchinese
175 */
176 int gripperSetPosition(const std::string &name, const double position);
177 int gripperSetVelocity(const std::string &name, const double velocity);
178 int gripperSetForce(const std::string &name, const double force);
179 int gripperSetAngle(const std::string &name, const double angle);
180 int gripperSetRVelocity(const std::string &name, const double r_velocity);
181 int gripperSetTorque(const std::string &name, const double torque);
182
183 /**
184 * \chinese
185 * 开始运动
186 *
187 * @param name
188 * @return
189 * \endchinese
190 */
191 int gripperMove(const std::string &name);
192
193 /**
194 * \chinese
195 * 停止运动
196 *
197 * @param name
198 * @return
199 * \endchinese
200 */
201 int gripperStop(const std::string &name);
202
203 /**
204 * \chinese
205 * 获取夹爪状态
206 *
207 * @param name
208 * @return
209 * \endchinese
210 */
211 std::string gripperGetHardwareVersion(const std::string &name);
212 std::string gripperGetSoftwareVersion(const std::string &name);
213 double gripperGetPosition(const std::string &name);
214 double gripperGetVelocity(const std::string &name);
215 double gripperGetForce(const std::string &name);
216 double gripperGetAngle(const std::string &name);
217 double gripperGetRVelocity(const std::string &name);
218 double gripperGetTorque(const std::string &name);
219 bool gripperGetObjectDetection(const std::string &name);
220 bool gripperGetMotionState(const std::string &name);
221 double gripperGetVoltage(const std::string &name);
222 double gripperGetTemperature(const std::string &name);
223
224 /**
225 * \chinese
226 * 重置modbus从站ID
227 *
228 * @param name
229 * @param slave_id 从站Id
230 * @return
231 * \endchinese
232 */
233 int gripperResetSlaveId(const std::string &name, const int slave_id);
234
235protected:
236 void *d_;
237};
238using GripperInterfacePtr = std::shared_ptr<GripperInterface>;
239
240} // namespace common_interface
241} // namespace arcs
242
243#endif // AUBO_SDK_GRIPPER_INTERFACE_H
double gripperGetVoltage(const std::string &name)
int gripperSetVelocity(const std::string &name, const double velocity)
double gripperGetAngle(const std::string &name)
double gripperGetVelocity(const std::string &name)
std::vector< std::string > gripperGetSupportedModels()
获取支持的所有夹爪
std::string gripperGetSoftwareVersion(const std::string &name)
std::vector< double > gripperGetMountPose(const std::string &name)
获取夹爪安装偏移
double gripperGetTorque(const std::string &name)
int gripperSetWorkMode(const std::string &name, int work_mode)
设置工作模式
int gripperEnable(const std::string &name, bool enable)
使能夹爪
int gripperResetSlaveId(const std::string &name, const int slave_id)
重置modbus从站ID
int gripperSetAngle(const std::string &name, const double angle)
int gripperGetWorkMode(const std::string &name)
获取工作模式
bool gripperGetObjectDetection(const std::string &name)
int gripperStop(const std::string &name)
停止运动
int gripperSetTorque(const std::string &name, const double torque)
int gripperSetMountPose(const std::string &name, const std::vector< double > &pose, bool enable_collision)
设置夹爪安装偏移
bool gripperIsConnected(const std::string &name)
夹爪是否连接
double gripperGetForce(const std::string &name)
double gripperGetRVelocity(const std::string &name)
int gripperAdd(const std::string &name, const std::string &model)
添加夹爪
int gripperMove(const std::string &name)
开始运动
double gripperGetTemperature(const std::string &name)
int gripperConnect(const std::string &name, const std::string &device_name)
夹爪连接
ResultWithErrno2 gripperScanDevices(const std::string &model, const std::string &device_name)
扫描该型号下的所有设备
int gripperRename(const std::string &name, const std::string &new_name)
修改夹爪名
int gripperSetPosition(const std::string &name, const double position)
设置运动参数
int gripperSetForce(const std::string &name, const double force)
int gripperSetRVelocity(const std::string &name, const double r_velocity)
std::string gripperGetHardwareVersion(const std::string &name)
获取夹爪状态
int gripperDelete(const std::string &name)
删除夹爪
bool gripperIsEnabled(const std::string &name)
夹爪是否使能
bool gripperGetMotionState(const std::string &name)
int gripperDisconnect(const std::string &name)
夹爪断开连接
double gripperGetPosition(const std::string &name)
std::tuple< std::vector< std::string >, int > ResultWithErrno2
Definition type_def.h:769
std::shared_ptr< GripperInterface > GripperInterfacePtr
同步运行
向控制器日志系统注入日志方面的接口