# 开始示教和搬运

Rotrics的气动搬运功能可以通过Rotrics  Studio控制并记录下机械臂的运动实现，也可以编写G-code程序控制机械臂运动，实现搬运。

## 使用Rotrics Studio进行示教搬运

#### 1) 连接机械臂到Rotrics Studio

![](https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M77fTHdU7JmlEEzpf3s%2F-M77jIK-5kreQhAiotGl%2Fimage.png?alt=media\&token=c8c80dff-e5a0-4a28-a878-dc01890b5738)

#### 2) 点击Basic -> Functions -> Teach\&Play -> ON

此时顶部&#x7684;**`Record`**&#x548C;**`Record List`**&#x6309;钮会变为可用状态。

![](https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M77fTHdU7JmlEEzpf3s%2F-M77jfPD6HC3tp4--Ivt%2Fimage.png?alt=media\&token=a87bece4-7d38-40bc-8450-b3300c93d1fb)

#### 3) 选择对应的前端模块（Air Pick / Soft Gripper），点击ON

![](https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M7AgaRCs7L19XfVRf07%2F-M7Ai3oxe7-0kLh1a8Si%2Fimage.png?alt=media\&token=0774b044-32a6-4872-99ad-11c84fbed472)

#### 4) 拖动机械臂到对应的位置，点击`Record`记录位置和前端模块状态。

此时可以看到Recrod List右上角显示已经记录了一个示教动作。

![](https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M7AgaRCs7L19XfVRf07%2F-M7AiBhxIqkSFRTP8g4G%2Fimage.png?alt=media\&token=c80633f7-d1da-40ef-9f47-a4ff2f3f0162)

#### 5) 点击Pick拾取物品，点击`Record`记录位置和前端模块状态。

![](https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M7AgaRCs7L19XfVRf07%2F-M7AjIbwlORWFgyyRNRL%2Fimage.png?alt=media\&token=aa8b2597-585b-439f-b118-a1a7ccf98642)

💡**Tips:** 如果使用柔性爪进行示教搬运，&#x5728;**`Grip`**&#x6293;取物品之前 ，需要&#x5148;**`Release`**，再下降到对应位置，然后&#x518D;**`Grip`**。

#### 6) 拖动机械臂向上抬升一段距离（5cm左右，其他高度也可以），点击`Record`记录位置和前端模块状态。

💡**Tips:** 为了防止机械臂在运动过程中误碰撞到搬运的物体，需要让机械臂按照门型的轨迹运动，也就是先抬升一段距离，再移动到目标点上方一定高度，再向下移动。

![](https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M7AgaRCs7L19XfVRf07%2F-M7Amnwgtvk779RJszFi%2Fimage.png?alt=media\&token=1e66dcd2-c6ad-400f-95e2-d68eb2fbd373)

#### 7) 拖动机械臂移动到目标点的上方大约5cm的位置，再点击`Record`记录位置和前端模块状态。

![](https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M7AgaRCs7L19XfVRf07%2F-M7AmwlyDWkkRF6Svw2e%2Fimage.png?alt=media\&token=6f2d48e9-9e2c-456b-b6c9-bf8e33151e57)

#### 8) 拖动机械臂到目标点，点击Place，放下物品。再点击`Record`记录位置和前端模块状态。

![](https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M7AgaRCs7L19XfVRf07%2F-M7AnUR60ePoNfytyJnM%2Fimage.png?alt=media\&token=422a81ad-af59-44f7-b547-a7305a323a1e)

#### 9) 点击Air Pick / Soft Gripper的OFF，关闭气泵。点击`Record`记录位置和前端模块状态。

![](https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M7AgaRCs7L19XfVRf07%2F-M7AoVWhtmyFeDY9GIVe%2Fimage.png?alt=media\&token=fbb2933a-d7f2-4b4d-ba57-1ed0552e661e)

#### 10) 点击Record List， 查看所有记录的示教动作。可以点击`+Add Delay`在不同的动作之间添加等待时间。

![](https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M7AgaRCs7L19XfVRf07%2F-M7AomnURzXkmYkWNLca%2Fimage.png?alt=media\&token=f5c577af-18b3-4d26-913c-c698e0ec905f)

![](https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M7AgaRCs7L19XfVRf07%2F-M7ApWvEnCn7VeZcX6L5%2Fimage.png?alt=media\&token=b4d27fe1-3e2d-441e-92b0-1984497ad089)

#### 11) 点击Replay，复现所有示教动作。

![](https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M7AgaRCs7L19XfVRf07%2F-M7ApswWONjse29Umw43%2Fimage.png?alt=media\&token=cf84e7c9-f0a4-41c2-92dd-f10935df0c07)

目前只支持复现一次示教动作，后续版本会增加多次循环示教的功能。

如果现在需要进行循环示教动作，需要点击底部的`Export`按钮导出G-code文件，复制多次，机械臂即可按照示教动作循环运动。

<div align="left"><img src="https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M7AqZqJ1dWJ4Rdg6ez6%2F-M7ArCZ0FTenj9T67d9s%2Fimage.png?alt=media&#x26;token=a2cd04b5-92b2-44b4-a954-0e03a6f871b2" alt=""></div>

如果Replay之后，还需要增加新的示教动作，需要点&#x51FB;**`Teach&Play`**&#x7684;**`OFF`**，重新点&#x51FB;**`ON`**&#x4E4B;后再记录新的动作。

## 使用触控屏进行示教搬运

#### 1)将触控屏连接到机械臂，点击`Basic -> Reset -> HOME`使机械臂运动到HOME点

