KR20140054589A - 로봇 제어 장치 및 방법 - Google Patents

로봇 제어 장치 및 방법 Download PDF

Info

Publication number
KR20140054589A
KR20140054589A KR1020120120263A KR20120120263A KR20140054589A KR 20140054589 A KR20140054589 A KR 20140054589A KR 1020120120263 A KR1020120120263 A KR 1020120120263A KR 20120120263 A KR20120120263 A KR 20120120263A KR 20140054589 A KR20140054589 A KR 20140054589A
Authority
KR
South Korea
Prior art keywords
robot
contact position
information
robot control
control device
Prior art date
Application number
KR1020120120263A
Other languages
English (en)
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 KR1020120120263A priority Critical patent/KR20140054589A/ko
Priority to JP2013089427A priority patent/JP6270334B2/ja
Publication of KR20140054589A publication Critical patent/KR20140054589A/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/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator

Abstract

로봇 제어 장치 및 로봇 제어 방법이 개시된다.
본 발명의 실시예에서는, 접촉 상황에 있는 다관절 로봇에 대한 기하정보(로봇 링크(link)의 표면정보)와 운동학정보(관절변수)를 이용하여 움직임이 교차하는 부분을 접촉위치로 추정함으로써, 접촉센서가 장착되어 있지 않은 다관절 로봇의 링크 부분에 대해서도 촉감을 제공할 수 있는 로봇 제어 기술을 제안하고자 한다. 또한 본 발명의 실시예에서는, 기하정보와 운동학정보를 이용하여 계산된 다관절 로봇의 링크에 대한 접촉위치에 따라 로봇의 관절을 제어함으로써, 접촉센서 없이 접촉 상태의 다관절 로봇을 안정적으로 제어할 수 있는 로봇 제어 기술을 제안하고자 한다.

Description

