본문 바로가기
산업용 로봇 기초/소프트웨어

컨베이어 동기화 (valTrack)

by Nobot 2022. 5. 28.

대부분의 로봇 메이커는 컨베이어 동기화를 위한 솔루션을 제공합니다.

스토브리 로봇의 솔루션은 "valTrack" 입니다.

 

일반적인 컨베이어 동기화에 대해 설명드리겠습니다.

 

준비물은 다음과 같습니다.

  • 로봇
  • 컨트롤러
  • 엔코더
  • 컨베이어
  • 센서 또는 2D Vision
  • valTrack ( = 컨베이어 동기화 솔루션 )

 

  1. 컨베이어는 로봇의 작업 반경 내에 위치해야합니다.
  2. 로봇에게 컨베이어가 설치된 위치와 흐르는 방향을 인지시킵니다. 그리고 작업 영역을 결정합니다.
    1. 현재 엔코더 값을 저장합니다. (이 값을 Encoder0 라고 하겠습니다.)
    2. 이 때, 작업 시작 구간을 결정하는 P0 및 P1을 로봇으로 티칭합니다.
      P1 은 다시 사용해야하는 위치이므로 별도의 표시를 해야합니다.
    3. 컨베이어를 정방향으로 동작시켜서 P1 이 로봇의 작업 영역을 벗어나지 않도록하는 위치까지 움직입니다.
      그리고 컨베이어를 정지 시킵니다.
    4. 다시 현재 엔코더 값을 저장합니다. (이 값은 Encoder1 입니다.)
    5. 이동된 P1 을 새로운 변수 P2 에 티칭합니다. 그리고 작업 종료 구간을 결정하는 P3 를 티칭합니다.
    6. P0 - P3 그리고 Encoder0 과 Encoder1 을 통해 다음을 계산할 수 있습니다.
      1. (P1 으로부터 P2 까지의 직선거리) / (Encoder1 - Encoder0) 는 엔코더 1 펄스당 컨베이어의 이동 거리입니다.
        이를 Scale factor 라고 합니다.
      2. P0 - P1 은 작업 시작 구간을 정의합니다.
      3. P2 - P3 는 작업 종료 구간을 정의합니다.
      4. P1 - P2 는 컨베이어의 진행 방향, 즉 +X 축을 정의합니다. 이 때, P1 은 컨베이어 좌표계의 원점(O)이 됩니다.
        그리고 P0 를 통해 컨베이어의 +Y축이 결정됩니다. 즉 O, X, Y 를  통해 컨베이어 좌표계가 완성됩니다.
    7. 최종적으로 로봇은 엔코더를 통해 컨베이어의 흐름량, 흐르는 방향, 기울어진 정도, 작업 시작 및 종료 구간을 알 수 있습니다
  3. 센서의 경우
    1. 티칭하려는 제품을 컨베이어에 위치시킵니다.
    2. 제품은 센서에 감지되기 전의 위치에 있어야합니다.
    3. 컨베이어를 동작시키기에 앞서, 현재 엔코더 값을 저장합니다. (이 값을 Encoder0 라고 하겠습니다.)
    4. 그리고 제품을 흘려서 작업 영역 내에 위치시킵니다. 그리고 원하는 위치를 티칭합니다.
    5. 이 때, 다음과 같은 계산이 이루어집니다.
      1. 제품이 센서를 통과하는 순간 로봇은 엔코더 값을 저장합니다. (이 값을 Encoder1 라고 하겠습니다.)
        (Rising edge 의 경우입니다. Falling edge도 가능합니다.)
      2. 제품이 작업 영역 내에 위치하고 로봇은 P0에 티칭을 합니다.
      3. 그리고 이 때의 엔코더 값을 저장합니다. (이 값을 Encoder2 라고 하겠습니다.)
      4. 로봇은 Scale factor를 통해 Encoder2에서 Encoder1 까지의 거리, Encoder1에서 Encoder0 까지의 거리를 역으로 추적할 수 있습니다.
      5. 다시 말하면 P0 를 -X 방향(컨베이어의 역방향)으로 Encoder0에서 Encoder2까지 거리만큼을 흘러왔음을 계산할 수 있습니다. 그리고 Encoder2에서 Encoder1 까지의 거리를 통해 센서의 위치를 정의하게 됩니다.
      6. 이를 통해 로봇은 제품이 센서에 감지되는 순간부터 계속해서 위치를 추적할 수 있습니다. 
      7. 단, 센서는 1차원적인 정보 ON/OFF 신호를 생성하므로 Y 방향으로 변화를 알 수 없습니다.
        따라서 센서를 사용한 컨베이어 동기화는 센터링 장비 등을 사용하여 제품의 공급이 Y 방향으로 균일하게 해야 합니다.
  4. 비전의 경우 (예시 : 코그넥스)
    1. 현재 엔코더 값을 저장합니다. (이 값을 Encoder0 라고 하겠습니다.) 
    2. 비전 FOV 내에 모눈종이를 두고 캘리브레이션을 진행합니다.
    3. 이 때, 비전의 O, X, Y를 반드시 기억합니다.
    4. 캘리브레이션을 마친 후, 컨베이어를 작동시켜서 O, X, Y가 로봇 작업 영역 내에 위치하도록 합니다.
    5. 다시 현재 엔코더 값을 저장합니다. (이 값을 Encoder1 라고 하겠습니다.) 
    6. 로봇은 모눈종이에서 비전이 선택한 O 를 티칭하고, X 및 Y 방향으로는 가장 먼 지점을 티칭합니다.
      (가장 먼 지점을 티칭하는것은 좌표계의 정확도를 높이는 작업입니다.)
    7. 이 때, 다음과 같은 계산이 이루어집니다.
      1. O, X, Y 티칭을 통해 로봇은 Vision 좌표계를 방향을 알 수 있습니다.
      2. Encoder1 과 Encoder0 를 Scale factor 통해 거리를 계산합니다.
      3. 앞서 티칭한 좌표계를 -X 방향으로 2. 에서 계산한 거리만큼 이동하여 Vision 좌표계와 동일한 좌표계를 정의합니다.
    8. 2D Vision 은 센서와는 다르게 XY 평면에서 제품의 위치와, 회전 값을 전달할 수 있습니다.

