상세 컨텐츠

본문 제목

Elevation Mapping 구현을 위한 논문 분석 - 1

Robotics

by 연 수 2025. 1. 17. 10:01

본문

반응형

Elevation Mapping for Locomotion and Navigation using GPU 논문 

  • Abstract :
    • 주변 환경을 인식하는 거은 자율 이동 로봇에게 매우 중요 
    • Elevation Map은 지상 로봇을 위해 메모리 효율적이고 단순하지만 강력한 기하학적 표현을 제공
    • 이를 통해 미지의 환경에서의 탐색 또는 거친 지형 위에서의 Locomotion Control을 수행할 수 있음 (지각적 이동 제어)
    • 추가적으로 Smoothing, Inpaintin, Plane Segmetation 등 다양한 후처리 단계가 포함됨 
      • 어떻게 구현하는지 고려
    • GPU를 활용하여 빠르고 효율적인 처리를 제공하는 고도 매핑 파이프라인 제안하며, 탐색과 이동을 위한 추가적인 기능도 제공
      -> 다양한 하드웨어 실험을 통해 검증 (DARPA Subterranean Challenge 동안 지하 탐사 및 사족 보행 로봇의 다양한 실험에 성공적으로 배치) 
  • 1. Introduction : 
    • 자율적으로 미지의 환경에서 작동하는 이동 로봇에게는 온보드 센서를 사용하여 주변 환경을 인식하는 것이 매우 중요
    • 제한된 센서 범위를 극복하기 위해 센서 측정값을 시간에 따라 융합하면서 지도를 생성
      • Occupancy Grid : 평탄한 지형에서 장애물을 피하며 실내 내비게이션에 적합
        • 2D 지도는 각 셀이 점유되었는지 여부를 나타냄. 따라서 로봇은 피하면서 목표 지점으로 경로를 계획할 수 있음 
        • 그러나 경사면이나 계단과 같은 거친 지형에는 적합하지 않음
      • 2.5D Elevation Map
        • Occupancy Grid의 문제를 해결하기 위해 사용 
        • 각 셀의 높이 정보를 젖아하여 지형 기하를 표현 
          • 다층 구조를 표현할 때, Multi-level Surface Map을 생성해야함
      • 3D Voxel Grid
        • 3D 공간 정보를 나타내기 위해 Voxel을 사용 
        • 점유 확률은 센서 측정값을 기반으로 업데이트 
        • 2.5D 지도보다 일반적인 구조를 모델링할 수 있지만, 동일한 그리드 크기를 가정할 때 메모리 요구량이 높음
    • 거친 지형 탐색 
      • 기하학적 특징을 기반으로 Costmap을 계산하여 플래너에 사용됨
      • Foothold Score (발 디딜 위치 점수)를 사용하여 경로 계획
    • 사족보행 로봇 
      • Elevation Mapping을 사용하여 이동 제어를 수행 
      • 발판 선택 및 경로 계획에 사용되며, 탐색 및 이동 작업을 수행하려면, 실시간으로 고도 지도를 생성하고 후처리를 수행해야함. 
    • 기존 접근 방식 
      • CPU 기반의 지도 생성 
        • 깊이 측정값을 기반으로 로봇의 지역 좌표계 변환 및 각 셀의 지형 높이를 Kalman FIlter 방식으로 업데이트 
      • GPU 기반 최근 접근 방식 
        • 지역 지도 업데이트 연구가 존재하지만, 대규모 범위 탐색에 맞춰져 있음 (사족보행 로봇의 세밀한 기하 표현 X)
      • Voxel 사용 방법 
        • 3D 지도를 2D Grid로 투영하기 위해 복셀을 사용 -> 많은 메모리 요구
      • 논문의 Contribution 
        • GPU 기반 Elevation Mapping 프레임워크 제안 
  • 2. Methods :
    • GPU 기반 Elevation Mapping 지도 생성 방법론과 탐색 및 이동 제어를 위한 추가 기능 설명 
      • 파이프라인 개요 (Section II-A)
        • 입력 데이터는 depth sensor로부터 수집된 point cloud와 로봇의 추정 위치 정보
          • SLAM 기반의 위치 추정 or Odometry Systems에서 제공
        • 데이터를 GPU로 전송 -> ROS TF 를 통한 지도 변환 
          • height drift 오류를 계산하여 downstrearm process를 위해 저장 
          • 높이 오류를 기반으로 지도를 이동시켜 최신 센서 측정값과 일치하도록 조정 
          • 각 측정값에 따라 높이 업데이트
        • ray-casting 진행 : 관통된 객체 제거 및 상한 계층 (upper-bound layer) 업데이트 
        • 셀 단위 작업 : 
          • 중첩 제거(overlap clearance), 탐색 가능성 추정 (traversability), Normal calculation, 추가 필터링 진행
        • 사용자가 정의한 주기로 지도 데이터를 CPU 메모리로 전송해 ROS GripMap Msg로 게시 진행
      • 지도 업데이트  (Section II-B, II-C)
        • II-B. Implementation Details 
          • ROS 프로세스 간의 통신 
          • Cupy : GPU 병렬 계산 구현
            • Python 기반의 간단한 API와 사용자 정의 CUDA 커널을 사용할 수 있음 
            • PyTorch와 같은 딥러닝 프레임워크와 GPU 메모리를 공유 가능
          • ROSCPP 사용 : rospy의 ROS 메시지 직렬화 속도가 느리기 때문
        • II-C. Height Cell Update 
          • 셀 높이는 Kalman Filter를 통해 업데이트 진행
          • CUDA 커널을 사용해 각 점을 병렬로 처리 
            • 셀 높이 추정 / 센서 노이즈 모델 / 셀 분산 업데이트를 통해 계산 
      • 지도 품질 향상을 위한 기능 (Section II-D, II-E, II-F)
        • II-D. Height Drift Compensation
          • 센서 위치의 정확한 추정이 어려워, 로봇의 상태 추정이 드리프트하여 지도에 왜곡 발생
            • 센서 측정값과 현재 지도 높이 간의 차이를 계산하여 지도 조정 
            • 각 점들에 대해 오류를 계산하여, 평균 오류를 지도에 추가 
        • II-E. Visibility Cleanup -> 필요 기능 중 하나 
          • 동적 장애물이 있을 경우, 지도에 오래된 장애물이 남아 지도 업데이트에 방해 
            • Raycasting을 사용해 오래된 장애물 제거 
            • Ray가 특정 셀을 관통했는지 확인 후 제거
            • 최근 업데이트되지 않은 셀만 제거
        • II-F. Overlap Clearance 
          • 다층 구조 환경을 탐색할 때, 상층/하층의 오래된 높이 값이 지도에 남아 문제를 발생
            • 로봇 높이와의 차이가 임계값을 초과하는 값을 제거
      • 탐색 및 사족 보행 로봇 이동에 사용된 후처리 기능 (II-G, II-H, II-I) 
        • II-G. Learning-based Traversability Filter 
          • GPU에서 지도 데이터를 이미 메모리에 로드하여, 효율적인 지형 분석 진행
          • CNN 모델을 사용해 탐색 가능성 값을 출력 - Pytorch로 구현 
        • II-H. Heght Upper Bound Layer
          • Raycasting을 통해 관측되지 않은 셀의 최대 지형 높이를 계산
          • 장애물에 의해 발생한 지도 hole을 찾는데 유용 
        • II-I. Features for Legged Locomotion
          • Mimimum Filter 
            • 지도 완전성을 보장하기 위해 비어 있는 그리드 셀을 주변 높이로 채움
          • Smoothing Filter 
            • Gaussian, Box-blur, Median 필터를 사용해 지도 평활화
          • Plane Segmentation 
            • 최적화 기반 접근 방식에서 지형을 기하학적 형태로 표현하여 계산 시간 단축 
            • 연속적인 평면 영역으로 지도 분할 후, 다각형으로 반환
    • 3. experiments and Results: 
      • Elevation Mapping 프레임워크를 평가하기 위해, 기존의 프레임워크와 비교 진행
      • ANYmal 플랫폼을 사용한 사족보행 로봇의 ocomotion & navigation 실험을 진행 
      • 사용 센서 : Robosense Bpearl LiDARs 2대 + Intel Realsense 4대 
        • A. Baseline Comparison
          • Feature Evaluation : 동일한 데이터를 사용해 map 품질을 비교하며 기능 효과를 평가 
            • Drift Compensation, Visibility Cleanup, Exclusion Area
          • Processing Time Comparision 
            • GPU 기반의 매핑은 Point Cloud 점이 많을 때도 짧은 처리 시간을 유지
        • B. Performance Analysis
          • 높이 드리프트 보정의 효과를 통해, 지도 품질 향상에 기여
          • IMU와 LiDAR SLAM을 결합한 Odometry 사용 시, 시간이 긴 mission에서도 정확도를 유지
          • 다층 구조에서 오래된 데이터 제거를 통해 이동 경로의 명확성을 확보
        • C. Locomotion and Navigation Applications 
          • Local Path Planning - DARPA Subterranean Challenge에서 로컬 탐색에 사용 
            • upper bound layer 및 traversablity를 계산하여 안전한 경로 계획 
          • Using elevation map for locomotion : reinforcement learning-based controller를 사용하여 elevation mapping의 각 발 위치 데이터를 샘플링 이후, 보정된 odometry와 결합하여 미끄러짐으로 인한 odometry 드리프트 완화
        • D. Legged Locomotion
          • Learning-based Locomotion
            • DARPA SubT Challenge에서 사용된 컨트롤러
          • Model-based Locomotion
            • 필터링 및 평면 분할로 계산 속도 최적화
            • 가상 바닥 계산으로 발판 제약 정의
    • 4. Conclusion:
      • 논문에서는 GPU 기반의 Elevation Mapping 파이프라인을 제시 
        • GPU 가속화를 통해 Point Cloud 처리 속도가 기존의 SW와 비교하여 더 효율적 
        • 추가적인 후처리 방법을 통해 지도의 신뢰성을 높임 
        • 지도 정확성을 개선 
        • 하드웨어 실험을 통한 유용성 검증 
        • 복잡한 지형에서의 사족보행 로봇 이동 제어 지원

 

사족보행 Elevation mapping 예시

 

반응형

'Robotics' 카테고리의 다른 글

Elevation Mapping 구현  (2) 2025.01.24
Elevation Mapping 구현을 위한 코드 분석  (3) 2025.01.17
Nvidia - Isaac ROS Nvblox  (0) 2025.01.10
ROS2 - Isaac SIM 충돌  (2) 2025.01.10
Local Path Planner Survey  (0) 2025.01.09

관련글 더보기