# 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**