CmvrControlStation/models/aubo_description/README.md

212 lines
13 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div align="center">
<h1 align="center">aubo_description</h1>
<h3 align="center">
机器人模型描述仓库
</h3>
</div>
本仓库集中维护所有 `ARCS` 软件支持的所有机器人模型。
## 机器人型号完备描述
| 项目 | 类型 | 用途 | 存储路径 | 必要性 | 示例 |
| ---------- | --------- | ------------------------------------------------------------ | ------------------------------------- | ------ | ------------------------------------------------------------ |
| 机器人型号 | 字符串 | 机器人型号统一定义 | | 必须 | `aubo_i5` |
| `urdf`文件 | 文本文件 | 算法加载机器人模型 | `urdf/<robot_type>.urdf` | 必须 | [`urdf/aubo_i5.urdf`](urdf/aubo_i5.urdf) |
| `srdf`文件 | 文本文件 | | `urdf/<robot_type>.srdf` | | [`urdf/aubo_i5.srdf`](urdf/aubo_i5.srdf) |
| 碰撞模型 | `STL`文件 | 碰撞检测算法 | `meshes/<robot_type>/collision/*.STL` | 必须 | [`meshes/aubo_i5/collision/base_link.STL`](meshes/aubo_i5/collision/base_link.STL) |
| 显示模型 | `3ds`文件 | 示教器显示 | `meshes/<robot_type>/visual/*.3ds` | 必须 | [`meshes/aubo_i5/visual/base.3ds`](meshes/aubo_i5/visual/base.3ds) |
| 配置文件 | 文本文件 | 机器人型号扩展描述,对`urdf`的补充,如机器人初始位姿、打包位姿、默认速度加速度 | `config/<robot_type>.conf` | 必须 | [`config/aubo_i5.conf`](config/aubo_i5.conf) |
## 机器人型号规范
```shell
<机器人系列代码><机器人负载><机器人系列扩展代码>-<机器人版本升级或定制代码>
# i5
# i5L
# i5RS
# i20-1650
```
### 1. 机器人系列代码
一般为**单个小写字母**,指代机器人的应用行业,必须
i - industry: 工业
g - gaoxingneng? 未知
f - <> 未知
c - consume: 消费
e - education: 教育
s - service: 服务
### 2. 机器人负载
机器人的标称负载,单位为`Kg`,必须
5/7/10/16/20
### 3. 机器人系列扩展代码
一般为**单个大写字母**,为标准系列的改性(一般加长或者减短连杆,升级关节电机减速器等),可选
L: 连杆加长版本
B: 负载增加(缩短连杆?)
S: 高速(电机或减速器升级)
RS:
RX: 柔性?
TD: 特高压带电?
### 4. 机器人版本升级或定制代码
一般出现在主型号(<机器人系列代码><机器人负载><机器人系列扩展代码>)之后,通过减号连接,字符和数字的组合,可选
i20-1650: 1650指代臂展(非常不建议)
## 内部用模型文件及.conf文件命名规范
```
<品牌简称小写>_<机器人系列代码><机器人负载>_<机器人SN码中对应的版本>
aubo_i5_10 # i5标准版
aubo_i5_11 # i5标准版末端360
aubo_i5_12 # i5标准版加长版
aubo_i5_13 # i5标准版加长版末端360
```
### 1. 现行SN码简介
| 型号 | 型号说明 | 版本 | 版本说明 | 改动号 | 改动说明 |
| :--: | :------: | :--: | :----------------------------------------------------: | :----: | :----------------------: |
| 03 | i3 | 10 | 标准版:ID1-6 ±175° | A | 标准版 |
| 05 | i5 | 11 | 标准版末端360:ID1-5 ±175° ID6 ±360° | B | 标准版末端360 |
| 07 | i7 | 12 | 标准版加长版:ID1-6 ±175° | C | 标准版加长版 |
| 10 | i10 | 13 | 标准版加长版末端360:ID1-5 ±175° ID6 ±360° | D | 标准版加长版末端360 |
| 11 | i12(i10B) | 14 | 普通高速版本:ID1-6 ±175° | E | 高速瑞声版 |
| 16 | i16 | 15 | 高速瑞声版:ID1-6 ±175° | F | 高速标准版 |
| 20 | i20 | 16 | 普通高速末端360版本:ID1-5 ±175° ID6 ±360° | G | 高速标准版末端360 |
| 13 | C3 | 17 | 高速标准版:ID1-6 ±175° | H | 高速小减速比版 |
| 15 | C5 | 18 | 高速标准版末端360:ID1-5 ±175° ID6 ±360° | I | 高速小减速比版末端360 |
| 17 | C10 | 19 | 高速小减速比版:ID1-6 ±175° | J | 标准版配六维力传感器 |
| 18 | C16 | 20 | 高速小减速比版末端360:ID1-5 ±175° ID6 ±360° | K | 标准版配视觉 |
| 19 | C20 | 21 | 标准版配六维力传感器:ID1-6 ±175° | L | 高速标准版配六维力传感器 |
| 23 | E3 | 22 | 标准版配视觉:ID1-6 ±175° | M | 高速标准版配视觉 |
| 24 | i30 | 23 | 高速标准版配六维力传感器:ID1-6 ±175° | N | 高速标准版加长版 |
| 25 | E5 | 24 | 高速标准版配视觉:ID1-6 ±175° | O | 高速标准版加长版末端360 |
| 21 | E10 | 25 | 高速标准版加长版:ID1-6 ±175° | P | 高速末端360/ID1 360 |
| 26 | E16 | 26 | 高速标准版加长版末端360:ID1-5 ±175° ID6 ±360° | Q | 特殊定制版 |
| 22 | E20 | 27 | 高速末端360/ID1 360:ID1 ±360° ID2-5 ±175° ID6 ±360° | R | 标准版(标配360) |
| 33 | G3 | 28 | 标准版ID1 360:ID1 ±360° ID2-6±175° | S | 高速标准版(标配360) |
| 34 | G6 | 29 | 特殊定制版:ID1-6 ±175° | T | 标准加长版(标配360) |
| 35 | i3H | 30 | 标准版(标配360):ID1-6 ±360° | U | 配一维力控传感器 |
| 36 | i5H | 31 | 高速标准版(标配360):ID1-6 ±360° | V | 关节限位 |
| 37 | i7H | 32 | 标准加长版(标配360):ID1-6 ±360° | W | i5改i7 |
| 38 | i10H | 33 | 高速标准加长版(标配360):ID1-6 ±360° | | |
| 39 | i12H | 34 | 标准版配六维力传感器(标配360):ID1-6 ±360° | | |
| 40 | i16H | 35 | 高速瑞声版(标配360):ID1-6 ±360° | | |
| 41 | T12 | 36 | 柏惠维康版(标配360):ID1-6 ±360° | | |
| 42 | T6 | 37 | 标准版配一维力传感器(外走线标配360):ID1-6 ±360° | | |
| | | 38 | 标准版配一维力传感器(内走线标配360):ID1-6 ±360° | | |
| | | 39 | 标准版(CANLite协议):ID1-6 ±360° | | |
### 2. 已支持的机器人型号
| 机器人型号 | 是否量产 | 备注 |
| :---------: | :------: | :--------------------------------------------: |
| aubo_i3 | | 保留型号,兼容之前版本 |
| aubo_i3_10 | × | 量产版本已变更,现为老版本 |
| aubo_i3_30 | √ | 实际量产版本 |
| aubo_i3_31 | √ | 如影定制 |
| aubo_i3_37 | √ | 力控一维外走线 |
| aubo_i3_38 | √ | 力控一维内走线 |
| aubo_S3 | × | 低成本机械臂 |
| aubo_i5 | | 保留型号,兼容之前版本 |
| aubo_i5_10 | × | 量产版本已变更,现为老版本 |
| aubo_i5_11 | × | 末端360。量产版本已变更,现为老版本 |
| aubo_i5_30 | √ | 标准版本,目前发往海外主要量产版本。近期会变更 |
| aubo_i5_31 | √ | 实际量产出货版本 |
| aubo_i5_36 | √ | 柏惠维康版 |
| aubo_i5_37 | √ | 力控一维外走线 |
| aubo_i5_38 | √ | 力控一维内走线 |
| aubo_i5L | | 留型号,兼容之前版本 |
| aubo_i5_12 | × | 量产版本已变更,现为老版本 |
| aubo_i5_13 | × | 末端360。量产版本已变更,现为老版本 |
| aubo_i5_32 | √ | 实际量产版本 |
| aubo_i5_33 | × | 高速标准加长版 |
| aubo_i5F_34 | √ | 力控定制版 |
| aubo_iS5 | x | 高性能机械臂 |
| aubo_i7 | | 保留型号,兼容之前版本 |
| aubo_i7_10 | × | 量产版本已变更,现为老版本 |
| aubo_i7_11 | × | 末端360。量产版本已变更,现为老版本 |
| aubo_i7_30 | √ | 实际量产版本 |
| aubo_iS7 | x | 高性能机械臂 |
| aubo_i10 | | 保留型号,兼容之前版本 |
| aubo_i10_10 | × | 量产版本已变更,现为老版本 |
| aubo_i10_11 | × | 末端360。量产版本已变更,现为老版本 |
| aubo_i10_30 | √ | 实际量产版本 |
| aubo_i12 | | 保留型号,兼容之前版本 |
| aubo_i12_30 | √ | 实际量产版本 |
| aubo_i16 | | 保留型号,兼容之前版本 |
| aubo_i16_30 | √ | 实际量产版本 |
| aubo_i20 | | 保留型号,兼容之前版本 |
| aubo_i20_30 | √ | 实际量产版本,即原本i10B |
| aubo_c3_30 | √ | 铂睿谐波 |
| aubo_c5_30 | √ | 铂睿谐波+自研电机 |
| aubo_e3_10 | √ | 铂睿谐波 |
| aubo_e5_10 | √ | 铂睿谐波+自研电机 |
| aubo_e10_10 | √ | 自研电机 |
| aubo_i5h_30 | √ | 自研电机+三编码器 |
## 如何导入一个新的机器人型号
参考 [CONTRIBUTING.md](CONTRIBUTING.md)
## 生成校准版 URDF
可以使用 `scripts/calibrate_urdf_dh.py` 读取机器人 RPC 返回的 DH 校准补偿,并生成新的校准版 URDF 文件。
脚本启动时会先检查运行依赖;当前至少需要 `numpy` 和可导入的 `pyaubo_sdk`。
```bash
python3 scripts/calibrate_urdf_dh.py \
--robot-model aubo_i10H \
--robot-ip 192.168.15.128 \
--temperature 20
```
也可以直接把 `--urdf-in` 写成机器人名称,脚本会自动到 `urdf/` 目录下查找对应文件:
```bash
python3 scripts/calibrate_urdf_dh.py \
--urdf-in aubo_i10H \
--robot-ip 192.168.15.128 \
--temperature 20
```
默认输出路径为 `urdf/<robot_model>_calibrated.urdf`,会直接和其他 `.urdf` 文件放在一起。脚本不会覆盖输入 URDF;若目标文件已存在,需要显式传入 `--force`。
生成新的校准版 URDF 后,需要重新执行 `colcon build --packages-select aubo_description`,使新文件被正确安装到工作空间。
# 在 gazebo 中仿真 aubo 机器人(以 aubo_i5 为例)
roslaunch aubo_gazebo aubo_bringup.launch robot_model:=aubo_i5
roslaunch aubo_i5_moveit_config moveit_planning_execution.launch sim:=true
roslaunch aubo_i5_moveit_config moveit_rviz.launch
​