hyein's 로봇 알고리즘 연구소

Mobile Robot(Differential Drive Robot) Modeling and Control 진행 중 본문

OnGoingProj

Mobile Robot(Differential Drive Robot) Modeling and Control 진행 중

hyein14 2020. 8. 27. 22:15

안녕하세요. 간단히 진행 사항을 이야기드리고자 글을 쓰네요. 

 

Study note

1.  2020/08/09 - [OnGoingProj] - Ascento - 귀여운 legged wheel robot )

 

 

 Ascento는 legged-wheel robot으로, 평지에서는 바퀴로 달리는 wheel based robot의 특징과 장애물을 만나면 점프를 하는 legged robot의 특징을 갖고 있습니다.  ascento를 움직이게 하기 위해서는 먼저 wheel based robot에 대한 이해가 필요합니다. 그래서 저는 최근에 mobile robot(differential drive robot)에 대해 공부를 시작했습니다. ^^

 

모바일 로봇에 대해 자세한 이야기를 다루기 보다는 제 연구의 진행 정도를 기록한 것으로 생각해주시면 감사하겠습니다. 하기의 자세한 내용들은 추후에 Robot Algorithm에서 다루도록 하겠습니다.

 

먼저, Mobile Robot에 대한 정의가 필요한데 아래와 같이 정의하였습니다.

 

 

Differential drive robot(Mobile robot)을 표현하려면 현재 로봇의 위치와 방향에 대한 정보가 필요합니다. 그래서 기준 좌표계와 로봇의 좌표계가 필요합니다. 기준 reference 좌표계 {${X_I, Y_I}$}와 로봇에 붙어 있는 좌표계 {${X_R, Y_R}$} 가 있습니다. 로봇의 현재 상태는 위치 정보와 방향정보인 $(X, Y, \theta)$로 나타낼 수 있겠죠?

 

저는 mobile robot이 trajectory tracking이 되도록 시도해 보았습니다. 이를 위해서는 현재 위치 (X, Y)와 목표 위치 $[X_d, Y_d]^T$사이에 정의되는 새로운 상태 변수 $[\rho, \alpha, \beta]^T$를 잡고 제어를 했네요.

 

그리고 로봇 시뮬레이션을 위한 robot dynamcis는 이전에 이야기 드렸던 대로 sympy physics를 이용해서 Modeling을 하고 이를 이용해서 equation of motion(eom)을  구했습니다.

 

원점에 있는 로봇에게 원의 호까지 가서 원운동을 하는 desired trajectory를 주었는데,  로봇이 생각보다 경로를 잘 따라 갔네요. ^^

 

 

다음 연구 방향으로는 이 모바일 로봇에 balancing robot과 같이 inverted body부분을 추가하여 stabilizing control을 하려고 합니다.

 

Comments