petercorke/robotics-toolbox-matlab

Robotics Toolbox for MATLAB

Robotics Toolbox for MATLAB – 개요

이것은 무엇인가 – 성숙한 오픈 소스 MATLAB 툴박스로, MATLAB 환경에 고전적인 로봇공학 알고리즘을 추가합니다. 직렬 링크 매니퓰레이터, 이동 로봇의 운동학, 동역학, 경로 계획, 위치 추정, SLAM에 대한 MATLAB 클래스 표현을 제공하며, 일부 Simulink 모델(예: 쿼드로터)도 포함합니다. 코드는 1993년으로 거슬러 올라가며 MathWorks 자체 Robotics System Toolbox보다 먼저 존재했습니다.

주요 기능

  • 매니퓰레이터 모델링 – 모든 직렬 로봇(예: Puma 560, Kinova, UR)에 대한 SerialLink 객체 생성. 순운동학, 역운동학, 동역학(RNE), 자코비안 등의 함수.
  • 이동 로봇 모델 – 외발, 이륜, 자동차형 차량; Bug, D*, PRM, Reeds‑Shepp, 격자, RRT와 같은 플래너; EKF 또는 파티클 필터를 통한 위치 추정; 지도 구축 및 EKF‑SLAM.
  • 시뮬레이션 및 시각화 – 2‑D/3‑D 애니메이션(plot3d, plot_vehicle), GIF/비디오 내보내기, 비홀로노믹 차량 및 쿼드로터용 Simulink 블록.
  • 확장성 – 소스가 완전히 제공되며, 속도 향상을 위해 함수를 다시 작성하거나 MEX로 컴파일하거나 새 알고리즘을 추가할 수 있습니다.

일반적인 작업 흐름(README에서)

  1. 로봇 모델 로드(예: mdl_puma560).
  2. 객체(p560)를 사용하여 순운동학(p560.fkine(q)) 또는 역운동학(p560.ikine6s(T)) 계산.
  3. 관절 공간 궤적(jtraj) 생성 및 애니메이션(p560.plot3d).
  4. 이동 로봇의 경우 시작/목표 자세를 정의하고 플래너(ReedsShepp)를 호출한 다음 plot_vehicle로 시각화.
  5. 애니메이션을 출력하는 파티클 필터(ParticleFilter)와 같은 위치 추정 데모 실행.

설치

  • MATLAB‑Drive 방법 – 사전 패키지된 폴더를 공유하고 startup_rvc.m 실행.
  • GitHub 방법 – 이 저장소와 필요한 spatial-math 및 toolbox-common-matlab 저장소를 클론하고, make -C robot을 실행하여 MEX/Java 파일을 빌드한 다음 경로를 추가하고 startup_rvc를 호출합니다.

대상 사용자

  • 고전적인 로봇공학 알고리즘의 명확하고 읽기 쉬운 참조 구현이 필요한 연구자와 학생.
  • MATLAB 중심 커리큘럼에서 로봇 운동학, 동역학, 계획, SLAM 또는 제어를 가르치는 교육자.
  • 상용 툴박스를 구매하지 않고 로봇 시뮬레이션 프로토타입을 만들고자 하는 취미 사용자.

라이선스 – GNU LGPL v3, 학술 및 상업 프로젝트 모두에서 사용 허용(LGPL 조건 적용).

도움 받을 곳 – Google 그룹 포럼, FAQ 페이지, 저자 이메일(rvc@petercorke.com).

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트