gazebo/SLAM

[issac sim] FAST-LIVO2 - 2

정지홍 2026. 6. 18. 12:23

https://jihong.tistory.com/820

 

[issac sim] FAST-LIVO2 - 1

1. isaac sim을 실행 2. robot_localization패키지의 ekf_node를 실행한다. ( odom --> base_link의 TF를 만들기 위해서 )ros2 run robot_localization ekf_node --ros-args -r __node:=ekf_filter_node --params-file ~/fast_ws/config/ekf_carter1.yaml

jihong.tistory.com

 

저거 포스팅 이어서 한다....

저기에서는 단순히 fast-livo2를 실행해서 지도작성하는거였다....

 

이번에는 사전에 작성된 지도를 불러와서 주행할건데, 실시간으로 장애물을 costmap에 반영할 계획이다...

 

static_map + localization + dynamic costmap 방식으로 할 예정이다.

 

- 사전에 작성한 지도는 정적인 맵 ( /map )으로 나타낸다. ==> 여기서 벽,기둥같은 것들이 정적인 장애물이다.

- 위치추정 TFFAST-LIVO2 + EKF을 사용한다... ( map --> odom --> base_link )

- 실시간 장애물은 local_costmap or global_costmap에 반영한다.

- nav2에서는 /map + TF + costmap을 이용해서, 경로생성 및 주행을 한다.

===> 즉, map은 고정, 실시간 변화는 costmap, 로봇의 위치는 FAST-LIVO2/EKF기반 TF로 처리.

 

 

 

전체적인 구조

  • 1. [isaac-sim]
    • IMU , odometry , sensorData같은 데이터를 보냄.
  • 2. [Static Map]
    • 사전에 작성된 mapnav2_map_server로 열어준다. ( /map토픽 )
  • 3. [Odometry]
    • wheel odom + IMU를 가지고 EKF를 적용...
      그러면 /odometry/filtered 토픽이 나올것임. 해당 토픽은 odom --> base_linkTF를 가짐.
    • EKF는 odom --> base_link의 TF를 만든다. 이는 짧은 시간에서 부드럽고 연속적인 로컬 위치이다.
  • 4. [ Global Localization ]
    • FAST-LIVO2의 pose + EKF의 결과를 기반으로 map --> odom TF를 만든다. 
      • FAST-LIVO2는 map기준 전역 pose를 나타내며, drift를 보정하는 global localization역할이다...
      • 그래서 해당 pose와 EKF의 odom을 이용해서 map --> odom TF를 계산한다.
  • 5. [Dynamic Costmap]
    • 3D LiDAR의 pointCloud를 /scan으로 변환..... 그리고 이를 costmap에 반영
  • 6. [nav2]
    • 주행 

 

'gazebo > SLAM' 카테고리의 다른 글

[issac sim] FAST-LIVO2 - 1  (0) 2026.06.17
FAST-LIVO2  (0) 2026.06.08
VINS-Fusion 이란?  (0) 2026.05.27
[Slam] Vins-Fusion  (0) 2026.05.26
pySLAM  (1) 2025.12.06