AGVC SDK  0.8.0
agvc_interface.h
浏览该文件的文档.
1#ifndef AGVC_INTERFACE_H
2#define AGVC_INTERFACE_H
3
4#include <memory>
6
7#define INTERFACE_VERSION_MAJOR 0
8#define INTERFACE_VERSION_MINOR 4
9#define INTERFACE_VERSION_PATCH 0
10#define INTERFACE_VERSION (INTERFACE_VERSION_MAJOR * 1000000 + INTERFACE_VERSION_MINOR * 1000 + INTERFACE_VERSION_PATCH)
11
12/**
13 * @defgroup Map Map(地图模块)
14 * @brief AGVC自定义地图的创建、切换、删除、数据读写等核心功能
15 */
16
17/**
18 * @defgroup Station Station(站点模块)
19 * @brief AGVC地图站点的增删改查、充电站点自动识别等功能
20 */
21
22/**
23 * @defgroup Path Path(路径模块)
24 * @brief AGVC地图路径的生成、修改、删除、查询等功能
25 */
26
27/**
28 * @defgroup Navigation Navigation(导航模块)
29 * @brief AGVC运动控制、导航任务下发、重定位、模式切换等功能
30 */
31
32/**
33 * @defgroup Charging Charging(充电模块)
34 * @brief AGVC自动充电、强制上下桩、电量检测等充电相关功能
35 */
36
37/**
38 * @defgroup AgvInfo AgvInfo(AGV信息模块)
39 * @brief AGVC状态、位姿、日志、错误码等信息查询功能
40 */
41
42/**
43 * @defgroup System System(系统模块)
44 * @brief AGVC系统配置、控制权、软件升级、固件更新等系统级功能
45 */
46
47namespace agvc_interface {
48
50{
51public:
53 virtual ~AgvcInterface();
54
55 /**
56 * @ingroup System
57 * @brief 设置agv系统时间
58 * @param[in] stamp 时间戳,YYYY-MM-DDTHH:mm:ss.ssZ
59 * (e.g.“2017-04-15T11:40:03.12Z”)
60 */
61 int setSystemClock(const std::string &stamp);
62
63 /**
64 * @ingroup AgvInfo
65 * @attention rtde推送
66 * @brief 查询当前agv信息
67 * @return agv详细信息
68 */
70
71 /**
72 * @ingroup AgvInfo
73 * @attention rtde推送
74 * @brief 查询当前agv运行信息
75 * @return agv运行信息
76 */
78
79 /**
80 * @ingroup AgvInfo
81 * @attention rtde推送
82 * @brief 查询agv当前位姿
83 * @return 当前位姿
84 */
86
87 /**
88 * @ingroup AgvInfo
89 * @attention rtde推送
90 * @brief 查询当前激光点云数据
91 * @return 二维激光点坐标
92 */
93 std::vector<Point2d> getLaserPointCloud();
94
95 /**
96 * @ingroup System
97 * @brief 查询异步接口的运行情况,不代表异步接口本身的运行结果
98 * @note 异步接口:saveMap, switchMap, changeRunningMode, relocation, sendBase64PngMapToAgv
99 * @note 异步接口:getGridMapAllInfo, setGridMapAllInfo, sendGridMapToAgv, getGridMapFromAgv
100 * @note 异步接口:getPngMapAllInfo, setPngMapAllInfo, getBase64PngMapFromAgv, previewPngMapFromAgv
101 * @note 异步接口:autoAlignRailway
102 * @note 客户端与agv断联后,调用该接口获取异步接口运行情况
103 * @note 返回值的每个字段中均有header,其中header.id表示下发异步任务时的id号
104 * @return NONE: 异步接口未运行
105 * RUNNING:异步接口运行中
106 * FINISH: 异步接口运行结束
107 */
109
110 /**
111 * @ingroup Station
112 * @brief 查询当前地图的所有站点信息
113 * @return 当前地图的所有站点信息
114 */
115 std::vector<StationMark> getAllStations();
116
117 /**
118 * @ingroup Station
119 * @brief 查询指定地图的所有站点信息
120 * @param[in] map_header 指定地图header(命令id,名称,时间,地图id)
121 * @return 指定地图的所有站点信息
122 */
123 std::vector<StationMark> getAllStationsOfTargetMap(const Header &map_header);
124
125 /**
126 * @ingroup Station
127 * @brief 添加/修改一个站点
128 * @param[in] station 待添加/修改的站点信息
129 * @return 10100000:添加/修改站点成功
130 * else:添加/修改站点失败
131 */
132 int addStation(const StationMark &station);
133
134 /**
135 * @ingroup Station
136 * @brief 添加/修改多个站点
137 * @param[in] stations 待添加的站点
138 * @return 10100000:添加/修改站点成功
139 * else:添加/修改站点失败
140 */
141 int addStations(const std::vector<StationMark> &stations);
142
143 /**
144 * @ingroup Station
145 * @brief 通过自动识别充电桩位姿来添加充电站点
146 * @since 0.7.0
147 * @param[in] station_header 待添加/修改的充电站点信息(站点id,名称,时间,地图id)
148 * @param[in] dis_station_board 充电站点与充电桩之间的距离(充电站点位于AGV中心),单位:m,范围[1.0~2.0]
149 * @return 10100000:添加充电站点成功
150 * else:添加充电站点失败
151 */
152 int addCPStationUseChargingBoard(const Header &station_header, const double &dis_station_board = 1.5);
153
154 /**
155 * @ingroup Station
156 * @brief 删除指定站点(会删除与该站点相关的路径)
157 * @param[in] station_header 待删除站点信息(站点id,名称,时间,地图id)
158 * @return 10100000:删除站点成功
159 * else:删除站点失败
160 */
161 int deleteStation(const Header &station_header);
162
163 /**
164 * @ingroup Station
165 * @brief 删除多个站点(会删除与站点相关的路径)
166 * @param[in] stations_header 待删除站点信息(站点id,名称,时间,地图id)
167 * @return 10100000:删除站点成功
168 * else:删除站点失败
169 */
170 int deleteStations(const std::vector<Header> &stations_header);
171
172 /**
173 * @ingroup Path
174 * @brief 查询当前地图的所有路径信息
175 * @return 当前地图的所有路径信息
176 */
177 std::vector<PathStation> getAllPaths();
178
179 /**
180 * @ingroup Path
181 * @brief 查询指定地图的所有路径信息
182 * @param[in] map_header 指定地图header(命令id,名称,时间,地图id)
183 * @return 指定地图的所有路径信息
184 */
185 std::vector<PathStation> getAllPathsOfTargetMap(const Header &map_header);
186
187 /**
188 * @ingroup Path
189 * @brief 查询agv当前正在跟踪的路径信息
190 * @return 当前正在跟踪的路径信息
191 */
193
194 /**
195 * @ingroup Path
196 * @brief 生成/修改一条路径
197 * @param[in] path_station 待生成/修改的路径信息
198 * @return 10100000:修改/生成路径成功
199 * else:修改/生成路径失败
200 */
201 int generatePath(const PathStation &path_station);
202
203 /**
204 * @ingroup Path
205 * @brief 生成/修改多条路径
206 * @param[in] paths_station 待生成/修改的路径信息
207 * @return 10100000:修改/生成路径成功
208 * else:修改/生成路径失败
209 */
210 int generatePaths(const std::vector<PathStation> &paths_station);
211
212 /**
213 * @ingroup Path
214 * @brief 删除一条路径
215 * @param[in] path_header 待删除路径信息(路径id,名称,时间,地图id)
216 * @return 10100000:删除路径成功
217 * else:删除路径失败
218 */
219 int deletePath(const Header &path_header);
220
221 /**
222 * @ingroup Path
223 * @brief 删除多条路径
224 * @param[in] paths_header 待删除路径信息(路径id,名称,时间,地图id)
225 * @return 10100000:删除路径成功
226 * else:删除路径失败
227 */
228 int deletePaths(const std::vector<Header> &paths_header);
229
230 /**
231 * @ingroup Map
232 * @brief 获取agv所有地图的信息头
233 * @return 所有地图的信息头(命令id,名称,时间,地图id)
234 */
235 std::vector<Header> getMapList();
236
237 /**
238 * @ingroup Map
239 * @brief 查询当前agv地图的信息头
240 * @return 当前地图的信息头(命令id,名称,时间,地图id)
241 */
243
244 /**
245 * @ingroup Map
246 * @brief 获取指定栅格地图信息
247 * @param[in] map_header 指定地图的信息头(本次异步命令id,名称,时间,地图id)
248 * @note map_id为"current_map"时,可特指为当前地图
249 * @return 指定栅格地图信息
250 */
252
253 /**
254 * @ingroup Map
255 * @attention 1.异步接口
256 * @brief 获取Base64编码的png地图信息
257 * @param[in] map_header 指定地图的信息头(本次异步命令id,名称,时间,地图id)
258 * @note map_id为"current_map"时,可特指为当前地图
259 * @return Base64编码的png地图信息
260 */
262
263 /**
264 * @ingroup Map
265 * @attention 1.异步接口
266 * @brief 获取预览图,可指定预览图的长和宽
267 * @param[in] map_header 指定地图的信息头(本次异步命令id,名称,时间,地图id)
268 * @param[in] image_width_px 地图的宽度(像素),默认值为0 返回缩略图数据为空
269 * @param[in] image_height_px 地图的高度(像素),默认值为0 返回缩略图数据为空
270 * @note map_id为"current_map"时,可特指为当前地图
271 * @return Base64编码的png缩略图
272 */
273 Base64PngMap previewPngMapFromAgv(const Header &map_header, const int &image_width_px = 0, const int &image_height_px = 0);
274
275 /**
276 * @ingroup Map
277 * @attention 1.异步接口
278 * @brief 将栅格地图信息发送给agv
279 * @param[in] map 栅格地图信息
280 * @return 10100000:发送地图成功
281 * 10100201:发送地图中
282 * else:发送地图失败
283 */
285
286 /**
287 * @ingroup Map
288 * @attention 1.异步接口
289 * @brief 将Base64编码的Png地图发送给agv
290 * @param[in] map Base64编码的Png地图
291 * @return 10100000:发送地图成功
292 * 10100201:发送地图中
293 * else:发送地图失败
294 */
296
297 /**
298 * @ingroup Map
299 * @attention 1.异步接口; 2.控制权限制
300 * @brief 建图完成后,调用该接口保存地图
301 * @param[in] map_header 地图信息头(本次异步命令id,名称,时间,地图id)
302 * @return 10100000:保存地图成功
303 * 10100201:异步接口运行中
304 * 10120202:无控制权
305 * else:保存地图失败
306 */
307 int saveMap(const Header &map_header);
308
309 /**
310 * @ingroup Map
311 * @attention 1.异步接口; 2.控制权限制
312 * @brief 切换指定地图
313 * @param[in] map_header 指定地图的信息头(本次异步命令id,名称,时间,地图id)
314 * @return 10100000:切换地图成功
315 * 10100201:异步接口运行中
316 * 10120202:无控制权
317 * else:切换地图失败
318 */
319 int switchMap(const Header &map_header);
320
321 /**
322 * @ingroup Map
323 * @brief 删除一张指定地图
324 * @param[in] map_header 指定地图的信息头(命令id,名称,时间,地图id)
325 * @return 10100000:删除地图成功
326 * else:删除地图失败
327 */
328 int deleteMap(const Header &map_header);
329
330 /**
331 * @ingroup Map
332 * @brief 删除多张指定地图
333 * @param[in] map_headers 多个指定地图的信息头(命令id,名称,时间,地图id)
334 * @return 10100000:删除地图成功
335 * else:删除地图失败
336 */
337 int deleteMaps(const std::vector<Header> &map_headers);
338
339 /**
340 * @ingroup Map
341 * @brief 查询当前地图的虚拟区域
342 * @return 当前地图的虚拟区域信息
343 */
344 std::vector<MapVirtualArea> getAllMapVirtualArea();
345
346 /**
347 * @ingroup Map
348 * @brief 查询目标地图的虚拟区域
349 * @param[in] map_header 指定地图header(命令id,名称,时间,地图id)
350 * @return 指定地图的所有虚拟区域
351 */
352 std::vector<MapVirtualArea> getAllMapVirtualAreaOfTargetMap(const Header &map_header);
353
354 /**
355 * @ingroup Map
356 * @brief 添加/修改一个虚拟区域
357 * @param[in] map_virtual_area 待添加/修改的虚拟区域信息
358 * @return 10100000:添加/修改虚拟区域成功
359 * else:添加/修改虚拟区域失败
360 */
361 int addMapVirtualArea(const MapVirtualArea &map_virtual_area);
362
363 /**
364 * @ingroup Map
365 * @brief 添加/修改多个虚拟区域
366 * @param[in] map_virtual_areas 待添加的虚拟区域信息
367 * @return 10100000:添加/修改虚拟区域成功
368 * else:添加/修改虚拟区域失败
369 */
370 int addMapVirtualAreas(const std::vector<MapVirtualArea> &map_virtual_areas);
371
372 /**
373 * @ingroup Map
374 * @brief 删除指定虚拟区域
375 * @param[in] virtual_area_header
376 * 指定虚拟区域信息头(命令id,虚拟区域名称,时间,所在地图id)
377 * @return 10100000:删除虚拟区域成功
378 * else:删除虚拟区域失败
379 */
380 int deleteMapVirtualArea(const Header &virtual_area_header);
381
382 /**
383 * @ingroup Map
384 * @brief 删除多个指定虚拟区域
385 * @param[in] virtual_areas_header
386 * 指定虚拟区域信息头(命令id,虚拟区域名称,时间,所在地图id)
387 * @return 10100000:删除虚拟区域成功
388 * else:删除虚拟区域失败
389 */
390 int deleteMapVirtualAreas(const std::vector<Header> &virtual_areas_header);
391
392 /**
393 * @ingroup Map
394 * @attention 1.异步接口
395 * @brief 获取指定地图的栅格地图数据、路径、站点、虚拟区信息
396 * @param[in] map_header 指定地图信息头(本次异步命令id,地图名称,时间,地图id)
397 * @note map_id为"current_map"时,可特指为当前地图
398 * @return 栅格地图上的全部信息
399 */
401
402 /**
403 * @ingroup Map
404 * @attention 1.异步接口
405 * @brief 获取指定地图的Base64地图数据、路径、站点、虚拟区信息
406 * @param[in] map_header 指定地图信息头(本次异步命令id,地图名称,时间,地图id)
407 * @note map_id为"current_map"时,可特指为当前地图
408 * @return base64地图上的全部信息
409 */
411
412 /**
413 * @ingroup Map
414 * @attention 1.异步接口; 2.控制权限制
415 * @brief 设置栅格地图、路径、站点、虚拟区信息
416 * @param[in] map_all_info 栅格地图上的全部信息
417 * @param[in] command_header id字段代表下发本次命令的id;其他字段无特殊含义
418 * @note 请保证数据下发的可行性(agv不会对数据进行校验)
419 * @return 10100000:上传全部地图信息成功
420 * 10100201:异步接口运行中
421 * 10120202:无控制权
422 * else:上传全部地图信息失败
423 */
424 int setGridMapAllInfo(const MapAllInfo &map_all_info,
425 const Header &command_header = { "99999", "99999", 1, "99999" });
426
427 /**
428 * @ingroup Map
429 * @attention 1.异步接口; 2.控制权限制
430 * @brief 设置Base64格式地图、路径、站点、虚拟区信息
431 * @param[in] map_all_info Base64格式地图上的全部信息
432 * @param[in] command_header id字段代表下发本次命令的id;其他字段无特殊含义
433 * @note 请保证数据下发的可行性(agv不会对数据进行校验)
434 * @return 10100000:上传全部地图信息成功
435 * 10100201:异步接口运行中
436 * 10120202:无控制权
437 * else:上传全部地图信息失败
438 */
439 int setPngMapAllInfo(const MapAllInfo &map_all_info,
440 const Header &command_header = { "99999", "99999", 1, "99999" });
441
442 /**
443 * @ingroup Map
444 * @brief 删除指定地图的全部信息(地图数据、站点、路径、虚拟区信息)
445 * @param[in] map_header 指定地图信息头(命令id,地图名称,时间,地图id)
446 * @return 10100000:删除成功
447 * else:删除失败
448 */
449 int deleteMapAllInfo(const Header &map_header);
450
451 /**
452 * @ingroup System
453 * @attention 异步接口
454 * @brief 获取当前扫描到的WiFi列表
455 * @return {RUNNING} 异步接口运行中
456 * {} 为空-未扫描到WIFI
457 * {SSID} 不为空-扫描到的WIFI名称列表
458 */
459 std::vector<std::string> getWifiList();
460
461 /**
462 * @ingroup System
463 * @brief 连接到指定WiFi(自动切换到WiFi模式)
464 * @note 必须在有线连接时调用,且执行时间较长
465 * @param[in] ssid WiFi名称
466 * @param[in] password WiFi密码
467 * @return 10100000:连接WiFi成功
468 * else:连接WiFi失败
469 */
470 int connectWifi(const std::string &ssid, const std::string &password);
471
472 /**
473 * @ingroup System
474 * @brief 开启热点(自动切换到热点模式)
475 * @note 必须在有线连接时调用,且执行时间较长
476 * @param[in] password 热点密码,
477 * 如果为空使用"administrator"为默认密码;ssid默认为SN码
478 * @return 10100000:启用热点成功
479 * else:启用热点失败
480 */
481 int enableHotspot(const std::string &password);
482
483 /**
484 * @ingroup System
485 * @brief 获取本机所有IP地址
486 * @return 本机所有IP地址
487 */
488 std::vector<IpAddressInfo> getIpAddressList();
489
490 /**
491 * @ingroup Navigation
492 * @attention 1.异步接口; 2.控制权限制
493 * @brief: 切换agv模式
494 * @param[in] running_mode 打算切换的模式:导航模式、建图模式;
495 * @param[in] command_header id字段代表下发本次命令的id;其他字段无特殊含义
496 * @return 10100000:换模式成功
497 * 10100201:异步接口运行中
498 * 10120202:无控制权
499 * else:切换模式失败
500 */
501 int changeRunningMode(const RunningMode &running_mode,
502 const Header &command_header = { "99999", "99999", 1, "99999" });
503
504 /**
505 * @ingroup Navigation
506 * @attention 控制权限制
507 * @brief 控制agv运动
508 * @param[in] speed 速度信息
509 * @return 10100000:向agv下发速度成功
510 * 10120202:没有控制权
511 * else:向agv下发速度失败
512 */
513 int setControlSpeed(const Speed &speed);
514
515 /**
516 * @ingroup Navigation
517 * @attention 控制权限制
518 * @brief 向agv发送导航任务
519 * @param[in] target 目标位置信息与导航参数信息
520 * @return 10100000:设置导航任务成功
521 * 10120202:没有控制权
522 * else:设置导航任务失败
523 */
524 int setNavGoal(const NavGoalType &target);
525
526 /**
527 * @ingroup AgvInfo
528 * @attention rtde推送
529 * @brief 获取当前导航信息
530 * @return 当前导航信息
531 */
533
534 /**
535 * @ingroup Navigation
536 * @attention 控制权限制
537 * @brief 暂停agv速度
538 * @return 10100000:暂停成功
539 * 10120202:没有控制权
540 * else:暂停失败
541 */
543
544 /**
545 * @ingroup Navigation
546 * @attention 控制权限制
547 * @brief 暂停后,恢复agv速度
548 * @return 10100000:恢复成功
549 * 10120202:没有控制权
550 * else:恢复失败
551 */
553
554 /**
555 * @ingroup Navigation
556 * @attention 控制权限制
557 * @brief 取消导航任务
558 * @return 10100000:取消导航任务成功
559 * 10120202:没有控制权
560 * else:取消导航任务失败
561 */
563
564 /**
565 * @ingroup Navigation
566 * @attention 1.异步接口; 2.控制权限制
567 * @brief agv重定位
568 * @param[in] init_pose agv当前参考位姿
569 * @param[in] command_header id字段代表下发本次命令的id;其他字段无特殊含义
570 * @return 10100000:重定位成功
571 * 10100201:异步接口运行中
572 * 10120202:无控制权
573 * else:重定位失败
574 */
575 int relocation(const Pose2d &init_pose, const Header &command_header = { "99999", "99999", 1, "99999" });
576
577 /**
578 * @ingroup System
579 * @brief 获取agv控制器的参数文件
580 * @return std::string 当前agv控制器中的参数信息
581 */
583
584 /**
585 * @ingroup System
586 * @attention 控制权限制
587 * @brief 设置agv控制器的参数文件
588 * @note 不要高频调用,调用频率低于1Hz;此接口会默认执行刷新参数功能
589 * @param[in] agv_parameters agv控制器的参数信息
590 * @return 10100000:设置参数成功
591 * else:设置参数失败
592 */
593 int setAgvControllerParametersFile(const std::string &agv_parameters);
594
595 /**
596 * @ingroup System
597 * @attention 控制权限制
598 * @brief 修改agv控制器的参数文件后,让agv各节点刷新参数
599 * @note 不要高频调用,调用频率低于1Hz
600 * @return 10100000:接口执行成功
601 * else:接口执行失败
602 */
604
605 /**
606 * @ingroup System
607 * @attention 控制权限制
608 * @brief 将agv控制器的参数文件恢复出厂设置
609 * @note 不要高频调用,调用频率低于1Hz
610 * @return 10100000:接口执行成功
611 * else:接口执行失败
612 */
614
615 /**
616 * @ingroup Charging
617 * @attention 控制权限制
618 * @brief 检测当前电量,电量低将自动上桩充电
619 * @deprecated 自 0.7.0 起废弃,请使用新的 sendAutoChargingCommand(const AutoChargingCommand&) 接口。
620 * @note 充电完成后,根据配置文件中的参数auto_leave_board,决定是否自动下桩并行驶到指定站点或等待区
621 * 在配置文件中设置电量低阈值[low_battery_threshold]或电量高阈值[high_battery_threshold]
622 * @param[in] check_power_header
623 * 本次命令的id,本次命令的name,当前时间,地图id
624 * @param[in] nav_board_charge_station_id 行驶到指定的充电站点进行上桩充电;
625 * 如果不设置该参数,行驶到最近的充电站点进行上桩充电
626 * @return 10100000:接口调用成功,AGV开始执行充电命令
627 * 10120202:无控制权
628 * else:接口调用失败
629 */
630 [[deprecated("Since 0.7.0: use sendAutoChargingCommand(const AutoChargingCommand&) instead.")]]
631 int checkPowerAndAutoCharge(const Header &check_power_header = { "99999", "99999", 99999, "99999" },
632 const std::string &nav_board_charge_station_id = "99999");
633
634 /**
635 * @ingroup Charging
636 * @brief 设置自动下桩时的目标站点
637 * @deprecated 自 0.7.0 起废弃,请使用新的 sendAutoChargingCommand(const AutoChargingCommand&) 接口。
638 * @param[in] leave_board_target_station_header 自动下桩的站点的header信息
639 * @return 10100000:设置自动下桩站点成功
640 * else:设置自动下桩站点失败
641 */
642 [[deprecated("Since 0.7.0: use sendAutoChargingCommand(const AutoChargingCommand&) instead.")]]
643 int setLeaveBoardTargetStation(const Header &leave_board_target_station_header);
644
645 /**
646 * @ingroup Charging
647 * @brief 获取自动下桩时的目标站点
648 * @deprecated 自 0.7.0 起废弃,请使用新的 getNavInfo() 接口。
649 * @return Header 自动下桩时的目标站点Header信息
650 */
651 [[deprecated("Since 0.7.0: use getNavInfo() instead.")]]
653
654 /**
655 * @ingroup Charging
656 * @attention 控制权限制
657 * @brief 强制上桩充电
658 * @deprecated 自 0.7.0 起废弃,请使用新的 sendAutoChargingCommand(const AutoChargingCommand&) 接口。
659 * @param[in] forced_charge_header 本次命令的id,本次命令的name,当前时间,地图id
660 * @param[in] nav_board_charge_station_id 行驶到指定的充电站点进行上桩充电;
661 * 如果不设置该参数,行驶到最近的充电站点进行上桩充电
662 * @return 10100000:接口调用成功,AGV开始上桩充电
663 * 10120202:无控制权
664 * else:接口调用失败
665 */
666 [[deprecated("Since 0.7.0: use sendAutoChargingCommand(const AutoChargingCommand&) instead.")]]
667 int forcedAgvToChargingBoard(const Header &forced_charge_header = { "99999", "99999", 99999, "99999" },
668 const std::string &nav_board_charge_station_id = "99999");
669
670 /**
671 * @ingroup Charging
672 * @attention 控制权限制
673 * @brief 强制下桩
674 * @deprecated 自 0.7.0 起废弃,请使用新的 sendAutoChargingCommand(const AutoChargingCommand&) 接口。
675 * @param[in] forced_leave_header
676 * 本次命令的id,本次命令的name,当前时间,地图id
677 * @param[in] leave_board_target_station_id 下桩前往的站点;
678 * 如果不设置该参数,则下桩到充电站点
679 * @return 10100000:接口调用成功,AGV开始下桩
680 * 10120202:无控制权
681 * else:接口调用失败
682 */
683 [[deprecated("Since 0.7.0: use sendAutoChargingCommand(const AutoChargingCommand&) instead.")]]
684 int forcedAgvLeaveChargingBoard(const Header &forced_leave_header = { "99999", "99999", 99999, "99999" },
685 const std::string &leave_board_target_station_id = "99999");
686
687 /**
688 * @ingroup Charging
689 * @attention 控制权限制
690 * @brief 下发自动充电命令
691 * @since 0.7.0
692 * @param[in] auto_charging_command 自动充电命令
693 * @return 10100000:接口调用成功,AGV开始执行充电命令
694 * 10120202:无控制权
695 * else:接口调用失败
696 */
697 int sendAutoChargingCommand(const AutoChargingCommand &auto_charging_command);
698
699 /**
700 * @ingroup AgvInfo
701 * @brief 获取agv运行中的日志信息
702 * @return agv运行中的日志信息
703 */
704 std::string getAgvLogMessage();
705
706 /**
707 * @ingroup System
708 * @brief agv软件升级
709 * @param[in] upgrade_pack_path 升级包路径,例如"/root/agvc_release-0.1.1+398d1f7-Linux_x86_64.tar.gz"
710 * @return 10100000:目标版本升级成功
711 * 10100201:正在升级中
712 * else:升级失败
713 */
714 int updateSoftware(const std::string &upgrade_pack_path);
715
716 /**
717 * @ingroup System
718 * @brief 获取agv软件版本列表
719 * @return 软件版本列表集合 {0.3.2+3b807d1-Linux_x86_64,0.6.3-patch.3+b8c6aa4-Linux_x86_64}
720 */
721 std::vector<std::string> getSoftwareVersionList();
722
723 /**
724 * @ingroup System
725 * @brief 切换agv软件版本
726 * @param[in] software_version 软件版本 "0.3.2+3b807d1-Linux_x86_64"
727 * @return 10100000:软件版本切换成功
728 * else:软件版本切换失败
729 */
730 int switchSoftwareVersion(const std::string &software_version);
731
732 /**
733 * @ingroup System
734 * @brief 卸载agv软件版本
735 * @param[in] software_version 软件版本 "0.3.2+3b807d1-Linux_x86_64"
736 * @return 10100000:软件版本卸载成功
737 * else:软件版本卸载失败
738 */
739 int uninstallSoftware(const std::string &software_version);
740
741 /**
742 * @ingroup System
743 * @brief agv固件更新
744 * @param[in] update_firmware 配置要更新固件的模块、固件存储路径
745 * @return 10100000:下发固件更新信息成功
746 * else:固件正在更新中
747 */
748 int updateFirmware(const FirmwareUpdateParam &update_firmware);
749
750 /**
751 * @ingroup System
752 * @brief 获取固件更新过程信息
753 * @return
754 * 固件更新步骤信息(步骤信息为failed代表更新失败),更新进度(进度信息为1.0代表更新成功)
755 */
757
758 /**
759 * @ingroup System
760 * @brief 开始采集数据
761 * @note LASER_ODOM标定采集数据量要求大于1000组,具体数据量可以在配置文件中修改
762 * @param[in] type 标定类型
763 * @param[in] command_header id字段代表下发本次命令的id;其他字段无特殊含义
764 * @return 10100000:接口调用成功
765 * 10120202:无控制权
766 * else:接口调用失败
767 */
769 const Header &command_header = { "99999", "99999", 1, "99999" });
770
771 /**
772 * @ingroup System
773 * @brief 取消采集数据
774 * @param[in] type 标定类型
775 * @param[in] command_header id字段代表下发本次命令的id;其他字段无特殊含义
776 * @return 10100000:接口调用成功
777 * 10120202:无控制权
778 * else:接口调用失败
779 */
781 const Header &command_header = { "99999", "99999", 1, "99999" });
782
783 /**
784 * @ingroup System
785 * @brief 开始标定
786 * @param[in] type 标定类型
787 * @param[in] command_header id字段代表下发本次命令的id;其他字段无特殊含义
788 * @return 10100000:接口调用成功
789 * 10120202:无控制权
790 * else:接口调用失败
791 */
792 int startCalibration(const CalibrationType &type, const Header &command_header = { "99999", "99999", 1, "99999" });
793
794 /**
795 * @ingroup System
796 * @brief 获取标定信息
797 * @param[in] type 标定类型
798 * @return 标定信息
799 */
801
802 /**
803 * @ingroup System
804 * @brief 重启agv
805 * @return 10100000:重启指令执行成功
806 * else:重启指令执行失败
807 */
809
810 /**
811 * @ingroup System
812 * @brief 设置agv的名称
813 * @param[in] agv_name 设置的agv名称
814 * @return 10100000:设置名称成功
815 * else:设置名称失败
816 */
817 int setAgvName(const std::string &agv_name);
818
819 /**
820 * @ingroup System
821 * @brief 控制权设置
822 * @note 1.该接口设置成功后才能正常使用控制权相关接口
823 * 2.控制权设置前需要先释放他人的控制权:releasePriority
824 * 3.web端抢占优先权: name="web"
825 * @param[in] name 登陆RPC注册时的用户名
826 * @param[in] ip IP地址
827 * @return 10100000:设置控制权成功
828 * else:设置控制权失败
829 */
830 int setPriority(const std::string &name, const std::string &ip = "");
831
832 /**
833 * @ingroup System
834 * @brief 释放控制权
835 * @return 10100000:释放控制权成功
836 * else:释放控制权失败
837 */
839
840 /**
841 * @ingroup System
842 * @brief 暂停脚本
843 * @return 10100000:脚本暂停成功
844 * else:脚本暂停失败
845 */
847
848 /**
849 * @ingroup System
850 * @brief 脚本恢复
851 * @return 10100000:脚本恢复成功
852 * else:脚本恢复失败
853 */
855
856 /**
857 * @ingroup System
858 * @brief 脚本停止权
859 * @return 10100000:脚本停止成功
860 * else:脚本停止失败
861 */
863
864 /**
865 * @ingroup AgvInfo
866 * @brief 获取脚本运行状态
867 * @return 脚本运行状态
868 */
870
871 /**
872 * @ingroup System
873 * @brief 设置脚本运行状态
874 * @return 10100000:设置脚本运行状态成功
875 * else:设置脚本运行状态失败
876 */
878
879 /**
880 * @ingroup AgvInfo
881 * @brief 错误码查询
882 * @param[in] error_code 错误码
883 * @return 错误码含义
884 * 为空-错误码未知
885 *
886 */
887 std::string errorCodeDecoder(const int &error_code);
888
889 /**
890 * @ingroup AgvInfo
891 * @brief 获取当前的错误码
892 * @return 错误码集合
893 */
894 std::vector<Header> getCurrentErrorCodes();
895
896 /**
897 * @ingroup AgvInfo
898 * @brief 寻找agv,自动播放语音并特殊灯光闪烁
899 * @return 10100000: 寻找指令下发成功
900 * else: 下发指令失败
901 */
903
904 /**
905 * @ingroup AgvInfo
906 * @brief agv行进方向是否有障碍物
907 * @param[in] detect_distance 检测距离 默认为1.0m
908 * @return true: 行进方向存在障碍物
909 * false: 行进方向无障碍物
910 */
911 bool isObstacleAhead(const double &detect_distance = 1.0);
912
913 /**
914 * @ingroup AgvInfo
915 * @brief 获取指定检测距离范围内的最近站点信息
916 * @param[in] detect_distance 检测距离 默认为1.0m
917 * @return 最近站点信息, id为NONE代表检测距离内无站点
918 */
919 StationMark getNearestStation(const double &detect_distance = 1.0);
920
921 /**
922 * @ingroup System
923 * @attention 1.异步接口; 2.控制权限制
924 * @brief 自动对接轨道并上轨
925 * @param[in] command_header id字段代表下发本次命令的id;其他字段无特殊含义
926 * @return 10100000:自动上轨成功
927 * 10100201:正在上轨中
928 * 10120202:无控制权
929 * else:上轨失败
930 */
931 int autoAlignRailway(const Header &command_header = { "99999", "99999", 1, "99999" });
932
933 /** \cond */
934protected:
935 void *d_;
936 /** \endcond */
937};
938
939using AgvcInterfacePtr = std::shared_ptr<AgvcInterface>;
940
941} // namespace agvc_interface
942
943#define AgvcInterface_DECLARES \
944 _FUNC(AgvcInterface, 1, setSystemClock, stamp) \
945 _FUNC(AgvcInterface, 0, getAgvDetails) \
946 _FUNC(AgvcInterface, 0, getRunningInfo) \
947 _FUNC(AgvcInterface, 0, getAgvCurrentPose) \
948 _FUNC(AgvcInterface, 0, getAsyncInterfaceResultStatus) \
949 _FUNC(AgvcInterface, 0, getLaserPointCloud) \
950 _FUNC(AgvcInterface, 0, getAllStations) \
951 _FUNC(AgvcInterface, 1, getAllStationsOfTargetMap, map_header) \
952 _FUNC(AgvcInterface, 1, addStation, station) \
953 _FUNC(AgvcInterface, 1, addStations, stations) \
954 _FUNC(AgvcInterface, 2, addCPStationUseChargingBoard, station_header, dis_station_post) \
955 _FUNC(AgvcInterface, 1, deleteStation, station_header) \
956 _FUNC(AgvcInterface, 1, deleteStations, stations_header) \
957 _FUNC(AgvcInterface, 0, getAllPaths) \
958 _FUNC(AgvcInterface, 1, getAllPathsOfTargetMap, map_header) \
959 _FUNC(AgvcInterface, 0, getCurrentPath) \
960 _FUNC(AgvcInterface, 1, generatePath, path_station) \
961 _FUNC(AgvcInterface, 1, generatePaths, paths_station) \
962 _FUNC(AgvcInterface, 1, deletePath, path_header) \
963 _FUNC(AgvcInterface, 1, deletePaths, paths_header) \
964 _FUNC(AgvcInterface, 0, getMapList) \
965 _FUNC(AgvcInterface, 0, getCurrentMapHeader) \
966 _FUNC(AgvcInterface, 1, getGridMapFromAgv, map_header) \
967 _FUNC(AgvcInterface, 1, getBase64PngMapFromAgv, map_header) \
968 _FUNC(AgvcInterface, 3, previewPngMapFromAgv, map_header, image_width_px, image_height_px) \
969 _FUNC(AgvcInterface, 1, sendGridMapToAgv, map) \
970 _FUNC(AgvcInterface, 1, sendBase64PngMapToAgv, map) \
971 _FUNC(AgvcInterface, 1, saveMap, map_header) \
972 _FUNC(AgvcInterface, 1, switchMap, map_header) \
973 _FUNC(AgvcInterface, 1, deleteMap, map_header) \
974 _FUNC(AgvcInterface, 1, deleteMaps, map_headers) \
975 _FUNC(AgvcInterface, 0, getAllMapVirtualArea) \
976 _FUNC(AgvcInterface, 1, getAllMapVirtualAreaOfTargetMap, map_header) \
977 _FUNC(AgvcInterface, 1, addMapVirtualArea, map_virtual_area) \
978 _FUNC(AgvcInterface, 1, addMapVirtualAreas, map_virtual_areas) \
979 _FUNC(AgvcInterface, 1, deleteMapVirtualArea, virtual_area_header) \
980 _FUNC(AgvcInterface, 1, deleteMapVirtualAreas, virtual_areas_header) \
981 _FUNC(AgvcInterface, 1, getGridMapAllInfo, map_header) \
982 _FUNC(AgvcInterface, 1, getPngMapAllInfo, map_header) \
983 _FUNC(AgvcInterface, 2, setGridMapAllInfo, map_all_info, command_header) \
984 _FUNC(AgvcInterface, 2, setPngMapAllInfo, map_all_info, command_header) \
985 _FUNC(AgvcInterface, 1, deleteMapAllInfo, map_header) \
986 _FUNC(AgvcInterface, 0, getWifiList) \
987 _FUNC(AgvcInterface, 2, connectWifi, ssid, password) \
988 _FUNC(AgvcInterface, 1, enableHotspot, password) \
989 _FUNC(AgvcInterface, 0, getIpAddressList) \
990 _FUNC(AgvcInterface, 2, changeRunningMode, running_mode, command_header) \
991 _FUNC(AgvcInterface, 1, setControlSpeed, speed) \
992 _FUNC(AgvcInterface, 1, setNavGoal, target) \
993 _FUNC(AgvcInterface, 0, getNavInfo) \
994 _FUNC(AgvcInterface, 0, pauseAgvSpeed) \
995 _FUNC(AgvcInterface, 0, resumeAgvSpeed) \
996 _FUNC(AgvcInterface, 0, cancelNavigation) \
997 _FUNC(AgvcInterface, 2, relocation, init_pose, command_header) \
998 _FUNC(AgvcInterface, 0, getAgvControllerParametersFile) \
999 _FUNC(AgvcInterface, 1, setAgvControllerParametersFile, agv_parameters) \
1000 _FUNC(AgvcInterface, 0, refreshAgvControllerParametersFile) \
1001 _FUNC(AgvcInterface, 0, resetAgvControllerParametersFile) \
1002 _FUNC(AgvcInterface, 2, checkPowerAndAutoCharge, check_power_header, nav_board_charge_station_id) \
1003 _FUNC(AgvcInterface, 1, setLeaveBoardTargetStation, leave_board_target_station_header) \
1004 _FUNC(AgvcInterface, 0, getLeaveBoardTargetStation) \
1005 _FUNC(AgvcInterface, 2, forcedAgvToChargingBoard, forced_charge_header, nav_board_charge_station_id) \
1006 _FUNC(AgvcInterface, 2, forcedAgvLeaveChargingBoard, forced_leave_header, leave_board_target_station_id) \
1007 _FUNC(AgvcInterface, 1, sendAutoChargingCommand, auto_charging_command) \
1008 _FUNC(AgvcInterface, 0, getAgvLogMessage) \
1009 _FUNC(AgvcInterface, 1, updateSoftware, upgrade_pack_path) \
1010 _FUNC(AgvcInterface, 0, getSoftwareVersionList) \
1011 _FUNC(AgvcInterface, 1, switchSoftwareVersion, software_version) \
1012 _FUNC(AgvcInterface, 1, uninstallSoftware, software_version) \
1013 _FUNC(AgvcInterface, 1, updateFirmware, update_firmware) \
1014 _FUNC(AgvcInterface, 0, getUpdateFirmwareProcess) \
1015 _FUNC(AgvcInterface, 2, startCollectCalibrationData, type, command_header) \
1016 _FUNC(AgvcInterface, 2, cancelCollectCalibrationData, type, command_header) \
1017 _FUNC(AgvcInterface, 2, startCalibration, type, command_header) \
1018 _FUNC(AgvcInterface, 1, getCalibrationProcessInfo, type) \
1019 _FUNC(AgvcInterface, 0, restartAgv) \
1020 _FUNC(AgvcInterface, 1, setAgvName, agv_name) \
1021 _FUNC(AgvcInterface, 2, setPriority, name, ip) \
1022 _FUNC(AgvcInterface, 0, releasePriority) \
1023 _FUNC(AgvcInterface, 0, scriptPaused) \
1024 _FUNC(AgvcInterface, 0, scriptResume) \
1025 _FUNC(AgvcInterface, 0, scriptStop) \
1026 _FUNC(AgvcInterface, 0, getScriptStatus) \
1027 _FUNC(AgvcInterface, 1, setScriptStatus, status) \
1028 _FUNC(AgvcInterface, 1, errorCodeDecoder, error_code) \
1029 _FUNC(AgvcInterface, 0, getCurrentErrorCodes) \
1030 _FUNC(AgvcInterface, 0, soundLightPrompt) \
1031 _FUNC(AgvcInterface, 1, isObstacleAhead, detect_distance) \
1032 _FUNC(AgvcInterface, 1, getNearestStation, detect_distance) \
1033 _FUNC(AgvcInterface, 1, autoAlignRailway, command_header)
1034#endif // AGVC_INTERFACE_H
StationMark getNearestStation(const double &detect_distance=1.0)
获取指定检测距离范围内的最近站点信息
ScriptRuntimeState getScriptStatus()
获取脚本运行状态
std::vector< Point2d > getLaserPointCloud()
查询当前激光点云数据
std::vector< Header > getCurrentErrorCodes()
获取当前的错误码
Pose2d getAgvCurrentPose()
查询agv当前位姿
std::string errorCodeDecoder(const int &error_code)
错误码查询
std::string getAgvLogMessage()
获取agv运行中的日志信息
bool isObstacleAhead(const double &detect_distance=1.0)
agv行进方向是否有障碍物
AgvDetails getAgvDetails()
查询当前agv信息
RunningInfo getRunningInfo()
查询当前agv运行信息
int soundLightPrompt()
寻找agv,自动播放语音并特殊灯光闪烁
NavInfo getNavInfo()
获取当前导航信息
Header getLeaveBoardTargetStation()
获取自动下桩时的目标站点
int sendAutoChargingCommand(const AutoChargingCommand &auto_charging_command)
下发自动充电命令
int forcedAgvLeaveChargingBoard(const Header &forced_leave_header={ "99999", "99999", 99999, "99999" }, const std::string &leave_board_target_station_id="99999")
强制下桩
int setLeaveBoardTargetStation(const Header &leave_board_target_station_header)
设置自动下桩时的目标站点
int checkPowerAndAutoCharge(const Header &check_power_header={ "99999", "99999", 99999, "99999" }, const std::string &nav_board_charge_station_id="99999")
检测当前电量,电量低将自动上桩充电
int forcedAgvToChargingBoard(const Header &forced_charge_header={ "99999", "99999", 99999, "99999" }, const std::string &nav_board_charge_station_id="99999")
强制上桩充电
int setPngMapAllInfo(const MapAllInfo &map_all_info, const Header &command_header={ "99999", "99999", 1, "99999" })
设置Base64格式地图、路径、站点、虚拟区信息
Base64PngMap previewPngMapFromAgv(const Header &map_header, const int &image_width_px=0, const int &image_height_px=0)
获取预览图,可指定预览图的长和宽
int addMapVirtualArea(const MapVirtualArea &map_virtual_area)
添加/修改一个虚拟区域
int setGridMapAllInfo(const MapAllInfo &map_all_info, const Header &command_header={ "99999", "99999", 1, "99999" })
设置栅格地图、路径、站点、虚拟区信息
Base64PngMap getBase64PngMapFromAgv(const Header &map_header)
获取Base64编码的png地图信息
OccupancyGridMap getGridMapFromAgv(const Header &map_header)
获取指定栅格地图信息
int deleteMapAllInfo(const Header &map_header)
删除指定地图的全部信息(地图数据、站点、路径、虚拟区信息)
int deleteMaps(const std::vector< Header > &map_headers)
删除多张指定地图
int sendGridMapToAgv(const OccupancyGridMap &map)
将栅格地图信息发送给agv
std::vector< MapVirtualArea > getAllMapVirtualAreaOfTargetMap(const Header &map_header)
查询目标地图的虚拟区域
Header getCurrentMapHeader()
查询当前agv地图的信息头
int addMapVirtualAreas(const std::vector< MapVirtualArea > &map_virtual_areas)
添加/修改多个虚拟区域
int sendBase64PngMapToAgv(const Base64PngMap &map)
将Base64编码的Png地图发送给agv
MapAllInfo getGridMapAllInfo(const Header &map_header)
获取指定地图的栅格地图数据、路径、站点、虚拟区信息
std::vector< Header > getMapList()
获取agv所有地图的信息头
std::vector< MapVirtualArea > getAllMapVirtualArea()
查询当前地图的虚拟区域
int deleteMapVirtualAreas(const std::vector< Header > &virtual_areas_header)
删除多个指定虚拟区域
int deleteMap(const Header &map_header)
删除一张指定地图
int saveMap(const Header &map_header)
建图完成后,调用该接口保存地图
int deleteMapVirtualArea(const Header &virtual_area_header)
删除指定虚拟区域
MapAllInfo getPngMapAllInfo(const Header &map_header)
获取指定地图的Base64地图数据、路径、站点、虚拟区信息
int switchMap(const Header &map_header)
切换指定地图
int relocation(const Pose2d &init_pose, const Header &command_header={ "99999", "99999", 1, "99999" })
agv重定位
int setControlSpeed(const Speed &speed)
控制agv运动
int resumeAgvSpeed()
暂停后,恢复agv速度
int setNavGoal(const NavGoalType &target)
向agv发送导航任务
int pauseAgvSpeed()
暂停agv速度
int changeRunningMode(const RunningMode &running_mode, const Header &command_header={ "99999", "99999", 1, "99999" })
: 切换agv模式
int cancelNavigation()
取消导航任务
int generatePaths(const std::vector< PathStation > &paths_station)
生成/修改多条路径
std::vector< PathStation > getAllPaths()
查询当前地图的所有路径信息
PathStation getCurrentPath()
查询agv当前正在跟踪的路径信息
std::vector< PathStation > getAllPathsOfTargetMap(const Header &map_header)
查询指定地图的所有路径信息
int generatePath(const PathStation &path_station)
生成/修改一条路径
int deletePaths(const std::vector< Header > &paths_header)
删除多条路径
int deletePath(const Header &path_header)
删除一条路径
int deleteStation(const Header &station_header)
删除指定站点(会删除与该站点相关的路径)
std::vector< StationMark > getAllStationsOfTargetMap(const Header &map_header)
查询指定地图的所有站点信息
int addStation(const StationMark &station)
添加/修改一个站点
std::vector< StationMark > getAllStations()
查询当前地图的所有站点信息
int addStations(const std::vector< StationMark > &stations)
添加/修改多个站点
int deleteStations(const std::vector< Header > &stations_header)
删除多个站点(会删除与站点相关的路径)
int addCPStationUseChargingBoard(const Header &station_header, const double &dis_station_board=1.5)
通过自动识别充电桩位姿来添加充电站点
int updateSoftware(const std::string &upgrade_pack_path)
agv软件升级
int scriptPaused()
暂停脚本
AsyncInterfaceResultStatus getAsyncInterfaceResultStatus()
查询异步接口的运行情况,不代表异步接口本身的运行结果
int setScriptStatus(ScriptRuntimeState status)
设置脚本运行状态
int setPriority(const std::string &name, const std::string &ip="")
控制权设置
int setAgvName(const std::string &agv_name)
设置agv的名称
int autoAlignRailway(const Header &command_header={ "99999", "99999", 1, "99999" })
自动对接轨道并上轨
int enableHotspot(const std::string &password)
开启热点(自动切换到热点模式)
int connectWifi(const std::string &ssid, const std::string &password)
连接到指定WiFi(自动切换到WiFi模式)
int switchSoftwareVersion(const std::string &software_version)
切换agv软件版本
int setSystemClock(const std::string &stamp)
设置agv系统时间
int setAgvControllerParametersFile(const std::string &agv_parameters)
设置agv控制器的参数文件
std::vector< std::string > getSoftwareVersionList()
获取agv软件版本列表
int releasePriority()
释放控制权
int updateFirmware(const FirmwareUpdateParam &update_firmware)
agv固件更新
std::vector< std::string > getWifiList()
获取当前扫描到的WiFi列表
FirmwareUpdateProcessInfo getUpdateFirmwareProcess()
获取固件更新过程信息
int uninstallSoftware(const std::string &software_version)
卸载agv软件版本
std::string getAgvControllerParametersFile()
获取agv控制器的参数文件
int refreshAgvControllerParametersFile()
修改agv控制器的参数文件后,让agv各节点刷新参数
int resetAgvControllerParametersFile()
将agv控制器的参数文件恢复出厂设置
int scriptStop()
脚本停止权
int startCalibration(const CalibrationType &type, const Header &command_header={ "99999", "99999", 1, "99999" })
开始标定
int cancelCollectCalibrationData(const CalibrationType &type, const Header &command_header={ "99999", "99999", 1, "99999" })
取消采集数据
CalibrationProcessInfo getCalibrationProcessInfo(const CalibrationType &type)
获取标定信息
int scriptResume()
脚本恢复
int startCollectCalibrationData(const CalibrationType &type, const Header &command_header={ "99999", "99999", 1, "99999" })
开始采集数据
std::vector< IpAddressInfo > getIpAddressList()
获取本机所有IP地址
RunningMode
agv 运行模式
定义 type.h:80
MapInfo OccupancyGridMap
栅格地图
定义 type.h:690
std::shared_ptr< AgvcInterface > AgvcInterfacePtr
MapInfo Base64PngMap
Base64编码的png地图图片
定义 type.h:705
CalibrationType
标定类型
定义 type.h:197
异步接口运行状态 暂时存在14个异步接口:saveMap, switchMap, changeRunningMode, relocation, sendBase64PngMapToAgv getGrid...
定义 type.h:619
配置要更新固件的模块及固件路径
定义 type.h:812
包含当前地图、当前地图上的站点、当前地图上的路径、当前地图上的虚拟区域信息
定义 type.h:726
地图中的虚拟区域
定义 type.h:711
使 agv 导航到目标位置(控制信息)
定义 type.h:762
导航状态信息 / 自动充电状态信息
定义 type.h:784
通过站点表示路径
定义 type.h:651