Skip to content

mgko1996/ROS_Turtlebot3_SelfDrivingCar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

프로젝트 목적

ROS와 CPP을 이용하여 터틀봇에 코드를 입혀 미로에 넣었을 때, 장애물을 피한 뒤, 도착점까지 최단 시간안에 도착하는 로봇 제작

코딩 방식

로봇이 미로를 통과하면서 일어날 수 있는 모든 상황들을 고려한 코드 작성 → 터틀봇 회전 각도 45도 가능 → 로봇의 특정 반경의 최솟값이 일정치 보다 작을 경우(로봇 앞에 벽이 있을 경우) 정지 후 왼쪽, 오른쪽 중 가장 길게 뚫려 있는 방향으로 회전 후 전진 → 로봇이 미로 도착점이 아닌 시작점으로 후진하는 것을 방지하기 위하여 로봇이 앞방향만 볼 수 있도록 라이더 인덱스를 정의 (시작점 기준으로 앞 방향 즉, 0~180도 만 취급) → 로봇이 회전하는 경우 해당되는 각도만큼 빼주거나 더해주는 방식을 활용하여 회전을 했을 경우에도 로봇의 진행 방향에 오류가 발생하지 않도록 코드 작성 → 로봇이 이동하는 경로에 앞, 좌측, 우측이 막혀 있어 생길 수 있는 Local Minimum을 고려하여 만일 로봇이 3면에 빠질 경우 로봇이 180도 회전 후 좌측 혹은 우측에 갈 수 있는 통로가 나올 때까지 돌아옴 이 때, 로봇이 회전했을 경우 이전 설정한 앞방향만을 향하는 로봇의 좌표계가 달라지는 문제점을 해결하기 위해 회전했을 때의 좌표계를 수정하고 Local minimum을 빠져나와 이동가능한 방향으로 회전 및 전진 이동을 할 경우에 좌표계를 다시 수정해주어 시작점 기준 앞방향(도착점 방향)만 볼 수 있게끔 제작 → wifi 불안정의 문제로 인해 로봇을 경로에 두고 원격으로 토픽을 보내 실행시키는 구조가 아닌 박스를 제작하여 로봇을 가둬두어 4면이 일정 거리 이하일 때는 현재의 각도값을 0으로 초기화하고 모터를 멈추는 방향을 초기화 장치 및 코드를 작성

[1step] : roslaunch turtlebot3_bringup turtlebot3_robot.launch

[2step] : rosrun final final_1

시연 영상

https://www.youtube.com/watch?v=DqV65QyRQtg

사용 시, 한글 주석 제거 후 사용

About

터틀봇 자율주행차

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published