핵심 요약
- 널 공간은 관절이 움직여도 선택한 손끝 작업에는 순간적으로 변화가 생기지 않는 방향들의 집합입니다.
- 7축 팔처럼 작업에 필요한 자유도보다 관절이 많을 때 같은 손끝 자세를 여러 관절 자세로 만들 수 있습니다.
- 제어기는 주 작업을 먼저 계산하고 남는 방향에 장애물·관절 한계·특이점 회피 같은 보조 목표를 투영합니다.
- 야코비안 의사역행렬과 투영행렬은 국소 모델이므로 큰 동작에서는 반복 계산과 센서 피드백이 필요합니다.
- 감쇠, 포화, 모델 오차와 지연 때문에 실제 주 작업이 완벽히 보존된다고 가정하면 안 됩니다.
손끝 하나를 맞추는 관절 자세는 하나가 아닙니다
널 공간 제어는 여유 자유도를 가진 로봇이 주어진 손끝 작업을 유지하면서 남는 관절 움직임을 다른 목적에 쓰는 방법입니다. 사람도 컵을 같은 위치에 든 채 팔꿈치를 안쪽이나 바깥쪽으로 바꿀 수 있습니다. 7축 협동로봇이 공간 속 손끝 자세 6개 성분을 맞춘다면, 조건에 따라 적어도 한 방향의 관절 움직임을 더 선택할 여지가 생깁니다.
여기서 ‘널’은 로봇이 아무것도 하지 않는다는 뜻이 아닙니다. 선택한 작업 좌표에서 효과가 0이라는 뜻입니다. 손끝 위치와 방향을 주 작업으로 정했다면, 팔꿈치가 움직여도 그 순간 손끝 속도가 변하지 않는 관절 속도 조합이 널 공간에 속합니다. 이 여유를 쓰면 손끝을 공구에 고정한 채 팔꿈치만 기둥에서 멀어지게 할 수 있습니다.

야코비안이 ‘영향 없는 방향’을 찾아냅니다
관절 속도 q̇가 손끝 속도 ẋ에 미치는 관계는 보통 ẋ=Jq̇로 씁니다. J는 현재 자세에서 관절 움직임을 작업 공간 움직임으로 바꾸는 야코비안입니다. Jq̇=0을 만족하는 0이 아닌 q̇가 있다면 그 방향은 손끝 작업의 널 공간입니다. 로봇 자세가 바뀌면 J도 바뀌므로 이 공간은 고정된 통로가 아니라 매 제어 주기 다시 계산해야 하는 국소적인 방향입니다.
주 작업을 수행하는 한 해는 J의 의사역행렬 J#을 사용해 q̇₁=J#ẋ로 구할 수 있습니다. 이어서 N=I−J#J라는 투영행렬을 만들면 임의의 보조 명령 z에서 Nz만 주 작업의 널 공간으로 보낼 수 있습니다. 최종 명령 q̇=J#ẋ+Nz는 손끝 명령과 보조 관절 움직임을 한 식에 담습니다. 다만 의사역행렬의 선택과 가중치에 따라 실제 자세와 수치적 성질은 달라집니다.
주 작업 뒤에 보조 목표를 투영합니다
가상의 조립 장면을 보겠습니다. 로봇은 볼트 위에 드라이버를 고정하고 있는데 팔꿈치 뒤로 안전 기둥이 다가옵니다. 주 작업은 드라이버의 위치와 방향을 유지하는 것입니다. 보조 목표는 팔꿈치와 기둥 사이 거리를 늘리는 방향으로 관절을 움직이는 것입니다. 제어기는 거리 함수의 기울기로 원래 보조 명령을 만든 뒤 N을 곱해 손끝에 영향을 주는 성분을 제거합니다.
한 번의 투영만으로 긴 동작이 완성되지는 않습니다. 아주 작은 시간 동안 관절을 움직인 뒤 새 자세에서 손끝 오차, 장애물 거리와 야코비안을 다시 계산해야 합니다. 팔꿈치가 충분히 멀어지면 보조 명령을 줄이고, 손끝 오차가 커지면 주 작업 보정이 앞섭니다. 이렇게 센서 측정과 모델 계산을 반복하는 폐루프가 있어야 이론의 순간 속도 관계가 실제 궤적으로 이어집니다.

