VWED_server/docs/sc/机器人相关.md

409 lines
7.1 KiB
Markdown
Raw Normal View History

2025-09-25 10:52:52 +08:00
# 机器人相关模块文档 (Python版本)
## 机器人相关
### 校验机器人是否存在
* 方法说明
校验机器人是否存在。
```python
async def is_robot_exist(robot_name: str) -> bool
```
* 输入参数
`robot_name`: string 类型,机器人名称。
* 输出参数
* `True`: 存在。
* `False`: 不存在。
* 异常
本方法不抛出异常。
### 获取机器人基本信息
* 方法说明
2025-09-29 09:35:08 +08:00
获取所有机器人的详细信息,包含完整的字段信息,使用蛇形命名规范。
2025-09-25 10:52:52 +08:00
```python
async def get_lite_robots_status() -> str
```
* 输入参数
无。
* 输出参数
```json
[
{
2025-09-29 09:35:08 +08:00
"id": "1930612644818161666",
"tenant_id": "1000",
"brand_id": "1900149312550977537",
"type_id": "1900154046275993602",
"ip_address": "192.168.1.106",
"name": "ZKG-1",
"scene_id": "",
"group_id": "",
"online_station_id": "",
"is_online": 1,
"is_simulation": 0,
"is_available": 1,
"is_accept_task": 1,
"length": 1.51,
"width": 0.88,
"min_power": 30,
"max_power": 100,
"charge_power": 30,
"task_power": 10,
"exchange_power": 60,
"amr_status": 0,
"create_by": "admin",
"create_time": "2025-06-05 21:08:18"
2025-09-25 10:52:52 +08:00
}
]
```
* 异常
2025-09-29 09:35:08 +08:00
本方法不抛出异常,失败时返回空数组。
2025-09-25 10:52:52 +08:00
### 根据ID获取机器人基本信息
* 方法说明
2025-09-29 09:35:08 +08:00
根据ID或名称获取指定机器人的详细信息使用蛇形命名规范。
2025-09-25 10:52:52 +08:00
```python
async def get_lite_robots_status_by_id(agv_id: str) -> str
```
* 输入参数
2025-09-29 09:35:08 +08:00
`agv_id`: string 类型机器人ID或名称。
2025-09-25 10:52:52 +08:00
* 输出参数
```json
{
2025-09-29 09:35:08 +08:00
"id": "1930612644818161666",
"tenant_id": "1000",
"brand_id": "1900149312550977537",
"type_id": "1900154046275993602",
"ip_address": "192.168.1.106",
"name": "ZKG-1",
"scene_id": "",
"group_id": "",
"online_station_id": "",
"is_online": 1,
"is_simulation": 0,
"is_available": 1,
"is_accept_task": 1,
"length": 1.51,
"width": 0.88,
"min_power": 30,
"max_power": 100,
"charge_power": 30,
"task_power": 10,
"exchange_power": 60,
"amr_status": 0,
"create_by": "admin",
"create_time": "2025-06-05 21:08:18"
2025-09-25 10:52:52 +08:00
}
```
2025-09-29 09:35:08 +08:00
如果未找到机器人,返回空对象 `{}`
2025-09-25 10:52:52 +08:00
* 异常
2025-09-29 09:35:08 +08:00
本方法不抛出异常。
2025-09-25 10:52:52 +08:00
### 根据ID获取机器人位置
* 方法说明
2025-09-29 09:35:08 +08:00
根据机器人ID或名称获取机器人的位置信息使用蛇形命名规范。
2025-09-25 10:52:52 +08:00
```python
async def get_vehicle_station(agv_id: str) -> str
```
* 输入参数
2025-09-29 09:35:08 +08:00
`agv_id`: string 类型机器人ID或名称。
2025-09-25 10:52:52 +08:00
* 输出参数
```json
{
2025-09-29 09:35:08 +08:00
"last_station": "LM32",
2025-09-25 10:52:52 +08:00
"station": "AP25"
}
```
2025-09-29 09:35:08 +08:00
如果与调度断连或未找到机器人返回空对象 `{}`
2025-09-25 10:52:52 +08:00
* 异常
本方法不抛出异常。
2025-09-29 09:35:08 +08:00
### 获取Core报错信息 ⚠️ 未实现
2025-09-25 10:52:52 +08:00
* 方法说明
2025-09-29 09:35:08 +08:00
获取Core报错信息。**当前版本暂未实现此功能。**
2025-09-25 10:52:52 +08:00
```python
2025-09-29 09:35:08 +08:00
async def get_core_alarms() -> Optional[str]
2025-09-25 10:52:52 +08:00
```
* 输入参数
无。
* 输出参数
2025-09-29 09:35:08 +08:00
当前返回 `None`
2025-09-25 10:52:52 +08:00
* 异常
本方法不会抛出异常。
2025-09-29 09:35:08 +08:00
### 根据ID获取Core报错信息 ⚠️ 未实现
2025-09-25 10:52:52 +08:00
* 方法说明
2025-09-29 09:35:08 +08:00
根据ID获取Core报错信息。**当前版本暂未实现此功能。**
2025-09-25 10:52:52 +08:00
```python
2025-09-29 09:35:08 +08:00
async def get_core_alarms_by_id(code: int) -> Optional[str]
2025-09-25 10:52:52 +08:00
```
* 输入参数
`code`: int类型错误码。
* 输出参数
2025-09-29 09:35:08 +08:00
当前返回 `None`
2025-09-25 10:52:52 +08:00
* 异常
本方法不会抛出异常。
2025-09-29 09:35:08 +08:00
### 获取Rbk报错信息 ⚠️ 未实现
2025-09-25 10:52:52 +08:00
* 方法说明
2025-09-29 09:35:08 +08:00
获取Rbk报错信息。**当前版本暂未实现此功能。**
2025-09-25 10:52:52 +08:00
```python
2025-09-29 09:35:08 +08:00
async def get_rbk_alarms() -> Optional[str]
2025-09-25 10:52:52 +08:00
```
* 输入参数
无。
* 输出参数
2025-09-29 09:35:08 +08:00
当前返回 `None`
2025-09-25 10:52:52 +08:00
* 异常
本方法不会抛出异常。
2025-09-29 09:35:08 +08:00
### 根据ID获取Rbk报错信息 ⚠️ 未实现
2025-09-25 10:52:52 +08:00
* 方法说明
2025-09-29 09:35:08 +08:00
根据ID获取Rbk报错信息。**当前版本暂未实现此功能。**
2025-09-25 10:52:52 +08:00
```python
2025-09-29 09:35:08 +08:00
async def get_rbk_alarms_by_id(code: int) -> Optional[str]
2025-09-25 10:52:52 +08:00
```
* 输入参数
`code`: int类型错误码。
* 输出参数
2025-09-29 09:35:08 +08:00
当前返回 `None`
2025-09-25 10:52:52 +08:00
* 异常
本方法不会抛出异常。
2025-09-29 09:35:08 +08:00
### 设置机器人软急停 ⚠️ 未实现
2025-09-25 10:52:52 +08:00
* 方法说明
2025-09-29 09:35:08 +08:00
设置机器人软急停。**当前版本暂未实现此功能。**
2025-09-25 10:52:52 +08:00
```python
async def set_soft_stop(vehicle_id: str, status: bool) -> bool
```
* 输入参数
`vehicle_id`: string 类型,机器人名称。
`status`: boolean类型`True`: 设置机器人软急停,`False`: 取消机器人软急停。
* 输出参数
2025-09-29 09:35:08 +08:00
当前返回 `False`
2025-09-25 10:52:52 +08:00
* 异常
本方法不抛出异常。
2025-09-29 09:35:08 +08:00
### 获取机器人所有信息 ⚠️ 未实现
2025-09-25 10:52:52 +08:00
* 方法说明
2025-09-29 09:35:08 +08:00
获取机器人所有信息。**当前版本暂未实现此功能。**
2025-09-25 10:52:52 +08:00
```python
2025-09-29 09:35:08 +08:00
async def get_robots_status() -> Optional[str]
2025-09-25 10:52:52 +08:00
```
* 输入参数
无。
* 输出参数
2025-09-29 09:35:08 +08:00
当前返回 `None`
2025-09-25 10:52:52 +08:00
* 异常
2025-09-29 09:35:08 +08:00
本方法不抛出异常。
2025-09-25 10:52:52 +08:00
### 查询所有机器人充电阈值
* 方法说明
2025-09-29 09:35:08 +08:00
获取所有机器人充电阈值信息,使用蛇形命名规范。
2025-09-25 10:52:52 +08:00
```python
2025-09-29 09:35:08 +08:00
async def query_charge_param() -> Optional[str]
2025-09-25 10:52:52 +08:00
```
* 输入参数
无。
* 输出参数
```json
[
{
2025-09-29 09:35:08 +08:00
"id": "1930612644818161666",
"name": "ZKG-1",
"exchange_power": 60,
"task_power": 10,
"charge_power": 30,
"min_power": 30,
"max_power": 100
2025-09-25 10:52:52 +08:00
}
]
```
2025-09-29 09:35:08 +08:00
当与调度断连时,本方法会返回 `None`;失败时返回空数组。
2025-09-25 10:52:52 +08:00
* 异常
本方法不抛出异常。
2025-09-29 09:35:08 +08:00
### 查询指定机器人充电阈值
2025-09-25 10:52:52 +08:00
* 方法说明
2025-09-29 09:35:08 +08:00
根据机器人名称列表获取指定机器人充电阈值信息,使用蛇形命名规范。
2025-09-25 10:52:52 +08:00
```python
2025-09-29 09:35:08 +08:00
async def query_charge_param_by_vehicles(vehicles: str) -> Optional[str]
2025-09-25 10:52:52 +08:00
```
* 输入参数
2025-09-29 09:35:08 +08:00
`vehicles`: JSON 格式的字符串(数组转成字符串格式),包含要查询的机器人名称列表。
2025-09-25 10:52:52 +08:00
* 输出参数
```json
[
{
2025-09-29 09:35:08 +08:00
"id": "1930612644818161666",
"name": "ZKG-1",
"exchange_power": 60,
"task_power": 10,
"charge_power": 30,
"min_power": 30,
"max_power": 100
2025-09-25 10:52:52 +08:00
}
]
```
2025-09-29 09:35:08 +08:00
当与调度断连时,本方法会返回 `None`;失败时返回空数组。
2025-09-25 10:52:52 +08:00
* 异常
本方法不抛出异常。
### 修改机器人充电阈值
* 方法说明
2025-09-29 09:35:08 +08:00
根据机器人ID修改机器人充电阈值信息使用蛇形命名规范。
2025-09-25 10:52:52 +08:00
```python
async def modify_charge_param(param: str) -> bool
```
* 输入参数
2025-09-29 09:35:08 +08:00
`param`: JSON 格式的字符串包含机器人ID和要修改的充电参数使用蛇形命名
2025-09-25 10:52:52 +08:00
* 输出参数
* `True`: 修改成功。
* `False`: 修改失败。
* 异常
本方法不抛出异常。
2025-09-29 09:35:08 +08:00
* 支持的参数字段(蛇形命名):
- `exchange_power`: 换货电量阈值
- `task_power`: 任务电量阈值
- `charge_power`: 充电电量阈值
- `min_power`: 最小电量
- `max_power`: 最大电量
2025-09-25 10:52:52 +08:00
* 示例:
```python
2025-09-29 09:35:08 +08:00
async def test_modify_charge():
# 指定要修改的机器人ID和充电参数
2025-09-25 10:52:52 +08:00
req = {
2025-09-29 09:35:08 +08:00
"id": "1930612644818161666",
"exchange_power": 65,
"task_power": 15,
"charge_power": 35
2025-09-25 10:52:52 +08:00
}
# 使用 modify_charge_param 修改阈值
2025-09-29 09:35:08 +08:00
success = await robot.modify_charge_param(json.dumps(req))
2025-09-25 10:52:52 +08:00
2025-09-29 09:35:08 +08:00
if success:
print("修改充电阈值成功")
else:
print("修改充电阈值失败")
```