보행로봇은 안정적으로 걷거나 뛰기 위해서 외부 환경에 따라 걸음걸이를 변경한다. 안정적인 걸음걸이를 결정하기 위해 걷고 있는 지형의 형상이나 종류를 판단할 필요가 있다. 최근에 보행로봇이 이동하고 있는 지형의 종류를 구별하기 위한 연구가 진행되고 있다. Walas(2013a)과 Walas(2013b)는 발끝에 장착된 6축 힘/토크 센서로부터 얻은 데이터의 진동 정보를 통해 지형의 종류를 분류하는 방법을 연구하였다. 또한 Walas(2015)는 여러 가지 센서로부터 생성한 특징들을 융합하여 분류 성능을 향상시킨 연구도 수행하였다. 그 외에도 Hoepflinger et al.(2010)과 같이 다양한 방법으로 보행로봇이 이동하고 있는 지형을 분류해내는 연구들이 수행되었다.
보행로봇의 안정적인 걸음을 위한 힘 제어 방법에 대해 많은 연구들이 진행되어 왔다(Park, 2001; Arevalo and Garcia, 2012; Yi, 2013). 하지만 힘 센서는 고가의 장비이기 때문에 장착에 대한 비용부담이 크다. 특히 CRABSTER와 같은 다족보행로봇의 모든 다리에 힘 센서를 장착하는 것은 더더욱 비용부담이 따른다. 따라서 힘 센서를 대체하기 위하여 힘을 추정하는 방법은 가치가 있으며, 많은 연구가 수행되어 왔다. 동역학 계산을 통해 얻은 관절토크와 측정된 관절토크의 차이로부터 접촉력을 추정할 수 있다. 이 때, Phong et al.(2012)과 Asksman et al.(2007)의 방법과 같이 토크 센서나 모터의 전류로부터 각 관절의 토크를 파악할 수 있다. 하지만 동역학 계산은 쉽지 않고, 힘 추정 성능을 저하시키는 동역학 추정 오차도 발생한다. 다른 방법으로는 Stolt et al.(2012)과 같이 로봇의 제어를 위해 입력한 각도와 엔코더로부터 측정한 각도의 차이를 통해 관절토크를 추정하여 활용할 수 있다. 이 방법은 각도의 차이를 관절토크로 변환하기 위한 탄성계수
본 논문에서는 모터 전류와 1축 힘 정보를 활용하여 접촉력을 추정하는 방법을 제안한다. 1축 힘 정보는 고가의 다축 힘 센서에 비해 상당히 저렴한 로드셀로 측정할 수 있다. 이전의 연구인 Lee et al.(2014)에서 운동방향이 바뀔 때 각 관절의 마찰토크에 의해 힘 추정 성능이 저하되는 문제가 있었다. 본 연구에서는 마찰토크에 의해 나타나는 이 문제를 해결하기 위해 각 관절의 마찰토크를 실험적으로 모델링하였고, 이를 적용하여 힘 추정 성능을 개선시켰다.
로봇 다리의 동역학은 식 (1)과 같다. 그리고 발끝에 접촉력
접촉을 감지한 직후의 토크를 𝜏
불확실한 오차유발요소 의 영향을 줄이기 위해 1차원 탄성모델을 적용하였다. 탄성모델은 발끝에 힘이 가해지면서 발생하는 링크의 탄성을 의미한다.
식 (6)은 식 (5)를 3자유도 로봇 다리에 대한 행렬식으로 나타낸 것이다. 탄성계수
힘과 모멘트의 관계는 식 (7)과 같다. 각 링크의 끝단에서 동일한 힘
따라서 탄성계수는 링크의 길이에 비례하도록 설정할 수 있다. 여기서 링크의 길이는 회전 관절과 접촉점까지의 길이를 의미한다. 따라서 수정된 탄성모델이 적용된 접촉력과 토크의 관계식은 식 (11)과 같다.
식 (11)에서 변수는 총 4개(
그림 2는 앞서 설명한 방법을 검증하기 위한 실험 환경이다. 다족보행로봇인 CRABSTER의 한 다리를 프레임에 고정하고 실험하였다. 실제로 다리는 4개의 관절로 이루어져있지만, 여유자 유도 문제를 배제하기 위하여 3번째 관절을 고정시키고 3개의 관절(1번, 2번, 4번)만을 활용하였다. 발끝에는 6축 힘/토크 센서가 장착되어 있다. 이 센서로부터 측정된
발끝이 Z축 방향으로 내려가면서 쇳덩이를 누르는 동안 접촉력을 추정한 결과는 그림 3과 같다. 약 1.8초에 접촉이 발생했으며, Z축 방향으로 800N의 힘을 가하고 멈추도록 하였다. 약 3.2초에 정지를 한 후, 추정오차가 더 크게 나타나는 것을 볼 수 있다. 이것은 힘을 가하는 동안 운동마찰토크가 발생하다가 정지하면서 마찰토크가 0이 되었기 때문에 나타난 오차이다. 따라서 각 관절에 대해 마찰토크모델을 생성하여 적용할 필요가 있다고 판단하였다.
탄성모델이 적용된 식 (11)에 추가로 마찰토크모델을 적용하여 식 (12)와 같이 나타내었다. 일반적으로 마찰력은 속도에 대한 함수로 나타난다. 모터전류를 토크로 환산한
발끝에 접촉력과 링크에 외력이 발생하지 않는 환경에서 반복적인 실험을 통해 마찰토크를 모델링하였다. 마찰토크를 속도에 대한 함수로 나타내기 위해 각 축마다 다양한 속도로 실험하였다. 식 (1)에서 관성의 영향을 무시하기 위해 등속구간의 데이터만을 모델링하는데 사용하였으며, 중력의 영향을 무시하기 위해 움직이는 동안 중력의 변화가 없는 구간의 데이터만을 활용하였다. 그림 2에서 보이는 2번 관절의 회전축은 중력방향의 축과 일치한다. 따라서 2번 관절이 회전하는 동안 중력에 의한 토크는 발생하지 않는다. 다른 관절의 마찰토크를 모델링할 때도 각 관절의 회전축을 중력방향과 일치시키고 데이터를 수집하였다.
결과적으로는 모델링한 마찰토크에 전향력과 원심력이 포함되어 있다. 그림 4는 실험으로부터 추정한 마찰토크 모델을 보여준다. 동그라미 표시는 속도별로 여러 번 실험을 통해 얻은 마찰토크(전류)의 평균을 표시한 것이고, 실선은 속도를 변수로 갖는 다항식으로 피팅한 결과이다. 일반적인 마찰력-속도 모델의 형상과 비슷하게 나온 것을 볼 수 있다.
각 관절의 마찰토크 모델을 식 (12)에 적용하고 접촉력을 추정해 보았다. 그림 5와 그림 6에서 마찰토크 모델이 적용되지 않은 경우의 추정된 X축 힘은 정지한 후부터 오차가 커지는 반면, 마찰토크 모델을 적용함으로써 정지한 후에도 이전에 비해 정확히 추정되는 것을 볼 수 있다. 하지만 그림 7에서 발끝이 1mm/s의 속도로 지면을 누르면서 힘을 가하는 동안 오차가 크게 발생하는 것을 볼 수 있다. 이것은 관절의 속도가 매우 느리기 때문에 정지마찰(회전속도=0)과 운동마찰(회전속도≠0)이 번갈아가며 나타나기 때문이다.
본 논문에서는 로봇 다리와 지면 사이에서 발생하는 접촉력을 추정하는 방법을 제안했다. 이 방법을 통해 비용부담을 줄이면서 힘 정보를 파악할 수 있었다. 이 방법은 동역학을 고려하지 않는다. 접촉이 발생한 직후의 관절토크와 다리가 지면을 누르는 동안의 관절토크의 차이를 관절의 마찰토크, 탄성토크, 발끝 접촉력에 관한 식으로 표현하였으며, 이를 활용하여 접촉력을 추정하였다. 이전 연구의 문제로 제기되었던 운동방향이 바뀔 때 나타나는 힘 추정 오차를 감소시키기 위해 각 관절의 마찰토크모델을 생성하였다. 마찰토크모델은 실험적으로 생성하였으며, 이를 적용함으로써 접촉력 추정 성능이 눈에 띄게 향상되었다. 저속인 경우에는 정지마찰과 운동마찰이 번갈아가며 나타나기 때문에 오히려 추정오차가 증가하였으나, 실제 보행속도에 비해 매우 느린 속도이기 때문에 고려하지 않아도 될 것으로 판단된다.
현재까지는 수면 위에서 발생하는 접촉력을 추정하였으나 CRABSTER는 수중로봇이기 때문에 수면 아래에서 접촉력을 추정해 볼 필요가 있다. 이 때, 수면 아래에서는 부력과 항력 등 동역학 항들이 추가되어야 하는데, 제안하는 방법을 사용하면 추가적인 항들을 고려하지 않고 접촉력을 추정할 수 있을 것으로 사료된다.