하루의 쉼터

[Node] MAP_SERVER에 관하여 본문

프로그래밍/ROS

[Node] MAP_SERVER에 관하여

Changun An 2021. 3. 3. 16:50
반응형

| ROS MAP_SERVER에 관하여 분석하고 이해하자.

 

map_server란?

1. map_server 역할

Node를 통하여 저장공간으로부터 맵 파일을 읽고 ROS를 통해 요청하는 다른 node에게 제공 저장된 데이터를 전달하는 역할

2. 유틸리티 제공

동적으로 생성 된 맵을 파일에 저장할 수 있는  map_saver 명령 줄 유틸리티도 제공

2.1 지도 형식

- map_saver를 통하여 지도 형식을 한쌍으로 저장하게 되는데 아래와 같다.

file_name.yaml
file_name.pgm

 - 이미지는 해당 픽셀의 색상으로 각 셀의 점유 상태를 설명하며 점유 관련하여는 차후에 다루겠습니다.

* map 관련 데이터 한쌍 예시)

이미지 데이터는 SDL Image Library(이미지 파일 로딩 라이브러리)를 사용하였으며 SDL_IMG_LIB는 아래와 같은 홈페이지를 통하여 자세하게 알수 있다. 

www.libsdl.org/projects/SDL_image/docs/index.html

 

SDL_image Documentation Homepage

 

www.libsdl.org

* SDL image library는 BMP, GIF, JPEG, LBM, PCX, PNG, PNM, SVG, TGA, TIFF, WEBP, XCF, XPM, XV 형식을 지원

 

2.1.1 Yaml 형식 : 맵 메타 데이터를 저장

 image  점유 격자 지도의 이미지 경로 ex) test.png
 resolution  해상도 공식 : 미터 / 픽셀
 origin  MAP 원점 좌표(위치) 2D 포즈 (x, y, yaw)
 occupied_thresh  임계 값보다 큰 점유를 가진 픽셀은 점유 상태로 확인
 free_thresh  점유값이 임계 값보다 작은 픽셀은 비어있는 상태로 확인
 negate  white / black free / occupied semantics가 반전되어야하는지 여부

map.yaml 예시 :

map.pgm 예시 : 

* vi를 통하여 데이터 확인

* gimp를 통하여 데이터 확인

 

3. 송수신 데이터

3.1 Topic 

3.1.1 map_metadata

msg type nav_msgs / MapMetaData
역할 지도 메타 데이터를 수신

2021/03/03 - [프로그래밍 - 정의/ROS] - [Topic] nav_msgs/MapMetaData

 

3.1.2 map

msg type nav_msgs / OccupancyGrid
역할 지도 데이터를 수신(토픽)

2021/03/05 - [프로그래밍 - 정의/ROS] - [Topic] nav_msgs/OccupancyGrid

 

3.2 Service 

3.2.1 static_map 

srv type nav_msgs / GetMap
역할 지도 데이터를 수신(서비스)

 

Reference Site : 

wiki.ros.org/map_server

 

map_server - ROS Wiki

kinetic melodic noetic   Show EOL distros:  EOL distros:   electric fuerte groovy hydro indigo jade lunar diamondback: Only showing information from the released package extracted on Unknown. No API documentation available. Please see this page for in

wiki.ros.org

 

반응형

'프로그래밍 > ROS' 카테고리의 다른 글

[ERROR] invalid message type:  (0) 2021.03.08
[Topic] nav_msgs/OccupancyGrid  (0) 2021.03.05
[Topic] nav_msgs/MapMetaData  (0) 2021.03.03
[ROS] 메시지 통신 (Topic, Service, Action)  (0) 2019.09.17
[ROS] ROS 용어 정리  (0) 2019.09.16
Comments