Robot/22년도 자율주행 테크니션 양성과정 일지록

[TurtleBot3] SLAM 및 Navigation 튜토리얼

9루트 2022. 3. 28. 12:12

 

※금, 월요일 진행 내용※
1. https://emanual.robotis.com/docs/en/platform/turtlebot3/simulation/
위 링크를 확인하셔서, turtlebot3 simulator를 설치하시고, SLAM 및 Navigation을 해보세요.
2. http://wiki.ros.org/laser_filters
위 링크를 확인하셔서, LiDAR 데이터를 필터링 하는 방법을 확인해보세요. (특정 각도를 기준으로 자르기 및 특정 각도 부분만 남기기 등)
3. Move_Base 또는 기타 로봇을 원하는 위치로 이동하는 패키지를 확인하시고. 최종 프로젝트를 어떤식으로 진행할지 구상해보세요. (다음 주, 화요일 이후에는 실물을 이용해서, 오늘까지 진행했던 내용을 진행하셔야 합니다.) 이와 추가적으로, 카메라의 AR Marker 등을 이용한다면, 어떤 위치에 마커를 부착하고, 어떻게 코드를 작성해서 사용해야할 지도 같이 고민해보기실 바랍니다. 시뮬레이터는 어제를 기점으로 더 이상 사용하실 수 없으므로, 가제보를 활용하시길 바랍니다. 질문은 마찬가지로 디스코드 질문방에 남겨주시면 될 것 같습니다.

 

catkin build를 하면 아래와 같은 에러가 뜬다.

Errors     << turtlebot3_fake:cmake /home/kw-cobot/catkin_ws/logs/turtlebot3_fake/build.cmake.000.log 
CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "turtlebot3_msgs"
  with any of the following names:

    turtlebot3_msgsConfig.cmake
    turtlebot3_msgs-config.cmake

  Add the installation prefix of "turtlebot3_msgs" to CMAKE_PREFIX_PATH or
  set "turtlebot3_msgs_DIR" to a directory containing one of the above files.
  If "turtlebot3_msgs" provides a separate development package or SDK, be
  sure it has been installed.
Call Stack (most recent call first):
  CMakeLists.txt:11 (find_package)

 

1. SLAM(Localization & Mapping)

벽이 없는 넓은 장소에서는 Localization 에 오차가 커지므로 이렇게 지도가 뒤틀리게 된다.

 

다시 벽 쪽으로 가까이가서 5m 정도 스캔하도록 하면  다시 localization 오차가 줄어들고 뒤틀린 지도가 원 상태로 복구된다.

맵을 저장한다.

 

2. Navigation

로봇의 초기 위치와 방향(벡터)을 2D Pose Estimate로 지정하고

 

터틀봇3을 앞 뒤로 살짝 움직여본다.

 

초록색 화살표들의 범위가 점점 줄어드는 모습을 볼 수 있다.

 

 

2D nav Goal 설정해주고

navigation 동작 시작!

 

 

장애물로 둘러싸인 좁은 길을 navigation할 때 시간이 지체되면서

여러 경로가 실시간으로 계산된다.

까만 실선이 계속 변경되는 것을 볼 수 있었다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

정상적으로 도착하였다.