一、基础认知

1. SDK 分类

AUBO 官方提供两套主流开发 SDK,适配不同场景

  1. C++ SDK(aubo_sdk)
    • 适用:工控机、Linux 设备、高性能实时控制
    • 通讯:TCP/IP、Socket 直连机械臂控制器
    • 优势:实时性高、原生支持轨迹规划、IO、拖拽示教、力控
  2. Python SDK(pyaubo)
    • 适用:快速验证、算法仿真、视觉联动、二次开发原型
    • 底层封装 C++ SDK 接口,语法简单易上手
    • 适合学生、算法研发、ROS 联合开发

2. 硬件与环境要求

  • 机械臂:AUBO i3/i5/i7/i10、AUBO UR5 系列
  • 控制器:AUBO 原生控制柜,网口直连电脑
  • 开发系统:Ubuntu 18.04 / 20.04(推荐);Windows 仅支持 Python 简易版
  • 网络:电脑 IP 与控制柜 IP 同网段(控制器默认 IP:192.168.1.100)

二、环境部署

C++ SDK 编译部署

1.下载官方 SDK 源码:AUBO 官网开发者中心

2.依赖安装

sudo apt install libssl-dev libboost-all-dev cmake gcc g++

3.编译流程

mkdir build && cd build
cmake ..
make -j4
# 编译生成libaubo_sdk.so动态库 + demo可执行文件

4.CMakeLists 核心配置

link_directories(${PROJECT_SOURCE_DIR}/lib)
include_directories(${PROJECT_SOURCE_DIR}/include)
target_link_libraries(your_project aubo_sdk pthread ssl crypto)

三、核心 API 功能分类

1. 设备控制类

功能接口作用
connect/disconnect建立 / 断开与控制柜 TCP 连接
power_on/power_off机器人上电、断电
enable_robot/disable_robot伺服使能、关闭伺服(运动前必须使能)
emergency_stop/release_estop急停触发、解除急停
set_speed设置全局运动速度(0~100%)

2. 运动规划类

2.1关节运动 movej

各轴独立插值,无奇异点风险,点位移动首选

# 目标关节角度 [j1,j2,j3,j4,j5,j6]
target_joint = [0, 0.3, -0.8, 0, 1.2, 0]
robot.movej(target_joint, speed=20)
2.2直线运动 movel
# 位姿 [x,y,z,rx,ry,rz] 单位m/rad
target_pose = [0.5, 0, 0.3, 3.14, 0, 0]
robot.movel(target_pose, speed=10)
2.3圆弧运动 movec

圆弧轨迹,抛光、环形作业场景

2.4拖拽示教 drag_teach

开启手动拖拽,获取示教点位

3. IO 控制

# 设置输出IO 0高电平
robot.set_digital_out(0, 1)
# 读取输入IO 1状态
signal = robot.get_digital_in(1)
print("IO输入信号:", signal)
# 工具IO控制
robot.set_tool_digital_out(1, 0)

4. 数据读取与状态反馈

# 实时关节角度
joint = robot.get_current_joint()
# 实时末端笛卡尔位姿
pose = robot.get_current_pose()
# 各关节力矩
torque = robot.get_joint_torque()
# 机器人运行状态
state = robot.get_robot_state()
# 碰撞检测状态
collision = robot.is_collision()

5. 坐标系、工具、负载设置

  • set_tcp:设置工具中心点 TCP 偏移(夹爪、剪刀必备)
  • set_payload:设置末端负载重量,保护伺服电机
  • set_world:自定义世界坐标系、工件坐标系
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