AGVS调度系统 控制协议
Ray-land AGV物流车 群车调度协议 (基于web,未实现)
version 1.0
data 2017/10/30
AGVS调度系统 控制协议
AGVS
Tcp
,Json
Server -> Android
1.单步控制指令
1.1 手动控制
agv_mac,cmd_id,cmd_type,speed,moving_id,s,time_stamp
Param | Describe | Type | Range | Unit |
---|---|---|---|---|
agv_mac | 目标agv mac(或别名) | string | ||
cmd_id | 指令id | int | ||
cmd_type | 控制指令类型 | string | manu |
|
speed | 行驶速度 | double | 0 ~ 28 | cm/s |
moving_id | 方向 | int | 0:前 1:后 2:左 3:右 | |
s | 行驶里程 | double | cm |
|
time_stamp | 当前unix时间戳 | string |
速度没有用国际单位
m/s
,精度太低 误差较大
- 让
moobot-001
以28cm/s 向前形式100cm.
{
"agv_mac":"moobot-001",
"agv_id":1,
"cmd_type": "manu",
"speed": 28,
"moving_id": 0,
"s": 100,
"time_stamp": "1517368373"
}
1.2自动控制
agv_mac,cmd_id,cmd_type,speed,aim_point,time_stamp
Param | Describe | Type | Range | Unit |
---|---|---|---|---|
agv_mac | 目标agv mac(或别名) | string | ||
cmd_id | 指令id | int | ||
cmd_type | 控制指令类型 | string | auto |
|
speed | 行驶速度 | double | 0 ~ 28 | cm/s |
aim_point | 目标rfid | int | 0:上一个rfid点 1:下一个rfid点 | |
time_stamp | 当前unix时间戳 | string |
- 让
moobot-001
以28cm/s 移动到下一个点.
{
"agv_mac":"moobot-001",
"agv_id":1,
"cmd_type": "manu",
"speed": 28,
"aim_point": 1,
"time_stamp": "1517368373"
}
1.3急停
agv_mac,cmd_id,cmd_type,time_stamp
Param | Describe | Type | Range | Unit |
---|---|---|---|---|
agv_mac | 目标agv mac(或别名) | string | ||
cmd_id | 指令id | int | ||
cmd_type | 控制指令类型 | string | stop |
|
time_stamp | 当前unix时间戳 | string |
- 让
moobot-001
停车.
{
"agv_mac":"moobot-001",
"agv_id":1,
"cmd_type": "stop",
"time_stamp": "1517368373"
}
1.4切换控制模式
agv_mac,cmd_id,cmd_type,model_id,time_stamp
Param | Describe | Type | Range | Unit |
---|---|---|---|---|
agv_mac | 目标agv mac(或别名) | string | ||
cmd_id | 指令id | int | ||
cmd_type | 控制指令类型 | string | model |
|
model_id | 控制模式 | int | 0:云端控制 1:本地遥控 |
|
time_stamp | 当前unix时间戳 | string |
- 让
moobot-001
启动本地遥控模式.
{
"agv_mac":"moobot-001",
"agv_id":1,
"cmd_type": "stop",
"model_id": 1,
"time_stamp": "1517368373"
}
1.5 定义当前坐标
agv_mac,cmd_id,cmd_type,axis_x,axis_y,ori,time_stamp
待定接口
Param | Describe | Type | Range | Unit |
---|---|---|---|---|
agv_mac | 目标agv mac(或别名) | string | ||
cmd_id | 指令id | int | ||
cmd_type | 控制指令类型 | string | coord |
|
axis_x | x轴坐标 | double | cm | |
axis_y | y轴坐标 | double | cm | |
ori | 朝向 | double | °(逆时针为正) | |
time_stamp | 当前unix时间戳 | string |
- 让
moobot-001
以(100,100) 90°方向为原点.
{
"agv_mac":"moobot-001",
"agv_id":1,
"cmd_type": "coord",
"axis_x": 100,
"axis_y": 100,
"ori":90,
"time_stamp": "1517368373"
}
2.任务调度指令
2.1 下发调度指令
Param | Describe | Type | Range | Unit |
---|---|---|---|---|
agv_mac | 目标agv mac(或别名) | string | ||
cmd_id | 指令id | int | ||
cmd_type | 控制指令类型 | string | manage |
|
route | 路径 | json | ||
time_stamp | 当前unix时间戳 | string |
route
Param | Describe | Type | Range | Unit |
---|---|---|---|---|
point_id | 点 id | int | ||
point_angle | 角度 | int | ||
rfid | rfid序列号 | string | ||
identity | 到下一个点的距离 | double | ||
|
Android -> Server
3.心跳信息
agv_mac,agv_state,cmd_id,speed,axis_x,axis_y,axis_y,ori,rfid,magn,ut_f,ut_b,moto_state,mile,time_stamp
Param | Describe | Type | Range | Unit |
---|---|---|---|---|
agv_mac | 目标agv mac(或别名) | string | ||
agv_state | agv状态 | int | 0:idling 1:working 3:charging 4:error |
|
cmd_id | 当前执行指令id | int | ||
speed | 行驶速度 | double | 0 ~ 28 | cm/s |
axis_x | x轴坐标 | double | cm |
|
axis_y | y轴坐标 | double | cm |
|
ori | 朝向 | double | °(逆时针为正) | |
rfid | rfid序列号 | string | ||
magn | 磁条序列号 | string | 0:missing 1:hit |
|
ut_f | 前侧超声 | int[] | mm |
|
ut_b | 后侧超声 | int[] | mm |
|
mile | 总里程 | int | mm |
|
time_stamp | 当前unix时间戳 | string |
4.任务回调
agv_mac,cmd_id,cmd_type,cmd_state,cmd_describe,time_stamp
Param | Describe | Type | Range | Unit |
---|---|---|---|---|
agv_mac | 目标agv mac(或别名) | string | ||
cmd_id | 指令id | int | ||
cmd_type | 控制指令类型 | string | coord |
|
cmd_state | 任务完成状态 | int | 0: fail,1:suceess |
|
cmd_describe | 任务失败描述 | string | ||
time_stamp | 当前unix时间戳 | string |