아까 SLAM으로 만든 map을 이용해 Navigation을 시행해본다.
다 끄고 다시 켜준다.
export TURTLEBOT3_MODEL=burger # 이거는 어차피 계속 쓸거면 bashrc파일에 저장하는게 편하다
roslaunch turtlebot3_gazebo turtlebot3_world.launch
여기부터는 아까 만들어둔 map.yaml파일이 필요하다. 다른 터미널에서 navigation node를 켜준다.
sample map.yaml
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml
이런 화면이 뜰거다. 이 또한 RVIZ에서 돌아간다.
제대로 navigation을 하려면 Initial Pose Estimation이 꼭 시행되어야 한다.
Initial Pose Estimation
RVIZ 상단의 2D Pose Estimation을 클릭
Gazebo를 보면서 터틀봇의 위치와 동일한 지점에 클릭하고 터틀봇이 바라보는 전방으로 드래그 해준다. 이걸 맞춰주면 위 이미지에서 완전히 어긋나있던 것이 조정된다.
반복하면서 위치를 맞춰주고 teleop을 켜서 정밀하게 조정해준다. 위치가 정확할 수록 LiDar Sensor값이 정확해져 정밀한 navigation이 가능하다.
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
완료되면 teleop은 꺼준다.
Navigation
터틀봇의 위치 조정이 끝나면 LiDar Sensor 예측값으로 navigation을 할 수 있다.
RVIZ 상단의 2D Nav Goal을 클릭하고 위치 조정과 마찬가지로 원하는 지점을 클릭하며 로봇이 바라보기를 바라는 방향으로 드래그 해준다.
로봇이 제대로 길을 찾아 가는지 구경한다. 터틀봇이 알아서 path를 만들어 경로를 따라가는 것을 볼 수 있다.
이동하는 도중 목적지를 바꿔도 바로 찾아간다. 장애물에 닿아 회전이 불가할 경우 터미널에서 이런 메시지가 뜬다.
반응형
'ROBOTICS > Turtlebot3 - Noetic' 카테고리의 다른 글
Turtlebot3 Camera + OpenCV installation (1) | 2022.09.30 |
---|---|
Turtlebot3 Autorace Simulation (1) | 2022.09.29 |
Turtlebot Simulation : SLAM (0) | 2022.08.22 |
Turtlebot Simulation : Setup (0) | 2022.08.22 |
ROS Noetic : Server & Client (0) | 2022.08.11 |
댓글