AGVC Python SDK 用户函数接口及数据结构规范文档
版本信息
- 版本号: 0.1.0
- 发布日期: 2025-08-25
1 引言
本文档旨在为开发者提供使用 AGVC Python SDK 的详细接口和数据结构说明。通过本文档,开发者可以了解如何调用 AGVC 的各个功能模块,包括设置系统时间、管理站点和路径、操作地图、控制 AGV 运行模式等。本文档适用于所有使用 AGVC Python SDK 进行 AGV 开发和集成的开发者。
2 数据类型
2.1 枚举
2.1.1 错误码枚举类型 AgvcErrorCodes
AgvcErrorCodes 用于表示 AGVC 操作的错误或警告信息。正数表示警告,负数表示错误,0 表示成功。
| 错误码 | 值 | 描述 |
|---|---|---|
| AGVC_OK | 0 | 成功 |
| AGVC_BAD_STATE | 1 | 状态错误 |
| AGVC_QUEUE_FULL | 2 | 规划队列满 |
| AGVC_BUSY | 3 | 上一条指令正在执行中 |
| AGVC_TIMEOUT | 4 | 超时 |
| AGVC_INVL_ARGUMENT | 5 | 参数无效 |
| AGVC_NOT_IMPLETEMENT | 6 | 接口未实现 |
| AGVC_NO_ACCESS | 7 | 无法访问 |
| AGVC_CONN_REFUSED | 8 | 连接被拒绝 |
| AGVC_CONN_RESET | 9 | 连接被重置 |
| AGVC_INPROGRESS | 10 | 正在执行中 |
| AGVC_EIO | 11 | input/output error |
| AGVC_NOBUFFS | 12 | - |
| AGVC_REQUEST_IGNORE | 13 | 本次请求被忽略 |
| AGVC_ALGORITHM_PLAN_FAILED | 14 | 运动规划算法错误 |
| AGVC_VERSION_INCOMPAT | 15 | 接口版本不匹配 |
| AGVC_DIMENSION_ERR | 16 | 输入参数维数不对 |
| AGVC_SINGULAR_ERR | 17 | 输入的配置可能会奇异 |
| AGVC_POS_BOUND_ERR | 18 | 输入的位置边界超过极限范围 |
| AGVC_INIT_POS_ERR | 19 | 初始位置输入不合理 |
| AGVC_ELP_SETTING_ERR | 20 | 包络体设置错误 |
| AGVC_TRAJ_GEN_FAIL | 21 | 轨迹生成失败 |
| AGVC_TRAJ_SELF_COLLISION | 22 | 轨迹自碰撞 |
| AGVC_IK_NO_CONVERGE | 23 | 逆解计算不收敛,计算出错 |
| AGVC_IK_OUT_OF_RANGE | 24 | 逆解计算超出机器人最大限制 |
| AGVC_IK_CONFIG_DISMATCH | 25 | 逆解输入配置存在错误 |
| AGVC_IK_JACOBIAN_FAILED | 26 | 逆解雅可比矩阵计算失败 |
| AGVC_IK_NO_SOLU | 27 | 目标点存在解析解,但均不满足选解条件 |
| AGVC_IK_UNKOWN_ERROR | 28 | 逆解返回未知类型错误 |
| AGVC_ERR_UNKOWN | 99999 | Unkown error occurred. |
| STATION_SRV_OK | 100 | 站点操作成功 |
| STATION_SRV_NOT_FOUND | -101 | 站点服务器未响应 |
| STATION_CREAT_FAILED | -102 | 站点创建失败 |
| STATION_DELETE_FAILED | -103 | 站点删除失败 |
| PATH_SRV_OK | 200 | 路径操作成功 |
| PATH_SRV_NOT_FOUND | -201 | 路径服务器未响应 |
| PATH_CREAT_FAILED | -202 | 路径创建失败 |
| PATH_DELETE_FAILED | -203 | 路径删除失败 |
| MAP_SRV_OK | 300 | 地图操作成功 |
| MAP_SRV_NOT_FOUND | -301 | 地图服务器未响应 |
| MAP_HEADER_LIST_FAILED | -302 | 获取地图 header list 失败 |
| MAP_HEADER_FAILED | -303 | 获取地图 header 失败 |
| MAP_SET_FAILED | -304 | 地图设置失败 |
| MAP_SAVE_FAILED | -305 | 地图保存失败 |
| MAP_SWITCH_FAILED | -306 | 地图切换失败 |
| MAP_DELETE_FAILED | -307 | 地图删除失败 |
| MAP_VIRTUAL_SRV_OK | 301 | 虚拟区操作成功 |
| MAP_VIRTUAL_SRV_NOT_FOUND | -308 | 虚拟区服务器未响应 |
| MAP_VIRTUAL_SET_PARAM_WRONG | -309 | 虚拟区设置参数错误 |
| MAP_VIRTUAL_ADD_FAILED | -310 | 添加虚拟区失败 |
| MAP_VIRTUAL_DELETE_FAILED | -311 | 删除虚拟区失败 |
| IP_SRV_OK | 400 | IP操作成功 |
| IP_SRV_NOT_FOUND | -401 | ip 设置服务器未响应 |
| IP_NETWORK_NULL | -402 | ip 地址网卡名称为空 |
| IP_ADDRESS_NULL | -403 | ip 地址为空 |
| IP_SET_FAILED | -404 | ip 设置失败 |
2.1.2 运行模式枚举类型 RunningMode
RunningMode 用于表示 AGV 的当前运行模式。
| 运行模式 | 值 | 描述 |
|---|---|---|
| NONE | 0 | - |
| START | 1 | 开始模式 |
| MAPPING | 2 | 建图模式 |
| NAVIGATE | 3 | 导航模式 |
| CHARGING | 4 | 自动充电模式 |
| MAINTAIN | 5 | 维护模式 |
| STOP | 6 | 停止模式 |
2.1.3 路径形状枚举类型 PathShape
PathShape 用于表示 AGV 行走路径的形状。
| 运行模式 | 值 | 描述 |
|---|---|---|
| NONE | 0 | - |
| LINE | 1 | 直线 |
| ARC | 2 | 圆弧 |
| BEZIER | 3 | 贝塞尔曲线 |
2.1.4 地图格式枚举类型 MapFormat
MapFormat 用于表示地图的存储格式。
| 地图格式 | 值 | 描述 |
|---|---|---|
| NONE | 0 | - |
| OCCUPANCY_GRID | 1 | 占用栅格地图 |
| BASE64_PNG | 2 | Base64 编码的 PNG 地图 |
2.1.5 虚拟区域枚举类型 MapVirtualAreaType
MapVirtualAreaType 用于表示地图中虚拟区域的类型。
| 虚拟区域类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | - |
| OBSTACLE | 1 | 虚拟墙 |
| SLOW_DOWN | 2 | 减速区 |
| INFLATE | 3 | 膨胀区 |
2.1.6 虚拟区域形状枚举 MapVirtualAreaShape
MapVirtualAreaShape 用于表示地图中虚拟区域的几何形状。
| 形状 | 值 | 描述 |
|---|---|---|
| NONE | 0 | - |
| LINE | 1 | 直线 |
| ARC | 2 | 圆弧 |
| CIRCLE | 3 | 圆形 |
| POLYGON | 4 | 多边形 |
2.1.7 AGV 导航枚举类型 NavType
NavType 用于表示 AGV 的导航类型。
| 导航类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | - |
| FREE_TO_POSE | 1 | 自由导航到任意点 |
| FREE_TO_STATION | 2 | 自由导航到站点 |
| PATH_TO_STATION | 3 | 路径导航到站点 |
2.1.8 自动充电枚举类型 AutoChargingType
AutoChargingType 用于表示 AGV 的自动充电类型。
| 充电类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | - |
| LOW_POWER_TO_BOARD | 1 | 低电量自动上桩(根据设定的阈值判断) |
| HIGH_POWER_LEAVE_BOARD | 2 | 高电量自动下桩(根据设定的阈值判断) |
| FORCE_TO_BOARD | 3 | 强制自动上桩(无视电量和阈值) |
| FORCE_LEAVE_BOARD | 4 | 强制自动下桩(无视电量和阈值) |
2.1.9 操作反馈枚举类型 FeedbackStatus
FeedbackStatus 用于表示一个操作执行后的反馈状态。
| 状态类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | - |
| FINISHED | 1 | 成功 |
| FAILED | 2 | 失败 |
| RUNNING | 3 | 正在运行 |
| PAUSED | 4 | 暂停 |
| CANCELED | 5 | 取消 |
2.1.10 固件更新操作枚举 FirmwareUpdateMode
FirmwareUpdateMode 用于表示模块固件的更新配置。
| 配置类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | 默认不更新固件 |
| UPDATE | 1 | 更新固件 |
| FORCED_UPDATE | 2 | 强制更新固件 |
| NOT_UPDATE | 3 | 不更新固件 |
2.1.11 脚本运行状态枚举 ScriptRuntimeState
ScriptRuntimeState 用于表示脚本的运行状态。
| 状态 | 值 | 描述 |
|---|---|---|
| RUNNING | 0 | 正在运行 |
| PAUSED | 1 | 暂停 |
| STOPPED | 2 | 已停止 |
| ABORTING | 3 | 中止 |
2.1.12 标定类型枚举 CalibrationType
CalibrationType 用于表示 AGV 的标定类型。
| 类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | - |
| LASER_ODOM | 1 | 激光-码盘里程计标定 |
2.1.13 AGV 导航状态枚举 NavStatus
NavStatus 是 FeedbackStatus 的别名,用于表示 AGV 的导航状态。
| 状态类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | - |
| FINISHED | 1 | 导航完成 |
| FAILED | 2 | 导航失败 |
| RUNNING | 3 | 正在导航 |
| PAUSED | 4 | 导航暂停 |
| CANCELED | 5 | 导航取消 |
2.1.14 保存地图异步接口状态 SaveMapStatus
SaveMapStatus 是 FeedbackStatus 的别名,用于表示保存地图接口的状态。
| 状态类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | 保存地图接口未执行 |
| FINISHED | 1 | 保存地图接口执行完毕 |
| FAILED | 2 | 无效值 |
| RUNNING | 3 | 保存地图中 |
| PAUSED | 4 | 无效值 |
| CANCELED | 5 | 无效值 |
2.1.15 切换地图异步接口状态 SwitchMapStatus
SwitchMapStatus 是 FeedbackStatus 的别名,用于表示切换地图接口的状态。
| 状态类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | 切换地图接口未执行 |
| FINISHED | 1 | 切换地图接口执行完毕 |
| FAILED | 2 | 无效值 |
| RUNNING | 3 | 切换地图中 |
| PAUSED | 4 | 无效值 |
| CANCELED | 5 | 无效值 |
2.1.16 切换运行模式异步接口状态 ChangeRunningModeStatus
ChangeRunningModeStatus 是 FeedbackStatus 的别名,用于表示切换运行模式接口的状态。
| 状态类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | 切换运行模式接口未执行 |
| FINISHED | 1 | 切换运行模式接口执行完毕 |
| FAILED | 2 | 无效值 |
| RUNNING | 3 | 切换运行模式中 |
| PAUSED | 4 | 无效值 |
| CANCELED | 5 | 无效值 |
2.1.17 重定位状态 RelocationStatus
RelocationStatus 是 FeedbackStatus 的别名,用于表示重定位接口的状态。
| 状态类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | 重定位接口未执行 |
| FINISHED | 1 | 重定位接口执行完毕 |
| FAILED | 2 | 无效值 |
| RUNNING | 3 | 重定位中 |
| PAUSED | 4 | 无效值 |
| CANCELED | 5 | 无效值 |
2.1.18 上传Png地图信息接口状态 SetPngMapAllInfoStatus
SetPngMapAllInfoStatus 是 FeedbackStatus 的别名,用于表示上传 Png 地图全部信息接口的状态。
| 状态类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | 设置地图信息接口未执行 |
| FINISHED | 1 | 设置地图信息接口执行完毕 |
| FAILED | 2 | 无效值 |
| RUNNING | 3 | 地图信息上传中 |
| PAUSED | 4 | 无效值 |
| CANCELED | 5 | 无效值 |
2.1.19 获取Png地图信息接口状态 GetPngMapAllInfoStatus
GetPngMapAllInfoStatus 是 FeedbackStatus 的别名,用于表示获取 Png 地图全部信息接口的状态。
| 状态类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | 获取Png地图信息接口未执行 |
| FINISHED | 1 | 获取Png地图信息接口执行完毕 |
| FAILED | 2 | 无效值 |
| RUNNING | 3 | Png地图信息获取中 |
| PAUSED | 4 | 无效值 |
| CANCELED | 5 | 无效值 |
2.1.20 获取栅格地图接口状态 GetGridMapStatus
GetGridMapStatus 是 FeedbackStatus 的别名,用于表示获取栅格地图接口的状态。
| 状态类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | 获取栅格地图接口未执行 |
| FINISHED | 1 | 获取栅格地图接口执行完毕 |
| FAILED | 2 | 无效值 |
| RUNNING | 3 | 珊格地图获取中 |
| PAUSED | 4 | 无效值 |
| CANCELED | 5 | 无效值 |
2.1.21 发送栅格地图接口状态 SendGridMapStatus
SendGridMapStatus 是 FeedbackStatus 的别名,用于表示发送栅格地图接口的状态。
| 状态类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | 发送栅格地图接口未执行 |
| FINISHED | 1 | 发送栅格地图接口执行完毕 |
| FAILED | 2 | 无效值 |
| RUNNING | 3 | 发送栅格地图中 |
| PAUSED | 4 | 无效值 |
| CANCELED | 5 | 无效值 |
2.1.22 获取png地图接口状态 GetPngMapStatus
GetPngMapStatus 是 FeedbackStatus 的别名,用于表示获取 Png 地图接口的状态。
| 状态类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | 获取png地图接口未执行 |
| FINISHED | 1 | 获取png地图接口执行完毕 |
| FAILED | 2 | 无效值 |
| RUNNING | 3 | 获取png地图中 |
| PAUSED | 4 | 无效值 |
| CANCELED | 5 | 无效值 |
2.1.23 发送png地图接口状态 SendPngMapStatus
SendPngMapStatus 是 FeedbackStatus 的别名,用于表示发送 Png 地图接口的状态。
| 状态类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | 发送png地图接口未执行 |
| FINISHED | 1 | 发送png地图接口执行完毕 |
| FAILED | 2 | 无效值 |
| RUNNING | 3 | 发送png地图中 |
| PAUSED | 4 | 无效值 |
| CANCELED | 5 | 无效值 |
2.1.24 设置栅格地图信息接口状态 SetGridMapAllInfoStatus
SetGridMapAllInfoStatus 是 FeedbackStatus 的别名,用于表示设置栅格地图全部信息接口的状态。
| 状态类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | 发送栅格地图全部信息接口未执行 |
| FINISHED | 1 | 发送栅格地图全部信息接口执行完毕 |
| FAILED | 2 | 无效值 |
| RUNNING | 3 | 栅格地图全部信息发送中 |
| PAUSED | 4 | 无效值 |
| CANCELED | 5 | 无效值 |
2.1.25 获取栅格地图信息接口状态 GetGridMapAllInfoStatus
GetGridMapAllInfoStatus 是 FeedbackStatus 的别名,用于表示获取栅格地图全部信息接口的状态。
| 状态类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | 获取栅格地图全部信息接口未执行 |
| FINISHED | 1 | 获取栅格地图全部信息接口执行完毕 |
| FAILED | 2 | 无效值 |
| RUNNING | 3 | 栅格地图全部信息获取中 |
| PAUSED | 4 | 无效值 |
| CANCELED | 5 | 无效值 |
2.1.26 标定状态枚举 CalibrationStatus
CalibrationStatus 是 FeedbackStatus 的别名,用于表示标定接口的状态。
| 状态类型 | 值 | 描述 |
|---|---|---|
| NONE | 0 | - |
| FINISHED | 1 | 标定完成 |
| FAILED | 2 | 标定失败 |
| RUNNING | 3 | 正在采集数据 |
| PAUSED | 4 | 无效值 |
| CANCELED | 5 | 取消标定 |
2.2 结构体
2.2.1 二维点结构体 Point2d
| 属性名 | 类型 | 描述 |
|---|---|---|
| x | float | 单位 m |
| y | float | 单位 m |
2.2.2 二维位姿结构体 Pose2d
| 属性名 | 类型 | 描述 |
|---|---|---|
| x | double | 单位 m |
| y | double | 单位 m |
| yaw | double | 单位 rad |
2.2.3 速度结构体 Speed
| 属性名 | 类型 | 描述 |
|---|---|---|
| v | double | 单位 m |
| w | double | 单位 rad/s |
2.2.4 头部信息结构体 Header
| 属性名 | 类型 | 描述 |
|---|---|---|
| id | str | 唯一标识符(UUID) |
| name | str | 名称 |
| stamp | int64 | 时间戳(UTC时间,单位:纳秒) |
| map_id | str | 当前地图的ID |
| error_code | int | 错误码(默认为-1) |
2.2.5 AGV 信息结构体 AgvDetails
| 属性名 | 类型 | 描述 |
|---|---|---|
| name | str | agv 的名称 |
| version | str | 当前控制程序的版本号 |
| MFD | str | 生产日期 |
| SN | str | 序列号 |
| communication_version | int | bridge 版本信息 |
| battery_version | int | 电池版本信息 |
| loop_times | int | 电池循环次数 |
| surplus_capacity | float | 电池剩余容量 |
| left_motor_firmware_version | int | 左电机固件版本 |
| right_motor_firmware_version | int | 右电机固件版本 |
| master_board_firmware_version | int | 接口板固件版本信息 |
| hardware_abstraction_version | int | 硬件抽象层版本信息 |
| error_code_version | int | 错误码版本 |
| max_speed | float | agv 允许运行的最大线速度 |
| max_angular | float | agv 允许运行的最大角速度 |
2.2.6 AGV 运行信息结构体 RunningInfo
| 属性名 | 类型 | 描述 |
|---|---|---|
| header | Header | agv 的 SN 码,agv 的名称,当前时间,地图的 id |
| running_mode | RunningMode | agv 当前运行模式 |
| current_speed | Speed | 当前行驶速度 {v w},单位 |
| location_score | int8 | 当前定位评分,[0-100] |
| total_dist | double | 累计行驶里程,单位 m |
| current_dist | double | 本次累计行驶里程,单位 m |
| total_running_time | double | 累计运行时间,单位 s |
| current_running_time | double | 本次运行时间,单位 s |
| battery_voltage | double | 电池电压,单位 V |
| battery_current | double | 电池电流,单位 A |
| remaining_voltage | int8 | 剩余电量,百分比 % [0-100] |
| battery_status | int8 | 电池状态,0-无,1-放电,2-充电,3-充满,4-急需充电 |
| safety_edge_status | int8 | 安全触边状态,0-无,1-左前侧碰撞,2-右前碰撞,3-左后碰撞,4-右后碰撞 |
| low_battery | bool | 是否电量低 |
| pause | bool | 是否处于暂停状态 |
| emergency_stop | bool | 是否处于急停状态 |
| blocked | bool | 是否被障碍物遮挡 |
| localization_loss | bool | 是否定位丢失 |
| fault_alarm | bool | 故障报警(电机故障、传感器故障、电池故障),具体故障信息见日志 |
2.2.7 保存地图异步接口状态结构体 SaveMapWorkingStatus
| 属性名 | 类型 | 描述 |
|---|---|---|
| header | Header | header.id 代表下发的 saveMap 指令 id |
| status | SaveMapStatus | 接口 SaveMap 的运行状态,NONE-接口未执行 RUNNING-执行中,FINISH-执行结束 |
2.2.8 切换地图异步接口状态结构体 SwitchMapWorkingStatus
| 属性名 | 类型 | 描述 |
|---|---|---|
| header | Header | header.id 代表下发的 switchMap 指令 id |
| status | SwitchMapStatus | 接口 switchMap 的运行状态,NONE-接口未执行 RUNNING-执行中,FINISH-执行结束 |
2.2.9 切换运行模式异步接口状态结构体 ChangeModeWorkingStatus
| 属性名 | 类型 | 描述 |
|---|---|---|
| header | Header | header.id 代表下发的 changeRunningMode 指令 id |
| status | ChangeRunningModeStatus | 接口 changeRunningMode 的运行状态,NONE-接口未执行 RUNNING-执行中,FINISH-执行结束 |
2.2.10 重定位异步接口状态结构体 RelocationWorkingStatus
| 属性名 | 类型 | 描述 |
|---|---|---|
| header | Header | header.id 代表下发的 Relocation 指令 id |
| status | RelocationStatus | 接口 Relocation 的运行状态,NONE-接口未执行 RUNNING-执行中,FINISH-执行结束 |
2.2.11 设置 Png 地图信息异步接口状态结构体 SetPngMapAllInfoWorkingStatus
| 属性名 | 类型 | 描述 |
|---|---|---|
| header | Header | header.id 代表下发的 setPngMapAllInfo 指令 id |
| status | SetPngMapAllInfoStatus | 接口 setPngMapAllInfo 的运行状态,NONE-接口未执行 RUNNING-执行中,FINISH-执行结束 |
2.2.12 获取 Png 地图信息异步接口状态结构体 GetPngMapAllInfoWorkingStatus
| 属性名 | 类型 | 描述 |
|---|---|---|
| header | Header | header.id 代表下发的 getPngMapAllInfo 指令 id |
| status | GetPngMapAllInfoStatus | 接口 getPngMapAllInfo 的运行状态,NONE-接口未执行 RUNNING-执行中,FINISH-执行结束 |
2.2.13 获取栅格地图异步接口状态结构体 GetGridMapWorkingStatus
| 属性名 | 类型 | 描述 |
|---|---|---|
| header | Header | header.id 代表下发的 getGridMapFromAgv 指令 id |
| status | GetGridMapStatus | 接口 getGridMapFromAgv 的运行状态,NONE-接口未执行 RUNNING-执行中,FINISH-执行结束 |
2.2.14 发送栅格地图异步接口状态结构体 SendGridMapWorkingStatus
| 属性名 | 类型 | 描述 |
|---|---|---|
| header | Header | header.id 代表下发的 sendGridMapToAgv 指令 id |
| status | SendGridMapStatus | 接口 sendGridMapToAgv 的运行状态,NONE-接口未执行 RUNNING-执行中,FINISH-执行结束 |
2.2.15 获取 Png 地图异步接口状态结构体 GetPngMapWorkingStatus
| 属性名 | 类型 | 描述 |
|---|---|---|
| header | Header | header.id 代表下发的 getBase64PngMapFromAgv 指令 id |
| status | GetPngMapStatus | 接口 getBase64PngMapFromAgv 的运行状态,NONE-接口未执行 RUNNING-执行中,FINISH-执行结束 |
2.2.16 发送 Png 地图异步接口状态结构体 SendPngMapWorkingStatus
| 属性名 | 类型 | 描述 |
|---|---|---|
| header | Header | header.id 代表下发的 sendBase64PngMapToAgv 指令 id |
| status | SendPngMapStatus | 接口 sendBase64PngMapToAgv 的运行状态,NONE-接口未执行 RUNNING-执行中,FINISH-执行结束 |
2.2.17 设置栅格地图信息异步接口状态结构体 SetGridMapAllInfoWorkingStatus
| 属性名 | 类型 | 描述 |
|---|---|---|
| header | Header | header.id 代表下发的 setGridMapAllInfo 指令 id |
| status | SetGridMapAllInfoStatus | 接口 setGridMapAllInfo 的运行状态,NONE-接口未执行 RUNNING-执行中,FINISH-执行结束 |
2.2.18 获取栅格地图信息异步接口状态结构体 GetGridMapAllInfoWorkingStatus
| 属性名 | 类型 | 描述 |
|---|---|---|
| header | Header | header.id 代表下发的 getGridMapAllInfo 指令 id |
| status | GetGridMapAllInfoStatus | 接口 getGridMapAllInfo 的运行状态,NONE-接口未执行 RUNNING-执行中,FINISH-执行结束 |
2.2.19 异步接口运行状态结构体 AsyncInterfaceResultStatus
| 属性名 | 类型 | 描述 |
|---|---|---|
| header | Header | agv 的 SN 码,agv 的名称,当前时间,地图的 id |
| save_map_status | SaveMapWorkingStatus | 保存地图(saveMap)接口的执行状态 |
| switch_map_status | SwitchMapWorkingStatus | 切换地图(switchMap)接口的执行状态 |
| change_running_mode_status | ChangeModeWorkingStatus | 切换运行模式(changeRunningMode)接口的执行状态 |
| relocation_status | RelocationWorkingStatus | 重定位(relocation)接口的执行状态 |
| get_grid_map_status | GetGridMapWorkingStatus | 获取栅格地图(getGridMapFromAgv)接口的执行状态 |
| send_grid_map_status | SendGridMapWorkingStatus | 发送栅格地图(sendGridMapToAgv)接口的执行状态 |
| get_png_map_status | GetPngMapWorkingStatus | 获取png地图(getBase64PngMapFromAgv)接口的执行状态 |
| send_png_map_status | SendPngMapWorkingStatus | 发送png地图(sendBase64PngMapToAgv)接口的执行状态 |
| set_png_all_status | SetPngMapAllInfoWorkingStatus | 设置png地图全部信息(setPngMapAllInfo)接口的执行状态 |
| get_png_all_status | GetPngMapAllInfoWorkingStatus | 获取png地图全部信息(getPngMapAllInfo)接口的执行状态 |
| set_grid_all_status | SetGridMapAllInfoWorkingStatus | 设置栅格地图全部信息(setGridMapAllInfo)接口的执行状态 |
| get_grid_all_status | GetGridMapAllInfoWorkingStatus | 获取栅格地图全部信息(getGridMapAllInfo)接口的执行状态 |
3 函数接口
3.1 RpcClient 相关接口
3.1.1 设置日志处理器
def setLogHandler(handler: callable)参数:
- handler (callable): 用户自定义的日志处理函数,其定义如下:
def handler(level: int, filename: str, line: int, message: str)- level (int): 日志等级,取值范围:
- 0: FATAL(严重错误)
- 1: ERROR(错误)
- 2: WARNING(警告)
- 3: INFO(通知)
- 4: DEBUG(调试)
- 5: BACKTRACE(跟踪)
- filename (str): 文件名
- line (int): 代码行号
- message (str): 日志信息
返回值:
- 无
描述:
- 通过此函数可以自定义日志处理逻辑,覆盖默认的日志处理方式。
3.1.2 连接到 RPC 服务
def connect(ip: str = "", port: int = 0) -> int参数:
- ip (str, 可选): RPC 服务的 IP 地址,默认为空字符串,表示使用 Unix 域套接字。
- port (int, 可选): RPC 服务的端口号,默认为 0,表示使用 Unix 域套接字。
返回值:
- int: 连接结果代码:
- 0: 连接成功
- -8: 连接失败,RPC连接被拒绝
- -15: 连接失败,SDK版本与服务端版本不兼容
描述:
- 连接到指定的 RPC 服务。如果 ip 和 port 都为空,则使用 Unix 域套接字进行通信。
3.1.3 断开RPC连接
def disconnect() -> int参数:
- 无
返回值:
- int: 操作结果代码:
- 0: 断开成功
- -1: 断开失败
描述:
- 断开与 RPC 服务的连接。
3.1.4 判断是否连接到RPC服务
def hasConnected() -> bool参数:
- 无
返回值:
- bool: 是否已连接到 RPC 服务。
- True: 已连接
- False: 未连接
描述:
- 检查当前是否已连接到 RPC 服务。
3.1.5 登录到 RPC 服务
def login(usrname: str, passwd: str) -> int参数:
- usrname (str): 用户名
- passwd (str): 密码
返回值:
- int: 登录结果代码:
- 0: 登录成功
描述:
- 使用指定的用户名和密码登录到 RPC 服务。
3.1.6 登出 RPC 服务
def logout() -> int参数:
- 无
返回值:
- int: 登出结果代码:
- 0: 登出成功
描述:
- 从 RPC 服务登出。
3.1.7 判断是否已登录
def hasLogined() -> bool参数:
- 无
返回值:
- bool: 是否已登录。
- True: 已登录
- False: 未登录
描述:
- 检查当前是否已登录到 RPC 服务。
3.1.8 设置RPC请求超时时间
def setRequestTimeout(timeout: int = 10) -> int参数:
- timeout (int, 可选): 请求超时时间,单位为毫秒,默认为 10。
返回值:
- int: 设置结果代码:
- 0: 设置成功
描述:
- 设置 RPC 请求的超时时间。
3.1.9 设置事件处理
def setEventHandler(cb: callable) -> int参数:
- cb (callable): 事件处理函数,其定义如下:
def cb(event: int)- event (int): 事件类型,取值范围:
- 0: 已连接
- 1: 已断开
返回值:
- int: 设置结果代码:
- 0: 设置成功
描述:
- 设置事件处理函数,用于处理 RPC 连接的事件。当事件发生时,会自动调用注册的回调函数并传入对应的事件类型参数。
注意:
- 回调函数执行过程中若抛出 Python 异常,会被捕获并输出到标准错误流,但不会影响主程序执行。
- 框架会自动处理 Python 全局解释器锁 (GIL),确保线程安全。
- 回调函数应尽量保持轻量,避免长时间阻塞影响事件处理效率。
3.1.10 设置异常抛出
def setExceptionFree(enable: bool) -> int参数:
- enable (bool): 是否启用异常抛出。
返回值:
- int: 设置结果代码:
- 0: 设置成功
描述:
- 设置是否在发生异常时抛出异常。
3.1.11 获取错误代码
def errorCode() -> int参数:
- 无
返回值:
- int: 最近一次操作的错误代码。
描述:
- 获取最近一次操作的错误代码。
3.2 AGVC 相关函数接口
3.2.1 设置 AGV 系统时间
def set_system_clock(stamp: str) -> int参数:
- stamp (str): 时间戳字符串,格式为 YYYY-MM-DDTHH:mm:ss.ssZ,例如 "2017-04-15T11:40:03.12Z"。
返回值:
- int: 设置结果代码:
- 0: 设置成功
- 其他: 错误代码
描述:
- 获取最近一次操作的错误代码。
3.2.2 获取 AGV 详细信息
def get_agv_details() -> AgvDetails参数:
- 无
返回值:
- AgvDetails(dict): 包含 AGV 详细信息的字典
描述:
- 查询 AGV 的详细信息,包括名称、版本、生产日期等。
3.2.3 获取 AGV 运行信息
def get_running_info() -> RunningInfo参数:
- 无
返回值:
- RunningInfo(dict): 包含 AGV 运行信息的字典
描述:
- 查询 AGV 的详细信息,包括运行速度、电量、定位评分等。
3.2.4 获取 AGV 当前位姿
def get_agv_current_pose() -> Pose2d参数:
- 无
返回值:
- Pose2d(dict): 包含 AGV 当前位姿的字典
描述:
- 查询 AGV 的当前位姿,包括位置和姿态等。
3.2.5 获取当前激光点云数据
def get_laser_point_cloud() -> list<Point2d>参数:
- 无
返回值:
- Point2d(list): 包含当前激光点云数据的列表
描述:
- 查询当前激光点云数据。
3.2.5 获取异步接口的运行情况
def get_async_interface_result_status() -> AsyncInterfaceResultStatus参数:
- 无
返回值:
- AsyncInterfaceResultStatus: 包含所有异步接口的运行情况
描述:
- 查询异步接口的运行情况,不代表异步接口本身的运行结果。
3.2.6 获取所有站点信息
def get_all_stations() -> list<StationMark>参数:
- 无
返回值:
- 无
