개발 환경 : 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 패키지 작성 문제가 남음.
참고 자료
'Embedded > Selly : Sejong Delivery' 카테고리의 다른 글
[젯슨나노 프로젝트]자율 주행 배달 로봇 Selly(9)_openVSLAM과 cartographer의 실패 (0) | 2020.05.12 |
---|---|
[젯슨나노 프로젝트]자율 주행 배달 로봇 Selly(8)_visual SLAM 테스트 (0) | 2020.05.12 |
[젯슨나노 프로젝트]자율 주행 배달 로봇 Selly(6)_로봇 프레임 기초작업 (3) | 2020.05.11 |
[젯슨나노 프로젝트]자율 주행 배달 로봇 Selly(5)_SLAM 테스트 (0) | 2020.05.11 |
[젯슨나노 프로젝트]자율 주행 배달 로봇 Selly(4)_라이다 센서를 이용한 주행 컨트롤 (1) | 2020.05.11 |
댓글