자율 주행 알고리즘을 이용한 로봇 이동 제어 분야에 대한 관심
장애물을 피해가며 원하는 목적지에 도달하는 로봇은 항상 관심이 있는 분야였습니다.
전방을 바라보는 두 개의 거리 센서를 이용하여 장애물 회피하며 진행하는 이동 로봇 개발
위에 소개한 로봇은 학부때 실험실에서 수행한 사이드 프로젝트였는데, 이 로봇은 굉장히 단순한 이동 경로를 만들었습니다.
언젠가는 단순 센서 값 처리에 의한 주행이 아닌 알고리즘을 통한 주행을 하는 로봇을 개발하고 싶었습니다.
따라서, ROS2 Humble 기반 Navigation2를 이용하여 관련 내용을 공부하는 것이 이번 시리즈의 목표입니다.
현실적인 어려움
- 자율 주행 알고리즘을 테스트하기 위해서는 실제 로봇과 장소가 필요합니다.
- 또한 장소를 빌리거나 로봇을 구성할 때 추가적인 비용이 발생합니다.
시뮬레이션 환경 구성[1]
- 현재 가진 자원을 활용하여 바로 구성 가능하다는 장점을 갖습니다.
- 다음과 같은 개발 환경을 구성할 예정입니다.
- ROS2 Humble
- Navigation2 (이 후 NAV2로 축약)
- Gazebo
- Turtlebot3 Waffle
목표
- NAV2 구조 파악 및 이해
- 종류[2]
- Navigation Servers
- Planners
- Controllers
- Behaviors
- Smoothers
- Waypoint Following
- Behavior Tree
- 수행 내용
- 배경 지식 습득
- 파라미터 수정 등을 통한 해당 알고리즘의 특성 확인
[1] https://velog.io/@cjh1995-ros/ROS2-Gazebo
[2] https://navigation.ros.org/concepts/index.html#navigation-servers