자율주행 Path Planning 알고리즘 종류와 특성, 그리고 PID 제어의 기본 원리에 대해서 알아보고자 합니다.
자율주행 기술은 로봇공학, 드론, 기계공학 등 다양한 분야에서 필수적인 역할을 하고 있습니다. 이 글에서는 Path Planning 알고리즘의 종류와 특성, 그리고 PID 제어의 기본 원리에 대해 자세히 살펴보겠습니다.
1. Path Planning 알로리즘이란?
Path Planning과 PID 제어는 자율주행 시스템에서 상호 보완적인 역할을 합니다.
Path Planning 알고리즘은 로봇이나 차량이 목표 지점까지의 경로를 계획하는 데 사용되며, PID 제어는 이 경로를 따라 이동할 때의 속도와 방향을 조절합니다.
이 두 기술의 통합은 자율주행 시스템의 성능을 극대화하는 데 필수적인 기술로 상호 보안적인 기능을 하고 있으며 Path Planning은 로봇이나 자율주행차가 목표 지점까지 안전하고 효율적으로 이동할 수 있도록 경로를 계획하는 과정의 알고리즘으로 중요한 역할을 합니다.
패스 플래닝은 알고리즘으로 운전자의 조작 없이 스스로 이동해야 하는 기계장치에 필수적이며, 최적의 경로를 찾아내는 것이 핵심 기술로 알려져 있으며 장점은 아래와 같습니다.
Path Planning 좋은 점은 아래 3가지
- 안전성: 장애물을 피하고 안전한 경로를 선택합니다.
- 효율성: 최단 경로를 찾아 이동 시간을 단축합니다.
- 적응성: 다양한 환경 변화에 유연하게 대처할 수 있습니다.
실제 개발 사례 – 자율 주행 자동차, 드론
- 사례 1 자율주행차는 Path Planning 알고리즘을 사용하여 도로에서 최적의 경로를 찾고, PID 제어를 통해 차량의 속도와 방향을 조절하여 안전하게 주행 기능을 담당역할을 하게 됩니다.
- 사례2 드론의 경우 드론은 복잡한 환경에서 장애물을 피하기 위해 Path Planning을 사용하고, PID 제어를 통해 비행 고도와 방향을 안정적으로 유지하는 역할을 하게 됩니다.
Path Planning은 자율주행 자동차, 로봇 매니퓰레이터, UGV(무인 지상 차량), UAV(무인 항공기) 등의 시스템에 자율성을 더해 주는 계획을 하는 도구 입니다.
2. Path Planning 알고리즘 종류
Path Planning 알고리즘은 여러 가지가 있으며, 각 알고리즘은 특정 상황에서 장단점이 있습니다. 주요 알고리즘 6가지는 다음과 같습니다:
2.1 Random Sampling-Based Algorithm
샘플링한 점들을 이용해서 경로를 설정하는 알고리즘으로 낮은 비용으로 활용도가 높은 반면 정확도에서는 아쉬움이 있습니다.
- 특징: 무작위로 샘플링한 점들을 이용하여 경로를 계획합니다.
- 장점: 계산 비용이 낮고 복잡한 환경에서도 경로를 찾을 수 있습니다.
- 단점: 경로의 정확도가 떨어질 수 있습니다.
- 적용 예시: 로봇이 복잡한 환경에서 장애물을 피하며 이동할 때 유용합니다.
로봇 팔이 물체를 집어 들ㅇ 수 있는 유효한 형상 집합을 찾는 찾거나 고차원 탐색 공간에 적합 한 알고리즘으로 완전한 형태 제공은 아니지만 다양한 실제 응용 사례 맞게 동적으로 실현 가능한 경로를 경로 생성을 해주기 때문에 많이 쓰이는 방법입니다.
2.2 Probabilistic Roadmap Algorithm
무작위로 환경 탐색을 하여 지도 생성을 하는 구조로 이 생성된 지도 모델링을 기반으로 경로 계획을 하고 로봇이 이동 가능한 공간을 찾는 형태입니다.
- 특징: 환경을 무작위로 탐색하여 지도를 생성합니다.
- 장점: 다양한 경로를 탐색할 수 있습니다.
- 단점: 초기 모델링이 필요하여 시간이 소요될 수 있습니다.
- 적용 예시: 복잡한 로봇 경로 계획에서 사용됩니다
2.3 Potential Field Algorithm
목표지점과 현재 지점 사이 장력 마찰력을 이용해서 로봇 이동 경로를 설정을 하는 구조이며 알고리즘 계산 속도가 빠르고 간단해서 이동 상황에 따라 수정이 가능하다는 장점이 있으며 경로 계획 정확도는 아쉬움이 있습니다.
- 특징: 목표 지점과 현재 위치 간의 장력과 마찰력을 이용합니다.
- 장점: 빠른 계산 속도와 경로 수정 가능성.
- 단점: 장애물이 많은 환경에서 정확도가 떨어질 수 있습니다.
- 적용 예시: 로봇이 목표 지점으로 이동할 때 실시간으로 경로를 수정할 수 있습니다.
2.4 A* Algorithm
휴리스틱 함수를 이용을 하는 알고리즘으로 노드들 간 거리와 목표 위치까지의 예상 거리를 계산하여 최적 경로를 설정을 하므로 정확도가 높고 최단 거리 계획을 할 수 있습니다.
다만 비용이 높고 장애물 등에 대한 대처 능력에서 아쉬움이 있습니다.
- 특징: 휴리스틱 함수를 사용하여 최적 경로를 찾습니다.
- 장점: 높은 정확도와 최단 경로 계산.
- 단점: 계산 비용이 상대적으로 높습니다.
- 적용 예시: 게임 Ai에서 경로 탐색에 많이 사용됩니다 1.
2.5 Dijkstra Algorithm
너비를 중심으로 탐색하는 알고리즘으로 최단경로 정확도 높은 경우 사용을 할 수 있습니다.
- 특징: 너비 우선 탐색을 통해 최단 경로를 계산합니다.
- 장점: 높은 정확도.
- 단점: 계산 비용이 많이 소요됩니다.
- 적용 예시: 네트워크 라우팅에서 최단 경로를 찾는 데 사용됩니다.
2.6 RRT Algorithm
무작위 구조에서 최적 경로를 찾는 방식의 알고리즘으로 기본 정도가 별로 없어도 유연하게 장애물 등에 대처가 가능합니다. 다만 정확도 낮은 부분과 비용이 높은 것, 시간이 좀 걸리는 것 등이 단점입니다.
- 특징: 무작위로 트리 구조를 만들어 최적 경로를 탐색합니다.
- 장점: 환경 정보가 필요 없고 유연한 대처 가능.
- 단점: 최적 경로의 정확도가 낮고 계산 비용이 높습니다.
- 적용 예시: 복잡한 환경에서 로봇이 장애물을 피하며 경로를 탐색할 때 유용합니다.
3. 경로 계획 알고리즘의 선택 기준
경로 계획 알고리즘을 선택할 때는 다음과 같은 기준 3가지를 고려해야 합니다:
- 환경 요소: 장애물 대처 능력이 중요한 경우 RRT 알고리즘을 선택.
- 정확도: 높은 정확도가 필요한 경우 A* 알고리즘을 선택.
- 계산 비용: 비용이 중요한 경우 Dijkstra 알고리즘을 선택.
4. PID 제어의 기본 원리
PID 기본원리
비례, 적분, 미분 제어기라는 뜻을 가진 PID 제어는 실제 응용 분야에서 많이 쓰고 있는 제어 기법입니다
PID 제어는 현대 제어 시스템에서 핵심적인 역할을 하는 피드백 제어 알고리즘으로 제어 과정 발생 오차를 줄일 수가 있어서 공정에서 안정성 확보에 필요 도구중 하나이며 다양한 산업 분야에서 사용중입니다.
PID 제어 사용분야
산업 자동화 공정 제어 시스템에서 화학 공정의 온도 제어, 압력 제어, 유량 제어 등에서 제어기를 사용해서 안정적인 공정 운영이 가능하며 두번째로 로보틱스에서는 로봇의 모터 제어, 위치 제어, 자세 제어에 사용 중으로 로봇이 정확하고 안정적인 동작을 하도록 제어합니다.
자동차에서는 차량의 속도 제어, 엔진 제어, 제동 제어 등에 사용 중으로 크루즈 컨트롤 시스템은 PID 제어 기능이 있어서 차량속도를 일정하게 유지하는데 도움이 되며 항공우주분야에서는 항공기와 우주선의 자세 제어, 경로 제어 등 알 수 없는 우주 속 경로 비행에 도움을 주고 있습니다.
우리 생활속에서는 가전제품으로 에어컨, 냉장고 등의 온도 제어 시스템에 주로 장착이 되어서 시원한 여름 건강관리를 위해서 온도를 유지하여 쾌적한 환경을 제어를 하는데 이용 되고 있습니다.
구성 요소 3가지
PID 제어기는 다음 세 가지 주요 구성 요소로 이루어져 있는데요 3가지 pid, 즉 p게인, i게인, d게인의 뜻과 특징 및 장단점에 대해 정리를 해 보도록 하겠습니다.
4.1 P Gain (비례 증폭)
- 현재 오차에 비례하여 제어 출력을 결정합니다.
- 빠른 응답을 제공하지만, 과도한 P Gain은 오버슈팅을 초래할 수 있습니다.
- 적용 예시: 온도 조절 시스템에서 빠른 반응을 요구할 때 사용됩니다.
4.2 I Gain (적분 증폭)
- 누적된 과거 오차에 비례하여 제어 출력을 조절합니다.
- 정적 오차를 제거하고 시스템의 안정성을 향상시킵니다.
- 적용 예시: 정밀한 위치 제어가 필요한 로봇 팔에서 사용됩니다.
4.3 D Gain (미분 증폭)
- 현재 오차의 변화율에 비례하여 제어 출력을 조절합니다.
- 오버슈팅을 감소시키고 시스템의 진동을 줄이는 데 효과적입니다.
- 적용 예시: 진동이 발생할 수 있는 시스템에서 안정성을 높이기 위해 사용됩니다.
5. PI, PD, PID 제어의 장단점
PI, PD, PID 제어는 자동 제어 시스템에서 널리 사용되는 제어 알고리즘입니다.
각 제어 방식은 시스템의 동작을 조절하는 데 필요한 다양한 요소를 포함하고 있으며, 특정 상황에 따라 적합한 제어 방식을 선택하게 됩니다.
각 제어 방식 3가지에 대해 자세히 설명하겠습니다.
5.1 PI 제어
PI 제어는 비례(Proportional) 제어와 적분(Integral) 제어를 결합한 방식입니다. 이 방식은 오차를 줄이기 위해 현재 오차와 과거의 오차를 모두 고려합니다.
역할 및 기능
- 비례 제어: 현재 오차에 비례하여 제어 신호를 생성합니다. 오차가 클수록 제어 신호도 커집니다.
- 적분 제어: 오차의 누적 값을 고려하여 장기적으로 오차를 개선하는 역할을 하며 이를 통해 시스템이 목표 값에 도달하도록 돕는 역할을 합니다.
사용 환경 상황 및 장단점
- 정상 상태 오차가 허용되지 않는 경우: PI 제어는 시스템이 목표 값에 도달하도록 보장합니다.
- 속도가 느린 시스템: 적분 작용이 오차를 줄이는 데 효과적입니다.
- 온도 조절, 유량 조절 등: 많은 산업 공정에서 사용됩니다.
- 장점: 정적 오차 제거, 안정성 향상.
- 단점: 오버슈팅 가능성.
- 적용 예시: 온도 조절 시스템에서 정적 오차를 줄이기 위해 사용됩니다.
5.2 PD 제어
PD 제어는 비례 제어와 미분(Derivative) 제어를 결합한 방식으로 현재 오차와 오차의 변화율을 고려하여 제어 신호를 생성합니다.
역할 및 기능
- 비례 제어: 현재 오차에 비례하여 제어 신호를 생성합니다.
- 미분 제어: 오차의 변화율을 고려하여 시스템의 반응 속도를 조절합니다. 이는 시스템의 과도한 진동을 줄이는 데 도움을 줍니다.
사용 환경 상황 및 장단점
- 빠른 반응이 필요한 경우: PD 제어는 시스템의 반응 속도를 높이는 데 유리합니다.
- 진동이나 과도한 반응을 줄이고 싶은 경우: 미분 작용이 시스템의 안정성을 높입니다.
- 로봇 제어, 모터 제어 등: 동적 시스템에서 많이 사용됩니다.
- 장점: 오버슈팅 감소, 빠른 응답.
- 단점: 정적 오차 존재.
- 적용 예시: 로봇의 빠른 반응이 필요한 경우에 사용됩니다.
5.3 PID 제어
PID 제어는 비례, 적분, 미분 제어를 모두 포함한 방식입니다. 이 방식은 현재 오차, 과거 오차, 그리고 오차의 변화율을 모두 고려하여 제어 신호를 생성합니다.
역할 및 기능
- 비례 제어: 현재 오차에 비례하여 즉각적인 반응을 제공합니다.
- 적분 제어: 오차의 누적을 고려하여 장기적인 안정성을 제공합니다.
- 미분 제어: 오차의 변화율을 고려하여 시스템의 반응 속도를 조절합니다.
사용 환경 상황 및 장단점
- 다양한 시스템에서의 일반적인 제어: PID 제어는 가장 일반적으로 사용되는 제어 방식으로, 다양한 산업 분야에서 적용됩니다.
- 정확한 목표값 도달이 필요한 경우: PID 제어는 오차를 최소화하고 시스템의 안정성을 높입니다.
- 온도, 압력, 속도 제어 등: 많은 자동화 시스템에서 사용됩니다.
- 장점: 정적 오차, 오버슈팅, 진동 모두 개선.
- 단점: 조절 파라미터 설정이 어려울 수 있음.
- 적용 예시: 다양한 산업 자동화 시스템에서 널리 사용됩니다 7.
개발관련 학습을 위한 사이트 정보와 학습자료 정보를 얻을 수 있는 곳을 같이 정리를 해 봤습니다. 필요한 분들에게 도움이 될 것입니다.
다시 한번 PID 제어에 대해 요약을 해 보겠습니다.
- PI 제어: 정상 상태 오차를 줄이고, 느린 시스템에 적합하며 온도 조절과 같은 응용에 유리합니다.
- PD 제어: 빠른 반응이 필요하고, 진동을 줄이고 싶은 경우에 적합하여 로봇이나 모터 제어에 많이 사용됩니다.
- PID 제어: 가장 일반적이며, 다양한 시스템에서 안정성과 정확성을 제공하는 제어방식으로 복잡한 시스템이나 다양한 동작 조건에서 유용합니다.
6.개발 관련 커뮤니티 및 학습 자료
개발 관련 커뮤니티 사이트와 프로그램 관련 정보들입니다.
⦿ 개발 관련 프로그램 사이트 플랫폼
1 인프런
- 다양한 IT 관련 강의를 제공하는 플랫폼으로, 프로그래밍, 데이터 분석, 디자인 등 다양한 주제를 다루고 있어서 유용한 정보를 찾을 수 있는 곳으로 비용은 강의에 따라 다르며, 무료 강의도 많습니다.
2. SQLER
- SQL 및 데이터베이스 관련 커뮤니티로, 다양한 자료와 강의를 제공을 하고 있으며 비용은 무료 자료가 많지만, 일부 유료 강의도 있습니다.
3 GitHub
- 오픈 소스 프로젝트와 개발자 커뮤니티가 모여 있는 플랫폼으로, 다양한 개발 자료를 공유하고 있으며 무료로 사용 가능한 곳입니다.
- GitHub바로가기>>
4 Velog
- 개발자들이 자신의 경험과 지식을 공유하는 블로그 플랫폼으로 무료로 사용이 가능합니다.
5 Udemy
- 다양한 주제의 온라인 강의를 제공하는 플랫폼으로, 프로그래밍, 디자인, 비즈니스 등 다양한 분야의 강의를 제공하고 있으며 강의에 따라 다르며, 할인 행사도 자주 진행이 되고 있어서 저렴하게 이용이 가능한 곳입니다.
6 Inflearn
- 한국어로 제공되는 다양한 IT 강의를 제공하는 플랫폼으로 무료 및 유료 강의가 있으며, 유료 강의는 보통 10,000원에서 100,000원 정도 사이에서 선택이 가능합니다.
⦿ 개발 관련 추천 서적
개발 관련 추천할 만한 서적 들입니다.
1 “Clean Code” by Robert C. Martin
- 소프트웨어 개발에서의 코드 품질을 높이는 방법에 대한 책으로 가격은 약 30,000원
2 “The Pragmatic Programmer” by Andrew Hunt and David Thomas
- 프로그래밍의 실용적인 측면을 다룬 책으로, 개발자에게 유용한 팁과 기법을 학습을 할 수 있는 서적으로 가격은 약 40,000원 입니다.
3 “You Don’t Know JS” by Kyle Simpson
- JavaScript의 깊이 있는 이해를 돕는 시리즈 서적으로 가격은 약 25,000원입니다.
Path Planning 및 PID 마무리
개발 관련 기업들은 다양한 제품과 서비스를 제공하며, 각 기업의 특성과 강점을 이해하는 것이 중요합니다.
또한, 다양한 커뮤니티와 학습 자료를 통해 개발 기술을 향상시킬 수 있습니다. 위의 링크를 통해 더 많은 정보를 얻고, 필요한 자료를 찾아보시기 바랍니다. 개발 분야는 끊임없이 변화하고 발전하고 있으므로, 지속적인 학습이 필요합니다.
Path Planning과 PID 제어는 자율주행 시스템에서 상호 보완적인 역할을 합니다.
Path Planning 알고리즘은 로봇이나 차량이 목표 지점까지의 경로를 계획하는 데 사용되며, PID 제어는 이 경로를 따라 이동할 때의 속도와 방향을 조절합니다. 이 두 기술의 통합은 자율주행 시스템의 성능을 극대화하는 데 필수적입니다.
Path Planning 알고리즘과 PID 제어는 자율주행 기술의 핵심 요소입니다.
각 알고리즘의 특성과 장단점을 이해하고, 적절한 알고리즘을 선택함으로써 로봇 및 자율주행 차량의 성능을 극대화할 수 있습니다. 이러한 기술들은 앞으로의 자동화 및 로봇공학 분야에서 더욱 발전할 것입니다. 자율주행 기술의 발전은 우리의 삶을 더욱 편리하고 안전하게 만들어 줄 것입니다.
이 글이 Path Planning 알고리즘과 PID 제어에 대한 이해를 돕고, 자율주행 기술의 중요성을 강조하는 데 기여하길 바라고 다음은 학습을 위한 커뮤니티나 자료 등을 정리한 내용으로 도움이 되었기를 바랍니다.
⦿ 관련 글 더 보기
✅자율주행 ROS1 ROS2 모델 비교(운영체제, 통신모델, 호환성 안정성) 및 다운로드 사이트, 학습정보 3가지
✅드론 배송 신청가능지역 및 배달가능 품목 비용 정보 3가지