# HRSDK × HIWIN RA605-GB 開發速查表(Developer Quick Reference)
> 適用版本:HRSDK 3.0.13
> 適用設備:HIWIN RA605-GB 六軸工業機器手臂
> 適用情境:PC 端(C# / C++)控制、視覺定位整合、自動化產線
---
## 1. 系統架構總覽
```
PC Application (C# / C++)
│
▼
HRSDK API
│
▼
HIWIN Controller
│
▼
RA605-GB Robot Arm
```
---
## 2. 必要檔案與部署位置
### C#(x64)專案
| 檔案 | 來源 | 放置位置 |
|----|----|----|
| HRobot.cs | include/ | 專案原始碼 |
| HRSDK.dll | lib/x64 | 與 .exe 同目錄 |
### C++(x64)專案
| 類型 | 檔案 |
|----|----|
| Header | HRSDK.h |
| Library | HRSDK.lib |
| Runtime | HRSDK.dll |
---
## 3. 基本開發流程(標準順序)
1. 初始化 SDK
2. 連線控制器
3. Servo ON
4. 設定 Tool / Base
5. 運動指令(PTP / LIN / CIRC)
6. I/O 控制(夾爪)
7. 狀態監控
8. Servo OFF / 斷線
---
## 4. 常用 API 對照速查(重點)
### 4.1 連線與系統控制
| 功能 | API |
|----|----|
| 初始化 | HRSDK_Initial()
| 連線 | HRSDK_Connect(ip, port)
| 斷線 | HRSDK_Disconnect()
| Servo ON | HRSDK_ServoOn()
| Servo OFF | HRSDK_ServoOff()
---
### 4.2 座標與姿態(e6pos 對應)
| e6pos 欄位 | HRSDK 對應 |
|----|----|
| X, Y, Z | Position (mm) |
| A, B, C | Euler Angle (deg) |
⚠ 注意:角度單位為「度」,非 radian
---
### 4.3 運動指令
| 類型 | API | 說明 |
|----|----|----|
| PTP | HRSDK_PTP(pos, vel, acc) | 點對點運動 |
| LIN | HRSDK_LIN(pos, vel, acc) | 直線插補 |
| CIRC | HRSDK_CIRC(p1, p2, vel) | 圓弧插補 |
---
### 4.4 Tool / Base 設定
| 功能 | API |
|----|----|
| 設定 Tool | HRSDK_SetTool(toolID) |
| 設定 Base | HRSDK_SetBase(baseID) |
📌 對應示教器:TOOL[n]、BASE[n]
---
### 4.5 I/O 控制(夾爪)
| 功能 | API |
|----|----|
| DO ON | HRSDK_SetDO(channel, true) |
| DO OFF | HRSDK_SetDO(channel, false) |
| 讀取 DI | HRSDK_GetDI(channel) |
---
## 5. Pick & Place 標準流程(實務模板)
```
1. 移動至安全高度
2. PTP → Pick 上方
3. LIN → Pick 點
4. DO ON(夾取)
5. LIN → 安全高度
6. PTP → Place 上方
7. LIN → Place 點
8. DO OFF(放開)
```
---
## 6. 與視覺系統整合(你常用情境)
### 視覺 → 機器手臂流程
1. Camera 座標 (pixel)
2. OpenCV 計算實際座標 (mm)
3. 座標轉換(Camera → Base)
4. 組合 e6pos
5. HRSDK_PTP / LIN
📌 建議:所有視覺轉換完成後,**只把結果交給 HRSDK**
---
## 7. 常見錯誤與排查
| 問題 | 原因 | 解法 |
|----|----|----|
| 無法連線 | IP / Port 錯誤 | 檢查控制器設定 |
| 無法動作 | Servo OFF | ServoOn() |
| 動作方向怪 | Tool/Base 錯 | 校正 Tool / Base |
| DLL 載入失敗 | 位元數錯 | x64 對 x64 |
---
## 8. 官方 SampleCode 建議使用方式
| 目標 | 範例 |
|----|----|
| 驗證連線 | VB/TaskStart |
| 線性運動 | C++/LINmotion |
| 圓弧路徑 | C++/CIRCmotion |
---
## 9. 開發最佳實務建議(RA605-GB)
- 運動前一定確認 Servo 狀態
- 所有 LIN 動作前先做 PTP 定位
- 視覺抓取建議「Z 軸分段」
- Tool / Base 固定後避免程式硬改
---
## 10. 建議延伸文件(下一步)
- HRSDK × 示教器指令對照表
- RA605-GB 安全運動高度設計指南
- 視覺抓取座標轉換數學模型
- C# 完整 Pick & Place 範例專案
---
**文件版本**:v1.0
**製作用途**:教學 / 專案開發 / 產線導入