NvBLox
제목 NvBlox GPU 가속을 이용한 로봇 3D 매핑과 내비게이션 바이블
제1부 이론 및 아키텍처 (Foundations & Architecture)
제1장 NvBlox의 등장 배경과 패러다임 전환
제2장 핵심 데이터 구조와 알고리즘
-
GPU 친화적 데이터 구조 -해시 테이블과 메모리 접근 최적화
2.2.1 복수의 정렬된(Co-located) 복셀 레이어 관리 기법
2.2.2 확장성 -사용자 정의 레이어 추가 및 관리
2.3.0 거리 필드(Distance Field) 생성 원리
2.3.1 TSDF(Truncated Signed Distance Field) -표면 재구성의 수학적 모델
2.3.2 ESDF(Euclidean Signed Distance Field) -장애물 거리 계산과 GPU 가속 알고리즘 (PBA 등)
제2부 개발 환경 구축 및 기본 구현 (Setup & Basic Implementation)
제3장 개발 환경 구성
3.1.0 하드웨어 요구사항 및 선정 가이드
3.1.1 엣지 디바이스 -Jetson Orin Nano / AGX Orin 사양 분석
3.1.2 데스크탑 -x86_64 및 Discrete GPU(RTX 시리즈) 환경 설정
3.2.0 소프트웨어 스택 설치
3.2.1 Ubuntu 및 ROS 2 (Humble/Jazzy) 호환성 체크
3.2.2 Docker 컨테이너 기반의 개발 환경 격리 및 배포
3.2.3 CUDA 및 VPI(Vision Programming Interface) 종속성 관리
제4장 Isaac ROS NvBlox 패키지 구현
4.1.0 isaac_ros_nvblox 패키지 해부
4.1.1 노드(Node) 아키텍처 및 라이프사이클 관리
4.1.2 주요 ROS 토픽 및 서비스 인터페이스 명세
4.2.0 기본 매핑 파이프라인 구축
4.2.1 RGB-D 카메라(RealSense 등) 연동 및 뎁스 이미지 전처리
4.2.2 TF(Transform) 트리 설정 및 오도메트리(Odometry) 동기화
4.2.3 첫 번째 3D 맵 생성 및 RViz 시각화 실습
제3부 고급 응용 및 내비게이션 통합 (Advanced Application & Navigation)
제5장 자율주행을 위한 내비게이션 연동
5.1.0 ROS 2 Nav2 스택 통합
5.1.1 3D 맵의 2D 슬라이스(Slice) 변환 및 점유 그리드 맵(Occupancy Grid Map) 생성
5.1.2 Nav2 Costmap 2D 플러그인(nvblox_nav2) 설정 및 튜닝
5.2.0 경로 계획 및 장애물 회피
5.2.1 ESDF 기반의 실시간 그래디언트 경로 계획
5.2.2 동적 환경에서의 로컬 플래너(Local Planner) 거동 분석
제6장 동적 환경 인식과 멀티 센서 퓨전
6.1.0 동적 객체(사람) 분할 및 필터링
6.1.1 PeopleSemSegNet을 활용한 의미론적 분할(Semantic Segmentation)
6.1.2 people_segmentation 모드 -동적 객체의 맵 통합 배제 및 재구성 전략
6.2.0 멀티 센서 융합
6.2.1 다중 카메라(Multi-Camera) 리깅 및 외부 파라미터 캘리브레이션
6.2.2 LiDAR와 Depth 카메라의 이종 센서 데이터 융합 기법
최적화 및 유지보수 (Optimization & Maintenance)
제7장 성능 튜닝 및 최적화
7.1.0 핵심 파라미터 튜닝 가이드
7.1.1 Voxel Size와 Block Size에 따른 정밀도 vs 메모리 트레이드오프
7.1.2 통합 가중치(Integration Weight) 및 Max Integration Distance 설정
7.2.0 시스템 리소스 관리
7.2.1 GPU 메모리 프로파일링 및 누수 방지
7.2.2 네트워크 대역폭 제한 설정(layer_streamer_bandwidth_limit)을 통한 원격 모니터링 최적화
제8장 맵 관리 및 직렬화
8.1.0 맵 저장 및 로드
8.1.1 맵 직렬화(Serialization) 포맷과 파일 I/O
8.1.2 대규모 맵 데이터의 효율적인 로딩 전략
NvBlox 종합
- Nvblox A
- Nvblox B
- nvBlox와 coVoxSLAM의 비교
- NvBlox 환경에서 CPU 경로 계획을 위한 GPU-CPU ESDF 데이터 전송 최적화 전략
- NvBlox의 시맨틱 객체