대부분의 로봇 메이커는 컨베이어 동기화를 위한 솔루션을 제공합니다.
스토브리 로봇의 솔루션은 "valTrack" 입니다.
일반적인 컨베이어 동기화에 대해 설명드리겠습니다.
준비물은 다음과 같습니다.
- 로봇
- 컨트롤러
- 엔코더
- 컨베이어
- 센서 또는 2D Vision
- valTrack ( = 컨베이어 동기화 솔루션 )

- 컨베이어는 로봇의 작업 반경 내에 위치해야합니다.
- 로봇에게 컨베이어가 설치된 위치와 흐르는 방향을 인지시킵니다. 그리고 작업 영역을 결정합니다.
- 현재 엔코더 값을 저장합니다. (이 값을 Encoder0 라고 하겠습니다.)
- 이 때, 작업 시작 구간을 결정하는 P0 및 P1을 로봇으로 티칭합니다.
P1 은 다시 사용해야하는 위치이므로 별도의 표시를 해야합니다. - 컨베이어를 정방향으로 동작시켜서 P1 이 로봇의 작업 영역을 벗어나지 않도록하는 위치까지 움직입니다.
그리고 컨베이어를 정지 시킵니다. - 다시 현재 엔코더 값을 저장합니다. (이 값은 Encoder1 입니다.)
- 이동된 P1 을 새로운 변수 P2 에 티칭합니다. 그리고 작업 종료 구간을 결정하는 P3 를 티칭합니다.
- P0 - P3 그리고 Encoder0 과 Encoder1 을 통해 다음을 계산할 수 있습니다.
- (P1 으로부터 P2 까지의 직선거리) / (Encoder1 - Encoder0) 는 엔코더 1 펄스당 컨베이어의 이동 거리입니다.
이를 Scale factor 라고 합니다. - P0 - P1 은 작업 시작 구간을 정의합니다.
- P2 - P3 는 작업 종료 구간을 정의합니다.
- P1 - P2 는 컨베이어의 진행 방향, 즉 +X 축을 정의합니다. 이 때, P1 은 컨베이어 좌표계의 원점(O)이 됩니다.
그리고 P0 를 통해 컨베이어의 +Y축이 결정됩니다. 즉 O, X, Y 를 통해 컨베이어 좌표계가 완성됩니다.
- (P1 으로부터 P2 까지의 직선거리) / (Encoder1 - Encoder0) 는 엔코더 1 펄스당 컨베이어의 이동 거리입니다.
- 최종적으로 로봇은 엔코더를 통해 컨베이어의 흐름량, 흐르는 방향, 기울어진 정도, 작업 시작 및 종료 구간을 알 수 있습니다
- 센서의 경우
- 티칭하려는 제품을 컨베이어에 위치시킵니다.
- 제품은 센서에 감지되기 전의 위치에 있어야합니다.
- 컨베이어를 동작시키기에 앞서, 현재 엔코더 값을 저장합니다. (이 값을 Encoder0 라고 하겠습니다.)
- 그리고 제품을 흘려서 작업 영역 내에 위치시킵니다. 그리고 원하는 위치를 티칭합니다.
- 이 때, 다음과 같은 계산이 이루어집니다.
- 제품이 센서를 통과하는 순간 로봇은 엔코더 값을 저장합니다. (이 값을 Encoder1 라고 하겠습니다.)
(Rising edge 의 경우입니다. Falling edge도 가능합니다.) - 제품이 작업 영역 내에 위치하고 로봇은 P0에 티칭을 합니다.
- 그리고 이 때의 엔코더 값을 저장합니다. (이 값을 Encoder2 라고 하겠습니다.)
- 로봇은 Scale factor를 통해 Encoder2에서 Encoder1 까지의 거리, Encoder1에서 Encoder0 까지의 거리를 역으로 추적할 수 있습니다.
- 다시 말하면 P0 를 -X 방향(컨베이어의 역방향)으로 Encoder0에서 Encoder2까지 거리만큼을 흘러왔음을 계산할 수 있습니다. 그리고 Encoder2에서 Encoder1 까지의 거리를 통해 센서의 위치를 정의하게 됩니다.
- 이를 통해 로봇은 제품이 센서에 감지되는 순간부터 계속해서 위치를 추적할 수 있습니다.
- 단, 센서는 1차원적인 정보 ON/OFF 신호를 생성하므로 Y 방향으로 변화를 알 수 없습니다.
따라서 센서를 사용한 컨베이어 동기화는 센터링 장비 등을 사용하여 제품의 공급이 Y 방향으로 균일하게 해야 합니다.
- 제품이 센서를 통과하는 순간 로봇은 엔코더 값을 저장합니다. (이 값을 Encoder1 라고 하겠습니다.)
- 비전의 경우 (예시 : 코그넥스)
- 현재 엔코더 값을 저장합니다. (이 값을 Encoder0 라고 하겠습니다.)
- 비전 FOV 내에 모눈종이를 두고 캘리브레이션을 진행합니다.
- 이 때, 비전의 O, X, Y를 반드시 기억합니다.
- 캘리브레이션을 마친 후, 컨베이어를 작동시켜서 O, X, Y가 로봇 작업 영역 내에 위치하도록 합니다.
- 다시 현재 엔코더 값을 저장합니다. (이 값을 Encoder1 라고 하겠습니다.)
- 로봇은 모눈종이에서 비전이 선택한 O 를 티칭하고, X 및 Y 방향으로는 가장 먼 지점을 티칭합니다.
(가장 먼 지점을 티칭하는것은 좌표계의 정확도를 높이는 작업입니다.) - 이 때, 다음과 같은 계산이 이루어집니다.
- O, X, Y 티칭을 통해 로봇은 Vision 좌표계를 방향을 알 수 있습니다.
- Encoder1 과 Encoder0 를 Scale factor 통해 거리를 계산합니다.
- 앞서 티칭한 좌표계를 -X 방향으로 2. 에서 계산한 거리만큼 이동하여 Vision 좌표계와 동일한 좌표계를 정의합니다.
- 2D Vision 은 센서와는 다르게 XY 평면에서 제품의 위치와, 회전 값을 전달할 수 있습니다.
위의 작업을 마치면 로봇은 즉시 컨베이어 동기화가 가능한 상태가 됩니다.
이러한 컨베이어 동기화에는 다음과 같은 특징이 있습니다.
- Vision 을 사용한다면 7개의 포인트, 센서를 사용한다면 5개의 포인트 티칭으로 컨베이어 동기화의 셋업이 완료됩니다.
- 언제든지 컨베이어의 속도를 언제든지 변경할 수 있습니다.
Scale factor를 기반으로 연산하므로 컨베이어의 속도를 변경하여도 별도의 조정이 필요하지 않습니다. - 그리고 작업 중의 속도 변화에 빠른 대응이 자동으로 가능합니다. 이는 별도의 작업이 요구되지 않습니다.
- 컨베이어 동기화 과정에서 발생하는 오차는 0.1 mm 이내까지 줄일 수 있습니다.
- 다수를 로봇을 사용하는 경우, 첫 번째 로봇에만 Vision 또는 센서를 장착하여 물류 상황을 뒤의 로봇에 전달 할 수 있습니다.
이는 컨베이어 상의 모든 제품을 작업할 수 있게하며, 추가적인 장치 설치가 불필요하므로 예산을 절약할 수 있습니다. - 컨베이어 동기화에 사용되는 컨베이어는 어느 방향으로 기울어지거나, 원형으로 제작되어도 동기화를 할 수 있습니다.
다음은 2022년 Automation World 전시회 영상입니다.
https://www.youtube.com/watch?v=2-8xOGHtPus
이상으로 컨베이어 동기화에 대한 글을 마치도록 하겠습니다.
'산업용 로봇 기초 > 소프트웨어' 카테고리의 다른 글
2D 도면 읽기 (DXF) (0) | 2022.06.01 |
---|---|
로봇 속도 제어 / Velocity Addon (0) | 2022.06.01 |
댓글