Robotics

[로봇공학] 0. 직접 로봇팔 제어를 해보자 (로드맵)

로보고니 2024. 9. 21. 12:25

서론

로봇공학을 공부하는 학생이라면 아마도 Craig의 'Introduction to Robotics'를 공부할 것이다.

나 역시도 이 책을 가지고 로봇공학을 공부했다.

 

하지만 사실 로봇공학을 이론으로만 공부를 하게 된다면, 여러 행렬들과 동역학 방정식을 마주할 뿐 실제로 이것들이 어떻게 작동하는지는 알기 힘들다.

그래서 나는 로봇 분야의 연구실에서 랩인턴을 하면서, MATLAB으로 직접 시뮬레이션을 만들고 눈으로 확인했던 과정을 공유하려고 한다.


로봇공학개론

보통 로봇공학개론 수업의 커리큘럼을 확인해 보면 Ch1~Ch5까지 공부하곤 한다.

물론 이것보다 더 공부할 수도 있지만, 로봇공학 개론 수준에서는 Ch5까지만 해도 충분하다고 생각한다.

목차

  1. Introduction
  2. Spatial descriptions and transformations
  3. Manipulator kinematics
  4. Inverse manipulator kinematics
  5. Jacobians: velocities and static forces

각 목차에 대한 설명을 해보겠다.

 

Ch1. Introduction에서는 말 그대로 개요일 뿐이다. 로봇공학이 언제부터 시작되었고, 어떻게 발전되었으며, 앞으로 어떻게 될 것인지에 대해서 소개하고 있다.

 

Ch2. Spatial descriptions and transformations에서는 공간을 행렬로 표현하는 방법을 알려준다. 그리고 이동과 회전 행렬 등을 배울 수 있다.

 

Ch3. Manipulator kinematics에서는 Forward KinematicsDH parameter에 대해서 배운다. 사실 Ch3부터가 진짜 로봇공학을 배우는 느낌을 받을 수 있다.

 

Ch4. Inverse manipulator kinematics에서는 Inverse Kinematics에 대해서 배운다. 기존의 각도와 길이인 Joint space에서 위치인 Task space를 계산했던 Forward Kinematics와는 반대로 이번에는 좌표를 가지고 각 관절의 각도를 계산하는 Inverse Kinematics에 대해서 배운다.

 

Ch5. Jacobians: velocities and statics forces에서는 로봇공학의 핵심인 자코비안 행렬에 대해서 배운다. 이것을 통해서 우리는 앞에서 배웠던 Inverse Kinematics를 하지 않고도 로봇팔의 속도와 가속도 등을 계산할 수 있다.


로봇공학 제어 로드맵

그렇다면 위에서 배운 이론을 직접 시뮬레이션으로 확인하기 위해서는 어떤 순서로 공부를 해야 할까?

 

가장 중요한 것은 당연하게도 이론을 먼저 공부하는 것이다. 최소한 Ch3까지는 공부를 해야 MATLAB을 가지고 시뮬레이션을 만들어 볼 수 있다. 그렇기 때문에 가장 먼저 해야 하는 것은 Ch3까지 공부하면서 Forward Kinematics에 대해서 공부하는 것이다.

 

하지만 이것은 정말 최소한의 공부일 뿐이고, 나는 Ch5까지 모두 공부를 했다는 가정하에 로봇공학 제어 로드맵을 작성하겠다.

로드맵

목표: Planar 2 DOF Robot Arm 제어 시뮬레이션

  • Forward Kinematics로 Plot 하기
  • Inverse Kinematics로 Plot 하기
  • 6차 방정식으로 Trajectory 계산 및 Path Plot 하기
  • 자코비안 행렬로 Task Space와 Joint Space 연결하기
  • 라그랑주 운동 방정식으로 토크 계산하기
  • PID 제어기로 토크 제어하기

마무리

Planar 2 DOF Robot Arm

결과적으로 우리가 만들고자 하는 평면 2 자유도 로봇팔의 시뮬레이션 모습이다. 각 관절들에 있는 모터를 가지고 토크를 제어해서 로봇팔의 끝점을 우리가 원하는 곳으로 움직이게 할 것이다. 그리고 기회가 된다면 아두이노와 서보모터를 가지고 실제 2 DOF 로봇팔을 만들어 제어하는 것도 해보고 싶다.