Repolode
AtsushiSakai

AtsushiSakai/PythonRobotics

위치 추정, 매핑, SLAM, 경로 계획 및 제어를 다루는 로보틱스 알고리즘 Python 코드 모음이자 교재입니다.

스타
30,754
포크
7,422
열린 이슈
64
마지막 커밋
그저께

어떤 프로젝트인가요?

PythonRobotics는 널리 사용되는 로보틱스 알고리즘의 Python 예제 구현 모음으로, 각 알고리즘의 수학적 배경을 설명하는 온라인 교재도 함께 제공합니다. 핵심 개념을 쉽게 이해할 수 있도록 각 예제를 단순하게 구성해, 프로덕션 수준의 구현이 아니라 알고리즘의 기본 로직을 따라가며 살펴볼 수 있습니다.

코드는 문제 영역별로 정리되어 있습니다. 위치 추정에는 Extended Kalman Filter, particle filter, histogram filter 예제가 있고, 매핑에는 grid map, lidar-to-grid 변환, k-means clustering이 포함됩니다. 그 밖에도 SLAM을 위한 ICP 매칭과 FastSLAM 1.0, A*, Dijkstra, RRT 변형, PRM, Frenet-frame 궤적 등 다양한 경로 계획 알고리즘, Stanley, LQR, model predictive control 같은 경로 추종 제어기가 있습니다. 로봇 팔 내비게이션, 쿼드로터 궤적 추종, 로켓 착륙, 이족 보행 발걸음 계획기도 제공됩니다.

각 예제는 2D 또는 단순화된 시뮬레이션으로, 애니메이션을 생성합니다. Python 3.13과 NumPy, SciPy, Matplotlib, cvxpy가 필요하며 conda 또는 pip로 설치할 수 있습니다.

핵심 기능

  • 01위치 추정, 매핑, SLAM, 경로 계획, 경로 추종 및 제어를 다룹니다.
  • 02EKF, particle filter, A*, Dijkstra, RRT, Stanley, MPC 예제를 포함합니다.
  • 03각 예제는 이해하기 쉽도록 작성되었으며 애니메이션 시뮬레이션을 생성합니다.
  • 04각 알고리즘의 수학적 배경을 설명하는 온라인 교재를 함께 제공합니다.
  • 05NumPy, SciPy, Matplotlib 등 널리 쓰이는 Python 라이브러리 몇 개만 필요합니다.

활용 사례

  • 더 큰 시스템에 구현하기 전에 로보틱스 알고리즘의 작동 원리를 학습할 때.
  • 시뮬레이션에서 경로 계획기나 경로 추종 제어기를 프로토타이핑할 때.
  • 실행 가능한 예제로 학부 또는 대학원 로보틱스 수업을 진행할 때.
  • 같은 시나리오에서 여러 위치 추정 또는 SLAM 방식의 동작을 비교할 때.

빠른 시작

  1. 1

    저장소를 클론합니다

    git clone https://github.com/AtsushiSakai/PythonRobotics.git
  2. 2

    pip로 필요한 라이브러리를 설치합니다

    pip install -r requirements/requirements.txt
  3. 3

    디렉터리에서 Python 샘플 스크립트를 실행합니다

사용 전 알아둘 점

  • 샘플 코드를 실행하려면 Python 3.13.x가 필요합니다.
  • 패키지로 제공되는 라이브러리나 프로덕션용 로보틱스 스택이 아니라 교육용 샘플 코드가 포함되어 있습니다.
  • 라이선스가 NOASSERTION으로 표시되어 있으므로 재사용하기 전에 저장소의 라이선스 파일을 확인하세요.

토픽

자주 묻는 질문

PythonRobotics은(는) 무엇인가요?
위치 추정, 매핑, SLAM, 경로 계획 및 제어를 다루는 로보틱스 알고리즘 Python 코드 모음이자 교재입니다. PythonRobotics는 널리 사용되는 로보틱스 알고리즘의 Python 예제 구현 모음으로, 각 알고리즘의 수학적 배경을 설명하는 온라인 교재도 함께 제공합니다. 핵심 개념을 쉽게 이해할 수 있도록 각 예제를 단순하게 구성해, 프로덕션 수준의 구현이 아니라 알고리즘의 기본 로직을 따라가며 살펴볼 수 있습니다.
PythonRobotics은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
PythonRobotics은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
PythonRobotics은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. PythonRobotics의 마지막 커밋은 2026년 10월 19일입니다.
PythonRobotics은(는) 어디에 사용할 수 있나요?
더 큰 시스템에 구현하기 전에 로보틱스 알고리즘의 작동 원리를 학습할 때. 시뮬레이션에서 경로 계획기나 경로 추종 제어기를 프로토타이핑할 때. 실행 가능한 예제로 학부 또는 대학원 로보틱스 수업을 진행할 때. 같은 시나리오에서 여러 위치 추정 또는 SLAM 방식의 동작을 비교할 때.
PythonRobotics는 어떻게 설치하나요?
저장소를 클론합니다: git clone https://github.com/AtsushiSakai/PythonRobotics.git pip로 필요한 라이브러리를 설치합니다: pip install -r requirements/requirements.txt 디렉터리에서 Python 샘플 스크립트를 실행합니다
PythonRobotics은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/AtsushiSakai/PythonRobotics

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트