상세 컨텐츠

본문 제목

Elevation Mapping 구현을 위한 코드 분석

Robotics

by 연 수 2025. 1. 17. 16:49

본문

반응형

Elevation Mapping 구현을 위한 코드 분석

  • Elevation Mapping Cupy - Repo 분석
  • Key Features (with Github)
    • Height Drift Compensation: Tackles state estimation drifts that can create mapping artifacts, ensuring more accurate terrain representation.

    • Visibility Cleanup and Artifact Removal: Raycasting methods and an exclusion zone feature are designed to remove virtual artifacts and correctly interpret overhanging obstacles, preventing misidentification as walls.

    • Learning-based Traversability Filter: Assesses terrain traversability using local geometry, improving path planning and navigation.

    • Versatile Locomotion Tools: Incorporates smoothing filters and plane segmentation, optimizing movement across various terrains.

    • Multi- Modal Elevation Map (MEM) Framework: Allows seamless integration of diverse data like geometry, semantics, and RGB information, enhancing multi-modal robotic perception.

    • GPU-Enhanced Efficiency: Facilitates rapid processing of large data structures, crucial for real-time applications.

  • elevation_map_msgs
    • msg / ChannelInfo.msg (channel names) & Statistics.msg (pointcloud_process_fps)
    • srv / CheckSafety.src (Estimate of the traversability of the path) & Initialize.srv
  • elevation_mapping_cupy
    • elevation_mapping_ros.py 
      • point_cloud data와 depth image를 subscribe하여 Gridmap 데이터를 publisher 한다.
    • map_initializer.py 
      • 지형 데이터를 초기화하며, griddata를 활용하여, 주어진 좌표 값을 바탕으로 지형 맵 데이터를 interpolation(보간)
    • parameter.py 
      • elevation mapping 시스템에서 사용되는 설정 및 파라미터 관리 
    • segmantic_map.py  -> 여기를 확인해서, image와 point cloud를 좀 확인해야할 듯 
      • elevation mapping에서 사용되는 의미론적 지도 (segmantic map)를 정의하고 업데이트 하는 모듈 
      • 포인트 클라우드 데이터 지도 변환 (특정 알고리즘으로 데이터 처리 ex) class_max, class_bayesian)
      • 이미지 데이터 처리 -> 지도 데이터로 융합 (RGB또는 특정 채널로 분리해 저장)
      • 실시간 지도 업데이트 및 Shift 처리
    • traversability_filter.py
      • 이동 가능성(Traverablity)를 평가하는 필터를 구현한 모듈
      • PyTorch와 Chainer를 사용해 네트워크를 정의 (프레임워크 성능 비교)
        • Elevation Mapping data를 입력으로 받아 CNN 필터를 통해 지도 생성
      • 지형 데이터를 기반으로 이동 가능한 영역을 계산
    • traversability_polygon.py
      • Traverablity 관련된 다각형 영역을 계산하고 평가 / 로봇이 지형 

 

 

내코드 보완 사항

1. 높이 드리프트 보정: 현재 코드에서는 구현되지 않음. GitHub 코드에서 구현 방식 참고.
2. 가시성 정리 (Visibility Cleanup): 현재 코드에서 동적 장애물을 제거하는 방식이 없음.
3. 상한 계산 (Upper Bound Calculation): 지도 업데이트에서 상한을 사용하는 방식 구현 필요.
4. 여러 센서 융합: 현재는 단일 LiDAR 기반이지만, GitHub 코드처럼 Realsense 같은 깊이 센서 데이터를 추가적으로 활용할 수 있음. -> segmantic_map.py 참고

5. update_pose : 로봇의 현재 위치를 업데이트하여, elevation mapping을 해당 위치로 이동해야함 

 

반응형

'Robotics' 카테고리의 다른 글

Isaac Sim 2023.01 / Go2-Omiverse 테스트 진행  (0) 2025.02.11
Elevation Mapping 구현  (2) 2025.01.24
Elevation Mapping 구현을 위한 논문 분석 - 1  (1) 2025.01.17
Nvidia - Isaac ROS Nvblox  (0) 2025.01.10
ROS2 - Isaac SIM 충돌  (3) 2025.01.10

관련글 더보기