본문 바로가기
Embedded/Selly : Sejong Delivery

[젯슨나노 프로젝트]자율 주행 배달 로봇 Selly(7)_Cartographer SLAM

by 다봄이 2020. 5. 12.

개발 환경 : ubuntu 18.04, ROS melodic

사용한 센서 : zed 카메라(zed2), ydliar x4

 

 

 

사용하는 카메라 센서에서 odometry와 imu topic도 publish하기 때문에, 위 센서 데이터를 사용했다.

 

 

 

cartographer docs에 따르면 2d SLAM에서는 imu data는 있어도 그만 없어도 그만이라는 것 같아서 우선 odometry 토픽만 사용했다.

 

 

 

 

cartographer 구동을 위해 필요한 odometry 데이터는 odom이라는 토픽으로 subscribe된다.

rostopic list -p를 통해 zed 카메라에서 퍼블리싱하는 모든 ros 토픽은 zed2/zed_node/topic의 형태로 이루어져 있음을 확인하고 published topic을 remap했다.

 

 

options = {
  ...
  tracking_frame = "base_link",
  published_frame = "base_link",
  odom_frame = "odom",
  ..
  use_odometry = true,
 ...
}

또, lua파일에서 use_odometry를 true로 설정한다.

 

 

 

이건 전에 테스트에서 만들어서 저장한 맵이다.

ROS 공개 패키지 중 map_server 패키지를 깔아 map_saver를 실행하면 된다. yaml파일, pgm파일 둘 다 가능

 

 

아직 base_footprint -> base_link -> base_scan으로 정의되는 로봇과 센서의 정확한 위치 정보를 표현하여 tf 변환하는 tf 패키지 작성 문제가 남음.

 

 

참고 자료

https://cafe.naver.com/openrt?iframe_url=/ArticleRead.nhn%3Fclubid=25572101%26page=4%26inCafeSearch=true%26searchBy=0%26query=base_link%26includeAll=%26exclude=%26include=%26exact=%26searchdate=all%26media=0%26sortBy=date%26articleid=6262%26referrerAllArticles=true

 

 

 

댓글