KR102015307B1 - 로봇 및 그 제어 방법 - Google Patents

로봇 및 그 제어 방법 Download PDF

Info

Publication number
KR102015307B1
KR102015307B1 KR1020100136866A KR20100136866A KR102015307B1 KR 102015307 B1 KR102015307 B1 KR 102015307B1 KR 1020100136866 A KR1020100136866 A KR 1020100136866A KR 20100136866 A KR20100136866 A KR 20100136866A KR 102015307 B1 KR102015307 B1 KR 102015307B1
Authority
KR
South Korea
Prior art keywords
path
gripping
target
motion
arm
Prior art date
Application number
KR1020100136866A
Other languages
English (en)
Other versions
KR20120074887A (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 KR1020100136866A priority Critical patent/KR102015307B1/ko
Priority to US13/327,857 priority patent/US8768512B2/en
Publication of KR20120074887A publication Critical patent/KR20120074887A/ko
Application granted granted Critical
Publication of KR102015307B1 publication Critical patent/KR102015307B1/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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip 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/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39113Select grasp pattern based on motion oriented coordinability
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40244Walking manipulator with integrated stewart, parallel arm
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40264Human like, type robot arm
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40395Compose movement with primitive movement segments from database

Abstract

본 발명의 로봇의 제어 방법은, 목표물의 정보에 대응하는 복수의 파지 모션을 생성하여 저장하고, 복수의 파지 모션 중 목표물의 파지 목적에 대응하는 파지 모션을 선택하고, 선택된 파지 모션에 대응하는 팔의 경로를 생성하고, 팔의 경로를 추종하는 토크를 산출하고, 팔에 상기 토크를 출력하여 팔의 이동 및 파지를 수행한다.
본 발명은 사용자가 원하는 목적에 대응하여 목표물의 파지 모션 경로를 생성하고 생성된 파지 모션 경로를 수행하기 위한 팔의 경로를 산출함으로써 물체 파지 시 전체 계산시간을 줄일 수 있어 계산 효율성을 높일 수 있고, 팔의 경로 생성을 최소화할 수 있으며 팔 경로 산출 과정을 파지 제어 과정 중 후반에 수행함으로써 파지 성능을 향상시킬 수 있다.

Description

로봇 및 그 제어 방법{Robot and method for controlling the same}
본 발명은 자연스럽고 안정적으로 물체를 파지하기 위한 로봇 및 그 제어방법에 관한 것이다.
로봇은 사람과 유사한 관절 체계를 가지고, 이 관절 체계를 이용하여 사람의 손발과 같은 동작을 하는 기계이다.
초기에는 공장의 생산 작업의 자동화, 무인화를 위한 산업용 로봇의 개발이 진행되었고, 최근에는 사람에게 각종 서비스를 제공하기 위한 서비스용 로봇의 개발이 활발히 진행되고 있다.
이러한 로봇은 일상 생활에서 인간과 원활하게 교류하고 협업하기 위하여 물체를 파지할 수 있도록 하는 로봇 핸드를 가진다.
이 로봇 핸드는 인간의 손과 유사하게 복수의 손가락으로 형성되거나 또는 그리퍼(Gripper)의 형태로 형성되며, 이 손가락은 적어도 하나의 자유도를 가지고 이 손가락 끝의 강성(stiffness)을 조절함으로써 정밀하고 유연하게 안정적인 작업을 수행한다.
로봇은 핸드를 이용하여 물체 파지 시, 물체에 대한 상대적인 손의 위치를 구하고, 손의 위치에 기초하여 물체로 손이 이동할 수 있도록 팔의 경로를 계획하는 것을 반복하였다.
이런 경우 팔의 경로를 계획하는 것이 물체에 대한 손의 상대적인 위치를 구하는 것보다 계산량이 많고 시간도 오래 걸렸다.
또한 물체 주변에 장애물이 존재하면 파지할 수 없어 작업실패로 귀결되는 문제가 있고, 물체 파지 시마다 사용자가 일일이 물체의 어느 부분을 파지해야하는지 설정해야 하는 번거로운 문제가 있다.
미리 정해진 파지 모션에 기초하여 목표물을 파지하는 로봇 및 그 제어 방법을 제공한다.
사용자가 원하는 목적에 대응하여 목표물을 파지하는 로봇 및 그 제어 방법을 제공한다.
파지를 수행해야 하는 손으로 목표물을 파지하기 어려운 경우 다른 손의 도움을 받아 파지를 수행하는 로봇 및 그 제어 방법을 제공한다.
파지 모션의 연속적인 경로를 생성하고, 생성된 파지 모션 경로 중 어느 하나를 선택하여 팔의 경로를 생성하는 로봇 및 그 제어 방법을 제공한다.
파지 모션 경로 생성 시 각 경로상의 비용(cost)을 산출하고 비용이 최소가 되는 파지 모션 경로를 선택하는 로봇 및 그 제어 방법을 제공한다.
일 측면에 따른 로봇은 목표물별 복수의 파지 모션을 저장하는 데이터베이스부; 목표물의 정보를 입력받는 입력부; 목표물의 정보 중 파지 목적에 기초하여 복수의 파지 모션 중 목표 파지 모션을 결정하고, 목표 파지 모션에 기초하여 파지 모션 경로를 결정하는 파지 모션 경로 생성부; 파지 모션 경로에 대응하는 팔의 경로를 생성하는 팔 경로 생성부; 팔의 경로를 추종하는 토크를 산출하고 팔에 토크를 출력하여 팔의 이동을 제어하고 파지를 제어하는 제어부를 포함한다.
팔 경로 생성부는, 파지 모션 경로에 대응하는 팔의 경로 생성 시, 팔의 경로 생성에 실패하면 실패한 파지 모션 경로를 저장하고, 실패한 파지 모션 경로의 정보를 파지 모션 경로 생성부에 전송한다.
팔 경로 생성부는, 실패한 파지 모션 경로의 정보 저장 시, 실패한 파지 모션 경로를 이루는 복수의 파지 모션에서 성공한 파지 모션을 포함한 이전 파지 모션은 성공 경로로 저장하고, 실패 파지 모션 이후는 실패 경로로 저장한다.
파지 모션 경로 생성부는, 제1손이 취할 수 있는 적어도 하나의 최초 파지 모션으로 제1노드를 생성하고, 제1노드에 목표 파지 모션이 존재하는지 판단하고, 제1노드에 목표 모션이 존재하면 트리 구조의 확장을 종료하고, 제1노드에 목표 모션이 비존재하면 제1노드의 하위 노드를 확장하여 트리 구조를 생성한다.
파지 모션 경로 생성부는, 제 2손에 목표 파지를 수행해야 하는 경우, 제1손이 취할 수 있는 적어도 하나의 최초 파지 모션으로 제1노드를 생성하고, 적어도 하나의 최초 파지 모션에서 제2손이 취할 수 있는 적어도 하나의 파지 모션으로 제2노드를 생성하고, 제2노드에 목표 모션의 존재여부를 판단하고, 제2노드에 목표 모션이 존재하면 트리 구조의 확장을 종료하고, 제2노드에 목표 모션이 비존재하면 제2노드의 하위 트리 구조를 확장하여 트리 구조를 생성한다.
파지 모션 경로 생성부는, 제2손이 취할 노드의 목표 모션에서 제1손이 취할 최초 파지 모션으로 노드를 연결하여 파지 모션 경로를 생성한다.
팔 경로 생성부는, 파지 모션 경로를 이루는 파지 모션의 순서에 대응하여 팔의 경로를 생성한다.
팔 경로 생성부는, 파지 모션 경로가 복수이면, 파지 모션 경로별 팔의 경로를 생성하고, 팔의 경로별 코스트를 산출하고, 코스트가 최소인 팔의 경로를 결정한다.
로봇은 목표물과, 목표물의 주변 이미지를 획득하는 검출부; 목표물의 위치 및 목표물 주변의 장애물을 인식하고, 장애물의 위치를 인식하는 목표물 인식부를 더 포함하고, 파지 모션 경로 생성부는, 목표물의 위치 및 장애물의 위치에 기초하여 최초 파지 모션을 결정한다.
검출부는, 목표물의 영상을 획득하는 영상 획득부, 목표물의 이미지를 검출하는 거리 센서 또는 RF 센서이다.
다른 측면에 따른 로봇의 제어 방법은, 목표물의 정보가 입력되면 목표물을 검출하여 목표물의 현재 위치를 인식하고, 목표물의 현재 위치에 기초하여 미리 저장된 복수의 파지 모션 중 제1손의 최초 파지 모션을 결정하고, 목표물의 파지 목적에 기초하여 미리 저장된 복수의 파지 모션 중 제2손의 목표 파지 모션을 결정하고, 최초 파지 모션에 기초하여 트리 구조를 생성하고, 트리 구조에 기초하여 최초 파지 모션부터 목표 파지 모션을 연결하는 파지 모션 경로를 생성하고, 파지 모션 경로에 대응하는 팔의 경로를 생성하고, 팔의 경로를 추종하는 토크를 산출하고, 팔에 토크를 출력하여 팔의 이동을 제어하고, 제1손에서 제2손으로 파지를 제어한다.
최초 파지 모션을 결정하는 것은, 목표물의 주변 정보로부터 목표물에 인접한 장애물의 존재 여부를 판단하고, 장애물의 위치를 인식하고, 장애물의 위치를 반영하여 최초 파지 모션을 결정하는 것을 더 포함한다.
목표물의 주변 정보는, 목표물의 주변 영상을 검출하고, 검출된 영상에 기초하여 획득된 것이다.
목표물의 주변 정보는, 거리센서 또는 RF 센서에서 출력된 후 목표물에서 반사된 신호에 기초하여 획득된 것이다.
파지 모션 경로에 대응하는 팔의 경로를 생성하는 것은, 팔의 경로 생성에 실패하면 실패한 파지 모션 경로를 저장하고, 실패한 파지 모션 경로의 정보를 차기 파지 모션 경로 생성 시에 반영한다.
실패한 파지 모션 경로의 정보를 차기 파지 모션 경로 생성 시에 반영하는 것은, 실패한 파지 모션 경로를 이루는 복수의 파지 모션에서 성공한 파지 모션을 포함한 이전 파지 모션은 성공 경로로 저장하고, 실패 파지 모션 이후는 실패 경로로 저장하는 것을 포함한다.
파지 모션 경로를 생성하는 것은, 제1손이 취할 수 있는 적어도 하나의 최초 파지 모션으로 제1노드를 생성하고, 적어도 하나의 최초 파지 모션에서 제2손이 취할 수 있는 적어도 하나의 파지 모션으로 제2노드를 생성하고, 제2노드에 목표 모션의 존재여부를 판단하고, 제2노드에 목표 모션이 존재하면 트리 구조의 확장을 종료하고, 제2노드에 목표 모션이 비존재하면 제2노드의 적어도 하나의 파지 모션의 하위 노드를 확장하여 트리 구조를 생성하는 것을 포함한다.
팔의 경로를 생성하는 것은, 파지 모션 경로가 복수이면 파지 모션 경로별 팔의 경로를 생성하고, 팔의 경로별 코스트를 산출하고, 코스트가 최소인 팔의 경로를 결정한다.
이때 코스트가 최소인 팔의 경로를 저장하는 것을 더 포함한다.
다른 측면에 따른 로봇의 제어 방법은, 사용자로부터 물체의 정보가 입력되면 물체의 정보를 검출하고, 물체의 정보에 기초하여 복수의 파지 모션을 생성하여 저장하는 것을 더 포함한다.
또 다른 측면에 따른 로봇의 제어 방법은 목표물의 정보에 대응하는 복수의 파지 모션을 생성하여 저장하고, 복수의 파지 모션 중 목표물의 파지 목적에 대응하는 파지 모션을 선택하고, 선택된 파지 모션에 대응하는 팔의 경로를 생성하고, 팔의 경로를 추종하는 토크를 산출하고, 팔에 토크를 출력하여 팔의 이동 및 파지를 수행한다.
또 다른 측면에 따른 로봇의 제어 방법은 복수 개의 파지 모션이 결정되면 파지 모션별 팔의 경로를 생성하고, 팔의 경로의 코스트를 각각 산출하고, 코스트가 최소인 팔의 경로에 대응하는 파지 모션을 선택하는 것을 더 포함한다.
여기서 코스트는, 팔의 이동 거리, 이동 시간, 에너지 소비량 중 적어도 하나에 기초한다.
일 측면에 따르면 사용자가 원하는 목적에 대응하여 목표물의 파지 모션 경로를 생성하고 생성된 파지 모션 경로를 수행하기 위한 팔의 경로를 생성함으로써 물체 파지 시 손 및 팔의 경로 산출 시간을 줄일 수 있어 계산 효율성을 높일 수 있고, 팔의 경로 생성을 최소화할 수 있으며 팔 경로 산출 과정을 파지 제어 과정 중 후반에 수행함으로써 파지 성능을 향상시킬 수 있다.
파지해야 할 손으로 목표물의 파지가 어려운 경우 다른 손의 도움을 받음으로써 파지의 정확도를 높일 수 있고, 파지가 용이하다.
또한 오프 라인(off-line)으로 파지 모션 경로 및 팔의 경로를 생성한 후 이를 이용하여 온 라인에서 파지를 수행함으로써 안정적인 파지를 수행할 수 있다.
도 1은 실시예에 따른 로봇의 예시도이다.
도 2는 실시예에 따른 로봇의 손의 개략적인 예시도이다.
도 3는 실시예에 의한 로봇의 파지 제어 구성도이다.
도 4는 실시예에 따른 목표물인 망치의 파지 모션 예시도이다.
도 5는 실시예에 따른 로봇의 파지 제어 순서도이다.
도 6은 실시예에 따른 로봇의 파지 예시도이다.
도 7은 실시예에 따른 파지 모션 경로 및 팔 경로 생성의 상세 순서도이다.
도 8 내지 도 10 은 실시예에 따른 목표물인 망치의 트리 구조 예시도이다.
이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.
실시예에서 파지를 수행하는 로봇은 인간과 같은 형태의 로봇을 예를 들어 설명한다. 아울러 파지를 수행하는 로봇으로, 핸드가 두세 개의 그리퍼로 이루어진 로봇도 가능하다.
도 1은 실시예에 따른 로봇의 예시도이고, 도 2는 실시예에 따른 로봇의 손의 개략적인 예시도이다.
도 1에 도시한 바와 같이, 파지를 수행하기 위한 로봇(100)은 머리(110), 목(120), 몸통(130), 팔(140R, 140L), 손(150R, 150L)으로 이루어진 상체와, 복수의 다리(160R, 160L) 및 발(170R, 170L)로 이루어진 하체를 가진다.
좀 더 구체적으로 설명하면, 로봇(100)의 상체는 머리(110)와, 머리(110)의 하부에 목(120)을 통해 연결된 몸통(130)과, 몸통(130)의 상부 양측에 연결된 두 개의 팔(140R, 140L)과, 이 두 개의 팔(140R, 140L)의 말단에 각각 연결된 손(150R, 150L)으로 이루어진다.
머리(110)에는 주위의 영상을 획득하는 카메라(111)와, 사용자 음성을 검출하는 마이크로폰(112)이 마련되어 있다.
두 개의 팔(140L, 140R)은 상박골부, 하박골부, 팔꿈치 관절부, 손목 관절부를 각각 가진다.
여기서 각 상박골부(미도시)는 어깨 관절부(미도시)를 통해 몸통(130)과 연결되고, 또한 팔꿈치 관절부(미도시)를 통해 하박골부(미도시)와 연결되며, 각 하박골부(미도시)는 손목 관절부(미도시)를 통해 손(150R, 150L)과 연결된다.
팔꿈치 관절부(미도시)는 피치 방향의 회전 관절과, 요우 방향의 회전 관절을 포함하여 2 자유도를 가지고, 손목 관절부(미도시)는 피치 방향의 회전 관절과 롤 방향의 회전 관절을 포함하여 2 자유도를 가진다.
손(150R, 150L)에는 손바닥(151)과, 5개의 손가락(152, 153)이 마련되어 있고, 각 손가락(152, 153)에는 링크부재(152a, 152b, 152c, 153a, 153b, 153c)와 모터(미도시)에 의해 구동되는 복수의 관절(152d, 152e, 152f, 153d, 153e, 153f)이 마련되어 있다.
이러한 손(150R, 150L)은 팔(140R, 140L)의 움직임에 연동하여 물건을 파지(把指)하거나 특정 방향을 가리키는 것과 같은 다양한 동작을 실행한다.
이러한 로봇(100)의 각 관절에는 모터(미도시) 등과 같은 액추에이터가 마련되어 있다. 이에 따라, 각 관절은 모터의 회전에 의해 적절히 회전 운동을 수행함으로써 다양한 동작을 구현한다.
로봇(100)의 하체는 상체의 몸통(130) 하부 양측에 연결된 두 개의 다리(160R, 160L)와, 두 개의 다리(160R, 160L) 말단에 각각 연결된 발(170R, 170L)로 이루어진다.
여기서 머리(110), 두 개의 팔(140L, 140R), 두 개의 손(150L, 150R), 두 개의 다리(160L, 160R), 두 개의 발(170L, 170R)은 각각 관절을 통해 일정 수준의 자유도를 갖는다.
이러한 로봇(100)의 상체 및 하체는 커버에 의해 보호된다.
참조 부호에서 "R"과 "L"는 각각 로봇(100)의 우측(Right)과 좌측(Left)을 나타낸다.
도 2를 참조하여 로봇의 손(150L, 150R)에 대해 좀 더 구체적으로 설명한다.
로봇의 왼 손(150L)과 오른 손(150R)은 서로 동일한 구조로 이루어지고, 이 중 로봇의 왼 손(150L)을 예를 들어 설명한다.
도 2에 도시된 바와 같이, 로봇의 왼 손(150L)은 손바닥(151)과 이 손바닥(151)에 연결된 복수의 손가락(152, 153)을 가지고, 손바닥(151)은 적어도 1자유도 이상으로 팔(140L)에 연결된다.
복수의 손가락(152, 153)은 손바닥(151)의 일단의 가장자리에서 동일한 방향으로 연장 설치되어 손바닥(151) 방향으로 구부러지는 복수의 제1손가락(152)과, 복수의 제1손가락(152)과 다른 방향으로 연장 설치되어 손바닥(151) 방향으로 구부러지는 하나 이상의 제2손가락(153)으로 이루어진다.
복수의 제1손가락(152)은 인간의 검지, 중지, 약지, 소지에 각각 해당하고, 하나 이상의 제2손가락(153)은 인간의 엄지에 해당한다.
복수의 제1손가락(152)은 복수의 링크부재(152a, 152b, 152c)와, 모터(미도시)에 의해 구동되는 복수의 관절(152d, 152e, 152f)을 각각 가지고, 제2손가락(153)은 복수의 링크부재(153a, 153b, 153c)와, 모터(미도시)에 의해 구동되는 복수의 관절(153d, 153e, 153f)을 가진다.
복수의 제1손가락(152)에 마련된 복수의 링크부재(152a, 152b, 152c)는 손바닥(151)에 인접한 순으로 제1링크부재(152a), 제2링크부재(152b), 제3링크부재(152c)라 하고, 제1손가락(152)에 마련된 복수의 관절(152d, 152e, 152f)은 손바닥(151)에 인접한 순으로 제1관절(152d), 제2관절(152e), 제3관절(152f)이라 한다.
여기서 제1손가락(152)의 제1관절(152d)은 손바닥(151)과 제1링크부재(152a)를 연결하고, 제2관절(152e)은 제1링크부재(152a)와 제2링크부재(152b)를 연결하며, 제3관절(152f)은 제2링크부재(152b)와 제3링크부재(152c)를 연결한다.
복수의 제2손가락(153)에 마련된 복수의 링크부재(153a, 153b, 153c)는 손바닥(151)에 인접한 순으로 제1링크부재(153a), 제2링크부재(153b), 제3링크부재(153c)라 하며 제1손가락(153)에 마련된 복수의 관절(153d, 153e, 153f)은 손바닥(151)에 인접한 순으로 제1관절(153d), 제2관절(153e), 제3관절(153f)이라 한다.
여기서 제2손가락(153)의 제1관절(153d)은 손바닥(151)과 제1링크부재(153a)를 연결하고, 제2관절(153e)은 제1링크부재(153a)와 제2링크부재(153b)를 연결하며, 제3관절(153f)은 제2링크부재(153b)와 제3링크부재(153c)를 연결한다.
제1손가락(152)의 제3링크부재(152c) 끝 부분(fingertip)인 인간의 손톱에 해당하는 지점에는 각각의 관절각을 측정하는 인코더(미도시)가 설치되고, 또한 제2손가락(153)의 제3링크부재(153c) 끝 부분(fingertip)인 인간의 손톱에 해당하는 지점에는 각각의 관절각(θ)을 측정하는 인코더(미도시)가 설치된다.
도 3은 실시예에 따른 로봇의 파지 제어 구성도로서, 입력부(205), 검출부(210), 목표물 인식부(215), 파지 모션 경로 생성부(220), 데이터베이스부(225), 팔 경로 생성부(230), 저장부(235), 제어부(240), 구동부(245)를 포함한다.
입력부(205)는 사용자로부터 파지 대상물인 목표물의 정보를 입력받는다. 여기서 목표물의 정보는 목표물의 명칭, 목표물을 파지할 손, 목표물의 파지 목적, 목표물이 위치할 목표 지점 등이다.
파지 목적은 작업, 이동, 꽂기 등이고, 목표 지점은 파지 목적이 작업인 경우 목표물을 이용하여 작업을 수행하는 지점, 이동인 경우 목표물을 이동시키는 이동 지점, 꽂기인 경우 목표물을 꽂을 지점 등이다.
그리고 목표물을 파지할 손은, 파지 목적에 기초하여 목표 지점과 인접하게 위치한 손으로 자동 결정되는 것도 가능하다.
또한 입력부(205)는 외부에서 전송된 목표물의 정보를 수신하는 통신부의 기능을 갖는 것도 가능하다.
검출부(210)는 카메라(111) 또는 캠코더 등과 같은 장치를 이용하여 목표물 주변의 영상을 검출한다.
이러한 카메라(111) 또는 캠코더는 빛을 이용하여 피사체의 영상을 획득하는 것으로, 빛이 집광되는 집광부(미도시), 집광된 빛을 감지하고 감지된 빛의 신호를 전기신호로 변환하는 촬상부(미도시), 변환된 전기신호를 디지털 신호로 변환하는 A/D 변환부(미도시)를 포함한다.
여기서, 촬상부는 노출, 감마, 이득조정, 화이트 밸런스, 컬러 매트릭스 등의 기능을 수행하는데, 이러한 촬상부는 CCD(Charge Coupled Device), CMOS(Complementary Metal Oxide Semiconductor) 등의 이미지 센서에 의해 구현 가능하다.
검출부(210)는 레이저 스캐너 등과 같은 거리 센서를 이용하여 목표물을 검출하는 것도 가능하다. 즉, 물체에서 반사된 신호를 이용하여 목표물의 형체를 검출하는 것이다.
아울러 검출부(210)는 RF(Radio Frequency) 센서를 이용하여 미리 저장해 놓은 목표물의 정보를 RF로 판독함으로써 RF 태그의 위치 및 자세를 검출하는 것이다.
목표물 인식부(215)는 획득된 영상을 필터링하여 노이즈를 제거하고 전처리를 수행 후 목표물의 정보에 기초하여 영상에서 목표물을 인식하고, 목표물의 위치를 확인하고, 목표물 주변의 장애물의 존재 여부를 판단하고 판단된 장애물의 위치를 확인한다.
아울러 목표물 인식부(215)는 거리 센서 또는 RF 센서를 통해 검출된 센싱 정보에 기초하여 목표물의 위치를 확인하고, 목표물 주변의 장애물의 존재 여부를 판단하고 판단된 장애물의 위치를 확인하는 것도 가능하다.
이때 목표물 인식부(215)는 장애물의 위치가 목표물과 인접한지 또한 목표물 파지 시 장애물과의 충돌이 예상되는지 판단한다.
파지 모션 경로 생성부(220)는 목표물의 위치 및 장애물의 위치에 기초하여 최초 파지 모션인 제1 파지 모션을 결정하고, 목표물의 파지 목적에 기초하여 목표 모션을 결정하며, 제1 파지 모션에서 목표 모션을 수행하기 위한 파지 모션 경로를 생성한다.
여기서 제1 파지 모션에서 목표 모션을 수행하기 위한 복수의 파지 모션 경로를 트리 구조로 생성한다.
트리 구조는, 목표물을 파지해야 하는 제2손이 목표물과의 거리가 먼 경우, 또는 사용자에 의해 파지할 손이 제2손으로 선택된 경우, 제1손으로 목표물을 파지한 후 제1손에 파지된 목표물을 제2손으로 전달하여 제2손으로 목표물을 재파지하기 위한, 제1손과 제2손 사이의 파지 모션 경로를 트리 형상으로 나타낸 것이다.
좀 더 구체적으로 파지 모션 경로 생성부(220)는 입력부(205)에 입력된 적어도 하나의 목표물의 정보가 전송되고, 목표물 인식부(215)를 통해 목표물의 인식 정보가 전송되면, 목표물의 인식 정보에 기초하여 목표물이 놓여진 상태와 목표물 주변의 장애물을 인식한다.
그리고 파지 모션 경로 생성부(220)는 목표물의 상태와 장애물에 기초하여 최초 파지 모션인 제 1 파지 모션을 결정하고, 파지 목적에 대응하는 목표 모션을 결정하되 데이터베이스부(225)에 저장된 복수의 파지 모션 중 적어도 하나를 선택하여 제1파지 모션 및 목표 모션을 결정한다.
파지 모션 경로 생성부(220)는 적어도 하나의 제 1 파지 모션으로 제1노드를 생성하고, 제1노드를 이루는 적어도 하나의 제1파지 모션에서 목표 모션을 추종하기 위한 트리 구조를 생성하고 생성된 트리 구조를 팔 경로 생성부(230)에 전송한다.
제1손에서 목표물을 최초 파지한 후 제2손에서 목표 모션을 수행하는 경우, 파지 모션 경로 생성부(220)는 제1노드를 이루는 제1손의 제1파지 모션 각각의 제2노드를 생성하고, 이때 제2노드를 이루는 제2손의 제2파지 모션 중 목표 모션이 존재하면 목표 모션인 파지 모션은 확장을 종료하고, 목표 모션이 아닌 제2손의 제2파지 모션을 각각 확장하여 제3노드를 생성하고, 제3노드를 이루는 제1손의 제3 파지 모션 각각의 제4노드를 생성하고 이때 제4노드를 이루는 제2손의 제4파지 모션 중 목표 모션이 존재하면 목표 모션인 파지 모션은 확장을 종료하고, 목표 모션이 아닌 제2손의 제4파지모션을 각각 확장하여 제4노드를 생성한다.
이와 같이 파지 모션 경로 생성부(220)는 각 파지 모션별로 하위 노드를 확장해가면서 트리 구조를 생성하되, 제2손의 파지 모션으로 목표 모션이 탐색될 때까지 트리 구조를 생성한다.
아울러, 파지 모션 경로 생성부(220)는 목표물을 파지해야 하는 손이 제1손인 상태에서 목표물이 제1손과 가까운 위치에 있고, 또한 제1손으로 목표 모션이 가능하면, 바로 제1손으로 목표 모션을 수행하도록 제1손의 목표 모션만을 파지 모션 경로로 생성하는 것도 가능하다.
파지 모션 경로 생성부(220)는 제1 파지 모션에서 목표 모션을 수행하기 위한 복수의 파지 모션 경로를 생성하고, 생성된 복수의 파지 모션 경로 중 코스트가 최소인 파지 모션 경로를 결정하는 것도 가능하다.
여기서 코스트가 최소인 파지 모션 경로는, 두 손이 목표물을 주고 받는 재파지(regrasping) 횟수가 적고, 두 손의 위치 정보에 기초하여 두 손이 목표물을 주고 받을 때 두 손의 모션이 자연스러운 자세가 나올 수 있는 경로이다.
파지 모션 경로 생성부(220)는 입력부(205)를 통해 새로운 물체의 정보가 입력되고 해당 물체의 이미지가 전송되면, 입력된 물체의 정보와 전송된 물체의 이미지 정보를 데이터베이스부(225)에 저장하고, 저장된 물체를 목표물로 등록하고, 등록된 물체의 파지 위치와 파지 방향에 대응하는 목표물의 파지모션을 생성하고 생성된 파지 모션을 데이터베이스부(225)에 전송한다.
여기서 물체의 이미지를 획득하는 것은, 검출부(210)를 통해 검출된 물체의 영상, 거리 센서 또는 RF 센서를 이용한 물체의 이미지 정보 중 적어도 하나이다.
이를 도 4를 참조하여 설명한다.
도 4는 목표물이 망치인 경우, 망치의 파지 모션 예시도이다.
도 4에 도시된 바와 같이 손잡이와 타격부재로 이루어진 망치의 경우, 망치의 파지 가능한 위치는 손잡이와 타격 부재 중 어느 하나이고, 이때 파지 위치와 방향에 따라 파지 모션을 생성하며, 생성된 파지 모션별로 코드를 부여한다.
좀 더 구체적으로 설명하면, 망치(T1) 손잡이의 상부, 중간, 하부를 잡는 복수의 파지 모션을 생성하되, 파지 시 타격부재와의 상대적인 방향에 따라 서로 다른 복수의 파지 모션(A1, A2, A3, C1, C2, C3, D1, D2, D3)을 생성한다.
망치(T1) 타격부재의 좌측, 중간, 우측을 잡는 복수의 파지 모션(B1, B2, B3)을 생성하고, 타격부재의 양 측면에 각각 맞닿게 잡는 복수의 파지 모션(E1, E2)을 생성한다.
파지 모션 경로 생성부(220)는 파지 목적에 대응하는 목표 모션을 저장한다.
목표 모션 생성 시 파지 목적에 대응하여 파지 모션의 적합도를 평가하고, 적어도 하나의 파지 모션을 목표 모션으로 저장하고, 이 중 하나를 선택하거나 또는 적합도에 따라 우선순위를 할당하여 우선 순위가 높은 순으로 목표 모션을 저장하는 것도 가능하다.
예를 들어 망치의 경우, 작업 시 작업의 용이성을 위해 파지의 위치가 손잡이의 중간 또는 하부인 파지 모션을 선택한 후, 선택된 파지 모션 중 타격면이 팔의 반대 방향에 위치하는 파지 모션을 목표 모션(C2, C3)으로 저장한다.
데이터베이스부(225)는 복수 목표물의 이미지 정보를 저장하고, 각 목표물의 복수의 파지 모션 정보를 저장한다. 여기서 각 목표물의 파지 모션 정보는, 로봇의 손이 취할 수 있는 목표물의 파지 위치 및 파지 방향에 대응하여 복수개가 생성된 것이다.
데이터베이스부(225)는 복수 목표물의 파지 목적에 대응한 목표 모션을 저장한다.
여기서 목표 모션을 저장하는 것은 파지 목적에 대응하여 파지 모션의 적합도를 평가한 후 적합도가 가장 큰 파지 모션을 목표 모션으로 저장한 것이거나, 또는 적합도에 따라 우선순위를 할당하여 우선 순위가 높은 순으로 목표 모션을 저장한 것이다.
팔 경로 생성부(230)는 파지 모션 경로에 대응하여 순서대로 파지 모션을 수행하기 위한 팔의 경로를 생성한다.
이때 팔 경로 생성부(230)는 몸통의 기울기, 어깨관절부, 팔꿈치관절부, 손목관절부 및 로봇의 손을 구성하는 복수 관절의 각도를 고려하여 팔의 경로를 생성한다.
팔 경로 생성부(230)는 파지 모션 경로의 순서대로 팔의 경로를 생성할 수 없는 경우 실패한 파지 모션 경로를 저장부(235)에 저장하고 이 정보를 파지 모션 경로 생성부(220)에 전송하여 다른 파지 모션 경로를 결정하게 한다.
팔 경로 생성부(230)는 파지 모션 경로 생성부(220)에 실패한 파지 모션 경로 전송 시, 파지 모션 경로 중 파지 가능한 파지 모션까지의 정보를 전송한다.
팔 경로 생성부(230)는 파지 모션의 순서에 따라 순차적으로 RRT(Rapidly-exploring Random Tree)와 같은 모션 계획(motion planning)으로 팔 경로를 생성하는 것도 가능하다.
여기서 RRT 알고리즘의 경우 랜덤(random)하게 계산되어 임의의 자세들이 나오게 되는데 이때 부자연스러운 자세도 나올 수 있어, 미리 오프라인(off-line)에서 팔 경로를 생성한다.
이때 팔 경로 생성부(230)는 오프 라인(off-line)에서 복수의 파지 모션 중 두 개의 파지 모션을 선택해서 그것을 동시에 취할 때 팔의 관절각도의 자연스러운 정도를 값으로 환산하여 저장하고, 이 값을 이용하여 팔의 경로를 생성한다. 이 값이 작을수록 팔의 관절각도가 자연스럽다.
또한 팔 경로 생성부(230)는 휴리스틱(heuristic)을 이용하여 팔의 경로를 생성한다. 즉, 팔 경로 생성부(230)는 상위 노드와 하위 노드의 조합에 기초하여 제1손에서 제2손에서 목표물을 전달할 때 필요한 시간, 이동거리, 에너지 소비량 중 적어도 하나에 기초하여 코스트를 산출하고, 산출된 코스트가 작은 순으로 선택한다.
팔 경로 생성부(230)는 팔 경로를 생성할 수 없는 경우, 동일 노드에서 다른 파지 모션을 선택하는데, 이때 동일 노드의 다른 파지 모션을 선택하는 방법으로 BFS(breadth first search), DFS(depth first search), A* search algorithm 등 다양한 graph search algorithm을 이용 가능하다.
저장부(235)는 제1 파지 모션에서 목표 모션을 수행하기 위한 파지 모션 경로 중, 팔의 경로를 생성할 수 없는 파지 모션 경로를 저장한다.
제어부(240)는 팔 경로 생성부(230)로부터 전송된 팔 경로 정보에 기초하여 팔 경로를 추종하기 위한 토크를 산출하고, 산출된 토크에 기초하여 구동부(245)의 PWM을 제어함으로써 팔에 마련된 각 관절이 움직이도록 한다. 여기서 토크는 목표 각도를 추종하기 위한 모터(미도시)의 회전력이다.
좀 더 구체적으로, 제어부(240)는 팔의 경로 정보에 기초하여 어깨 관절부의 피치 방향의 회전 관절과 롤 방향의 회전 관절의 토크를 산출하고, 또한 팔꿈치 관절부의 피치 방향의 회전 관절과 요우 방향의 회전 관절의 토크를 산출하며, 손목 관절부의 피치 방향의 회전 관절과 롤 방향의 회전 관절의 토크를 산출한다.
제어부(240)는 파지 모션 경로 정보에 기초하여 각 손(150R, 150L)의 복수의 관절(152d, 152e, 152f, 153d, 153e, 153f)의 토크를 산출한다.
구동부(245)는 제어부(240)의 지시에 따라 각 관절의 토크를 추종하기 위한 PWM 신호를 팔에 마련된 각 관절에 출력한다.
좀 더 구체적으로, 구동부(245)는 팔 경로 정보에 기초하여 어깨 관절부의 피치 방향의 회전 관절과 롤 방향의 회전 관절을 구동시키고, 또한 팔꿈치 관절부의 피치 방향의 회전 관절과 요우 방향의 회전 관절을 구동시키며, 손목 관절부의 피치 방향의 회전 관절과 롤 방향의 회전 관절을 구동시킨다.
도 5는 실시예에 따른 로봇의 파지 제어 순서도로, 도 6 내지 도 10을 참조하여 설명한다.
우선 로봇은 사용자로부터 파지 대상물인 목표물의 정보, 즉 목표물의 명칭, 목표물을 파지할 손, 목표물의 파지 목적, 목표물이 위치할 목표 지점 등의 정보가 입력되면(301), 데이터베이스부(225)에 저장된 해당 목표물의 영상을 검색한다.
로봇은 주변의 영상을 획득하고(302), 획득된 영상 중에서 검색된 목표물의 영상과 대응하는 목표물을 인식하고, 이 목표물의 위치를 인식한다.
여기서 목표물을 인식하는 것은, 검출부(210)의 거리 센서 또는 RF 센서를 이용하여 검출된 물체의 이미지로부터 목표물을 인식하는 것도 가능하다.
또한 로봇은 목표물 주변의 장애물의 존재 여부를 판단하고 판단된 장애물의 위치를 인식한다(303). 이때 로봇은 장애물의 위치가 목표물과 인접한지 또한 목표물 파지 시 장애물과의 충돌이 예상되는지 판단한다.
다음 로봇은 목표물과 제1손의 거리, 목표물과 제2손의 거리를 각각 산출하고, 목표 지점과 인접한 손이 어느 손인지 판단한다.
여기서 로봇의 손에는 좌표계가 마련되어 있고, 이 좌표계의 좌표에 기초하여 목표물 및 목표 지점과의 거리가 예측 가능하다. 이때 사용자로부터 목표물을 파지할 손이 제2손으로 입력된 경우 또는 목표 지점과 제2손이 인접한 경우를 예를 들어 설명한다.
로봇은 목표 지점과 제2손이 인접한 상태에서, 제2손과 목표물의 거리가 기준 거리 이상이면 목표물과 인접한 제1손을 이용하여 파지한 후 제2손을 이용하여 재파지한다. 여기서 기준 거리는 제2손이 움직일 수 있는 거리이다. 이를 도 6을 참조하여 설명한다.
도 6에 도시된 바와 같이, 제2손인 왼손을 이용하여 목표물인 망치(T1)를 파지해야 하는 상황에서, 망치가 테이블에 놓여져 있고 타격 부분에 장애물이 존재하며, 제2손인 왼손과 망치 사이의 거리가 기준 거리 이상이다.
이에 따라 로봇은 오른손인 제1손을 이용하여 망치를 파지한 후 제1손에 파지된 망치를 제2손에 전달하여 제2손에 망치가 파지되도록 한다.
이를 위해, 로봇은 망치의 타격 부분에 장애물이 존재하는 상황에 기초하여 최초 파지 모션인 제1 파지 모션을 결정하고(304), 목표물의 파지 목적에 기초하여 목표 모션을 결정한다(305).
망치의 타격 부분에 장애물이 존재하기 때문에 로봇은 장애물과의 충돌을 방지하기 위한 제 1 파지 모션이 제 1 노드를 이루는 트리 구조를 생성하고, 생성된 트리 구조에 기초하여 파지 모션 경로를 생성한다(306).
이때 파지 모션 경로가 복수인 경우, 어느 하나의 파지 모션 경로를 결정하되, 파지 모션 경로별 코스트가 최소인 파지 모션 경로를 결정한다.
여기서 코스트가 최소인 파지 모션 경로는, 두 손이 목표물을 주고 받는 재파지(regrasping) 횟수가 적고, 두 손의 위치 정보에 기초하여 두 손이 목표물을 주고 받을 때 두 손의 모션이 자연스러운 자세가 나올 수 있는 경로이다.
다음 로봇은 파지 모션 경로에 대응하여 순서대로 파지 모션을 수행하기 위한 팔의 경로를 생성한다(307).
로봇은 파지 모션 경로의 순서대로 팔의 경로를 생성할 수 없는 경우 실패한 파지 모션 경로를 저장부(235)에 저장하고 이 정보를 파지 모션 경로 생성부(220)에 전송하여 다른 파지 모션 경로를 결정하게 한다.
이와 같은 파지 모션 경로 결정과 팔 경로 생성을 도 7 내지 도 9를 참조하여 설명한다.
도 7은 파지 모션 경로 결정과 팔 경로 생성 순서도이고, 도 8은 망치의 손잡이 측에 장애물이 존재할 때의 트리 구조이고, 도 9 및 도 10은 망치의 타격부재 측에 장애물이 존재할 때의 트리 구조이다.
여기서 네모는 제1손의 파지모션이고, 동그라미는 제2손의 파지모션이며, 먼저 제1손에서 망치를 파지한 후 제2손으로 망치를 전달하여 제2손에서 망치를 파지하도록 하되, 제2손에 파지한 파지모션이 목표파지가 되도록 하는 것을 예를 들어 설명한다.
도 8에 도시된 바와 같이 망치의 손잡이 측에 장애물이 존재하면 장애물과의 충돌을 피하면서 제1손을 이용하여 목표물을 파지할 수 있는 파지 모션을 검색하고, 검색된 파지 모션으로 제1 노드를 생성한다. 여기서 제1노드의 파지모션은 B1, B2, B3, E1, E2가 있다.
그리고, 제1노드의 하위 노드인 제2노드를 각각 생성한다. 이때 제1노드의 각 파지 모션에서 제2손이 취할 수 있는 파지 모션을 검색하여 제2노드를 생성한다.
예를 들어 제1노드의 파지 모션 B2에서 제2손이 취할 수 있는 파지 모션은 A1, A2, A3, C1, C2, C3, D1, D2, D3이 있고, 파지 모션 A1, A2, A3, C1, C2, C3, D1, D2, D3으로 제2노드를 생성한다.
이때 제2손이 취할 수 있는 제2노드의 파지 모션에 목표 모션이 존재하는지 판단한다. 여기서 목표 모션은 C2, C3으로, 제 2노드에 목표 모션 C2가 존재함을 알 수 있다. 이때 트리 확장을 종료한다.
이와 같이, 하위 노드를 확장해가면서 제2손에 해당하는 노드에 목표 모션이 탐색될 때까지 수행함으로써 제1트리 구조를 생성한다.
다음 로봇은 제2손이 취해야 할 노드에 목표 모션이 존재하면, 이 목표 모션부터 제1손의 최초 파지 모션인 제1파지 모션까지 연결(C2 → B2)하여 파지 모션 경로를 생성(B2 → C2)한다.
도 9 및 10에 도시된 바와 같이, 망치의 타격부재 측에 장애물이 존재하면 장애물과의 충돌을 피하면서 제1손을 이용하여 목표물을 파지할 수 있는 파지 모션을 검색하고, 검색된 파지 모션으로 제1 노드를 생성한다(306a).
여기서 제1노드의 파지모션은 A1, A2, A3, C1, C2, C3, D1, D2, D3이 있다.
그리고, 제1노드의 하위 노드인 제2노드를 각각 생성한다(306b). 이때 제1노드의 각 파지 모션에서 제2손이 취할 수 있는 파지 모션을 검색하여 제2노드를 생성한다.
예를 들어 제1노드의 파지 모션 A2에서 제2손이 취할 수 있는 파지 모션은 B1, B2, B3, E1, E2가 있고, 파지모션 B1, B2, B3, E1, E2로 제2노드를 생성한다.
이때 제2손이 취할 수 있는 제2노드의 파지 모션에 목표 모션이 존재하는지 판단한다(306c). 여기서 목표 모션은 C2, C3으로, 제 2노드에 목표 모션이 존재하지 않음을 알 수 있다.
이에 따라 로봇은 제2노드의 파지모션 B1, B2, B3, E1, E2에서 제1손이 취할 수 있는 제3노드의 파지 모션을 검색하고, 검색된 파지 모션으로 제3 노드를 생성하고, 제3노드의 파지 모션에서 제2손이 취할 수 있는 제4노드의 파지 모션을 검색하고, 검색된 파지 모션으로 제4노드를 생성한다.
이때 제2손이 취할 수 있는 제4노드의 파지 모션에 목표 모션이 있는지 판단한다. 여기서 목표 모션은 C2, C3으로, 제 4 노드에 목표 모션이 존재하면 확장을 종료하고(306d), 목표 모션이 존재하지 않으면 확장을 계속하면서 제2트리를 생성한다.
아울러, 도 9에 도시된 바와 같이, 제3노드의 파지 모션 A1의 하위 노드인 제4노드의 파지 모션은 C3, D3으로, 제4노드에 목표 모션 C3이 존재함을 알 수 있다.
이에 따라 로봇은 제2손이 취해야 할 노드에 목표 모션이 존재하면, 이 목표 모션부터 제1손의 최초 파지 모션인 제1파지 모션까지 연결(C3 → A1 → B1 → A2)하여 파지 모션 경로(A2 → B1 → A1 → C3)를 생성(306e)한다(306e).
다음, 로봇은 파지 모션 경로(A2 → B1 → A1 → C3)를 수행하기 위한 팔의 경로를 생성한다(307a).
로봇은 파지 모션 경로 A2 → B1 → A1 → C3에 대응하여 팔의 경로 수행 중 제1손의 파지 모션 A1에서 팔의 경로 생성에 실패하면(307b에서의 ‘예’), 해당 파지 모션 경로를 저장하고(307c) 팔의 경로 생성 실패 정보를 파지 모션 경로 생성부(220)에 전송한다.
이때, 제 3노드의 파지모션 A1의 하위 노드인 제 4노드의 파지 모션 C3, D3을 삭제(Del)하고, 파지 모션 경로 A2 → B1 → A1 → C3에서 성공한 파지 모션의 경로 A2 → B1까지를 성공 경로, 실패한 제1손의 파지 모션 A1 이후의 경로를 실패 경로로 저장함으로써, 차기 파지 모션 경로 생성 시 파지 모션 경로 A2 → B1 → A1가 생성되지 않도록 한다. 즉, 제3노드의 나머지 파지 모션 A2, A3, C1, C2, C3의 하위 노드만을 생성한다.
로봇은 팔 경로 생성 실패 시 다른 파지 모션 경로를 생성 및 결정한 후, 팔의 경로를 생성하여 성공 여부를 판단하고, 팔의 경로 생성에 성공하면 이 파지 모션 경로 정보 및 팔 경로 정보를 제어부(240)에 전송한다.
이때 파지 모션 경로가 복수 개 생성되면, 복수의 파지 모션 경로 중 팔의 경로 생성 시 코스트가 최소인 파지 모션 경로를 최종 파지 모션 경로로 결정한다.
이를 도 10을 참조하여 설명하면 다음과 같다.
도 10에 도시된 바와 같이, 제3노드의 파지 모션 E1의 하위 노드인 제4노드의 파지모션이 D1, D2, C1, C2, C3인 경우, 제1파지 모션 경로(P(A))는 A2 → E2 → E1 → C2, 제2파지 모션 경로(P(B))는 A2 → E2 → E1 → C3으로, 파지 모션 경로가 복수 개 생성된다.
이때, 제1, 2 파지 모션 경로(P(A), P(B))가 팔의 경로 생성에 성공하면, 목표 모션 C2 및 목표 모션 C3의 우선 순위에 따라 우선 순위가 높은 목표 모션을 가지는 파지 모션 경로를 최종 파지 모션 경로로 결정하거나, 팔 경로 생성 시 제1, 2파지 모션 경로 P(A), P(B)의 코스트를 비교하여 코스트가 더 작은 파지 모션 경로를 최종 파지 모션 경로로 결정 가능하다.
이때 코스트는 팔의 관절 각도가 자연스러운 정도로, 코스트가 작을 수록 자연스럽다.
로봇은 파지 모션 경로 및 팔 경로가 결정되면, 결정된 파지 모션 경로 및 팔 경로에 기초하여 팔 및 손을 구동시켜 파지를 수행한다.
좀 더 구체적으로, 로봇은 팔 경로 정보에 기초하여 팔 경로를 추종하기 위한 토크를 산출하되(308), 어깨 관절부의 피치 방향의 회전 관절과 롤 방향의 회전 관절의 토크를 산출하고, 또한 팔꿈치 관절부의 피치 방향의 회전 관절과 요우 방향의 회전 관절의 토크를 산출하며, 손목 관절부의 피치 방향의 회전 관절과 롤 방향의 회전 관절의 토크를 산출한다.
또한 로봇은 파지 모션 경로 정보에 기초하여 각 손(150R, 150L)의 복수의 관절(152d, 152e, 152f, 153d, 153e, 153f)의 토크를 산출한다.
다음 로봇은 각 관절의 토크를 추종하기 위한 PWM 신호를 팔에 마련된 각 관절에 출력함으로써, 어깨 관절부의 피치 방향의 회전 관절과 롤 방향의 회전 관절을 구동시키고, 또한 팔꿈치 관절부의 피치 방향의 회전 관절과 요우 방향의 회전 관절을 구동시키며, 손목 관절부의 피치 방향의 회전 관절과 롤 방향의 회전 관절을 구동시킨다(309).
그리고 각 손(150R, 150L)의 복수의 관절(152d, 152e, 152f, 153d, 153e, 153f)을 구동시킴으로써 파지를 수행한다(310).
150L, 150R: 손 151: 손바닥
152: 제1손가락 153: 제2손가락

Claims (23)

  1. 복수의 손 및 복수의 팔을 가지는 로봇에 있어서,
    목표물의 정보를 입력받는 입력부;
    목표물별 복수의 파지 모션을 저장하는 데이터베이스부;
    상기 목표물의 정보 중 파지 목적에 기초하여 상기 복수의 파지 모션 중에서 목표 파지 모션을 결정하고, 상기 목표 파지 모션에 기초하여 파지 모션 경로를 생성하는 파지 모션 경로 생성부;
    상기 파지 모션 경로에 대응하는 상기 팔의 경로를 생성하는 팔 경로 생성부; 및
    상기 팔의 경로를 추종하기 위한 토크를 산출하고, 상기 토크에 기초하여 상기 팔의 움직임을 제어하고, 상기 목표물의 파지를 제어하는 제어부를 포함하는 로봇.
  2. 제 1 항에 있어서, 상기 팔 경로 생성부는,
    상기 파지 모션 경로에 대응하는 상기 팔의 경로 생성 시, 상기 팔의 경로 생성에 실패하면 상기 실패한 파지 모션 경로를 저장하고, 상기 실패한 파지 모션 경로의 정보를 상기 파지 모션 경로 생성부에 전송하는 로봇.
  3. 제 2 항에 있어서, 상기 팔 경로 생성부는,
    상기 실패한 파지 모션 경로의 저장 시, 상기 실패한 파지 모션 경로를 이루는 복수의 파지 모션 중에서 상기 팔의 경로 생성에 성공한 파지 모션을 포함하는 이전 파지 모션의 경로는 성공 경로로 저장하고, 상기 팔의 경로 생성에 실패한 파지 모션 이후의 경로는 실패 경로로 저장하는 로봇.
  4. 제 1 항에 있어서, 상기 파지 모션 경로 생성부는,
    제1손이 취할 수 있는 적어도 하나의 최초 파지 모션으로 제1노드를 생성하고, 상기 제1노드에 상기 목표 파지 모션이 존재하는지 여부를 판단하고, 상기 제1노드에 상기 목표 파지 모션이 존재하면 상기 파지 모션 경로의 생성을 위한 트리 구조의 확장을 종료하고, 상기 제1노드에 상기 목표 파지 모션이 존재하지 않으면 상기 제1노드의 하위 노드를 생성하여 상기 트리 구조를 확장하는 로봇.
  5. 제 1 항에 있어서, 상기 파지 모션 경로 생성부는,
    제2손으로 목표 파지를 수행해야 하는 경우, 제1손이 취할 수 있는 적어도 하나의 최초 파지 모션으로 제1노드를 생성하고, 상기 적어도 하나의 최초 파지 모션에 이어 상기 제2손이 취할 수 있는 적어도 하나의 파지 모션으로 제2노드를 생성하고, 상기 제2노드에 상기 목표 파지 모션이 존재하는지 여부를 판단하고, 상기 제2노드에 상기 목표 파지 모션이 존재하면 상기 파지 모션 경로의 생성을 위한 트리 구조의 확장을 종료하고, 상기 제2노드에 상기 목표 파지 모션이 존재하지 않으면 상기 제2노드의 하위 노드를 생성하여 상기 트리 구조를 확장하되,
    상기 파지 모션 경로 생성부는 상기 생성되는 하위 노드에 상기 목표 파지 모션이 존재할 때까지 상기 트리 구조를 확장시키는 로봇.
  6. 제 5 항에 있어서, 상기 파지 모션 경로 생성부는,
    상기 목표 파지 모션부터 상기 최초 파지 모션까지 연결하여 상기 파지 모션 경로를 생성하는 로봇.
  7. 제 6 항에 있어서, 상기 팔 경로 생성부는,
    상기 파지 모션 경로를 이루는 상기 파지 모션의 순서에 대응하여 상기 팔의 경로를 생성하는 로봇.
  8. 제 1 항에 있어서, 상기 팔 경로 생성부는,
    상기 파지 모션 경로가 복수이면, 파지 모션 경로별 상기 팔의 경로를 생성하고, 상기 팔의 경로별 코스트를 산출하고, 상기 코스트가 최소인 팔의 경로를 최종적인 팔의 경로로 결정하는 로봇.
  9. 제 1 항에 있어서,
    상기 목표물 및 상기 목표물 주변의 영상을 검출하는 검출부; 및
    상기 목표물 및 상기 목표물 주변의 장애물을 인식하고, 상기 목표물의 위치 및 상기 장애물의 위치를 인식하는 목표물 인식부를 더 포함하고,
    상기 파지 모션 경로 생성부는 상기 목표물의 위치 및 상기 장애물의 위치에 기초하여 최초 파지 모션을 결정하는 로봇.
  10. 제 9 항에 있어서, 상기 검출부는,
    상기 목표물의 영상을 획득하는 영상 획득부, 상기 목표물의 이미지를 검출하는 거리 센서 또는 RF 센서인 로봇.
  11. 복수의 손 및 복수의 팔을 가지는 로봇의 제어 방법에 있어서,
    목표물의 정보가 입력되면 상기 목표물을 검출하여 상기 목표물의 위치를 인식하고;
    상기 목표물의 위치에 기초하여 미리 저장된 복수의 파지 모션 중에서 제1손의 최초 파지 모션을 결정하고;
    상기 목표물의 파지 목적에 기초하여 상기 미리 저장된 복수의 파지 모션 중에서 제2손의 목표 파지 모션을 결정하고;
    상기 제1손이 취할 수 있는 적어도 하나의 파지 모션 및 상기 제2손이 취할 수 있는 적어도 하나의 파지 모션에 기초하여 트리 구조를 생성하고;
    상기 트리 구조에 기초하여 상기 최초 파지 모션부터 상기 목표 파지 모션까지 연결하는 파지 모션 경로를 생성하고;
    상기 파지 모션 경로에 대응하는 상기 팔의 경로를 생성하고;
    상기 팔의 경로를 추종하기 위한 토크를 산출하고;
    상기 토크에 기초하여 상기 팔의 움직임을 제어하고;
    상기 제1손으로 상기 목표물을 파지한 후 상기 파지된 목표물을 상기 제2손에 전달하여 최종적으로 상기 제2손으로 상기 목표물을 파지하도록 제어하는 로봇의 제어 방법.
  12. 제 11 항에 있어서, 상기 최초 파지 모션을 결정하는 것은,
    상기 목표물의 주변 정보로부터 상기 목표물에 인접한 장애물의 존재 여부를 판단하고;
    상기 장애물의 위치를 인식하고;
    상기 장애물의 위치를 반영하여 상기 최초 파지 모션을 결정하는 것을 더 포함하는 로봇의 제어 방법.
  13. 제 12 항에 있어서, 상기 목표물의 주변 정보는,
    상기 목표물의 주변 영상을 검출하고, 상기 검출된 목표물의 주변 영상에 기초하여 획득되는 로봇의 제어 방법.
  14. 제 12 항에 있어서, 상기 목표물의 주변 정보는,
    거리 센서 또는 RF 센서를 통해 검출된 정보에 기초하여 획득되는 로봇의 제어 방법.
  15. 제 11 항에 있어서, 상기 파지 모션 경로에 대응하는 상기 팔의 경로를 생성하는 것은,
    상기 팔의 경로 생성에 실패하면 상기 실패한 파지 모션 경로를 저장하고;
    상기 실패한 파지 모션 경로의 정보를 차기 파지 모션 경로 생성 시에 반영하는 로봇의 제어 방법.
  16. 제 15 항에 있어서, 상기 실패한 파지 모션 경로의 정보를 차기 파지 모션 경로 생성 시에 반영하는 것은,
    상기 실패한 파지 모션 경로를 이루는 복수의 파지 모션 중에서 상기 팔의 경로 생성에 성공한 파지 모션을 포함하는 이전 파지 모션의 경로는 성공 경로로 저장하고, 상기 팔의 경로 생성에 실패한 파지 모션 이후의 경로는 실패 경로로 저장하는 것을 포함하는 로봇의 제어 방법.
  17. 제 11 항에 있어서, 상기 파지 모션 경로를 생성하는 것은,
    제1손이 취할 수 있는 적어도 하나의 최초 파지 모션으로 제1노드를 생성하고;
    상기 적어도 하나의 최초 파지 모션에 이어 상기 제2손이 취할 수 있는 적어도 하나의 파지 모션으로 제2노드를 생성하고;
    상기 제2노드에 상기 목표 파지 모션이 존재하는지 여부를 판단하고, 상기 제2노드에 상기 목표 파지 모션이 존재하면 상기 트리 구조의 확장을 종료하고;
    상기 제2노드에 상기 목표 파지 모션이 존재하지 않으면 상기 제2노드의 하위 노드를 생성하여 상기 트리 구조를 확장하되,
    상기 생성되는 하위 노드에 상기 목표 파지 모션이 존재할 때까지 상기 트리 구조를 확장시키는 로봇의 제어 방법.
  18. 제 11 항에 있어서, 상기 팔의 경로를 생성하는 것은,
    상기 파지 모션 경로가 복수이면 파지 모션 경로별 상기 팔의 경로를 생성하고;
    상기 팔의 경로별 코스트를 산출하고;
    상기 코스트가 최소인 팔의 경로를 최종적인 팔의 경로로 결정하는 로봇의 제어 방법.
  19. 제 18 항에 있어서,
    상기 코스트가 최소인 팔의 경로를 저장하는 것을 더 포함하는 로봇의 제어 방법.
  20. 제 11 항에 있어서,
    상기 목표물의 파지 가능한 위치 및 파지 가능한 방향에 기초하여 상기 복수의 파지 모션을 생성하여 저장하는 것을 더 포함하는 로봇의 제어 방법.
  21. 복수의 손 및 복수의 팔을 가지는 로봇의 제어 방법에 있어서,
    목표물의 파지 가능한 위치 및 파지 가능한 방향에 기초하여 복수의 파지 모션을 생성하여 저장하고;
    상기 목표물의 파지 목적에 기초하여 상기 복수의 파지 모션 중에서 목표 파지 모션을 결정하고;
    상기 목표 파지 모션에 기초하여 파지 모션 경로를 생성하고;
    상기 파지 모션 경로에 대응하는 상기 팔의 경로를 생성하고;
    상기 팔의 경로를 추종하기 위한 토크를 산출하고;
    상기 토크에 기초하여 상기 팔의 움직임 및 상기 목표물의 파지를 수행하는 로봇의 제어 방법.
  22. 제 21 항에 있어서,
    복수의 파지 모션 경로가 생성되면 파지 모션 경로별 상기 팔의 경로를 생성하고;
    상기 팔의 경로별 코스트를 각각 산출하고;
    상기 코스트가 최소인 팔의 경로를 최종적인 팔의 경로로 결정하는 것을 더 포함하는 로봇의 제어 방법.
  23. 제 22 항에 있어서, 상기 코스트는 상기 팔의 이동 거리, 이동 시간 및 에너지 소비량 중 적어도 하나에 기초하여 산출되는 로봇의 제어 방법.
KR1020100136866A 2010-12-28 2010-12-28 로봇 및 그 제어 방법 KR102015307B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100136866A KR102015307B1 (ko) 2010-12-28 2010-12-28 로봇 및 그 제어 방법
US13/327,857 US8768512B2 (en) 2010-12-28 2011-12-16 Robot and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100136866A KR102015307B1 (ko) 2010-12-28 2010-12-28 로봇 및 그 제어 방법

Publications (2)

Publication Number Publication Date
KR20120074887A KR20120074887A (ko) 2012-07-06
KR102015307B1 true KR102015307B1 (ko) 2019-08-28

Family

ID=46318036

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100136866A KR102015307B1 (ko) 2010-12-28 2010-12-28 로봇 및 그 제어 방법

Country Status (2)

Country Link
US (1) US8768512B2 (ko)
KR (1) KR102015307B1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843235B2 (en) * 2012-01-13 2014-09-23 Toyota Motor Engineering & Manufacturing North America, Inc. Robots, computer program products, and methods for trajectory plan optimization
US8920519B2 (en) 2012-02-01 2014-12-30 The Johns Hopkins University Multiple grasp prosthetic terminal device
KR101441187B1 (ko) * 2012-07-19 2014-09-18 고려대학교 산학협력단 자율 보행 로봇 경로 계획 방법
US9597801B2 (en) * 2014-10-21 2017-03-21 Centurylink Intellectual Property Llc Automated data center
US9492923B2 (en) 2014-12-16 2016-11-15 Amazon Technologies, Inc. Generating robotic grasping instructions for inventory items
US9718188B2 (en) 2015-09-21 2017-08-01 Amazon Technologies, Inc. Networked robotic manipulators
KR101748632B1 (ko) * 2015-10-29 2017-06-20 한국과학기술연구원 로봇의 구동 경로를 계획하기 위한 로봇 제어 시스템 및 로봇 구동 경로 계획방법
JP6475872B2 (ja) 2016-07-11 2019-02-27 Groove X株式会社 活動量をコントロールされる自律行動型ロボット
CN109983433A (zh) 2016-07-18 2019-07-05 L·奥德纳 评价机器人抓取
US10131053B1 (en) * 2016-09-14 2018-11-20 X Development Llc Real time robot collision avoidance
US10759051B2 (en) * 2018-04-23 2020-09-01 General Electric Company Architecture and methods for robotic mobile manipulation system
JP7057214B2 (ja) * 2018-05-18 2022-04-19 トヨタ自動車株式会社 把持装置、タグが付された容器、対象物把持プログラムおよび対象物把持方法
CN109976347B (zh) * 2019-04-11 2023-10-13 中南大学 一种基于快速扩展随机树和势场法的视觉伺服路径规划方法
CN110605714B (zh) * 2019-08-06 2021-08-03 华中科技大学 一种基于人眼凝视点的手眼协调抓取方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006026875A (ja) * 2004-07-21 2006-02-02 Toyota Motor Corp ロボットハンドの把持制御装置
JP2009172685A (ja) * 2008-01-22 2009-08-06 Yaskawa Electric Corp マニピュレータシステムおよびその制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5325468A (en) * 1990-10-31 1994-06-28 Sanyo Electric Co., Ltd. Operation planning system for robot
JP3751309B2 (ja) * 2002-12-12 2006-03-01 松下電器産業株式会社 ロボット制御装置
JP4056080B2 (ja) * 2006-01-13 2008-03-05 松下電器産業株式会社 ロボットアームの制御装置
KR101554515B1 (ko) * 2009-01-07 2015-09-21 삼성전자 주식회사 로봇의 경로계획장치 및 그 방법
JP5549129B2 (ja) * 2009-07-06 2014-07-16 セイコーエプソン株式会社 位置制御方法、ロボット
JP4896276B2 (ja) * 2010-01-04 2012-03-14 パナソニック株式会社 ロボット、ロボットの制御装置、制御方法、及び制御プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006026875A (ja) * 2004-07-21 2006-02-02 Toyota Motor Corp ロボットハンドの把持制御装置
JP2009172685A (ja) * 2008-01-22 2009-08-06 Yaskawa Electric Corp マニピュレータシステムおよびその制御方法

Also Published As

Publication number Publication date
US20120165979A1 (en) 2012-06-28
KR20120074887A (ko) 2012-07-06
US8768512B2 (en) 2014-07-01

Similar Documents

Publication Publication Date Title
KR102015307B1 (ko) 로봇 및 그 제어 방법
KR101789756B1 (ko) 로봇 및 그 제어방법
KR101743926B1 (ko) 로봇 및 그 제어방법
US9014854B2 (en) Robot and control method thereof
JP4645601B2 (ja) 環境地図の生成方法及び移動ロボット
WO2008001793A1 (fr) Dispositif de robot et son procédé de commande
EP2042275B1 (en) Robot, control method of robot and control program of robot
JP2013111726A (ja) ロボット装置及びその制御方法、並びにコンピューター・プログラム
JP2022042972A (ja) オンラインロボット動作計画のフレームワーク
JP2003266345A (ja) 経路計画装置、経路計画方法及び経路計画プログラム並びに移動型ロボット装置
JP5659890B2 (ja) ロボットの軌道計画システム及び軌道計画方法
US11642780B2 (en) Monitoring of surface touch points for precision cleaning
JP2012071358A (ja) ロボットおよびその行動制御システム
JP5480799B2 (ja) 移動装置およびロボットならびにこれらの制御システム
US9193070B2 (en) Robot, control system for controlling motion of a controlled object, and recording medium for control program for controlling motion of a controlled object
Bolder et al. Visually guided whole body interaction
JP5306934B2 (ja) ロボットおよび制御システム
JP5306933B2 (ja) ロボットおよび制御システム
JP7247571B2 (ja) 制御装置、及び学習装置
JP2008006518A (ja) ロボット制御システム、ロボット制御方法及びロボット
WO2022209924A1 (ja) ロボット遠隔操作制御装置、ロボット遠隔操作制御システム、ロボット遠隔操作制御方法、およびプログラム
JP5539000B2 (ja) 制御装置
WO2024075394A1 (ja) 制御装置、及び制御方法
CN117136120A (zh) 机器人远程操作控制装置、机器人远程操作控制系统、机器人远程操作控制方法以及程序
JP2023107484A (ja) 自律制御システム、自律制御方法、及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2017101005146; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20171023

Effective date: 20190627

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant