- Ubuntu 18.04
- ROS Melodic
- GPS : ZED-f9p
1. Set Launch file
Mapviz에 GPS 값을 수신해주기 위해 Launch 파일을 수정해줘야 한다.
mapviz/mapviz/launch/mapviz.launch
initialize_origin.py는 GPS 좌표를 받아 WGS84 좌표계를 ROS TF트리에 연결하므로 <param name="local_xy_origin" value="auto"/>로 변환해주면 첫 수신한 GPS 값을 원점으로 사용한다.
<remap from="fix" to="your/gps/topic"/>을 추가하면 내가 사용하는 GPS 보드가 수신한 GPS값을 토대로 Mapviz를 사용할 수 있다.
수정 전
<launch>
<node pkg="mapviz" type="mapviz" name="mapviz"></node>
<node pkg="swri_transform_util" type="initialize_origin.py" name="initialize_origin" >
<param name="local_xy_frame" value="/map"/>
<param name="local_xy_origin" value="swri"/>
<rosparam param="local_xy_origins">
[{ name: swri,
latitude: 29.45196669,
longitude: -98.61370577,
altitude: 233.719,
heading: 0.0},
{ name: back_40,
latitude: 29.447507,
longitude: -98.629367,
altitude: 200.0,
heading: 0.0}]
</rosparam>
</node>
<node pkg="tf" type="static_transform_publisher" name="swri_transform" args="0 0 0 0 0 0 /map /origin 100" />
</launch>
수정 후
<launch>
<node pkg="mapviz" type="mapviz" name="mapviz"></node>
<node pkg="swri_transform_util" type="initialize_origin.py" name="initialize_origin" >
<param name="local_xy_frame" value="/map"/>
<param name="local_xy_origin" value="auto"/>
<rosparam param="local_xy_origins">
[{ name: swri,
latitude: 29.45196669,
longitude: -98.61370577,
altitude: 233.719,
heading: 0.0},
{ name: back_40,
latitude: 29.447507,
longitude: -98.629367,
altitude: 200.0,
heading: 0.0}]
</rosparam>
<remap from="fix" to="/ublox_gps/fix"/>
</node>
<node pkg="tf" type="static_transform_publisher" name="swri_transform" args="0 0 0 0 0 0 /map /origin 100" />
</launch>
필자는 ublox_gps/fix를 사용하여 RTK msg를 전달하기 때문에 ublox_gps/fix를 넣어주었다. (여기 글 참고)
2. 실행
$ roslaunch mapviz mapviz.launch
※당연히 사용하는 GPS 보드도 실행해 줘야한다.※
3. Mapviz 설정
roslaunch를 사용하여 Mapviz를 실행시키면 아래와 같은 창이 뜬다.
왼쪽 상단에 fixed Frame을 map으로 설정하고 Target Frame을 <none>으로 설정한 후 use latest transforms를 체크한다.
왼쪽 하단에 Add를 눌러 tile_map을 추가해준다. 그 후 Source를 Stamen(terrian)으로 설정한다.
Add를 한번 더 누른 후 navsat을 추가해준다. 그 후 Topic에 Select를 눌러 remap에서 설정한 토픽을 불러온다. 마음에 드는 색을 설정한 후 Draw style을 point로 변경해준다.
맵이 보이지 않을 시 오른쪽 하단에 초록색 화살표를 누르면 된다. 그럼 본인의 위치에 점이 찍힌 것을 볼 수 있다.
※Mapviz는 하나씩 쌓아 올려가므로 Add의 순서가 중요하다.
Add의 순서가 맞지 않으면 지도가 나타나지 않을 수 있다※
4. 다음 포스팅
다음 포스팅에선 google 위성을 map으로 띄우는 방법을 알아보겠다.
ublox ZED-f9p GPS(RTK) 사용
Ubuntu 18.04 ROS Melodic Ublox ZED-f9p 1. 보드 연결 (1) usb 케이블을 이용하여 GPS 보드와 PC를 연결해준다. (2) 기기에 할당된 이름을 확인해준다. (3) 기기에 권한을 부여해준다. $ ls /dev/tty* $ sudo ch..
hm02123.tistory.com
'ROS > GPS' 카테고리의 다른 글
U-center를 이용한 gps보드 수신 주기 조정 (0) | 2022.04.12 |
---|---|
Mapviz에서 구글 위성 지도 사용 (2) | 2022.04.09 |
ROS Melodic에 Mapviz 설치 (0) | 2022.04.08 |
Resolve gps-waypoint-based-autonomous-navigation-in-ros PKG Cmake Error (0) | 2022.03.29 |
ublox ZED-f9p GPS(RTK) 사용 (2) | 2022.02.01 |