1. 개요[편집]
| 일반화 좌표 Generalized Coordinates | |
|---|---|
| 정의 | 구속을 만족하는 배위들의 집합을 매개화하는 독립 변수 $q_1,\dots,q_f$ |
| 개수 | 자유도 $f = 3N - k$ (홀로노믹 구속 $k$ 개) |
| 정당화 | 가상일의 원리 — 구속력이 일을 하지 않는다 |
| 사는 곳 | 배위다양체 $Q$ · 라그랑지안은 $TQ$ · 해밀토니안은 $T^{*}Q$ |
| 안 되는 경우 | 비홀로노믹 구속 — 좌표로 소거 불가 |
| 수치적 함정 | 좌표 특이점(짐벌락) · 단위 혼합 · 최대좌표의 드리프트 |
진자의 상태를 로 쓰면 미지수 2개에 구속 1개다. 로 쓰면 미지수 1개에 구속 0개다. 이 차이가 역학 전체를 갈랐다.
일반화 좌표(generalized coordinates)는 구속조건을 만족하는 계의 배위(configuration)들이 이루는 집합을 서로 독립인 최소 개수의 변수로 매개화한 것이다. 기호로는 로 쓰며, 각 입자의 위치는 이들의 함수 로 표현된다.
이름에 “좌표”가 붙었지만 길이일 필요가 없다. 각도, 호길이, 부피, 전하량, 심지어 정규모드의 진폭도 일반화 좌표가 될 수 있다. 요구되는 것은 딱 두 가지다 — 구속을 자동으로 만족시킬 것, 그리고 서로 독립일 것.
이 개념이 있어야만 라그랑주 역학과 해밀토니안 역학이 작동한다. 그리고 이 개념이 정당한 이유는 가상일의 원리에 있다 — 구속력이 가상일을 하지 않으므로, 구속을 좌표에 흡수하는 순간 구속력이 방정식에서 통째로 사라진다. 반대로 말하면 좌표를 줄이는 일과 미지의 반력을 지우는 일은 같은 사건이다.
2. 자유도를 센다[편집]
개 입자가 3차원에 있고 독립인 홀로노믹 구속이 개 걸려 있으면 자유도는
다. 구속이 꼴로 위치만의 방정식으로 쓰이는 경우를 홀로노믹(holonomic)이라 부른다. 강체는 입자 사이 거리가 전부 고정된 극한이고, 결과적으로 3차원에서 자유도 6(병진 3 + 회전 3)이다.
몇 가지 표준 계수:
- 평면 이중진자: 입자 2개, 2차원이므로 4에서 길이 구속 2개를 빼 ().
- 회전 관절 6개짜리 로봇 팔: 강체 6개 × 6 = 36에서 관절마다 5개씩 구속(6자유도 중 1개만 남김) 30을 빼 . 실무에서는 이 계산을 생략하고 관절각 6개를 바로 잡는다.
- 축 하나로 고정된 팽이: (오일러각 3개).
주의할 것은 “독립인 구속”이라는 단서다. 중복 구속(redundant constraint)이 섞여 있으면 이 뺄셈이 과잉으로 빼고, 그 결과 실제보다 자유도를 적게 세게 된다. 병렬 로봇이나 과구속 기구에서 흔한 함정이며, 수치적으로는 구속 야코비안 가 행 계수 결손이 되어 승수가 유일하지 않게 나타난다. 이때 특이값 분해로 의 랭크를 실제로 세어 보는 것이 표준 진단이다.
3. 홀로노믹 vs 비홀로노믹 — 왜 좌표로 못 지우는가[편집]
구속이 속도까지 끌어들이면 이야기가 달라진다. 일반형은
이고, 이것이 어떤 함수 의 전미분으로 적분되지 않으면 비홀로노믹(nonholonomic)이라 부른다. 적분되면 결국 위치 방정식이므로 홀로노믹이다.
바닥을 미끄러지지 않고 구르는 원판이 교과서 예제다. 배위를 접촉점 , 진행 방향 , 구름각 로 잡으면 미끄럼 없음 조건은
인데, 이 둘은 어떤 적분인자를 곱해도 위치만의 관계로 적분되지 않는다. 결과가 반직관적이다. 순간 속도의 자유도는 2개로 줄었지만, 도달 가능한 배위의 집합은 여전히 4차원 전체다. 원판을 굴려서 원하는 위치에 원하는 방향과 원하는 구름각으로 세울 수 있다.
같은 구조가 스케이트 날(나이프에지) 구속 과 자동차의 평행주차에 있다. 차는 옆으로 못 가지만(순간 자유도 2), 앞뒤로 몇 번 움직이면 옆자리로 갈 수 있다(배위공간 3차원 전부 도달). 이것이 우연이 아니라 정리라는 것이 초우-라셰프스키 정리의 내용으로, 구속이 정의하는 방향들의 리 괄호가 접공간 전체를 생성하면(bracket-generating) 임의의 두 배위가 연결된다.1
수치·이론 양쪽의 귀결은 명확하다.
- 비홀로노믹 구속은 좌표 소거로 없앨 수 없다. 배위공간의 차원 자체가 줄지 않기 때문이다. 그래서 승수를 붙이거나(라그랑주-달랑베르), 속도를 준좌표(quasi-velocity)로 다시 잡는 수밖에 없다.
- 작용을 그냥 변분하면 틀린 답이 나온다. 비홀로노믹계에서는 구속을 작용 적분 안에 넣고 변분한 결과(vakonomic)와 달랑베르 원리를 적용한 결과가 서로 다르며, 실제 물리와 맞는 쪽은 후자다. 해밀턴 원리를 기계적으로 적용하면 안 되는 드문 경우다.
- 최적제어와 경로 계획이 여기서 만난다. “옆으로는 못 가는데 목적지에는 갈 수 있다”는 문제는 곧 비홀로노믹 운동계획 문제이며, 로봇 주차·드론 자세 제어의 표준 무대다.
4. 일반화 속도, 일반화 힘, 그리고 두 다발[편집]
를 일반화 속도라 부른다. 이때 와 의 지위가 미묘한데, 라그랑지안 를 쓸 때는 둘을 독립 변수처럼 취급해 편미분하고, 오일러-라그랑주 식을 세운 뒤에야 라는 관계가 살아난다. 처음 배울 때 가장 헷갈리는 지점이며, 기하학적으로는 이 접다발 위의 함수이기 때문이라는 것이 정확한 설명이다.
일반화 힘은 가상일에서 직접 정의된다. 가 되도록
로 두는 것. 가 각도면 는 토크이고, 길이면 힘이다. 일반화 좌표와 일반화 힘은 언제나 일의 짝(work-conjugate pair) 이며, 이 쌍대성이 유한요소법의 “변위 자유도 – 하중 벡터” 짝과 정확히 같은 구조라는 점은 짚어 둘 만하다.
한편 일반화 운동량 는 와 대등한 독립 변수로 승격되어 위상공간 (여접다발)를 만든다. 배위다양체 , 속도 위상공간 , 위상공간 셋을 구분하는 것이 형식적 사치처럼 보이지만, “심플렉틱 구조는 에만 자연스럽게 존재한다”는 사실이 심플렉틱 적분기가 왜 운동량 변수로 설계되는지를 설명한다. 이쪽 이야기는 해밀토니안 역학에 있다.
5. 좌표 특이점 — 최소는 공짜가 아니다[편집]
일반화 좌표를 최소 개수로 잡으면 대가가 따른다. 곡면이나 회전군 같은 다양체는 대개 하나의 좌표계로 전부 덮이지 않는다.
- 구면좌표의 극. 위도-경도로 구를 덮으면 극에서 경도가 정의되지 않는다. 지구 격자를 쓰는 기상·해양 코드가 극 근처에서 시간 스텝을 잃는 고전적 문제가 여기서 나온다.
- 오일러각의 짐벌락. 각속도와 오일러각 변화율을 잇는 야코비안이 중간 각의 특정 값에서 특이해져, 자유도 하나가 소실된 것처럼 보인다. 이건 표현의 병이지 물리의 병이 아니다. 그리고 의 위상 때문에 3개 매개변수로 회전을 전역적으로 표현하는 방법은 원리적으로 존재하지 않는다 — 어떤 규약을 골라도 특이점은 자리만 옮긴다.
- 사원수의 위치. 단위사원수는 4개 숫자에 이라는 구속 1개를 얹은 것이므로, 엄밀히 말해 일반화 좌표가 아니라 제약된 매개화다. 특이점이 없다는 이점을 얻는 대가로 구속 하나를 안고 가며, 매 스텝 정규화하는 것은 사실상 구속 다양체 위로 사영하는 일이다. 회전행렬 9개 성분에 직교 구속 6개를 얹는 것도 같은 거래의 극단판이다.
여기에 실무적 함정이 하나 더 있다. 좌표 벡터에 미터와 라디안을 섞어 넣으면 야코비안의 스케일이 물리 단위에 따라 제멋대로가 된다. 뉴턴 반복의 수렴 판정과 조건수가 단위 선택에 의존하게 되므로, 다물체 코드는 대개 길이 스케일을 하나 잡아 무차원화하거나 대각 스케일링 행렬을 끼운다. 이론서에는 안 나오지만 실제로 수렴을 좌우한다.
6. 계산 — 최소좌표 대 최대좌표[편집]
시뮬레이션 코드가 좌표를 고르는 방식은 크게 둘로 갈리고, 이 선택이 코드의 성격 전부를 결정한다.
최소좌표(관절 좌표). 관절각만 미지수로 두면 구속이 애초에 존재하지 않는다. 순수 ODE이므로 드리프트가 원리적으로 없고 미지수가 적다. 트리 구조에 대해서는 관성행렬을 조립하지 않고도 에 푸는 순환 알고리즘이 정비되어 있다 — 역동역학은 재귀 뉴턴-오일러 알고리즘, 순동역학은 관절체 알고리즘(Featherstone)이다. 로보틱스와 다물체 동역학 상용 코드의 국룰.
한계도 분명하다. 폐루프가 생기면 최소좌표를 못 잡는다. 4절 링크, 병렬 로봇, 캐릭터가 두 손으로 물체를 잡는 순간이 그렇다. 그리고 접촉처럼 매 프레임 구속이 생겼다 사라지는 상황에서는 좌표계 자체를 다시 짜야 한다.
최대좌표 + 라그랑주 승수. 강체마다 위치 3 + 자세 4(사원수)를 통째로 들고, 관절·접촉을 구속식으로 표현해 라그랑주 승수법으로 푼다. 미지수는 늘지만 자료구조가 단순하고 균질하며, 구속을 런타임에 추가·제거하는 것이 자연스럽다. 물리 엔진이 이쪽을 택하는 이유는 성능이 아니라 접촉 때문이다.
대가는 미분대수방정식이다. 위치 수준 구속을 그대로 두면 지수 3이고, 가속도 수준으로 축소하면 지수는 내려가지만 위치 구속 위반이 시간에 대해 누적된다 — 관절이 슬금슬금 늘어나 래그돌이 분해되는 그 현상이다. 대응은 바움가르테 안정화·GGL 형식·좌표 사영 셋이고, 자세한 비교는 미분대수방정식과 구속 동역학에 정리되어 있다.
| 항목 | 최소좌표 | 최대좌표 + 승수 |
|---|---|---|
| 미지수 | 자유도 수 | 강체 수 × 6~7 + 승수 |
| 폐루프 | 불가 (별도 구속 필요) | 자연스러움 |
| 구속 드리프트 | 없음 | 있음 → 안정화 필요 |
| 행렬 구조 | 작고 조밀 | 크고 희소 |
| 접촉 추가·제거 | 어려움 | 쉬움 |
| 대표 무대 | 로보틱스, MBD 상용 코드 | 게임 물리 엔진 |
요약하면 좌표를 줄이면 방정식이 깨끗해지고, 좌표를 늘리면 코드가 유연해진다. 어느 쪽이 옳은가는 문제가 아니라 취향의 문제도 아니고, 폐루프와 접촉이 있느냐의 문제다.2
7. 여담 — 좌표는 규약이다[편집]
일반화 좌표라는 개념 자체는 라그랑주의 1788년 해석 역학에서 지금의 형태로 굳었다. 그리고 그 책의 유명한 특징 하나가 도형이 단 한 장도 없다는 것이다. 좌표를 자유롭게 고를 수 있다는 것은 곧 그림에 의존하지 않아도 된다는 뜻이었고, 라그랑주는 그 점을 서문에서 자랑했다.
그 자유가 200년 뒤에는 규약 전쟁으로 돌아왔다. 로봇 팔의 관절 좌표를 정하는 데노빗-하텐베르크(DH) 규약은 변형판이 여럿이라 논문마다 각도 정의가 달라 재현이 안 되는 일이 흔하고, 오일러각은 규약이 24가지다. 좌표는 물리가 아니라 규약이므로 무엇을 골라도 답은 같아야 하지만, 실제로 답이 달라지는 원인의 상당수가 “상대방이 어떤 규약을 썼는지 모른 채 숫자만 받아온” 것이다. 자유도가 많다는 건 실수할 방법도 많다는 뜻이다.3
8. 관련 문서[편집]
- 라그랑주 역학 · 해밀턴 원리 · 해밀토니안 역학 · 최소작용 원리
- 가상일의 원리 · 라그랑주 승수법 · 오일러-라그랑주 방정식
- 미분대수방정식 · 바움가르테 안정화 · 구속 동역학 · 심플렉틱 적분기
- 강체 동역학 · 다물체 동역학 · 재귀 뉴턴-오일러 · 역운동학
- 오일러각 · 사원수 · 회전행렬 · 리 군
- 물리 엔진 · 제약 해결기 · 위치 기반 동역학 · 래그돌 · 경로 계획
9. Footnotes[편집]
-
그래서 비홀로노믹 구속을 “자유를 뺏는 것”이 아니라 “지름길을 막는 것”으로 이해하는 편이 정확하다. 갈 수는 있는데 돌아가야 한다. 평행주차 실패의 물리학적 변명으로 쓸 수 있지만, 정리 이름을 대며 변명해도 후진 기어는 여전히 필요하다. ↩
-
물론 현실은 하이브리드다. 상용 다물체 코드는 트리 부분을 최소좌표로 풀고 폐루프에만 승수를 붙이며, 게임 엔진 쪽에서도 캐릭터의 관절 체인만 관절 좌표로 다루는 구현이 있다. “둘 중 하나”가 아니라 “어디까지 최소좌표로 갈 것인가”가 실제 설계 결정이고, 그 경계를 어디에 긋느냐가 코드의 성격을 만든다. ↩
-
좌표 규약 사고의 최고봉은 1999년 화성 기후 궤도선이다. 좌표계 문제는 아니고 파운드힘과 뉴턴을 섞은 단위 사고였지만, 교훈은 정확히 같다 — 숫자에는 규약이 붙어 다녀야 하고, 그 규약이 코드 주석에만 있으면 없는 것과 같다. ↩