![Journal of Korea Robotics Society](/images/basic/pubreader_back.gif)
여유자유도를 가지는 인간형 로봇 손의 자세 및 힘 제어
†Corresponding author : Mechanical Engineering, SungKyunKwan University, Chunchun-Dong, Jangan-Gu, Suwon, Korea ( hrchoi@me.skku.ac.kr)
© Korea Robotics Society All rights reserved
This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
Abstract
The versatility of a human hand is what the researchers eager to mimic. As one of the attempt, the redundant degree of freedom in the human hand is considered. However, in the force domain the redundant joint causes a control issue. To solve this problem, the force control method for a redundant robotic hand which is similar to the human is proposed. First, the redundancy of the human hand is analyzed. Then, to resolve the redundancy in force domain, the artificial minimum energy point is specified and the restoring force is used to control the configuration of the finger other than the force in a null space. Finally, the method is verified experimentally with a commercial robot hand, called Allegro Hand with a force/torque sensor.
Keywords:
Robot hand, Redundancy, Null space control, Force control1. 서 론
로봇 손에 관한 연구는 로봇이 인간에게 맞추어진 환경에서 활동하기 위해 이족 보행과 더불어 필요한 연구 중 하나로 오랜 기간 동안 연구되었다. 하지만 물체의 크기와 용도에 따라 무한히 많은 방법으로 잡을 수 있는 사람 손과 달리 로봇 손은 제한된 잡기만 가능한 상태이다.
로봇 손의 연구에서 주를 이루는 로봇은 인간의 손을 모사한 인간형 로봇 손과 집게 형태의 로봇 손이다. 일반적으로 인간형 로봇 손은 인간 손의 움직임과 같도록 Distal interphalangeal joint (DIP)와 Proximal interphalangeal joint (PIP)를 구속하여 3자유도가 되도록 하여 pinch와 power grasp이 가능하도록 개발되었다[1,2]. 또 다른 형태인 집게 형 로봇 손과 과소작동형 로봇 손은 유연성을 희생하고 제어와 구조의 간단함에 초점을 맞추어 개발되었다[3-5]. 이러한 손은 다양한 물체를 잘 잡지만 잡는 형태가 power grasp으로 제한되는 경우가 많다.
사람은 물체를 잡을 때 경험적으로 손가락의 패드부분을 사용하거나 가능하다면 손의 끝 마디뿐만 아니라 중간 마디까지 사용하여 물체와의 접촉 면적을 넓힌다. 또한 작은 물체를 잡을 때에는 손끝만을 이용해서 잡기도 한다[6]. 이처럼 실제 손은 같은 위치에서도 여러 가지 모양(Configuration)과 접촉면을 가지며 이는 여유자유도가 있기에 가능하다.
하지만 여유자유도를 가지는 로봇은 제어 시 추가적인 제한조건이 필요하다. 여유자유도를 다룬 논문은 로봇 팔에 관한 것이 많은데 위치제어 시 충돌 회피나 특이점을 피하는데 사용하였다. 이 때 추가되는 제한조건은 각 관절의 토크를 최소화하거나[7] 인간의 힘줄과 근육의 작용 모사하는[8] 등의 방법이 제안되었다. 최근에는 Kwon 등이 사람의 행동을 학습시켜 자유도 가 많은 양팔과 손을 이용하여 물체를 조작하는 방법을 제안하였다[9].
여유자유도의 힘 제어 방법에 관한 연구는 Khatib가 제안한 힘 제어와 동시에 특이점이나 충돌회피를 피하는 방법이 있고[10], Nemec 등은 영공간 상에서의 움직임을 분리시켜 위치제어 방법처럼 1차 목적과 2차 목적을 나누었다[11].
로봇 팔에 비해 로봇 손에 여유자유도를 적용한 사례는 많지 않다. 하지만 집게 형 로봇 손과 달리 인간형 로봇 손은 잡는 모양에 따라 할 수 있는 작업이나 힘을 가할 수 있는 물체를 잡는 손의 모양도 중요하다[6]. 특히 여유자유도를 가지는 손은 인간과 유사한 잡기를 더 많이 모사 가능하지만 힘 제어 시 한 개의 여유자유도를 가지므로 손 모양이 무너질 수 있다. 그러므로 여유자유도를 가지는 로봇 손에서는 처음 의도한 손 모양을 유지하는 제어가 추가적으로 필요하다.
이 연구에서는 사람 손에서 여유자유도의 역할을 확인하고 위치에너지와 복원력을 이용하여 힘 공간 상에 생기는 여유자유도를 해결할 것이다. 또한 제안한 제어기를 실제 로봇 손[12]을 이용하여 실험적으로 검증 할 것이다.
2. 사람 손의 여유자유도
손은 여러 크기의 물체를 잡을 수 있는 집게라고 할 수 있다. 사람은 같은 물체도 한 가지 방법으로만 잡는 것이 아닌 물체의 상태나 사용 용도에 따라 알맞은 방법으로 잡는다. 예를 들어 Fig. 1(a)와 같이 지우개를 집을 때 손 끝으로 살짝 잡을 수도 있지만 Fig. 1(b)처럼 손가락 패드부분 전체를 사용해서 더 안정되게 잡을 수도 있다. 일반적으로 사람들은 납작하거나 작은 물체를 잡을 때 손 끝을 사용한다. 그 외의 물체를 집을 때에는 주로 손가락의 패드부분을 사용하여 물체와의 접촉 면적을 넓혀서 안정적으로 잡는다. 같은 물체를 잡을 때에도 손가락 관절간의 각도 관계에 따라 다르다는 것이다. 만약 손가락이 여유자유도를 갖지 않고 일반적인 로봇 손처럼 DIP와 PIP 관절이 1:1로 구속되어 있다면 작은 물체를 잡는 방법은 손 끝으로 한정 될 것이다.
이 논문에서는 사람 손과 유사하게 여유자유도를 가지는 로봇 손인 Simlab사의 Allegro Hand를 이용하여 새로운 제어식을 분석하고 실험하였다. Fig. 2에 나타나 있듯이 Allegro Hand의 검지, 중지, 약지는 사람의 내전/외전에 상응하는 첫 번째 관절과 Metacarpophalangeal (MCP) 관절의 굴신운동에 해당하는 두 번째 관절, DIP 와 PIP의 굴신에 상응하는 세 번째, 네 번째 관절 총 네 개의 관절로 이루어져 사람의 손처럼 여유자유도를 를 가지므로 이 연구에 사용하였다.
3. 힘 제어 이론
로봇 손이 사람 손처럼 DIP와 PIP 관절이 독립적일 경우 여유자유도를 가진다. 독립적인 두 관절은 물체를 잡을 때 더 많은 면을 사용할 수 있게 해준다. 하지만 로봇 손의 끝 단에서는 모멘트를 작용할 수 없으므로 DIP와 PIP관절이 독립적인 경우 힘 제어 시 무수히 많은 토크조합을 갖는다. 이 장에서는 손이 힘을 작용하는 동안 작용하는 외란에도 원래 의도했던 손의 형태가 무너지지 않도록 손가락의 자세를 제어하는 방법을 제안할 것이다.
Allegro Hand는 한 평면 상에 세 개의 관절이 존재하여 여유자유도가 생기게 된다. 이를 모델링 하면 Fig. 3와 같다. 관절각의 부호는 손가락이 지면과 수직일 때의 관절위치를 기준으로 하여 굽히는 방향을 각도의 양의 방향으로 정하였다. 또한 기준 좌표계는 x, y로 나타나 있으며, xEE,yEE는 끝 단의 좌표계를 나타낸다.
Fig. 3에 나타낸 여유자유도를 가지는 손가락의 끝 단에서의 자코비안 J ∈R2x3는 정사각행렬이 아니다. 메니퓰레이터의 말단장치에서의 힘과 관절에 작용하는 토크의 관계는 다음 식이 성립한다.
(1) |
여기서 τ∈R3는 각 관절에 작용하는 토크 값들을 나타내며 F∈R2는 평면상에서 손 끝에 작용하는 힘 벡터를 나타낸다. 하지만 메니퓰레이터가 여유자유도를 갖는 경우 손 끝이 움직이지 않을 때에도 관절이 움직이는 자가움직임(self-motion)이 가능하므로 두 힘이 한 일의 양은 다르게 된다. 식 (1)에 자가움직임에 의한 일을 추가하면 식은 다음과 같다.
(2) |
En∈R3×3은 단위행렬을 나타내며 J#∈R3x2는 J의 일반화 역행렬(Generalized inverse), τn∈R3는 임의의 벡터를 나타낸다.
일반화 역행렬은 많은 경우 Moore-Penrose pseudo inverse를 사용하지만 이 연구에서는 말단장치의 힘에 영향을 미치지 않는 토크 즉, 영공간 상의 토크를 이용하기 위해 Khatib가 제안한 일반화 역행렬 J[10]를 사용하였다.
(3) |
이 때 Mq는 관절공간 상에서의 관성 항을 나타낸다. 식 (2), (3)을 통해 도출된 최종 제어 식은 다음과 같이 바뀐다.
(4) |
그러므로 임의의 벡터 τn을 어떻게 결정하느냐가 중요하다. 본 연구에서는 이 벡터를 위치에너지에 의한 복원력으로 결정하였다..
인간의 손에 근육과 힘줄이 가장 작은 장력을 갖는 중립위치라는 위치에너지 최소점이 있는 것과 달리 로봇 손의 위치에너지 최소점은 정해져 있지 않다. 우리는 이 점을 이용하여 로봇 손의 힘 제어를 하는 동안 외란에 의해 손가락의 모양 (configuration)이 바뀌지 바뀌지 않도록 하기 위해서 처음 물체를 잡았을 때의 관절의 위치를 기억하여 위치에너지 최소점으로 사용하였다. 손이 지정된 위치에너지 최소점을 벗어나면 복원력이 작용하게 된다. i번째 관절의 위치에너지와 복원력을 식으로 나타내면 다음과 같다.
(5) |
(6) |
이 때 Ui는 관절의 위치에너지, qn,i는 지정된 위치에너지 최소점의 관절각도, qi는 현재의 관절각도를 나타내며, Fr,i는 원래 위치로 돌아가려는 복원력, Kf,i는 관절의 강성(Stiffness)을 뜻한다. 식 (5)에서 qn,i는 고정된 값이 아니라 실제 물체를 잡은 모양을 위치에너지 최소점 qn,i로 저장한다.
4. 영공간 분석
제시한 힘 제어 방법은 위치제어에 해당하는 값을 JT의 영공간 상으로 투사하므로 자세 제어가 원하는 만큼 충분히 이루어지지 않거나 불안정한 영역이 존재한다. 이 절에서는 식(4)와 식(6)을 이용한 제어식이 적용 가능한 범위 또는 조건을 찾기 위해 손가락의 작업영역 내에서의 영공간의 기저(basis)를 분석하였다. 하지만 자코비안은 관절 각을 변수로 가지는 비선형 식으로 수식적으로 영공간의 특성을 파악하는 것은 쉽지 않다. 그러므로 이 논문에서는 MATLAB을 이용하여 관절각의 조합을 여러 경우로 나누어 각 경우에 대해 영공간 기저를 수치적으로 구하는 방법을 사용하였다. 계산에 사용한 모델은 Fig. 3의 손가락 모델이며 인자들의 값은 Allegro Hand의 값을 이용하였고, 그 값은 Table 1에 나타내었다.
특이점에 위치한 경우를 제외하면 손가락들은 Fig. 3의 모델처럼 평면상에서 한 개의 여유자유도를 갖는다. 제시한 제어 식은 한 개의 자유도로 세 개의 관절 각을 제어하므로 잘 되지 않는 부분이 존재할 것이라 예상할 수 있다.
안정한 조건을 찾기 위해 먼저 q1,q2,q3의 값을 부호에 따라 양수일 때와 음수일 때로 나누었다. 계산 결과 q1의 영향은 없어 Table 2와 같이 총 네 가지 경우에 대하여 분석하였다. 계산 시 영공간 기저벡터 u 는 다음과 같은 정의를 가진다.
(6) |
손가락의 자세가 유지되려면 기저는 두 가지 조건을 만족해야 한다. 첫 번째는 힘 제어하는 동안 물체와 접촉이 깨지면 안되므로 인접한 관절의 부호는 반대여야 한다. 이를 다시 식으로 나타내면 다음과 같다.
(7a) |
(7b) |
Fig. 4 와 Fig. 5에 나타나 있듯이 Case1과 Case2의 기저벡터는 인접한 관절간에 부호가 반대이므로 첫 번째 조건을 만족시킨다. q2,q3 모두 0보다 큰 경우는 제어기는 잘 작동한다. 하지만 Case 2의 경우 토크의 방향은 적합하지만 관절이 음의 방향으로 작은 가동 범위를 가지고 있으므로 둘 중 한 관절이 제한각도에 걸려 접촉이 깨질 수 있다. 또한 한 관절이 제한각도에 걸릴 경우 Case 2는 Case 3나 Case 4로 바뀌게 되는데 Fig. 6와 Fig. 7에 나타나듯이 두 가지 경우는 일정한 각도변화에도 부호가 급격히 바뀐다. 이러한 급격한 부호 변화는 로봇을 진동시키거나 폭발적으로 움직이게 하여 위험하다. 결론적으로 안정적으로 사용할 수 있는 유일한 경우는 두 번째와 세 번째 관절이 모두 굽혀진 상태인 Case 1으로 일반적으로 물체를 잡을 때의 모양과 비슷하므로 실제 제어에 사용 가능하다고 판단하였다.
5. 실험 및 고찰
실험에 사용한 로봇 손은 영공간 분석에 사용한Allegro Hand로 각 관절마다 독립적으로 모터가 장착되어 있는 모터구동 방식 로봇 손이다. 제어는 Single Board Computer에 Xenomai 2.5.5를 이용하였고 손가락 팁에는 ATI사의 6축 force/torque 센서인 nano25를 Fig. 8a과 같이 장착하였고 센서의 좌표계는 z축이 센서의 위쪽방향, x축은 동일 평면상에서 z축에 수직한 방향으로 설정되어있다. 관절의 강성 값 Kf ∈ R4는 대각행렬 [0.0 0.003 0.15 0.03] Nm/rad로 첫번째 관절의 강성을 0으로 하여 평면상에서의 탄성을 결정하였다.
실험에서는 일정한 힘을 주도록 제어하고 있는 손가락에 외란을 가하여 손 끝의 힘의 변화와 자세의 변화를 측정하였다. Fig. 9는 실험 영상을 캡처한 것으로 벽을 밀도록 제어하는 동안 세 번째 관절인 DIP와 네 번째 관절인 PIP에 각각 변형을 가하였다. 그림에서 파란 선은 처음의 자세이고 빨간 선은 외력에 의해 변형되었을 때의 자세를 나타낸다. 각 열의 마지막 그림에서 확인 할 수 있듯이 변형시키는 힘이 사라진 뒤에는 손가락이 처음의 위치인 파란 선의 위치로 돌아가는 것을 확인할 수 있다.
![[Fig. 9] [Fig. 9]](/xml/26261/JKROS-10-1_F9.jpg)
Experiment video. Disturbance in the third joint, PIP (left column) and to the final joint, DIP (right column)
실험 결과는 Fig. 10에 나타내었다. 이 때, fx, ft, fz는 센서 좌표계에서의 각 힘 성분을 나타내며, Ft는 합력을 나타낸다. 그래프에서 나타나듯이 손가락 팁의 힘은 외란 전후에도 합력과 각 방향으로의 힘이 일정한 것을 알 수 있다. 손가락의 자세 변화 역시 각 관절각의 각도그래프 을 통해 알 수 있다. 외란에 따라 손가락의 자세가 바뀌고 나서 처음의 자세로 똑같이 돌아가지는 못하지만 최대한 초기위치로 돌아가는 것을 볼 수 있다. 또한 그래프의 두 번째 구간에 각도가 돌아가지 않고 변하는 부분은 영공간 제어상의 한계로 그 범위의 관절 벡터가 영공간 상에 존재하지 않는 경우이다. 추가적으로 식 (6)의 관절의 탄성 값 Kf을 크게 하면 그 값에 따라 각 관절이 외란에 저항하는 힘 또한 커지게 되어 작은 외란에는 변형이 발생하지 않게 된다.
6. 결 론
본 연구에서는 기존의 DIP와 PIP관절이 구속되어 움직이는 로봇 손과 달리 인간처럼 각 관절이 독립적인 로봇 손 즉, 여유자유도를 가지를 로봇 손의 제어 방법을 다루었다.
힘 제어 방법의 경우 손가락 끝 단에 작용하는 힘 에 영향을 미치지 않도록 하기 위해 JT의 영공간 상에서 손가락의 모양 유지되도록 제어하였다. 이 때 제어식이 잘 적용되는 영역을 찾기 위해 영공간의 기저벡터를 수치해석적으로 분석하였고 일반적인 손의 모양인 관절이 모두 굽힘 상태 일 때 안정됨을 확인하였고 이를 실험을 통해 검증하였다.
향후 이 연구를 확장하여 검지, 중지, 약지뿐만 아니라 엄지에도 적용하여 물체를 잡았을 때 손의 모양을 유지하도록 할 수 있도록 할 것이다. 더 나아가 잡고 있는 물체와 환경간의 상호작용 시에도 제시한 제어기가 유용할 것이다.
REFERENCES
- Grebenstein, M, Chalon, M, Hirzinger, G, Siegwart, R, “Antagonistically driven finger design for the anthropomorphic DLR Hand Arm System”, IEEE-RAS Int. Conf. on Humanoid Robotics, (2010, Dec), p609-616.
- Joo, Young Chun, Byung, June Choi, Han, Sang Chae, Hyung, Pil Moon, Hyouk, Ryeol Choi, “Design and Control of Anthropomorphic Robot hand”, J. of Korea Robotics Society, (2010), 5(2), p102-109.
- Ma, Raymond R, Lael, Odhner, Aaron, M Dollar, “A modular, open-source 3d printed underactuated hand”, Proc. IEEE Int. Conf. Robotics and Automation, (2013), p2737-2743.
-
Odhner, L U, Jentoft, L P, Claffee, M R, Corson, N, Tenzer, Y, Ma, R R, Buehler, M, Kohout, R, Howe, R D, Dollar, A M, “A compliant, underactuated hand for robust manipulation”, Int. J. of Robo. Res, (2014), 33(5), p736-752.
[https://doi.org/10.1177/0278364913514466]
-
Hong-Seon, Yu, Kim, Min-Cheol, Song, Jae-Bok, “Tendon-driven Adaptive Robot Hand”, J. of Korea Robotics Society, (2014), 9(4), p258-263.
[https://doi.org/10.7746/jkros.2014.9.4.258]
- Cutkosky, M, “On Grasp Choice, Grasp Models, and the Design of hands for manufacturing tasks”, IEEE Trans. Robotics and Automation, (1989).
- Hollerbach, J, Suh, K, “Redundancy resolution of manipulators through torque optimization”, IEEE J. Robot. Autom, (1987), 4.
- Bae, J, Yang, W, Kim, D, Oh, Y, “Robotic arm control inspired by human muscle tension effect under the gravity”, Proc. Int. Conf. Robotics and Automation, (2011), p1404-1411.
-
Woo, Young Kwon, Daegeun, Ha, Il Hong, Suh, “Imitation Learning of Bimanual Manipulation Skills Considering Both Position and Force Trajectory”, J. of Korea Robotics Society, (2013), 8(1), p20-28.
[https://doi.org/10.7746/jkros.2013.8.1.020]
- Khatib, O, “A Unified Approach for Motion and Force Control of Robot manipulators”, IEEE J. Robot. Autom, (1987), RA-3.
-
Nemec, B, Zlajpah, L, “Force control of redundant robots in unstructured environment”, IEEE Trans. Ind. Electron, (2002), 49(1), p233-240.
[https://doi.org/10.1109/41.982267]
- Park, S, Ji-hun, B, “Development of an anthropomorphic robot hand aimed at practical use for wide service robot application”, Proc. IEEE Int. Conf. Automation Science and Engineering, (2014), August 2014.
2013 성균관대학교 공과대학 기계공학부 (공학사)
2013 ~ 현재 성균관대학교 일반대학원 기계공학과 석사 과정
관심분야 : Robot hand, Manipulation, Control
2012 일본 리츠메이칸 대학 기계공학부 로봇공학 전공 (공학사)
2012~ 현재 성균관대학교 일반대학원 기계공학과 석박사 통합과정
관심분야 : Robot hand control, Algorithm, F/T sensors
2012 평생교육진흥원 학점은행제 기계설계공학전공(공학사)
2013 ~ 현재 성균관대학교 일반대학원 기계공학과 석사 과정
2011~2012 국립암센터 의공학연구과 연구원
관심분야 : Machine learning, Computer vision, Image processing, Mechanical Design, Mechatronics
2013 성균관대학교 공과대학 기계공학부 (공학사)
2013 ~ 현재 성균관대학교 일반대학원 기계공학과 석박사 통합과정
관심분야 : Manipulator path planning
1984 서울대학교 기계공학과(공학사)
1986 한국과학기술원 기계공학과(공학석사)
1994 포항공과대학교 기계공학과(공학박사)
1986~1989 LG 전자 정보기술 연구소 주임 연구원
1993~1995 일본 정부 문부성 초청 경도대학 연구원
1999~2000 일본 AIST 초빙연구원
2009~2009 University of Washington 방문교수
1995~현재 성균관대학교 기계공학부 교수
관심분야 : Field robotics, Dextrous hand, Haptic display, Artificial muscle actuator