跳转到内容

连接至 aubo_control

aubo_control 是运行在控制箱内嵌入式电脑上的底层机器人控制器。当电脑启动时,aubo_control 会作为守护进程(即服务)启动,AuboStudio 或图形用户界面则通过本地TCP/IP连接以客户端身份进行连接。 在脚本层面对机器人进行编程,需要编写一个客户端应用程序(运行在另一台电脑上),并通过 TCP/IP 套接字HTTPWebSocket 连接至 aubo_control。

支持的通信协议和端口

AUBO 脚本支持以下通信协议及相应的端口号:

协议端口号
TCP Socket30002
HTTP30003
WebSocket30003

脚本协议规范

通过TCP套接字协议向机器人控制器发送脚本字符串时,消息必须以\r\n\r\n结尾。

脚本字符串示例

以下示例展示了如何通过TCP套接字HTTPWebSocket通信发送脚本字符串。该脚本是为AUBO i5机械臂编写的。

return function(api)
    local _ENV = require('aubo').sched.select_robot(1)
    home = { -0.000003, -0.127267, -1.321124, 0.37694, -1.570796, -0.000008 }
    move1 = { -0.400318, 0.064315, 0.547598, 3.14, 0.0, -2.63782 }
    move2 = { -0.400318, 0.064315, 0.379989, 3.14, 0.0, -2.63782 }
    move3 = { -0.400318, 0.064315, 0.547598, 3.14, 0.0, -2.63782 }
    move4 = { -0.400319, -0.298610, 0.547598, 3.14, 0.435471, -1.57 }
    move5 = { -0.400319, -0.243865, 0.429931, 3.14, 0.435471, -1.57 }
    move6 = { -0.400319, -0.298610, 0.547598, 3.14, 0.435471, -1.57 }
    
    -- 设置相对于法兰中心的工具中心点(TCP)偏移
    setTcpOffset({0,0,0,0,0,0})
    -- 设置速度比例
    setSpeedFraction(0.75)
    -- 关节运动
    moveJoint(home, 3.14, 3.14, 0.0, 0)
    -- 直线运动
    moveLine(move1, 2, 1, 0.0, 0)
    moveLine(move2, 2, 1, 0.0, 0)
    moveLine(move3, 2, 1, 0.0, 0)
    moveLine(move4, 2, 1, 0.02, 0)
    moveLine(move5, 2, 1, 0.0, 0)
    moveLine(move6, 2, 1, 0.02, 0)    
end

通过TCP套接字发送脚本

要使用TCP套接字发送脚本,请连接至机器人IP地址的30002端口

使用TCP调试工具的步骤:

  1. 输入机器人的IP地址和端口号,然后建立连接。连接成功后,套接字状态应显示连接成功。

    TCP Connection
  2. 输入脚本字符串,在脚本末尾按两次Enter键,然后点击“发送数据”。

    Note: The script string sent via TCP Socket must end with \r\n\r\n. Since \r\n represents a newline character, pressing Enter twice ensures correct formatting.

    Sending Script via TCP
  3. 成功传输后,将显示接收到的数据。

    Received Data

通过WebSocket发送脚本

要使用WebSocket发送脚本,请连接至以下URL:

ws://<robot-ip>:30003

其中<robot-ip>是机器人的IP地址,30003是WebSocket端口号。

使用WebSocket测试工具的步骤:

  1. 使用在线WebSocket测试工具,例如EasySwoole WebSocket测试工具

  2. 输入WebSocket URL并建立连接。连接成功后,服务器状态应显示连接成功。

    WebSocket Connection
  3. 输入脚本字符串,然后点击“发送到服务器”。

    Sending Script via WebSocket
  4. 成功传输后,将显示接收到的消息。

    Received WebSocket Data

通过HTTP发送脚本

要使用HTTP发送脚本,请向以下地址发送POST请求:

http://<robot-ip>:30003/aubo_script

其中<robot-ip>是机器人的IP地址,30003是HTTP端口号。

使用Postman的步骤:

  1. 打开Postman,选择POST作为请求方法,并输入URL。

    Postman URL
  2. Body部分,输入脚本字符串,然后点击“发送”。

    Postman Body
  3. 成功传输后,将显示接收到的消息。

    Received HTTP Data