~/sim_ws/src에 programmers_turtlebot 파일 다운로드 받기
아래 명령어로 dependency 설치 후 build 해주기
ubuntu 20.04의 code name = focal
ubuntu 18.04의 code name = bionic
자신의 ubuntu 버전에 맞게 code name을 바꿔서 아래내용을 terminal에 쳐주자
rosdep install --from-paths src --ignore-src -r -y --os=ubuntu:bionic
catkin_make
roslaunch turtlebot_navigation_gazebo main.launch
.
.
roslaunch turtlebot_navigation_gazebo main.launch
roslaunch turtlebot_navigation_gazebo gmapping_demo.launch
roslaunch turtlebot_teleop keyboard_teleop.launch
roslaunch turtlebot_rviz_launchers view_mapping.launch
keyboard로 로봇을 움직이며 환경을 mapping 해보면 된다.
.
.
roslaunch turtlebot_navigation_gazebo main.launch
roslaunch turtlebot_navigation_gazebo amcl_demo.launch
roslaunch turtlebot_rviz_launchers view_localization.launch
roslaunch turtlebot_teleop keyboard_teleop.launch
녹색화살표 = localization 추정치
로봇을 움직이다 보면 laser scan (red)와 map이 어느정도 일치하는 것을 확인할 수 있다.
rviz 상에서
roslaunch turtlebot_navigation_gazebo main.launch
roslaunch turtlebot_navigation_gazebo move_base_demo.launch
roslaunch turtlebot_rviz_launchers view_planning.launch
roslaunch turtlebot_navigation_gazebo main.launch
roslaunch turtlebot_navigation_gazebo move_base_demo.launch
roslaunch turtlebot_rviz_launchers view_navigation.launch
민트색 cost map과 로봇 주위에 local cost map이 생성된 것을 확인할 수 있다.
cd ~/turtlebot_navigation/urdf
rosrun gazebo_ros spawn_model -file object.urdf -urdf -x 0 -y 0 -z 1 -model my_object
장애물을 spawn하고 로봇을 근처로 이동해보면 장애물을 감지하는 것을 확인할 수 있다
rviz상에서 장애물을 넘어가도록 2D Nav Goal을 설정해주면 장애물을 피해서 가는 것을 확인할 수 있다.
갑자기 object를 앞에 두어도 로봇이 잘 피해가는 것을 확인할 수 있다.
소소한 TIP
roslaunch를 실행하다보면 계속 다른 terminal을 켜야하는 경우가 생긴다.
이때는 terminator를 이용하면 편하다sudo apt-get install terminator
ctrl + shift + O (가로분할) or 한영키 옆 menu + O
ctrl + shift + E (세로분할) or 한영키 옆 menu + E
.
.
roslaunch turtlebot_navigation_gazebo main.launch
roslaunch turtlebot_navigation_gazebo move_base_demo.launch
rqt_graph
rostopic list
rosmsg show nav_msgs/Odometry
global-planner
local planner
rotate-recovery
clear-costmap-recovery
costmap-2D
map-server
AMCL
gmapping, slam-karto 등