# 机器人相关模块文档 (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("修改充电阈值失败") ```