API 使用说明

注: 以下 API 均为 Python API,使用前请先安装 Python SDK 包,安装方法请参考 SDK 安装

1. 系统 & 产品信息

get_system_version():

  • 功能: 获取主固件版本号
  • 返回值:
    • float: version

get_modify_version():

  • 功能: 获取次固件版本号
  • 返回值:
    • int: version

power_on():

  • 功能: 开启机器人
  • 返回值:
    • int: 开机结果, 1: 成功, 0: 失败

power_on_only():

  • 功能: 开启机器人,但不启动控制程序
  • 返回值:
    • int: 仅开机结果, 1: 成功, 0: 失败

power_off():

  • 功能: 关闭机器人
  • 返回值:
    • int: 仅关机结果, 1: 成功, 0: 失败

is_power_on():

  • 功能: 检查机器人是否已开机
  • 返回值:
    • int: 电源状态, 1: 开机, 0: 关机

2. 运动控制

move_backward(speed):

  • 功能: 平移机器人向后
  • 参数:
    • speed(float): 0 ~ 1.5 m/s
  • 返回值:
    • int: 1: 成功, 0: 失败

move_forward(speed):

  • 功能: 平移机器人向前
  • 参数:
    • speed(float): 0 ~ 1.5 m/s
  • 返回值:
    • int: 1: 成功, 0: 失败

move_left_lateral(speed):

  • 功能: 平移机器人向左
  • 参数:
    • speed(float): 0 ~ 1 m/s
  • 返回值:
    • int: 1: 成功, 0: 失败

move_right_lateral(speed):

  • 功能: 平移机器人向右
  • 参数:
    • speed(float): 0 ~ 1 m/s
  • 返回值:
    • int: 1: 成功, 0: 失败

turn_left(speed):

  • 功能: 向左旋转
  • 参数:
    • speed:
  • 返回值:
    • int: 1: 成功, 0: 失败

turn_right(speed):

  • 功能: 向右旋转
  • 参数:
    • speed:
  • 返回值:
    • int: 1: 成功, 0: 失败

stop():

  • 功能: 停止移动
  • 返回值:
    • int: 1: 成功, 0: 失败

set_auto_report_state(state):

  • 功能: 设置自动报告状态
  • 参数:
    • state(int): 0: 关闭, 1: 开启
  • 返回值:
    • int: 1: 成功, 0: 失败

get_auto_report_state():

  • 功能: 获取自动报告状态
  • 返回值:
    • int: 0: 关闭, 1: 开启

get_auto_report_message():

  • 功能: 获取自动报告消息
  • 返回值:
    • list[int | list[int] | float]:
    • 0 - (float)rx
    • 1 - (float)ry
    • 2 - (float)rw
    • 3 - (list[int])机器状态
    • 4 - (list[int])电机信息
    • 5 - (float)电池电压
    • 6 - (int)电机使能状态 0: 使能, 1: 禁用

3. 电机辅助

get_motor_enable_status():

  • 功能: 获取电机使能状态
  • 返回值:
    • list[int]: 电机使能状态
    • 0: 禁用
    • 1: 使能

get_motor_status():

  • 功能: 获取电机状态
  • 返回值:
    • list[int]: 电机状态
    • 0: 正常
    • any: 错误代码

get_motor_temps():

  • 功能: 获取电机温度
  • 返回值:
    • list[float]: 电机温度

get_motor_speeds():

  • 功能: 获取电机速度
  • 返回值:
    • list[float]: 电机速度

get_motor_torques():

  • 功能: 获取电机扭矩
  • 返回值:
    • list[float]: 电机扭矩

set_communication_state(state):

  • 功能: 设置通讯状态
  • 参数:
    • state(int):
    • 0: 串口通讯 (默认)
    • 1: Socket 通讯
    • 2: 蓝牙通讯 (将MAC地址写入文件和端点,然后返回状态)
  • 返回值:
    • int: 1: 成功, 0: 失败

get_communication_state():

  • 功能: 获取通讯状态
  • 返回值:
    • int: 通讯状态
    • 0: 串口通讯,
    • 1: Socket 通讯,
    • 2: 蓝牙通讯