위의 작업을 마치면 로봇은 즉시 컨베이어 동기화가 가능한 상태가 됩니다.

 

이러한 컨베이어 동기화에는 다음과 같은 특징이 있습니다.

  1. Vision 을 사용한다면 7개의 포인트, 센서를 사용한다면 5개의 포인트 티칭으로 컨베이어 동기화의 셋업이 완료됩니다. 
  2. 언제든지 컨베이어의 속도를 언제든지 변경할 수 있습니다.
    Scale factor를 기반으로 연산하므로 컨베이어의 속도를 변경하여도 별도의 조정이 필요하지 않습니다.
  3. 그리고 작업 중의 속도 변화에 빠른 대응이 자동으로 가능합니다. 이는 별도의 작업이 요구되지 않습니다.
  4. 컨베이어 동기화 과정에서 발생하는 오차는 0.1 mm 이내까지 줄일 수 있습니다.
  5. 다수를 로봇을 사용하는 경우, 첫 번째 로봇에만 Vision 또는 센서를 장착하여 물류 상황을 뒤의 로봇에 전달 할 수 있습니다.
    이는 컨베이어 상의 모든 제품을 작업할 수 있게하며, 추가적인 장치 설치가 불필요하므로 예산을 절약할 수 있습니다.
  6. 컨베이어 동기화에 사용되는 컨베이어는 어느 방향으로 기울어지거나, 원형으로 제작되어도 동기화를 할 수 있습니다.

다음은 2022년 Automation World 전시회 영상입니다.

 

https://www.youtube.com/watch?v=2-8xOGHtPus 

컨베이어 동기화 예시 / 흐름 체결

 

https://youtu.be/QT91XpdGW9Y

컨베이어 동기화 / 흐름 체결
펜던트 HMI / Tracking Queue & Robot Position

 

이상으로 컨베이어 동기화에 대한 글을 마치도록 하겠습니다. 

'산업용 로봇 기초 > 소프트웨어' 카테고리의 다른 글

2D 도면 읽기 (DXF)  (0) 2022.06.01
로봇 속도 제어 / Velocity Addon  (0) 2022.06.01