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

409 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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