총 19 건
Locator Studio - 간단한 3D 피킹(Picking) 어플리케이션을 위한 새로운 방법 평평한 바닥 위의 움직이는 물체를 집는 정도의 간단한 작업을 자동화하고 싶으신가요? 이정도 난이도의 작업을 위한 것이라면 세밀한 경로설정 및 알고리즘까지 갖춘 bin picking solution까지 필요하지 않습니다. 로봇 주위에 높은 벽이나 이동 시 충돌위험 없는 평평한 표면 위에서 물체를 집는 것이라면 최신 3D비젼을 적용한 간단한 솔루션 만으로도 해결할 수 있습니다. 이렇게 간단한 솔루션을 적용하면 더 빠르게 작업할 수 있고, 보정과 설정도 쉬워지고 기능을 단순화 할 수 있는 등의 장점이 있습니다. 자동화된 bin picking은 관련된 복잡성 때문에 매우 어려운 기술적 과제로 여겨집니다. "눈 앞의 성배" (Holy Grail in sight)라고 불리기도 하죠. 우리는 여러분이 가장 까다로워하는 bin picking 어플리케이션을 완벽히 숙달할 수 있도록 심혈을 기울여 강력한 로봇지능 솔루션을 개발했습니다. 바로 Bin Picking Studio 입니다. 그러나 매번 bin picking solution처럼 정교하고 복잡한 솔루션이 필요한 것은 아닙니다. 때론 기초적이고 간단한 시스템만으로도 충분히 해결할 수 있는 어플리케이션이 있죠. 높은 난이도의 bin picking 어플리케이션을 위한 복잡한 솔루션은 꽤 많지만, 오히려 빠르게 물체 위치를 파악하고 충돌 없는 피킹(picking)을 위한 간단한 시스템은 없었습니다. 이 때문에 Photoneo는 간단한 어플리케이션을 위한 3D picking 도구인 Locator Studio를 개발했습니다. 이 새로운 Locator Studio는 기존의 검증된 기술적 원리를 토대로 작동하지만 단순성은 기존 bin picking solution보다 빠른 속도, 손쉬운 보정과 구성 및 작동, 특별한 기술이 없어도 손쉽게 사용할 수 있는 등의 많은 이점을 제공합니다. Locator Studio의 주요 장점을 요약하면 다음과 같습니다. * 충돌 없는 환경에서 매우 빠르고 간단한 3D 피킹(picking) * 물체 바로 위 혹은 로봇 팔에 부착된 Phoxi 3D 스캐너나 MotionsCam-3D를 통한 빠른 스캐닝 속도와 우수한 품질의 3D 포인트 클라우드 제공 * 웹을 통한 간편한 캘리브레이션과 설정 * 이전 물체를 picking하는 동안 다음 물체를 단 한 번의 스캔으로 CAD기반의 강력한 위치 데이터 제공 * TCP/IP를 통한 대부분의 모든 로봇 시스템과의 빠른 통합 고성능의 Bin Picking Studio와 간단한 Locator Studio와의 차이점을 더 잘 이해하고 싶다면 아래의 표를 참고하세요. Applications - Locator Studio를 사용할 조건과 환경 Locator Studio는 충돌 없는 환경에서 특정방향으로 이동하는 물체를 집어야 하는 모든 상황에서 사용할 수 있도록 기존 2D나 2.5D application을 업그레이드 합니다. 충돌 없는 환경이란 쟁반, 에어캡, 얕은 통, 정지 및 이동하는 컨베이어 벨트나 랙과 같이 충돌 위험이 없는 평평한 표면을 말합니다. Picking 외 지원하는 application으로는 조립이나 나사 고정, 정밀한 부품의 배치를 위한 delayering, destacking, deracking 또는 부품의 위치 확인 등이 있습니다. Locator Studio는 Phoxi 3D 스캐너 및 MotionCam-3D와 함께 사용할 수 있습니다. 또한 사용자 선호도와 application 상황에 맞게 직접 비전장비를 보정할 수 있습니다. 시스템이 picking하는 방향이나 벡터를 정의할 수 있는 기능이 기본제공되어 추가작업 없이도 원하는 순서나 방향대로 부품을 선택할 수 있다는 점 또한 큰 장점입니다. 기술 호환성 Locator Studio는 TCP/IP 프로토콜을 통해 모든 장치와 통신하므로 이더넷만 있으면 사용할 수 있습니다. 개방된 프로토콜이 철저하게 문서화되어 있기 때문에 모든 로봇 브랜드나 산업용 조작기와 통합할 수 있으며, 이를 통해 Locator Studio는 진정한 만능 스튜디오가 됩니다. TCP/IP 인터페이스는 임의의 컨트롤러나 사용자 설정이 되어있는 PC 또는 PLC와 같은 중간 장비를 통해 비전 컨트롤러와 로봇 컨트롤러를 연결해줍니다. 이것은 새로운 기능입니다. 이전 방식은 스캐너를 비전 컨트롤러와 연결하고 비전 컨트롤러를 로봇 컨트롤러에 연결하는 것이었습니다. Bin Picking Studio가 6축 로봇만 지원하는 데 반해 Locator Studio는 호환성에 제한이 없습니다. Locator Studio는 더 유연하고 보편적인 SCARA, DELTA 또는 팔레트 로봇과 같이 높은 자유도를 가진 고관절 로봇이나 7축 시스템에서 사용할 수 있습니다. 작동 방식 Bin Picking Studio와 마찬가지로 Locator Studio도 두 가지 방법으로 보정(Calibration)할 수 있습니다: 1) 일반적으로 통(bin)위에 있는 로봇 셀의 고정된 위치에 스캐너를 장작하는 외부 보정방식 2) 로봇 팔(arm)에 스캐너를 직접 장착한 상태에서 사용자의 손과 눈으로 보정하는 방식 외부 보정 시 사전에 측정된 크기의 볼을 로봇 팔(arm)의 끝점 또는 그리퍼(gripper)에 부착하여 사용합니다. 손과 눈으로 보정하는 것은 패턴이 있는 보정 보드를 사용합니다. 보정 프로세스는 로봇이 특정 자세를 취한 상태에서 스캐너가 보정 볼이나 보드를 볼 수 있는 여러 지점을 추가하는 것으로 구성됩니다. 사용자는 Locator Studio의 웹 GUI를 통해 보정 지점을 추가할 수 있습니다. 또한 각 자세마다 로봇의 TCP정보를 제공해야 합니다. 반자동 보정을 선택하면 TCP정보도 제공하는 전용 로봇 호출을 통해 로봇이 직접 포인트를 추가합니다. 필요한 만큼의 포인트를 추가한 후 보정 정확도와 매트릭스가 계산되어 비전시스템에 저장됩니다. 이렇게 보정에 성공하면 물체를 피킹(picking)할 준비를 마칩니다. 로봇이 물체의 위치정보를 요청하는 것으로 프로세스가 시작하는데, 이 요청에 따라 비전시스템은 스캔을 수행하며 스캔은 Vision Controller에서 직접 포인트 클라우드로 처리됩니다. 이후 실시간으로 CAD데이터로 변환되어 각 물체의 위치는 X,Y,Z좌표의 형태로 이더넷을 통해 전송됩니다. 스마트 메모리기능과 다양한 형태의 그리퍼(gripper)덕분에 시스템은 여러 모양의 부품의 위치를 확인하고 동시에 피킹(picking)할 수 있게 되었습니다. 이 기능은 기존의 bin picking solution에서는 찾을 수 없던 것입니다. Locator Studio 1.0.0버전은 주로 vacuum이나 magnetic gripper를 고려하여 디자인되었기 때문에 충돌회피 기능을 제공하지 않으므로 기계적으로 gripper와 부품의 충돌을 방지할 수 없습니다. 또한 Locator Studio는 기존의 전통적인 picking 기술로 작동되는데, 이는 새로운 프로그래밍 언어를 배울 필요가 없다는 것을 의미합니다. 하지만 많은 프로세스가 로봇 쪽에서 실행된다는 점에서 사용자가 로봇 프로그래밍에 대한 지식이 있다면 활용면에서 시너지 효과는 매우 클 것입니다.
2023.09.06검정색 고무재질 및 광택이 나는 물체를 3D 스캔 시, 최상의 결과를 얻는 방법 3D 스캐닝의 정확도는 특정 색상과 재질에 영향을 많이 받습니다. 여기에는 특히 까다로운 검은색, 고무 재질, 광택이 나는 재질이 포함됩니다. 까다로운 조건에도 좋은 결과를 얻을 수 있는 방법이 있습니다. 궁금하지 않으신가요? 그 방법을 알려드리기 위해 전문가인 Ivan Zatkuliak씨와 이야기 나눠보았습니다. 많은 고객들은 표면이 까다로운 물체까지 처리할 수 있는 자동화 시스템을 원합니다. 그러기 위해선 로봇이 물체를 인식하고 정확한 X, Y, Z 좌표를 찾기 위한 3D 비전이 장착되어야 합니다. 그래야 정확하게 대상을 탐색하고 선택할 수 있기 때문입니다. 문제는 3D 비전 시스템이 검은색이나 고무 및 광택 재질과 같이 스캔하기 어려운 물체를 스캔해야 할 때 발생합니다. 이러한 색상이나 표면은 3D 스캐닝 프로세스의 난제입니다. 자동차분야 – 비전 가이드 로봇을 이용하여 검은색 고무 타이어를 피킹(picking)하는 상황 를 예로 들어 보겠습니다. 타이어를 선택해서 옮기는 작업은 매우 평범한 작업이지만 좋은 결과를 얻기 위해서는 강력한 3D 비전 솔루션이 필요합니다. 이번 블로그 글에서는 검은색 타이어를 인식하고 선택하는 것이 어려운 이유를 살펴본 후, 우수한 결과를 얻을 수 있는 비법을 알려드리겠습니다. 검은색 고무와 광택 재질의 3D 스캐닝이 어려운 이유는? 다시 타이어 이야기로 돌아가겠습니다. 타이어의 표면은 검고, 고무 재질이며 광택까지 납니다. 이런 특성은 다음과 같은 문제가 발생하는 원인이 되며 3D 비전 시스템에 문제가 발생할 수 있습니다. 우선 매우 어둡거나 검은 표면으로는 3D 데이터를 얻을 만한 contrast가 부족하다는게 문제입니다. 또, 이런 어두운 색상과 표면은 레이저 빛, 즉 광자를 흡수해버려 카메라로 제대로 반사되지 않는 문제가 발생해 많은 3D데이터가 손실됩니다. 레이저가 아닌 다른 인공적인 빛으로 표면을 비추는 것은 스캔한 물체의 3D정보가 오히려 손실되기 때문에 전혀 도움이 되지 않습니다. 빛나는 표면은 난반사를 일으키기 때문에 스캔하기가 어렵습니다. 난반사는 카메라 뷰 밖으로도 빛이 반사된다는 뜻인데요, 이 밖에 표면 내 미세한 부분마다 레이저 빛을 반사 시켜 상호반사의 원인이 됩니다. 위 두가지 상황에서 왜곡된 빛이 3D 데이터 수집 프로세스를 방해합니다. 타이어 피킹(picking)의 또 다른 어려움 위에서 특정 유형의 재료와 관련된 3D 스캐닝의 어려운 점을 설명하였습니다. 그러나 타이어 피킹(picking) 어플리케이션 설계 시 고려해야 할 점은 이 뿐만이 아닙니다. 또 다른 문제는 스캔 시 필요한 공간입니다. 스캔할 때에는 충분한 거리에서 타이어를 스캔할 수 있을 정도로 공간이 확보되어야 합니다. 일반적으로 타이어는 높은 팔레트 위에 놓여져 있고, 선택된 후 다른 곳에 이동됩니다. 또, 잡은 타이어를 팔레트 사이에 두고 로봇이 자유롭게 움직일 수 있는 충분한 공간이 확보되어야 합니다. 이러한 점들을 고려할 때 필요한 스캔 거리는 4m 이상이 되어야 합니다. 검은색 타이어를 3D 스캔하는 방법 우리는 자동차 업계의 고객으로부터 위와 같은 프로젝트를 의뢰 받았습니다. 정확히는 타이어를 골라내는 자동화 솔루션 개발 프로젝트였으며 우리는 훌륭하게 대응하였습니다. 방법은 다음과 같습니다. 우리는 PhoXi 3D 스캐너 중 가장 큰 FOV를 커버하는 XL모델을 사용하였습니다. 아래 PhoXi 3D XL 모델의 기능 덕분에 최상의 결과를 얻을 수 있었습니다. 1) 검은색, 고무재질, 광택표면 등을 포함한 모든 유형에 대한 고품질 3D 스캔 2) 효과적인 주변광 억제 3) 반사필터를 사용하여 표면 광택으로 발생하는 노이즈 제거 4) 4m의 스캔 영역, 필요하다면 더 큰 영역도 스캔 가능한 XL모델 5) 까다로운 산업 환경과 조명 조건에서도 강력하고 견고한 성능 이렇게 PhoXi 3D 스캐너의 가장 큰 모델인 XL을 로봇에 장착하여 3D스캐닝과 타이어 자동화 피킹(picking) 과제를 해결할 수 있었습니다. Photoneo 3D 스캔 솔루션을 여러분의 프로젝트에 적용 가능한지 확인 해보시겠습니까? 귀사의 프로젝트에 적합한 솔루션인지 확신할 수 없는 경우에도 걱정하지 마세요. 저희는 상담과 무상대여로 가능성 여부에 대한 검토를 지원 해드리고 있습니다. ㈜화인스텍에 연락주시면 자세한 상담 드리도록 하겠습니다.
2023.03.14픽 앤 플레이스 (Pick & Place) 공정에서 로봇은 어떻게 동작 하는가 최근에는 대부분의 생산 현장에서 많은 종류의 로봇을 볼 수 있습니다. 이러한 로봇들은 수없이 많은 비즈니스에서 생산 공정 전체를 아울러 적용되어지고 있습니다. 픽 앤 플레이스(Pick & Place)는 이러한 로봇 사용 사례 중 하나 입니다. 이 작업은 특정 영역에 있는 물체를 사용자가 정의 해 놓은 다른 장소로 이동 시키는 것 입니다. 이 작업을 통해 제품의 생산 공정 속도를 굉장히 빠르게 만들 수 있습니다. 이 블로그 글에서는 Pick & Place에서 로봇이 어떤 역할을 하는지 알아보겠습니다. Pick & Place 로봇이란 무엇인가? Pick & Place 로봇은 물류창고와 생산 공장에서 가장 많이 볼 수 있는 산업용 로봇입니다. 이 로봇은 아래의 작업을 통해 공정을 돕습니다. * 박스로부터 제품을 꺼내기 * 제품을 박스에 넣기 * 제품을 특정 위치에서 다른 위치로 혹은 지정된 저장 공간으로 이동시키기 로봇 팔(Arm)의 끝단에는 사람의 손과 같이 여러가지 종류의 물체를 집을 수 있는 End effector 가 장착됩니다. 이 End effector에는 제품의 생산 공정을 위해 추가적인 부품이 장착될 수 있습니다. Pick & Place 로봇은 무엇을 하는가? 조금 더 자세하게 설명하자면, Pick & Place 로봇은 대체로 하기의 작업을 수행합니다. * 박스나 컨베이어 벨트로 이동 시켜야 하는 각기 다른 사이즈와 모양의 제품을 집어 냅니다. (Picking) * 무작위로 쌓여 있는 제품을 창고 내의 다른 장소로 이동 시킵니다 * 조립 – 작은 제품을 플랫폼 위로 이동 시켜 함께 다음 공정으로 이동할 수 있도록 합니다. * 그 밖에 많은 어플리케이션 Picking 절차 (Photo courtesy of PWR Pack) Pick & place 로봇은 굉장히 넓은 영역에 사용될 수 있습니다. 어플리케이션의 요청 사항에 따라 여러가지 종류의 End effector를 장착할 수 있습니다. 가장 보편적인 것으로는 석션 컵이 있는 흡착식 그리퍼 (vacuum gripper), 핑거 그리퍼 (finger gripper), 발톱형 그리퍼(clawed gripper), 마그네틱 그리퍼(magnetic gripper) 그리고 커스텀 그리퍼(custom gripper)가 있습니다. 경우에 따라 유연성이 높은 레벨의 시스템을 만들기 위해 여러 개의 로봇 팔(arm)과 헤드(end effector)를 사용하기도 하며 이를 통해 시간 지연 없이 여러 각도에서 물체로 접근할 수 있게 합니다. Pick & Place 로봇은 제조 라인에서의 모든 생산 공정을 획기적으로 개선 시킬 수 있습니다. 이를 통해 생산 시간을 빠르게 할 수 있으며 또한 생산에 필요한 공간도 절약할 수 있습니다. 예를 들어, 컨베이를 사용하는 시스템의 경우 특별한 목적을 위해 다른 종류의 제품이 이동하게 됩니다. Pick & Place 로봇은 특정 부품을 집어 낼 수 있도록 프로그램 할 수 있습니다. 즉, 특정 모양 혹은 색상의 제품을 집어서 사용자가 원하는 위치로 빠르게 이동 시킬 수 있는 것입니다. 제조공정에서의 Pick & Place 로봇 여러 개의 로봇 팔(arm)에 suction cup 혹은 vacuum 방식의 그리퍼를 사용하는 경우 Picke & place 로봇은 조립 공정을 비롯한 넓은 영역의 제조 공정을 자동화 할 수 있도록 해 줍니다. 여러 개의 로봇 팔을 이용하여 한 번에 여러 개의 물체를 집을 수 있으며 크기가 작은 물체부터 큰 물체까지 모두 커버 할 수 있습니다. 즉, 생산라인에서 여러가지 다양한 물체에 대해서 생산을 자동화하기에 적합하다는 것입니다. 예를 들어, 첨단 기업들은 때때로 다른 사이즈와 다른 모양의 부품들을 함께 생산하곤 합니다. 비슷한 예로 자동차 생산 업체들은 크기 가 큰 SUV와 소형차를 함께 생산합니다. Pick & place 로봇은 수많은 종류의 제품을 빠르고 효율적으로 다룰 수 있도록 해줍니다. 머신비전을 장착한 Pick & place 로봇 (Photo courtesy of PWR Pack) 앞서 얘기한 모든 작업을 수행하기 위해서 로봇은 볼 수 있어야 합니다. 3D 비전은 정확한 식별과 안정적인 제품의 Picking을 위해서 꼭 필요합니다. (이러한 비전 솔루션이 없다면 로봇은 장님이나 다름없습니다) 현재 시장에는 다양한 3D 비전 기술이 있습니다. 포토네오 (Photoneo)의 3D 스캐너와 3D 카메라는 다양하고 혹독한 산업 환경에서도 안정적으로 작업을 수행할 수 있습니다. 포토네오의 PhoXi3D 스캐너는 정지된 상태의 물체에 대한 높은 해상도와 높은 정밀도의 3D 이미지를 제공합니다. MotionCam3D의 경우 빠르게 움직이는 물체에 대해서도 3D 스캔이 가능 합니다. 사용자께서는 어플리케이션에 적합한 3D 솔루션을 제안 받고 싶으시거나 상담 혹은 테스트가 필요 하실 때 ㈜화인스텍으로 연락 주시면 성심껏 지원 드리도록 하겠습니다. 출저: By Andrew Lightstead https://www.photoneo.com/how-pick-and-place-robots-work
2023.02.16그림 1: AT 3D센서는 캔 뚜껑의 곡률을 스캔하고 3D 포인트 클라우드 데이터를 생성합니다. (사진제공 AT - Automation Technology) 한 글로벌 음료 제조업체는 음료 충전 및 뚜껑 밀봉 과정에서 발생하는 캔 뚜껑의 곡률 결함으로 인한 공정 중 가동 정지 시간을 줄이고 품질 관리 개선을 위해 캔 압력 검사가 필요했습니다. 이러한 가동 중지 시간을 없애고 공정을 최적화하여 생산량을 늘리기 위해 제조업체는 캔 압력을 검사하는 어플리케이션을 개발하려고 했습니다. 하지만 문제는 3D 스캐너를 사용하여 컨베이어 벨트에서 최대 속도로 이동하고 있는 캔의 압력을 바로 검사하는 것이었습니다. AT – Automation Technology(독일 Bad Oldesloe, www.automationtechnology.de) 및 EVT – Eye Vision Technology (독일 Karlsruhe, www.evt-web.com)는 이와 같은 어플리케이션에 대한 3D 솔루션을 제공해 드리고 있습니다. 과정 소비자가 음료가 들어 있는 캔을 열면 음료가 탄산이든 아니든 간에 쉬익 소리가 납니다. 그 쉬익 소리는 그냥 나는 것이 아닙니다. 이 소리를 통해 캔이 적정한 충전량과 충전 압력으로 채워져 있는지를 확인 할 수 있습니다. 충전 기계는 이 과정을 매일 수천 번 수행합니다. 소비자가 캔을 열 때 쉬익 하는 소리가 들리지 않으면 무언가 이상하다고 생각 할 수 있습니다. 그렇기 때문에 적정한 충전량과 충전 압력을 유지 하는 것은 매우 중요 합니다. AT와 EVT는 캔음료를 검사하는 어플리케이션을 만들었습니다. 24시간 작동하며 초당 40개의 캔(분당 2,400캔), 하루 350만개의 캔을 스캔 할 수 있습니다. AT/EVT 솔루션을 적용하기 전에 음료 제조업체는 one-point 센서(한 점의 높이를 측정)를 사용하여 캔을 검사했지만 원하는 결과를 얻지 못했습니다. One-point 센서가 너무 부정확하여 결국 너무 많은 불량품이 발생했습니다. 당시 EVT는 이미 라벨 위치 검사, 캔의 목 검사 또는 스크래치 검사와 같은 2D 검사를 이 공장에 공급 중인 업체였습니다. 제조업체는 EVT가 3D 솔루션도 제공한다는 사실을 듣고 캔 압력 검사용 어플리케이션을 개발하게 되었습니다. 해결책 이 어플리케이션을 위해서 AT사의 C5-CS 3D센서와 EVT사의 소프트웨어를 사용 하였으며 소프트웨어는 현장의 검사 시스템에 연결된 리눅스 컴퓨터에 설치 되었습니다. 데이터는 GigE 인터페이스를 통해 전송됩니다. 제조업체는 압력을 제어하기 위해서 캔을 운반하는 컨베이어 벨트에 트래커를 장착했습니다. 이 트래커는 캔의 위치를 실시간으로 추적하며 AT의 3D센서인 C5-2040CS23-100에 신호를 전달합니다. AT 3D센서는 캔 상단 면의 높이, 형상을 스캔하여 3D 포인트 클라우드 데이터를 생성합니다. 그런 다음 EVT 소프트웨어는 이 포인트 클라우드 데이터를 사용하여 높이, 형상 값을 확인하고 캔의 압력이 높은지, 낮은지를 검사합니다. 그렇게 3D 포인트 클라우드 데이터를 이용한 캔의 압력 검사 시스템이 완성 되었습니다. 그림 2: EVT 소프트웨어는 포인트 클라우드 데이터를 이용하여 곡률을 확인하고 캔에 과압 또는 저압이 있는지 검사합니다. 먼저 항상 같은 위치에 있는 캔의 테두리를 기준으로 잡고 캔 상단에서 가장 높은 위치에 있는 캔마개의 위치를 가지고 캔 상단 면의 불룩함 정도를 측정 합니다. 캔에는 최소 150μ의 압력이 있어야 하며 100μ 미만이면 압력이 너무 낮으므로 캔을 불량으로 처리해야 합니다. 이 측정에는 허용 오차가 있으며 캔 곡률 값이 이 허용 오차를 벗어나는 즉시 컨베이어 벨트 측면에 부착된 노즐에서 압축 공기로 캔이 배출됩니다. 위 검사가 정상적으로 동작하는지 확인하기 위해 하루에 한 캔은 표면 마감 불량으로 인한 불량 처리가 되는지 확인합니다. AT는 프로파일 당 2,048포인트의 해상도와 초당 25,000 프로파일의 속도 때문에 이 어플리케이션에 C5-2040CS-23-100을 사용하기로 결정했습니다. 센서는 100mm의 X축 FOV를 가지고 있어 센서가 컨베이어 벨트의 캔 위치 변화에도 유연하게 반응할 수 있습니다. 그리고 이 센서는 GenICam 호환 카메라이기 때문에 소프트웨어는 GenICam을 통해 카메라를 제어하고 포인트 클라우드 데이터를 획득한 다음 소프트웨어가 이 포인트 클라우드 데이터를 처리 및 검사합니다. EVT 소프트웨어는 3D 검사 도구가 있는 EYE Vision Standard 소프트웨어로 구성됩니다. 이 어플리케이션에서는 조명 설치 공간 확보부터 시작하여 여러 가지 조명에 관련된 문제를 생각할 필요가 없었습니다. 그 이유는 AT 3D 센서는 카메라와 레이저가 일체형이며 컴팩트 하기 때문 입니다. 그리고 레이저 광을 사용한 프로파일 측정은 매우 견고하며 주변 빛의 간섭이 없기 때문 입니다.
2022.10.31깊이 측정을 위한 커스텀 임베디드 스테레오 시스템 깊이 측정 시스템 개발을 위한 3D 센서 옵션에는 다양한 옵션들이 있는데요, 카메라가 있는 스테레오 비전, 라이다 및 TOF센서가 대표적입니다. 그리고 각 옵션에는 장단점이 있습니다. 그중 스테레오 비전 시스템은 일반적으로 비용이 저렴하고 실외에서 사용하기에도 충분히 견고하며 고해상도 컬러 포인트 클라우드를 제공합니다. 오늘날 시장에서 사용할 수 있는 다양한 기성 스테레오 시스템이 존재하지만, 정확도, FOV, 해상도 등과 같은 요인에 따라 시스템 엔지니어가 특정 어플리케이션 분야의 요구 사항을 해결하기 위해 커스텀 시스템을 구축해야 하는 경우도 있습니다. 먼저 스테레오 비전 시스템의 주요 파트를 설명한 다음 기성 하드웨어 부품 및 오픈소스 소프트웨어를 사용하여 커스텀 스테레오 카메라를 만드는 방법에 대해 설명 하도록 하겠습니다. 커스텀 시스템의 구성은 임베디드에 초점을 맞추기 때문에 호스트 PC 없이도 실시간으로 모든 장면의 Depth Map을 계산할 수 있습니다. 스테레오 비전 개요 스테레오 비전은 두개의 다른 시점에서 촬영한 두 이미지의 정보를 비교하여 디지털 이미지에서 3D 정보를 추출하는 것입니다. 두 이미지 평면에서 물체의 상대적 위치는 카메라에서 물체까지의 거리 즉 깊이에 대한 정보를 제공해줍니다. Figure 1 – 스테레오 비전 시스템 개요 스테레오 비전 시스템의 개요는 위 이미지와 같으며 다음과 같은 주요 단계로 구성됩니다. 1. 캘리브레이션 – 카메라 캘리브레이션의 경우 두가지 의미가 있습니다. Instrinsic(내부적인) 캘리브레이션의 경우는 이미지 중심, 초점 거리 및 왜곡 파라미터를 말하며, Extrinsic(외부적인) 캘리브레이션은 카메라의 실제 위치 등을 말합니다. 컴퓨터 비전 프로그램에서 특히 깊이와 같은 이미지의 메트릭 정보가 필요한 경우 캘리브레이션 단계는 매우 중요합니다. 캘리브레이션 단계에 대해서는 아래 캘리브레이션 섹션에서 자세히 설명 드리겠습니다. 2. 렉티피케이션 – 스테레오 렉티피케이션은 이미지 평면을 양쪽 카메라의 중심 사이의 선과 평행한 공통 평면으로 조정하는 프로세스를 말합니다. 렉티피케이션 이후 해당 포인트가 평행하게 놓여 있게 되므로 매칭에 소요되는 시간이 줄어들기 때문에 꼭 필요한 과정으로 인식되고 있습니다. 이 단계는 커스텀 시스템을 구축하기 위해 제공된 코드로 실행 가능합니다. Figure 2 – Stereo Rectification 예시 3. 스테레오 매칭 – 왼쪽과 오른쪽 이미지 사이에 픽셀을 일치시켜주는 과정을 스테레오 매칭이라고 하며, Disparity image(불균형한 이미지)를 생성하게 됩니다. SGM(Semi-Global Matching) 알고리즘은 커스텀 시스템을 구축하기 위해 제공되는 코드에 사용됩니다. 4. Triangulation(삼각측량) – 삼각 측량은 두 이미지에 투영 된 3D 공간의 점을 결정하는 과정을 말합니다. Disparity image(불균형한 이미지)는 3D 포인트 클라우드로 변환됩니다. 설계 예제 스테레오 시스템의 설계 예제를 살펴보겠습니다. 다음은 빠르게 움직이는 물체가 있는 동적 환경인 모바일 로봇 어플리케이션에 대한 요구 사항입니다. ROI 크기는 2m, 카메라에서 목표물까지의 거리는 3m, 원하는 정확도는 1cm입니다. 깊이 오차는 다음과 같은 요인에 따라 ΔZ=Z²/Bf * Δd에 의해 주어집니다: Z = 범위 B = Baseline(기준선) F = focal length(픽셀 단위의 초점 거리로, 카메라 시야 각 및 이미지 해상도와 관련 있습니다) 처음에 언급한 요구 사항을 충족할 수 있는 다양한 설계 옵션들이 있는데, 원하는 FOV와 WD에 따라 특정 센서에 대한 렌즈의 초점 거리를 정할 수 있습니다. Baseline(기준선)으로 위의 공식을 사용하여 3m에서 예상 깊이 오차를 계산하여 요구되는 정확도를 충족하는지 확인할 수 있습니다. Figure 3 – 예제 어플리케이션에 대한 스테레오 시스템 설계 옵션 위 이미지는 Baseline(기준선)이 긴 저해상도 카메라 또는 Baseline이 짧은 고해상도 카메라 이렇게 두가지 옵션에 대한 설명입니다. 첫번째 옵션은 전체적으로 크기가 더 큰 카메라이지만 복잡한 계산의 필요성이 적고 두번째의 경우는 크기는 더 컴팩트 하지만 복잡한 계산의 필요성이 높습니다. 예제 어플리케이션에서는 컴팩트 한 크기가 모바일 로봇 어플리케이션에 더 적합하기 때문에 두번째 옵션을 선택했으며, 요구되는 프로세스를 처리 할 수 있는 강력한 GPU가 탑재된 TX2 용 Quartet Embedded Solution을 사용할 수 있습니다. 하드웨어 요구 사항 Figure 4 – 커스텀 임베디드 스테레오 시스템의 앞면과 뒷면 이 예에서는 IMX273 Sony Pregius 글로벌 셔터 센서를 사용하여 두 대의 Blackfly S 1.6MP 보드 레벨 카메라를 12cm Baseline(기준선)를 가진 3D 프린트된 프레임에 장착합니다. 두 카메라 모두 동일한 6mm S-마운트 렌즈를 장착했습니다. 카메라는 FPC 케이블을 사용하여 TX2 커스텀 캐리어 보드용 Quartet Embedded Solution에 연결됩니다. 왼쪽과 오른쪽 카메라를 동기화하여 동시에 이미지를 캡처하기 위해 두 카메라를 연결하는 동기화 케이블도 연결합니다. 위 이미지의 하드웨어 구성품은 다음과 같습니다 : Quartet Carrier with TX2 Module 8GB – 1ea BFS-U3-16S2C-BD2(카메라) – 2ea S-Mount & IR filter – 2ea 6mm S-Mount lens(렌즈) – 2ea 15cm FPC 케이블 – 2ea NVIDIA Jetson TX2/TX2 4GB/TX2i Active Heat Sink(방열판) – 1ea 동기화 케이블 – 1ea 카메라 부착용 프레임 – 1ea 두 렌즈 모두 어플리케이션이 요구하는 범위에 카메라 초점이 맞도록 조정해야 합니다. 초점을 맞춘 후 초점을 고정하기 위해 각 렌즈의 나사를 조여줍니다. (Figure 5 참고) Figure 5 – 렌즈 나사를 보여주는 스테레오 시스템의 측면도 소프트웨어 요구 사항 a. Spinnaker Teledyne FLIR Spinnaker SDK는 TX2용 Quartet Embedded Solution에 사전 설치되어 제공됩니다. 카메라와 통신하기 위해선 Spinnaker가 필요합니다. b. CUDA를 지원하는 OpenCV 4.5.2 스테레오 매칭 알고리즘 중 하나인 SGM을 사용하기 위해선 OpenCV 4.5.1 버전 또는 그 이상의 버전이 필요합니다. 코드를 포함하고 있는 첨부된 zip 파일을 다운로드 후 압축을 풀어줍니다. 리눅스 터미널에서 아래와 같이 OpenCV를 설치하는 스크립트 인 OpenCVInstaller.sh를 실행합니다. cd ~/StereoDepth chmod +x OpenCVInstaller.sh ./OpenCVInstaller.sh 설치 관리자를 통해 관리자 암호를 설정 후 OpenCV 4.5.2 설치가 시작됩니다. OpenCV를 다운로드하고 빌드하는데 몇 시간이 걸릴 수도 있습니다. 캘리브레이션 스테레오 이미지를 불러와 캘리브레이션 하는 코드는 “Calibration” 폴더에서 확인할 수 있습니다. SpinView GUI를 사용하여 좌우 카메라의 일련 번호를 확인합니다. 우측 카메라는 마스터, 좌측 카메라는 슬레이브로 설정해 줍니다. 마스터 및 슬레이브 카메라의 일련 번호를 grabStereoImage.cpp 파일의 60번째와 61번째 줄에 복사해줍니다. 리눅스 터미널에서 다음 명령어를 사용하여 실행 파일을 빌드합니다. cd ~/StereoDepth/Calibration mkdir build mkdir -p images/{left, right} cd build cmake .. make 첨부된 채커보드 패턴을 인쇄하여 평평한 표면에 부착 후 캘리브레이션 타켓으로 사용할 수 있습니다. 캘리브레이션을 하는 동안 최상의 결과를 얻으려면 SpinView에서 Exposure Auto는 off로 설정하고 아래 그림과 같이 채커보드 패던이 선명하고 흰색 부분이 과하게 노출되지 않도록 노출을 조정해줍니다. 캘리브레이션 이미지가 수집된 후 SpinView에서 게인 및 노출을 자동으로 설정할 수 있습니다. Figure 6 – SpinView GUI 설정 이미지 수집을 시작하기 위해 아래 명령어를 입력해줍니다. ./grabStereoImages 코드에 따르면 이미지 수집은 약 초당 1프레임의 속도로 진행됩니다. 왼쪽의 이미지는 images/left 폴더에 저장되고 오른쪽의 이미지는 images/right 폴더에 저장됩니다. 타겟을 움직여 이미지의 구석 부분까지도 잘 보이게 촬영해줍니다. 타겟을 회전 시켜 가까이서, 그리고 또 멀리서도 찍어줍니다. 기본적으로 프로그램은 100쌍의 이미지를 캡처하지만 아래 명령어를 사용하여 변경도 가능합니다. ./grabStereoImages 20 위의 명령어를 사용하면 20쌍의 이미지만 수집됩니다. 이전 폴더에 저장된 모든 이미지를 덮어 쓰는 점은 참고하셔야 됩니다. 아래 이미지는 일부 캘리브레이션 이미지 샘플입니다. Figure 7 – 샘플 캘리브레이션 이미지 이미지 수집 후 다음 명령어를 통해 캘리브레이션 Pyhton 코드를 실행합니다. cd ~/StereoDepth/Calibration python cameraCalibration.py 위 명령어로 스테레오 시스템의 내부 및 외부 파라미터가 포함된 "intrinsics.yml"및 "extrinsics.yml"이라는 2개의 파일이 생성됩니다. 기본적으로 30mm 정사각형 크기의 채커보드를 가정하여 만든 코드이지만 필요한 경우 편집이 가능합니다. 캘리브레이션이 끝나면 캘리브레이션이 얼마나 잘 수행 되었는지를 나타내는 RMS 오류가 표시됩니다. 캘리브레이션이 잘 된 경우 RMS 오류는 일반적으로 0.5 픽셀 미만입니다. Real-time Depth Map 실시간으로 차이(disparity)를 계산하는 코드는 “Depth” 폴더 내에 있습니다. 카메라의 일련 번호를 복사하여 live_disparity.cpp의 230과 231번째 줄에 붙여 넣습니다. 리눅스 터미널에서 다음 명령어를 사용하여 실행파일을 빌드합니다. cd ~/StereoDepth/Depth mkdir build cd build cmake .. make 캘리브레이션 단계에서 얻은 "intrinsics.yml" 및 "extrinsics.yml" 파일을 이 폴더에 복사합니다. 실시간으로 Depth Map 데모를 실행하려면 다음 명령어를 입력합니다. ./live_disparity 왼쪽 카메라 이미지(Raw 이미지)와 Depth Map(최종 output)이 표시됩니다. 아래 이미지는 몇가지 예제 output을 보여주고 있습니다. 카메라로부터의 거리는 Depth Map의 오른쪽에 표시된 범례에 따라 색상으로 구분됩니다. Depth Map의 검은색 영역은 해당 영역에서 차이(disparity)점이 있는 데이터가 없다는 것을 의미합니다. NVIDIA Jetson TX2 GPU로 1440 x 1080의 해상도에서 최대 초당 5프레임, 720 x 540의 해상도에선 최대 초당 13프레임 속도로 실행할 수 있습니다. 특정 지점의 깊이 데이터는 Depth Map에서 해당 지점을 클릭하여 아래 이미지와 오른쪽 하단 이미지와 같이 깊이가 표시되는 것을 확인할 수 있습니다. Figure 8 – 왼쪽 카메라 이미지 및 해당 Depth Map 샘플 / 하단의 Depth Map에서는 특정 지점의 깊이를 보여줍니다. 요약 스테레오 비전을 사용하여 깊이 측정 시스템을 개발하면 실외에서도 잘 작동이 가능하며, 고해상도 Depth Map을 제공하고, 저렴한 기성품들로 매우 쉽게 접근할 수 있다는 장점이 있습니다. 시장에는 이미 요구 조건이 정해진 기성 스테레오 시스템이 많이 있습니다. 커스텀 임베디드 스테레오 시스템을 개발해야하는 경우 이 글에서 설명 드린 내용처럼 비교적 간단하게 작업하실 수 있습니다.
2022.09.07머신비전 3D 검사의 종류 안녕하세요? 화인스텍 마케팅 팀 입니다. 화인스텍 블로그를 찾아주셔서 감사합니다. 3D 머신비전-3D 검사의 종류에 대해 포스팅하겠습니다. 3D 머신비전-3D 검사 제품이 많이 나와있습니다. 그렇다면 어떤 방식으로 검사하는지 알아보시죠. <사진 1> 크게 위와 같이 나뉘게 됩니다. 1. CMM (Coordinate Measuring Machine) - 접촉식 첨부된 동영상과 같이 접촉식 3D 검사 방법입니다. 특징 Probe 센서를 물체에 직접 닿게 하여 측정하는 방식 제조업에 오래전부터 이용한 방식 장점 비접촉식에 비해 이물 영향 적음 정밀하고 신뢰성 있는 데이터 대상 물체의 모든 방향 측정 가능 단점 Object의 민감도에 따라 이물, 변형, 파괴 등의 문제 야기 초소형 물체 측정 불가 측정 속도가 매우 느림 2. 광 삼각법 (Light Triangulation) <사진 1> 3D 머신비전-3D 검사 광삼각법 - Automation Technology MCS-1280 특징 보편적으로 사용하는 방식 레이저가 물체에 반사되어 Camera 센서에 노출된 Laser Profile Data를 이용 장점 단순한 광학 조건 (일체형 3D 스캐너) 빠른 측정 속도 단점 Object 재질에 민감함 카메라 또는 물체가 이동 또는 회전해야 함. 3. 공초점 (Confocal) <사진 2> 3D 머신비전-3D 검사 공초점 (Confocal) 방식 특징 광원으로부터 대상과 초점이 맞지 않는 빛은 제거하고 초점이 일치하는 빛만 데이터로 취득 장점 정밀한 높이 및 두께 측정 가능 단점 너무너무너무 느린 취득 속도 4. 모아레 패턴 투영 (Moire) 특징 모아레 패턴(줄무늬)를 이용하여 형상 측정 각 패턴의 형태를 삼각 측정 방식을 이용하여 3D 정보 추출 장점 면적으로 스캔 가능 고속 동작 단점 분해능의 한계 (비용의 증가) 5. ToF (Time of Flight) <사진 4> IFM 3D 카메라 O3D303 <이미지출처 : https://www.ifm.com/kr/ko/product/O3D303?tab=information> 특징 빛을 물체 표면에 조사하여, 빛이 반사되어 돌아오는 시간을 측정하여 거리 계산 한 개의 Pixel에 2개의 Receptor가 존재 <사진5> TOF Image 장점 대형 대상체 측정에 용이 고속 동작 단점 높음 전력 소모 빛 간섭 영향 낮은 높이 분해능의 한계 머신비전 3D 검사의 종류에 대해 알아봤습니다. 어떠신가요? 이해가 잘 되셨기를 바라며, 이번 포스팅은 마치겠습니다.
2022.05.193D 기본 교육 - 기본 용어 정리 안녕하세요 화인스텍 마케팅 팀입니다. 화인스텍 블로그를 찾아주셔서 감사합니다. 오늘은 머신비전 3D 검사 기본 용어에 대해 포스팅하겠습니다. 1. 데카르트 좌표 머신비전 3D 검사를 볼 때 가장 기본인 좌표입니다. 데카르트 3D 좌표계라고 하는데 이름은 어렵지만 아래 이미지와 같이 AutoCad 는 물론 3D Tool에서 항상 보던 그 녀석입니다. <사진 1> 데카르트 좌표 X, Y, Z 축의 하나의 점으로 표현하여 위치를 나타냅니다. 2. Depth Map(Height Map, Range Map, 깊이 맵) 이미지의 각 픽셀에 세 번째 좌표가 Gray value로 표현된 2D 이미지입니다. 픽셀 값은 물리적 높이 값이 아닌, 광 삼각 측량의 레이저 라인 프로파일의 변위를 나타내고 Calibration 단계를 거쳐 Point Cloud, ZMap으로 변환하는데 사용됩니다. Depth Map은 아래와 같은 이미지입니다. <사진 2> Depth Map Image 3. Point Cloud Data(PCD) 스캔 된 객체를 나타내는 3D 점 좌표의 집합이라고 생각하시면 됩니다. 3D Processing에 사용됩니다. <사진 3> Point Cloud Data(PCD) 4. Mash 3D Point Cloud Data 점들을 연결하여 3D 표현으로 만드는 표현방식입니다. 단어 그대로 그물망처럼 점을 이어 표현하는 방식입니다. <사진 4> Point Cloud Data 와 Mash 표현 5. ZMap 3D 데이터 표현 방식 중 다른 방식입니다. 2.5D Image라고 부르기도 합니다. 메트릭 및 Calibration이 적용된 이미지이며, 픽셀 값에 물리적 높이 값이 적용되어 있습니다. ZMap에서는 우리가 일반적으로 사용하는 2D Processing 가능합니다. <사진 5> ZMap 6. LLE(Line Laser Extraction) 카메라 센서로 획득된 레이저 프로파일로 Depth Map을 생성할 수 있습니다. LLE 알고리즘에 따라 정확도가 달라질 수 있는 점은 숙지하셔야 합니다. <사진 6> LLE 생성 과정 아래 EURESYS에서 출시한 Coaxlink LLE Framegrabber에 알고리즘이 탑재되어 있습니다. <사진 7> EURESYS Coaxlink Quad 3D-LLE CoaxPress Interface Camera만 있다면 3D Camera처럼 사용이 가능합니다. 무료 소프트웨어 #머신비전 3D 무료소프트웨어 를 소개해 드릴까 합니다. 1. ImageJ Software 간단한 이미지 분석이 가능한 무료 소프트웨어이며, 16Bit Image View 가 가능합니다. 실제로 3D Depth Map Image는 16Bit 이미지로 윈도 기본 뷰어에서는 제대로 보이지 않습니다. <사진 8> ImageJ 이미지 뷰어 차이 2. CloudCompare Software 3D 포인트 클라우드 데이터 프로세싱 무료 소프트웨어입니다. 3D (Point Cloud Data) 확장자 : .PCD .PLY .CSV .XYZ … 등 지원을 합니다. <사진 9> CloudCompare Software CloudCompare는 3D 포인트 클라우드 프로세싱 소프트웨어입니다. 3D 포인트 클라우드 데이터를 편집하고 랜더링하기 위한 기본 도구 세트를 제공하며 통계 계산, 색상, 거리 측정, 리샘플링 등의 고급 기능도 제공하는 소프트웨어입니다. 오픈소스 프로젝트이며 무료 소프트웨어이기 때문에 누구나 사용할 수 있습니다. 머신비전 3D 검사 기본 용어에 대해 살펴봤습니다. 도움이 되셨길 바라며, 다음 포스팅 때 뵙겠습니다.
2022.05.17머신비전 3D 검사 광 삼각법 사용 예시 안녕하세요? 화인스텍 마케팅 팀입니다. 화인스텍 블로그를 찾아주셔서 감사합니다. 이번 시간은 3D 기본 교육 중 광삼각법 사용 예시에 대해 포스팅하겠습니다. 머신비전 3D 검사 중 광 삼각법 중 크게 아래와 같이 나눌 수 있습니다. Standard Reverse Specular Look Away Dual-Head Sensor Dual Laser 하나씩 순차적으로 알아보겠습니다. 1. Standard <사진 1> Standard 장점 1. Resolution Z에 대해 간단한 계산식. 2. DOF 큰 렌즈가 필요하며 Z Range 낮음. 3. 일반적으로 많이 사용함. 2. Reverse <사진 2> Reverse 장점 1. Z Range가 증가하여 물체가 높을 경우. 2. Resolution Z 계산이 복잡함. 3. 정확도가 중요할 때 사용함. 3. Specular <사진 3> Specular 장점 1. 어두운 물체에 적합함. 2. 정반사로 인해 측정 오류 발생 가능성 있음.(빛이 포화) 3. 어두운색 질감의 물체에 사용함. 4. Look Away <사진 4> Look Away 장점 1. 최고의 측정 높이 분해능 제공. 2. Occlusion(음영) 발생 가능성 높음. 3. 반사가 심한 물체에 사용. 5. Dual Laser or Dual Head Sensor <사진 5-1> Dual Laser <사진 5-2> Dual Head Sensor 장점 1. Occlusion(음영) 영역 스캔 문제 해결. 듀얼 헤드 센서의 경우 문제가 있다면 두 개의 이미지를 하나로 합쳐야 하는데 정확히 합칠 수가 있느냐의 문제가 있습니다. 하드웨어에서 먼저 잡아야 하겠죠? 머신비전 3D 검사 이미지를 합치는 라이브러리도 많이 나와있으며 일체형 제품이 나오기도 합니다. 라이브러리 : EYE VISION
2022.05.123D 검사의 교정(Calibration) 안녕하세요? 화인스텍 마케팅 팀 입니다. 화인스텍 블로그를 찾아주셔서 감사합니다. 2D에서 교정(Calibration)하는것은 체스판을 놓고 하는 방법이나 일정한 간격의 점을 찍어 하는 방법 등 결국에는 일정한 간격의 선이나 점을 놓고 하게 됩니다. 3D에서의 교정(Calibration)은 3D인 만큼 특별한 방법이 있습니다. < Static Target > 캘리브레이션 방법 결과 이미지 < Linear Target > 캘리브레이션 방법 결과 이미지 < Zig Zag Target > 캘리브레이션 방법 결과 이미지 < Multiple Zig Zag Target > 캘리브레이션 방법 결과 이미지 위와 같이 크게 4가지로 보실 수 있습니다. 일반적으로 Linear Target으로 많이 오셨을 텐데요 각 캘리브레이션의 장점은 아래 표를 참고해 주세요 Calibration Method 원근법 렌즈 왜곡 직선 곡률 Precision / Quality Static Target O - - + Linear Target O - - ++ Zig Zag Target O O O +++ Multiple Zig Zag Target O O O ++++ 교정 방법에 따른 정밀도 차이 이상으로 캘리브레이션(Calibration)에 따른 정밀도 차이를 알아봤습니다.
2022.04.28