팔꿈치 회피를 한 단계씩 계산해 봅니다
보조 목표는 장애물 회피 외에도 다양합니다. 관절 각도가 끝 범위에 가까워질수록 중앙 쪽으로 밀어 주거나, 특정 관절의 토크·속도 부담을 줄이거나, 카메라가 대상을 잘 보도록 팔 자세를 바꿀 수 있습니다. 여러 후보 중 조작도가 높은 자세를 선호해 특이점에서 멀어지게 하는 비용 함수도 널 공간에 넣을 수 있습니다.
목표가 여러 개라면 단순히 더하는 것보다 우선순위를 명확히 해야 합니다. 예를 들어 손끝 자세가 1순위, 사람과의 거리 확보가 2순위, 관절 중앙 유지가 3순위라면 각 단계는 앞선 작업이 남긴 널 공간 안에서만 계산되어야 합니다. 아래 단계가 위 단계의 명령을 되돌리지 않도록 투영을 연쇄하는 계층형 제어가 필요합니다. 같은 비용 합산 방식은 가중치에 따라 안전 관련 목표를 뜻밖에 희생할 수 있습니다.
널 공간은 장애물만 피하는 기술이 아닙니다
널 공간의 크기는 항상 같지 않습니다. 팔을 완전히 뻗는 특이점 근처에서는 야코비안의 계수가 나빠지고 작은 손끝 명령이 매우 큰 관절 속도를 요구할 수 있습니다. 실무에서는 감쇠 의사역행렬로 폭주를 줄이지만, 감쇠를 넣으면 N이 이상적인 수학적 널 투영과 달라져 보조 동작이 손끝에 조금 새어 들어갈 수 있습니다. 안정성을 얻는 대신 정확도를 일부 양보하는 선택입니다.
관절 속도·가속도·토크 한계도 식 밖에 남아 있지 않습니다. 계산된 q̇가 한계를 넘으면 포화 처리나 최적화가 명령을 바꾸고, 그 결과 손끝 작업과 보조 목표가 모두 달라질 수 있습니다. 장애물까지 남은 거리보다 제동 거리가 길다면 널 공간 명령만으로는 충돌을 막지 못합니다. 안전 정지, 속도 제한, 충돌 감시 같은 별도 보호 기능이 필요합니다.

특이점과 모델 오차에서는 우선순위가 흔들릴 수 있습니다
또한 제어기가 사용하는 관절 위치, 링크 길이와 공구 좌표가 실제와 다르면 ‘손끝에 영향이 0’이라는 계산도 현실에서는 0이 아닙니다. 백래시, 탄성, 통신 지연과 센서 필터가 더해지면 손끝이 조금 흔들릴 수 있습니다. 물체를 꽉 끼워 넣는 작업이나 사람과 가까운 동작에서는 모델 기반 투영만 믿지 말고 외력·위치 피드백과 실행 감시를 함께 사용해야 합니다.
제품이나 논문을 평가할 때는 팔꿈치가 잘 움직이는 영상만 보면 부족합니다. 보조 목표를 켠 전후의 손끝 위치·자세 오차, 장애물 최소 거리, 관절 한계 여유, 최대 관절 속도와 토크를 같은 시간축에서 확인해야 합니다. 특이점 근처, 센서 지연, 모델 오차와 갑작스러운 장애물 조건에서도 주 작업이 얼마나 유지되는지 별도로 측정하는 편이 좋습니다.
평가할 때는 손끝 오차와 보조 목표를 함께 봐야 합니다
‘7축이라서 유연하다’는 설명도 자동 성능을 뜻하지 않습니다. 어떤 작업 좌표를 고정했는지, 널 공간 차원이 실제로 몇인지, 보조 비용과 우선순위를 누가 정했는지, 포화가 발생하면 무엇을 포기하는지 알아야 합니다. 동일한 하드웨어도 투영 방식, 감쇠와 제한 조건에 따라 팔꿈치 경로와 손끝 오차가 크게 달라질 수 있습니다.
도입을 검토한다면 고정된 공구 작업 하나와 단순한 장애물 하나로 시작해 주 작업 오차의 허용 범위를 먼저 정하는 것이 좋습니다. 그다음 널 공간 목표를 켰을 때 최소 거리와 관절 여유가 개선되는지 비교하고, 특이점·포화·비상정지 조건을 단계적으로 시험해야 합니다. 널 공간 제어의 가치는 남는 자유도를 쓰는 데 있지만, 그 자유가 주 작업과 안전을 침범하지 않는지 수치로 확인할 때 비로소 현장 기능이 됩니다.
확인한 원문
- Oussama Khatib: A Unified Approach for Motion and Force Control of Robot Manipulators (1987)
- MIT Robotic Manipulation: Manipulator Control
- libfranka official examples
- libfranka Cartesian impedance control example source
- libfranka Robot API: stiffness frame and Cartesian impedance
자료 확인일: 2026년 9월 23일.
함께 보면 좋은 글
글쓴이

Sean Woo — 15년 이상 로보틱스 기술·사업 방향성 수립 업무를 해왔습니다. 공개된 기술문서·논문·기업 발표를 바탕으로 로봇과 AI의 변화를 이해하기 쉽게 분석합니다. 이 매체의 해석은 특정 회사나 기관의 공식 입장을 대변하지 않습니다.