매니퓰레이션을 위한 3차원 비전은 무엇을 할까
인간은 일상적으로 다양한 매니퓰레이션을 하고 있다. 대상물의 위치를 결정하고, 손으로 대상물을 잡아 필요에 따라서 촉각으로 힘을 제어하기도 하며, 대상물을 원하는 위치와 자세로 옮긴다. 동일한 일을 로봇에게 시키고 싶다. 그림 1은 그 일례이다. 여기에서 비전의 역할은 크다.
▲ 그림 1 로봇 피킹의 일례
비전의 작업을 분해하면 ① 상황을 3차원적으로 지각, ② 그중에서 대상물을 찾고 대상물의 3차원 위치와 자세 정하기, ③ 잡는 점과 잡는 자세 정하기, ④ 이들 3차원 좌표를 조정 장치의 좌표계로 변환하기, 이 4가지이다. 이러한 작업은 인간이 무의식적으로 하고 있지만, 컴퓨터는 이것들을 명시적으로 정의해야 한다.
상황을 3차원적으로 지각하는 것은 상황의 3차원 점 그룹을 얻는 것이기도 하여, 일반적으로는 3차원 계측이라 불린다. 다양한 기술이 개발되어 왔기 때문에 일정 조건을 충족하면 가능하게 되었다.
대상물을 찾는 것은 3차원 인식이라 불리는 문제이다. 보이는 방법의 변화가 크기 때문에 매우 어려운 문제로 여겨졌으나, 이것도 어느 정도 실현되게 되었다. 만약 대상물의 3차원 모델이 존재하면 그 3차원 형상 모델과 같거나 비슷한 3차원 형상을 상황 속에서 찾게 된다. 이 경우에는 탐색하는 자유도는 그 모델의 3차원 위치와 3차원 자세의 6파라미터이다. 이러한 파라미터가 정해지면, 대상물의 위치 결정이 가능해진다.
매니퓰레이션은 대상물을 잡아서 옮기는 것이 목적이기 때문에, 잡는 점과 잡는 자세를 정하는 것이 중요하다. 대상물의 3차원 모델이 있고 또한 3차원 형상이 안정되어 있으면 대상물을 잡는 점과 잡는 위치를 한번 정의하면, 대상물의 3차원 위치와 자세에 맞추어 잡는 점과 자세를 변환시키기만 하면 된다. 한편, 만약 원래 대상물의 3차원 형상에 큰 변화가 있는 경우, 설령 대상물의 3차원 인식이 가능해도 대상물의 3차원 위치와 3차원 자세에는 모호성이 남는다. 잡는 점과 잡는 자세를 그때마다 계측된 3차원 형상에 맞추어 수정해야 한다.
비전 좌표계에서 위의 작업을 실행한다. 그 결과 얻어진 3차원 좌표와 자세를 매니퓰레이터의 좌표계로 변환할 필요가 있다. 이 변환 관계도 비전을 통해서 해야 하므로 비전의 태스크로 했다. 비전의 작업이 완료되면, 다음은 매니퓰레이터와 핸드의 차례이다.
매니퓰레이션은 이외에 비전 결과를 이용한 충돌 판정에 의한 충돌 회피와 충돌을 피하는 경로 탐색 문제, 물건을 상자 안에 효율적으로 두고 패킹 문제도 있지만, 여기서는 다루지 않는다.
이하에서는 위의 4개 태스크에 대해서 각각 설명한다.
3차원 점 그룹 계측
3차원 점 그룹 계측은 일반적으로 디지털 화상 좌표계에서 각 화소에 광축을 Z축으로 했을 때의 Z좌표를 부여하는 형태로, 이른바 심도 화상 을 얻는 것이다. 주점 좌표
와 초점거리 f가 주어지면, 각 화소가 대응하는 상황 점의 3차원 좌표 (X, Y, Z)를 쉽게 계산할 수 있다. 이들 3차원 좌표를 가진 점의 그룹이 상황의 3차원 형상을 나타낸다.
원리적으로는 삼각측량 방식과, 센서에서 나온 빛이 물체를 맞고 반사되어 돌아오기까지의 시간을 꾀하는 Time-of-Flight(TOF) 방식의 2개가 있다.
여기서는 스테레오 카메라 및 카메라와 프로젝터로 구성된다, 삼각측량 방식의 3차원 계측 방법을 소개한다.
1. 스테리오시의 기하학
입체 화상에 의한 3차원 계측은 기본적으로 인간의 두 눈과 마찬가지로 그림 2에 나타내는 삼각측량의 원리에 근거한다. 한 장의 사진밖에 없다면 깊이는 모르겠지만, 시점이 다른 두 장의 사진이 있으면, 대응점을 발견함으로써 삼각측량으로 깊이를 알 수 있다. 인간의 경우에 두 눈의 위치 자세를 뇌에서 이미 알고 있지만, 화상의 경우는 카메라의 위치 자세를 모르므로 화상에서 미리 계산해야 한다. 이 계산을 교정이라고 한다. 교정을 얼마나 정확하게 할 수 있느냐가 3차원 화상 계측의 가장 중요 과제 중 하나다.
▲ 그림 2 스테레오시의 원리-삼각측량
평소 우리가 보는 사진은 디지털 화상이라 불리는 것이다. 그림 3에서 보듯이 디지털 화상의 좌표계는 좌표 원점은 왼쪽 편에 있고, 오른쪽 방향이 가로축 u, 아래 방향이 세로축 v이다. 하지만 사영 관계를 기술하는 경우에는 정규화 화상 좌표계를 이용하는 것이 더 편리하므로 디지털 화상 좌표계를 정규화 화상 좌표계로 변환한다. 식은 다음과 같이 나타낸다.
▲ 그림 3 카메라 좌표계, 디지털 화상 좌표계와 정규화 화상 좌표계
여기서 는 각각 디지털 화상 좌표
와 정규화 사진 좌표
의 동차 좌표계 벡터이다. 행렬 A는 카메라 내부 행렬이며, 다음과 같이 나타낸다.
단, 는 주점 좌표이며, s는 비틀림 변형 파라미터이며,
는 각각 화상의 가로와 세로 방향의 초점거리(화소 단위)이다.
우리가 생활하는 공간은 3차원이며, 화상은 2차원이다. 그런 의미에서 카메라는 사영장치라고도 볼 수 있다. 일반적으로 알려져 있듯이 사영은 다음 식으로 나타낼 수 있다.
여기서 는 초점을 원점으로 하는 카메라 좌표계에서의 3차원 공간의 점의 좌표이다(그림 3). 이 식을 아래와 같이 고칠 수도 있다.
단, 는 2개의 벡터가 같은 방향을 가리키는 것을 의미한다.
지금까지의 설명에서는 모든 식이 선형이다. 이 경우, 3차원 공간 내의 직선이 화상에서도 직선으로 나타난다. 하지만 실제로는 렌즈의 왜곡에 의해 3차원 공간의 직선이 화상에서 구부러진 것처럼 보인다. 렌즈로 인한 왜곡은 별로 크지 않아 인간의 눈에는 두드러지지 않는 경우도 많지만, 정확도를 높이기 위해서는 무시할 수 없어 보정할 필요가 있다.
렌즈에 의한 왜곡은 다음 식으로 나타낼 수 있다.
단, 는 왜곡 파라미터이다. 왜곡은 주점에서 벗어날수록 커진다. 카메라의 초점거리와 주점 좌표, 왜곡 계수를 정리해 카메라의 내부 파라미터라고 한다.
이어서 왼쪽 카메라 좌표계와 오른쪽 카메라 좌표계의 관계를 설명한다. 왼쪽 카메라 좌표계와 오른쪽 카메라 좌표계의 좌표를 각각 , 회전 행렬을
, 병진 벡터를
로 하면 변환 식은 다음 식과 같이 나타낼 수 있다.
이들 파라미터를 카메라의 외부 파라미터라고 한다.
2. 스테레오 교정
스테레오 교정은 위에서 설명한 왜곡을 포함한 카메라의 내부 파라미터와, 두 카메라 사이의 회전과 병진을 미리 정확하게 계산해 두는 것이다. 스테레오 교정을 해 두면, 3차원 측정 시에는 그때마다 이들 파라미터를 걱정하지 않아도 된다. 교정은 그림 4와 같은 교정 보드를 여러 위치 자세로 촬영하는 경우가 많다. 이러한 교정이 보드는 핸드 아이 교정에도 사용할 수 있다.
▲ 그림 4 교정보드의 일례
카메라 교정은 번들 조정법으로 한다. 번들 조정은 3차원 공간의 점 화상에 대한 역사영(수식에 의해서 계산)과 실제 화상에서 추출된 점의 유클리드 거리의 제곱합(식 (5))을 최소화하는, 미지의 파라미터를 추정하는 방법이다.
단, 는 j장째 눈의 화상의 i번째 점의 좌표이며,
는 i번째 점의 3차원 좌표이다.
는 j장째 눈의 화상 카메라의 자세와 위치를 나타내며,
은 사영함수이다. 이 유클리드 거리의 제곱합의 평균값의 평행근은 이른바 역투영 오차이다. 최소화된 역투영 오차는 측정 정밀도를 나타내는 중요 척도이다. 사영함수는 비선형이므로 선형 해법이 아니라 비선형 반복 점근법이 필요하다. 마쿼트 방법을 이용해 최적화 계산을 하는 것이 일반적이다.
를 알고 있는 경우와 모르는 경우가 있다. 교정 보드가 강체인 것을 전제로 하여 어느 쪽이든 풀 수 있다.
가 미지인 것으로 하여 풀면
를 알고 있는 경우보다 많은 촬영 매수를 필요로 하지만,
를 고정밀로 측정할 필요가 없어진다. 한편,
를 아는 경우에는 더 적은 장수로 교정이 가능하지만,
의 좌표치를 어떻게 고정밀로 사전에 얻을지가 과제가 된다.
3. 스테레오 병행화
스테레오 카메라는 일반적으로 수렴각을 가지도록 설계되어 있다. 한편, 수렴각이 있다면, 에피폴라선이 기울어지다, 에피폴라선에 따른 대응점 탐색은 약간 까다롭다. 그래서 두 카메라는 뒤틀림이 전혀 없고, 같은 초점 거리를 가지며, 베이스 라인에 수직이고, 서로 평행이 되게 설치되도록 실제 화상을 변환한다. 그러면 에피폴라선이 수평이 되어 두 화상에서는 같은 세로 좌표를 갖는다. 이 프로세스를 스테레오 화상의 평행화라고 한다.
스테레오 화상의 평행화가 가능한 것은 두 카메라의 초점을 전혀 이동하지 않고, 그 방향을 바꾸기 때문이다. 카메라의 방향을 바꾼 경우의 화상 간 변환은 대상의 원근과 관계없이 각 화소가 독립적으로 일정하게 정해지는 사영 변환에 의해서 실현된다.
평행화 후의 카메라 내부 파라미터는 왜곡 파라미터 는 모두 0이 되고, 좌우 화상의 주점은 공통의 세로 좌표
을 가지며, 두 카메라 간의 회전 행렬은 단위 행렬이 된다. 병진 벡터는
(B는 베이스 라인 길이)이다.
좌우 영상의 대응점 좌표와
가 정해지면 왼쪽 카메라 좌표계의 3차원 좌표는
에 의해 계산된다.
4. 스테레오 카메라와 패턴 투광기로 3차원 점 그룹 계측
스테레오 사진 사이의 대응이 가능하면, 그대로 대응하는 3차원 좌표를 계산할 수 있다. 대응점을 특정할 때, 각 화소가 대응을 일정하게 결정할 만한 정보를 갖고 있으면 어렵지 않지만, 각각의 화소가 단독으로 그만큼의 정보를 가지고 있지 않을 때는, 다른 화소를 사용하여 모종의 보완을 거쳐야 한다. 그러나 이 프로세스는 균일하지 않고 복잡해 안정성 면에서 실용 단계에 이르지 못했다.
그래서 각 화소에 인공적으로 특징을 부여하는 방법이 많이 고안되었다. 라인 레이저를 사용한 광절단법, 그레이 코드나 위상 시프트의 패턴 투영이 유명하다. 라인 레이저는 SN비가 매우 높은 특징을 만들어낼 수 있지만, 한번 계측으로는 1개 단면의 3차원 형상밖에 측정할 수 없어 전체 형상을 계측하려면 뭔가 이동장치가 필요하게 된다. 반면, 2차원 패턴을 투영하는 그레이 부호법과 위상 시프트법의 경우, 전자적으로 패턴을 바꿀 수 있어서 기계적인 이동 기구 없어도 면 전체의 3차원 형상을 계측할 수 있다. 그러나 그레이 부호와 위상 변환법은 카메라와 대상 물체를 고정한 후에 여러 번 촬영할 필요가 있어 이동을 전제로 하는 로봇에 적합하지 않다는 문제가 있다. 그래서 원 샷 3차원 계측 방법이 요구되고 있다. 원 샷 3차원 계측 방법에서는 랜덤 패턴을 사용하고 있다. 마이크로소프트의 제품 Kinect와 IDS사의 Ensenso가 유명하다.
일반적으로 패턴 투영기도 하나의 역카메라로 간주할 수 있어서 한 대의 카메라와 한 대의 패턴 투영기로 삼각 측량할 수 있어서 장치의 크기와 비용 면에서 유리하다. 그러한 제품도 많이 판매되고 있다. 그러나 일반적으로 디지털 패턴 투영기의 해상도가 카메라의 해상도에 비해 떨어지고, 또 패턴 투영기의 보정은 카메라의 보정과 비교해서 어려워 스테레오 카메라와 패턴 투영기의 세트 구성이 일반적으로 고정밀하다.
3차원 인식과 위치 결정
1. 문제의 정의
3차원 인식은 상황으로부터 어떤 특정 대상 형상을 찾아내고, 그 3차원 위치 자세를 요구하는 것으로 정의된다.
2차원 인식은 이미 일반적으로 사용된다. 화상 중에서 어느 특정한 2차원 패턴을 찾아내고, 그 2차원 위치 자세를 구하는 것이다. 이 경우의 위치는 2개의 좌표, 자세는 1개의 각도로 나타낼 수 있다. 한편, 3차원 인식의 경우에는 3차원 위치는 3개의 좌표로, 자세는 3개의 각도로 나타낸다. 즉, 탐색 공간은 6차원이다.
특정한 3차원 형상을 여기서 3차원 모델이라고 한다. 3차원 모델은 Delaunay 접속을 이미 알고 있는 3차원 좌표를 가진 점의 집합으로 나타낼 수 있는 것으로 한다. 여기에는 3차원 모델을 확률적 모델로 삼는다.
특정 3차원 형상은 일반적으로 일정 확률 분포에 따라 변형이 존재한다. 이 변형을 하나의 가우스 분포로 파악하고 3차원 모델을 구성하는 각 점의 3차원 좌표의 기대값과 그 공분산행렬로 나타낼 수 있다. 3차원 형상 사이의 변화가 작으면, 3차원 모델의 각 점의 분산이 작고, 거꾸로 3차원 형상 사이의 변화가 크면, 3차원 모델의 각 점의 분산은 크다. 또, 변형은 부위마다 다르므로 각 점의 분산도 서로 다르다. 자동화 부품은 비교적 높은 정밀도로 만들어져 있고, 또한 편차가 작기 때문에 3차원 형상 사이의 분산은 일반적으로 작다. 한편, 주머니, 옷, 파우치 같은 고체가 아닌 일반 소비재의 경우, 3차원 형상 사이의 분산이 비교적 크다. 현실적인 문제로서 3차원 형상이 변형되는 경우에 그 3차원 형상 사이에서 어떻게 대응시키느냐는 현실적 문제가 있다.
이 3차원 모델과 3차원 점 그룹의 대응점끼리의 유클리드 거리의 제곱합이 아니라 마하라노비스 거리의 제곱합을 평가함수 C로 정의한다.
여기서 는 3차원 모델 i번째 점에 대응하는 3차원 점 그룹의 3차원 좌표이다. 3차원 모델의 3차원 위치는 t이고, 3차원 자세는 R이다. t와 R은 미지 파라미터이며 자유도가 6이다.
평가함수 C를 확률분포로 본 경우, 평가함수 C의 최소화는 우도의 최대화와 등가이다. 평가함수 C를 최소화하는 미지의 파라미터 t와 R을 탐색한다. 최소화된 평가함수는 3차원 모델과 3차원 점 그룹의 잔차를 나타낸다. 잔차가 작으면 작을수록 위치결정 정밀도가 높다고 할 수 있다. 역으로 3차원 모델과 3차원 점 그룹의 잔차가 크면 위치결정에는 모호성이 남는다.
평가함수 C의 최소화는 매우 어려운 작업이다. 일반적으로 막대한 개수의 극소값이 있기 때문에, 전체 탐색 외에 정답을 빠짐없이 찾는 방법은 존재하지 않는다. 한편, 6자유도 탐색 공간에서의 전체 탐색은 탐색수를 방대하게 만든다. 일례를 들면, 100의 6승은 1조(테라)나 된다. 얼마나 효율적으로 이 탐색 문제를 풀어낼지에 대한 지혜가 필요하다.
파지 위치와 쥐는 자세의 결정
3차원 형상에 변화가 크지 않으면, 3차원 모델에 대해서 잡는 위치와 잡는 자세를 한번 정의하면 충분하다. 정의 방법으로는 ① 티칭 펜던트 사용, ② 시뮬레이터에서 정의, ③ 자동 계산이 있다.
한편, 3차원 형상에 변화가 클 경우, 3차원 모델에 대해서 잡는 위치와 잡는 자세를 정의해도, 실제 3차원 형상이 다를 가능성이 크다. 실제 3차원 형상에 맞춰 잡는 위치와 잡는 자세를 수정해야 한다. 수정 방법은 흡착의 경우와 잡는 경우는 다르다. 여기서는 자세히 다루지 않는다.
또, 기계학습을 사용해 3차원 인식의 단계를 건너뛰고, 3차원 점들로부터 직접 잡는 위치와 자세를 요구하는 접근도 있다. 어느 정도의 정밀도와 안정성을 얻을 수 있을지는 아직 불명확하지만, 향후의 발전이 주목된다.
핸드 아이 교정
핸드 아이 교정은 그림 4와 같은 교정보드를 다른 위치 자세로 계측하여 실시하는 하나의 방식이다.
환경에 고정하는 3차원 비전센서라면 교정보드를 로봇 팔에 고정하고, 다른 위치 자세로 교정 보드를 이동시킨다(그림 5).
▲ 그림 5 환경 고정 카메라의 핸드아이 교정
3차원 비전센서를 로봇 팔에 고정하는 경우(그림 6)는 교정판을 고정하고, 로봇 팔에 고정시킨다. 3차원 비전센서를 이동시키고, 교정판을 다른 위치 자세로 계측한다. 그 결과, 3차원 비전센서의 좌표계와 로봇 팔 좌표계 사이의 병진과 회전을 구할 수 있다.
▲ 그림 6 암 탑재 카메라의 핸드아이 교정
1. 카메라를 로봇 팔에 고정하는 경우
로봇 기반 좌표계에서 로봇 플랜지 좌표계로 동차 변환한 행렬을 T로 하고, 로봇 플랜지 좌표계에서 암에 고정한 카메라 좌표계에 대한 미지의 동차 변환 행렬을 S라고 한다. 동차 변환 행렬은 회전 행렬 R과 병진 벡터 t를 만들어 의 형태로 표현하고 있다.
처음 로봇의 상태(이때의 동차 변환 행렬을 T(0))로, 카메라가 교정보드를 촬영함으로써, 고정 교정 보드 좌표계에 대해서 카메라 좌표계의 위치와 자세 C(0)를 구할 수 있다. 그 상태에서 로봇을 K회 움직이고 각각의 동차 변환 행렬 일 때, 카메라가 교정보드를 촬영함으로써 교정보드 좌표계에서의 카메라 좌표계의 동차 변환 행렬
를 얻을 수 있다.
T(0)에서 로의 각각의 동차 변환 행렬은
로 표현되며, 로봇 제어값으로부터 계산할 수 있어 이미 알고 있다. 또, C(0)에서 C(k)로의 각각의 동차 변환 행렬은
이 되며, 이것도 이미 알고 있다.
T(0)일 때의 플랜지 좌표계에서 일 때의 카메라 좌표계로의 동차 변환 행렬은
이다, 동시에
이기 때문에, 이하의 방정식을 얻을 수 있다.
이 방정식은 일 때, 고윳값 분해를 이용하여 풀 수 있다.
2. 카메라를 환경에 고정하는 경우
로봇 팔에 교정보드를 달아 카메라에 보여줌으로써 고정 카메라 좌표계의 교정보드의 위치 자세 과
를 구할 수 있다. 이하의 방정식을 얻을 수 있다.
이 방정식 역시 풀 수 있다. 결과적으로 카메라 좌표계와 로봇 기반 좌표계 사이의 변환은 로 하여 구할 수 있다. K+1개의 솔루션이 있는데, 이들 솔루션은 엄밀히 일치하지 않아 그중 하나를 사용하거나 몇 등인지를 최적화할 필요가 있다.
로봇 매니퓰레이션의 시장 니즈와 상품화된 3차원 로봇 비전센서
현재 표면화된 로봇 매니퓰레이션의 니즈는 ① 자동화를 위한 부품 공급, ② 물류에서의 상품 피킹, 2가지이다. 미래 자동화에서는 부품 공급뿐만 아니라 조립도 시야에 넣고 있지만, 현재는 그 요구가 아직 표면화되지 않았다.
자동화에서는 3차원 형상 간의 변화가 비교적 작고, 일반적으로 3차원 CAD 모델을 입수할 수 있으며, 요구되는 3차원 위치결정 정밀도도 높지만, 매니퓰레이션은 극히 제한된 개수의 대상물에 한정된다.
한편, 물류 창고에서의 피킹은 3차원 형상 사이의 변화가 비교적 크고, 일반적으로 3차원 CAD모델이 제공되지 않으며, 요구되는 3차원 위치결정 정밀도는 그리 높지 않지만, 로봇은 다수의 상품을 매니퓰레이트할 수 있어야 한다는 특징이 있다.
일본 국내의 FA시장에서는 3차원미디어가 개발한 TVS와 캐논이 개발한 RV라는 두 상품이 주류를 이루고 있다. 물류 시장에서는 3차원미디어와 MUJIN이 각각 비전, 암, 핸드와 이들을 제어하는 소프트웨어로 구성된 지능 피킹 로봇을 판매한다.
맺음말
일본은 로봇 강국으로서 전 세계 산업용 로봇의 50%를 생산하고 있으며, 서비스 로봇 연구 개발도 활발하다. 산업용 로봇은 용접, 운반, 가공 등 몇 가지 분야에 많이 사용되고 있으며, 자동차 공장 등에서 큰 역할을 수행한다. 그러나 그 움직임을 자세하게 관찰하면 알 수 있듯이 산업용 로봇은 미리 결정된 움직임을 정밀하게 고속으로 반복하지만, 환경의 변화에 대한 유연성을 갖고 있지 않다.
엔지니어는 티칭 박스를 사용하여 최적의 움직임을 사전에 정의하고 로봇 팔은 그 움직임을 재현하는 작업을 한다. 이 방식의 전제는 작업 대상 물체는 매번 정해진 위치에 결정된 자세로 반드시 존재하는 것이다. 이 전제가 충족되지 않을 경우, 현재 로봇을 사용할 수 없다. 그런 의미에서 산업용 로봇의 본질은 3차원 공간에서의 3 내지 7의 자유도를 가진 이동 기구이다.
그러나 만약 3차원 공간을 지각하는 3차원 센서가 있으면, 그 결과에 맞춰서 로봇을 제어하고 매니퓰레이션하는 것이 원래 가능해 작업 대상 물체가 정해진 위치에 결정된 자세로 존재하지 않아도 작업이 가능하다. 그러면 상기의 전제를 상당히 완화할 수 있어 로봇의 적용 범위는 크게 확산된다.
3차원 비전의 발달에 의해 그것을 전제로 하는 지능을 가진 매니퓰레이션 로봇이 크게 성장하고 있다. 다양한 핸드의 개발과 함께 원리적으로는 공장이나 창고에서 일하는 단순 노동은 모두 로봇이 대체할 수 있으며, 사람은 작업 공정을 엔지니어링이나 관리하는 것에 전념한다. 이렇게 되면, 현재 연산 10만 대 미만의 산업용 로봇은 연산 100만 대 정도로 증가하고, 로봇 비전센서도 연산 수십만 대가 될 것이다.
徐 剛
3차원미디어, 리츠메이칸대학 정보이공학부
本 記事는 日本 「計測自動制御學會」가 發行하는 「計測と制御」誌와의 著作權協定에 依據하여 提供받은 資料입니다.
게재월 | 2018 - 03
254444
0