작업 일지/F1Tenth

[작업 일지] f1tenth - mapping.cartographer

젊은 친구들 2025. 4. 20. 22:21

이전 내용

 slam_toolbox을 불러와서 F1tenth에 맞는 launch 파일을 만들었다. package.xml에서 

작업 내용 

1. slam_toolbox로 mapping을 했을 때, 후진하면 map이 제대로 안 만들어지는 경우가 많았다. (물론 후진을 안하면 되지만) 파라미터가 뭔가 잘못 되어있었던 건지 모르겠지만 slam_toolbox를 조심스럽게 사용해야하는 것은 불편한 점이었다.

slam_toolbox로 만든 map

 

2. cartographer를 사용하는 launch파일을 찾아봤을 때 turtlebot3에서 좋은 참고자료가 있었다.

3. package.xml부터 launch 파일까지 수정없이 거의 쓸 수 있었다. 

 

잘했던 부분

1. ros2에서 cartographer_occupancy_grid_node가 없었고 package 목록에서도 찾을 수 없었다. /opt/ros/foxy/lib/cartographer_ros에서 package가 가지고 있는  실행파일 목록을 봤을 때, 이름이 occupancy_grid_node로 바꿔서 launch 파일을 수정했다. 

dawgs_nx@dawgs:~/dawgs_f1tenth/f1tenth_ws$ ros2 pkg list | grep cartographer
cartographer_ros
cartographer_ros_msgs
turtlebot3_cartographer
turtlebot3_manipulation_cartographer
dawgs_nx@dawgs:~/dawgs_f1tenth/f1tenth_ws$ ls /opt/ros/foxy/lib/cartographer_ros/
cartographer_node  occupancy_grid_node

 

2. package.xml에서 slam_toolbox가 <depend>로 설정되어 있는데, cartographer는 <exec_depend>로 설정되어 있었다. 

3. config폴더에 lua파일은 turtlebot3와 많이 다르지만 일단 가져다 썼다. 

 

아쉬웠던 부분

1. lua파일을 f1tenth 환경에 맞게 수정해야 한다. 

 

참고자료

1. turtlebot3 cartographer github

turtlebot3/turtlebot3_cartographer/config/turtlebot3_lds_2d.lua at main · ROBOTIS-GIT/turtlebot3

 

turtlebot3/turtlebot3_cartographer at main · ROBOTIS-GIT/turtlebot3

ROS packages for Turtlebot3. Contribute to ROBOTIS-GIT/turtlebot3 development by creating an account on GitHub.

github.com

2. turblebot3 cartographer 설명자료

ROS 2 Cartographer — ROS 2 workshop documentation

 

3. cartographer lua파일 설명자료

Algorithm walkthrough for tuning — Cartographer ROS documentation

 

4. Hokuyo 데이터 시트

utm-30lx-ew_spec_en.pdf