<div align="left"><img src="https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M5_wyp3cA9Lpbm6mtfX%2F-M5a8Si1Nr4sjdVTVSYL%2Fimage.png?alt=media&#x26;token=eb119349-375c-4d79-885c-19a0dbe8241d" alt=""></div>

#### 2) 点击Teach -> Air Pick / Soft Gripper 进入对应模块的示教模式

<div align="left"><img src="https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M5_wyp3cA9Lpbm6mtfX%2F-M5a9vp4NPD2yk8jN3U7%2Fimage.png?alt=media&#x26;token=70b6b6c8-6e8d-4595-b5a7-b66b5f23f93f" alt=""></div>

#### 3) 点击Disable开始示教

<div align="left"><img src="https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M5_wyp3cA9Lpbm6mtfX%2F-M5aBuDQ6pvlXPRUP4pA%2Fimage.png?alt=media&#x26;token=31bbb49c-d48f-4f73-9c16-c378ebbae0a3" alt=""></div>

Disable会使得电机失力，从而可以拖动前端模块的位置。

#### 4) 拖动机械臂到对应的位置

#### 5) 点击Pick拾取物品

<div align="left"><img src="https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M5_wyp3cA9Lpbm6mtfX%2F-M5aC48XymjydO-wlyF-%2Fimage.png?alt=media&#x26;token=2e4c5f6c-ce8d-4331-83a2-e08129f26f12" alt=""></div>

#### 6) 点击Record记录当前点坐标和气动模块状态

<div align="left"><img src="https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M5_wyp3cA9Lpbm6mtfX%2F-M5aCDbS_jSi2N8A4CuT%2Fimage.png?alt=media&#x26;token=0427f482-19b6-4b34-8e20-df9ba72de1b2" alt=""></div>

#### 7) 拖动机械臂到目标位置，点击Place放下物品

<div align="left"><img src="https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M5_wyp3cA9Lpbm6mtfX%2F-M5aCLbRkq0vMAE0rnUc%2Fimage.png?alt=media&#x26;token=bb1ef465-93e7-406e-8166-918883edbdfa" alt=""></div>

#### 8) 点击Record记录当前点坐标和气动模块状态

<div align="left"><img src="https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M5_wyp3cA9Lpbm6mtfX%2F-M5aCPWXBjett0NCcF6K%2Fimage.png?alt=media&#x26;token=afc50d76-dcc4-45b8-a1fe-43e133157fc0" alt=""></div>

#### 9) 依次重复记录所有位置

<div align="left"><img src="https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M5_wyp3cA9Lpbm6mtfX%2F-M5aCaK-TF-Vcf-5XvWJ%2Fimage.png?alt=media&#x26;token=13b418cb-61a5-4620-896d-3e7d9fba2048" alt=""></div>

在每次记录点之后，可以在下一个点之前添加延时指令，使机械臂等待一段时间后再执行下一步。

#### 10) 点击Replay即可复现整个示教过程

<div align="left"><img src="https://2013423186-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtPFIBncU5l4J8tl5Yh%2F-M5_wyp3cA9Lpbm6mtfX%2F-M5aChTKdxk6G4doWWCQ%2Fimage.png?alt=media&#x26;token=de90ab49-44cf-40c0-b8b1-7334ff728d62" alt=""></div>

## 编写G-code指令进行搬运

使用G-code进行气动搬运工作，需要先新建一&#x4E2A;**`.gcode`**&#x6587;件，使用系统自带&#x7684;**`记事本`**&#x7A0B;序或者第三方的文本编辑器打开（比如Notepad++），在其中输入机械臂运动控制指令，完成后通过Rotrics Studio软件发送给机械臂即可进行气动搬运工作。

#### 1) 相关的G-code指令说明；

运动控制指令：

* **`G0 X300 Y20 Z0`** - 机械臂运动到点（300,20,0）
* **`G0 F3000`** - 设置速度为3000mm/min;
* **`M2000`** - 设置机械臂以直线模式运动；
* **`M2001`** - 设置机械臂以快速模式运动；

气泵控制指令：

* **`M888 P2`** - 设置前端模块为气动模块；
* **`M1000`** - 气泵吸气；
* **`M1001 -`** 气泵吹气 ；
* **`M1002`** - 气泵泄气 ，泄气气阀打开 ；
* **`M1003`**- 所有气泵气阀停止工作；

#### 2) 气动G-code流程说明

A.使用M888 P2指令设置前端模块为气动模块；

B. 使用M2000 或M2001设置机械臂运动模式；

C. 使用G0指令控制机械臂的运动；

D. 使用M1000 - M1003指令控制气泵的工作；

其中柔性爪和吸盘的气泵动作是相反的，具体说明如下：

**吸盘工作过程：**

* 使&#x7528;**`M1000`**&#x4F7F;气泵吸气，拾取物品；
* 使&#x7528;**`M1002`**&#x4F7F;气泵泄气，释放气泵内部压力，放下物品；
* &#x20;使&#x7528;**`M1003`**&#x5173;闭所有气泵气阀；

**柔性爪工作过程：**

* 使&#x7528;**`M1001`**&#x4F7F;气泵吹气，使柔性爪抓紧，抓取物品；
* 使&#x7528;**`M1000`**&#x4F7F;气泵吸气，使柔性爪松开，放下物品；
* 每次停止柔性爪的使用时，先使&#x7528;**`M1002`**&#x4F7F;气泵泄气，释放气泵内部压力；
* 再使&#x7528;**`M1003`**&#x5173;闭所有气泵气阀；

#### 3) 示例

***吸盘***

***柔性爪***