로봇 제어 장치 및 방법{APPARATUS FOR PROVIDING ROBOT CONTROL AND METHOD THEREFOR}
본 발명은 로봇 제어 기술에 관한 것으로, 특히 접촉 상황에 있는 다관절 로봇에 대하여 접촉센서 없이 접촉위치를 검출하고, 이를 활용하여 접촉 상태의 다관절 로봇을 안정적으로 제어하는데 적합한 로봇 제어 장치 및 로봇 제어 방법에 관한 것이다.
최근 인간형 로봇의 개발이 활발하게 이루어짐에 따라 이러한 로봇들이 인간 환경에서 잘 적응하도록 하는 연구의 필요성이 대두되고 있다. 인간 환경은 기존의 산업용 로봇이 작업을 수행하던 공간인 공장 조립라인보다 훨씬 복잡하고 정형화 되어있지 않다. 따라서, 로봇이 인간 환경에서 잘 적응하기 위해서는 인간이 가진 수준의 지각능력이 필요하다. 특히, 로봇과 주위 환경 간의 접촉 상황이 증대되면서 로봇의 촉각 능력에 대한 필요성에 직면하고 있다.
기존의 접촉위치 인지 방법은 주로 촉각센서에만 의존하고 있었기 때문에 접촉센서가 설치되어있지 않은 부분에 대해 인식의 한계를 지니고 있다. 특히, 로봇의 촉각센서는 대부분 로봇의 끝 단(end-effecter)에 장착되기 때문에 접촉상태의 로봇을 제어하는 알고리즘 또한 주로 로봇의 끝 단에서 수행되는 작업만을 고려하여 연구되고 있다. 이에 반해, 사람은 어떠한 작업을 수행함에 있어 손 끝뿐만 아니라 몸통이나 팔다리 등 몸 전체의 촉각을 이용함으로써 많은 도움을 받는다. 특히, 시야를 확보하기 어려운 경우에는 몸으로부터의 촉각을 이용하는 것이 굉장히 중요하다.
촉각을 사용하는 한 예로 사람이 의자에 앉는 경우를 생각해보자. 사람은 시각으로부터 의자의 위치에 대한 대략적인 정보를 얻어와서 의자에 다가간다. 하지만, 시각으로부터 얻어오는 위치 정보가 정확하게 정량적으로 계산되는 것이 아닐 뿐만 아니라 의자에 앉는 순간에는 의자를 등지는 자세를 취하기 때문에 의자에 대한 시야를 확보할 수 없다. 따라서, 사람이 의자에 앉기 위해서는 팔이나 다리를 통해 느껴지는 촉각의 도움이 필요하다. 이처럼 몸 전체에 대한 촉감을 활용하는 것은 로봇이 인간 환경에 적응하는 데에 굉장한 이점을 제공하므로 필연적이라고 할 수 있다.
한국공개특허 2011-0100051호, 접촉위치 검출장치 및 접촉위치 검출방법, 2011.09.09 공개
이에 본 발명의 실시예에서는, 접촉 상황에 있는 다관절 로봇에 대한 기하정보(로봇 링크(link)의 표면정보)와 운동학정보(관절변수)를 이용하여 움직임이 교차하는 부분을 접촉위치로 추정함으로써, 접촉센서가 장착되어 있지 않은 다관절 로봇의 링크 부분에 대해서도 촉감을 제공할 수 있는 로봇 제어 기술을 제안하고자 한다.
또한 본 발명의 실시예에서는, 기하정보와 운동학정보를 이용하여 계산된 다관절 로봇의 링크에 대한 접촉위치에 따라 로봇의 관절을 제어함으로써, 접촉센서 없이 접촉 상태의 다관절 로봇을 안정적으로 제어할 수 있는 로봇 제어 기술을 제안하고자 한다.
본 발명의 실시예에 따르면, 로봇의 기하정보와 운동학정보를 이용하여 상기 로봇의 움직임이 교차하는 부분을 상기 로봇의 링크와 주변환경 간의 접촉위치로 검출하는 접촉위치 검출부와, 상기 접촉위치 검출부에서 검출되는 접촉위치에 따라 상기 로봇의 링크에 대한 관절토크를 계산하고, 계산되는 상기 관절토크에 따라 상기 로봇의 움직임을 제어하는 접촉상태 제어부를 포함하는 로봇 제어 장치를 제공할 수 있다.
여기서, 상기 접촉위치 검출부는 상기 로봇의 링크의 배열 형태에 따른 표면정보의 움직임 변화에 대응하는 교점을 상기 접촉위치로 검출할 수 있다.
또한, 상기 기하정보는 표면정보를 포함할 수 있다.
또한, 상기 표면정보는 n차원 모델(상기 n은 0을 포함하는 자연수)을 포함할 수 있다.
또한, 상기 운동학정보는 상기 로봇의 관절각도를 포함할 수 있다.
또한, 상기 관절각도는 상기 로봇의 관절장치 내에 포함되는 엔코더(encoder)를 통해 검출될 수 있다.
또한, 상기 접촉위치 검출부는, 상기 로봇의 기하정보를 저장하는 기하정보 저장부와, 상기 로봇의 관절변수를 저장하는 운동학정보 저장부와, 상기 기하정보 및 관절변수를 이용하여 상기 로봇의 링크와 주변환경 간의 접촉위치를 계산하는 접촉위치 계산부를 포함할 수 있다.
또한, 상기 접촉위치 검출부는, 상기 접촉위치에 대한 오차를 보정하는 오차 보정부를 더 포함할 수 있다.
또한, 상기 오차 보정부는, 상기 주변환경이 볼록한 환경일 경우에 발생되는 접촉오차를 보정할 수 있다.
또한, 상기 접촉위치 검출부는, 상기 기하정보의 방위의 변화량의 추정 성능각에 따라 상기 기하정보의 교선을 계산할 수 있다.
또한, 상기 접촉상태 제어부는, 상기 접촉위치 검출부에서 계산되는 접촉위치를 저장하는 접촉위치 저장부와, 상기 접촉위치 저장부에 저장되는 접촉위치에 따라 상기 로봇의 링크에 대한 관절토크를 계산하는 관절토크 계산부를 포함할 수 있다.
또한, 상기 접촉상태 제어부는, 상기 접촉위치 검출부에서 계산되는 접촉위치에 따른 접촉 자코비안 정보를 계산하는 자코비안 계산부를 더 포함할 수 있다.
또한, 상기 자코비안 계산부는, 상기 계산되는 접촉위치에 따라 상기 접촉 자코비안 정보를 실시간으로 갱신 처리할 수 있다.
본 발명의 실시예에 따르면, 로봇의 기하정보와 운동학정보를 이용하여 상기 로봇의 움직임이 교차하는 부분을 상기 로봇의 링크와 주변환경 간의 접촉위치로 검출하는 과정과, 검출되는 상기 접촉위치에 따라 상기 로봇의 링크에 대한 관절토크를 계산하는 과정과, 계산되는 상기 관절토크에 따라 상기 로봇의 움직임을 제어하는 과정을 포함하는 로봇 제어 장치의 로봇 제어 방법을 제공할 수 있다.
여기서, 상기 검출하는 과정은, 상기 로봇의 링크의 배열 형태에 따른 표면정보의 움직임 변화에 대응하는 교점을 상기 접촉위치로 검출하는 과정을 포함할 수 있다.
또한, 상기 검출하는 과정은, 상기 접촉위치에 대한 오차를 보정하는 과정을 포함할 수 있다.
또한, 상기 검출하는 과정은, 상기 기하정보의 방위의 변화량의 추정 성능각에 따라 상기 기하정보의 교선 및 교점을 계산하는 과정을 포함할 수 있다.
또한, 상기 계산하는 과정은, 상기 접촉위치에 따른 접촉 자코비안 정보를 계산하는 과정을 더 포함할 수 있다.
또한, 상기 접촉 자코비안 정보는, 상기 접촉위치에 따라 실시간 갱신되는 것을 특징으로 할 수 있다.
본 발명에 의하면, 접촉 상황에 있는 다관절 로봇에 대한 기하정보와 운동학정보를 이용하여 움직임이 교차하는 부분을 접촉위치로 판단함으로써, 접촉센서 없이도 접촉 상태의 다관절 로봇을 안정적으로 제어할 수 있다.
도 1은 본 발명의 실시예에 따른 로봇 제어 장치에 대한 블록도,
도 2는 도 1의 접촉위치 검출 장치에서 접촉위치를 기하학적으로 검출하는 경우를 설명하는 개념도,
도 3은 도 2의 접촉위치 검출 기술을 보다 구체적으로 도시한 개념도,
도 4는 본 발명의 실시예에 따라 접촉위치를 검출함에 있어 직선모델을 통한 오차보정 기술을 예시적으로 설명하는 개념도,
도 5는 본 발명의 실시예에 따른 로봇 제어 방법, 구체적으로 다관절 로봇의 접촉위치 검출 과정을 예시적으로 설명하는 흐름도,
도 6은 본 발명의 실시예에 따라 접촉위치를 검출함에 있어 평면모델을 이용한 경우를 예시적으로 설명하는 개념도,
도 7은 도 1의 자코비안 계산부의 계산 방법을 예시적으로 설명하는 개념도,
도 8 및 도 9는 본 발명의 실시예에 따른 로봇 제어 방법, 구체적으로 추정된 접촉위치에 따라 로봇을 제어하는 과정을 예시적으로 설명하는 흐름도.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 도면부호는 동일 구성 요소를 지칭한다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
실시예의 설명에 앞서, 본 발명은 접촉 상황에 있는 다관절 로봇에 대한 기하정보(로봇 링크의 표면정보)와 운동학정보(관절변수)를 이용하여 움직임이 교차하는 부분을 접촉위치로 판단함으로써, 접촉센서가 장착되어 있지 않은 다관절 로봇의 링크 부분에 대해서도 촉감을 제공하여 접촉 상태의 다관절 로봇을 안정적으로 제어하고자 하는 것으로, 이러한 기술 사상으로부터 본 발명의 목적으로 하는 바를 용이하게 달성할 수 있을 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 로봇 제어 장치에 대한 블록도로서, 크게 접촉위치 검출부(100)와 접촉상태 제어부(200)를 포함할 수 있다.
본 발명의 실시예에서는 이러한 접촉위치 검출부(100)와 접촉상태 제어부(200)를 총칭하여 로봇 제어 장치라 명명하기로 하며, 접촉위치 검출부(100)와 접촉상태 제어부(200)는 각기 별개로 동작하는 것이 아니라 상호보완적인 관계에 있음을 주지할 필요가 있다.
도 1에 도시한 바와 같이, 접촉위치 검출부(100)는, 기하정보 저장부(102), 운동학정보 저장부(104), 접촉위치 계산부(106), 오차 보정부(108) 등을 포함할 수 있다.
여기서, 기하정보 저장부(102)는 다관절 로봇의 기하정보, 예컨대 접촉이 발생하는 로봇 링크(link)의 기하정보를 저장하는 역할을 할 수 있다. 여기서, 기하정보는 로봇 링크의 표면 정보를 포함할 수 있으며, 이 표면 정보는 0차원 모델(점) 또는 1차원(직선) 모델 또는 2차원(평면) 모델 또는 3차원(입체) 모델 중 어느 하나의 모델을 포함할 수 있다.
운동학정보 저장부(104)는 로봇의 운동학정보, 예컨대 로봇의 관절변수인 각각의 관절각도를 저장하는 역할을 할 수 있다. 로봇의 관절변수는 로봇의 관절장치 내에 설치된 엔코더(encoder)(도시 생략됨)로부터 수신될 수 있다. 이러한 엔코더는 본 발명의 기술 분야에서 통상의 지식을 가진 자라면 용이하게 이해할 수 있는 바, 구체적인 구성 및 기술 설명은 생략하기로 한다.
접촉위치 계산부(106)는 기하정보 저장부(102) 및 운동학정보 저장부(104)에 저장되어 있는 정보, 예컨대 기하정보 및 운동학정보를 이용하여 로봇 링크의 접촉위치 정보를 계산하는 역할을 할 수 있다.
이때, 접촉위치 계산부(106)는, 갑작스러운 접촉에 의한 움직임에도 대응하여 접촉위치 정보를 계산할 수 있도록 등가 각도 축(equivalent angle-axis) 기법을 포함할 수 있다. 또한, 접촉위치 계산부(104)는, 기하정보 저장부(102)에 저장되어 있는 기하정보 간의 교점 계산이 불가능한 경우에도 접촉위치 정보를 계산할 수 있도록 가(pseudo) 접촉위치 계산 기법을 포함할 수 있다.
오차 보정부(108)는 접촉위치 계산부(106)를 통해 계산되는 접촉위치 정보를 보정하는 역할을 할 수 있다. 구체적으로, 오차 보정부(108)는 기하 모델을 사용함으로써 발생할 수 있는 접촉위치 추정 오차를 보정할 수 있다.
한편, 접촉상태 제어부(200)는 접촉위치 저장부(202), 자코비안(Jacobean) 계산부(204), 관절토크 계산부(206) 등을 포함할 수 있다.
여기서, 접촉위치 저장부(202)는 접촉위치 검출부(100)의 접촉위치 계산부(106)에서 계산된 접촉위치 정보를 저장하는 역할을 할 수 있다.
자코비안 계산부(204)는 접촉위치 계산부(106)에서 계산된 접촉위치 정보에 따른 접촉 자코비안 정보를 계산하는 역할을 할 수 있다. 여기서, 접촉 자코비안 정보는, 예를 들어 로봇 링크의 조인트 각도, 동작 좌표계 서보 간의 대응관계 등을 포함할 수 있으며, 이들 정보들은 접촉위치 계산부(106)에서 계산되는 접촉위치 정보에 따라 실시간으로 갱신될 수 있다.
관절토크 계산부(206)는 접촉상태 제어를 위해 접촉위치 저장부(202)에 저장된 접촉위치 정보와 자코비안 계산부(204)에서 계산되는 접촉 자코비안 정보를 이용하여 토크 값을 계산하고, 계산되는 토크 값을 로봇 관절장치 내의 관절모터(도시 생략됨)에 인가하는 역할을 할 수 있다. 이러한 토크 값이 관절모터에 인가됨으로써 관절모터가 구동될 수 있으며, 관절모터의 구동에 따라 엔코더의 관절변수가 다시 접촉위치 검출부(100)의 운동학정보 저장부(104)로 제공되는 상호보완적인 관계를 형성할 수 있다.
접촉상태에 있는 로봇의 제어를 위해서, 관절 토크 값 벡터 Г는 다음 [수학식 1]과 같이 표현될 수 있다.
Figure pat00001
[수학식 1]에서 알 수 있듯이, 관절 토크 값 벡터 Г는 접촉력을 제어하는 토크와 그 영공간에서 움직임을 제어하는 토크로 이루질 수 있다.
이하에서는, 상술한 구성과 함께 본 발명의 실시예에 따른 로봇 제어 방법, 구체적으로 다관절 로봇의 접촉위치 검출 방법과, 그에 따른 접촉상태 제어 방법에 대한 구체적인 실시예들을 보다 상세히 기술하기로 한다.
도 2는 도 1의 접촉위치 검출부(100)에서 접촉위치를 기하학적으로 검출하는 경우를 설명하는 개념도로서, 관절에 의해 움직임이 가능한 로봇의 로봇 링크(1)가 접촉환경(2)에 의해 움직임에 제한이 있을 때 접촉위치를 검출하는 경우를 설명하고자 한다.
먼저, 로봇의 특성상 관절 각도 정보를 통해 로봇 링크(1)의 배열 형태(configuration) 정보를 알 수 있고, 이 배열 형태에 따른 로봇 링크의 기하정보는 기하정보 저장부(100)에 저장될 수 있음은 주지한 바와 같다.
도 2에 나타난 접촉환경(2)과 로봇 링크(1) 간의 접촉 상황에서, 로봇의 움직임은 접촉위치에 의해 제한을 받을 수 있다. 이때, 로봇의 움직임에 따른 기하학적 형상의 움직임 또한 기하정보 저장부(102)를 통해 추적할 수 있고, 로봇의 기하학적 형상은 그 움직임에 있어서 교차점(C)을 갖게 될 것이다. 본 발명의 실시예에서는 이러한 교차점(C)을 움직임에 대한 제한, 즉 접촉위치로서 추정할 수 있다.
도 3은 도 2에서 제시한 접촉위치 검출 방법을 보다 구체적으로 도시한 개념도이다. 이해를 돕기 위해 로봇의 링크 형상이 1차원 모델, 예컨대 직선 모델로 표현될 수 있다고 가정하면, 접촉이 발생한 로봇 링크의 직선 모델을 기하정보 저장부(102)에 저장할 수 있다.
로봇 링크의 배열 형태는 관절장치 내에 장착되는 엔코더를 통해 파악이 가능하기 때문에 로봇의 움직임에 따른 직선 모델의 변화 또한 추적이 가능하다. 이때, 직선 모델의 방위(orientation)가 일정량 이상 변화할 때, 변화 전/후 순간의 직선 모델 간의 교차점을 계산함으로써 로봇의 움직임에 발생된 제한위치를 찾아낼 수 있다. 이때, 사용되는 방위의 변화량을 ‘추정 성능각’이라 명명하며, 이러한 추정 성능각은 접촉위치 검출(추정) 방법의 수행여부와 수행성능을 결정하는 데에 사용될 수 있다.
이때, 접촉위치 검출 방법은 두 직선 사이의 관계가 꼬인 위치에 있어서 교차점을 계산할 수 없을 때에도 접촉위치를 추정할 수 있는 방법을 포함할 수 있다. 예컨대, 직선들이 꼬인 위치 관계에 있어 교차점을 계산할 수 없을 때에는 접촉위치 검출 방법에 의해 두 직선 사이의 거리가 가장 가까운 점을 계산함으로써 가(pseudo) 접촉위치를 결정할 수 있다.
도 4는 본 발명의 실시예에 따라 직선 모델을 통해 접촉위치를 검출함에 있어서 도 1의 오차 보정부(108)의 오차보정 기술을 예시적으로 설명하는 개념도이다.
접촉위치 추정 알고리즘이 기하 모델의 움직임을 추적하여 교점을 계산하기 때문에 도 4와 같이 볼록한 환경(원형)과의 접촉이 발생하는 경우에는 오차가 발생할 수 있다.
이때, 오차 보정은 다음 [수학식2]과 같이 실제 접촉위치와 추정된 접촉위치 사이의 오차 값의 보정을 통해 이루어질 수 있다.
Figure pat00002
[수학식 2]에서
Figure pat00003
는 추정된 접촉위치로부터 계산된 접촉 대상 물체의 반지름이고,
Figure pat00004
는 「추정 성능각」을 의미하며,
Figure pat00005
는 추정된 접촉위치와 실제 접촉 위치 사이의 거리를 의미할 수 있다.
상술한 접촉위치 계산부(106)에 포함되는 ‘의도하지 않은 움직임의 분석’알고리즘은 아래와 같이 로봇 링크의 움직임을 등가 각도 축(equivalent angle-axis) 기법을 통해 분석함으로써 기하 모델의 움직임을 추적할 수 있다.
접촉이 발생한 링크의 프레임
Figure pat00006
은 다음 [수학식 3]에서처럼 전체 좌표계
Figure pat00007
로부터의 방위를 나타내는 행렬
Figure pat00008
과 프레임
Figure pat00009
의 원점을 나타내는 벡터
Figure pat00010
로 표현된다.
Figure pat00011
접촉이 발생한 링크의 움직임으로 인해 시간
Figure pat00012
에서의 프레임
Figure pat00014
의 표현이 달라졌을 때, 시간에 따른 프레임의 방위성 변화(회전 변환)는 다음 [수학식 4]과 같이 표현될 수 있다.
Figure pat00015
이러한 방위성 변화(회전 변환)
Figure pat00016
은 다음 [수학식 5]와 같이 등가 각도 축(equivalent angle-axis) 기법으로 하나의 회전 축
Figure pat00017
과 회전 각
Figure pat00018
로 표현할 수 있다.
Figure pat00019
도 5는 본 발명의 실시예에 따른 로봇 제어 방법, 구체적으로 다관절 로봇의 접촉위치 검출 방법을 예시적으로 설명하는 흐름도로서, 접촉위치 추정 방법의 확장된 개념을 예시한 것이다.
만일, 접촉하는 링크의 표면이 2차원 모델, 즉 평면적인 기하 모델인 경우에는, 도 6과 같이 평면 모델을 적용하여 접촉위치를 계산할 수 있다. 평면 모델의 움직임 역시 접촉위치에 의해 제한이 되므로 평면의 자취는 접촉위치를 포함하는 직선을 교선으로 남기며 변화하게 된다. 접촉으로 인한 움직임의 제한으로부터 발생되는 모든 교선은 반드시 접촉점(C)을 포함(도 6에서는 X로 표현)하고 있는 직선이 된다.
도 5에 도시한 바와 같이, 먼저 로봇이 접촉환경에 대해 최초 접촉을 인지하는 경우(S100), 접촉위치 계산부(106)는 기하정보 저장부(102)로부터의 첫 번째 평면 모델을 적용한 후 로봇의 제어에 따른 첫 번째 평면 모델의 방위 변화량이 추정 성능각을 초과하는지를 판단할 수 있다(S102)(S104). 이때에는 정확한 접촉위치를 알 수 없는 상태이기 때문에 불안정한 제어를 수행할 수밖에 없다.
첫 번째 평면 모델의 방위 변화량이 추정 성능각을 초과하게 되면 접촉위치 계산부(106)는 첫 번째 직선의 교선 정보를 계산할 수 있으며, 이와 함께 기하정보 저장부(102)로부터의 두 번째 평면 모델을 적용할 수 있다(S106). 이때도 마찬가지로 접촉위치를 모르는 상태에서의 불안정한 제어이다.
마찬가지로, 접촉위치 계산부(106)는 두 번째 평면 모델의 방위 변화량이 추정 성능각을 초과하는지를 판단할 수 있으며(S108), 동일한 방식으로 두 번째 직선의 교선을 계산하고 세 번째 평면 모델을 적용할 수 있다(S110).
이와 같이 계산된 두 교선은 접촉위치라는 하나의 공통된 점을 지니고 있으므로, 그 두 직선의 교점이 결국 접촉위치로 계산될 수 있다(S112)(S114).
이렇게 접촉위치가 계산되면, 접촉위치 계산부(106)는 해당 접촉위치 정보를 접촉상태 제어부(200)로 제공할 수 있으며, 접촉상태 제어부(200)는 접촉위치 저장부(202) 내에 해당 접촉위치 정보를 임시 저장하면서 자코비안 계산부(204)를 통해 접촉위치에 따른 접촉 자코비안을 계산할 수 있다.
또한, 접촉상태 제어부(200)는 관절토크 계산부(206)를 통해 접촉위치와 접촉 자코비안을 이용하여 관절토크를 계산할 수 있으며, 계산되는 관절토크는 도시 생략된 관절모터에 인가될 수 있다. 이에 따라, 로봇의 안정된 제어가 수행될 수 있다(S116).
이때, 본 발명의 실시예에서는, 이러한 로봇의 제어를 수행함에 있어 추가되는 평면 모델의 방위 변화량을 지속적으로 모니터링할 수 있으며, 임의의 평면 모델의 방위 변화량이 추정 성능각을 초과하는 경우에 임의의 평면 모델에 대한 직선의 교선을 계산하고 단계(S112)로 피드백 할 수 있다(S118)(S120).
도 7은 도 1의 자코비안 계산부(110)에서 접촉 자코비안 정보를 계산하는 방법을 예시적으로 설명하는 개념도이다.
상기 접촉위치 추정 방법에 의해 계산된 접촉위치에 따라 접촉 자코비안 정보는 아래 [수학식 6]을 이용하여 실시간으로 갱신되도록 한다. 이때, 제어 중심과 접촉위치는 동일할 수도 있고 서로 상이할 수도 있다.
Figure pat00020
도 8 및 도 9는 본 발명의 실시예에 따른 로봇 제어 방법, 구체적으로 접촉위치 검출 방법의 전반적인 구성을 정리한 블록도로서, 접촉위치 추정 방법 및 그와 상호작용하는 접촉상태 제어 방법의 전체적인 제어 프레임워크 블록 다이어그램이다.
먼저, 접촉이 발생한 상황에서 도 8과 같이 접촉위치 추정 방법을 시작할 수 있다.
초기의 접촉위치를 모르는 상태에서 로봇을 제어하게 되면 의도하지 않은 움직임이 발생할 수 있다.
이 움직임을 분석한 접촉위치 추정 방법은 접촉위치를 추정함으로써, 도 9와 같이 상기 접촉상태 제어부(200)의 접촉위치 저장부(202)에 접촉위치를 저장할 수 있다(S200).
이후, 상술한 바와 같은 접촉 힘 제어 공간과 움직임 제어 공간을 정의할 수 있다(S202).
자코비안 계산부(204)는 접촉위치 계산부(106)에서 추정된 접촉위치에 따라 접촉 자코비안을 재구성할 수 있다(S204).
주어진 접촉위치에 따라 접촉 공간에서 접촉력이 제어되고 움직임 제어 공간에서 로봇의 움직임이 제어될 수 있다(S206). 접촉력 제어는 로봇과 환경의 접촉을 유지시키기 위한 제어를 하고 로봇의 움직임 제어는 접촉위치를 추정할 수 있는 움직임을 만들어낸다.
이러한 접촉위치 추정 방법과 접촉상태 제어 방법은 상호보완적으로 작용할 수 있다.
이상 설명한 바와 같은 본 발명의 실시예에 의하면, 접촉 상황에 있는 다관절 로봇에 대한 기하정보(로봇 링크(link)의 표면정보)와 운동학정보(관절변수)를 이용하여 움직임이 교차하는 부분을 접촉위치로 추정함으로써, 접촉센서가 장착되어 있지 않은 다관절 로봇의 링크 부분에 대해서도 촉감을 제공할 수 있다. 구체적으로 본 발명의 실시예에서는, 기하정보와 운동학정보를 이용하여 계산된 다관절 로봇의 링크에 대한 접촉위치에 따라 로봇의 관절을 제어함으로써, 접촉센서 없이 접촉 상태의 다관절 로봇을 안정적으로 제어할 수 있는 로봇 제어 기술을 마련하고자 한다.
100: 접촉위치 검출부
102: 기하정보 저장부
104: 운동학 정보 저장부
106: 접촉위치 계산부
108: 오차 보정부
200: 접촉상태 제어부
202: 접촉위치 저장부
204: 자코비안 계산부
206: 관절토크 계산부

