1. 개요[편집]
| 케인 방법 Kane's Method | |
|---|---|
| 방정식 | $F_r+F_r^{*}=0$ — 자유도 개수만큼 |
| 재료 | 일반화 속도 $u_r$ · 부분속도 $\mathbf{v}_r$ |
| 안 하는 것 | 라그랑지안 만들기, 스칼라 미분, 승수 도입 |
| 계보 | 달랑베르-라그랑주 · 주르댕 · 마지 · 기브스-아펠의 사촌 |
| 정본 | Kane & Levinson, Dynamics: Theory and Applications (1985) |
| 도구 | Autolev / MotionGenesis · SD/FAST · SymPy mechanics |
| 한 줄 요약 | 에너지를 만들지 말고 힘을 곧장 사영해라 |
라그랑주는 스칼라 하나를 만들고 두 번 미분한다. 케인은 벡터를 그냥 사영한다. 결과는 같고, 손이 덜 아프다.
케인 방법(Kane’s method)은 각 물체에 작용하는 힘·모멘트와 관성항을 「부분속도」에 직접 사영해 자유도 개수만큼의 운동방정식을 얻는 다물체 동역학 정식화다. 핵심 방정식은 놀랄 만큼 짧다.
이 일반화 능동력, 가 일반화 관성력이고 는 자유도다. 라그랑지안을 만들지 않고, 운동에너지를 로 미분하지 않고, 이상 구속에 대해 승수를 도입하지 않는다. 그런데도 얻는 방정식은 라그랑주 방정식과 완전히 동등하다.
이 방법의 뿌리는 달랑베르 원리의 넓은 뜻 — 힘에서 관성항을 뺀 것을 허용 변위(여기서는 허용 속도)에 사영하면 구속력이 사라진다 — 에 있다. 달랑베르 문서가 “케인 방정식은 달랑베르-라그랑주를 준좌표에 사영한 형태”라고만 적고 넘긴 그 부분을 여기서 펼친다. 케인이 1961년 비홀로노믹계 논문에서 이 형식을 제시했고, 1985년 레빈슨과의 공저 교과서로 표준화되어 우주역학·로보틱스·생체역학에서 널리 쓰이게 되었다.
2. 일반화 속도 — 좌표의 도함수일 필요가 없다[편집]
첫 번째 갈림길이 여기다. 라그랑주 역학은 일반화 좌표 를 고르면 속도가 자동으로 로 정해진다. 케인 방법은 속도를 따로 고른다.
가 정칙이기만 하면 무엇을 골라도 된다. 이렇게 고른 을 일반화 속도(generalized speed)라 부르고, 어떤 좌표의 도함수도 아닐 수 있으므로 준속도(quasi-velocity)라고도 한다.
왜 이 자유가 중요한가. 강체의 각속도가 대표적인 예다. 물체 좌표계 성분 는 어떤 세 좌표의 시간 도함수로도 쓸 수 없지만(회전은 적분 가능한 좌표를 갖지 못한다), 동역학 식은 이 성분으로 적었을 때 가장 깨끗하다. 오일러의 회전 방정식이 그렇게 생겼기 때문이다. 라그랑주 형식에서 이걸 하려면 오일러각을 도입해 로 각속도를 표현해야 하고, 그 순간 삼각함수 범벅이 되며 짐벌락까지 딸려 온다. 케인 방법은 로 그냥 잡는다.
그 결과 방정식이 두 덩어리로 깔끔하게 분리된다.
- 운동학 미분방정식: . 자세를 사원수로 들고 다니고 싶으면 이 덩어리만 사원수 미분식으로 갈아 끼우면 된다.
- 동역학 미분방정식: . 케인 방정식이 만들어 내는 부분.
표현(자세를 무엇으로 적을까)과 동역학(관성이 어떻게 반응하나)이 코드에서 분리된다는 이 성질이 실무에서 생각보다 크게 작동한다. 리 군 적분기를 쓰고 싶으면 운동학 쪽만 다양체 위 적분으로 바꾸면 되고, 동역학 쪽은 손댈 필요가 없다.
일반화 속도를 잘 고르는 것이 이 방법의 기술이다. 케인과 레빈슨은 ” 를 영리하게 고르면 관성행렬이 대각에 가까워지거나 항이 통째로 사라진다”는 예제를 잔뜩 실어 놓았다. 대표적으로 회전 대칭 물체에서 대칭축 성분을 따로 뽑아 두면 그 방향의 방정식이 로 떨어진다. 라그랑주 형식에는 이 튜닝 손잡이 자체가 없다.
3. 부분속도 — 방법 전체의 심장[편집]
각 물체의 질량중심 속도 와 각속도 는 정의상 에 대해 아핀이다.
여기서 계수 벡터
를 부분속도(partial velocity), 부분각속도(partial angular velocity)라 부른다. 물리적 의미는 명확하다 — 번째 일반화 속도만 1이고 나머지가 0일 때 그 물체가 갖는 속도다. 로보틱스 언어로 옮기면 부분속도 벡터를 물체마다 세로로 쌓은 것이 곧 그 물체의 자코비안 행렬이고, 스크류 이론 언어로는 번째 자유도가 그 물체에 만들어 주는 트위스트다. 이름이 셋인 같은 물건이다.
부분속도가 왜 중요한가 하면, 이것이 허용 속도의 기저이기 때문이다. 이상 구속이라면 구속력은 허용 속도에 대해 일률이 0이므로, 방정식을 부분속도에 사영하는 순간 구속력이 통째로 소거된다. 승수를 세우지 않고도 구속력이 사라지는 마술의 정체가 이것이며, 가상일의 원리와 정확히 같은 논리가 속도 언어로 적힌 것이다.
4. 두 개의 힘 — 능동력과 관성력[편집]
일반화 능동력은 실제로 작용하는 힘 와 토크 를 부분속도에 사영한 것이다.
일반화 관성력은 각 물체의 관성항을 같은 방식으로 사영한다. 강체 하나의 관성력·관성토크는 강체 동역학에서 익숙한 형태다.
관성토크의 두 번째 항 이 자이로 항이며, 오일러 방정식의 그 항이다. 이 두 개를 더해 0으로 놓은 것이 케인 방정식이다.
이 에 대해 선형이므로 결과는 항상 꼴이고, 은 그 자리에서 관성행렬로 읽힌다. 유도 과정에서 스칼라 함수를 만들거나 미분한 적이 한 번도 없다는 것이 요점이다.
5. 다른 정식화들과 무엇이 다른가[편집]
| 뉴턴-오일러 | 라그랑주 | 케인 | |
|---|---|---|---|
| 출발 재료 | 물체별 자유물체도 | 스칼라 | 부분속도 + 힘 벡터 |
| 방정식 개수 | 물체당 6개 + 구속 | 좌표 개수 | 자유도 개수 |
| 구속력 | 미지수로 등장 | 이상 구속이면 소거 | 이상 구속이면 소거 |
| 필요한 미분 | 벡터의 시간 미분 | 스칼라의 편미분 2회 + 시간 미분 | 벡터의 시간 미분 |
| 비보존력 | 자연스럽다 | 일반화 힘으로 따로 넣는다 | 자연스럽다 |
| 비홀로노믹 | 구속력으로 처리 | 승수 필요 | 속도를 골라 흡수 |
| 부산물 | 조인트 반력을 바로 얻는다 | 에너지·보존량을 바로 얻는다 | 둘 다 따로 계산해야 한다 |
세 가지가 실질적인 차이다.
첫째, 스칼라를 거치지 않는다. 라그랑주 경로는 를 만들고 를 구한 뒤 그것을 다시 시간 미분한다. 이 과정에서 중간 표현식이 폭발적으로 부풀어 오른다(expression swell). 는 속도의 제곱이므로 항의 개수가 제곱으로 늘고, 미분이 그것을 또 늘린다. 케인 경로는 벡터를 사영해 스칼라를 만들 뿐이라, 각 물체마다 국소적으로 단순화하고 넘어갈 수 있다. 기호 유도를 사람이나 컴퓨터가 할 때 이 차이가 크게 벌어진다.
둘째, 비홀로노믹 구속이 자연스럽다. 미끄러지지 않고 구르는 바퀴처럼 속도에 걸린 구속 개가 있으면, 개의 일반화 속도 중 개를 독립으로 고르고 나머지를 그것으로 표현한다. 그러면 부분속도가 자동으로 독립 방향의 기저가 되고, 케인 방정식의 개수가 정확히 개가 된다. 라그랑주 형식은 여기서 승수를 도입해 방정식을 늘렸다가 다시 소거해야 하고, 게다가 해밀턴 원리식으로 구속을 작용 적분에 넣어 변분하면 물리적으로 틀린 답(vakonomic)이 나온다. 이 함정의 상세는 일반화 좌표 문서에 있다. 케인이 1961년 논문에서 겨눈 과녁이 정확히 이 문제였다.
셋째, 비보존력에 퍼텐셜이 필요 없다. 모터 토크, 마찰, 유체 항력, 제어 입력은 에 그냥 사영해 넣는다. 라그랑지안을 억지로 만들 필요가 없다.
계보를 정확히 하자면, 케인 방정식은 완전히 새로운 원리가 아니라 달랑베르-라그랑주 원리의 사영 형태다. 같은 형태를 마지가 1896년에 이미 썼고(마지 방정식), 기브스와 아펠은 “가속도 에너지” 라는 스칼라를 만들어 로 적는 형태에 도달했다(기브스-아펠 방정식). 데슬로지 등이 케인 방정식과 기브스-아펠 방정식이 항등적으로 같은 식임을 보였고, 가상 변위 대신 가상 속도를 쓴다는 관점에서 보면 주르댕 원리와도 한 줄기다. 그러니까 케인의 기여는 새 물리가 아니라, 이 형식을 사람이 실제로 굴릴 수 있는 계산 절차로 조립해 낸 것이다.1
6. 기호 유도 자동화 — 이 방법이 실제로 이긴 곳[편집]
케인 방법이 널리 쓰이는 진짜 이유는 우아함이 아니라 자동화 친화성이다.
절차가 완전히 기계적이다. (1) 을 고른다 → (2) 각 물체의 를 재귀적으로 계산한다 → (3) 계수를 뽑아 부분속도를 얻는다 → (4) 힘과 관성항을 사영해 더한다. 각 단계가 벡터 연산이고, 매 단계 끝에서 표현식을 단순화하고 다음으로 넘길 수 있다. 스칼라 하나를 끝까지 키웠다가 마지막에 미분하는 라그랑주 경로와 달리, 중간에 계속 정리가 들어간다.
이 성질을 정면으로 이용한 것이 케인·레빈슨의 Autolev(현재는 MotionGenesis)다. 기구를 서술하면 케인 방정식을 기호로 유도하고 최적화된 C/Fortran 코드까지 뱉는 도구이며, 1980~90년대 우주선 자세 동역학과 로보틱스에서 사실상 표준이었다. 같은 계보의 SD/FAST는 케인 방법 기반 기호 코드 생성기로 생체역학 쪽에서 널리 쓰였고, 근골격 시뮬레이션 소프트웨어의 초기 엔진 노릇을 했다.
오늘날 접근성이 가장 좋은 것은 파이썬의 SymPy physics.mechanics 모듈이다. KanesMethod 와 LagrangesMethod 가 나란히 들어 있어 두 방법을 같은 문제에 돌려 볼 수 있고(교육용으로 훌륭하다), 그 위에 PyDy가 얹혀 방정식을 수치 적분·시각화까지 이어 준다. SymPy에는 레거시 Autolev 스크립트를 읽어들이는 파서까지 붙어 있다.
한 가지 덧붙이면, 이상 구속력을 소거한 것이 아쉬울 때를 위한 장치도 방법 안에 있다. 베어링 하중이나 조인트 반력을 알고 싶으면 그 방향에 대응하는 보조 일반화 속도(auxiliary generalized speed)를 인위적으로 도입해 해당 구속을 잠시 풀고, 그 방향의 케인 방정식을 하나 더 쓰면 반력이 그 자리에서 튀어나온다. 승수를 전부 세우는 것보다 훨씬 싸게, 원하는 반력만 골라 뽑는 방식이다.
7. 계산 복잡도와 실시간에서의 자리[편집]
여기서 냉정해질 필요가 있다. 1980년대 문헌에는 “케인 방법이 라그랑주보다 몇 배 빠르다”는 비교가 흔한데, 그 비교의 상당 부분은 최적화되지 않은 라그랑주 유도를 상대로 한 것이었다. 두 방법 모두 잘 유도하고 공통부분식을 정리하면 최종 연산량은 비슷한 수준으로 수렴한다는 반론이 이후 꾸준히 나왔고, 지금은 대체로 **“유도 과정의 편의가 다르고 최종 코드의 성능 차이는 구현에 달렸다”**로 정리된다.
복잡도 관점에서 정직하게 말하면 이렇다.
- 케인 방법을 문자 그대로 적용하면 물체 개, 자유도 개에 대해 사영을 번 해야 하므로 트리 구조에서 이다. 부분속도를 물체마다 다시 계산하지 않고 부모에서 자식으로 전파하면 이 비용이 줄고, 로젠탈이 1990년에 케인 방법 기반의 정식화를 제시했다(SD/FAST가 이것을 썼다).
- 하지만 순수한 실행 성능만 놓고 보면, 오늘날 실시간 다물체 시뮬레이션의 왕좌는 재귀 알고리즘이다. 역동역학은 재귀 뉴턴-오일러 방정식 기반 RNEA가 , 순동역학은 페더스톤의 관절체 알고리즘(ABA)이 이며, 이들은 방정식을 기호로 유도하지 않고 런타임에 수치로 훑는다. 상세는 다물체 동역학.
- 따라서 실제 지형은 이렇게 갈린다. 모델이 고정되어 있고 코드를 한 번 만들어 오래 쓰는 문제(우주선 자세 동역학, 특정 기구의 하드웨어 인 더 루프, 최적 제어용 모델)에는 케인 방법으로 기호 유도해 생성한 코드가 여전히 강하다. 상수 폴딩이 다 끝난 전용 코드라 범용 재귀 루틴보다 빠를 수 있다. 반면 모델이 매 프레임 바뀌거나 접촉이 붙는 문제(게임 물리 엔진, 강화학습 환경)에는 기호 유도라는 전제 자체가 성립하지 않으므로 재귀 알고리즘이 답이다.
폐루프 기구에서도 케인 방법이 자동으로 편해지지는 않는다. 독립 일반화 속도를 잡으려면 루프 폐쇄 조건을 풀어야 하고, 그게 안 되면 결국 구속과 승수를 도입해 미분대수방정식으로 간다. 다만 역기구학이 닫힌 형태인 폐루프(대표적으로 스튜어트 플랫폼)에서는 플랫폼 트위스트를 일반화 속도로 잡고 다리의 부분속도를 사영하면 구속 없는 ODE가 나와, 케인 방법이 특히 잘 맞는다.
8. 검증 — 공짜 점검표가 없다는 대가[편집]
라그랑주 경로는 유도 중에 와 를 이미 만들어 두므로 에너지 보존을 공짜로 점검할 수 있다. 케인 방법은 그 스칼라를 만들지 않으므로 검증용 에너지를 따로 계산해야 한다. 사소해 보이지만 실무에서 꽤 아프다 — 부호 하나 틀린 케인 방정식은 얌전히 적분되면서 조용히 틀린 답을 낸다.
그래서 케인 방법으로 유도한 모델의 표준 점검표는 이렇게 생겼다.
- 관성행렬 가 대칭이고 양정치인가. 부분속도 사영이 옳으면 반드시 그렇다. 비대칭이 나오면 사영 어딘가가 틀렸다.
- 감쇠·외력을 끈 상태에서 총 에너지가 보존되는가. 따로 만든 를 시간에 대해 찍어 본다.
- 보존량을 확인한다. 대칭이 있는 계라면 해당 운동량이 보존되어야 한다.
- 다른 방법으로 유도한 결과와 대조한다. SymPy로 같은 모델을
KanesMethod와LagrangesMethod로 각각 유도해 잔차를 비교하는 것이 실제로 흔한 관행이고, 두 유도가 일치하면 부호 실수의 대부분이 걸러진다. - 정적 평형을 확인한다. 을 넣었을 때 중력항이 물리적으로 말이 되는가.
9. 여담[편집]
- 케인 방법의 이름을 둘러싼 학술적 신경전이 실제로 있었다. “이건 마지 방정식이다”, “기브스-아펠과 항등적으로 같다”, “달랑베르-라그랑주의 재포장이다”라는 지적이 학술지 지면에서 오갔고, 케인 측은 실용적 절차로서의 독자성을 주장했다. 지금 통용되는 온건한 결론은 “수학적으로는 등가, 작업 흐름으로는 별개” 정도다. 역학에서 이름이 붙는 방식은 대개 이런 다툼을 한 번씩 거친다.
- 케인 방법이 우주역학에서 특히 사랑받은 이유는 실용적이다. 인공위성은 폐루프가 없고(트리 구조), 퍼텐셜이 없는 힘(추력기, 자기 토커, 반작용 휠)이 많고, 각속도를 상태로 들고 다녀야 하며, 모델이 한 번 정해지면 임무 내내 안 바뀐다. 케인 방법의 장점 목록과 요구사항 목록이 거의 일치한다.
- 부분속도라는 이름이 오해를 부른다. “속도의 일부”가 아니라 속도를 일반화 속도로 편미분한 계수다. 학생들이 처음에 가장 헷갈려 하는 지점이고, 로보틱스를 먼저 배운 사람이라면 “그거 야코비안 열이잖아”라고 알아채는 순간 전부 이해된다.2
- 실무에서 이 방법의 진짜 진입 장벽은 수식이 아니라 일반화 속도를 무엇으로 고를지다. 잘 고르면 방정식이 절반으로 줄고, 아무 생각 없이 로 고르면 라그랑주와 별 차이 없는 결과가 나온다. 자유도가 있다는 것은 좋은 일이지만, 자유도를 쓸 줄 알아야 좋은 일이 된다.3
10. 관련 문서[편집]
- 달랑베르 원리 · 가상일의 원리 · 라그랑주 역학 · 해밀턴 원리
- 일반화 좌표 · 라그랑주 승수법 · 기브스-아펠 방정식 · 주르댕 원리
- 다물체 동역학 · 강체 동역학 · 뉴턴-오일러 방정식 · 미분대수방정식
- 기구학 · 스크류 이론 · 스튜어트 플랫폼 · 자코비안 행렬
- 리 군 · 사원수 · 심플렉틱 적분기
- SymPy · 컴퓨터 대수 시스템 · 자동 미분 · 물리 엔진
11. Footnotes[편집]
-
이런 종류의 기여를 낮게 볼 이유는 없다. 수치해석 전체가 “이론적으로 등가인 식을 사람이나 컴퓨터가 실제로 굴릴 수 있는 순서로 재배열하는 일”로 먹고사는 분야다. 정규방정식과 QR이 수학적으로 같은 최소자승 해를 주지만 아무도 정규방정식을 쓰지 않는 것과 같은 사정이다. ↩
-
반대 방향도 성립한다. 케인 방법을 먼저 배운 사람은 로봇 야코비안을 처음 봤을 때 “이거 부분속도를 열로 세운 거네”라고 읽는다. 두 분야가 서로 다른 이름을 붙여 놓고 반세기를 따로 살았을 뿐이며, 이런 일이 역학에는 유난히 많다. 트위스트·나선축·부분속도·야코비안 열이 문맥만 다른 같은 대상이다. ↩
-
케인과 레빈슨 교과서의 예제들이 하나같이 ” 을 이렇게 잡으면 항이 사라진다”로 끝나는 것을 보고 있으면 감탄과 동시에 막막해진다. 그 선택을 어떻게 떠올렸는지는 안 적혀 있기 때문이다. 결국 이 방법은 기계적 절차 위에 경험이 얹혀야 제값을 하고, 그게 자동화 도구가 있어도 사람이 여전히 필요한 이유다. ↩