Bin Picking 애플리케이션에 적합한 3D 비전 시스템
Photoneo
최근 몇 년 동안 많은 비전 시스템 공급업체가 3D 스캐너와 카메라를 자사 제품 포트폴리오에 도입했다. 시스템 통합업체는 이러한 유형의 센서에 대한 수요를 높이기 위해 가장 자연스럽고 효율적인 하드웨어 통합을 꾸준히 추구해 왔다.
계측과 품질 관리와 궤도 보정 외에도, bin picking 애플리케이션은 가장 흔하고 획기적인 것이다. 로봇 팔이 컨테이너에서 임의로 배치된 물체를 골라내는 것은 다소 쉬워 보이지만, 막상 구현하면 큰 어려움을 겪게 된다.
이 기사는 실제 구현에서 경험한 과제 혹은 문제를 해결하기 위해 Photoneo가 개발한 하드웨어와 소프트웨어의 기능을 낱낱이 적었다. 여기선 정적 환경의 애플리케이션만 고려한다. 언급된 모든 경험은 유압 구성 요소 생산업체에서 bin picking 해결책을 제공하는 동안 모은 것이다. 계약된 사이클 시간이 7초로 설정됐으며, PhoXi® 3D 스캐너 하나와 ABB 로봇 하나만으로 만족할 만큼 충족됐다. 7초 사이클 시간은 부품 10,000개가 적재된 큰 스캐닝 볼륨에서 작은 금속 물체를 집어내고 방향을 잡아서 놓는다. 반입되는 빈 크기에 대해 부품 크기의 면적 비율은 약 1 : 900이다.
비전 시스템 선택
각 bin picking 애플리케이션의 주요 문제는 3D 비전 시스템의 품질과 그것이 생성하는 점 구름(point cloud) 관련 품질이다. 일부 시스템 구현은 여전히 2D 비전 시스템으로 작업할 수 있다고 말하는 것이 타당하다. 이 애플리케이션은 보통 진동 공급기와 같은 기계 시스템과 결합되며, 2D 카메라로 인식할 수 있는 매우 특정한 포즈로 객체를 분리하는 데 쓰인다.
특정 방향은 주기적인 흔들림의 결과로써 각 절차를 무작위로 반복한 뒤에 지향 포즈가 발생한다. 이 접근 방식으로 부품 수가 줄어듦에 따라 사이클 시간이 길어지므로, 컨테이너를 완전히 비우는 것은 문제가 있다. 게다가 이러한 해결책은 더 많은 공간을 소비하는데, 이는 고객이 불평하는 문제이며 결국 2D를 선호하지 않는 까닭이다. 피더(feeder)와 2D 카메라에 대한 전체 투자가 3D 스캐너의 비용과 비교된다는 사실도 고려해야 한다.
3D 비전 시스템 애플리케이션에서 점 구름의 품질은 항상 여러 스캐너 매개변수 사이에서 절충된다. 성공적인 3D 시스템의 사례는 모든 범위의 애플리케이션을 단일 장치로 처리하는 것이 다소 복잡하다는 것을 입증했다.
각 적용 범위의 3D 스캐너 하드웨어 장비는 매우 유사할 수 있는 반면, 종종 볼륨을 스캔해 애플리케이션을 분류하는 것을 볼 수 있다. 시장에 자리 잡은 대부분의 판매업체는 구조형 광 원리(structured light principle)에 따라 그들의 시스템을 구축했고 패턴을 방출했다(emitting the patterns). 대부분의 스캐닝 장치는 더 작은 스캐닝 볼륨을 가진 애플리케이션을 처리할 수 있다.
그러나 그들은 유로 팔레트(euro pallet) 크기의 볼륨이나 그보다 훨씬 큰 크기에서 문제가 있다(대부분 필드 제한의 깊이 때문). 일반적으로 점 구름의 밀도가 낮고 노이즈 레벨이 높아 절대 정확도가 떨어지기 때문에 넓어진 볼륨에서 bin picking은 어려운 문제이다. 따라서 PhoXi® 3D 스캐너 XL의 품질과 DOF(피사계 심도)는, 큰 스캐닝 볼륨을 처리할 비례적으로 작은 크기의 객체와 결합할 때 중요하다. 더 큰 스캐닝 볼륨은 점 구름 품질을 확보하기 위해 강한 광원 또는, 대안으로 더 긴 노출 시간이 필요하다.
- 구현
유압 부품 생산업체가 필요로 하는 구현을 위해 Photoneo® PhoXi® 3D 스캐너 XL이 선택됐다. 장치는 2,400x1,800x2,200 mm의 스캐닝 볼륨을 제공할 수 있다. 이미지는 3.2 메가픽셀 센서로 캡처되며 평균 획득 시간은 약 800 ms이다. 또 다른 독특한 특징은 열팽창을 최소화해서 경량(최대 1.2 kg)이지만 내구성이 강한 탄소체이다.
Bin picking 애플리케이션에 적합한 객체 선택하기
bin picking 해결책의 구현을 결정하기 전에 고려할 사항은 개별적으로 선택해야 할 부품이다.
첫째, 현재로서 반사도가 높고 투명한 객체는 소재 측면에서 보면 적용 범위 밖에 있다. 객체의 재료는 3D 스캔의 품질과 사용 적합성, 로컬리제이션(localization), 컨테이너한테서 객체 추출하기, 방향 설정을 위한 공정에 결정적이다. 둘째, 부품으로 가득 찬 bin에서 모든 객체는 로봇 팔과 충돌할 수 있는 근원이 된다. 두 개 이상의 부품이 함께 엉켜 있는 경우 로봇 셀의 본체 또는 부속품과 충돌할 수도 있다. 셋째, 중력장에 따른 물체의 변형도 로컬리제이션과 방향설정 면에서 어렵다. 마지막으로 중요한 것은, 통합업체도 부품의 모양을 생각해 볼 필요가 있다는 점이다. 매우 비대칭인 부품은 같은 부품에 걸려 로봇 팔을 과부하 시킬 수 있다.
- 구현
구현을 위해 선택한 객체는 다음 CAD 모델에 설명됐다. 고객은 7초 주기로 99%의 bin 하역률을 요청했다. Photoneo에서 타당성을 조사하는 동안 부품이 서로 엉키는 확률은 매우 낮다.
그러나 반짝이는 금속부품이 있을 수 있었으므로 상호 반사 문제에 대처했다. 어떤 포즈에서든 객체를 추출하기 위한 조건은 그리퍼 디자인에 큰 어려움이 됐다. 그리퍼 디자인의 문제는 여기에서 다뤄진다.
사이클 시간
산업 공정 구현의 경우 사이클 시간은 성공의 주요 척도 중 하나이다. 간단히 말하면 사이클 시간은 스캐닝, 위치 파악 알고리즘, 로봇 경로 계획과 로봇 팔 작동에 필요한 시간으로 구성된다. 현장 경험을 바탕으로 3D 스캐닝에 쓸 수 있는 시간을 줄이려하는 것을 피해야 한다. 이미지 캡처 절차에 시간이 오래 걸리면 시스템은 밀도가 높고 잡음이 적으며, 정확도가 높은 점 구름을 출력할 수 있다. 이것은 다시, 로컬리제이션 알고리즘이 더 짧은 시간 안에 성공적으로 객체를 식별할 수 있게 해준다.
한 번의 스캔은 일반적으로 하나 이상의 시스템 사이클에 대해 충분한 개체를 캡처한다는 점이 중요하다. 로컬리제이션 알고리즘은 배경에서 비동기적으로 새로운 객체를 계속 검색할 수 있다. 스캔 볼륨 범위에 따라 가장 높은 수준의 스캐너에 대한 노출 시간은 300 ~ 800 ms이다. 1초 가까이 스캔해도 사이클 시간이 2초 미만인 애플리케이션은 여전히 제한되지 않는다. 이 스캐닝 시간과 비동기적 로컬리제이션을 실행하거나 여러 로봇과 스캐너를 병렬 배치해서 꽤 낮은 사이클 시간을 달성할 수 있다.
- 구현
이 구현을 위해 선택한 PhoXi® 3D 스캐너는 800 ms 수준에서 시작한 노출 시간과 함께 작동한다. 로컬리제이션은 비동기적으로 진행됐으며 유압 구성 요소 제작자를 위해 애플리케이션에 추가 스캐너나 로봇이 필요하지 않았다. 요구 사이클 시간은 7초 수준이며10,000개의 부품이 로드된 큰 스캐닝 볼륨에서도 스캐너와 로봇 한 대만으로 달성됐다.
성공을 보장하는 비전 시스템의 고유한 기능 중 하나는 스마트 메모리(Smart Memory)이다. 로봇 팔이 부품을 집기 위해 기울어져 있는 동안에도, 스캐너는 여전히 비동기적으로 감지돼 뽑을 부품 주위의 공간에 대한 인식을 메모리에 저장한다. 팔이 부품을 원하는 위치에 놓는 동안 스캐너는 다른 경로 계획을 위한 신호를 보낸다.
이전에 한 선택 때문에 부품이 약간 움직이면서 실제 배치가 스캐너의 메모리 추적에 맞지 않는 경우 이상하게 느낄 수 있다. 이때 Photoneo의 대답은 비전 시스템에 특수 해결책을 구현했다는 것이며, 객체의 위치 변화를 빨리 분석하고 움직이지 않는 부분에 집중할 수 있다는 것이다. 따라서 PhoXI® 3D 스캐너 스마트 메모리의 이면에 있는 논리는 사람의 기억처럼 연속으로 작동하는 반면, 공정 동안 주어진 시간에 수행되는 일부 동작은 앞날의 여러 단계를 프로그래밍할 수 있다.
객체 로컬리제이션
객체 로컬리제이션은 모든 bin picking 해결책에서 중요한 부분이다. 로컬리제이션 알고리즘의 정밀도는 속력과 방향에 따라 결정돼야 한다.
매우 정밀하게 배치해야 하는 구현은 부품의 CAD 모델을 활용하도록 설계된다. 특정 모양이 변형된 객체가 있는 애플리케이션의 경우 CAD 모델이 고려해야 할 첫 번째 옵션은 아니다.
- 구현
이 경우에는 CAD 모델을 이용한 접근 방식이 선택됐다. 처음에는 CAD 모델을 분석하고 지능형 객체 표현 노릇을 하는 광대한 연결 지형의 네트워크를 추출했다. 애플리케이션의 경우 이러한 기능을 백만 가지 이상 써서 파트를 매핑해 부품의 수학적 모델을 만들었다. 그렇게 함으로 수학적으로 유사한 객체를 비교하고 위치화 시간을 단축할 수 있었다.
알고리즘은 여러 개의 잠재적 객체 발생을 찾기 위해 장면을 미리 스캔한다. 두 번째 실행에서는 장면의 일부분을 모델과 비슷하다고 말할 수 있을 뿐만 아니라, 부품의 대략적인 위치와 방향(스마트 메모리)을 계산할 수 있는 기억된 수학적 모델과 비교한다. 부품의 미세 정렬은 지향적인 배치를 위해 필요하지만, Photoneo는 여러 방법을 써서 파트의 위치를 미세 조정할 수 있다. 로컬리제이션은 수천 개의 입력을 처리하는 동시에 속도와 정확성 사이의 적절한 균형을 선택해야 한다. 정확도가 높으면 세밀한 파악을 더 간단히 하고, 현지화가 빨라지면 더 많은 후보를 고를 수 있다.
공구 - 그리퍼 설계
모든 객체 추출 절차에서 로봇 툴 포인트(robot tool point)는 효율적이어야 한다. 가능한 한 많은 애플리케이션에 맞게 설계된 다양한 그리퍼가 있다. 대부분의 금속 부품 추출에서 위치 지정 정밀도는 활성 자석이 있는 그리퍼의 단순한 힘으로 보완할 수 있다.
이러한 애플리케이션은 상당히 견고하지만 로컬리제이션 정밀도는 제한된다. 마찬가지로 진공 그리퍼는 표면이 매끄럽지만 정기적인 유지보수가 필요한 물체를 위한 애플리케이션에서 보편적이다.
bin picking 애플리케이션의 원하는 정밀도를 확보하기 위해 그리퍼에는 애플리케이션별 설계가 있어야 한다. 유지보수 비용이 절감되고 필요한 서비스 시간이 줄어들기 때문에 맞춤형 그리퍼 설계에 대한 투자는 보통 성과를 거둔다.
- 구현
고객을 위한 구현에서 모든 위치에 대해 객체를 파악하는 방법을 찾았다. 선택할 부품이 더 작은 개구부를 위로 향하게 배치했을 때, 작은 구멍의 안쪽에서 작은 두 핑거 그리퍼가 쓰였다. 객체가 위쪽으로 더 크게 열린 상태에서 방향을 잡았을 때에는, 더 큰 구멍 안쪽에서 더 큰 두 손가락 도구가 쓰였다. 그리고 수평 위치에 놓여있는 동안 물체를 잡기 위해 진공 그리퍼가 쓰였다.
Photoneo Bin Picking 해결책은 공구의 불변성을 정의하는 옵션을 제공한다. 사용된 진공 그리퍼는 z축의 불변 때문에 구체적이다. 실제 적용에서 물체와 접촉할 때 진공 컵을 사용한 툴 포인트의 실제 회전이 문제 되지 않는다. 불변의 샘플링 속도는 15도 정도로 설정됐다. 그런 다음 알고리즘은 객체와 관련된 툴 포인트에 맞는 자세를 자동으로 계산한다.
불변 단계는 역 기구학 계산 시간에 대해 설정됐다. 불변 단계의 일정 수준에서는 계산이 진행되는 동안 적절한 포즈의 확률은 증가하지 않는다. 마지막으로, 충돌을 피하고 도달 범위를 넓히는 데 도움이 되는 각도로 그리퍼를 장착하기로 결정했다는 것이 중요하다. 작은 디자인 변화는 빈의 모서리에서 추출하는 것을 크게 향상했다. 그림과 같이 그리퍼의 구부러짐과 연장된 길이 또한 로봇 팔 자체의 도달 거리가 1.45 m에 불과했기 때문에 빈의 맨 아래까지 다다르는 데 도움이 됐다.
로봇의 경로 계획 구현
다음 선택에 적합한 객체와 적절한 그리퍼를 선택한 뒤 로봇 팔의 실제 궤적이 마지막 문제로 나타난다. Photoneo 엔지니어들은 이용할 수 있는 오픈 소스 경로 계획자 중 하나를 쓰기로 결정했다. Photoneo의 Bin Picking 해결책은 ROS(Robot Operating System)와 모션 계획자 중 하나를 이용한다. 이 경우, 실험 결과는 팀을 STOMP(Stochastic Trajectory Optimization for Motion Planning, 모션 계획을 위한 확률 적 궤도 최적화)로 이끌었다.
STOMP는 충돌 회피 기능을 제공하며 로봇 이동에 필요한 에너지를 고려해 로봇의 모터 마모를 줄일 수 있다. 구성의 가장 중요한 부분은 로봇 셀, 빈, 스캐너 따위와 같은 잠재적 충돌 객체의 전체 목록이었다.
결론
Photoneo의 Bin Picking 애플리케이션은 모든 주요 산업용 로봇 브랜드인 ABB, Kuka, Fanuc, Mitsubishi Electric, Omron, Stäubli, Universal Robots, Yaskawa에서 잘 작동한다. 위에서 설명한 설치를 위해 고객은 운반 용량이 10 kg이고 도달 거리가 1.45 m인 ABB 모델 IRB 1600을 구현하기로 결정했다.
자료 제공 : Photoneo(www.Photoneo.com)







