Main Content

이동 로봇 기구학 방정식

외륜, 자전거, 차동 구동, Ackermann 모델을 비롯한 이동 로봇 기구학 방정식에 대해 자세히 알아봅니다. 이 항목에서는 각 모션 모델의 변수와 특정 방정식을 다룹니다[1]. 이러한 모델을 사용하여 다양한 이동 로봇을 시뮬레이션하는 예제는 Simulate Different Kinematic Models for Mobile Robots 항목을 참조하십시오.

변수 개요

로봇 상태는 요소를 3개 가진 벡터 [x y θ]로 표현됩니다.

이러한 로봇 상태에서 각 요소는 다음을 의미합니다.

  • x: 전역 이동체 x 위치(단위: 미터)

  • y: 전역 이동체 y 위치(단위: 미터)

  • θ: 전역 이동체 방향(단위: 라디안)

Ackermann 기구학의 경우 상태에 조향각도 포함됩니다.

  • ψ: 이동체 조향각(단위: 라디안)

외륜, 자전거, 차동 구동 모델은 일반화된 제어 입력값을 공유하며, 다음을 받습니다.

  • v: 이동체 속도(단위: 미터/초)

  • ω: 이동체 각속도(단위: 라디안/초)

기구학 방정식에서 표현되는 그 밖의 변수는 다음과 같습니다.

  • r: 바퀴 반경(단위: 미터)

  • ϕ˙: 바퀴 속도(단위: 라디안/초)

  • d: 차륜 거리(단위: 미터)

  • l: 축간 거리(단위: 미터)

  • ψ: 이동체 조향각(단위: 라디안)

외륜 기구학

외륜 기구학 방정식은 unicycleKinematics 객체를 사용하여 중심축을 중심으로 회전하는 단일 회전 바퀴를 모델링합니다.

외륜 모델 상태는 [x y θ]입니다.

변수

  • x: 전역 이동체 x 위치(단위: 미터)

  • y: 전역 이동체 y 위치(단위: 미터)

  • θ: 전역 이동체 방향(단위: 라디안)

  • ϕ˙: 바퀴 속도(단위: 미터/초)

  • r: 바퀴 반경(단위: 미터)

  • v: 이동체 속도(단위: 미터/초)

  • ω: 이동체 방향 각속도(단위: 라디안/초)

기구학 방정식

VehicleInputs 이름-값 인수에 따라 바퀴 속도만 입력하거나 이동체 속도와 방향 변화율만 입력할 수 있습니다. 입력값을 변경하면 그에 따라 방정식도 달라집니다.

바퀴 속도 방정식

[x˙y˙θ˙]=[rcos(θ)0rsin(θ)001][ϕ˙ω]Unicycle Equation of Motion

이동체 속도 및 방향 변화율 방정식(일반화됨)

일반화된 입력값이 속도 v=rϕ˙, 이동체 방향 각속도 ω로 주어지면 방정식은 다음과 같이 단순화됩니다.

[x˙y˙θ˙]=[cos(θ)0sin(θ)001][vω]Unicycle Equation of Motion

자전거 기구학

자전거 기구학 방정식은 bicycleKinematics 객체를 사용하여 앞바퀴 조향각을 제어 입력값으로 받는 차륜 이동체를 모델링합니다.

자전거 모델 상태는 [x y θ]입니다.

변수

  • x: 전역 이동체 x 위치(단위: 미터)

  • y: 전역 이동체 y 위치(단위: 미터)

  • θ: 전역 이동체 방향(단위: 라디안)

  • l: 축간 거리(단위: 미터)

  • ψ: 이동체 조향각(단위: 라디안)

  • v: 이동체 속도(단위: 미터/초)

  • ω: 이동체 방향 각속도(단위: 라디안/초)

기구학 방정식

VehicleInputs 이름-값 인수에 따라 이동체 속도를 조향각으로 입력하거나 방향 변화율로 입력할 수 있습니다. 입력값을 변경하면 그에 따라 방정식도 달라집니다.

