KR101789758B1 - 모듈화 로봇의 모듈 간 연결 순서 추정 방법 - Google Patents

모듈화 로봇의 모듈 간 연결 순서 추정 방법 Download PDF

Info

Publication number
KR101789758B1
KR101789758B1 KR1020100126852A KR20100126852A KR101789758B1 KR 101789758 B1 KR101789758 B1 KR 101789758B1 KR 1020100126852 A KR1020100126852 A KR 1020100126852A KR 20100126852 A KR20100126852 A KR 20100126852A KR 101789758 B1 KR101789758 B1 KR 101789758B1
Authority
KR
South Korea
Prior art keywords
joint
joints
modules
estimating
moving
Prior art date
Application number
KR1020100126852A
Other languages
English (en)
Other versions
KR20120065626A (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 KR1020100126852A priority Critical patent/KR101789758B1/ko
Priority to US13/280,591 priority patent/US9067318B2/en
Publication of KR20120065626A publication Critical patent/KR20120065626A/ko
Application granted granted Critical
Publication of KR101789758B1 publication Critical patent/KR101789758B1/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
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • 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/40525Modeling only part of links or modules

Landscapes

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

Abstract

움직임이 만들어지는 조인트를 기본 단위로 모듈을 구성하는 로봇에서 모듈 간의 연결 순서를 추정하는 방법을 제안한다.
디바이스와 조인트를 하드웨어적으로 연결하고, 디바이스와 프로그램을 소프트웨어적으로 연결하여 궁극적으로 조인트와 프로그램을 소프트웨어적으로 연결하고 있기 때문에 움직임이 만들어지는 조인트를 기본 단위로 구성된 모듈을 복수 개 연결한 모듈화 로봇에서 사용자는 어느 디바이스에 어느 조인트가 연결되었는지에 대한 사전 지식없이 로봇 조인트를 제어할 수 있다.

Description

모듈화 로봇의 모듈 간 연결 순서 추정 방법{METHOD FOR ESTIMATING JOINT ORDER BETWEEN MODULES OF MODULAR ROBOT}
움직임이 만들어지는 조인트를 기본 단위로 모듈을 구성하는 로봇에서 모듈 간의 연결 순서를 추정하는 방법에 관한 것이다.
일반적으로, 전기적 또는 자기적인 작용을 이용하여 인간의 동작과 닮은 운동을 행하는 기계장치를 로봇이라고 한다. 최근에는 제어기술의 발달로 다양한 형태의 로봇이 개발되어 다양한 분야에서 활용되고 있다. 그 예로는 가정에서의 가사 도우미 로봇, 공공장소용 서비스 로봇, 생산 현장에서의 반송 로봇, 작업자 지원 로봇 등이 있다. 이러한 로봇은 전기적ㆍ기계적 메카니즘에 의해서 인간의 팔이나 손의 동작에 가깝게 운동할 수 있도록 만들어진 머니퓰레이터(manipulator)를 이용하여 작업을 수행한다.
현재 사용되고 있는 대부분의 머니퓰레이터는 여러 개의 링크(link)들이 서로 연결되어 구성된다. 각 링크들의 연결 부위를 조인트(joint)라 하며, 각각의 조인트에는 조인트를 구동하기 위한 모터가 장착된다.
이러한 링크 로봇의 경우, 최근 들어 움직임이 만들어지는 조인트를 기본 단위로 구성된 모듈을 필요한 기능에 맞추어 연결함으로써 적절하게 로봇의 구조를 변경하거나 재조립할 수 있는 모듈화(modular) 로봇 또는 재조립(reconfiguration)이 가능한 로봇(이하, 모듈화 로봇이라 한다)의 형태로 개발되고 있다.
모듈화 로봇은 부품의 공용화를 통해 다양한 형태의 로봇으로 확장할 수 있으며, 부품의 교체가 자유로워 편리성 및 유용성을 높일 수 있다. 이러한 모듈화 로봇은 디바이스와 조인트를 하드웨어적으로 연결하고, 디바이스와 프로그램을 소프트웨어적으로 연결하기 때문에 디바이스마다 고유 id를 부여하고, 디바이스가 어떤 조인트와 연결되어 있는지 기억하는 방법을 통해 연결에 대한 자유도를 확보한다. 그러나 이러한 방법은 모든 디바이스마다 다른 id로 관리해야 하며, 디바이스마다 firmware가 달라져 문제 발생 시, firmware를 다시 굽지 않으면 디바이스간 교체가 불가하다. 또한 사용자는 어느 디바이스에 어느 조인트가 연결되었는지에 대한 사전 지식이 없을 경우, 로봇 조인트를 제어할 수 없게 된다.
움직임이 만들어지는 조인트를 기본 단위로 구성된 모듈을 복수 개 연결한 모듈화 로봇에서, 조인트와 프로그램을 소프트웨어적으로 연결하고 있기 때문에 사용자는 어느 디바이스에 어느 조인트가 연결되었는지에 대한 사전 지식없이 로봇 조인트를 제어할 수 있는 모듈 간 연결 순서 추정 방법을 제안하고자 한다.
이를 위해 본 발명의 일 측면은 조인트와, 조인트에 연결된 링크와, 조인트를 제어하는 디바이스로 구성된 모듈을 복수 개 연결한 모듈화 로봇에서 모듈 간의 연결 순서를 추정하는 방법에 있어서, 복수 개의 모듈에 각각 마련된 조인트를 순차적으로 움직이고; 복수 개의 조인트를 순차적으로 움직이는 과정에서 복수 개의 조인트에 가해지는 토크를 측정하고; 측정된 조인트 토크의 크기에 따라 디바이스의 인덱스를 배치하고; 배치된 디바이스 인덱스를 비교하여 복수 개의 모듈 간 연결 순서를 추정한다.
복수 개의 조인트를 순차적으로 움직이는 것은, 복수 개의 조인트 중 하나를 선택하여 움직이고; 움직이는 조인트를 제외한 다른 조인트들은 홀드로 제어한다.
조인트 토크를 측정하는 것은, 복수 개의 조인트를 순차적으로 움직일 때, 움직이는 조인트를 제외한 다른 조인트들에 가해지는 토크를 순차적으로 측정한다.
디바이스 인덱스를 배치하는 것은, 복수 개의 조인트를 순차적으로 움직일 때마다 측정되는 조인트 토크의 크기가 큰 값에서 작은 값으로 움직이는 조인트에 가까운 순서로 배치한다.
디바이스 인덱스는, 움직이는 조인트에 가까운 순서로 복수 개의 조인트 수만큼 배치된다.
복수 개의 모듈 간 연결 순서를 추정하는 것은, 복수 개의 조인트 수만큼 배치된 디바이스 인덱스 중에서 하나를 선택하고; 선택된 디바이스 인덱스와 가장 가까운 디바이스 인덱스를 다음에 배치하고; 상기의 과정을 복수 개의 디바이스 인덱스에 대해서 반복하여 수 개의 조인트 순서를 추정한다.
그리고, 본 발명의 다른 측면은 조인트와, 조인트에 연결된 링크와, 조인트를 제어하는 디바이스로 구성된 모듈을 복수 개 연결한 모듈화 로봇에서 모듈 간의 연결 순서를 추정하는 방법에 있어서, 복수 개의 모듈에 각각 마련된 조인트의 현재 위치를 모두 측정하여 그 측정된 위치를 기준 위치로 설정하고; 복수 개의 조인트를 순차적으로 움직이면서 엔드 이펙터의 위치 변화량을 측정하고; 측정된 포즈 변화량의 순서대로 디바이스 인덱스를 배치하고; 배치된 디바이스 인덱스의 크기에 따라 복수 개의 모듈간 연결 순서를 추정한다.
또한, 본 발명의 다른 측면에 의한 모듈화 로봇의 모듈 간 연결 순서 추정 방법은, 복수 개의 조인트를 오프시키는 제1동작; 복수 개의 모듈에 마련된 링크의 거리가 최대가 되도록 복수 개의 조인트를 제어하는 제2동작; 복수 개의 조인트를 홀드하는 제3동작을 더 포함하고, 제1 내지 제3동작은, 복수 개의 조인트 위치를 측정하기 전에 수행된다.
포즈 변화량을 측정하는 것은, 복수 개의 조인트 중 하나를 선택하여 움직이고; 하나의 조인트가 움직일 때 변화하는 엔드 이펙터의 포즈 변화량을 측정한다.
디바이스 인덱스를 배치하는 것은, 복수 개의 조인트에 대해서 같은 변위로 움직이면서 엔드 이펙터의 포즈 변화량을 측정하여 측정된 포즈 변화량의 순서대로 디바이스 인덱스를 배치한다.
또한, 본 발명의 다른 측면에 의한 모듈화 로봇의 모듈 간 연결 순서 추정 방법은, 엔드 이펙터의 포즈 변화량이 가장 큰 조인트가 베이스와 연결된 조인트라고 판단하는 것을 더 포함한다.
그리고, 본 발명의 또 다른 측면은 조인트와, 조인트에 연결된 링크와, 조인트를 제어하는 디바이스로 구성된 모듈을 복수 개 연결한 모듈화 로봇에서 모듈 간의 연결 순서를 추정하는 방법에 있어서, 복수 개의 모듈에 각각 마련된 조인트를 순차적으로 움직이면서, 복수 개의 모듈에 각각 마련된 디바이스의 가속도 변화량을 측정하고; 측정된 가속도 변화량의 순서대로 디바이스 인덱스를 배치하고; 배치된 디바이스 인덱스의 크기에 따라 복수 개의 모듈간 연결 순서를 추정한다.
가속도 변화량을 측정하는 것은, 복수 개의 조인트 중 하나를 선택하여 움직이고; 하나의 조인트가 움직일 때 변화하는 복수 개의 디바이스의 가속도 변화량을 측정한다.
디바이스 인덱스를 배치하는 것은, 복수 개의 조인트에 대해서 같은 변위로 움직이면서 가속도 변화량을 측정하여 측정된 가속도 변화량의 순서대로 디바이스 인덱스를 배치한다.
또한, 본 발명의 또 다른 측면에 의한 모듈화 로봇의 모듈 간 연결 순서 추정 방법은, 가속도 변화량이 가장 큰 조인트가 베이스와 연결된 조인트라고 판단하는 것을 더 포함한다.
그리고, 본 발명의 또 다른 측면은 조인트와, 조인트에 연결된 링크와, 조인트를 제어하는 디바이스로 구성된 모듈을 복수 개 연결한 모듈화 로봇에서 모듈 간의 연결 순서를 추정하는 방법에 있어서, 복수 개의 모듈에 각각 마련된 조인트를 순차적으로 움직이면서 복수 개의 조인트에 가해지는 토크를 측정하여 복수 개의 모듈간 연결 순서를 1차 추정하고; 복수 개의 조인트를 순차적으로 움직이면서 엔드 이펙터의 포즈 변화량을 측정하여 복수 개의 모듈간 연결 순서를 2차 추정하고; 복수 개의 조인트를 순차적으로 움직이면서 복수 개의 모듈에 각각 마련된 디바이스의 가속도 변화량을 측정하여 복수 개의 모듈간 연결 순서를 3차 추정하고; 1차 내지 3차 추정된 복수 개의 모듈간 연결 순서를 이용하여 복수 개의 조인트의 상대적 거리를 계산하고; 계산된 복수 개의 조인트의 상대적 거리를 평균하여 복수 개의 모듈간 연결 순서를 재배치한다.
제안된 모듈화 로봇의 모듈 간 연결 순서 추정 방법에 의하면, 디바이스와 조인트를 소프트웨어적으로 연결하고, 디바이스와 프로그램을 소프트웨어적으로 연결하여 궁극적으로 조인트와 프로그램을 소프트웨어적으로 연결하고 있기 때문에 움직임이 만들어지는 조인트를 기본 단위로 구성된 모듈을 복수 개 연결한 모듈화 로봇에서, 사용자는 어느 디바이스에 어느 조인트가 연결되었는지에 대한 사전 지식없이 로봇 조인트를 제어할 수 있다.
도 1은 본 발명의 일 실시예에 의한 모듈화 로봇의 일례를 나타낸 개략도이다.
도 2는 본 발명의 일 실시예에 의한 모듈화 로봇의 연결 구성도이다.
도 3은 본 발명의 일 실시예에 의한 모듈화 로봇에서 조인트 토크 기반의 모듈 간 연결 순서를 추정하는 방법을 나타낸 동작 순서도이다.
도 4는 본 발명의 다른 실시예에 의한 모듈화 로봇에서 엔드 이펙터 위치 기반의 모듈 간 연결 순서를 추정하는 방법을 나타낸 동작 순서도이다.
도 5는 본 발명의 또 다른 실시예에 의한 모듈화 로봇에서 디바이스 가속도 변화량 기반의 모듈 간 연결 순서를 추정하는 방법을 나타낸 동작 순서도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 일 실시예에 의한 모듈화 로봇의 일례를 나타낸 개략도이다.
도 1에서, 본 발명의 일 실시예에 의한 모듈화 로봇(100)은 작업 대상물을 3차원 공간에서 이동시키거나 요구되는 작업을 수행하도록 만들어진 머니퓰레이터(manipulator)로, 복수 개의 링크(10)가 순차적으로 연결된 구조로 구성된다.
모듈화 로봇(100)은 조인트(20)를 통해 두 개의 링크(10)가 연결되고, 하나의 링크(10)는 하나 또는 두 개의 조인트(20)에 의해 다른 링크(10)와 연결된다.
하나의 조인트(20)만 연결된 링크(10)는 베이스(50; base)와 엔드 이펙터(60; end-effector)이다.
베이스(50)는 모듈화 로봇(100)을 고정, 지지하는 링크로, 일반적으로 world(environment)에 고정되고, 엔드 이펙터(60)는 tool을 고정하고 실제 기능을 수행하는 링크이다.
도 2는 본 발명의 일 실시예에 의한 모듈화 로봇의 연결 구성도이다.
도 2에서, 본 발명의 일 실시예에 의한 모듈화 로봇(100)은 움직임이 만들어지는 조인트(20)를 기본 단위로 구성된 모듈(40)을 복수 개 연결한 구조이다.
모듈(40)은 링크(10), 조인트(20) 및 디바이스(30)로 구성된다.
링크(10; Link)는 모듈화 로봇(100)의 구조를 이루는 rigid한 바디(body)로, 디바이스(30)가 고정되어 있다.
조인트(20; Joint)는 엑츄에이터(21)의 구동에 의해서 위치(position)가 변화하는 것으로, 엑츄에이터(21; Actuator), 트랜스미션(22; Transmission), 센서(23; Sensor) 및 링크(Link) 연결부(24)를 포함한다.
엑츄에이터(21)는 모터, air-cylinder, 인공 근육 등의 동력 생성 장치이다.
트랜스미션(22)은 gear, belt-pulley, ball-screw 등의 동력 전달 장치이다.
센서(23)는 회전각도/속도를 측정하는 incremental encoder, absolute encoder와, 토크를 측정하는 torque sensor, force/torque sensor와, 전류를 측정하는 전류 센서와, 위치 변화를 측정하는 변위 센서와, 직선 가속도 변화를 측정하는 가속도 센서를 포함한다.
링크 연결부(24)는 두 개의 링크(10)를 연결하고 엑츄에이터(21)의 동작을 지지하는 장치이다.
디바이스(30; Device)는 센서(23)를 구동하고 센서 신호를 처리하여 전달한다. 또한 센서 신호를 바탕으로 프로그래밍된 제어 알고리즘에 따라 엑츄에이터(21)를 구동하고 제어하는 것으로, 엑츄에이터 구동부(31), 센서 신호 처리부(32), 제어부(33) 및 통신부(34)를 포함한다.
엑츄에이터 구동부(31)는 제어 신호에 따라 모터 구동을 담당하는 모듈이다.
센서 신호 처리부(32)는 센서(23)를 구동하고 측정된 센서 신호를 이용 가능하도록 처리하는 모듈이다.
제어부(33)는 센서 신호를 바탕으로 프로그래밍된 제어 알고리즘에 따라 모터를 제어하는 모듈이다.
통신부(34)는 다른 디바이스(30)와 데이터를 공유하고, 통신(교환)을 담당하는 모듈이다.
이하, 상기와 같이 구성된 모듈화 로봇의 모듈 간 연결 순서 추정 방법의 동작과정 및 작용효과를 설명한다.
도 3은 본 발명의 일 실시예에 의한 모듈화 로봇에서 조인트 토크 기반의 모듈 간 연결 순서를 추정하는 방법을 나타낸 동작 순서도이다.
도 3은 복수 개의 모듈(40)을 연결한 모듈화 로봇(100)에서 조인트(20)가 움직이면 주변 조인트(20)가 그 조인트(20)의 움직임으로 인해 힘을 받고, 받는 힘의 크기는 움직임이 발생한 조인트(20)에 가까울수록 커진다. 이러한 원리를 이용하여 조인트(20)에 가해지는 토크 힘을 측정하고, 측정된 토크 힘에 따라 조인트(20) 순서 즉, 모듈(40) 간 연결 순서를 추정하는 방법을 설명한 것이다.
도 3에서, 모듈화 로봇(100)은 복수 개의 모듈(40)에 각각 마련된 조인트(20)별 힘/토크가 측정 가능하고, n개(예를 들어, 4개)의 조인트(20)와 연결된 n개(예를 들어, 4개)의 디바이스(30)가 모두 제어 가능하다고 가정한다(100).
먼저, n개(예를 들어, 4개)의 디바이스(30) 중 임의의 하나의 디바이스(30)를 선택하고(102), 선택한 디바이스(30)를 제외한 n-1개의 디바이스(30)는 조인트(20)를 홀드(hold)로 제어한다(104).
이어서, 선택한 디바이스(30)를 제어하여 조인트(20)의 움직임을 발생시키고, 선택한 디바이스(30)를 제외한 n-1개의 디바이스(30)에서 조인트(20)의 토크를 측정한다(106).
그리고, 측정된 조인트 토크의 크기에 따라 큰 값에서 작은 값의 순서로 디바이스(30)의 인덱스 순서를 배치한다(108). 여기서 순서는 결국 선택한 디바이스(30)의 조인트(20)와 가까운 정도를 의미한다.
이때, 모든 조인트(20) n개(4개)에 대해서 위의 과정을 반복하여 n개(4개)의 디바이스 인덱스(device index)를 배치한다(110).
이어서, n개(4개)의 디바이스 인덱스 중 하나를 선택하고(112), 위에서 조인트(20) 토크의 크기로 얻어낸 디바이스 인덱스에 따라 선택된 인덱스와 가장 가까운 디바이스 인덱스를 바로 다음에 배치한다(114).
그리고, 다시 배치된 디바이스 인덱스를 실험해서 측정된 조인트 토크에 따른 디바이스 인덱스에서 가장 가까운 디바이스 인덱스를 다음에 배치한다(116). 단, 이미 앞에 인덱스가 사용되었을 경우 다음으로 가까운 디바이스 인덱스를 선택한다.
이때, 디바이스 인덱스에 대해서 왼쪽 방향으로 진행할 수도 있고 오른쪽 방향으로 진행할 수도 있다. 위의 과정을 반복하되 항상 양쪽 방향으로 진행 가능성을 염두에 두고 인덱스의 거리가 가까운 방향으로 선택하여 진행한다. 예를 들어, 오른쪽으로 진행 중에 만일 현재 선택한 인덱스의 다음 가까운 디바이스 인덱스의 가까운 정도가 가장 왼쪽 디바이스 인덱스에 대해서 가장 가까운 디바이스 인덱스의 가까운 정도보다 먼 경우, 왼쪽으로 진행한다. 반대의 경우에도 마찬가지로 진행한다. 따라서 항상 왼쪽이든 오른쪽이든 가장 끝 디바이스 인덱스에서 가장 가까운 디바이스 인덱스를 추가한다(120).
이와 같이, n개(4개)의 디바이스(30)에 대해서 반복하여 배치가 완료되면(118), 이렇게 하여 생성된 디바이스 인덱스가 조인트(20) 순서 즉, 모듈(40) 간 연결 순서가 된다(122).
이렇게 얻어진 모듈(40) 간 연결 순서에서 양 끝의 디바이스(30)에서 측정된 조인트 토크를 비교하여 토크가 큰 조인트(20)가 베이스(50)와 연결된 조인트(20)에 해당하고, 토크가 작은 조인트(20)가 엔드 이펙터(60)와 연결된 조인트(20)에 해당한다.
도 4는 본 발명의 다른 실시예에 의한 모듈화 로봇에서 엔드 이펙터 위치 기반의 모듈 간 연결 순서를 추정하는 방법을 나타낸 동작 순서도이다.
도 4는 복수 개의 모듈(40)을 연결한 모듈화 로봇(100)에서 포즈 변화량은 베이스(50)에서 엔드 이펙터(60)로 갈수록 커진다. 이러한 원리를 이용하여 조인트(20)의 포즈 변화량을 측정하고, 측정된 포즈 변화량에 따라 조인트(20) 순서 즉, 모듈(40) 간 연결 순서를 추정하는 방법을 설명한 것이다.
도 4에서, 모듈화 로봇(100)은 엔드 이펙터(60)의 포즈 측정이 가능한 장치가 준비되어 있거나 엔드 이펙터(60)에 IMU(Inertial Measurement Unit)를 부착하여 포즈의 측정이 가능하다. 또한 비전(vision)이나 모션 트래커(motion tracker)를 통해 포즈를 측정할 수도 있다. 그리고 n개(예를 들어, 4개)의 조인트(20)와 연결된 n개(예를 들어, 4개)의 디바이스(30)가 모두 제어 가능하다고 가정한다(200).
먼저, 엔드 이펙터(60)의 포즈가 측정 가능하도록 엔드 이펙터(60)의 포즈 측정이 가능한 장치에 엔드 이펙터(60)를 고정하거나 IMU를 엔드 이펙터(60)에 부착한다.
그리고, n개(4개)의 모든 디바이스(30)를 제어하여 조인트(20)의 엑츄에이터(21) 상태를 오프로 만들고(202), 모듈화 로봇(100)의 모델에 기반하지 않는 조인트 마찰 보상(joint friction compensation)이 가능하다면 제어를 통해 토크 0의 상태를 만든다.
이어서, 사용자에 의해 링크(10)의 구조가 쭉 편 자세를 취하고, 현재 구조에서 베이스(50)와 엔드 이펙터(60)의 거리가 최대화 되는 형태를 취한다(204).
그리고, 모든 디바이스(30)를 제어하여 조인트(20)를 홀드(hold)하고, 조인트(20)의 현재 위치를 측정하여 그 측정된 위치를 기준 위치로 설정한다(206).
다음, n개(예를 들어, 4개)의 디바이스(30) 중 임의의 하나의 디바이스(30)를 선택하고(208), 선택한 디바이스(30)를 제외한 n-1개의 디바이스(30)는 조인트(20)를 홀드(hold)로 제어한다(210).
이어서, 선택한 디바이스(30)를 제어하여 조인트(20)의 움직임을 발생시키고, 엔드 이펙터(60)의 포즈 변화량을 측정한다(212).
이때, 포즈 변화량을 어떻게 설정하는가에 따라 모듈화 로봇(100)의 구조 변화의 민감도를 조절할 수 있다.
이어서, n개(예를 들어, 4개)의 디바이스(30)에 대해서 같은 변위로 움직이면서 위의 과정을 반복하고 엔드 이펙터(60)의 포즈 변화량을 측정한다(214).
이와 같이, n개(4개)의 디바이스(30)에 대해서 반복하여 엔드 이펙터(60)의 포즈 변화량 순서대로 디바이스 인덱스를 배치하면(216), 이렇게 하여 생성된 디바이스 인덱스가 조인트(20) 순서 즉, 모듈(40) 간 연결 순서가 된다(218).
이렇게 얻어진 모듈(40) 간 연결 순서에서 가장 변화량이 큰 조인트(20)가 베이스(50)와 연결된 조인트(20)가 된다.
도 5는 본 발명의 또 다른 실시예에 의한 모듈화 로봇에서 디바이스 가속도 변화량 기반의 모듈 간 연결 순서를 추정하는 방법을 나타낸 동작 순서도이다.
도 5는 복수 개의 모듈(40)을 연결한 모듈화 로봇(100)에서 조인트(20)의 움직임에 의해 움직임이 변하는 디바이스(30)는 디바이스(30)에 부착된 가속도 센서의 값이 변한다. 베이스(50)에 가까울수록 조인트(20)의 움직임으로 가속도에 변화가 생기는 디바이스(30)의 개수가 많아진다. 이러한 원리를 이용하여 디바이스(30)의 가속도 변화량을 측정하고, 측정된 가속도 변화량에 따라 조인트(20) 순서 즉, 모듈(40) 간 연결 순서를 추정하는 방법을 설명한 것이다.
도 5에서, 모듈화 로봇(100)은 모든 디바이스(30)에 가속도 센서가 부착되어 있다고 가정한다. 현재 개발된 휴머노이드(humanoid) 로봇은 모든 디바이스(30)에 가속도 센서가 부착되어 있다. 그리고 n개(예를 들어, 4개)의 조인트(20)와 연결된 n개(예를 들어, 4개)의 디바이스(30)가 모두 제어 가능하다고 가정한다(300).
먼저, n개(예를 들어, 4개)의 디바이스(30) 중 임의의 하나의 디바이스(30)를 선택하고(302), 선택한 디바이스(30)를 제외한 n-1개의 디바이스(30)는 조인트(20)를 홀드(hold)로 제어한다(304).
이어서, 선택한 디바이스(30)만 일정량만큼 움직이면서 모든 디바이스(30)의 가속도 센서의 변화를 측정하고, 선택한 디바이스(30)를 움직일 때 가속도에 변화가 생기는 디바이스(30)의 개수의 합을 기록한다(306).
그리고, n개(4개)의 디바이스(30)에 대해서 일정량만큼 움직이면서 위의 과정을 반복하고 디바이스(30)의 가속도 변화량을 측정한다(308).
이와 같이, n개(4개)의 디바이스(30)에 대해서 반복하여 가속도의 변화가 생기는 디바이스(30)의 개수의 합이 큰 것부터 작아지는 순서로 디바이스 인덱스를 배치하면(310), 그것이 조인트(20) 순서 즉, 모듈(40) 간 연결 순서가 된다(312).
이렇게 얻어진 모듈(40) 간 연결 순서에서 디바이스(30)의 개수의 합이 가장 큰 첫 조인트(20)가 베이스(50)와 연결된 조인트(20)가 된다.
다음에는, 도 3 내지 도 5를 통해 추정된 3개의 모듈(40) 간 연결 순서를 이용하여 n개의 모듈(40) 간 연결 순서를 재배치하는 방법에 대하여 설명한다.
이를 위해 먼저, 도 3 내지 도 5를 통해 추정된 3개의 모듈(40) 간 연결 순서에 대해서 각 디바이스 인덱스의 상대적 거리를 계산한다.
그리고, 3개의 모듈(40) 간 연결 순서에서 얻어진 디바이스 인덱스의 상대적 거리를 평균한다.
이후, 평균된 상대적 거리에 따라서 디바이스 인덱스를 다시 배치한다.
이에 따라, 모듈(40)을 복수 개 연결한 모듈화 로봇(100)에서 사용자는 어느 디바이스(30)에 어느 조인트(20)가 연결되었는지에 대한 사전 지식없이 모듈화 로봇(100)의 조인트(20)를 제어할 수 있게 된다.
10 : 링크 20 : 조인트
21 : 엑츄에이터 23 : 센서
24 : 링크 연결부 30 : 디바이스
31 : 엑츄에이터 구동부 32 : 센서 신호 처리부
33 : 제어부 34 : 통신부
40 : 모듈 50 : 베이스
60 : 엔드 이펙터 100 : 모듈화 로봇

Claims (17)

  1. 조인트와, 상기 조인트에 연결된 링크와, 상기 조인트를 제어하는 디바이스로 구성된 모듈을 복수 개 연결한 모듈화 로봇에서 상기 모듈 간의 연결 순서를 추정하는 방법에 있어서,
    상기 복수 개의 모듈에 각각 마련된 조인트를 순차적으로 움직이고;
    상기 복수 개의 조인트를 순차적으로 움직이는 과정에서 상기 복수 개의 조인트에 가해지는 토크를 측정하고;
    상기 측정된 조인트에 가해지는 토크의 크기에 따라 상기 디바이스의 인덱스를 배치하고;
    상기 배치된 디바이스의 인덱스를 비교하여 상기 복수 개의 모듈 간 연결 순서를 추정하는 모듈화 로봇의 모듈 간 연결 순서 추정 방법.
  2. 제1항에 있어서,
    상기 복수 개의 조인트를 순차적으로 움직이는 것은,
    상기 복수 개의 조인트 중 하나를 선택하여 움직이고;
    상기 움직이는 조인트를 제외한 다른 조인트들은 홀드로 제어하는 모듈화 로봇의 모듈 간 연결 순서 추정 방법.
  3. 제2항에 있어서,
    상기 복수 개의 조인트에 가해지는 토크를 측정하는 것은,
    상기 복수 개의 조인트를 순차적으로 움직일 때, 상기 움직이는 조인트를 제외한 다른 조인트들에 가해지는 토크를 순차적으로 측정하는 모듈화 로봇의 모듈 간 연결 순서 추정 방법.
  4. 제3항에 있어서,
    상기 디바이스의 인덱스를 배치하는 것은,
    상기 복수 개의 조인트를 순차적으로 움직일 때마다 측정되는 상기 조인트에 가해지는 토크의 크기가 큰 값에서 작은 값으로 상기 움직이는 조인트에 가까운 데서 먼 순서로 배치하는 모듈화 로봇의 모듈 간 연결 순서 추정 방법.
  5. 제4항에 있어서,
    상기 디바이스의 인덱스는,
    상기 움직이는 조인트에 가까운 데서 먼 순서로 상기 복수 개의 조인트 수만큼 배치되는 모듈화 로봇의 모듈 간 연결 순서 추정 방법.
  6. 제5항에 있어서,
    상기 복수 개의 모듈 간 연결 순서를 추정하는 것은,
    상기 복수 개의 조인트 수만큼 배치된 상기 디바이스의 인덱스 중에서 하나를 선택하고;
    상기 선택된 디바이스의 인덱스와 가장 가까운 디바이스의 인덱스를 다음에 배치하고;
    상기의 과정을 상기 복수 개의 디바이스의 인덱스에 대해서 반복하여 상기 복수 개의 모듈 간 연결 순서를 추정하는 모듈화 로봇의 모듈 간 연결 순서 추정 방법.
  7. 조인트와, 상기 조인트에 연결된 링크와, 상기 조인트를 제어하는 디바이스로 구성된 모듈을 복수 개 연결한 모듈화 로봇에서 상기 모듈 간의 연결 순서를 추정하는 방법에 있어서,
    상기 복수 개의 모듈에 각각 마련된 조인트의 위치를 모두 측정하여 상기 측정된 위치를 기준 위치로 설정하고;
    상기 복수 개의 조인트를 순차적으로 움직이면서 엔드 이펙터의 포즈 변화량을 측정하고;
    상기 측정된 포즈 변화량에 따라 상기 디바이스의 인덱스를 배치하고;
    상기 배치된 디바이스의 인덱스의 크기에 따라 상기 복수 개의 모듈간 연결 순서를 추정하는 모듈화 로봇의 모듈 간 연결 순서 추정 방법.
  8. 제7항에 있어서,
    상기 복수 개의 조인트를 오프시키는 제1동작;
    상기 복수 개의 모듈에 마련된 각각의 링크들이 쭉 편 자세가 되도록 상기 복수 개의 조인트를 제어하는 제2동작;
    상기 복수 개의 조인트를 홀드하는 제3동작을 더 포함하고,
    상기 제1 내지 제3동작은, 상기 복수 개의 조인트의 위치를 측정하기 전에 수행되는 모듈화 로봇의 모듈 간 연결 순서 추정 방법.
  9. 제7항에 있어서,
    상기 포즈 변화량을 측정하는 것은,
    상기 복수 개의 조인트 중 하나를 선택하여 움직이고;
    상기 하나의 조인트가 움직일 때 변화하는 상기 엔드 이펙터의 포즈 변화량을 측정하는 모듈화 로봇의 모듈 간 연결 순서 추정 방법.
  10. 제9항에 있어서,
    상기 디바이스의 인덱스를 배치하는 것은,
    상기 복수 개의 조인트에 대해서 같은 변위로 움직이면서 상기 엔드 이펙터의 포즈 변화량을 측정하여 상기 측정된 포즈 변화량이 큰 순서대로 상기 디바이스의 인덱스를 배치하는 모듈화 로봇의 모듈 간 연결 순서 추정 방법.
  11. 제10항에 있어서,
    상기 엔드 이펙터의 포즈 변화량이 가장 큰 조인트가 베이스와 연결된 조인트라고 판단하는 것을 더 포함하는 모듈화 로봇의 모듈간 연결 순서 추정 방법.
  12. 조인트와, 상기 조인트에 연결된 링크와, 상기 조인트를 제어하는 디바이스로 구성된 모듈을 복수 개 연결한 모듈화 로봇에서 상기 모듈 간의 연결 순서를 추정하는 방법에 있어서,
    상기 복수 개의 모듈에 각각 마련된 조인트를 순차적으로 움직이면서, 상기 복수 개의 모듈에 각각 마련된 디바이스의 가속도 변화량을 측정하고;
    상기 측정된 가속도 변화량에 따라 상기 디바이스의 인덱스를 배치하고;
    상기 배치된 디바이스의 인덱스의 크기에 따라 상기 복수 개의 모듈간 연결 순서를 추정하는 모듈화 로봇의 모듈 간 연결 순서 추정 방법.
  13. 제12항에 있어서,
    상기 복수 개의 조인트를 순차적으로 움직이는 것은,
    상기 복수 개의 조인트 중 하나를 선택하여 움직이고;
    상기 움직이는 하나의 조인트를 제외한 다른 조인트들은 홀드로 제어하는 모듈화 로봇의 모듈 간 연결 순서 추정 방법.
  14. 제12항에 있어서,
    상기 가속도 변화량을 측정하는 것은,
    상기 복수 개의 조인트 중 하나를 선택하여 움직이고;
    상기 하나의 조인트가 움직일 때 변화하는 상기 복수 개의 디바이스의 가속도 변화량을 측정하는 모듈화 로봇의 모듈 간 연결 순서 추정 방법.
  15. 제14항에 있어서,
    상기 디바이스의 인덱스를 배치하는 것은,
    상기 복수 개의 조인트에 대해서 같은 변위로 움직이면서 상기 가속도 변화량을 측정하여 상기 측정된 가속도 변화량이 큰 순서대로 상기 디바이스의 인덱스를 배치하는 모듈화 로봇의 모듈 간 연결 순서 추정 방법.
  16. 제15항에 있어서,
    상기 가속도 변화량이 가장 큰 조인트가 베이스와 연결된 조인트라고 판단하는 것을 더 포함하는 모듈화 로봇의 모듈 간 연결 순서 추정 방법.
  17. 조인트와, 상기 조인트에 연결된 링크와, 상기 조인트를 제어하는 디바이스로 구성된 모듈을 복수 개 연결한 모듈화 로봇에서 상기 모듈 간의 연결 순서를 추정하는 방법에 있어서,
    상기 복수 개의 모듈에 각각 마련된 조인트를 순차적으로 움직이면서 상기 복수 개의 조인트에 가해지는 토크를 측정하여 상기 복수 개의 모듈간 연결 순서를 1차 추정하고;
    상기 복수 개의 조인트를 순차적으로 움직이면서 엔드 이펙터의 포즈 변화량을 측정하여 상기 복수 개의 모듈간 연결 순서를 2차 추정하고;
    상기 복수 개의 조인트를 순차적으로 움직이면서 상기 복수 개의 모듈에 각각 마련된 디바이스의 가속도 변화량을 측정하여 상기 복수 개의 모듈간 연결 순서를 3차 추정하고;
    상기 1차 내지 3차 추정된 상기 복수 개의 모듈간 연결 순서를 이용하여 상기 복수 개의 조인트의 상대적 거리를 계산하고;
    상기 계산된 상기 복수 개의 조인트의 상대적 거리를 평균하여 상기 복수 개의 모듈간 연결 순서를 재배치하는 모듈화 로봇의 모듈 간 연결 순서 추정 방법.
KR1020100126852A 2010-12-13 2010-12-13 모듈화 로봇의 모듈 간 연결 순서 추정 방법 KR101789758B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100126852A KR101789758B1 (ko) 2010-12-13 2010-12-13 모듈화 로봇의 모듈 간 연결 순서 추정 방법
US13/280,591 US9067318B2 (en) 2010-12-13 2011-10-25 Method for estimating connection orders of modules of modular robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100126852A KR101789758B1 (ko) 2010-12-13 2010-12-13 모듈화 로봇의 모듈 간 연결 순서 추정 방법

Publications (2)

Publication Number Publication Date
KR20120065626A KR20120065626A (ko) 2012-06-21
KR101789758B1 true KR101789758B1 (ko) 2017-10-25

Family

ID=46200159

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100126852A KR101789758B1 (ko) 2010-12-13 2010-12-13 모듈화 로봇의 모듈 간 연결 순서 추정 방법

Country Status (2)

Country Link
US (1) US9067318B2 (ko)
KR (1) KR101789758B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2661067B1 (es) * 2016-06-20 2019-01-16 Erle Robotics S L Metodo de determinacion de configuracion de un robot modular
CN110297432B (zh) * 2018-03-21 2021-07-02 北京猎户星空科技有限公司 机器人动作序列生成方法、装置和系统
EP3807059A1 (en) * 2018-06-15 2021-04-21 Co-Robotics S.r.l. A modular system and method for the making and/or prototype production of self-configuring systems

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5523662A (en) * 1994-05-02 1996-06-04 Engineering Services, Inc. Modular, expandable and reconfigurable robot
US9101379B2 (en) * 2010-11-12 2015-08-11 Intuitive Surgical Operations, Inc. Tension control in actuation of multi-joint medical instruments

Also Published As

Publication number Publication date
KR20120065626A (ko) 2012-06-21
US9067318B2 (en) 2015-06-30
US20120150348A1 (en) 2012-06-14

Similar Documents

Publication Publication Date Title
RU2672654C2 (ru) Способ и система для определения по меньшей мере одного свойства манипулятора
JP6182143B2 (ja) ロボットの較正およびプログラミング
CN108883533B (zh) 机器人控制
JP4625110B2 (ja) 把握型ハンド
JP2011069816A (ja) 回転絶対位置センサを較正するためのシステムおよび方法
JP5357847B2 (ja) ロボット親指アセンブリ
KR101537039B1 (ko) 로봇 및 그 제어방법
JP2015089605A (ja) マスタスレーブシステム
JP2018524186A (ja) ロボット環境の特徴付け
US20130278500A1 (en) Side-type force sense interface
JP2019018340A (ja) 作業用ロボット、作業用ロボットの制御方法
Focchi et al. Torque-control based compliant actuation of a quadruped robot
KR101789758B1 (ko) 모듈화 로봇의 모듈 간 연결 순서 추정 방법
JP6773084B2 (ja) 動作教示装置、ロボットシステム及び動作教示方法
US20230063392A1 (en) Robotic device
US11344380B2 (en) Control device for robot system
JP2023508911A (ja) ロボットマニピュレータの仮想力センサの較正
Palli et al. Integration of an optical force sensor into the actuation module of the DEXMART Hand
KR100500964B1 (ko) 의료 시술 장치의 3차원 위치 측정 및 고정기구
JP2009196040A (ja) ロボットシステム
JP3928041B2 (ja) 機器操作用パラレル機構及びその設計方法
Devie et al. Accurate force control and co-manipulation control using hybrid external command
JP2019512785A (ja) マニピュレータを用いて対象物を空間的に動作させるシステム及び方法
WO2018153474A1 (en) Robot system, method for programming a robot manipulator and control system
JP2018030190A (ja) パラレルリンクロボットシステム

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
GRNT Written decision to grant