위치를 구하는 식에서 운동의 원인으로
기구학은 관절값과 말단 위치·속도의 관계를 설명한다. 동역학은 힘과 토크가 질량과 관성을 가진 계의 가속도를 어떻게 바꾸는지 다룬다. FK로 목표 위치를 구했다고 필요한 모터 토크나 그 동작의 가능성까지 계산된 것은 아니다. 같은 궤적도 도구 질량·가속도·중력 방향·마찰이 바뀌면 다른 구동량을 요구한다.
질량 m의 단위는 kg이며 병진 운동에서 F=ma의 관계를 갖는다. 힘 F는 N, 가속도 a는 m/s²다. 회전축에서 떨어진 점에 작용하는 힘은 토크를 만든다. 위치 벡터 r과 힘 F의 외적 τ=r×F로 표현하며 단위는 N·m다. 축에 수직인 힘의 크기가 F이고 수직 거리가 l이면 토크 크기는 lF다. 힘을 N으로 측정한 것과 토크를 N·m로 측정한 것을 바꾸어 쓰지 않는다. 같은 힘도 지렛팔 거리가 다르면 토크가 달라진다.
회전 관성 I는 질량이 축 주위에 어떻게 분포하는지 나타낸다. 단위는 kg·m²다. 질점 하나가 축에서 거리 l에 있으면 I=ml²다. 같은 질량을 두 배 멀리 놓으면 관성은 네 배다. 실제 링크는 질량이 퍼져 있어 질점 모델과 다르며 무게중심과 관성 텐서가 필요하다. 기존 2.7의 질량·관성 모델은 이 기초를 시뮬레이터 입력으로 확장한다. 외형이 같아도 내부 질량 분포가 달라지면 동역학은 달라질 수 있다.
부호와 단순화부터 고정한다
가상 단일 링크는 수직 평면에서 돌며 질량 없는 막대 끝에 질점 m이 붙었다고 가정한다. 회전축은 고정이고 거리 l은 일정하다. q는 수평 오른쪽에서 반시계 방향으로 잰 각도(rad), 양의 구동 토크도 반시계 방향이다. 중력 가속도 크기 g는 9.8 m/s²이며 아래로 작용한다. 따라서 중력 토크는 −mgl cos q다. q=0인 수평에서는 아래로 돌리려 하고 q=π/2인 수직 위쪽에서는 축에 대한 중력 토크가 0이다. 마찰을 제외해도 자세에 따라 구동 요구가 달라진다.
그림 M07.01-1. 본문의 질량 없는 막대 끝 질점 모델이다. q는 수평에서 반시계 방향, 중력은 아래 방향이므로 중력 토크는 −mgl cos q다. 분포 질량·다관절 모형과 구별한다. 직접 제작.
속도에 비례해 운동을 방해하는 점성 마찰 계수를 b, 움직이는 동안 속도 부호에 따라 일정한 크기로 방해하는 쿨롱 마찰 크기를 τ_c라고 하자. b의 단위는 N·m/(rad/s), τ_c는 N·m다. 속도와 가속도는 각각 q의 시간 1차/2차 미분이다. 속도가 0이 아닌 구간의 모델을 구동 토크 τ_a에 대해 정리하면 다음과 같다.
sgn은 양의 속도에 +1, 음의 속도에 −1을 주는 부호 함수다. 실제 정지 마찰은 속도 0에서 외력과 균형을 이루는 범위를 가질 수 있어 sgn(0)=0만 넣어 정확히 설명하지 못한다. 이 식으로 정지 마찰이나 정지 직후의 실제 움직임을 단정하지 않는다. 정적 예제를 계산할 때는 마찰을 생략한다는 별도 가정을 쓴다. 링크 자중·탄성·기어 손실·모터 관성도 이 기본 모델에서는 빠져 있다.
한 자세의 토크를 항별로 계산한다
m=0.5 kg, l=0.2 m이면 I=0.5×0.2²=0.02 kg·m²다. b=0.01 N·m/(rad/s),τ_c=0.02 N·m라고 가상으로 정하자. q=0, 속도 0.5 rad/s, 가속도 2 rad/s²에서 관성 토크는 0.02×2=0.04 N·m, 점성 마찰은 0.005 N·m, 쿨롱 항은 +0.02 N·m, 중력 보상은 0.98 N·m다. 필요한 구동 합계는 1.045 N·m다. 중력 항이 가장 크다고 관성이나 마찰이 항상 무시 가능한 것은 아니다. 다른 자세와 속도·가속도를 대입하면 비율이 달라진다.
같은 자세와 가속도에서 속도만 −0.5 rad/s로 바꾸면 두 마찰 항은 −0.005와 −0.02가 되어 합계는 0.995 N·m다. 가속도는 여전히 양의 2로 유지한 순간 상태의 비교다. 속도가 음수라고 가속도도 자동으로 음수가 되지는 않는다. 마찰이 운동 반대 방향으로 작용한다는 부호를 확인한다. q=π/2에서는 중력 항만 0이 되며, 속도/가속 항은 그대로 남을 수 있다.
질량을 1 kg으로 두 배 바꾸고 나머지 조건을 유지하면 I=0.04, 중력 항은 1.96으로 늘어 토크는 2.065 N·m다. 거리만 0.4 m로 두 배 바꾸면 I=0.08로 네 배, 중력 항은 1.96으로 두 배가 되어 토크는 2.145 N·m다. 질량과 거리를 같은 방식으로 배율 적용하면 틀린다. 연속 허용 토크가 1.2 N·m라는 가상 조건에서는 원래 계산은 한계보다 작고 두 변형은 크다. 하지만 원래 계산의 통과도 온도·peak·구동기 속도·전원 등 실제 운전의 보증이 아니다.
여러 관절과 실제 측정으로 확장할 때
모든 관절이 회전 관절인 모델의 대표 형태는 아래와 같다. q는 n개 관절각 벡터, M은 관절 관성 행렬, h는 속도에 따른 결합 항, g(q)는 중력 보상 벡터, τ_f는 마찰 벡터다. 오른쪽은 구동 토크와 외부에서 관절에 전달된 토크이며 각 항의 결과는 관절별 N·m다. 여기의 g(q)는 앞의 중력 가속도 크기 g와 다른 벡터 함수임을 구분한다.
M은 자세에 따라 달라지고 일반적으로 관절 사이 결합을 포함한다. 따라서 한 관절을 독립적인 일정 질량처럼 모두 처리하는 것은 추가 근사다. 저자 관성 행렬 자료는 같은 가속 방향도 자세에 따라 토크가 달라짐을 보여준다.
기어가 있으면 모터 속도와 출력 속도가 다르다. 이상적인 일정 기어비 i에서 모터 회전자 관성 I_m은 출력 축에서 i²I_m의 반영 관성으로 나타날 수 있다. 예를 들어 i=10, I_m=0.0001 kg·m²면 0.01 kg·m²로 환산된다. 이 추가 항을 포함하면 기본 모델의 I도 바뀌므로 계산 결과를 다시 구해야 한다. 실제 효율과 마찰·탄성은 별도다. 모터 전류가 토크 추정에 도움을 주더라도 모터 상수·전류 측정·기어/마찰·자세 모델 없이 접촉력을 직접 측정했다고 할 수 없다. 파라미터와 센서가 입증한 범위를 남기는 것이 동역학 계산의 마지막 단계다.