Claims (19)

  1. 로봇의 기하정보와 운동학정보를 이용하여 상기 로봇의 움직임이 교차하는 부분을 상기 로봇의 링크와 주변환경 간의 접촉위치로 검출하는 접촉위치 검출부와,
    상기 접촉위치 검출부에서 검출되는 접촉위치에 따라 상기 로봇의 링크에 대한 관절토크를 계산하고, 계산되는 상기 관절토크에 따라 상기 로봇의 움직임을 제어하는 접촉상태 제어부를 포함하는
    로봇 제어 장치.
  2. 제 1 항에 있어서,
    상기 접촉위치 검출부는 상기 로봇의 링크의 배열 형태에 따른 표면정보의 움직임 변화에 대응하는 교점을 상기 접촉위치로 검출하는
    로봇 제어 장치.
  3. 제 1 항에 있어서,
    상기 기하정보는 표면정보를 포함하는
    로봇 제어 장치.
  4. 제 3 항에 있어서,
    상기 표면정보는 n차원 모델(상기 n은 0을 포함하는 자연수)을 포함하는
    로봇 제어 장치.
  5. 제 1 항에 있어서,
    상기 운동학정보는 상기 로봇의 관절각도를 포함하는
    로봇 제어 장치.
  6. 제 5 항에 있어서,
    상기 관절각도는 상기 로봇의 관절장치 내에 포함되는 엔코더(encoder)를 통해 검출되는
    로봇 제어 장치.
  7. 제 1 항에 있어서,
    상기 접촉위치 검출부는,
    상기 로봇의 기하정보를 저장하는 기하정보 저장부와,
    상기 로봇의 관절변수를 저장하는 운동학정보 저장부와,
    상기 기하정보 및 관절변수를 이용하여 상기 로봇의 링크와 주변환경 간의 접촉위치를 계산하는 접촉위치 계산부를 포함하는
    로봇 제어 장치.
  8. 제 7 항에 있어서,
    상기 접촉위치 검출부는,
    상기 접촉위치에 대한 오차를 보정하는 오차 보정부를 더 포함하는
    로봇 제어 장치.
  9. 제 8 항에 있어서,
    상기 오차 보정부는, 상기 주변환경이 볼록한 환경일 경우에 발생되는 접촉오차를 보정하는
    로봇 제어 장치.
  10. 제 1 항에 있어서,
    상기 접촉위치 검출부는, 상기 기하정보의 방위의 변화량의 추정 성능각에 따라 상기 기하정보의 교선을 계산하는
    로봇 제어 장치.
  11. 제 1 항에 있어서,
    상기 접촉상태 제어부는,
    상기 접촉위치 검출부에서 계산되는 접촉위치를 저장하는 접촉위치 저장부와,
    상기 접촉위치 저장부에 저장되는 접촉위치에 따라 상기 로봇의 링크에 대한 관절토크를 계산하는 관절토크 계산부를 포함하는
    로봇 제어 장치.
  12. 제 11 항에 있어서,
    상기 접촉상태 제어부는,
    상기 접촉위치 검출부에서 계산되는 접촉위치에 따른 접촉 자코비안 정보를 계산하는 자코비안 계산부를 더 포함하는
    로봇 제어 장치.
  13. 제 12 항에 있어서,
    상기 자코비안 계산부는,
    상기 계산되는 접촉위치에 따라 상기 접촉 자코비안 정보를 실시간으로 갱신 처리하는
    로봇 제어 장치.
  14. 로봇의 기하정보와 운동학정보를 이용하여 상기 로봇의 움직임이 교차하는 부분을 상기 로봇의 링크와 주변환경 간의 접촉위치로 검출하는 과정과,
    검출되는 상기 접촉위치에 따라 상기 로봇의 링크에 대한 관절토크를 계산하는 과정과,
    계산되는 상기 관절토크에 따라 상기 로봇의 움직임을 제어하는 과정을 포함하는
    로봇 제어 장치의 로봇 제어 방법.
  15. 제 14 항에 있어서,
    상기 검출하는 과정은,
    상기 로봇의 링크의 배열 형태에 따른 표면정보의 움직임 변화에 대응하는 교점을 상기 접촉위치로 검출하는 과정을 포함하는
    로봇 제어 장치의 로봇 제어 방법.
  16. 제 14 항에 있어서,
    상기 검출하는 과정은,
    상기 접촉위치에 대한 오차를 보정하는 과정을 포함하는
    로봇 제어 장치의 로봇 제어 방법.
  17. 제 14 항에 있어서,
    상기 검출하는 과정은,
    상기 기하정보의 방위의 변화량의 추정 성능각에 따라 상기 기하정보의 교선 및 교점을 계산하는 과정을 포함하는
    로봇 제어 장치의 로봇 제어 방법.
  18. 제 14 항에 있어서,
    상기 계산하는 과정은,
    상기 접촉위치에 따른 접촉 자코비안 정보를 계산하는 과정을 더 포함하는
    로봇 제어 장치의 로봇 제어 방법.
  19. 제 18 항에 있어서,
    상기 접촉 자코비안 정보는,
    상기 접촉위치에 따라 실시간 갱신되는 것을 특징으로 하는
    로봇 제어 장치의 로봇 제어 방법.
