자율주행 서빙로봇 시뮬레이션 개발
개발환경
: Mint 20 / ROS1 / Gazebo / turtlebot3
자율주행 시스템에 대한 전체적인 이해도 증가
(Mapping -> Localization -> Path Planning -> Control)
Gazebo 시뮬레이터 활용 능력
오픈소스 시뮬레이션 패키지 활용 능력
Git 버전관리
1번 위치에서 로봇 spawn
2번 위치에서 음식 받아오기 (5초 대기)
3 -> 4 -> 5번 위치 순서로 음식 서빙
6번 위치로 손님들이 사용한 컵, 접시 반납
3명의 팀원이 진행했다.
4가지 영역으로 나눠 진행했다.
SLAM (Mapping)
: 오픈소스 gmapping 패키지를 활용해 OGM을 얻음
: 좋은 map을 뽑아내기 위해 gimp 활용 이미지 편집 진행
Localization
: 오픈소스 amcl 패키지를 활용해 localization을 위한 launch파일 및 yaml 파일 작성
: global_localization 서비스 활용 로봇 초기위치 인식 개선
Navigation 환경구축
: navigation 환경 구축을 위한 global & local planner 파라미터 파일 작성 및 튜닝
Control 을 위한 코드작성
: State Machine (smach)을 활용하여 waypoint를 따라 주행하고 주행 상태를 모니터링할 수 있는 주행 코드 작성 (python)
Github 팀 repository에 기능별로 branch를 생성하고, PR된 코드를 검토 후 팀장이 merge하는 방식으로 버전관리를 진행했다.
나는 팀의 팀장을 맡았고, Mapping & Control 코드작성 파트를 맡았다.