Nothing Special   »   [go: up one dir, main page]

KR101788437B1 - 다족 다관절 주행로봇의 제어방법 - Google Patents

다족 다관절 주행로봇의 제어방법 Download PDF

Info

Publication number
KR101788437B1
KR101788437B1 KR1020160007418A KR20160007418A KR101788437B1 KR 101788437 B1 KR101788437 B1 KR 101788437B1 KR 1020160007418 A KR1020160007418 A KR 1020160007418A KR 20160007418 A KR20160007418 A KR 20160007418A KR 101788437 B1 KR101788437 B1 KR 101788437B1
Authority
KR
South Korea
Prior art keywords
end point
joint
joints
leg unit
control
Prior art date
Application number
KR1020160007418A
Other languages
English (en)
Other versions
KR20170087626A (ko
Inventor
공경철
최정수
나병훈
Original Assignee
서강대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서강대학교산학협력단 filed Critical 서강대학교산학협력단
Priority to KR1020160007418A priority Critical patent/KR101788437B1/ko
Publication of KR20170087626A publication Critical patent/KR20170087626A/ko
Application granted granted Critical
Publication of KR101788437B1 publication Critical patent/KR101788437B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 다관절 다리유닛의 구동을 제어함에 있어서, 복수의 관절 각각의 토크를 연산하기 위한 과정을 간소화함으로써 실시간적 제어가 용이하며, 지형과 같은 외부환경에 관계없이 보다 안정적이고 정확한 제어를 구현할 수 있는 제어방법에 관한 것이다.

Description

다족 다관절 주행로봇의 제어방법{Controlling Method Of Walking Robot Having Multi Legs And Joints}
본 발명은 다족 주행로봇의 주행을 위한 다족 다관절 주행로봇의 제어방법에 관한 것으로, 보다 상세하게는, 다족 다관절 주행로봇의 주행 구동을 제어함에 있어서, 각각의 다리유닛을 구성하는 복수의 관절의 토크 연산과정을 간소화할 수 있으며, 지형과 같은 외부환경에 관계없이 보다 안정적이고 정확한 구동 제어가 가능한 다족 다관절 주행로봇의 제어방법에 관한 것이다.
로봇 기술의 발전으로 인해 현대 산업의 많은 분야에서 로봇이 사용되고 있으며, 이러한 로봇은 단순한 반복 작업, 위험한 환경에서의 작업 등 사람이 직접 수행하기 어려운 작업에 있어서 특히 유익할 수 있다.
주행 기능을 구비하는 주행로봇은 종래 바퀴 굴림 방식으로 이동 기능을 구비한 로봇이 소개되었으나, 노면 상태의 제한을 받으므로 최근 완구용, 군사용 또는 구호용 등의 목적의 로봇에 다관절 골격 구조를 갖는 다족(Multi-Leg) 다관절 주행로봇이 연구 및 소개되고 있다.
다족 다관절 주행로봇의 경우, 회전 바퀴를 갖는 자동차 형태의 로봇과 달리 산악지형등과 같은 험로 등에서 주행이 가능하다는 장점이 있어 군사용 또는 재난구호 등에서 활용이 기대되고 있다.
다족 주행로봇은 복수의 다관절 다리유닛을 포함하며, 각각의 다관절 다리유닛은 지면과 접촉되는 최말단 영역인 하퇴부재의 하단(끝점)이 지면과 접촉되었는지 여부에 따라 하퇴부재의 하단이 지면과 접촉하여 다족 주행로봇의 하중을 지지하는 입각기 또는 지면과 접촉하지 않고 스윙(swing) 하는 유각기에 따라 각각의 관절이 요구되는 관절각도가 되도록 구동될 수 있다.
종래의 이러한 다관절 다리유닛의 구동을 위한 제어방법으로는 다족 주행로봇의 구동을 위한 다관절 다리유닛의 끝점의 위치를 제어하기 위하여, 각각의 관절에 부착된 엔코더(encoder) 또는 포텐시오미터(potentiometer) 등과 같은 각도센서를 통해 각각의 관절의 각도 또는 각속도 등을 감지하여, 원하는 각도 또는 각속도가 되도록 각도 또는 각속도 등을 제어변수로 하여 각각의 관절을 구동하는 모터 등을 되먹임제어(feedback control) 하여 각각의 관절의 토크 등을 제어하는 방법이 사용되었다.
그러나, 상기한 방법은 각도센서로 측정된 각도값의 오차 및 기구적 변형 등의 문제점이 발생될 수 있고, 더 나아가 지면의 형태 등의 외부환경에 따라 주행 상태가 더욱 불안정해질 수 있으므로 다관절 다리유닛의 강인 제어를 어렵게 할 수 있다.
또한, 다관절 다리유닛에 포함되는 관절의 개수가 증가될수록 각각의 관절의 제어를 위한 연산량 또한 증가되므로 복잡한 연산으로 인해 실시간 제어를 어렵게 한다.
따라서, 보다 간소화된 제어변수를 통한 구동 함수 연산과정을 통해 실시간 제어가 용이하며, 외부 환경 또는 외란에 관계없이 안정적이고 제어입력에 대한 추종성이 향상된 다관절 다리유닛의 제어방법이 요구된다.
본 발명은 다족 다관절 주행로봇의 주행 구동을 제어함에 있어서, 각각의 다리유닛을 구성하는 복수의 관절의 토크 연산과정을 간소화할 수 있으며, 지형과 같은 외부환경에 관계없이 보다 안정적이고 정확한 구동 제어가 가능한 다족 다관절 주행로봇의 제어방법을 제공하는 것을 해결하고자 하는 과제로 한다.
상기 과제를 해결하기 위하여, 본 발명은 다족 주행로봇에 포함되는 복수의 다관절 다리유닛 각각의 구동을 위한 다족 다관절 주행로봇의 제어방법에 있어서, 상기 다관절 다리유닛의 지면과 접촉하는 최말단 영역인 끝점의 위치를 도출하는 끝점 위치 도출단계, 상기 끝점 위치 도출단계에서 도출된 상기 끝점의 위치를 통해 제어변수를 추출하고 상기 제어변수를 통해 상기 다관절 다리유닛에 포함되는 복수의 관절의 토크를 결정하기 위한 제어함수를 결정하는 제어함수 결정단계, 및 상기 제어함수 결정단계에서 결정된 상기 제어함수를 통해 복수의 상기 관절 각각의 토크를 제어하여 상기 다관절 다리유닛을 구동시키는 구동 제어단계를 포함하고, 상기 제어함수는 상기 끝점의 X-Y 좌표 성분 또는 X-Y 좌표 성분의 미분값 성분을 제어변수로 하여 복수의 상기 관절 각각의 토크를 제어하기 위해 도출되는 것을 특징으로 하는 다족 다관절 주행로봇의 제어방법을 제공할 수 있다.
이 경우, 상기 끝점 위치 도출단계는 복수의 상기 관절 각각에 장착된 각도 측정센서를 통해 측정된 복수의 상기 관절 각각의 각도 및 미리 측정된 상기 다관절 다리유닛의 길이를 이용하여 상기 끝점의 위치를 도출할 수 있다.
그리고, 상기 제어함수 결정단계는 상기 다관절 다리유닛의 자코비안 행렬을 이용하여 상기 제어함수를 결정하며, 상기 자코비안 행렬은 복수의 상기 관절 각각의 각도를 미분한 각속도 및 상기 끝점의 좌표를 미분한 상기 끝점의 미분값 성분의 관계를 나타내는 하기 식으로부터 도출되될 수 있다.
Figure 112016006870989-pat00001
* X는 끝점의 속도(미분값 성분), J는 다관절 다리유닛의 자코비안 행렬, θ는 복수의 관절의 각속도.
또한, 상기 제어함수 결정단계는,
Figure 112016006870989-pat00002
로 표현되는 상기 다관절 다리유닛의 동력 연산식을 상기 자코비안 행렬을 통해 하기의 제1 식으로 변환하고,
Figure 112016006870989-pat00003
- 제 1식
Figure 112016006870989-pat00004
- 제 2식
상기 제1 식의 상기 자코비안 도출될 수 있다.
* P는 다관절 다리유닛의 구동을 위해 필요?h 동력, τ는 복수의 관절의 토크, τT는 τ의 전치행렬, F는 다관절 다리유닛 끝점의 힘, FT는 F의 전치행렬, JT는 J의 전치행렬.
여기서, 상기 구동 제어단계는 복수의 상기 관절의 토크에 대한 상기 끝점의 힘이 조절되도록 상기 관절 각각의 토크의 크기를 제어할 수 있다.
또한, 상기 구동 제어단계는 상기 끝점의 X 축 방향 및 Y 축 방향에 대한 힘이 독립적으로 조절되도록 상기 관절 각각의 토크의 크기를 제어할 수 있다.
여기서, 상기 구동 제어단계는 상기 다관절 다리유닛 끝점 영역의 X 축 방향에 대한 힘이 Y 축 방향에 대한 힘보다 크도록 복수의 상기 관절 각각의 토크의 크기를 제어할 수 있다.
또한, 상기 과제를 해결하기 위하여, 본 발명은 다족 주행로봇에 포함되는 복수의 다관절 다리유닛 각각의 구동을 위한 제어방법에 있어서, 상기 다관절 다리유닛의 지면과 접촉하는 최말단 영역인 끝점의 위치 성분 또는 끝점의 위치의 미분값 성분으로부터 제어변수를 추출하고, 상기 끝점에서의 X 축 방향에 대한 힘이 Y 축 방향에 대한 힘보다 크도록 복수의 상기 관절 각각의 토크의 크기를 결정하여 다관절 다리유닛을 구동시키는 다족 다관절 주행로봇의 제어방법을 제공할 수 있다.
본 발명의 일실시예에 따르면, 다관절 다리유닛의 구동을 위해 다관절 다리유닛의 끝점의 위치 또는 속도 등을 제어변수로 하여 복수의 관절 각각이 필요로 하는 토크를 도출하므로, 보다 간소화된 과정으로 다관절 다리유닛의 실시간적 제어가 용이할 수 있다.
또한, 본 발명의 일실시예에 따르면, 다관절 다리유닛의 구동을 위해 다관절 다리유닛의 끝점의 위치 또는 속도 등을 제어변수로 하여 제어하므로, 다관절 다리유닛의 끝점의 힘 제어가 용이하므로 지면의 형태와 같은 외부 환경에 관계없이 다족 주행로봇의 정확하고 안정적인 주행을 가능하게 할 수 있다.
도 1은 일 예에 따른 다족 주행로봇을 간략한 구성으로 도시한다.
도 2는 본 발명의 일실시예에 따른 다족 다관절 주행로봇의 제어방법의 순서도이다.
도 3은 본 발명의 일실시예에 따른 다족 다관절 주행로봇의 제어방법을 통해 구동이 제어되는 다관절 다리유닛의 기구학적 구조를 도시한다.
도 4는 본 발명의 일실시예에 따른 다족 다관절 주행로봇의 제어방법을 통해 구동이 제어되는 다관절 다리유닛의 사시도이다.
도 5는 도 4의 분해사시도를 도시한다.
이하, 첨부된 도면들을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명하기로 한다. 그러나, 본 발명은 여기서 설명된 실시 예들에 한정되지 않고 다른 형태로 구체화될 수 있다. 오히려, 여기서 소개되는 실시 예들은 개시된 내용이 철저하고 완전해질 수 있도록, 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다. 명세서 전체에 걸쳐서 동일한 참조 번호들은 동일한 구성요소들을 나타낸다.
도 1은 본 발명에 따른 다족 다관절 주행로봇의 제어방법에 의하여 제어될 수 있는 다족 주행로봇을 간략한 구성으로 도시한다.
상기 다족 주행로봇은 바디부(200)에 연결된 복수의 상기 다관절 다리유닛(100) 각각의 독립적으로 제어될 수 있다.
여기서, 상기 다관절 다리유닛(100)은 지면과 접촉하는 최말단 영역, 즉, 끝점(ep)의 위치에 따라 주행의 사이클이 분류될 수 있다.
즉, 상기 끝점(ep)의 위치가 지면과 접촉되어 지면을 지지하는 구간, 상기 다관절 다리유닛(100)이 지면을 통해 상기 다족 주행로봇을 지지하여 상기 다족 주행로봇의 주행을 위한 추진력을 얻기 위한 구간은 입각기 상태일 수 있으며, 상기 끝점(ep)의 위치가 지면과 접촉하지 않는 경우, 상기 다관절 다리유닛(100)이 스윙(swing) 동작을 통해 주행 방향으로 나아가는 구간은 유각기 상태일 수 있다.
따라서, 각각의 다리유닛을 독립적으로 제어하며 각각의 다리유닛이 입각기 또는 유각기를 반복하며 주행동작을 수행토록 하기 위하여, 각각의 끝점의 위치가 입각기 또는 유각기에 따라 위치가 제어되어야 한다.
따라서, 상기 다족 주행로봇의 주행을 제어하기 위한 방법으로서 상기 다관절 다리유닛(100)의 끝점(ep)의 위치는 각각의 관절의 각도, 각속도 또는 각가속도 등을 통해 제어될 수 있다.
결국, 다리유닛(100)의 끝점(ep)의 위치를 제어하기 위해서는 각각의 다리유닛(100)의 끝점(ep)의 위치를 구현하며, 각각의 끝점의 위치를 되먹임하여 각각의 관절의 각도, 각속도 또는 각가속도 등 제어변수로서 제어하는 방법을 사용할 수 있다.
구체적으로, 상기 다관절 다리유닛(100)의 구동을 위해 상기 끝점(ep)의 위치를 제어하는 방법으로, 상기 끝점(ep)의 목표 위치가 결정되면, 결정된 상기 끝점(ep)의 위치 제어를 위해 상기 다관절 다리유닛(100)에 포함되는 복수의 관절(110, 130) 각각의 목표 각도값을 도출하며, 각도센서를 통해 측정된 복수의 상기 관절(110, 130) 각각의 실제 각도값이 상기 목표 각도값이 되도록 각각의 구동장치 등을 되먹임 제어(feedback control)하여 상기 다관절 다리유닛(100)을 구동시킬 수 있다.
그러나, 상기 다족 주행로봇의 목표 위치, 즉 목표 끝점(ep)의 위치는 실제의 끝점의 측정위치를 직접적인 제어변수로 하지 않고 각도(또는 각속도 또는 각가속도) 등을 매개하므로, 상기 끝점(ep)이 접촉하는 지면상의 장애물이 많은 경우, 지면 상의 변화에 대응하여 진행방향으로는 강인하고 수직방향으로는 완충이 가능한 제어가 쉽지 않다.
또한, 상기한 종래의 방법에 따르면, 상기 다관절 다리유닛(100)은 복수 개의 다리유닛의 복수의 관절(110, 130) 각각의 각도 등을 제어변수로 하여 독립적으로 제어되어야 하므로 이에 따른 연산량 증폭되어 상기 다족 주행로봇의 주행을 위한 제어의 응답성이 저하되거나, 실시간 제어가 불가능할 수 있다.
따라서, 본 발명의 따른 다족 다관절 주행로봇의 제어방법은, 상기한 종래의 기술에 대한 문제점을 해소하기 위해 실시간 제어변수로서 관절의 각도 등이 아닌 다리유닛의 끝점의 위치를 사용하여, 다리유닛의 끝점의 위치를 되먹임하여 연산량을 줄이고 지면의 상태를 반영하여 응답성, 진행방향으로 강인성 및 수직 방향으로는 완충성이 향상된 주행이 가능한 제어방법을 적용하였다. 이하, 도 2를 참조하여 자세하게 설명한다.
도 2는 본 발명의 일실시예에 따른 다족 다관절 주행로봇의 제어방법의 순서도이다.
구체적으로, 본 발명의 일실시예에 따른 다족 다관절 주행로봇의 제어방법은, 상기 다관절 다리유닛(100)의 지면과 접촉하는 최말단 영역인 상기 끝점(ep)의 위치를 도출하는 끝점 위치 도출단계(S100), 상기 끝점 위치 도출단계(S100)에서 도출된 상기 끝점(ep)의 위치를 근거로 제어변수를 추출하고 상기 제어변수를 통해 상기 다관절 다리유닛(100)에 포함되는 복수의 상기 관절(110, 130)의 토크를 결정하기 위한 제어함수를 결정하는 제어함수 결정단계(S200), 및 상기 제어함수 결정단계(S200)에서 결정된 상기 제어함수를 통해 복수의 상기 관절(110, 130) 각각의 토크를 제어하여 상기 다관절 다리유닛(100)을 구동시키는 구동 제어단계(S300)를 포함할 수 있다.
본 발명에 따른 상기 제어방법은 상기 다관절 다리유닛(100)의 상기 끝점(ep)의 위치를 근거로 제어변수를 추출하여, 이로부터 상기 다관절 다리유닛(100)의 구동을 제어하므로, 상기 끝점(ep)과 접촉할 수 있는 지면의 상태에 적합하게 상기 다관절 다리유닛(100)을 진행방향으로 의도된 바에 따라 구동되도록 강인하게 제어할 수 있다.
따라서, 본 발명은 상기 끝점 위치 도출단계(S100)는 복수의 상기 관절(110, 130) 각각에 장착된 각도 측정센서(미도시)를 통해 측정된 복수의 상기 관절(110, 130) 각각의 각도 및 미리 측정된 상기 다관절 다리유닛(100)의 길이를 이용하여 상기 끝점(ep)의 위치와 관련된 제어변수를 추출할 수 있다. 여기서, 다리유닛의 끝점(ep)의 위치는 각도 조건에 의하여 데이터 베이스화된 데이터로부터 끝점의 위치가 도출되도록 미리 저장되는 것이 바람직하다.
도 3은 본 발명의 일실시예에 따른 다족 다관절 주행로봇의 제어방법을 통해 구동이 제어되는 다관절 다리유닛의 기구학적 구조를 도시한다.
도 1 및 도 3에 도시된 바로는 상기 다관절 다리유닛(100)이 고관절(110) 및 무릎관절(130)을 포함하는 2-관절(110, 130) 구조인 것으로 도시되나, 본 발명에 따른 제어방법은 복수개의 상기 관절(110, 130)을 포함하는 상기 다관절 다리유닛(100)이라면 특별히 한정되지 않고 적용될 수 있다.
그러나, 이하에서는 본 명세서의 보다 간결한 기재 및 수월한 이해를 위해 도 1 및 도 3에 도시된 2-관절(110, 130) 구조의 상기 다관절 다리유닛(100)의 구동 제어를 위한 상기 제어방법으로서 본 발명을 설명하기로 한다.
복수의 상기 관절(110, 130) 각각에는 상기 각도 측정센서가 장착될 수 있으며, 상기 각도 측정센서는 관절(110, 130)의 회전을 측정할 수 있는 것이라면 특별히 제한되지 않으나, 예를 들어, 상기 관절(110, 130) 중 임의의 점을 기점으로 하여 그 점으로부터의 회전의 증가 또는 감소분을 도출하는 엔코더(encorder) 또는 회전각도에 따라 상이한 저항값을 나타냄으로써 상기 관절(110, 130)의 회전각을 도출하는 포텐시오미터(potentiometer)일 수 있다.
여기서, 상기 다관절 다리유닛(100)은 상기 바디부(200)에 연결되는 고관절(110), 상기 고관절(110)에 일단이 연결되어 상기 다관절 다리유닛(100)의 상부 골격을 형성하는 대퇴부재(120), 상기 대퇴부재(120)의 타단에 연결되는 무릎관절(130) 및 상기 무릎관절(130)에 일단이 연결되어 상기 다리유닛의 하부 골격을 형성하며 타단에 지면과 접촉할 수 있는 상기 끝점(ep)을 포함하는 하퇴부재(140)로 구성될 수 있다.
따라서, 상기 다관절 다리유닛(100)의 길이는 상기 고관절(110) 및 상기 무릎관절(130)을 따라 형성되는 상기 대퇴부재(120) 및 상기 하퇴부재(140)의 길이(lu, ll)의 합으로서 이해될 수 있다.
이와 같이, 상기 끝점 위치 도출단계(S100)는 상기 각도 측정센서를 통해 측정된 상기 고관절(110) 및 상기 무릎관절(130)의 각도(Θhip, Θknee)와 미리 측정될 수 있는 상기 대퇴부재(120) 및 상기 하퇴부재(140)의 길이(lu, ll)를 통해 상기 끝점(ep)의 위치(xf, yf)를 도출할 수 있다.
상기 끝점 위치 도출단계(S100)는 복수의 상기 관절(110, 130) 각각의 각도(Θhip, Θknee) 및 상기 다관절 다리유닛(100)의 길이를 상기 다관절 다리유닛(100)의 기구학적 연산 또는 그 관계에 대한 데이터 베이스에 의하여 상기 끝점(ep)의 위치(xf, yf)를 도출할 수 있으며, 상기 다관절 다리유닛(100)의 기구학은 상기 다관절 다리유닛(100)의 구조 및 동력구조에 따라 달라질 수 있다.
상기 다관절 다리유닛(100)은 상기 끝점(ep) 위치(xf, yf)에 대한 적절한 구동 형태, 즉, 입각기 또는 유각기에 따른 적절한 구동 형태로서 구동될 수 있다.
즉, 상기 끝점(ep)의 위치(xf, yf)는 다리유닛의 입각기 또는 유각기 여부에 대한 정보를 제공할 수 있으며, 이를 통해, 상기 다관절 다리유닛(100)은 상기 끝점(ep) 위치(xf, yf)에 대해 적절히 구동되어 상기 다족 주행로봇의 주행을 가능하게 할 수 있다.
이어서, 상기 제어함수 결정단계(S200)는 상기 끝점 위치 도출단계(S100)에서 도출된 상기 끝점(ep)의 위치(xf, yf)를 통해 제어변수를 추출하고 상기 제어변수를 통해 상기 다관절 다리유닛(100)에 포함되는 복수의 관절(110, 130)의 토크를 결정하기 위한 제어함수를 도출할 수 있다.
상기 제어변수는 복수의 상기 관절(110, 130) 각각의 토크의 크기를 정하는 조건으로서, 본 발명의 일실시예에 따른 다족 다관절 주행로봇의 제어방법에서 상기 제어변수는 상기 끝점(ep)의 위치(xf, yf), 더욱 구체적으로, 상기 끝점(ep)의 X-Y 좌표성분(xf, yf) 또는 X-Y 좌표성분(xf, yf)의 미분값 성분인 상기 끝점(ep)의 X 축 방향의 속도 및 Y 축 방향의 속도(xf', yf')일 수 있다.
즉, 상기 끝점 위치 도출단계(S100)를 통해 도출된 상기 끝점(ep)에 대한 정보로부터 상기 제어함수가 도출될 수 있다.
이를 위해, 상기 제어함수 결정단계(S200)는 상기 제어함수 결정단계(S200)는 상기 끝점(ep)의 X-Y 좌표성분(xf, yf)를 미분한 상기 끝점(ep)의 X-Y 좌표성분(xf, yf)의 미분값 성분인 속도 성분(xf', yf') 및 복수의 상기 관절(110, 130) 각각의 각도(Θhip, Θknee)를 미분한 각속도(Θhip', Θknee')의 관계를 나타내는 아래의 수학식 1로부터 자코비안 행렬을 도출할 수 있다.
Figure 112016006870989-pat00005
* X는 끝점(ep)의 속도, J는 다관절 다리유닛(100)의 자코비안 행렬, θ는 복수의 관절(110, 130)의 각속도.
상기 자코비안 행렬은 상기 끝점(ep)의 속도 및 복수의 상기 관절(110, 130)의 각속도의 관계를 규명하며, 상기 자코비안을 이용하여 상기 다관절 다리유닛(100)을 구동하기 위한 제어함수가 도출될 수 있다.
구체적으로, 상기 다관절 다리유닛(100)의 구동을 위한 동력은 아래의 수학식 2로 표현되는 동력 연산식을 통해 도출될 수 있는데, 상기 제어함수 결정단계(S200)는 상기 수학식 2에 상기 자코비안 행렬을 대입하여 상기 제어함수를 도출할 수 있다.
Figure 112016006870989-pat00006
* P는 다관절 다리유닛(100)의 구동을 위한 동력, τ는 복수의 관절(110, 130)의 토크, τT는 τ의 전치행렬, F는 다관절 다리유닛(100) 끝점(ep)에 인가되는 힘, FT는 F의 전치행렬.
상기 수학식 2를 통해 이해할 수 있는 바로, 복수의 상기 관절(110, 130)의 토크 및 복수의 상기 관절(110, 130)의 각속도의 곱은 상기 끝점(ep)에 인가되는 힘과 상기 끝점(ep)의 속도의 곱으로 표현될 수 있으며, 상기 끝점(ep)의 속도는 상기 수학식 1을 통해 상기 자코비안 행렬과 복수의 상기 관절(110, 130)의 각속도의 곱으로 치환되어 아래의 수학식 3으로 변환될 수 있다.
Figure 112016006870989-pat00007
여기서, 상기 수학식 3의 양 항에 복수의 상기 관절(110, 130)의 각속도의 역행렬의 곱에 의하여, 수학식 4가 도출될 수 있다.
Figure 112016006870989-pat00008
이어서, 상기 수학식 4의 상기 자코비안 행렬을 전치행렬로 변환하면 아래의 수학식 5로 표현되는 상기 제어함수가 도출될 수 있다.
Figure 112016006870989-pat00009
*JT는 야코비안 행렬의 전치행렬.
상기 수학식 5를 참조하면, 상기 다관절 다리유닛(100)의 구동을 위해 복수의 상기 관절(110, 130) 각각이 필요로 하는 토크는 상기 다관절 다리유닛(100)의 상기 끝점(ep)에 인가되는 힘에 상기 자코비안 행렬의 전치행렬을 곱으로 도출되는 것을 확인할 수 있다.
여기서, 복수의 상기 관절(110, 130) 각각의 토크는 상기 끝점(ep)에 인가되는 힘에 비례하므로, 상기 끝점(ep)에 인가되는 힘은 상기 끝점(ep)의 (가)속도로부터 도출될 수 있으므로, 상기 제어함수는 상기 끝점(ep)의 위치(xf, yf) 또는 상기 끝점(ep)의 (가)속도를 제어변수로 하여 복수의 상기 관절(110, 130) 각각의 필요 토크를 도출하는 것으로 이해될 수 있다.
이어서, 상기 다관절 다리유닛(100)은 상기 끝점(ep)의 위치(xf, yf)에 따른 입각기 또는 유각기 구동을 위해, 상기 제어함수를 이용하여 복수의 상기 관절(110, 130) 각각의 토크를 제어함으로써 상기 다족 주행로봇의 구동을 가능하게 할 수 있다.
따라서, 본 발명의 일실시예에 따른 다족 다관절 주행로봇의 제어방법은 종래의 기술과 같이 상기 다관절 다리유닛(100)을 구동하기 위해 복수의 상기 관절(110, 130) 각각의 각도 성분에 대한 연산을 생략하고, 상기 다관절 다리유닛(100) 각각의 상기 관절(110, 130)의 토크를 도출하기 위하여 상기 끝점(ep)의 위치(xf, yf) 등의 정보를 기초로 제어 가능하므로, 복수의 상기 관절(110, 130) 각각의 토크를 제어하기 위한 연산과정을 최대한 간소화할 수 있으며, 이를 통해, 상기 다관절 다리유닛(100)의 실시간적 제어를 용이하게 할 수 있다.
또한, 상기 제어방법은 상기 다관절 다리유닛(100)의 상기 끝점(ep)의 위치(xf, yf) 정보를 근거로 상기 다관절 다리유닛(100)의 구동을 제어하므로, 상기 다관절 다리유닛(100)의 지며 형태에 따른 신속한 대응으로 상기 다족 주행로봇의 안정적인 주행을 가능하게 할 수 있다.
여기서, 상기 구동 제어단계(S300)는 상기 제어함수를 통해 상기 끝점(ep)에 인가되는 힘(fx, fy)이 조절되도록 복수의 상기 관절(110, 130) 각각의 토크의 크기를 제어할 수 있다.
즉, 따라서, 상기 제어함수는 상기 끝점(ep)의 X-Y 좌표성분에 대한 위치(xf, yf) 또는 (가)속도의 정보로서 도출되므로, 상기 구동 제어단계(S300)는 상기 끝점(ep)의 X 축 방향 및 Y 에 대한 힘(fx, fy)이 독립적으로 조절되도록 복수의 상기 관절(110, 130) 각각의 토크의 크기를 제어할 수 있다.
상기 다관절 다리유닛(100)의 끝점(ep)에 인가되는 힘(fx, fy) 조절은 상기 다관절 다리유닛(100)의 구동에 큰 영향을 미칠 수 있는데, 구체적으로, 상기 다관절 다리유닛(100)은 상기 끝점(ep)을 통해 접촉할 수 있는 지면의 상태나 지면상의 장애물로부터 온전한 구동의 방해를 받을 수 있다.
또한, 상기 다관절 다리유닛(100)의 상기 끝점(ep)은 상기 다족 주행로봇의 주행방향과 평행한 X 축 방향으로의 힘(fx)이 최대가 되도록 구동되어야 하며 이를 위해, 상기 구동 제어단계(S300)는 상기 다관절 다리유닛(100)의 구동을 제어함에 있어서, 상기 끝점(ep)의 X 축 방향에 대한 힘(fx)이 최대가 되도록 복수의 상기 관절(110, 130) 토크 각각을 제어할 수 있다.
여기서, 상기 끝점(ep)에 인가되는 힘(fx, fy)은 복수의 상기 관절(110, 130)의 토크에 의해 특히 주행방향, X축 방향으로 충분한 구동력에 의하여 이동될 수 있도록 제공되는 것이 바람직하다.
여기서, 상기 구동 제어단계(S300)는 상기 끝점(ep)의 Y 축 방향에 대한 힘(fy)이 X 축 방향에 대한 힘(fx)보다 작도록 복수의 상기 관절(110, 130) 각각의 토크를 제어하는 것이 바람직하다.
상기 다관절 다리유닛(100)은 상기 끝점(ep)의 지면과의 접촉을 통해 상기 지면으로부터의 충격이 크게 전달될 수 있으므로, Y 축 방향에 대한 힘(fy)은 충격에 유연하게 대응할 수 있도록 조절되는 것이 바람직하다. 물론, Y 축 방향에 대한 충격을 흡수하기 위한 댐퍼 구조 등이 구비될 수 있으나, 이와 같은 충격 완화 수단은 보조적인 완충장치이므로 전체적인 기본 골격 구조의 굴곡 및 신전으로 구동되는 상기 다관절 다리유닛(100)의 충격을 완화하기 위하여 Y 축 방향에 대한 힘(fy)은 유연하게 제공되는 것이 바람직하다.
따라서, 상기 다관절 다리유닛(100)은 끝점(ep)에 인가되는 힘(fy)이 제어되어 지면으로부터의 충격 전달 최소화 될 수 있으며, 이는, 상기 다관절 다리유닛(100)의 외란에 영향을 최소화하여 상기 다족 주행로봇의 안정적인 주행을 가능하게 할 수 있다.
구체적으로, 구동 제어단계(S300)는 상기 다관절 다리유닛(100)의 끝점(ep) 영역의 Y 축 방향에 대한 힘(fy)이 너무 크지 않은 정도로, 예를 들어, 상기 다관절 다리유닛(100)이 끝점(ep)이 지면과 접촉할 경우, 상기 끝점(ep)이 Y 축 방향으로 적절히 변위될 수 있는 정도로 제어할 수 있으며, 따라서, 상기 다관절 다리유닛(100)은 지면과의 접촉 및 이에 따른 충격 전달에 의해 상기 다족 주행로봇의 Y 축 방향에 대한 댐퍼로서 작용할 수 있다.
상기한 바와 같은 같은 상기 끝점(ep)의 X 축 및 Y 축 방향에 대한 힘(fx, fy)의 독립적인 제어를 통해, 상기 다관절 다리유닛(100)은 댐퍼작용을 통해 지면 또는 지면상의 장애물로부터의 충격의 영향을 최소화 하면서도, 주행 방향으로의 강인하고 안정적인 구동을 가능하게 할 수 있다.
따라서, 본 발명의 일실시예에 따른 다족 다관절 주행로봇의 제어방법은 종래의 상기 다관절 다리유닛(100)의 구동을 위해 복수의 상기 관절(110, 130) 각각의 토크를 제어함에 있어서, 복수의 상기 관절(110, 130) 각각에 따른 필요 토크량을 개별적으로 복잡하게 계산하지 않고, 상기 다관절 다리유닛(100)의 끝점(ep)에 대한 정보로부터 결정된 상기 제어함수를 통해 상기 다관절 다리유닛(100)을 제어할 수 있으므로, 보다 간소화된 연산과정으로 보다 신속한 상기 다관절 다리유닛(100)의 제어가 가능하다.
또한, 종래의 방법처럼 각도 조건에 의하여 연산 또는 데이터 베이스를 통해 끝점(ep)의 위치 정보를 간접적으로 도출하는 방법이 아니라, 직접적으로 도출하여 복수의 상기 관절(110, 130) 각각의 토크를 계산하므로, 상기 다관절 다리유닛(100)의 지면상태에 대한 상기 다족 주행로봇의 주행 정확성이 향상될 수 있다.
또한, 상기 다관절 다리유닛(100)의 상기 끝점(ep)에 대한 힘(fx, fy)을 X, Y 방향에 대해 독립적으로 제어 가능하므로, 이를 통해, 복수의 상기 관절(110, 130)의 토크에 따라 주행방향으로의 강인한 구동을 제공하며, 주행 중 지면 상태등의 외부 영향에 따라 유연한 주행능력을 제공하여 상기 다족 주행로봇의 보다 안정적인 주행을 가능하게 할 수 있다.
이하에서는 본 발명의 일실시예에 따른 다족 다관절 주행로봇의 제어방법을 통해 상기 다관절 다리유닛(100)의 구동이 제어되는 실시예를 살펴본다.
도 4는 본 발명의 일실시예에 따른 다족 다관절 주행로봇의 제어방법을 통해 구동이 제어되는 다관절 다리유닛의 사시도이고, 도 5는 도 4의 분해사시도를 도시한다.
상기 다관절 다리유닛(100)은 따라서, 고관절(110), 대퇴부재(120), 무릎관절(130) 및 하퇴부재(140)로 구성됨을 한정하였으나, 상기 다관절 다리유닛(100)의 구조를 상기 다관절 다리유닛(100)에 포함되는 복수의 상기 관절(110, 130)에 구동을 위한 토크를 제공하는 구성과 함께 다시 검토한다.
도 4 및 도 5를 참조하면 상기 다관절 다리유닛(100)은 구동장치(200)에 의하여 구동되는 고관절(110), 상기 고관절(110)에 일단이 연결되어 상기 고관절(110)의 구동에 따라 회전 구동되는 대퇴부재(120), 상기 대퇴부재(120)의 타단과 연결되고 상기 구동장치(200)에 의해 구동되는 무릎관절(130) 및 상기 무릎관절(130)에 일단이 연결되어 상기 무릎관절(130)의 구동에 따라 구동되는 하퇴부재(140)를 포함할 수 있다.
상기 무릎관절(130)은 상기 대퇴부재(120)의 타단과 상기 하퇴부재(140)의 일단의 대퇴 힌지핀(136)을 통한 힌지 결합으로서 형성될 수 있다.
여기서, 상기 고관절(110) 및 상기 무릎관절(130)은 동일한 상기 구동장치(200)를 통해 회전 구동될 수 있다.
구체적으로, 상기 고관절(110)은 상기 구동장치(200)의 디스크 출력단(220)에 직접적으로 연결되어 상기 디스크 출력단(220)의 회전에 따라 구동될 수 있으며, 상기 무릎관절(130)은 상기 구동장치(200)의 상기 디스크 출력단(220)의 회전축을 관통하여 상기 디스크 출력단(220)과 독립적으로 회전되는 샤프트 출력단(210)과 연결되어 상기 샤프트 출력단(210)의 회전에 따라 구동될 수 있다.
즉, 상기 구동장치(200)는 동일한 회전축을 공유하여 각각 독립적으로 회전되는 2 개의 출력단, 즉, 상기 디스크 출력단(220) 및 상기 샤프트 출력단(210)을 포함하며, 상기 고관절(110)은 상기 디스크 출력단(220)과 연결되어 구동되고, 상기 무릎관절(130)은 상기 샤프트 출력단(210)과 연결되어 구동될 수 있다.
상기 샤프트 출력단(210)은 상기 디스크 출력단(220)과 독립적으로 회전 가능하나, 상기 디스크 출력단(220)과 동일한 회전축을 공유하므로, 상기 구동장치(200)의 구동력이 상기 무릎관절(130)로 전달되기 위해서는, 상기 고관절(110)과 달리 별도의 연결매개가 필요하다.
다시 말해, 상기 고관절(110)은 상기 디스크 출력단(220)에 직접적으로 연결되어 구동되나, 상기 무릎관절(130)은 상기 구동장치(200)와의 이격 거리로 인해 상기 샤프트 출력단(210)으로부터 구동력을 전달하는 별도의 매개를 통해 구동력을 전달받을 수 있다.
따라서, 상기 샤프트 출력단(210)은 일단이 상기 샤프트 출력단(210)과 연결되어 상기 샤프트 출력단(210)에 대해 회전 구동되는 회전 구동부재(r)와 연결될 수 있으며, 이를 통해 상기 샤프트 출력단(210)의 회전 운동이 회전 구동으로 변환될 수 있다.
일단이 상기 샤프트 출력단(210)과 연결되어 상기 샤프트 출력단(210)의 회전에 따라 회전 구동하는 상기 회전 구동부재(r)의 타단에는 상기 하퇴부재(140)에 상기 구동장치(200)의 구동력을 전달하는 상기 구동장치 링크부재(l)의 일단과 연결될 수 있다.
상기 구동장치 링크부재(l)는 일단이 상기 회전 구동부재(r)의 타단에 힌지 결합되며, 타단이 상기 하퇴부재(140)에 형성된 결합홈(141)에 삽입된 상태로 상기 하퇴부재(140)를 관통하는 힌지핀에 의하여 상기 하퇴부재(140)와 힌지 결합될 수 있다.
따라서, 상기 구동장치 링크부재(l)는 상기 회전 구동부재(r)의 회전 구동에 따라 일단이 상방향 또는 하방향으로 견인 구동되어 상기 무릎관절(130)에 대해 상기 하퇴부재(140)를 구동시킬 수 있다.
상기 구동장치 링크부재(l)는 상기 구동장치(200)의 상기 샤프트 출력단(210)과 상기 하퇴부재(140)를 연결하여 상기 하퇴부재(140)의 상기 무릎관절(130)에 대한 구동을 가능하게 하나, 이는, 즉 상기 무릎관절(130)의 구동으로 이어지므로, 상기 샤프트 출력단(210)의 회전은 상기 무릎관절(130)의 구동을 가능하게 하는 구성으로 이해될 수 있다.
따라서, 상기 다관절 다리유닛(100)은 고관절(110), 대퇴부재(120), 무릎관절(130) 및 하퇴부재(140)의 구성으로 골격이 형성되고, 동일한 상기 구동장치(200)를 통해 구동되는 상기 고관절(110) 및 상기 무릎관절(130)을 통해 구동될 수 있으며, 이하에서, 상술한 구조의 상기 다관절 다리유닛(100)의 구동을 제어하는 방법에 대해 살펴봄으로써 본 발명에 따른 제어방법을 이해할 수 있다.
우선, 상기 끝점 위치 도출단계(S100)는 상기 끝점(ep)의 위치(xf, yf)를 도출할 수 있다.
구체적으로, 상기 끝점 위치 도출단계(S100)는 상기 다관절 다리유닛(100)의 상기 고관절(110) 및 상기 무릎관절(130)의 각도(Θhip, Θknee) 및 상기 대퇴부재(120) 및 상기 하퇴부재(140)의 길이(lu, ll)를 통해 상기 끝점(ep)의 위치(xf, yf)를 도출할 수 있으며, 상기 고관절(110) 및 상기 무릎관절(130)의 각도(Θhip, Θknee)는 각각의 상기 각도 측정센서(미도시)를 통해 측정 가능하고, 상기 대퇴부재(120) 및 상기 하퇴부재(140)의 길이(lu, ll)는 미리 측정이 가능하다.
이어서, 상기 끝점 위치 도출단계(S100)는 각각의 상기 각도 측정센서로 측정된 상기 고관절(110) 및 상기 무릎관절(130)의 각도(Θhip, Θknee)와 미리 측정된 상기 대퇴부재(120) 및 상기 하퇴부재(140)의 길이(lu, ll)를 상기 다관절 다리유닛(100)의 기구학에 대입하여 상기 끝점(ep)의 위치(xf, yf)를 도출할 수 있다.
따라서, 상기 끝점(ep)의 위치(xf, yf)는 X-Y 좌표성분상의 위치로서 도출 가능하므로, 도 3 및 도 4를 참조한 상기 다관절 다리유닛(100)의 기구학 또한 X 축 방향의 좌표 및 Y 축 방향의 좌표를 도출하기 위한 아래의 수학식 6 및 수학식 7로서 표현될 수 있다.
Figure 112016006870989-pat00010
Figure 112016006870989-pat00011
* xf는 끝점(ep)의 X 축 방향의 좌표, yf는 끝점(ep)의 Y 축 방향의 좌표, lu는 대퇴부재(120)의 길이, ll은 하퇴부재(140)의 길이, Θhip은 고관절의 각도, Θknee는 무릎관절(130)의 각도.
이어서, 상기 제어함수 결정단계(S200)는 상기 끝점 위치 도출단계(S100)에서 도출된 상기 끝점(ep)의 위치(xf, yf)를 통해 제어변수를 추출하고, 상기 제어변수를 통해 상기 다관절 다리유닛(100)에 포함되는 복수의 관절(110, 130)의 토크를 결정하기 위한 제어함수를 도출할 수 있다.
이를 위해, 상기 제어함수 결정단계(S200)는 상기 끝점 위치 도출단계(S100)를 통해 도출된 상기 끝점(ep)의 X-Y 좌표성분을 미분한 상기 끝점(ep)의 속도 및 복수의 상기 관절(110, 130) 각각의 각도를 미분한 각속도의 관계를 아래의 수학식 8로 표현되는 행렬식으로 나타낼 수 있으며, 상기 수학식 8을 통해 상기 다관절 다리유닛(100)에 포함되는 각각의 관절(110, 130)에 대한 상기 끝점(ep)의 X,Y 축 방향의 위치(xf, yf)에 대한 관계가 도출될 수 있다.
Figure 112016006870989-pat00012
* xf는 끝점(ep)의 X 축 방향에 대한 속도, yf는 끝점(ep)의 Y 축 방향에 대한 속도, Θhip은 고관절(110)의 각속도, Θknee는 무릎관절(130)의 각속도.
상기 수학식 8을 통해 상기 고관절(110) 및 무릎관절(130)의 각속도에 대한 상기 끝점(ep)의 속도와의 관계가 규명 가능하며, 상기 수학식 8로부터 상기 고관절(110) 및 상기 무릎관절(130)의 각속도에 대한 상기 끝점(ep)의 속도를 도출할 수 있는 상기 자코비안 행렬을 도출할 수 있다.
상기 자코비안 행렬(J)은 상기 수학식 8을 구성하며 아래의 수학식 9로 표현될 수 있다.
Figure 112016006870989-pat00013
상기 수학식 8 및 상기 수학식 9를 참고하면, 상기 자코비안 행렬은 상기 다관절 다리유닛(100)의 고관절(110) 및 무릎관절(130)의 각속도를 상기 끝점(ep)의 속도로서 변환하는 구성으로서 이해될 수 있으나, 상기 다관절 다리유닛(100)에 포함되는 복수의 관절(110, 130)에 대한 상기 끝점(ep)에 대한 관계를 규명하기 위한 구성으로 이해되는 것이 더욱 타당하다.
이어서, 상기 제어함수 결정단계(S200)는 상기 자코비안 행렬을 통해 상기 다관절 다리유닛(100)을 구동하기 위한 제어함수를 도출할 수 있으므로, 상기 제어함수 결정단계(S200)는 상기 다관절 다리유닛(100)의 동력 연산식을 표현하는 상기 수학식 2에 상기 자코비안 행렬을 대입하고, 상기 자코비안 행렬을 전치행렬로 변환함으로써 상기 수학식 5와 같이 표현되는 상기 제어함수를 도출할 수 있다.
상기 제어함수는 상기 다관절 다리유닛(100)에 포함되는 복수의 상기 관절(110, 130) 각각의 토크 제어를 위해 제시되는 것으로서, 상기 다관절 다리유닛(100)이 본 실시예에서와 같이 상기 고관절(110) 및 상기 무릎관절(130)을 포함하는 경우, 아래의 수학식 10과 같이 일반화될 수 있다.
Figure 112016006870989-pat00014
* τ1는 일반적인 2관절(110, 130) 구조의 다리유닛에서의 고관절(110)의 토크, τ2는 일반적인 2관절(110, 130) 구조의 다리유닛에서의 무릎관절(130)의 토크.
상기 수학식 10은 2관절(110, 130) 구조의 다리유닛에서 상기 다관절 다리유닛(100)의 끝점(ep)에 인가되는 힘과 상기 고관절(110) 및 상기 무릎관절(130)의 토크간의 일반적인 관계를 나타낼 수 있다.
그러나, 상기 수학식 10과 같이 일반화되는 상기 제어함수는 상기 고관절(110) 및 상기 무릎관절(130)이 상호 구동에 대한 영향을 미치지 않고 완벽하게 독립적으로 구동되는 경우에만 한정되며, 본 실시예에서와 같이 상기 고관절(110) 및 상기 무릎관절(130)이 동일한 구동장치(200)를 통해 구동되며 상기 무릎관절(130)이 상기 고관절(110)의 구동에 따라 영향을 받을 수 있는 구조라면 상기 제어함수는 상기한 바와는 다르게 재구성되어야 한다.
구체적으로, 도 4에 도시된 바와 같은 본 실시예에 따른 다관절 다리유닛(100)에서 상기 고관절(110)은 상기 디스크 출력단(220)과 직접적으로 연결되어 구동되며, 상기 무릎관절(130)은 상기 구동장치(200)와 상기 무릎관절(130)을 연결하는 상기 구동장치 링크부재(l)의 구동에 따라 구동되나, 상기 무릎관절(130)은 상기 대퇴부재(120)를 매개로 상기 고관절(110)과의 연결관계(복합 구동관계)를 형성하므로, 상기 무릎관절(130)은 상기 구동장치 링크부재(l) 및 상기 고관절(110)과의 복합적인 구동관계를 통해 상기 고관절(110)의 구동만으로도 위치가 변경되거나 구동될 수 있다.
따라서, 상기 수학식 10에서 상기 고관절(110) 및 상기 무릎관절(130)의 토크는 아래의 수학식 11로서 표현되어 상기 고관절(110) 및 상기 무릎관절(130)간의 상호 구동영향이 반영될 수 있다.
Figure 112016006870989-pat00015
* τhip은 본 실시예에서의 고관절(110)의 토크, τknee는 본 실시예에서의 무릎관절(130)의 토크.
상기 수학식 11을 참조하면, 상기 구동장치(200)의 디스크 출력단(220)을 통해 제공되는 상기 고관절(110)의 토크는 상기 무릎관절(130)의 토크에도 관여하는 것을 알 수 있으며, 이를 통해, 상기 고관절(110) 및 상기 무릎관절(130)간의 토크 관계가 도 4에 도시된 바와 같은 본 실시예에 따른 상기 다관절 다리유닛(100)의 상기 고관절(110) 및 상기 무릎관절(130)간의 관계에 부합되도록 표현된 것을 확인할 수 있다.
이어서, 상기 수학식 11은 아래의 수학식 12와 같이 변환되어 일반적인 2관절(110, 130) 구조에서의 고관절(110) 및 무릎관절(130)의 토크를 본 실시예에서의 고관절(110) 및 무릎관절(130)의 토크로 변환 가능한 식을 도출할 수 있다.
Figure 112016006870989-pat00016
상기 수학식 12를 통해, 상기 고관절(110) 및 상기 무릎관절(130) 각각의 토크가 상호 영향이 배재된 일반적인 2관절(110, 130) 구조의 다리유닛에 대한 것에서, 본 실시예와 같이 상기 고관절(110) 및 상기 무릎관절(130)의 토크가 상호 영향을 받는 구조에 대한 것으로 재정비될 수 있다.
이어서, 상기 수학식 12를 통해 재정비된 본 실시예에 따른 상기 다관절 다리유닛(100)의 상기 고관절(110) 및 상기 무릎관절(130)의 도출식은 상기 수학식 10을 통해 일반화되어 제시되는 상기 제어함수에 대입되어 아래의 수학식 13으로 표현되는 상기 제어함수로 변환될 수 있다.
Figure 112016006870989-pat00017
상기 수학식 13과 같이 표현되는 상기 제어함수를 통해 상기 구동 제어단계(S300)는 상기 다관절 다리유닛(100)의 상기 끝점(ep)의 위치(xf, yf)에 따라 입각기 또는 유각기 구동을 위해 복수의 상기 관절(110, 130) 각각의 토크를 제어하여 상기 다관절 다리유닛(100)의 구동을 가능하게 할 수 있다.
또한, 상기 제어함수는 상기 끝점(ep)의 X, Y 방향에 대한 힘에 대한 상기 고관절(110) 및 상기 무릎관절(130) 각각의 토크를 도출할 수 있으므로, 상기 구동 제어단계(S300)는 상기 제어함수를 통해 상기 끝점(ep)에 인가되는 힘(fx, fy)을 X 방향 및 Y 방향에 대해 제어하여 상기 다관절 다리유닛(100)의 보다 강인한 보행방향으로의 구동 및 보행중의 안정성이 향상될 수 있으며, 이에 대한 자세한 사항은 상술한 바 있으므로 생략한다.
본 발명에 따른 제어방법에 따르면 상기 다관절 다리유닛(100)의 끝점(ep)에 대해 복수의 상기 관절(110, 130) 각각의 토크를 제어할 수 있는 상기 제어함수를 통해 상기 다관절 다리유닛(100)의 구동을 가능하게 하므로, 종래의 상기 다관절 다리유닛(100)의 구동을 위해 시행되었던 복수의 상기 관절(110, 130) 각각의 복잡한 연산과정이 생략될 수 있으며, 상기 끝점(ep)의 X, Y 축 방향에 대한 힘(fx, fy)을 독립적으로 제어 가능하므로, 상기 다관절 다리유닛(100)의 더욱 강인하고 안정적인 주행을 가능하게 할 수 있다.
본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100 : 다관절 다리유닛 110 : 고관절
120 : 대퇴부재 130 : 무릎관절
140 : 하퇴부재 ep : 끝점

Claims (8)

  1. 다족 주행로봇에 포함되는 복수의 다관절 다리유닛 각각의 구동을 위한 다족 다관절 주행로봇의 제어방법에 있어서,
    상기 다관절 다리유닛의 지면과 접촉하는 최말단 영역인 끝점의 위치를 도출하는 끝점 위치 도출단계;
    상기 끝점 위치 도출단계에서 도출된 상기 끝점의 위치를 통해 제어변수를 추출하고 추출된 제어변수를 통해 상기 다관절 다리유닛에 포함되는 복수의 관절의 토크를 결정하기 위한 제어함수를 결정하는 제어함수 결정단계; 및
    상기 제어함수 결정단계에서 결정된 상기 제어함수를 통해 복수의 상기 관절 각각의 토크를 제어하여 상기 다관절 다리유닛을 구동시키는 구동 제어단계;를 포함하고,
    상기 제어변수는 상기 끝점의 X-Y 좌표 성분 또는 X-Y 좌표 성분의 미분값 성분으로 하고, 상기 제어함수는 상기 제어변수를 이용하여 결정되고,
    상기 구동 제어단계는 상기 다관절 다리유닛 끝점 영역의 X 축 방향에 대한 힘이 Y 축 방향에 대한 힘보다 크도록 복수의 상기 관절 각각의 토크의 크기를 제어하는 것을 특징으로 하는 다족 다관절 주행로봇의 제어방법.
  2. 제1항에 있어서,
    상기 끝점 위치 도출단계는 복수의 상기 관절 각각에 장착된 각도 측정센서를 통해 측정된 복수의 상기 관절 각각의 각도 및 미리 측정된 상기 다관절 다리유닛의 길이를 이용하여 상기 끝점의 위치를 도출하는 것을 특징으로 하는 다족 다관절 주행로봇의 제어방법.
  3. 제1항에 있어서,
    상기 제어함수 결정단계는 상기 다관절 다리유닛의 자코비안 행렬을 이용하여 상기 제어함수를 결정하며, 상기 자코비안 행렬은 복수의 상기 관절 각각의 각도를 미분한 각속도 및 상기 끝점의 좌표를 미분한 상기 끝점의 미분값 성분의 관계를 나타내는 하기 식으로부터 도출되는 것을 특징으로 하는 다족 다관절 주행로봇의 제어방법.
    Figure 112016006870989-pat00018

    * X는 끝점의 속도(미분값 성분), J는 다관절 다리유닛의 자코비안 행렬, θ는 복수의 관절의 각속도.
  4. 제3항에 있어서,
    상기 제어함수 결정단계는,
    Figure 112016006870989-pat00019
    로 표현되는 상기 다관절 다리유닛의 동력 연산식을 상기 자코비안 행렬을 통해 하기의 제1 식으로 변환하고,
    Figure 112016006870989-pat00020
    - 제 1식
    Figure 112016006870989-pat00021
    - 제 2식
    상기 제1 식의 상기 자코비안 행렬의 전치행렬 변환을 통해 상기 제2 식으로 표현되는 상기 제어함수를 결정하는 것을 특징으로 하는 다족 다관절 주행로봇의 제어방법.
    * P는 다관절 다리유닛의 구동을 위해 필요?h 동력, τ는 복수의 관절의 토크, τT는 τ의 전치행렬, F는 다관절 다리유닛 끝점의 힘, FT는 F의 전치행렬, JT는 J의 전치행렬.
  5. 제4항에 있어서,
    상기 구동 제어단계는 복수의 상기 관절의 토크에 대한 상기 끝점의 힘이 조절되도록 상기 관절 각각의 토크의 크기를 제어하는 것을 특징으로 하는 다족 다관절 주행로봇의 제어방법
  6. 제5항에 있어서,
    상기 구동 제어단계는 상기 끝점의 X 축 방향 및 Y 축 방향에 대한 힘이 독립적으로 조절되도록 상기 관절 각각의 토크의 크기를 제어하는 것을 특징으로 하는 다족 다관절 주행로봇의 제어방법.
  7. 삭제
  8. 다족 주행로봇에 포함되는 복수의 다관절 다리유닛 각각의 구동을 위한 제어방법에 있어서,
    상기 다관절 다리유닛의 지면과 접촉하는 최말단 영역인 끝점의 위치 성분 또는 끝점의 위치의 미분값 성분으로부터 제어변수를 추출하고, 상기 끝점에서의 X 축 방향에 대한 힘이 Y 축 방향에 대한 힘보다 크도록 복수의 상기 관절 각각의 토크의 크기를 결정하여 다관절 다리유닛을 구동시키는 다족 다관절 주행로봇의 제어방법.
KR1020160007418A 2016-01-21 2016-01-21 다족 다관절 주행로봇의 제어방법 KR101788437B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160007418A KR101788437B1 (ko) 2016-01-21 2016-01-21 다족 다관절 주행로봇의 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160007418A KR101788437B1 (ko) 2016-01-21 2016-01-21 다족 다관절 주행로봇의 제어방법

Publications (2)

Publication Number Publication Date
KR20170087626A KR20170087626A (ko) 2017-07-31
KR101788437B1 true KR101788437B1 (ko) 2017-10-19

Family

ID=59419186

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160007418A KR101788437B1 (ko) 2016-01-21 2016-01-21 다족 다관절 주행로봇의 제어방법

Country Status (1)

Country Link
KR (1) KR101788437B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102622838B1 (ko) * 2019-08-06 2024-01-08 보스턴 다이나믹스, 인크. 발자국 접촉 검출

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101048716B1 (ko) * 2008-12-26 2011-07-14 재단법인 포항지능로봇연구소 2족 로봇 및 2족 로봇의 보행 제어방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101048716B1 (ko) * 2008-12-26 2011-07-14 재단법인 포항지능로봇연구소 2족 로봇 및 2족 로봇의 보행 제어방법

Also Published As

Publication number Publication date
KR20170087626A (ko) 2017-07-31

Similar Documents

Publication Publication Date Title
US20240091930A1 (en) Offline optimization to robot behavior
US8868240B2 (en) Walking robot and pose control method thereof
Wang et al. Adaptive inverse dynamics control of robots with uncertain kinematics and dynamics
US20210229766A1 (en) Three-Piston Ankle Mechanism of a Legged Robot and Associated Control System
Hutter et al. Force control for active chassis balancing
US20090321150A1 (en) Walking robot and method of controlling the same
US8874263B2 (en) Walking robot and control method thereof
Lee et al. Development, analysis, and control of series elastic actuator-driven robot leg
CN115008473A (zh) 机器人控制
US20100185330A1 (en) Robot walking control apparatus and method thereof
JPH0332582A (ja) 脚式移動ロボットの駆動制御装置
US9486919B1 (en) Dual-axis robotic joint
US8781628B2 (en) Walking robot and control method thereof
EP3117967A1 (en) Transparency control method for robotic devices and a control device therefor
CN112775937A (zh) 欠驱动液压单腿助力外骨骼的自适应鲁棒控制方法及装置
Xinjilefu et al. Dynamic state estimation using quadratic programming
CN111301552A (zh) 一种机器人腿部动力系统及其控制方法
CN113246120A (zh) 一种液压四足双臂机器人的遥操作控制方法
KR101073496B1 (ko) 이족 로봇의 안정된 보행을 위한 칼만 필터의 지엠피 상태예측을 통한 균형제어 기법
KR101788437B1 (ko) 다족 다관절 주행로봇의 제어방법
Perrusquía et al. Task space human-robot interaction using angular velocity Jacobian
KR102350193B1 (ko) 확장 작업 공간을 활용한 휴머노이드 제어방법
Papini et al. Transparent force control for Body Extender
Xu et al. Dynamic control of a flexible macro–micro manipulator based on rigid dynamics with flexible state sensing
Mu et al. Dynamic modeling and sliding mode control of a five-link biped during the double support phase

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right