KR1020120120263A 2012-10-29 2012-10-29 로봇 제어 장치 및 방법 KR20140054589A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120120263A KR20140054589A (ko) 2012-10-29 2012-10-29 로봇 제어 장치 및 방법
JP2013089427A JP6270334B2 (ja) 2012-10-29 2013-04-22 ロボット制御装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120120263A KR20140054589A (ko) 2012-10-29 2012-10-29 로봇 제어 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20140054589A true KR20140054589A (ko) 2014-05-09

Family

ID=50790290

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120120263A KR20140054589A (ko) 2012-10-29 2012-10-29 로봇 제어 장치 및 방법

Country Status (2)

Country Link
JP (1) JP6270334B2 (ko)
KR (1) KR20140054589A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7233164B2 (ja) 2015-05-27 2023-03-06 三菱瓦斯化学株式会社 ヒドロキシ置換芳香族化合物の製造方法
JP6799950B2 (ja) * 2016-06-15 2020-12-16 Ntn株式会社 作業装置および双腕型作業装置
CN109531574B (zh) * 2018-12-27 2021-10-29 武汉需要智能技术有限公司 一种基于舵机驱动的四轴机械臂的运动求解算法
CN110465950B (zh) * 2019-09-09 2021-01-19 北京配天技术有限公司 焊接机器人及其摆动轨迹的规划方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01210292A (ja) * 1988-02-19 1989-08-23 Toshiba Corp ロボットの環境との接触検出法
JP5471636B2 (ja) * 2010-03-12 2014-04-16 株式会社デンソーウェーブ ロボットシステム
JP2011206886A (ja) * 2010-03-30 2011-10-20 Yaskawa Electric Corp ロボットの制御装置及び方法

