ai-winter/python_motion_planning
Motion planning(Path Planning and Trajectory Planning/Tracking) of AGV/AMR:python implementation of Dijkstra, A*, JPS, D*, LPA*, D* Lite, (Lazy)Theta*, RRT, RRT*, RRT-Connect, Informed RRT*, Voronoi, PID, DWA, APF, LQR, MPC, RPP, Bezier, Dubins etc.
해결하는 문제
이 프로젝트는 로봇의 운동 계획을 다룹니다: 시작점에서 목표점까지 안전하고 충돌 없는 경로를 계산한 후, 그 경로를 로봇의 운동학 및 역학을 고려한 궤적(trajectory)으로 변환하는 것입니다. 경로 계획과 궤적 최적화를 위한 잘 알려진 알고리즘 세트를 제공하며, 계획된 경로를 따라 로봇을 유지하는 컨트롤러도 포함합니다.
작동 방식
코드베이스는 다음과 같은 모듈로 구성되어 있습니다: path_planner (그래프 탐색, 샘플 탐색, 하이브리드 탐색), controller (경로 추적기), traj_optimizer (곡선 생성기), common (환경, 로봇, 유틸리티, 시각화 도구). 2D 및 일부 3D 기반의 격자 기반 세계 표현을 사용하며, 로봇을 시뮬레이션합니다. 시각화 도구는 matplotlib 기반입니다. 컨트롤러는 원형 옴니디렉셔널 로봇과 차동 드라이브 로봇 두 가지 유형을 지원하는 토이 물리 시뮬레이터를 통해 테스트됩니다.
대상 사용자
고전적인 운동 계획 알고리즘을 실험하고, 그 동작을 비교하며, 가벼운 시뮬레이션 환경에서 컨트롤러를 테스트하고자 하는 로봇 공학 학생, 연구자, 애호가를 위한 것입니다. 또한 알고리즘 세부 사항의 참조 구현으로도 유용하며, ROS C++ 및 MATLAB 대응 버전이 있어 다국어 학습 도구로도 활용 가능합니다.
주요 특징
- 인기 있는 그래프 탐색 플래너 (Dijkstra, A*, JPS, Theta*, Lazy Theta*)
- 샘플 기반 플래너 (RRT, RRT*, RRT-Connect)
- 보로노이 하이브리드 플래너
- 2D 시뮬레이터와 함께 제공되는 경로 추적 컨트롤러 (Pure Pursuit, PID, APF, DWA, RPP)
- 궤적 최적화기 (3차 스플라인, BSpline, 다항식, 베지에, Dubins, Reeds-Shepp)
pip install python-motion-planning을 통한 간편한 설치 및 튜토리얼이 포함된 온라인 문서- 활발히 개발 중이며, 향후 N차원 컨트롤러, 로봇 팔 계획, ROS2 지원 계획 포함
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트