SoftRobots의 케이블 구동에서는 힘을 지정하면 그 힘에 맞는 케이블 변위를 계산하고, 변위를 지정하면 그 변위를 만드는 데 필요한 힘을 계산합니다. 두 방식은 같은 소프트 손가락을 움직이더라도 입력으로 고정하는 물리량이 다릅니다. 손가락의 강성이 바뀌었을 때 어느 결과가 달라지는지도 이 선택에 따라 갈립니다.
여기서 변위는 케이블의 구동 변위입니다. 케이블을 3 mm 당겼다고 손끝이 특정 방향으로 3 mm 이동한다는 뜻은 아닙니다. 케이블 경로, 손가락 형상과 재질, 고정 위치가 당김을 손가락의 굽힘과 이동으로 바꿉니다.
CableConstraint가 표현하는 것은 당기는 케이블이다
공식 힘·변위 비교 예제는 CableConstraint로 탄성 손가락 안의 비신축성 1차원 케이블을 모델링합니다. 케이블은 재료 안에서 미끄러질 수 있으며 장력만 전달합니다.
비신축성이라는 말은 케이블 자체의 늘어남을 이 설명의 구동 원리로 삼지 않는다는 뜻입니다. 당김에 따라 주로 변형되는 대상은 주변의 탄성 손가락입니다. 또 장력만 전달하므로, 같은 케이블을 압축 봉처럼 취급해 반대 방향의 밀기 힘을 주는 해석은 맞지 않습니다.
공식 CableGripper 튜토리얼의 Step 3에서는 케이블이 손가락 내부를 지나 손끝에 연결되고, 케이블 길이를 바꾸어 손가락을 구동합니다. 손끝의 3차원 위치는 이 길이 변화에 대한 변형 결과입니다. 케이블 길이 하나와 손끝 위치 세 좌표를 같은 제어 변수로 읽으면, “같은 변위 명령인데 손끝이 다르게 움직인다”는 상황을 잘못된 계산으로 오해할 수 있습니다.
같은 힘과 같은 당김 길이는 서로 다른 비교다
공식 비교 문서는 강성이 다른 손가락에 같은 힘을 가하면 더 단단한 손가락이 덜 움직인다고 설명합니다. 반대로 케이블 변위를 지정하면 구동 변위는 같게 두고, 그 조건을 만족하는 힘을 구합니다.
| 고정하는 입력 | 계산해서 얻는 케이블 응답 | 강성이 다른 손가락을 비교할 때 |
|---|---|---|
| 케이블 힘 | 그 힘에 대응하는 변위 | 같은 힘에서 얼마나 당겨지고 변형되는지 본다 |
| 케이블 변위 | 그 변위를 만드는 데 필요한 힘 | 같은 당김 길이에 필요한 힘이 어떻게 달라지는지 본다 |
변위 입력에서 두 액추에이터가 같은 양을 움직인다는 설명은 케이블 쪽의 조건입니다. 최종 손끝 위치나 손가락 전체의 형상까지 같다고 확대하면 안 됩니다. 예를 들어 케이블이 중심선에서 더 멀리 지나가는 손가락과 가까이 지나가는 손가락은, 같은 당김 길이를 굽힘으로 바꾸는 기하 관계부터 다릅니다.
가상 선형 계산으로 입력과 결과를 바꿔 보기
숫자로 차이를 보기 위해 작은 변형 부근에서 케이블 힘 F와 당김 길이 δ가 F = k_eff × δ를 따른다고 가정하겠습니다. 여기서 k_eff는 손가락과 케이블 경로를 합친 가상의 유효 강성입니다. 케이블 자체의 탄성 계수나 실제 SoftRobots 계산 결과가 아닙니다.
손가락 A의 유효 강성을 0.5 N/mm, B를 1 N/mm로 두면 다음과 같습니다.
| 비교 조건 | 손가락 A | 손가락 B |
|---|---|---|
| 입력 힘을 2 N으로 고정 | 당김 길이 4 mm | 당김 길이 2 mm |
| 입력 당김 길이를 3 mm로 고정 | 필요한 힘 1.5 N | 필요한 힘 3 N |
첫 줄에서는 힘이 같고 결과 변위가 달라집니다. 둘째 줄에서는 변위가 같고 결과 힘이 달라집니다. “강성을 두 배로 바꾸었더니 무엇이 달라졌는가”에 답하려면, 비교에서 힘과 변위 중 어느 쪽을 고정했는지 먼저 밝혀야 합니다.
이 가정에서 실제 소프트 손가락으로 넘어가면 굽힘에 따라 기하 관계가 달라지고 물체와 접촉할 수도 있습니다. 그때는 위 표의 고정된 k_eff 대신 재질·형상·접촉을 포함한 변형 계산으로 힘과 변위의 관계를 구해야 합니다. 표의 역할은 입력과 결과를 구분하는 데 있습니다.
공기 주머니에서는 압력과 체적 증가를 나눠 본다
압력·체적 증가 비교 문서는 SurfacePressureConstraint를 사용해 내부 공동의 압력 또는 체적 증가를 제어하는 예제를 소개합니다. 문서가 제시하는 모델의 의도는 압력 구동을 압축되는 기체에, 체적 구동을 물·오일처럼 비압축성 매체로 다루는 경우에 대응시키는 것입니다.
여기서도 핵심은 어떤 양을 입력으로 두느냐입니다. 압력을 주어진 조건으로 두는 장면과 공동의 체적 증가를 주어진 조건으로 두는 장면은 서로 다른 문제를 풉니다. 같은 최종 외형을 비교하려면 각 장면에 넣은 값이 무엇을 뜻하는지부터 맞춰야 합니다.
이 짧은 문서는 물·오일을 비압축성으로 다루는 모델 선택을 설명합니다. 실제 배관과 밸브의 동특성, 기포, 유체의 압축성까지 계산하는 전체 유압 시스템의 설명으로 읽을 자료는 아닙니다. 손가락 공동의 구동 조건을 비교하는 범위에서 사용하는 것이 정확합니다.
비교하려는 구동 조건에 맞춰 입력을 고른다
정해진 장력에서 손가락이 얼마나 변형되는지가 질문이라면 힘 입력이 그 질문에 직접 대응합니다. 일정한 케이블 당김 길이를 주었을 때 필요한 힘이 질문이라면 변위 입력이 대응합니다. 반면 손끝이 공간상의 목표점에 도달해야 하는 작업은 케이블 입력을 손끝 위치로 바꾸는 관계까지 다뤄야 합니다. 액추에이터 변위를 지정하는 것만으로 손끝의 위치 제어 문제가 끝나지는 않습니다.
모터·유압·공압 같은 하드웨어 분류는 로봇 액추에이터 종류에서 다룹니다. 이번 구분은 그보다 한 단계 안쪽인 시뮬레이션의 입력 변수에 관한 것입니다. 사용하려는 하드웨어가 어떤 양을 제어하고 측정하는지 정한 다음, 시뮬레이션에서도 그 양을 입력과 관측 결과 중 어디에 둘지 연결하면 비교가 명확해집니다.
이 글은 2026년 10월 16일 확인한 SoftRobots 공식 예제 문서와 CableGripper 설명을 바탕으로 작성했습니다. 시뮬레이션을 실행하거나 손가락의 힘·변위를 측정하지 않았으며, 위 수치는 입력과 결과의 관계를 설명하는 가상 계산입니다.