Also Published As

Publication number Publication date
JP2014087922A (ja) 2014-05-15
JP6270334B2 (ja) 2018-01-31

Similar Documents

Publication Publication Date Title
Almusawi et al. A new artificial neural network approach in solving inverse kinematics of robotic arm (denso vp6242)
Ju et al. Teleoperation of humanoid baxter robot using haptic feedback
Kosmopoulos Robust Jacobian matrix estimation for image-based visual servoing
CN103128729B (zh) 机器人装置和控制该机器人装置的方法
Tang et al. The design and evaluation of an ergonomic contactless gesture control system for industrial robots
US9073211B2 (en) Control system and teaching method for seven-axis articulated robot
Petrič et al. Smooth continuous transition between tasks on a kinematic control level: Obstacle avoidance as a control problem
US11498216B2 (en) Remote control manipulator system and control device
Xu et al. Visual-haptic aid teleoperation based on 3-D environment modeling and updating
KR20140054589A (ko) 로봇 제어 장치 및 방법
Back et al. Control a contact sensing finger for surface haptic exploration
Chen et al. Novel door-opening method for six-legged robots based on only force sensing
JP6504072B2 (ja) 作業領域推定装置、制御装置、制御システム、作業領域推定方法およびプログラム
JP5776486B2 (ja) ロボット制御装置、その制御方法及びプログラム
JP2014065098A (ja) ロボット装置及び多関節ロボットの軌道シミュレーション装置並びに軌道生成方法
Hebert et al. Dual arm estimation for coordinated bimanual manipulation
Lee et al. An active sensing strategy for contact location without tactile sensors using robot geometry and kinematics
Park et al. Towards real-time haptic exploration using a mobile robot as mediator
Du et al. Human-manipulator interface using particle filter
Yun et al. Accurate, robust, and real-time estimation of finger pose with a motion capture system
Ju et al. Human-centered evaluation of shared teleoperation system for maintenance and repair tasks in nuclear power plants
Denei et al. Parallel force-position control mediated by tactile maps for robot contact tasks
Nguyen et al. Evaluation of data-driven models in human-robot load-sharing
Awad et al. Human-Aided Online Terrain Classification for Bipedal Robots Using Augmented Reality
Popov et al. Robustness of interaction parameters identification technique for collaborative robots

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application