조향각 방정식

[x˙y˙θ˙]=[cos(θ)0sin(θ)0tan(ψ)l1][vω]

이동체 속도 및 방향 변화율 방정식(일반화됨)

이 일반화된 형식에서, 방향 변화율 ω는 조향각 ψω=vltanψ의 관계에 있습니다. 그러면 ODE는 다음과 같이 단순화됩니다.

[x˙y˙θ˙]=[cos(θ)0sin(θ)001][vω]Unicycle Equation of Motion

차동 구동 기구학

차동 구동 기구학 방정식은 differentialDriveKinematics 객체를 사용하여 좌우 바퀴가 독립적으로 회전할 수 있는 이동체를 모델링합니다.

차동 구동 모델 상태는 [x y θ]입니다.

변수

  • x: 전역 이동체 x 위치(단위: 미터)

  • y: 전역 이동체 y 위치(단위: 미터)

  • θ: 전역 이동체 방향(단위: 라디안)

  • ϕ˙L: 왼쪽 바퀴 속도(단위: 미터/초)

  • ϕ˙R: 오른쪽 바퀴 속도(단위: 미터/초)

  • r: 바퀴 반경(단위: 미터)

  • d: 차륜 거리(단위: 미터)

  • v: 이동체 속도(단위: 미터/초)

  • ω: 이동체 방향 각속도(단위: 라디안/초)

기구학 방정식

VehicleInputs 이름-값 인수에 따라 바퀴 속도를 조향각으로 입력하거나 방향 변화율로 입력할 수 있습니다. 입력값을 변경하면 그에 따라 방정식도 달라집니다.

바퀴 속도 방정식

[x˙y˙θ˙]=[r2cos(θ)r2cos(θ)r2sin(θ)r2sin(θ)-r/dr/d][ϕ˙Lϕ˙R]Differential-Drive Equation of Motion

이동체 속도 및 방향 변화율 방정식(일반화됨)

일반화된 형식에서 입력값은 속도 v=r2(ϕ˙R+ϕ˙L), 이동체 방향 각속도 ω=rd(ϕ˙R-ϕ˙L)로 주어집니다. ODE는 다음과 같이 단순화됩니다.

[x˙y˙θ˙]=[cos(θ)0sin(θ)001][vω]Unicycle Equation of Motion

Ackermann 기구학

Ackermann 기구학 방정식은 ackermannKinematics 객체를 사용하여 Ackermann 조향 메커니즘을 사용하는 차륜 이동체 모델을 모델링합니다. 방정식은 차륜 거리를 바탕으로 차축 타이어의 위치를 조정하여 타이어가 동심원을 추종하도록 합니다. 이는 수학적으로는 입력값이 조향 방향 각속도 ψ˙이어야 함을 의미하며, 일반화된 형식은 없습니다.

Ackermann 모델 상태는 [x y θ ψ]입니다.

변수

  • x: 전역 이동체 x 위치(단위: 미터)

  • y: 전역 이동체 y 위치(단위: 미터)

  • θ: 전역 이동체 방향(단위: 라디안)

  • ψ: 이동체 조향각(단위: 라디안)

  • l: 축간 거리(단위: 미터)

  • v: 이동체 속도(단위: 미터/초)

기구학 방정식

Ackermann 기구학 모델의 경우 ODE는 다음과 같습니다.

[x˙y˙θ˙ψ˙]=[cos(θ)0sin(θ)0tan(ψ)/l001][vψ˙]

참고 문헌

[1] Lynch, Kevin M., and Frank C. Park. Modern Robotics: Mechanics, Planning, and Control. Cambridge University Press, 2017.

이러한 모델을 사용하여 다양한 이동 로봇을 시뮬레이션하는 예제는 Simulate Different Kinematic Models for Mobile Robots 항목을 참조하십시오.