# 카메라 중심의 피킹 시나리오 예

[워크스페이스](../connector/workspace.md)는 협동로봇를 기반으로 하는 여러 커넥터의 집합을 의미하며 일반적으로 협동로봇, 카메라, 오브젝트를 기반으로 동작하도록 고안되어 있다.
워크스페이스 내에 구성된 협동로봇, 카메라, 오브젝트는 개별적으로 태스크를 가지고 있으며 이러한 시나리오 상에서 조합해서 오브젝트 피킹 등의 작업을 수행할 수 있다.

## 특정 카메라 내에 존재하는 오브젝트를 피킹하는 예

### 주요 태스크

- trackable-workspace

  - [tracking-ws-get-roi-state](../task/tracking-workspace-get-roi-state.md): 파라미터로서 연결된 connector 중에 하나를 입력함으로서 특정 카메라 영역에 marked-object의 출현 여부를 확인합니다.

- indydcp-connector

  - [indydcp-move-to-pick](../../integration-indydcp/task/indydcp-move-to-pick.md): 'tracking-ws-get-roi-state' 태스크에서 반환된 위치 값을 접근자로 받습니다. tracking-ws-get-roi-state 태스크는 오브젝트가 한개 이상일 수 있기 때문에 리스트 형태로 반환하므로 하나의 오브젝트를 피킹하기 위해서 'GETROISTATE[0].pose'와 같이 접근자를 입력해야 함에 유의합니다.
  - [indydcp-move-by-pose](../../integration-indydcp/task/indydcp-move-by-pose.md): 'indydcp-move-to-pick'와 'indydcp-do' 등의 태스크를 통해서 로봇이 object를 Picking하면 'indydcp-move-by-pose' 태스크를 통해서 물체를 들어올리는 작업을 수행합니다.
  - [indydcp-move-to-pose](../../integration-indydcp/task/indydcp-move-to-pose.md): 물체를 집어든 로봇을 특정 방향으로 이동하기 위해서 사용합니다.

### 시나리오 구성 예

- 특정 카메라 내에 오브젝트가 한 개 이상 존재할 경우 해당 물체를 피킹하기 위해 로봇이 이동합니다.

![tracking-ws-get-roi-state example](../images/tracking-ws-get-roi-state-example.png 'tracking-ws-get-roi-state example')
