1. 서 론
배터리 기반의 친환경 전기차 부품소재 기술의 성장으로 스마트 EV(electric vehicle) 관련 산업의 다양성이 증가하고 있다[19]. 주행 성능을 좌우하는 모터 및 인버터 기술 개선과 충전 용량 증가, 시간 단축을 위해 고전압 케이블, 커넥터, 컨버터 등 과급기 기술 개발이 활발히 진행되고 있다[4,13,15]. 전기 자동차, 소형 전기 트럭, 농업용 운송 카트, 휠체어, 상용차, 건설 기계 산업의 추세도 전기구동을 사용하는 형태로 변화하고 있다[21]. 국내에서 2030년까지 내연기관차 판매를 금지하는 법안이 국회에 제출됐으며, 배터리 기반 친환경 전기차 부품 소재 기술 성장으로 스마트 EV 및 전기차 부품 관련 산업의 성장이 기대된다[8]. 환경 개선과 차세대 혁신 성장 동력 창출을 위한 정부 정책, 기술과 사업의 지원을 통해 관련 산업의 성장이 가속화되고 있다.
물류, 제조, 식품, 농업, 서비스 등 노동집약적 산업에서는 오랫동안 자동화에 투자하고 연구해 왔다. 이에 따라 최적화, 생산성 관리, 작업관리 등 산업공학 향상을 위해 공정별로 자율이동로봇(AMR: Autonomous Mobile Robots), 협동로봇 등 다양한 형태의 로봇이 활용되고 있다[2,12,14,22].
모바일 형식 전기구동 플랫폼에서 배터리 충전은 단순한 전기 에너지를 전기차 배터리에 저장하는 것이 아닌 여러 파생 비즈니스를 생성시킬 수 있는 다양성을 지니고 있다[20]. 무인 자동차 산업에 동반되어야 할 기술은 바로 EV 충전 기술이 적용된 EV 자동충전장치(ACD: automatic charging device)이다[18]. 사람 없이 스스로 주행하는 자율이동로봇을 수동으로 충전을 하게 되면 자율 이동로봇의 효용이 극대화되지 않을 것이다[9]. 자동충전 장치는 EV가 무인충전시스템에 접근하면 자동으로 충전 커넥터를 연결 및 분리하는 장치로, 운전자가 개입하지 않고도 충전 커넥터를 연결 및 분리할 수 있도록 설계되었다. 자동충전장치는 크게 무선 충전 장치, 하부자동충전 장치(ACDU: automatic charging device underbody), 측면자동충전장치(ACDS: automatic charging device sidebody) 로 구분된다[1].
본 논문에서는 측면자동충전장치 방식으로 분류되는 단안 카메라, 다관절 로봇, 그리퍼, 서버 등의 하드웨어로 구성된 무인 충전시스템이 충전단자 도킹과 언도킹 기술을 이용하여 자율이동로봇을 무인으로 충전하는 기술에 대한 연구를 수행하였다. 특정 크기의 사각형 모양의 랜드마크가 충전단자에 부착되어 PPE(plane-based pose estimation) 알고리즘을 이용하면 단안 카메라로도 정확한 위상을 인식할 수 있다. 단안 카메라로부터 수신된 영상을 서버에서 분석하고, 분석된 충전단자의 인식 정보는 TCP/IP 통신 프로토콜을 통해 다관절 로봇과 그리퍼로 전송되어 도킹 및 언도킹 작업을 수행한다.
2. 이론적 배경
2.1 좌표계
카메라를 이용하여 충전단자 등의 대상을 인식하고 대상의 기하학적 정보를 다관절 로봇 등 다른 모듈의 하드웨어에 전달하여 작업을 수행하기 위해서는 공간정보, 즉 좌표계에 대한 이해가 필요하다[10]. 카메라 모델에 일반적으로 사용되는 좌표계는 월드 좌표계(world coordinate system), 카메라 좌표계(camera coordinate system), 픽셀 좌표계(pixel coordinate system), 일반 좌표계(normal coordinate system) 네 가지 유형으로 나눌 수 있다[7].
월드 좌표계란 물체의 위치를 3차원 좌표계로 표현할 때 기준으로 사용되는 좌표계를 뜻하며, 식 (1)과 같이 표현할 수 있다.
이 좌표계는 문제에 따라 사용자가 임의로 설정하여 사용할 수 있다. 본 연구에서는 충전단자를 파지하는 그리퍼를 기준으로 월드 좌표계를 설정하였다.
카메라 좌표계는 월드 좌표계와 같은 3차원 좌표계로 식 (2)와 같이 표현될 수 있다.
월드 좌표계는 사용자가 임의로 설정하여 변경할 수 있지만, 카메라 좌표계는 카메라 렌즈를 기준으로 삼기 때문에 변경할 수 없다. 렌즈의 중심인 카메라의 초점을 원점으로 하여 카메라 앞의 광축 방향을 z축, 카메라의 아래쪽 방향을 y축, 우측을 방향은 x축으로 표현한다. 카메라 좌표계와 월드 좌표계를 연관시킴으로써 두 좌표계 사이의 회전 및 평행이동 변환으로 표현되는 외부 매개변수(parameter)를 사용하여 두 좌표계를 이동할 수 있다.
픽셀 좌표계는 2차원 좌표계로서 영상 좌표계라고도 하며 식 (3)과 같이 표현될 수 있다.
픽셀 좌표계는 영상의 왼쪽 상단이 원점, 오른쪽 방향이 x축 증가 방향, 아래쪽 방향이 y축 증가 방향이 된다.
마지막으로 설명할 일반 좌표계는 2차원 좌표계이다. 위에서 언급한 세 가지 좌표계는 모두 직관적인 좌표계이지만, 일반 좌표계는 편의상 도입한 가상 좌표계로 식 (4)와 같이 표현할 수 있다.
일반 좌표계는 픽셀 좌표계에서 카메라 고유 매개변수 행렬 K의 영향을 제거한 좌표계로, 카메라 초점으로 부터의 거리가 1인 가상의 평면을 정의하는 좌표계이다.
여기서, fx와 fy는 각각 x와 y축의 유효 초점 거리(픽셀 단위)를 나타내고, cx와 cy는 각각 x와 y축의 카메라 주점(principal point)을 나타내며, skewx는 카메라 렌즈의 기울기 계수를 나타낸다. 일반 좌표계의 원점은 일반 이미지 평면의 중간점이며 광축(optical axis)과의 교차점이기도 하다.
2.2 렌즈 왜곡 보정
화각(FOV: field of view)이 넓은 광각렌즈나 어안렌즈 등의 초광각 렌즈를 사용하면 넓은 범위를 볼 수 있으나 이는 상대적으로 영상 왜곡이 심한 문제가 발생한다[17]. 이러한 이미지 왜곡은 시각적인 문제 외에도 이미지 분석을 통해 정확한 수치 계산이 필요한 경우 특히 문제가 된다. 예를 들어 영상에서 검출된 물체의 실제 위치를 알기 위해 픽셀 좌표를 월드 좌표로 변환하면 영상 왜곡 정도에 따라 심각한 오류가 발생하게 된다. 렌즈의 물리적 특성과 카메라의 조립 방식에 따라 발생하는 왜곡에는 크게 방사 왜곡과 접선 왜곡 두 가지가 있다.
방사 왜곡은 볼록 렌즈의 굴절률에 의해 발생하며 중심으로부터의 거리에 따라 이미지의 왜곡 정도가 결정되는 왜곡이다. 일반적으로 렌즈 왜곡의 수학적 모델은 카메라 매개변수의 영향이 제거된 일반 좌표계에서 정의된다. 방사 왜곡은 이미지 센서의 중앙에서는 전혀 발생하지 않고 주변으로 갈수록 많이 발생하므로 테일러 급수 (Taylor series)[16]를 사용하여 표현할 수 있다. 방사 왜곡을 나타내는 방정식은 식 (6), 식 (7)과 같다.
여기서, ud_r와 υd_r는 왜곡된 점의 원래 위치를 나타내고, uu_r와 υu_r는 새로 수정된 위치를 나타내고, k1, k2, k3는 방사 왜곡 계수를 나타내며, r은 각 점에서 중심까지의 거리를 나타낸다.
접선왜곡은 카메라 제조과정에서 카메라 렌즈(CCD: charge-coupled device)와 이미지센서(CMOS: complementary metal oxide semiconductor)의 수평이 맞지 않거나 렌즈 자체의 중심이 맞지 않을 때 발생하는 왜곡으로, 왜곡 분포가 타원형으로 발생하는 현상이다. 이는 일반 좌표계에서도 정의된다. 접선 왜곡을 나타내는 방정식은 식 (8), 식 (9)와 같다.
여기서 ud_t, υd_t는 왜곡된 점의 원래 위치를 나타내고, uu_t, υu_t는 새로 수정된 위치를 나타내며, p1, p2는 접선 왜곡 계수를 나타내며, r은 각 점에서 중심까지의 거리를 나타낸다.
위에서 언급한 바와 같이, 렌즈 왜곡의 수학적 모델은 일반 좌표계에서 정의되므로, 왜곡의 제거를 위해 카메라 고유 매개변수(식 (5))의 역행렬 K- 1 과의 곱셈을 통해 카메라 좌표(식 (3))는 정규 좌표(식 (4))로 변환된다. 추가적으로 식 (6)~식 (9)를 적용하여 왜곡이 보정된 다음 K와의 곱을 통해 다시 카메라 좌표로 변환하여 왜곡이 제거된 영상으로 시각적으로 표현할 수 있다.
2.3 ArUco 마커
ArUco 마커는 넓은 검정색 테두리와 식별자(id)를 결정하는 내부 이진 행렬로 구성된 복합 사각형 마커이다 [11]. 검은색 테두리는 이미지의 빠른 감지를 용이하게 하며, 이진 코드화를 통해 오류 감지 및 수정 기술을 식별하고 적용할 수 있다. 마커 내부의 행렬 크기가 마커가 나타낼 수 있는 데이터의 크기를 결정한다. 예를 들어, 4×4 크기의 마커는 16비트를 나타낼 수 있으며 0부터 65,535까지의 숫자를 나타낼 수 있다. 마커는 카메라의 촬영 방향에 따라 회전되어 식별될 수 있지만 감지 과정은 각 모서리를 명확하게 식별해야 하며 이는 이진 코드화를 기반으로 수행된다. 특정 어플리케이션 마다 정의된 마커 모양에 따른 이진 코드화 목록을 마커 사전이라고 한다.
마커를 검출하는 과정은 이진화, 윤곽 추출, 원근 변환, 그리드 분할, 정보 추출의 5단계로 나누어진다. 먼저, 입력 영상을 회색조(gray scale) 영상으로 변환한 후 적응형 임계값을 적용하여 영상을 이진화한다. 이진화가 완료되면 검출된 영상의 도형 정보를 기반으로 마커 후보를 필터링한다. 윤곽선(contour)을 추출하여 도형에 대한 정보를 얻고, 꼭지점이 4개이고 볼록한 다각형의 형태를 가지는 도형(직사각형만 두 조건을 만족함)의 경우 마커 후보로 남겨둔다. 세 번째로, 윤곽선 추출 과정에서 얻은 4개의 꼭지점 정보를 이용하여 원근 변환을 수행한다. 원근 변환을 수행하는 이유는 원근에 따른 마커의 왜곡을 제거하기 위함이다. 왜곡이 제거된 마커 후보는 4차 그리드 분할 과정을 수행한다. 사전 정보인 마커의 크기를 기준으로 마커 후보를 그리드 분할 후 그리드 영역에서 흰색과 검은색의 비율(이미지가 이진화되어 있어서 두 가지 색상만 있음)을 결정하고, 양이 많은 경우 흰색이면 영역이 1, 검은색이면 영역이 0으로 대체한다. 마지막으로 대체된 정보를 일렬로 배열하여 정보를 추출한다. 이 정보에 따라 마커의 회전정보를 파악할 수 있고, 마커의 좌측상단 위치를 파악할 수 있으며, 마커의 식별자를 읽어낼 수 있다.
2.4 평면기반 자세추정
일련의 점 대응이 주어진 평면의 자세를 추정하는 PPE[5]는 컴퓨터 비전의 중요한 문제이며 많은 중요한 응용 프로그램의 기초이다. PPE의 의미는 영상에 있는 평면의 정보와 실제 평면의 3차원 좌표 정보를 일치시키는 모델을 추정하는 것을 의미한다. PPE의 중요한 활용법은 카메라 보정으로 카메라의 고유값을 추정하기 위해 PPE를 수행한 다음 내재적/외재적 매개 변수의 결합을 통해 고유값의 정제를 수행하는 방법이다. PPE를 해결하기 위한 방법은 두 가지 주요 범주로 나눌 수 있다. 첫 번째는 관련된 평면 대 뷰(plane-to-view) 호모그래피를 분해하여 PPE를 해결하는 방법이고 이러한 방법을 HD(Homography Decomposition) 방법이라고 한다. 두 번째 번째는 PPE를 포인트 대응에서 일반적인 고정 자세 추정 문제의 특수한 경우로 취급하는 것이다. 카메라가 원근법일 때는 n이 대응수를 나타내는 PnP 문제로 알려져 있다. HD는 평면의 원근법 또는 아핀 투영(affine transformation) 에 의해 유도된 변환이 호모그래피라는 사실을 이용하여 작동한다. 일단 추정되는 호모그래피를 SVD(singular value decomposition)와 같은 메트릭스 분해 방법으로 분해한다면 매우 효율적인 자세 추정을 제공할 수 있다. PnP 방법은 대응 전달 오류(correspondence transfer error)를 최소화하는 방법을 사용하여 자세를 최적화한다. PnP에 대한 연구는 n=3 및 n=4의 특수한 경우 또는 임의의 n으로 문제를 해결하는 데 중점을 두었다. 호모그라피를 분해하거나 대응 전달 오류를 최소화하는 방법 모두 측정된 점들의 위치와 대응되는 예측된 위치의 점들을 비교한 오류를 최소화하는 비용함수 식 (10)을 정의 할 수 있다.
여기서 Ik 는 k × k 의 단위행렬, R는 회전행렬 [ r1 r2 r3 ] , t 는 평행이동을 위한 벡터를 나타낸다. H 를 카메라로 관찰 하면 노이즈가 추가되므로 노이즈 ϵH를 추가하여 적용한 비용함수 는 다음과 같다.
3. 모노비전 방식의 충전단자 도킹 방법
본 논문의 연구에 사용된 다관절 로봇, 충전단자 그리퍼, 단안 카메라, 충전단자, 충전단자 거치대 등의 하드웨어 구성요소는 <Figure 2>와 같다. <Figure 2> (a)는 실험에 사용된 이동형 - 고정형과 이동형 두 가지 시스템이 존재 함 - 무인충전시스템이다. 무인충전시스템 본체 전면에는 충전단자의 도킹과 언도킹을 수행하는 다관절 로봇, 충전단자 그리퍼, 단안 카메라 세트로 구성된다. 단안 카메라가 충전단자와 충전단자 거치대에 부착된 랜드마크를 인식하고, 다관절 로봇과 충전단자 그리퍼의 움직임에 의해 충전단자의 도킹 및 언도킹이 이루어진다. 충전은 무인충전시스템 측 충전단자 <Figure 2> (c) 와 자율이동로봇 측 충전단자 <Figure 2> (d)가 결속되어야 수행되며 충전 이외의 상황에는 무인충전시스템 측 충전단자는 충전단자 거치대 <Figure 2> 2(b)에 결속되어 보관된다.
자율이동로봇의 무인 자동화 충전을 위한 무인충전시스템의 도킹과정은 <Figure 3>과 같은 방식으로 수행된다. 먼저 충전단자 도킹에 필요한 다관절 로봇, 그리퍼, 단안 카메라 등 하드웨어의 작동, 그리고 렌즈 왜곡 보정을 위한 카메라 내‧외부 매개변수, 왜곡계수 정보가 담긴 카메라 켈리브레이션 리소스를 확인한다. 하드웨어와 카메라 켈리브레이션 리소스에 문제가 없다면 단안 카메라로부터 영상을 수신하기 시작한다. 카메라 내부 매개변수를 이용하여 수신된 영상에서 접선왜곡과 방사왜곡을 제거하여 분석 성능을 높인다. 왜곡이 제거된 영상에서 랜드마크를 감지하여 랜드마크를 찾지 못한 경우 랜드마크를 찾을 때까지 다관절 로봇을 임의의 방향과 각도로 이동하여 영상을 재수신하고 왜곡을 제거하는 일련의 과정을 반복한다. 여기서 랜드마크는 ArUco 마커를 사용했다. 탐색된 마커의 꼭지점 정보를 기반으로 PPE 기법을 이용하여 마커의 원근 정보에 해당하는 이동 벡터와 회전 행렬을 계산한다. 도킹과 언도킹은 t 의 각 요소에 해당하는 t_x, t_y, t_z와 Euler-Rodrigues [6] 공식을 사용하여 계산된 r_pan, r_tilt, r_roll을 관절 로봇에 전송하여 수행할 수 있다. 랜드마크 탐색 후 다관절 로봇에 부착된 그리퍼가 랜드마크에 접근하는 동안 단안 카메라는 랜드마크의 위치를 수시로 확인하여 충전단자 분실 등의 안전사고에 대비한다. 도킹이 완료되면 충전이 수행된다.
4. 실험 결과
4.1 하드웨어 구성
실험에 사용된 다관절 로봇은 두산로보틱스의 A0912 모델로, 가반중량(payload)은 9kg, 작업반경은 1200mm, 반복 정밀도는 ±0.05mm이다. 충전단자 그리퍼는 OnRobot의 RG2 v2로, 가반중량 force fit은 2kg, 가반중량 form fit은 5kg, 총 스트로크는 110mm이다. 단안 카메라는 SQ13으로, 155° FoV, 1920×1080 해상도, 프레임 속도는 30fps이다. 서버는 ASUS MiniPC PB60G으로, CPU i5-9400T, GPU GTX1650, 8G RAM, 256GB 저장공간을 갖추고 있다. 충전 단자, 충전단자 스탠드 등 나머지 하드웨어는 자체 제작했다. 통신 구조는 <Figure 4>와 같다. 단안 카메라는 USB를 통해 서버에 연결되므로 서버는 단안 카메라에서 수신된 비디오를 분석하고, 서버와 관절 로봇은 LAN 포트를 통해 연결되므로 분석 결과는 TCP/IP 통신을 통해 전송된다. 다관절 로봇과 충전단자 그리퍼도 LAN 포트를 통해 연결되어 TCP/IP 통신을 수행한다.
4.2 충전단자 인식률 및 인식속도
충전단자 도킹 시스템의 성능을 파악하기 위하여 충 전단자 인식률과 충전단자 인식속도를 평가하는 실험을 실시하였다. EV 자동충전장치의 도킹에 관한 선행연구 [3]가 존재 하나 연구의 방향이 다소 차이가 있어 평가지표를 참조할 수 없었다. 따라서 본 연구에서는 임의로 설정한 지표를 바탕으로 실험을 진행하였다.
충전단자 인식률은 감지범위(1m) 내에서 충전단자를 정확하게 인식하는 비율을 산출하여 평가하였으며, 산출 방법은 다음과 같다.
마찬가지로 충전단자 인식속도는 감지범위(1m) 내에서 충전단자가 성공적으로 감지되었을 때의 감지시간으로 평가하며, 계산식은 다음과 같다.
실험을 위해 개발된 시각화 프로그램은 <Figure 5>와 같다. 랜드마크가 인식되면 시각화 프로그램의 좌측상단에 인식 결과가 표시되고, 우측상단에 인식속도가 표시된다. 무인충전시스템 측 충전단자, 자율이동로봇 측 충전단자, 충전단자 거치대의 시뮬레이션 결과는 각각 <Figure 5>의 (a), (b), (c)와 같이 랜드마크를 중심으로 표시된다. 충전단자 거치대의 경우 인식할 랜드마크도 포함되어 있으므로 실험에 포함시켰으며 집단으로 부를 때는 편의상 충전단자로 통칭하겠다.
3개의 충전단자 각각에 대해 50회의 실험을 수행하였고, 실험 결과는 <Table 1>, <Table 2>와 같다. 충전단자 인식 성공률 시험 결과, 무인충전시스템 충전단자(UCS_CT)의 경우 인식 성공률이 96%, 자율이동로봇 측 충전단자 (AMR_CT)의 경우 인식 성공률이 100%, 충전단자 거치대(CTH)의 경우 인식 성공률이 98%로 전체 평균 98%의 인식 성공률을 나타냈다. 충전단자 인식속도 시험 결과, 무인충전시스템 측 충전단자의 인식속도는 0.0117초, 자율이동로봇 측 충전단자의 인식속도는 0.0083초, 충전단자 거치대의 인식속도는 0.0097초로 평균 인식속도는 0.0099초였다. 충전단자 인식속도 실험의 경우, 로봇의 충전단자 접근 시간을 제외한 시스템의 마커 탐색 시간만을 측정하였다. 이는 로봇이 충전단자 접근하는 시간은 랜드마크의 예측 위치에 따라 달라지기 때문이다.
충전단자 도킹 시스템의 완성도를 평가하기 위해, 충전단자 도킹과 언도킹 성공률을 평가하였다. 도킹과 언도킹 프로세스는 <Figure 6>와 같다. <Figure 6>의 1단계와 같이 다관절 로봇이 충전단자 거치대 또는 자율이동 로봇 측 충전단자 근처로 이동하여 무인충전시스템 측 충전단자를 검색한다. <Figure 6>의 2단계와 같이 검색이 완료되면 그리퍼를 사용하여 무인충전시스템 측 충전 단자를 파지한다. 파지가 완료되면, 무인충전시스템 측 충전단자가 다관절 로봇에 의해 <Figure 6>의 3단계와 같이 자율이동로봇 측 충전단자 또는 충전단자 거치대로 이동한다. 이동 후, 무인충전시스템 측 충전단자가 <Figure 6>의 4단계와 같이 자율이동로봇 측 충전단자 또는 충전단자 거치대를 검색한다. <Figure 6>의 5단계와 같이 검색이 완료되면, 다관절 로봇이 무인충전시스템 측 충전단자를 자율이동로봇 측 충전단자 또는 충전 단자 거치대와 결합하고, <Figure 6>의 6단계와 같이 프로세스가 완료된다.
실험은 도킹과 언도킹을 각각 50회씩 수행하여 성공률을 산출하는 방식으로 진행하였으며, 실험 결과는 <Table 3>에 나타내었다. 충전단자의 도킹 실험을 실시한 결과 성공률은 98%였으며, 언도킹의 경우 100%로 전체적으로 평균 99%의 성공률을 보였다.
5. 결 론
본 논문에서는 단안 카메라, 관절 로봇, 그리퍼, 서버 등의 하드웨어로 구성된 무인충전시스템을 사용하여 충전단자를 자율이동로봇의 충전단자에 도킹 또는 언도킹하여 자율이동로봇의 충전을 자동화하는 연구를 수행하였다. 특정 크기의 정사각형 랜드마크를 충전단자에 부착하면 PPE 알고리즘을 사용하여 단안 카메라로도 정확한 위상을 인식할 수 있다. 특정 크기의 랜드마크가 부착된 충전단자의 위상은 두 개 이상의 렌즈를 포함하는 멀티 렌즈 카메라와 같은 비교적 비싼 장비가 아닌 단안 카메라를 사용하여 분석할 수 있다. 이를 통해 장비 가격 뿐만 아니라 전력 소비 및 운영 비용도 절감된다. 전력이 감소함에 따라 카메라 주변에 LED 조명을 추가하여 탐색 환경의 밝거나 어두움에 관계없이 우수한 감지 성능을 얻을 수 있다. 어두운 환경에서 분석이 가능한 기존 적외선 멀티 렌즈 시스템과 비교하여 자연광이나 할로겐 램프의 영향을 받는 탐색 환경에서도 견고한 탐색을 수행할 수 있다는 장점이 있다.
서버에서 분석한 충전단자의 인식정보는 TCP/IP 통신 프로토콜을 통해 관절로봇과 그리퍼로 전송되어 도킹 및 언도킹 작업을 수행한다. 시스템의 성능을 평가하기 위해 충전단자 인식률과 인식속도를 산출하는 실험을 실시하였다. 실험 결과, 평균 충전단자 인식률은 98%, 평균 충전단자 인식속도는 0.0099초였다. 또한, 도킹 및 언도킹 작업의 성능을 평가하기 위해 도킹 및 언도킹 성공률을 평가하는 실험을 실시하였으며, 실험 결과 평균 성공률 99%가 도출되었다.