이번에 제가 다루게될 주제는 Introduction to range Sensing & Lidar Technology입니다. 즉, 거리를 측정하는 센싱기술에는 어떠한 것들이 있는지 알아보겠습니다. 해당내용은 경희대학교 이순걸교수님 외부세미나(2019 세종대) 발표내용으로 http://www.kocw.net/home/search/kemView.do?kemId=1358399 에 공개되어있습니다. 좀더 자세한 내용은 해당 링크를 참고하시면 되겠습니다.
거리를 측정하는 센싱기술에는 크게 3가지가 있습니다.
- 초음파 (Supersonic)
- 라이더 (LAIDAR)
- 레이더 (RADAR) (이번 x-revie에서는 다루지 않겠습니다.)
일반적으로 위와같은 용어들로 불려지게 됩니다. 가끔 다른용어들로 불러지기도 해서 혼동을 야기하기도 하는데 그에대해서는 세미나영상이나 위 kocw영상을 참고 하시고 x-review에서는 이 부분은 간략하게 넘어가겠습니다.
1. 초음파 (ultrasound)
초음파의경우 propagation delay이용하여 거리를 측정합니다. 공기중의 매질이나 습도에 민감합니다. 일반적으로 박쥐가 초음파를 사용하는 것은 잘 알려진 상식입니다. 신비롭게도 박쥐의 경우 습도, 매질에 영향 오차를 스스로 보정하는 능력이있습니다. 그러나 사람의경우 현재의 기술로는 정확하게 보정하는데 많은 어려움이 있습니다. 따라서 정확도가 떨어지고, 불확실성이 높아지게 됩니다. 또한 빛을 이용한 센서류들과는 달리 음파이므로 직진성이 떨어집니다. 먼거리를 측정할경우 음파의 확산으로 인하여 오차가 발생하게됩니다. 따라서 넒은 범위를 측정하는데 쓰이거나, 가까운 거리를 측정할때만 사용이 가능합니다.
초음파를 이용한 거리의 측정은 propagation speed of sound와 time of flight를 이용하여 측정할 수 있습니다. 위에 사진에는 time of flight와 c 거리 d에 대한 식이 나와있습니다. 해당 식들을 보시면 음속이 왜 매질에 영향을 많이 받는지 알 수 있습니다.
오른쪽 아래 보시면, 발광부와 수광부가 신호를 주고받고 있습니다. 해당 그림에는 발전기와 검출회로라고 표현이 되어있는데 같은 표현입니다. (ppt보다 이순걸 교수님이 직접 말로 사용하신 표현대로 발광부와 수광부라고 칭하겠습니다.) 로봇이나 자동차등에서 초음파센서를 사용하기 위해서는 이 발광부와 수광부를 구매해야합니다. 이때 세트로 구매하는 경우도 있지만, 각각 따로 구매하는 경우도 있습니다.
그렇다면 초음파 센서는 어떠한 경우에 사용하고 갖는 장점이 무엇일까요? 위에서 언급한 여러가지 단점들에도 불구하고 초음파센서가 사용되는 이유는 다음과 같습니다.
- 넓은 range 측정가능
- 물체 존재 여부에 대해서는 꽤 정확히 측정가능
- 짧은 거리는 나쁘지 않은 정확도로 측정가능
우리는 이중에서도 ‘짧은 거리는 나쁘지 않은 정확도로 측정가능’이란 표현을 좀더 구체적으로 이해할 필요가 있습니다. 뒤에서 나오게될 빛을 이용한 센서들의 경우 짧은 거리의 time of flight를 측정하는데 상당히 어려움이 있습니다. 빛이 워낙 빠르기 때문에 짧은 거리의 경우 몇 나노 second 밖에 되지 않습니다. 하지만, 초음파의 경우는 빛보다 훨씬 느리므로 측정을하는 작업이 비교적 용이합니다.
로봇이나 자동차에서의 초음파 센서는 일반적으로 40~180 정도의 kHz를 사용합니다. 이때 초음파를 발생시키는 장치에는 주로 피에조센서 라고 불리는 압전소자가 사용됩니다. 압전소자란 압력이 가해지면 전하가 발생하는 작은 부품을 말합니다. 이에대해 더 궁금하신분들은 https://www.hbm.com/kr/7318/how-does-a-piezoelectric-force-transducer-work/ 해당 링크에 있는 설명을 읽으시면 도움이 될겁니다. 일반적으로 목적에따라 로봇에 사용하는 초음파센서의경우 15도, 자동차의 경우 15도 내외의 정보를 판독합니다.
하지만, 초음파 센서에는 또 다른 단점이 있습니다. 그는 바로 도플러이펙트와, 간섭현상입니다. 도플러이펙트는 거리가 멀때 커지고, 간섭현상은 코너를 측정할때 커지게 됩니다. 따라서, 해당 포인트들을 측정할때에는 부정확한 결과가 초래될 수 있습니다.
2. LIDAR 라이다
다음으로 소개할 기술은 레이저를 이용한 거리측정 기술인 라이다 입니다.
라이다가 제일먼저 사용된 학문은 사실 Topography이라고 불리는 지형학입니다. 비행기에 라이다 센서를 부착하여 지형을 mapping하는 용도로 사용했습니다.
해당 사진을 보시면 최신 라이다 영상에서는 0.1미터의 간격까지도 contour할 수 있는 분해능이 높은 라이다 영상을 보실 수 있습니다. (이때의 colour정보는 거리에 따라 임의로 부여한것으로 실제 RGB정보와는 다를 수 있습니다.)
이렇게 Topography 에서 사용되던 라이다 기술이 자율주행이나 로봇등에 사용될 수 있게된 것은 라이다 기술의 발전과 관계가 있습니다. 위에서 언급했듯, 짧은거리의 거리측정은 몇 나노초 밖에 안되므로 상당히 정확해야합니다. 따라서 Topographic 라이다 처럼 긴 거리를 측정하는데만 사용이 되었습니다. 그러나 기술이 발달하며 그 한계를 극복하기 시작했습니다. 이제는 라이다 기술이 자율주행, 로봇공학 쪽에서 없어서는 안될 기술로 자리잡았습니다.
해당 내용은 라이다 센서의 원리에 대한 내용입니다. 초음파와 측정원리는 크게 다르지 않습니다. 다만, 라이다는 빛을 사용하기 때문에 빛의 성질을 나타내는 수식들이 사용됩니다. 해당 ppt에 오타가 있는데 람다는 60nm입니다.
라이다 센서의 종류는 크게 2가지가 있습니다. 저희가 알고있는 방식은 대부분 우측의 센서회전식이며, 미러회전식에 비해 많은 이점이 있기 때문입니다. 센서회전식의 경우에는 내구성이 낮고 전원을 공급하는 슬립링의 가격이 비싸다는 단점이 있습니다. 그럼에도 불구하고 센서 회전식이 많이 사용되는 이유는 다채널을 사용하기위한 어셈블리의 용이성에 있습니다. 라이다에서 채널이 의미하는 것이 무엇인지에 대해서는 뒤에서 자세히 다루겠습니다.
이번에는 라이다 센싱기술을 수학적인 식으로 이해해보겠습니다. 식을 이해하기전 해당식이 의미하는 바를 먼저 알아보겠습니다. 해당식은 라이다로 측정한 포인터들을 1개의 직선으로 만드는 최적의 알파와 r 값을 찾는 과정입니다. 이때 알파와 r은 극좌표계상의 각도 알파와 수직거리 r입니다. (cartesian coordinate상에 표기해도 무방하지만, 해당 ppt에서는 polar coordinate로 나와있기 때문에 이 기준에 맞춰 설명하겠습니다.)
먼저 S의 정의를 알아봅시다. S는 직선에서 벗어나는 수직거리의 제곱입니다. 쉽게 이해하자면 오차라고 생각하시면 됩니다. 이때 제곱을 한이유는 오차가 커질경우에 대해서 더 높은 패널티를 부과하기 위함입니다. 우리는 이 S를 최소화 시키기 위해서 S를 편미분 해줍니다. S는 알파와 r의 좌표로 이루어져있기 때문에 각각 알파와 r로 편미분해줍니다. 그리고 그 식을 정리하면 r와 S가 0이 되는 극점을 찾을 수 있게됩니다. 이와같은 방식으로 d를 최소화시키는 알파와 r의 값을 찾습니다. 그리고 측정된 포인터들의 점을 한개의 직선으로 만듭니다. 직선에서 너무 벗어난 점들의 경우 아예 사용을 안하기도 합니다.
라이다 센서에서 채널이란 쉽게표현하면 1회전을 할때 그을 수 있는 직선입니다. 예를들면, 128 채널이면 1회전당 128개의 센서로 128개의 줄을 긋는다고 생각하면 됩니다. 쉽게 표현하기 위해서 ‘줄을 긋는다’라는 표현을 썻지만, 실제로는 줄이 아닌 포인터마다 데이터를 측정하는 것 입니다. 즉, 채널의 수가 많아질수록 좀더 많은 데이터를 수집하는 것이 가능해지고, 더 높은 정확도를 가집니다.
높은 채널의 라이다 센서는 값이 비쌉니다. 그래서 낮은 채널의 라이다 센서를 사용하거나, 이를 중첩하여 사용합니다. 위의 사진에서는 데이터 처리를 어떤식으로 하는지 잘 알려주고 있습니다. 데이터가 너무 많은경우 merge를 하고, 너무 적은경우 interpolation을 하여 채워넣기도 합니다. 채널이 낮은 라이다 센서의 경우 같은 곳을 여러번 탐색하고, 얻은 데이터를 중첩하여 사용하기도 합니다.
해당사진은 Stanford 대학교에서 128채널 라이다 센서를 이용한 자율주행 차량 실험 영상입니다. 상당히 높은 정확도를 가지고 우수한 성능을 보여주었습니다. 하지만 아직 비용적인 문제로 상용화에는 어려움이 있습니다. 세미나의 내용을통해 짐작해보면 2019년엔 약 2억, 현잰 약 1.2억 정도 한다고 합니다. 아직 상용화가 되기에는 너무 비싼 가격이지만, 빠른속도로 가격이 떨어지고 있음을 알 수 있습니다.
128같은 높은 채널의 라이다는 비싸기 때문에 비용적인 문제로 낮은 채널의 라이다 센서와 RGB카메라 데이터를 동시에 사용하기도 합니다.
RGB카메라와 LIDAR를 동시에 사용할 경우에 다음과같은 투영변환이 필요합니다. 이는 affine 변환과 이론이 흡사합니다. 다만 강체의 경우 scaling 될 수 없기 때문에 rotation과 translation만 고려해야합니다. RGB 정보와 LIDAR 정보를 동일 평면상에 mapping 시키면 두개의 정보를 비교해가며 판단 할 수 있습니다. 즉 로봇에게 더 높은 수준의 지능을 부여할 수 있습니다.
해당 사진은 실제로 RGB카메라와 LIDAR기술을 적용한 사례입니다. RGB 정보를 이용하여 feature를 탐색하고, LIDAR 정보로 거리를 측정하여 calibration 할 수 있습니다.
글을 작성하다보니 3D 라이다가 무엇인지 빠진거 같아서 추가내용을 작성합니다. 3D라이다에 대한 질문은 세미나 중에서도 나왔던걸로 기억합니다. 위에서 라이다 센서가 한바퀴 회전하는 것을 직선을 긋는다고 표현했습니다. 이때의 직선을 2D로 보면됩니다. 이 부분이 조금 헷갈렸는데 그 이유는 수학에서 선은 1차원 이기 때문입니다. 하지만 라이다 센서에서의 직선은 한개의 평면에대한 탐색입니다. 다만 탐색영역이 작아서 직선으로 보이는 것 입니다. (만약 제가 이해한 내용이 틀리다고 생각되면 댓글로 남겨주세요.)
우리는 이 직선을 각도를 바꿔주며 여러번 그러줍니다. 즉, 2D data가 모여서 3D 데이터가 형성이 되는것 입니다. 이를 3D 라이다 라고합니다.
리뷰 감사합니다. 초음파가 온도와 습도에 민감하다고 하셨는데, 제가 알기로는 초음파는 물을 통과합니다. 때문에 습도에 강인하다고 느껴지는데, 억측일까요?
통과하는 것과는 별개의 문제라고 생각합니다. 매질이 공기인 경우에 거리를 계산할때 c= sqrt(감마* R*T) term이 사용되는데 이때, 감마가 specific heat, R은 gas constant, T는 절대온도입니다. 이때 R은 기체 1몰을 1K 올리는데 사용되는 에너지로 정의됩니다. 공기의 습도가변하면 specific heat이 바뀌게 되고, 이는 R과 감마에 영향을 줄것입니다.
즉, 매질이 균일하면 상관없지만, 측정하는 영역의 매질이 불규칙적이면 매질에따라 영향을 받게됩니다. 따라서 매질에 강인하다고 할 수 없습니다.