set_led_color(position, brightness, color):

  • 功能: 设置LED颜色
  • 参数:
    • position(int):
    • 0: 左侧LED
    • 1: 右侧LED
    • color(tuple(int, int, int)): RGB 颜色
    • brightness(int): 0 - 255(默认 255)
  • 返回值:
    • int: 1: 成功, 0: 失败

get_motor_loss_count():

  • 功能: 获取电机丢步计数
  • 返回值:
    • list[int]: 电机丢步计数

4. IO 控制

get_pin_input(pin):

  • 功能: 获取输入IO
  • 参数:
    • pin(int): 1 - 6
  • 返回值:
    • int: 0: 低电平, 1: 高电平, -1: 没有这个引脚

set_pin_output(pin, state):

  • 功能: 设置输出IO
  • 参数:
    • pin(int): 1 - 6
    • state(int): 0: 低电平, 1: 高电平
  • 返回值:
    • int: 1: 成功, 0: 失败

get_estop_state()

  • 功能: 获取急停状态
  • 返回值:
    • int: 0: 释放, 1: 按下

5. WiFi & 蓝牙

get_wifi_ip_port():

  • 功能: 获取wi-fi ip和端口
  • 返回值:
    • tuple(str, int): wi-fi ip, wi-fi 端口

get_wifi_account():

  • 功能: 获取wi-fi 账号
  • 返回值:
    • tuple(str, str): wi-fi 账号, wi-fi 密码

get_bluetooth_address():

  • 功能: 获取蓝牙MAC地址
  • 返回值:
    • str: 蓝牙MAC地址

get_bluetooth_uuid():

  • 功能: 获取蓝牙uuid
  • 返回值:
    • tuple(str, str, str): 蓝牙名称, 服务uuid, 特征uuid

6. 使用案例:

6.1 获取AGVPro的系统版本号

from pymycobot import MyAGVPro

# 初始化 AGVPro 对象
agv_pro = MyAGVPro("/dev/ttyACM0", baudrate=1000000, debug=True)

# 获取系统版本号
version = agv_pro.get_system_version()
print(version)

6.2 控制AGVPro以0.5ms的速度前进3秒

import time
from pymycobot import MyAGVPro

# 初始化 AGVPro 对象
agv_pro = MyAGVPro("/dev/ttyACM0", baudrate=1000000, debug=True)

# 控制 AGVPro 以 0.5ms 的速度前进
agv_pro.move_forward(0.5)

# 睡眠 3 秒
time.sleep(3)

# 停止移动
agv_pro.stop()

6.3 使用 Socket 通信

  • 在串口通信模式下获取 AGVPro WIFI 的账号和密码

    from pymycobot import MyAGVPro
    
    # 1. 初始化 MyAGVPro 对象
    agv_pro = MyAGVPro("/dev/ttyACM0", baudrate=1000000, debug=True)
    
    # 2. 获取 AGVProWIFI 的账号和密码
    account, password = agv_pro.get_wifi_account() 
    
    # 3. 打印账号和密码
    print(f"Account: {account}, Password: {password}")
    # Output: Account: ElephantAGVPro-AP2.4G, Password: elephant
    
    # 4. 获取 AGVPro 配置的 IP 地址和开放端口
    ip, port = agv_pro.get_wifi_ip_port()
    
    # 5. 打印 IP 地址和开放端口
    print(f"IP: {ip}, Port: {port}")
    # Output: IP: 192.168.4.1, Port: 9000
    
  • 将当前通信模式设置为 Socket 模式
    set_result = agv_pro.set_communication_state(1)
    if set_result == 1:
        print("Set communication mode to Socket successfully.")
    else:
        print("Failed to set communication mode to Socket.")
    
  • WIFI连接

    根据获取到的WIFI账号和密码,连接 AGVPro WIFI。

  • 初始化 socket 通信

    from pymycobot import MyAGVProSocket
    
    # 1. 根据获取到的IP地址和端口,初始化 MyAGVProSocket 对象
    agv_pro_socket = MyAGVProSocket("192.168.4.1", 9000, debug=True)
    
    # 2. 获取 AGVPro 的版本信息
    version = agv_pro_socket.get_system_version()
    
    # 3. 打印版本信息
    print(f"Version: {version}")
    

← 上一页 | 下一节 →

results matching ""

    No results matching ""