连接至 aubo_control
aubo_control 是运行在控制箱内嵌入式电脑上的底层机器人控制器。当电脑启动时,aubo_control 会作为守护进程(即服务)启动,AuboStudio 或图形用户界面则通过本地TCP/IP连接以客户端身份进行连接。 在脚本层面对机器人进行编程,需要编写一个客户端应用程序(运行在另一台电脑上),并通过 TCP/IP 套接字、HTTP 和 WebSocket 连接至 aubo_control。
支持的通信协议和端口
AUBO 脚本支持以下通信协议及相应的端口号:
协议 | 端口号 |
---|---|
TCP Socket | 30002 |
HTTP | 30003 |
WebSocket | 30003 |
脚本协议规范
通过TCP套接字协议向机器人控制器发送脚本字符串时,消息必须以\r\n\r\n
结尾。
脚本字符串示例
以下示例展示了如何通过TCP套接字、HTTP和WebSocket通信发送脚本字符串。该脚本是为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调试工具的步骤:
输入机器人的IP地址和端口号,然后建立连接。连接成功后,套接字状态应显示连接成功。
输入脚本字符串,在脚本末尾按两次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.成功传输后,将显示接收到的数据。
通过WebSocket发送脚本
要使用WebSocket发送脚本,请连接至以下URL:
ws://<robot-ip>:30003
其中<robot-ip>
是机器人的IP地址,30003
是WebSocket端口号。
使用WebSocket测试工具的步骤:
使用在线WebSocket测试工具,例如EasySwoole WebSocket测试工具。
输入WebSocket URL并建立连接。连接成功后,服务器状态应显示连接成功。
输入脚本字符串,然后点击“发送到服务器”。
成功传输后,将显示接收到的消息。
通过HTTP发送脚本
要使用HTTP发送脚本,请向以下地址发送POST请求:
http://<robot-ip>:30003/aubo_script
其中<robot-ip>
是机器人的IP地址,30003
是HTTP端口号。
使用Postman的步骤:
打开Postman,选择POST作为请求方法,并输入URL。
在Body部分,输入脚本字符串,然后点击“发送”。
成功传输后,将显示接收到的消息。