① SVM은 어떤 역할을 하는가?
SVM은 목표점 (x,y)이 관절 제한 내에서 도달 가능한지 분류합니다. 실제 관절 각도는 역기구학(IK)으로 계산하고 이동은 PD 제어로 구현합니다.
SVM 자체가 최적 경로나 최적 제어를 산출하는 것은 아닙니다. 아래 경로 모드는 별도의 계획 방식입니다. SVM은 근사 분류기이므로 최종 도달 가능 여부는 정확한 기구학으로 재검증합니다.
② 실시간 2관절 로봇팔
🟢 SVM 가능 영역 · 🔴 불가능 영역 · 🟠 목표 · 🔵 로봇팔 · 흰색: 계획 경로
작업공간을 클릭하거나 터치해 목표점을 변경하세요.
SVM 학습 준비 중…
로봇팔 · 목표 설정
SVM · 제어 환경
링크 길이, 관절 제한, C, γ, 학습 샘플 수 변경 시 모델을 재학습합니다.
③ SVM 학습 · 결정 경계
초록/빨강 점: 정답 레이블 · 흰 테두리: 서포트 벡터 · 배경: SVM 예측
실제 역기구학으로 생성한 도달 가능/불가 레이블을 RBF 커널 SVM으로 학습합니다. 간소화된 SMO 최적화를 사용합니다.
C: 오분류 페널티, γ: 결정 경계의 국소성. 검증 정확도는 학습하지 않은 좌표에서 측정합니다.
—
④ 제어 성능 그래프
🟠 말단 오차(mm) · 🔵 θ₁(°) · 🟢 θ₂(°), 각각 정규화 눈금
동일한 시작점과 목표에서 경로 모드, 속도 제한, PD 게인, 노이즈 및 외란을 변경하여 비교합니다.
빠른 이동 모드는 참조 궤적의 진행 속도를 높이는 예시이며 엄밀한 시간최적 제어는 아닙니다. 에너지 지표도 실제 전력량(J)이 아닙니다.
② PD 제어와 LQR 최적 제어 비교
같은 2관절 로봇팔, 같은 시작각·목표각·외란을 적용해 PD 제어와 LQR(Linear Quadratic Regulator)의 응답을 나란히 비교합니다. SVM은 목표 도달 가능 여부를 판정하며, LQR은 제어 오차와 입력 크기의 비용함수를 최소화하도록 피드백 게인을 계산합니다.
비교용 모델은 관절별 이중 적분기(각가속도 입력)입니다. LQR은 이 모델에 대한 무한시간 이산 최적 제어이며, 실제 로봇의 비선형 동역학까지 최적화한 결과는 아닙니다. PD와 LQR은 동일한 가속도·속도 제한을 적용합니다.
PD 제어 로봇팔
—
LQR 최적 피드백 로봇팔
—
말단 목표 오차 비교
🔵 PD · 🟢 LQR (mm)
제어 입력 크기 비교
🔵 PD · 🟢 LQR (|각가속도| 합계, rad/s²)
펀월드 수식 설명 — 두 제어기의 차이
LQR의 K는 이산 Riccati 방정식으로 계산합니다. Qθ를 올리면 위치 오차를 더 크게 벌점화하고, R을 올리면 제어 입력을 더 아끼려 합니다. 출력 제한이 활성화되면 원래의 무제약 LQR 최적성은 그대로 유지되지 않습니다.
비교 시작 버튼을 누르세요.
③ n-DOF 다관절 로봇팔 시뮬레이션
관절을 2~8개까지 추가하여 평면 직렬 로봇팔의 목표점 도달 과정을 확인합니다. 링크 길이, 초기 관절각, 목표 좌표, 감쇠계수 및 속도 제한을 변경하세요.
알고리즘 구분: 이 탭은 Damped Least Squares(DLS) 역기구학을 사용합니다. 기존 SVM 학습은 2DOF의 도달 가능성 분류이며, n-DOF에 그대로 적용되지 않습니다. n-DOF용 SVM은 별도 학습 데이터와 분류 모델이 필요합니다.
🔵 로봇팔 · 🟠 목표 · 🟢 말단 궤적 · 작업공간 클릭으로 목표 지정
시뮬레이션 준비 완료
다관절 설정
관절별 링크 길이 · 초기 각도
펀월드 수식 설명 — n-DOF 순기구학
Jacobian과 Damped Least Squares
J는 2×n Jacobian입니다. 감쇠계수 λ는 특이점 근처에서 수치적 발산을 완화합니다. 이 방법은 국소적 역기구학이며 전역 최단시간·최소에너지 해를 보장하지 않습니다. 관절 한계나 도달 불가능한 목표에서는 오차가 남을 수 있습니다.
관절각 변화 그래프
⑤ 펀월드 수식 설명 — 순기구학 · 역기구학
순기구학
역기구학
|c₂| ≤ 1 및 각 관절의 제한 범위를 만족해야 합니다. 팔꿈치 위/아래 두 해를 검사합니다.
Jacobian
⑥ 펀월드 수식 설명 — SVM과 PD 제어
z는 링크 전체 길이로 정규화한 목표 좌표, yᵢ는 도달 가능(+1) 또는 불가능(−1) 레이블입니다. αᵢ가 양수인 데이터가 서포트 벡터입니다.
모터를 관절 가속도 제어 입력을 받는 단순화된 2차 시스템으로 모델링했습니다. 실제 모터 토크, 중력, 관성 및 마찰의 완전한 동역학 모델은 아닙니다.
⑦ 추천 실험 순서
- 기본 모델에서 목표점을 이동하며 SVM 예측과 실제 IK 판정을 비교합니다.
- 같은 목표에 대해 말단 직선과 관절 최소 이동을 비교합니다.
- 제어 Kp, Kd 및 관절 속도 제한을 바꿔 응답을 비교합니다.
- 노이즈와 외란을 추가하고 위치 오차 변화를 확인합니다.
- SVM C, γ, 학습 데이터 수를 바꾸어 결정 경계와 검증 정확도를 비교합니다.