자율주행에서 쓰이는 센서 종류와 역할: 카메라, LiDAR, 레이더, GPS/IMU

대상: 자율주행 시스템을 개발하거나 ROS 환경에서 센서 데이터를 통합하려는 개발자
환경: Ubuntu 22.04 / ROS2 Humble / 차량용 임베디드 환경


1. 문제/주제 요약

자율주행 차량은 주변 인식(Perception)자기 위치 추정(Localization) 을 위해
여러 종류의 센서를 조합합니다.

대표적인 센서 4가지는 다음과 같습니다.

  • 카메라 (Camera)
  • LiDAR (Light Detection and Ranging)
  • 레이더 (Radar)
  • GPS/IMU (Global Positioning System / Inertial Measurement Unit)

이 글에서는 각각의 센서가 무엇을 보고, 어떤 역할을 하며,
ROS에서 어떻게 쓰이는지를 이해할 수 있게 정리합니다.


2. 전체 개념: 센서 융합 (Sensor Fusion)

자율주행 시스템의 센서 구성은 보통 다음과 같은 계층으로 나뉩니다.

역할주요 센서설명
인식 (Perception)카메라, LiDAR, 레이더주변 객체 감지 및 거리 추정
위치 추정 (Localization)LiDAR, GPS, IMU자기 위치 계산
제어/계획 (Control/Planning)모든 센서 종합주행 경로 계산, 장애물 회피

즉, 한 가지 센서만으로는 완전한 인식이 불가능하고,
서로의 약점을 보완하는 구조로 설계됩니다.


3. 센서별 역할 및 특징

(1) 카메라 (Camera)

  • 원리: 가시광선 이미지 촬영
  • 출력: RGB 영상 (sensor_msgs/Image)
  • 장점
    • 높은 해상도 → 차선, 신호등, 표지판 인식 가능
    • 객체 인식(딥러닝)과 궁합이 좋음 (YOLO, OpenCV, TensorRT 등)
    • 가격이 저렴하고 설치 용이
  • 단점
    • 날씨/조명에 취약 (야간, 역광, 비, 눈 등)
    • 깊이(거리) 정보 없음 → Stereo나 Depth Camera로 보완
  • ROS 예시 노드 /camera/image_raw /camera_info
  • 대표 패키지
    • usb_cam, cv_camera, image_transport, camera_info_manager

💡 사용 포인트: 객체 인식, 차선 검출, 신호등 인식 등 “시각 정보” 중심의 인식에 사용


(2) LiDAR (Light Detection and Ranging)

  • 원리: 레이저 펄스를 발사 후 반사 시간을 측정해 거리 계산
  • 출력: 3D 점군 데이터 (sensor_msgs/PointCloud2)
  • 장점
    • 높은 거리 정밀도 (cm 단위)
    • 360° 스캔 가능 → 주변 지도 생성 가능 (SLAM)
    • 조명에 무관 (주간/야간 동일 성능)
  • 단점
    • 비/안개에 반사 손실 가능
    • 장비 가격이 높고, 데이터량 많음
  • ROS 예시 노드 /scan # 2D LiDAR /velodyne_points # 3D LiDAR
  • 대표 패키지
    • rplidar_ros, velodyne, ouster_ros, livox_ros_driver

💡 사용 포인트: 거리 기반 장애물 인식, 맵핑, SLAM, Localization


(3) 레이더 (Radar)

  • 원리: 전자기파를 발사해 반사된 파동의 시간/주파수 변화를 측정
  • 출력: 객체 거리 + 속도 정보
  • 장점
    • 비, 눈, 안개 등 악천후에도 안정적
    • 속도 정보 직접 측정 가능 (도플러 효과 이용)
    • 감지 거리 길다 (수십~수백 m)
  • 단점
    • 해상도 낮음 (물체 형태 파악 불가)
    • 복잡한 환경에서는 반사파 혼선 가능
  • ROS 예시 노드 /radar/points /radar/detections
  • 대표 패키지
    • continental_arxml, ainstein_radar, radar_msgs

💡 사용 포인트: 전방 충돌 감지, ACC(Adaptive Cruise Control), 속도 추정


(4) GPS + IMU (Localization 센서)

📍 GPS (Global Positioning System)

  • 출력: 위도, 경도, 고도 (sensor_msgs/NavSatFix)
  • 장점: 전 지구적 위치 정보 제공
  • 단점: 실내/터널 등 위성 수신 불가 시 정확도 저하

⚙️ IMU (Inertial Measurement Unit)

  • 출력: 가속도, 각속도, 자세 (sensor_msgs/Imu)
  • 장점: 실시간 자세 변화 감지 가능
  • 단점: 오차 누적 (드리프트 발생)

💡 GPS + IMU 융합(EKF)
→ GPS로 절대위치를 보정하고, IMU로 순간 움직임을 추적
robot_localization 패키지로 구현 가능

  • ROS 예시 노드 /gps/fix /imu/data /odometry/filtered
  • 대표 패키지
    • nmea_navsat_driver, robot_localization, xsens_driver, microstrain_inertial_driver

4. 센서 융합 (Sensor Fusion)

(1) 목적

  • 하나의 센서로는 신뢰도 확보 불가
  • 센서 간 단점을 상호 보완
    예:
    • 카메라가 신호등을 본다
    • LiDAR가 거리 측정
    • GPS/IMU가 차량 위치 추정

(2) ROS2에서의 융합 예시

  • Perception layer
    vision_msgs, point_cloud_to_laserscan, lidar_camera_fusion
  • Localization layer
    robot_localization (ekf_localization_node, navsat_transform_node)
  • Planning/Control
    nav2, autoware.auto, lgsvl 등에서 통합 처리

5. 비교 요약표

구분카메라LiDAR레이더GPS/IMU
데이터 형태이미지3D 점군거리·속도위치·자세
정밀도중간높음낮음위치 오차 있음
날씨 영향중간작음GPS 의존
장점시각 정보거리 정확악천후 강함전역 위치 추정
단점조명 의존가격 비쌈해상도 낮음오차 누적
주요 용도차선, 객체맵핑, SLAMACC, 추돌 방지Localization
ROS 메시지ImagePointCloud2RadarDetectionNavSatFix, Imu

6. 정리

  • 자율주행 센서는 카메라·LiDAR·레이더·GPS/IMU로 구성되며,
    각기 다른 특성을 가진 데이터를 융합해야 완전한 인식이 가능하다.
  • 카메라는 시각 인식, LiDAR는 정확한 거리, 레이더는 속도 추정,
    GPS/IMU는 위치 추정 역할을 담당한다.
  • ROS에서는 각 센서의 데이터를 표준 메시지(sensor_msgs)로 통합 처리할 수 있으며,
    robot_localization 등으로 융합하여 자율주행의 핵심 기반을 구축한다.

댓글 남기기