---
# System prepended metadata

title: End User Interface Document(UR Robot)
tags: [node, interface, gipick_mgr, robot]

---

# End User Interface Document(UR Robot)

###### tags: `gipick_mgr`,`interface`, `node`, `robot`

###### verison: `3.9.0`

## Description 

IsReady ->FindObject ->FindPath ->GetModelName ->GetModelIndex -> RunPathF -> RunPathB

> [color=#cfe04e] 目前 isready 已經沒有用， setstartstate 放在 ObjectFound 中

---

### Command: IS_READY

詢問 gipick 主程式狀態是不是正常可以運作了, 例如：與 camera 的連線是否正常

#### Input
有兩種方式可以呼叫
1. URcaps 呼叫 GipickGeneralCmd 並選擇 IsReady (無回傳值)
2. if Function 中呼叫 function IsReady (有回傳值)

#### Output
<table>
    <tr><th>型態</th><th>變數名</th><th>描述</th></tr>
    <tr><td> boolean </td><td>return_code</td><td>True = 正常, False = 錯誤</td></tr>
</table>

:::info
Remark: 
目前不一定要使用
:::

### Command: SetStartState()

告知 gipick 主程式 手臂當前位置狀態，並將其設定為路徑起始點

#### Input
1. URcaps 呼叫 GipickGeneralCmd 並選擇 SetStartState (無回傳值)
2. if Function 中呼叫 function SetStartState (有回傳值)
<table>
    <tr><th>型態</th><th>變數名</th><th>描述</th></tr>
    <tr><td>float</td><td>J1</td><td>輸入軸一的數值</td></tr>
    <tr><td>float</td><td>J2</td><td>輸入軸二的數值</td></tr>
    <tr><td>float</td><td>J3</td><td>輸入軸三的數值</td></tr>
    <tr><td>float</td><td>J4</td><td>輸入軸四的數值</td></tr>
    <tr><td>float</td><td>J5</td><td>輸入軸五的數值</td></tr>
    <tr><td>float</td><td>J6</td><td>輸入軸六的數值</td></tr>
</table>

#### Output

<table>
    <tr><th>型態</th><th>變數名</th><th>描述</th></tr>
    <tr><td> boolean </td><td>return_code</td><td>True = 正常, False = 錯誤</td></tr>
</table>

### example
```c 
// if joint is J1 = -18.36 J2 = -109.39 J3 = 111.29 J4 = -91.60 J5 = -90.13 J6 = -22.17 
if SetStartState(-18.36, -109.39, 111.29, -91.60, -90.13, -22.17)
```

### Command: FindObject()

#### Input
1. URcaps 呼叫 GipickGeneralCmd 並選擇 FindObject (無回傳值)
2. if Function 中呼叫 function FindObject (有回傳值)

#### Output
<table>
    <tr><th>型態</th><th>變數名</th><th>描述</th></tr>
    <tr><td> boolean </td><td>return_code</td><td>True = 正常, False = 錯誤</td></tr>
</table>


### Command: ObjectFound()

#### Input
1. URcaps 呼叫 GipickGeneralCmd 並選擇 ObjectFound (無回傳值)
2. if Function 中呼叫 function ObjectFound (有回傳值)

#### Output
<table>
    <tr><th>型態</th><th>變數名</th><th>描述</th></tr>
    <tr><td> boolean </td><td>return_code</td><td>True = 正常, False = 錯誤</td></tr>
</table>

### Command: GetModelName()

#### Input
1. URcaps 呼叫 GipickGeneralCmd 並選擇 GetModelName (無回傳值)
2. if Function 中呼叫 function GetModelName (有回傳值)

#### Output
<table>
    <tr><th>型態</th><th>變數名</th><th>描述</th></tr>
    <tr><td> String </td><td>model_name</td><td>回傳的是對位到的模型名稱</td></tr>
</table>


### example
```c 
// if model name is "FlangeFull02_half" 
if GetModelName = "FlangeFull02_half" 
```

### Command: GetModelIndex()

#### Input
1. URcaps 呼叫 GipickGeneralCmd 並選擇 GetModelIndex (無回傳值)
2. if Function 中呼叫 function GetModelIndex (有回傳值)

#### Output
<table>
    <tr><th>型態</th><th>變數名</th><th>描述</th></tr>
    <tr><td> String </td><td>model_index</td><td>回傳的是模型的索引數值</td></tr>
</table>
 

### Command: RunPathF()

#### Input
1. URcaps 呼叫 GipickGeneralCmd 並選擇 RunPathF (無回傳值)
2. if Function 中呼叫 function RunPathF (有回傳值)
<table>
    <tr><th>型態</th><th>變數名</th><th>描述</th></tr>
    <tr><td> float </td><td>Acceleration</td><td>手臂移動的加速度(m/s^2) </td></tr>
    <tr><td> float </td><td>speed</td><td>手臂移動的數度(m/s)</td></tr>
    <tr><td> float </td><td>percent</td><td>點與點之間的百分比</td></tr>
</table>

#### Output
**None**

### Command: RunPathB()

#### Input
1. URcaps 呼叫 GipickGeneralCmd 並選擇 RunPathB (無回傳值)
2. if Function 中呼叫 function RunPathB (有回傳值)

<table>
    <tr><th>型態</th><th>變數名</th><th>描述</th></tr>
    <tr><td> float </td><td>Acceleration</td><td>手臂移動的加速度(m/s^2) </td></tr>
    <tr><td> float </td><td>speed</td><td>手臂移動的數度(m/s)</td></tr>
    <tr><td> float </td><td>percent</td><td>點與點之間的百分比</td></tr>
</table>

#### Output
**None**

