LiDAR Point cloud 기반 장애물 탐지
Lidar를 이용하여 장애물 탐지를 진행하기 위해 Online and Tracking of 2D Geometric Obstacle from LRF Data를 채택하여 사용하였다. (2D lidar의 논문 분석 참고)
판단부에서는 기존에 구축된 Map을 이용하여 진행한다. 주행 중 Lidar에서 장애물이 인식되면 회피 주행을 실시하게 되는데 기존 Map에서 장애물을 확인하기 위해 상대적인 장애물 좌표를 Map 상에서의 절대적인 좌표로 변환을 해주어야 했다.
위의 구성도는 Lidar와 GPS, IMU를 이용하여 장애물의 좌표를 절대좌표로 변환하는 과정이다.
Lidar에서 받아온 Raw Data에서 ROI(Region of Interest)를 설정하고 Down Sampling (Voxel Leaf Size = 0.1(m))을 진행하여 연산량을 감소시켰다. 이러한 정보를 바탕으로 Point-cloud의 각 점의 위치를 기반으로 Clustering을 진행하게 된다. 이때의 결과로 구분된 Obstacle의 차량에서의 상대적인 좌표*(X_relative,Y_relative)*를 얻을 수 있다.
이후, Map상에서의 절대 좌표를 얻기 위해 차의 진행 방향(Heading)과 정북 방향의 차이를 이용하여 앞서 구한 상대 좌표에서 회전 변환을 진행했다. 결과로 나온 좌표 (𝑋_𝑟𝑒𝑠𝑢𝑙𝑡, 𝑌_𝑟𝑒𝑠𝑢𝑙𝑡) 에 현재의 위치 (𝑋_𝑐𝑢𝑟𝑟𝑒𝑛𝑡, 𝑌_𝑐𝑢𝑟𝑟𝑒𝑛𝑡) 를 더해줌으로써 최종적으로 Map 상에서의 절대 좌표(𝑋_𝑎𝑏𝑠𝑜𝑙𝑢𝑡𝑒, 𝑌_𝑎𝑏𝑠𝑜𝑙𝑢𝑡𝑒)를 얻었다. 과정은 ROS통신을 통해 진행되며 최종적으로 절대 좌표를 판단부로 전달하여 회피 주행 및 다른 알고리즘에 사용되게 된다.