yebeen.kim

[Robotics] Jacobian Matrix 본문

2026/뉴로메카 인턴

[Robotics] Jacobian Matrix

yebeen.kim 2026. 5. 21. 13:48

 

 

Jacobian Matrix(자코비안 행렬)로봇의 “관절 움직임과 끝단 움직임의 관계”를 나타내는 행렬이다.

 

쉽게 말하면:

“각 관절이 얼마나 움직이면 로봇 손끝이 얼마나 움직이는가?”

 

를 계산하는 도구다.

 

로봇공학에서는 단순히 위치만 중요하지 않다.

 

실제로는:

  • 얼마나 빠르게 움직이는지
  • 어느 방향으로 움직이는지
  • 힘이 어떻게 전달되는지
  • 충돌 직전에 어떻게 반응하는지

등도 매우 중요하다.

 

Jacobian은 이런 “움직임의 변화량”을 계산할 때 사용된다.

 

IK(Inverse Kinematics)가 "목표 위치로 가기 위한 관절 각도 계산" 이라면,

Jacobian은 "관절이 조금 움직였을 때 끝단이 어떻게 변하는지 계산" 에 가깝다.

 

예를 들어 로봇 팔 끝을 오른쪽으로 아주 조금 이동시키고 싶다고 생각해보자.

 

이때 로봇은:

  • 어떤 관절을
  • 얼마나
  • 어떤 속도로

움직여야 하는지 계산해야 한다.

 


 

 

Jacobian은 이 관계를 행렬 형태로 표현한다.

 

간단한 개념으로 표현하면:

여기서:

를 의미한다.

 

 

즉:

관절 속도 → 끝단 속도

로 변환하는 역할이다.

 

비유하면 자동차의 “핸들 조향 시스템”과 비슷하다.

 

핸들을 조금 돌렸을 때:

  • 바퀴가 얼마나 회전하는지
  • 차량이 어느 방향으로 움직이는지

결정되는 것처럼,

 

Jacobian도:

  • 관절 변화
  • 끝단 움직임

사이의 관계를 계산한다.

 

로봇공학에서 Jacobian은 굉장히 중요하다. 왜냐하면 실제 로봇은 단순 위치 제어만 하지 않기 때문이다.

 

예를 들어 산업용 로봇에서는:

  • 실시간 속도 제어
  • 힘 제어
  • 순응 제어(Compliance)
  • 충돌 회피
  • 경로 추종
  • 임피던스 제어

등이 필요하다.

 

이런 제어 대부분이 Jacobian 기반으로 동작한다.

 

예를 들어 힘 제어에서는:

끝단에 가해진 힘
→ 각 관절 토크로 변환

해야 한다.

 

이때 Jacobian의 Transpose가 사용된다.

 

즉 Jacobian은 단순 수학 행렬이 아니라:

"관절 공간(Joint Space)"
↔
"작업 공간(Task Space)"

을 연결하는 핵심 다리 역할을 한다.

 

특히 로보틱스에서 Jacobian을 반드시 알아야 하는 이유는 “속도 제어” 때문이다.

 

IK는 보통 목표 위치만 계산한다.

 

하지만 실제 로봇은:

  • 얼마나 빠르게 이동할지
  • 얼마나 부드럽게 움직일지
  • 실시간으로 어떻게 수정할지

계속 계산해야 한다.

 

이 과정에서 Jacobian이 사용된다.

 

예를 들어 사람 손이 갑자기 움직이는 물체를 피하는 상황을 생각해보자.

 

로봇도 마찬가지다.

센서가 장애물을 감지하면:

  • 현재 Jacobian 계산
  • 관절 속도 수정
  • 끝단 방향 변경

같은 작업을 매우 빠르게 수행한다.

 

특히 Jacobian에서 가장 중요한 개념 중 하나가 Singulariy(특이점)이다.

 

특이점은:

로봇이 특정 방향으로 움직이기 어려워지는 상태

를 의미한다.

 

쉽게 말하면 “관절 구조가 일직선처럼 펴져서 자유도가 사라지는 상태” 라고 볼 수 있다.

 

예를 들어 사람 팔을 완전히 쭉 펴보자.

 

이 상태에서는:

  • 특정 방향으로 힘을 주기 어렵고
  • 움직임 제어가 부자연스럽다.

로봇도 동일하다.

 

대표적인 예시는 산업용 로봇 팔이 완전히 펴진 상태다.

 

이 상태에서는 아주 작은 끝단 움직임을 만들기 위해 관절이 엄청 빠르게 회전해야 할 수도 있다.

 

수학적으로는 Jacobian의 determinant가 0에 가까워지는 상태를 의미한다.

이 상태가 위험한 이유는:

  • 관절 속도가 비정상적으로 커짐
  • 제어 불안정
  • 진동 발생
  • 경로 추종 실패
  • 충돌 위험 증가

등의 문제가 발생하기 때문이다.

 

실제 로봇 제어기에서는 Singulariy를 매우 중요하게 다룬다.

예를 들어:

  • 특이점 근처 접근 제한
  • 경로 자동 수정
  • Jacobian damping 적용
  • Motion Planning 우회

같은 기법을 사용한다.

 

 

최근 로봇 시스템에서는 Jacobian이 단독으로 사용되기보다:

  • IK Solver
  • Motion Planning
  • Force Control
  • MPC(Model Predictive Control)
  • Reinforcement Learning

등과 함께 사용되는 경우가 많다.

 


 

결국 Jacobian Matrix는 단순한 수학 행렬이 아니라,

“로봇의 움직임과 힘을 실시간으로 연결해주는 핵심 제어 구조”

라고 볼 수 있다.