(19) 대한민국특허청(KR)
(12) 등록특허공보(B1)
(45) 공고일자 2016년12월20일
(11) 등록번호 10-1687630
(24) 등록일자 2016년12월13일
(51) 국제특허분류(Int. Cl.)
B25J 13/08 (2006.01) B25J 9/16 (2006.01)
B62D 57/032 (2006.01)
(21) 출원번호 10-2010-0002351
(22) 출원일자 2010년01월11일
심사청구일자 2015년01월08일
(65) 공개번호 10-2011-0082391
(43) 공개일자 2011년07월19일
(56) 선행기술조사문헌
JP05337849 A*
JP10086081 A
KR1020100001567 A
*는 심사관에 의하여 인용된 문헌
(73) 특허권자
삼성전자주식회사
경기도 수원시 영통구 삼성로 129 (매탄동)
(72) 발명자
박중경
경기도 수원시 영통구 매영로 346, 신나무실6단지
아파트 663동 1201호 (영통동)
권웅
경기도 성남시 분당구 성남대로 822, 이매촌 204
동 1803호 (이매동)
(74) 대리인
특허법인세림
전체 청구항 수 : 총 14 항 심사관 : 조은용
(54) 발명의 명칭 보행 로봇 및 그 균형 제어 방법
(57) 요 약
로봇의 보행 시 발목을 이용하여 균형을 제어하는 보행 로봇 및 그 균형 제어 방법을 개시한다. 복잡한 동적 방
정식(Dynamics Equation)을 풀지 않고 발목 조인트의 각도를 결정함으로써 로봇이 넘어지지 않고 균형을 잡는 방
법에 있어서, 지면의 각도를 로봇 균형 제어의 기준 각도로 고정하여 지면이 기울어져 있더라도 로봇이 동일한
균형 제어 성능을 유지하면서 안정적으로 보행할 수 있다. 또한 로봇이 천천히 움직일 때나 빠르게 움직일 때 모
두 균형을 잡을 수 있으며, 지지하는 다리의 발목을 이용하여 로봇의 균형을 유지하기 때문에 그 방법이 간단하
여 6 자유도의 관절을 가진 로봇에 적용할 수 있다.
대 표 도 - 도4
등록특허 10-1687630
- 1 -
명 세 서
청구범위
청구항 1
복수의 다리와, 상기 복수의 다리에 각각 마련된 발을 구비하는 보행 로봇에 있어서,
상기 로봇의 보행 시 상기 발이 지면과 접촉하는지 여부를 검출하는 제1센서;
상기 발이 상기 지면과 접촉하면 상기 로봇의 자세를 검출하는 제2센서;
상기 발이 상기 지면과 접촉하면 법선 방향이 중력 방향인 면에 대한 상기 지면의 기울어진 정도를 나타내는 상
기 지면의 각도를 측정하여 상기 로봇의 균형을 잡기 위한 발목의 기준 목표 각도를 생성하고, 상기 로봇의 자
세에 따라 상기 기준 목표 각도를 보상하여 상기 로봇의 보행을 제어하는 보행 제어부를 포함하되,
상기 보행 로봇은 토크 기반 FSM(Finite State Machine) 제어 방식을 이용하여 보행하는 이족 이상의 보행 로봇
인 보행 로봇.
청구항 2
제1항에 있어서,
상기 제1센서는 상기 로봇의 발과 발목 관절부 사이에 설치되어 상기 발의 지면 접촉 여부를 검출하는 F/T센서
를 포함하는 보행 로봇.
청구항 3
제1항에 있어서,
상기 제2센서는 상기 로봇의 상체에 설치되어 상기 상체의 기울기나 자세를 검출하는 포즈 센서를 포함하는 보
행 로봇.
청구항 4
삭제
청구항 5
제1항에 있어서,
상기 기준 목표 각도는 상기 발이 상기 지면과 접촉하고 있을 때 상기 발목의 목표 각도인 보행 로봇.
청구항 6
제1항에 있어서,
상기 보행 제어부는,
상기 발이 상기 지면과 접촉하면 상기 지면의 각도와 일치하도록 상기 기준 목표 각도를 생성하는 목표 각도 생
성부;
상기 로봇의 자세에 따라 상기 로봇의 무게 중심의 위치 및 속도를 구하고, 상기 로봇의 무게 중심의 위치 및
속도를 이용하여 보상 각도를 계산하는 목표 각도 보상부; 및
상기 기준 목표 각도와 상기 보상 각도를 이용하여 상기 발목의 최종 목표 각도를 계산하고, 상기 계산된 최종
목표 각도를 이용하여 토크를 계산하는 목표 토크 계산부를 더 포함하는 보행 로봇.
청구항 7
제6항에 있어서,
등록특허 10-1687630
- 2 -
상기 목표 각도 생성부는 상기 지면의 각도를 상기 발목의 균형을 잡기 위한 제어 기준 각도로 하여 상기 기준
목표 각도를 생성하는 보행 로봇.
청구항 8
제6항에 있어서,
상기 기준 목표 각도, 상기 보상 각도 및 상기 최종 목표 각도는 Global 좌표계의 방향을 따르는 보행 로봇.
청구항 9
삭제
청구항 10
복수의 다리와, 상기 복수의 다리에 각각 마련된 발을 구비하는 보행 로봇의 균형 제어 방법에 있어서,
상기 로봇의 보행 시 상기 발이 지면과 접촉하는지 여부를 검출하고;
상기 발이 상기 지면과 접촉하면 법선 방향이 중력 방향인 면에 대한 상기 지면의 기울어진 정도를 나타내는 상
기 지면의 각도를 측정하여 상기 로봇의 균형을 잡기 위한 발목의 기준 목표 각도를 생성하고, 상기 로봇의 자
세를 검출하고 상기 검출된 상기 로봇의 자세에 기초하여 상기 기준 목표 각도를 보상하기 위한 보상 각도를 계
산하고;
상기 기준 목표 각도와 상기 보상 각도에 따라 상기 발목의 최종 목표 각도를 계산하여 상기 로봇의 보행을 제
어하되,
상기 보행 로봇은 토크 기반 FSM(Finite State Machine) 제어 방식을 이용하여 보행하는 이족 이상의 보행 로봇
인 보행 로봇의 균형 제어 방법.
청구항 11
삭제
청구항 12
제10항에 있어서,
상기 기준 목표 각도는 상기 발이 상기 지면과 접촉하고 있을 때 상기 발목의 목표 각도인 보행 로봇의 균형 제
어 방법.
청구항 13
제10항에 있어서,
상기 기준 목표 각도를 생성하는 것은,
상기 지면의 각도에 따라 상기 기준 목표 각도를 생성하는 보행 로봇의 균형 제어 방법.
청구항 14
제13항에 있어서,
상기 보상 각도를 계산하는 것은,
상기 로봇의 자세에 따라 상기 로봇의 무게 중심의 위치 및 속도를 구하고, 상기 로봇의 무게 중심의 위치 및
속도를 이용하여 보상 각도를 계산하는 보행 로봇의 균형 제어 방법.
청구항 15
제10항에 있어서,
상기 최종 목표 각도를 계산하는 것은,
상기 기준 목표 각도에 상기 보상 각도를 더한 보상 값으로 상기 발목의 목표 각도를 계산하는 보행 로봇의 균
등록특허 10-1687630
- 3 -
형 제어 방법.
청구항 16
제10항에 있어서,
상기 최종 목표 각도를 계산하는 것은,
상기 지면의 각도를 상기 발목의 균형을 잡기 위한 제어 기준 각도로 하여 상기 발목의 목표 각도를 계산하는
보행 로봇의 균형 제어 방법.
청구항 17
제10항에 있어서,
상기 기준 목표 각도, 상기 보상 각도 및 상기 최종 목표 각도는 Global 좌표계의 방향을 따르는 보행 로봇의
균형 제어 방법.
발명의 설명
기 술 분 야
로봇의 보행 시 발목을 이용하여 균형을 제어하는 보행 로봇 및 그 균형 제어 방법에 관한 것이다.[0001]
배 경 기 술
인간과 유사한 관절 체계를 가지고 인간의 작업 및 생활 공간에서 인간과 공존하며 보행하는 로봇의 연구 개발[0002]
이 활발하게 진행되고 있다. 보행 로봇은 이족 또는 3족 이상의 복수의 다리를 가지는 다족 보행 로봇으로 구성
되며, 안정적인 보행을 위해 각 관절에 위치한 전기 모터, 유압 모터 등의 액츄에이터를 구동해야 한다. 액츄에
이터의 구동 방식은 각 관절의 지령(command) 각도, 즉 지령(command) 위치를 주고 그것을 추종 제어하는 위치
기반의 ZMP(Zero Moment Point) 제어 방식과, 각 관절의 지령(command) 토크를 주고 그것을 추종 제어하는 토크
기반의 FSM(Finite State Machine) 제어 방식을 들 수 있다.
ZMP 제어 방식은 ZMP 구속 조건, 즉 ZMP가 지지하는 다리로 이루어진 지지다각형 내의 안전 영역(한발로 지지하[0003]
고 있을 경우에는 그 발의 영역, 양발로 지지하고 있을 경우에는 양발의 영역을 포함하는 convex polygon 내에
서 안전을 고려하여 작게 설정한 영역을 의미한다)에 존재해야 한다는 조건을 만족하도록 보행 방향, 보행 폭,
보행 속도 등을 미리 설정하고, 이 설정에 대응하는 각 다리의 보행 패턴을 생성하며, 그 보행 패턴에 따라 각
다리의 보행 궤적을 계산한다. 또한 계산된 보행 궤적의 역기구학(Inverse Kinematics) 계산을 통해 각 다리의
관절의 각도를 계산하고, 각 관절의 현재 각도와 목표 각도에 기초하여 각 관절의 목표 제어 값을 계산한다. 또
한 매 제어시간마다 각각의 다리가 계산된 보행 궤적을 추종하도록 하는 서보 제어(servo control)를 통해 구현
된다. 즉, 보행 시 각 다리의 위치가 보행 패턴에 따른 보행 궤적을 정확히 추종하는지 검출하고, 각 다리가 보
행 궤적을 이탈하면 모터의 토크를 조절하여 각 다리가 보행 궤적을 정확히 추종하도록 제어하여 보행하는 방식
이다.
그러나, ZMP 제어 방식은 위치 기반의 제어 방법이기 때문에 정확한 위치 제어가 가능한 반면, ZMP를 제어하기[0004]
위해 각 관절의 정확한 각도 제어를 수행해야 하므로 높은 서보 게인을 필요로 한다. 이로 인해 높은 전류를 필
요로 하기 때문에 에너지 효율이 낮고 관절의 강성이 커서 주위 환경에 큰 충격을 줄 수 있다. 또한 각 관절의
각도를 계산하기 위해선 기구학적 특이점(Kinematic Singularity)을 피해야 하므로 보행 중 무릎을 항상 굽힌
자세를 유지하게 되어 인간과 다른 부자연스러운 보행을 하게 된다.
이에 반해, FSM 제어 방식은 매 제어 시간마다 위치를 추종하여 보행하는 방식이 아니라 로봇의 각 동작 상태[0005]
(State)를 미리 정의해 두고(Finite State), 보행 시 각 동작 상태(State)를 참조하여 각 관절의 목표 토크를
계산하고 이를 추종하도록 제어하여 보행하는 방식으로, 보행 중 각 관절의 토크를 제어하므로 낮은 서보 게인
이 가능하여 에너지 효율이 높고 강성이 낮아서 주위 환경에 대해 안전하다. 또한 기구학적 특이점(Kinematic
Singularity)을 피할 필요가 없으므로 인간과 같이 무릎을 편 상태의 자연스러운 보행이 가능하다.
그러나, FSM 제어 방식은 미리 정의된 동작 상태(State)에 의존하여 로봇의 보행을 제어하므로 보행 제어가 부[0006]
적절하여 로봇이 균형을 잃을 수 있다. 따라서 보행 동작과 관계 없이 로봇의 균형을 잡기 위한 별도의 밸런싱
등록특허 10-1687630
- 4 -
(Balancing) 동작을 하게 된다. 로봇의 밸런싱 동작을 위해 안정적인 균형을 구현할 수 있는 지령 토크를 구해
야 하는데, 지령 토크를 구하기 위해서는 매우 복잡한 동적 방정식(Dynamics Equation)을 풀어야 하므로 현재까
지 6자유도 관절 구조의 다리를 가진 로봇에서 구현되지 못하였다.
발명의 내용
과제의 해결 수단
복잡한 동적 방정식(Dynamics Equation)을 풀지 않고 발목을 이용하여 균형을 잡는 보행 로봇 및 그 균형 제어[0007]
방법을 개시한다.
이를 위해 본 발명의 일 측면에 의한 보행 로봇은, 복수의 다리와, 복수의 다리에 각각 마련된 발을 구비하는[0008]
보행 로봇에 있어서, 로봇의 보행 시 발이 지면과 접촉하였는지를 검출하는 제1센서; 발이 지면과 접촉하면 로
봇의 자세를 검출하는 제2센서; 발이 지면과 접촉하면 지면의 각도를 측정하여 로봇의 균형을 잡기 위한 발목의
기준 목표 각도를 생성하고, 로봇의 자세에 따라 기준 목표 각도를 보상하여 로봇의 보행을 제어하는 보행 제어
부를 포함한다.
제1센서는 로봇의 발과 발목 관절부 사이에 설치되어 발의 지면 접촉 여부를 검출하는 F/T센서를 포함한다.[0009]
제2센서는 로봇의 상체에 설치되어 상체의 기울기나 자세를 검출하는 포즈 센서를 포함한다.[0010]
지면의 각도는 지면에 대한 발의 기울어진 정도를 나타내는 각도이다.[0011]
기준 목표 각도는 발의 지면에 대한 목표 각도를 나타내는 각도이다.[0012]
보행 제어부는, 지면의 각도에 따라 발목의 지면에 대한 기준 목표 각도를 생성하는 목표 각도 생성부; 로봇의[0013]
자세에 따라 로봇의 무게 중심 위치와 속도를 구하고, 로봇의 무게 중심 위치와 속도를 이용하여 보상 각도를
계산하는 목표 각도 보상부; 기준 목표 각도와 보상 각도를 이용하여 발목의 최종 목표 각도를 계산하고, 계산
된 최종 목표 각도를 이용하여 토크를 계산하는 목표 토크 계산부를 포함한다.
목표 각도 생성부는 지면의 각도를 발목의 균형을 잡기 위한 제어 기준 각도로 하여 기준 목표 각도를[0014]
생성한다.
기준 목표 각도, 보상 각도 및 최종 목표 각도는 Global 좌표계의 방향을 따른다.[0015]
보행 로봇은 토크 기반에 따라 보행하는 이족 이상의 보행 로봇이다.[0016]
또한, 본 발명의 일 측면에 의한 보행 로봇의 균형 제어 방법은, 복수의 다리와, 복수의 다리에 각각 마련된 발[0017]
을 구비하는 보행 로봇의 균형 제어 방법에 있어서, 로봇의 보행 시 발이 지면과 접촉하였는지를 검출하고; 발
이 지면과 접촉하면 지면의 각도를 측정하여 로봇의 균형을 잡기 위한 발목의 기준 목표 각도를 생성하고, 로봇
의 자세를 검출하여 기준 목표 각도를 보상하기 위한 보상 각도를 계산하고; 기준 목표 각도와 보상 각도에 따
라 발목의 최종 목표 각도를 계산하여 로봇의 보행을 제어한다.
기준 목표 각도를 생성하는 것은, 지면의 각도에 따라 발목의 지면에 대한 기준 목표 각도를 생성하는 것이다.[0018]
보상 각도를 계산하는 것은, 로봇의 자세에 따라 로봇의 무게 중심 위치와 속도를 구하고, 로봇의 무게 중심 위[0019]
치와 속도를 이용하여 보상 각도를 계산하는 것이다.
최종 목표 각도를 계산하는 것은, 기준 목표 각도에 보상 각도를 더한 보상 값으로 발목의 목표 각도를 계산하[0020]
는 것이다.
최종 목표 각도를 계산하는 것은, 지면의 각도를 발목의 균형을 잡기 위한 제어 기준 각도로 하여 발목의 목표[0021]
각도를 계산하는 것이다.
발명의 효과
개시된 로봇의 보행 제어 장치 및 그 방법에 의하면, 복잡한 동적 방정식(Dynamics Equation)을 풀지 않고 발목[0022]
조인트의 각도를 결정함으로써 로봇이 넘어지지 않고 균형을 잡을 수 있다.
또한, 지면의 각도를 로봇 균형 제어의 기준 각도로 고정하여 지면이 기울어져 있더라도 로봇이 동일한 균형 제[0023]
어 성능을 유지하면서 안정적으로 보행할 수 있다.
등록특허 10-1687630
- 5 -
또한, 로봇이 천천히 움직일 때나 빠르게 움직일 때 모두 균형을 잡을 수 있다.[0024]
또한, 지지하는 다리의 발목을 이용하여 로봇의 균형을 유지하기 때문에 그 방법이 간단하여 6 자유도의 관절을[0025]
가진 로봇에 적용할 수 있다.
도면의 간단한 설명
도 1은 본 발명의 일 실시예에 의한 로봇의 외관 구성도이다.[0026]
도 2는 도 1에 나타낸 로봇의 주요 관절 구조를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 의한 FSM 기반 보행 시, 로봇의 동작 상태와 각 동작 상태의 제어 동작을 나타낸
도면이다.
도 4는 본 발명의 일 실시예에 의한 로봇의 보행 제어 블록도이다.
도 5는 본 발명의 일 실시예에 의한 로봇의 보행 시, 다리 상태를 나타낸 측면도이다.
도 6은 본 발명의 일 실시예에 의한 로봇의 보행 제어 방법을 나타낸 동작 순서도이다.
발명을 실시하기 위한 구체적인 내용
이하, 본 발명의 일 실시예를 첨부된 도면을 참조하여 상세히 설명한다.[0027]
도 1은 본 발명의 일 실시예에 의한 로봇의 외관 구성도이다.[0028]
도 1에서, 로봇(100)은 인간과 마찬가지로 두 개의 다리(110)에 의해 직립 이동하는 이족 보행 로봇으로, 몸통[0029]
(102), 머리(104), 팔(106)로 이루어진 상체(101)와, 두 개의 다리(110)로 이루어진 하체(103)를 가진다.
로봇(100)의 상체(101)는 몸통(102)과, 몸통(102)의 상부에 목(120)을 통해 연결된 머리(104)와, 몸통(102)의[0030]
상부 양측에 어깨(114L, 114R)를 통해 연결된 두 개의 팔(106L, 106R)과, 이 두 개의 팔(106L, 106R)의 말단에
각각 연결된 손(108L, 108R)으로 이루어진다.
로봇(100)의 하체(103)는 상체(101)의 몸통(102) 하부 양측에 연결된 두 개의 다리(110L, 110R)와, 두 개의 다[0031]
리(110L, 110R) 말단에 각각 연결된 발(112L, 112R)로 이루어진다.
참조 부호에서, "R"과 "L"는 각각 로봇(100)의 오른쪽(right)과 왼쪽(left)을 나타내고, COG(Center Of[0032]
Gravity)는 로봇(100)의 무게 중심을 나타낸다.
도 2는 도 1에 나타낸 로봇의 주요 관절 구조를 나타낸 도면이다.[0033]
도 2에서, 로봇(100)의 몸통(102)에는 포즈 센서(pose sensor; 14)가 설치된다. 포즈 센서(14)는 연직축에 대한[0034]
상체(101)의 기울기인 경사 각도와 그 각속도를 검출하여 자세 정보를 발생시킨다. 이 포즈 센서(14)는 몸통
(102) 뿐만 아니라 머리(104)에 설치해도 좋다.
몸통(102)에는 상체(101)가 회전할 수 있도록 요우 방향의 1 자유도를 가지는 허리 관절부(15)가 설치된다.[0035]
또한, 로봇(100)의 머리(104)에는 주위를 촬영하는 카메라(41)와, 사용자 음성을 입력하는 마이크로폰(42)이 설[0036]
치된다.
머리(104)는 목 관절부(280)를 통해 상체(101)의 몸통(102)과 연결된다. 목 관절부(280)는 요우 방향(yaw, Z축[0037]
회전)의 회전 관절(281)과, 피치 방향(pitch, Y축 회전)의 회전 관절(282) 및 롤 방향(roll, X축 회전)의 회전
관절(283)을 포함하여 3 자유도를 가진다.
목 관절부(280)의 각각의 회전 관절(281, 282, 283)에는 머리(104)의 회전을 위한 모터들(예를 들어, 전기[0038]
모터, 유압 모터 등의 액츄에이터)이 연결된다.
로봇(100)의 두 개의 팔(106L, 106R)은 각각 상박 링크(31), 하박 링크(32) 및 손(33)을 가진다.[0039]
상박 링크(31)는 어깨 관절부(250L, 250R)를 통해 상체(101)에 연결되고, 상박 링크(31)와 하박 링크(32)는 팔[0040]
꿈치 관절부(260)를 통해 서로 연결되며, 하박 링크(32)와 손(33)은 손목 관절부(270)를 통해 서로 연결된다.
어깨 관절부(250L, 250R)는 상체(101)의 몸통(102)의 양측에 설치되어 두 개의 팔(106L, 106R)을 상체(101)의[0041]
몸통(102)에 연결한다.
등록특허 10-1687630
- 6 -
팔꿈치 관절부(260)는 피치 방향의 회전 관절(261)과, 요우 방향의 회전 관절(262)를 포함하여 2 자유도를 가진[0042]
다.
손목 관절부(270)는 피치 방향의 회전 관절(271)과, 롤 방향의 회전 관절(272)을 포함하여 2 자유도를 가진다.[0043]
손(33)에는 5개의 손가락(33a)이 설치된다. 각각의 손(33a)에는 모터에 의해 구동되는 다수의 관절(미도시)들이[0044]
설치될 수 있다. 손가락(33a)은 팔(106)의 움직임에 연동하여 물건을 파지하거나 특정 방향을 가리키는 것과 같
은 다양한 동작을 실행한다.
그리고, 로봇(100)의 두 개의 다리(110L, 110R)는 각각 대퇴 링크(21)와 하퇴 링크(22), 발(112L, 112R)을 가[0045]
진다.
대퇴 링크(21)는 힙 관절부(210)를 통해 상체(101)의 몸통(102)에 연결되고, 대퇴 링크(21)와 하퇴 링크(22)는[0046]
무릎 관절부(220)를 통해 서로 연결되며, 하퇴 링크(22)와 발(112L, 112R)은 발목 관절부(230)를 통해 서로 연
결된다.
힙 관절부(210)는 요우 방향(yaw, Z축 주위의 회전)의 회전 관절(211)과, 피치 방향(pitch, Y축 주위의 회전)의[0047]
회전 관절(212)과, 롤 방향(roll, X축 주위의 회전)의 회전 관절(213)을 포함하여 3 자유도를 가진다.
무릎 관절부(220)는 피치 방향의 회전 관절(221)을 포함하여 1 자유도를 가진다.[0048]
발목 관절부(230)는 피치 방향의 회전 관절(231; 발목 피치 조인트)과, 롤 방향의 회전 관절(232; 발목 롤 조인[0049]
트)을 포함하여 2 자유도를 가진다.
두 개의 다리(110L, 110R) 각각에는 힙 관절부(210), 무릎 관절부(220), 발목 관절부(230)에 대해 6개의 회전[0050]
관절이 마련되므로, 두 개의 다리(110L, 110R) 전체에 대해서는 12개의 회전 관절이 마련된다.
한편, 두 개의 다리(110L, 110R)에서 발(112L, 112R)과 발목 관절부(230)의 사이에는 다축 F/T센서(Multi-Axis[0051]
Force and Torque Sensor; 24)가 각각 설치된다. F/T 센서(24)는 발(112L, 112R)로부터 전달되는 힘의 3방향
성분(Fx, Fy, Fz)과 모멘트의 3방향 성분(Mx, My, Mz)을 측정함으로써 발(112L, 112R)의 착지 여부 및 발
(112L, 112R)에 가해지는 하중을 검출한다.
도면에 도시되어 있지 않지만, 로봇(100)에는 각 회전 관절을 구동하는 모터 등과 같은 액츄에이터가 설치된다.[0052]
로봇(100)의 동작 전반을 제어하는 보행 제어부는 이 모터를 적절히 제어함으로써 로봇(100)의 다양한 동작을
구현할 수 있다.
도 3은 본 발명의 일 실시예에 의한 FSM 기반 보행 시, 로봇의 동작 상태와 각 동작 상태의 제어 동작을 나타낸[0053]
도면이다.
도 3에서, 토크 기반의 FSM 제어 방식은 로봇(100)의 동작 상태를 미리 정의된 복수 개의 동작 상태(예를 들어,[0054]
S1, S2, S3, S4, S5, S6의 6개 상태)로 구분한다. 각각의 동작 상태(S1, S2, S3, S4, S5, S6)는 보행 시 로봇
(100)의 한 다리(110L 또는 110R)가 취하는 포즈를 의미하며, 이러한 로봇(100)의 포즈를 적절하게 전환함으로
서 안정적인 보행이 이루어지도록 한다.
제1동작 상태(S1; flight)는 다리(110L 또는 110R)를 스윙(Swing)하는 포즈이고, 제2동작 상태(S2; loading)는[0055]
발(112)을 지면에 내려 놓는 포즈이며, 제3동작 상태(S3; heel contact)는 발(112) 뒤쪽(heel)을 지면에 접촉
시키는 포즈이고, 제4동작 상태(S4; heel and toe contact)는 발(112) 뒤쪽(heel)과 앞쪽(toe)을 동시에 지면
에 접촉시키는 포즈이며, 제5동작 상태(S5; toe contact)는 발(112) 앞쪽(toe)을 접촉시키는 포즈이고, 제6동작
상태(S6; unloading)는 발(112)을 지면에서 떼어 내는 포즈에 해당한다.
각각의 동작 상태에서 다른 동작 상태로 전환하기 위해서는 그 동작 상태의 전환을 위한 제어 동작(Control[0056]
Action)이 요구된다.
보다 구체적으로 설명하면, 제1동작 상태(S1)에서 제2동작 상태(S2)로 전환하는 경우(S1→S2), 발(112) 뒤쪽[0057]
(heel)이 지면에 닿게 하는 제어 동작(heel touches ground)이 요구된다.
제2동작 상태(S2)에서 제3동작 상태(S3)로 전환하는 경우(S2→S3), 지면에 닿은 발(112)에 연결된 무릎(구체적[0058]
으로, 무릎 관절부)를 구부리는 제어 동작(knee bends)이 요구된다.
제3동작 상태(S3)에서 제4동작 상태(S4)로 전환하는 경우(S3→S4), 발(112) 앞쪽(toe)이 지면에 닿게 하는 제어[0059]
등록특허 10-1687630
- 7 -
동작(ball of foot touches ground)이 요구된다.
제4동작 상태(S4)에서 제5동작 상태(S5)로 전환하는 경우(S4→S5), 지면에 닿은 발(112)에 연결된 무릎을 펴는[0060]
제어 동작(knee extends)이 요구된다.
제5동작 상태(S5)에서 제6동작 상태(S6)로 전환하는 경우(S5→S6), 지면에 닿은 발(112)에 연결된 무릎을 완전[0061]
하게 펴는 제어 동작(knee fully extended)이 요구된다.
제6동작 상태(S6)에서 제1동작 상태(S1)로 전환하는 경우(S6→S1), 발(112) 앞쪽(toe)을 지면에서 떼어 내는 제[0062]
어 동작(ball of foot leaves ground)이 요구된다.
따라서, 로봇(100)은 제어 동작(Control Action)의 실행을 위해 각 제어 동작(Control Action)에 대응하여 각[0063]
관절의 토크 지령을 계산하고, 계산된 토크 지령을 각 관절에 설치된 모터 등의 액츄에이터에 출력하여 액츄에
이터를 구동시킨다.
이러한 토크 기반의 FSM 제어 방식은, 미리 정의된 각 동작 상태(S1, S2, S3, S4, S5, S6)에 의존하여 로봇[0064]
(100)이 보행할 때 발목(구체적으로, 발목 관절부)의 각도에 따라 로봇(100)이 균형을 잃을 수 있다.
따라서, 본 발명의 일 실시예에 의한 토크 기반의 서보 제어 방식에서는 지면의 기울어진 정도(각도)를 로봇[0065]
(100) 균형 제어의 기준 각도로 고정하여 발목의 기준 목표 각도를 생성하고, 로봇(100)의 무게 중심(COG)의 위
치 및 속도를 이용하여 발목의 기준 목표 각도를 보상하기 위한 보상 각도를 계산한다. 여기서, “지면”은 법
선 방향이 중력 방향인 면과 일정 각도로 기울어져 있을 수 있는 실제 땅바닥을 의미하며, “지면의 각도”는
법선 방향이 중력 방향인 면에 대한 지면의 기울어진 정도를 나타낸다. 그리고 기준 목표 각도와 보상 각도를
이용하여 로봇(100)이 넘어지지 않도록 균형을 잡기 위한 발목의 최종 목표 각도를 계산한다. 이에 따라, 최종
목표 각도는 지면이 기울어져 있더라도 동일한 균형 제어 성능을 가지게 되므로 로봇(100)이 안정적이고 자연스
러운 보행을 수행할 수 있도록 한다. 이를 도 4를 참조하여 구체적으로 설명한다.
도 4는 본 발명의 일 실시예에 의한 로봇의 보행 제어 블록도로서, 사용자 인터페이스부(310), 센서부(320), 보[0066]
행 제어부(330) 및 발목 관절부(230)를 포함한다.
사용자 인터페이스부(310)는 로봇(100)의 보행을 지시하기 위한 사용자 명령을 입력한다.[0067]
센서부(320)는 로봇(100)의 몸통(102)에 설치되어 상체(101)의 기울기나 자세를 검출하는 포즈 센서(14)와, 로[0068]
봇(100)의 발(112)과 발목 관절부(230)의 사이에 설치되어 발(112)의 지면 접촉 여부를 검출하는 F/T 센서(24)
를 포함한다.
여기서, 상체(101)의 자세를 검출하는 센서로는 포즈 센서(14) 외에도 Tilting Detection, Gyro Sensor 등을[0069]
사용할 수 있으며, 발(112)의 지면 접촉 여부를 검출하는 센서로는 F/T 센서(24) 외에도 접촉 센서 또는 이와
상응하는 센서를 사용할 수 있다.
보행 제어부(330)는 사용자 인터페이스부(310)로부터 입력된 보행 명령과 센서부(320)로부터 검출된 센서 정보[0070]
를 바탕으로 로봇(100)의 보행을 제어하는 PD(Proportional-Derivative) Controller로, 목표 각도 생성부
(331), 목표 각도 보상부(332), 목표 토크 계산부(333) 및 서보 제어부(334)를 포함한다.
목표 각도 생성부(331)는 지면의 기울어진 정도(각도)를 로봇(100) 균형 제어의 기준으로 하여 발목의 기준 목[0071]
표 각도(θd0)를 생성하는 것으로, 이 기준 목표 각도(θd0)는 지면을 기준으로 한 Global 좌표계의 방향
(Orientation)을 따른다.
보다 구체적으로 설명하면, 목표 각도 생성부(331)는 로봇(100)의 발(112)과 발목 관절부(230)의 사이에 설치된[0072]
F/T 센서(24)에서 검출된 센서 정보를 바탕으로 발(112)이 지면에 접촉하였는지를 판단한다. 이 판단 결과로 보
행 시, 다리(110)가 스윙 상태(Swing State)인지 또는 몸통(102)을 지지하고 있는 상태(Stance State)인지를
판단한다.
다리(110)가 스윙 상태(Swing State)로 발(112)이 공중에 떠있을 때는 미리 준비된 궤적을 목표 각도로 사용한[0073]
다.
또한, 다리(110)가 몸통(102)을 지지하고 있는 상태(Stance State)로 발(112)이 지면과 접촉하고 있을 때는 지[0074]
면의 기울어진 정도(각도)를 측정하여 지면의 각도와 일치하게 기준 목표 각도(θd0)를 생성한다. 즉, 지면이 수
등록특허 10-1687630
- 8 -
평이면 기준 목표 각도(θd0)는 0이 된다.
여기서, 지면의 기울어진 정도(각도)를 측정하는 방법은 여러 가지가 될 수 있으며, 일례를 들면 발(112)이 공[0075]
중에서 지면에 닿았는지를 발(112)과 발목 관절부(230) 사이에 설치된 F/T 센서(24)에서 검출하여 발(112)이 지
면에 닿았을 때 발목의 서보 게인을 작게 하여 발목 관절부(230)를 유연하게 한다. 이렇게 하면 발목의 목표 각
도에 상관없이 발바닥은 지면과 완전히 밀착하여 접촉하게 되며 이때의 발목 각도를 지면의 기울어진
정도(각도)로 사용하면 된다. 이후 발목 관절부(230)는 원래의 서보 게인으로 원상 복귀시킨다.
목표 각도 보상부(332)는 목표 각도 생성부(331)에서 생성된 기준 목표 각도(θd0)를 보상하기 위한 보상 각도[0076]
(θd_compensator)를 계산하는 것으로, 로봇(100)의 무게 중심(COG) 위치와 속도를 이용한다.
보다 구체적으로 설명하면, 목표 각도 보상부(332)는 로봇(100)의 발(112)과 발목 관절부(230)의 사이에 설치된[0077]
F/T 센서(24)에서 검출된 센서 정보를 바탕으로 발(112)이 지면에 접촉하였는지를 판단한다. 이 판단 결과로 보
행 시, 다리(110)가 스윙 상태(Swing State)인지 또는 몸통(102)을 지지하고 있는 상태(Stance State)인지를
판단한다.
다리(110)가 스윙 상태(Swing State)로 발(112)이 공중에 떠있을 때는 발목을 이용한 밸런싱을 사용하지 않기[0078]
때문에 보상 값이 없다.
또한, 다리(110)가 몸통(102)을 지지하고 있는 상태(Stance State)에서는 로봇(100)의 포즈 센서(14)와 순기구[0079]
학 계산(Forward Kinematics)에 의하여 로봇(100)의 무게 중심(COG) 위치와 속도를 구한다. 로봇(100)의 무게
중심(COG)의 위치는 도 5에 도시한 바와 같이, 지지하는 발(112R)의 중심으로부터 로봇(100)의 무게 중심(COG)
까지의 거리로 표현되며, 이때의 거리의 방향은 중력(Gravity)의 방향에 고정된 Global 좌표계의 방향
(Orientation)에 따른다.
이러한 목표 각도 보상부(332)는 로봇(100)의 무게 중심(COG)의 위치 및 속도를 이용하여 발목의 기준 목표 각[0080]
도(θd0)를 보상하기 위한 보상 각도(θd_compensator)를 아래의 [수학식 1]과 같이, 계산한다.
[수학식 1][0081]
θd_compensator = Cd*(dActual - dDesired) Cv*(vActual - vDesired)[0082]
[수학식 1]에서, dActual은 지지하는 발(112R)에서부터 무게 중심(COG)까지의 실제 수평 거리, dDesired는 지지하[0083]
는 발(112R)에서부터 무게 중심(COG)까지의 목표 수평 거리, vActual은 무게 중심(COG)의 실제 수평 방향 속도,
vDesired는 무게 중심(COG)의 목표 수평 방향 속도이다.
그리고, Cd, Cv는 로봇(100)이 움직이는 속도에 따라 균형을 잡거나 자세를 제어하기 위한 변수이다.[0084]
예를 들어, Cd가 크면 로봇(100)이 천천히 움직일 때의 균형을 잘 잡게 되며, Cv가 크면 로봇(100)이 빠르게 움[0085]
직일 때의 자세 제어를 잘 할 수 있게 된다.
목표 토크 계산부(333)는 목표 각도 생성부(331)에서 생성된 기준 목표 각도(θd0)와 목표 각도 보상부(332)에서[0086]
계산된 보상 각도(θd_compensator)를 이용하여 로봇(100)이 넘어지지 않도록 균형을 잡기 위한 발목의 최종 목표 각
도(θd)를 계산하고, 계산된 최종 목표 각도(θd)의 궤적을 추종하기 위한 목표 토크를 계산한다.
이러한 목표 토크 계산부(333)는 기준 목표 각도(θd0)와 보상 각도(θd_compensator)를 이용하여 로봇(100)이 넘어[0087]
지지 않도록 균형을 잡기 위한 발목의 최종 목표 각도(θd)를 아래의 [수학식 2]와 같이, 계산한다.
[수학식 2][0088]
θd = θd0 θd_compensator[0089]
[수학식 2]에서, 기준 목표 각도(θd0)와 최종 목표 각도(θd)는 지면을 기준으로 한 Global 좌표계의 방향[0090]
(Orientation)을 따른다.
따라서, Global 좌표계의 방향 기준에서의 최종 목표 각도(θd)는 지면이 기울어져 있더라도 동일한 균형 제어[0091]
등록특허 10-1687630
- 9 -
성능을 가지게 되므로 로봇(100)의 균형 제어 효과가 커지게 된다.
서보 제어부(334)는 목표 토크 계산부(333)에서 계산된 목표 토크를 몸통(102)을 지지하는 다리(110)의 발목 관[0092]
절부(230)에 제공하여 발목 관절부(230)에 설치된 모터 등의 액츄에이터를 구동시키도록 계산된 목표 토크에 대
응하는 토크 제어 신호를 발목 관절부(230)에 출력한다.
따라서, 발목 관절부(230)는 서보 제어부(334)로부터 토크 제어 신호를 입력받아 발목 관절부(230)에 설치된 모[0093]
터 등의 액츄에이터를 구동시킴으로써 지면이 기울어져 있더라도 로봇(100)이 동일한 균형 제어 성능을 유지하
면서 안정적인 보행을 구현할 수 있도록 한다.
도 5는 본 발명의 일 실시예에 의한 로봇의 보행 시, 다리 상태를 나타낸 측면도로서, 롤 방향(X축)과 요우 방[0094]
향(Z축)에 대한 X-Z 평면상(2D 공간상)에서 로봇(100)의 몸통(102)과 좌우 다리(110L, 110R)를 나타낸 것으로
인간이 앞으로 보행 시 양쪽 발(112L, 112R)을 번갈아 가며 걷는 모습을 X-Z 평면에서 간략화한 것과 같다.
이하, 상기와 같이 구성된 보행 로봇 및 그 균형 제어 방법의 동작과정 및 작용효과를 설명한다.[0095]
도 6은 본 발명의 일 실시예에 의한 로봇의 보행 제어 방법을 나타낸 동작 순서도이다.[0096]
도 6에서, 사용자 인터페이스부(310)를 통해 로봇(100)의 보행을 지시하기 위한 사용자 명령을 입력한다(400).[0097]
보행 명령이 입력되면, 로봇(100)의 몸통(102)에 설치된 포즈 센서(14)는 상체(101)의 기울기나 자세를 검출하[0098]
여 보행 제어부(330)의 목표 각도 보상부(332)에 전송한다. 그리고 로봇(100)의 발(112)과 발목 관절부(230)의
사이에 설치된 F/T 센서(24)는 발(112)의 지면 접촉 여부를 검출하여 보행 제어부(330)의 목표 각도 생성부
(331)와 목표 각도 보상부(332)에 전송한다(402).
따라서, 목표 각도 생성부(331)와 목표 각도 보상부(332)에서는 F/T 센서(24)에서 검출된 센서 정보를 바탕으로[0099]
발(112)이 지면에 접촉하였는지를 판단한다. 이 판단 결과로 보행 시, 다리(110)가 스윙 상태(Swing State)인지
또는 다리(110)가 몸통(102)을 지지하고 있는 상태(Stance State)인지를 판단한다(404).
이어서, 목표 각도 생성부(331)는 판단된 다리(110)의 상태에 따라 발(112)이 공중에 떠있을 때는 미리 준비된[0100]
궤적을 목표 각도로 사용을 하며, 발(112)이 지면과 접촉하고 있을 때는 지면의 각도와 일치하게 기준 목표 각
도(θd0)를 생성하여 목표 토크 계산부(333)에 전송한다(406). 이 기준 목표 각도(θd0)는 Global 좌표계의 방향
(Orientation)을 따른다.
그리고, 목표 각도 보상부(332)는 목표 각도 생성부(331)에서 생성된 기준 목표 각도(θd0)를 보상하기 위한 보[0101]
상 각도(θd_compensator)를 아래의 [수학식 1]을 이용하여 계산한다(408).
[수학식 1][0102]
θd_compensator = Cd*(dActual - dDesired) Cv*(vActual - vDesired)[0103]
즉, 판단된 다리(110)의 상태가 스윙 상태(Swing State)이면 발목을 이용한 밸런싱을 사용하지 않기 때문에 보[0104]
상 값이 없으며, 다리(110)의 상태가 몸통(102)을 지지하고 있는 상태(Stance State)이면 로봇(100)의 무게 중
심(COG) 위치와 속도를 구하여 보상 각도(θd_compensator)를 계산하여 목표 토크 계산부(333)에 전송한다.
따라서, 목표 토크 계산부(333)는 목표 각도 생성부(331)에서 생성된 기준 목표 각도(θd0)와 목표 각도 보상부[0105]
(332)에서 계산된 보상 각도(θd_compensator)를 이용하여 로봇(100)이 넘어지지 않도록 균형을 잡기 위한 발목의 최
종 목표 각도(θd)를 아래의 [수학식 2]와 같이, 계산한다(410).
[수학식 2][0106]
θd = θd0 θd_compensator[0107]
[수학식 2]에서, 기준 목표 각도(θd0)와 최종 목표 각도(θd)는 Global 좌표계의 방향(Orientation)을 따른다.[0108]
이어서, 목표 토크 계산부(333)는 계산된 최종 목표 각도(θd)의 궤적을 추종하기 위한 목표 토크를 계산한다[0109]
(412).
이후, 서보 제어부(334)는 목표 토크 계산부(333)에서 계산된 목표 토크를 몸통(102)을 지지하는 다리(110)의[0110]
등록특허 10-1687630
- 10 -
발목 관절부(230)에 제공하여 발목 관절부(230)에 설치된 모터 등의 액츄에이터를 구동시킴으로써(414), 지면이
기울어져 있더라도 로봇(100)이 동일한 균형 제어 성능을 유지하면서 안정적인 보행을 구현할 수 있게 된다.
따라서, 지면의 각도가 수평이 아니어도 로봇(100)의 균형을 잡을 수 있으며, 로봇(100)이 천천히 움직일 때나[0111]
빠르게 움직일 때 모두 균형을 잡을 수 있다.
또한, 지면이 기울어져 있더라도 몸통(102)을 지지하는 다리(110)의 발목을 이용하여 로봇(100)의 균형을 유지[0112]
하기 때문에, 그 방법이 간단하여 6 자유도의 관절을 가진 로봇(100)에 적용할 수 있다.
부호의 설명
100 : 로봇 101 : 상체[0113]
102 : 몸통 110L, 110R : 다리
112L, 112R : 발 230 : 발목 관절부
320 : 센서부 330 : 보행 제어부
331 : 목표 각도 생성부 332 : 목표 각도 보상부
333 : 목표 토크 계산부 334 : 서보 제어부
등록특허 10-1687630
- 11 -
도면
도면1
등록특허 10-1687630
- 12 -
도면2
등록특허 10-1687630
- 13 -
도면3
도면4
등록특허 10-1687630
- 14 -
도면5
등록특허 10-1687630
- 15 -
도면6
등록특허 10-1687630
- 16 -

+ Recent posts