이 프로그램은 Jetson에서 작동하지 않습니다. 일반 PC의 Ubuntu(18.04)에서 작동
1. Ubuntu 18.04에 Docker 설치
2. 도커 설정
3. ROS Melodic에 Mapviz 설치
4. 맵비즈 활용
5. Mapviz에서 Google 위성 지도 사용
1. Ubuntu 18.04에 Docker 설치
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL <https://download.docker.com/linux/ubuntu/gpg> | sudo apt-key add -
sudo add-apt-repository "deb (arch=amd64) <https://download.docker.com/linux/ubuntu> bionic stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce
sudo systemctl status
2. 도커 설정
mkdir ~/mapproxy
sudo docker run -p 8080:8080 -d -t -v ~/mapproxy:/mapproxy danielsnider/mapproxy
3. ROS Melodic에 Mapviz 설치
- 앱을 통한 설치
sudo apt-get install ros-$ROS_DISTRO-mapviz ros-$ROS_DISTRO-mapviz-plugins ros-$ROS_DISTRO-tile-map ros-$ROS_DISTRO-multires-image
- Git 복제를 통해 설치
cd catkin_ws/
cd src/
git clone <https://github.com/swri-robotics/mapviz>
- 만들다
cd ..
catkin_make
4. 맵비즈 활용
- 시작 파일 설정
mapviz/mapviz/launch/mapviz.launch
GPS 값을 Mapviz로 보내려면 시작 파일을 수정해야 합니다.
mapviz/mapviz/launch/mapviz.launch
initialize_origin.py는 GPS 좌표를 수신하고 WGS84 좌표계를 ROS TF 트리에 연결합니다.
당신이 그를 넣을 때 변환하면 처음 수신된 GPS 값이 원점으로 사용됩니다.
만약 너라면
내가 사용하고 있는 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 메시지를 전달하기 때문에 ublox_gps/fix가 있습니다.
- 실행
roslaunch mapviz mapviz.launch
※물론 사용 중인 GPS 보드를 사용해야 합니다.※
- 맵비즈 설정
- 구성 (왼쪽 위)
- 고정 프레임: 카드 세트
- **Target Frame 설정 후 :
** - 최신 변환 사용을 체크 해봐
- tile_map (왼쪽 하단의 추가 클릭)
- **출처: Stamen(Terrian)**으로 설정
- 내비게이션 장치 (왼쪽 하단의 추가 클릭)
- 테마 : Remapping에서 설정한 테마(선택)
- 색상: 개인 취향
- 그리기 스타일: 포인트
지도가 보이지 않으면 오른쪽 하단에 있는 녹색 화살표를 누르십시오. 그러면 위치에 점이 표시된 것을 볼 수 있습니다.
- 구성 (왼쪽 위)
※맵비즈는 하나씩 쌓이기 때문에 추가하는 순서가 중요합니다.
추가 순서가 올바르지 않으면 지도가 표시되지 않을 수 있습니다※
5. Mapviz에서 Google 위성 지도 사용
- 맵비즈 설정
- tile_map (왼쪽 하단의 추가 클릭)
- 출처: 맞춤 출처 세트
- 기본 URL
<http://localhost:8080/wmts/gm_layer/gm_grid/{level}/{x}/{y}.png>- 최대 줌: 19(조정 후 컴퓨터에 저장)
- tile_map (왼쪽 하단의 추가 클릭)