aubo学习:SDK
·
一、基础认知
1. SDK 分类
AUBO 官方提供两套主流开发 SDK,适配不同场景
- C++ SDK(aubo_sdk)
- 适用:工控机、Linux 设备、高性能实时控制
- 通讯:TCP/IP、Socket 直连机械臂控制器
- 优势:实时性高、原生支持轨迹规划、IO、拖拽示教、力控
- 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:自定义世界坐标系、工件坐标系
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)