KR20120138579A - 로봇 제어 장치 - Google Patents

로봇 제어 장치 Download PDF

Info

Publication number
KR20120138579A
KR20120138579A KR1020110058156A KR20110058156A KR20120138579A KR 20120138579 A KR20120138579 A KR 20120138579A KR 1020110058156 A KR1020110058156 A KR 1020110058156A KR 20110058156 A KR20110058156 A KR 20110058156A KR 20120138579 A KR20120138579 A KR 20120138579A
Authority
KR
South Korea
Prior art keywords
target
joint
robot
value
vector
Prior art date
Application number
KR1020110058156A
Other languages
English (en)
Other versions
KR101334356B1 (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 KR1020110058156A priority Critical patent/KR101334356B1/ko
Publication of KR20120138579A publication Critical patent/KR20120138579A/ko
Application granted granted Critical
Publication of KR101334356B1 publication Critical patent/KR101334356B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/06Control stands, e.g. consoles, switchboards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • B25J9/1005Programme-controlled manipulators characterised by positioning means for manipulator elements comprising adjusting means
    • B25J9/1015Programme-controlled manipulators characterised by positioning means for manipulator elements comprising adjusting means using additional, e.g. microadjustment of the end effector
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

로봇 제어 장치가 개시된다. 본 발명의 실시예에 따른 로봇 제어 장치는 하나 이상의 조인트를 포함하는 로봇을 제어하는 로봇 제어 장치에 있어서, 초기 설정 파라미터, 현재 조인트 값 및 목표 위치를 입력 받는 입력부; 로봇의 엔드 이펙터가 목표 위치로 이동하도록 하는 조인트에 대한 목표 조인트 값을 산출하는 기구학 해석부; 목표 조인트 값을 추종하도록 로봇의 각 조인트를 제어하는 제어부를 포함하되, 기구학 해석부는 FPGA(Field-programmable Gate Array)로 구현될 수 있다.

Description

로봇 제어 장치{APPARATUS FOR CONTROLLING ROBOT}
본 발명은 범용 기구학을 이용하는 로봇 제어 기술에 관한 것으로 로봇의 제어에 필요한 조인트 각의 산출을 범용 기구학을 이용하여 실시간으로 수행할 수 있는 로봇 제어 기술에 관한 것이다.
일반적으로 로봇제어 장치는 기구학을 이용하여 로봇의 각 조인트(관절)의 각(이하, 조인트 각이라 지칭)을 산출하고, 산출된 조인트 각을 로봇으로 전송하여 로봇이 목표 위치로 동작하도록 한다.
이 때, 기구학은 한가지 타입의 로봇에 대해 조인트 각을 산출하기 때문에, 로봇 제어 장치는 각 로봇 별 기구학을 설정하여야 하는 문제가 있었다.
이에 여러 타입의 로봇의 조인트 각을 산출할 수 있는 범용 기구학이 개발되었다. 범용 기구학은 파라미터의 조정으로 다양한 로봇의 조인트 각을 수치해석적인 반복 연산을 통해 산출하는 방법으로 닫힌 해를 가진 기구학식에 비해 계산 복잡도가 높다.
이에 따라 로봇 제어 장치가 범용 기구학을 이용하여 로봇을 제어하기 위해서는 범용 기구학을 실시간으로 수행할 수 있어야 한다. 하지만, 범용 기구학 자체의 계산 복잡도가 높기 때문에 실시간 수행을 위한 연구가 이루어지고 있다.
본 발명이 이루고자 하는 기술적 과제는, 범용 기구학을 이용한 조인트 각을 산출하는 과정을 FPGA(Field-programmable Gate Array)를 이용하여 수행하는 로봇 제어 장치를 제공하는 것이다.
본 발명의 일 측면에 따르면, 하나 이상의 조인트를 포함하는 로봇을 제어하는 로봇 제어 장치에 있어서, 초기 설정 파라미터, 현재 조인트 값 및 목표 위치를 입력 받는 입력부; 상기 로봇의 엔드 이펙터가 상기 목표 위치로 이동하도록 하는 상기 조인트에 대한 목표 조인트 값을 산출하는 기구학 해석부; 상기 목표 조인트 값을 추종하도록 상기 로봇의 각 조인트를 제어하는 제어부를 포함하되, 상기 기구학 해석부는 FPGA(Field-programmable Gate Array)로 구현된 것을 특징으로 하는 로봇 제어 장치가 제공될 수 있다.
또한, 상기 기구학 해석부는 상기 초기 설정 파라미터, 상기 현재 조인트 값에 따른 엔드 이펙터의 현재 위치 및 상기 목표 위치에 대한 동차변형 행렬(homogeneous transformation matrix)를 산출하는 변형 행렬 산출부; 상기 엔드 이펙터의 현재 위치와 목표 위치에 대한 상기 동차 변형 행렬의 차이에 따른 각 조인트의 위치 차이 벡터 및 방향 차이 벡터를 산출하는 벡터 연산부; 상기 동차변형 행렬에 따라 상기 엔드 이펙터의 자코비안 행렬(Jacobian matrix)을 산출하는 자코비안 연산부; 및 상기 위치 차이 벡터, 상기 방향 차이 벡터 및 상기 자코비안 행렬를 이용하여 상기 목표 조인트 값을 산출하는 목표 조인트 값 산출부를 포함하되, 상기 벡터 연산부 및 상기 자코비안 연산부는 서로 병렬적으로 기능을 수행할 수 있다.
또한, 상기 엔드 이펙터의 현재위치와 목표위치에 대한 상기 동차 변형 행렬과, 상기 자코비안 행렬을 이용하여 상기 엔드 이펙터의 이동위치인 갱신 위치를 산출하는 갱신위치 연산부를 더 포함하되, 상기 목표 조인트 값 산출부는 상기 갱신 위치와 상기 목표 위치 간의 차이가 지정된 수치 이하인 경우, 상기 목표 조인트 값을 상기 제어부로 전송할 수 있다.
또한, 상기 기구학 해석부는 상기 갱신 위치와 상기 목표 위치 간의 차이가 지정된 수치를 초과하는 경우, 상기 갱신위치 및 상기 목표 위치에 대한 동차변형 행렬을 이용하여 상기 목표 조인트 값을 재산출할 수 있다.
본 발명의 실시예에 의하면, 범용 기구학을 이용하여 실시간으로 로봇을 제어할 수 있다.
본 발명의 실시예에 의하면, 단일 로봇 제어 장치로 다양한 로봇을 제어할 수 있다.
도 1은 로봇 제어 장치를 간략히 예시한 블록도.
도 2는 로봇 제어 장치의 기구학 해석부를 예시한 블록도.
도 3은 도 1에 예시된 로봇 제어 장치를 처리 영역별로 구분하여 예시한 도면.
이하, 로봇 제어 장치를 설명함에 있어서, 일 구성요소가 다른 구성요소로 신호를 "전송한다"로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되어 신호를 전송할 수 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 신호를 전송할 수도 있다고 이해되어야 할 것이다.
도 1은 로봇 제어 장치를 간략히 예시한 블록도이다.
도 1을 참조하면, 로봇 제어 장치는 입력부(110), 기구학 해석부(120), 제어부(130)를 포함한다.
입력부(110)는 초기 설정 파라미터, 로봇의 현재 조인트가 각 축방향을 기준으로 이동 또는 회전한 정도를 나타내는 값 또는 방향(이하 현재 조인트 값이라 지칭), 및 로봇의 엔드 이펙터(end effector)가 이동하여야 할 목표 위치를 입력 받아 기구학 해석부(120)로 전송한다. 이 때, 목표 위치는 (x, y, z, r(roll), p(pitch), y(yaw))와 같이 삼차원 상의 엔드 이펙터의 위치를 나타내는 위치벡터(x, y, z)와 엔드 이펙터의 방향을 나타내는 방향벡터(r(roll), p(pitch), y(yaw))를포함할 수 있다. 이 때, 초기 설정 파라미터는 로봇을 구성하는 링크의 길이, 각 링크 간을 연결하는 조인트의 수와 종류, 각 조인트의 이동 또는 회전할 수 있는 방향, 자유도 등의 로봇의 구조를 나타내는 초기 설정값으로 Denavit-Hartenberg(D-H) 표현법에 따른 파라미터 일 수 있다. 입력부(110)는 키보드, 키패드 등과 같은 사용자로부터 직접현재 조인트 값 및 목표 위치를 입력 받는 모듈을 구비하거나, 타 장치와 연결되어 초기 설정 파라미터, 현재 조인트 값 및 목표 위치를 전송 받는 인터페이스를 포함할 수 있다. 입력부(110)는 초기 설정 파라미터, 현재 조인트 값 및 목표 위치를 기구학 해석부(120)로 전송한다.
기구학 해석부(120)는 입력부(110)로부터 입력 받은 목표 위치로 엔드 이펙터가 이동하기 위해 로봇의 각 조인트가 현재 조인트 값에서 가산되어야 할 수치인 목표 조인트 값을 범용 기구학을 이용하여 산출한다. 즉, 기구학 해석부(120)는 초기 설정 파라미터에 따른 로봇이 현재 조인트 값에 따른 좌표에 위치한엔드 이펙터가 목표 위치로 이동한 경우, 각 조인트가 이동 또는 회전한 수치인 목표 조인트 값을 범용 기구학을 이용하여 산출한다. 기구학 해석부(120)는 목표 조인트 값을 제어부(130)로 전송한다.
이 때, 기구학 해석부(120)는 FPGA를 포함하며, FPGA의 재구성을 통해 파라미터에 따른 범용 기구학을 수행하는 모듈을 형성한다. 범용 기구학에 따른 목표 조인트 값의 연산 과정에서는 엔드 이펙터의 현재 위치와 목표위치 간의 차이에 따른각조인트의 위치 차이 벡터 및 방향 차이벡터를 산출하는 벡터 연산과, 현재 각 조인트에 대한 현재 조인트 값에 따른 자코비안 행렬을 산출하는 자코비안 연산이 수행된다. 이 때, 위치 차이 벡터는 엔드 이펙터가 현재 위치에서 목표 위치로 이동하였을 때, 각 조인트의 위치 변경을 나타내는 벡터이다. 방향 차이 벡터는 엔드 이펙터가 현재 위치에서 목표 위치로 이동하였을 때, 각 조인트의 회전각 변경을 나타내는 벡터이다. 또한 자코비안 행렬은 초기 설정 파라미터에 따른 각 조인트의 이동 거리이나 회전각과, 엔드 이펙트의 이동 거리 간의 관계를 선형적으로 나타내는 행렬이다.
기구학 해석부(120)는 각 조인트에 대한 위치 차이 벡터 및 방향 차이 벡터와 자코비안 행렬을 곱하여, 위치 차이 벡터 및 방향 차이 벡터에 따라 각 조인트를 동작시켰을 때엔드 이펙터의 위치(이하, 갱신 위치라 지칭)를 산출한다. 기구학 해석부(120)는 갱신 위치와 목표 위치의 차가 미리 지정된 수 이하인 경우, 위치 차이 벡터 및 방향 차이 벡터를 포함하는 목표 조인트 값을 산출하여 제어부(130)로 전송한다. 이 때, 기구학 해석부(120)는 엔드 이펙터의 갱신 위치와 목표 위치의 차가 미리 지정된 수를 초과하는 경우, 기구학 해석부(120)는 갱신 위치와 목표 위치에 따른 벡터 연산과, 갱신 위치에 따른 현재 조인트 값에 따른 자코비안 연산을 다시 수행한다. 기구학 해석부(120)는 다시 수행한 벡터 연산 및 자코비안 연산에 따른 위치 차이 벡터 및 방향 차이 벡터와 자코비안 행렬을 곱하여 갱신 위치를 다시 산출한다. 기구학 해석부(120)는 갱신 위치와 목표 위치의 차가 미리 지정된 수 이하일 때까지 상술한 벡터 연산, 자코비안 연산 및 갱신 위치의 산출을 반복하여 수행한다. 기구학 해석부(120)는 목표 조인트 값을 제어부(130)로 전송한다.
이 때, 벡터 연산과 자코비안 연산은 서로 독립적으로 수행될 수 있는 과정이다. 즉, 벡터 연산 과정에서 자코비안 연산 과정에 필요한 값의 변동이 발생하지 않고, 자코비안 연산 과정에서 벡터 연산에 필요한 값의 변동이 발생하지 않는다. 이에 따라, 기구학 해석부(120)는 벡터 연산과 자코비안 연산을 병렬로 수행하는 형태로 FPGA를 재구성한다. 이에 따라 기구학 해석부(120)는 계산 복잡도가 높은 벡터 연산과 자코비안 연산을 병렬로 수행함으로써, 범용 기구학에 따른 목표 조인트 값의 연산에 소모되는 시간을 줄일 수 있다. 즉, 소프트웨어적으로 범용 기구학에 따른 과정을 수행하는 경우, 벡터 연산과 자코비안 연산의 순차적인 수행으로 인해 범용 기구학에 따른 과정 전체의 수행에 소모되는 시간이 크다. 하지만 기구학 해석부(120)는 벡터 연산과 자코비안 연산을 병렬로 수행하는 형태의 FPGA를 통해 범용 기구학에 따른 과정을 수행하기 때문에 소프트웨어적으로 수행되는 경우에 비해 범용 기구학에 따른 과정을 수행하는데 소모되는 시간이 상대적으로 적다. 추후 도 2를 참조하여 기구학 해석부(120)를 상세히 설명하도록 한다.
제어부(130)는 목표 조인트 값에 따라 로봇의 각 조인트가 동작하도록 제어한다. 즉, 제어부(130)는 목표 조인트 값에 따라 로봇을 제어하여 엔드 이펙터가 목표 위치로 이동하도록 제어한다.
도 2는 로봇 제어 장치의 기구학 해석부를 구성하는 기능부를 예시한 도면이다.
도 2를 참조하면, 기구학 해석부(120)는 변형 행렬 산출부(122), 벡터 연산부(124), 자코비안 연산부(126), 갱신 위치 연산부(128) 및 목표 조인트 값 산출부(129)를 포함한다.
변형 행렬 산출부(122)는 입력부(110)로부터 초기 설정 파라미터, 현재 조인트 값, 목표 위치를 입력 받는다. 변형 행렬 산출부(122)는 엔드 이펙터를 현재 조인트 값에 따른 현재 위치와 목표 위치에 상응하는 동차 변형 행렬(homogeneous transformation matrix)를 각각 산출한다. 이하 현재 위치에 대한 동차 변형 행렬을 현재 변형 행렬이라 지칭하고, 목표 위치에 대한 동차 변형 행렬을 목표 변형 행렬이라 지칭하도록 한다. 변형 행렬 산출부(122)는 하기의 수학식 1에 따라 현재변형 행렬 및 목표 변형 행렬을 산출한다.
[수학식 1]
Figure pat00001
수학식 1은 로봇을 구성하는 베이스(BASE)에 6개의 링크가 연결된 6자유도 로봇에 대한 동차변형 행렬을 산출하는 공식이다. Tij은 i번째 조인트부터 j번째 조인트까지의 동차변형 행렬을 의미하고, T06은 베이스부터 6번째 조인트까지의 동차 변형 행렬을 의미하고, T01은 베이스부터 첫 번째 조인트 간의 동차 변형 행렬을 의미한다. Tij는 하기의 수학식 2와 같이 산출할 수 있다.
[수학식 2]
Figure pat00002
이 때,
Figure pat00003
는 하기의 수학식 3과 같이 정의될 수 있다.
[수학식 3]
Figure pat00004
이 때,
Figure pat00005
는 i번 째 조인트와 j번째 조인트의 각 좌표계의 축 방향의 차이에 따른 회전 각도이고,
Figure pat00006
는 i번 째 조인트와 j번 째 조인트의 각 좌표계의 원점 간의 거리이다.
Figure pat00007
Figure pat00008
는 초기 설정 파라미터에 의해 정의될 수 있다.
또한,
Figure pat00009
는 하기의 수학식 4에 따라 산출될 수 있다.
[수학식 4]
Figure pat00010
이 때,
Figure pat00011
는 하기의 수학식 5에 의해 산출될 수 있고,
Figure pat00012
는 j번째 조인트의 위치 벡터를 의미하며, 하기의 수학식 8과 같이 나타낼 수 있다.
[수학식 5]
Figure pat00013
I는항등 행렬(identity matrix)이고,
Figure pat00014
는 수학식 6에 따라 산출될 수 있다.
[수학식 6]
Figure pat00015
이 때,
Figure pat00016
,
Figure pat00017
Figure pat00018
는j번째 조인트의 방향 벡터
Figure pat00019
를 나타내는 수로써, 하기의 수학식 7와 같이 나타낼 수 있다.
[수학식 7]
Figure pat00020

[수학식 8]
Figure pat00021
이 때,
Figure pat00022
, 및
Figure pat00023
는 j번 째 조인트의 현재 조인트 값에 따른 방향 벡터 및 위치 벡터일 수 있다.
변형 행렬 산출부(122)는 현재 변형 행렬 및 목표 변형 행렬을 벡터 연산부(124) 및 자코비안 연산부(126)로 전송한다.
또한 변형 행렬 산출부(122)는 목표 조인트 값 산출부(129)로부터 각 조인트에 대한 위치 차이 벡터 및 방향 차이 벡터를 수신하는 경우, 위치 차이 벡터 및 방향 차이 벡터에 따른 각 조인트의 갱신 조인트 값을 산출한다. 즉, 변형 행렬 산출부(122)는 현재 조인트 값에서 위치 차이 벡터 및 방향 차이 벡터를 더하여 갱신 조인트 값을 산출한다. 변형 행렬 산출부(122)는 갱신 조인트 값에 따른 변형 행렬(이하 갱신 변형 행렬)을 산출하고, 갱신 변형 행렬을 벡터 연산부(124) 및 자코비안 연산부(126)로 전송한다. 갱신 변형 행렬의 산출 과정은 상술한 현재 변형 행렬의 산출 과정에서 입력되는 값을 갱신 조인트 값으로 대체시킨 과정일 수 있다.
벡터 연산부(124)는 현재 변형 행렬 및 목표 변형 행렬 간의 차를 이용하여 엔드 이펙터의 현재 위치와 목표 위치의 차이에 따른 각 조인트의 위치 차이벡터 및 방향 차이 벡터를 산출한다. 즉, 벡터 연산부(124)는 현재 변형 행렬 및 목표 변형 행렬 간의 차에서, 위치(x, y, z)의 차이에 따른 위치 차이 벡터 및 방향(roll, pitch, yaw)의 차이에 따른 방향 차이 벡터를 산출한다. 또한 벡터 연산부(124)는 갱신 변형 행렬을 수신하는 경우, 갱신 변형 행렬과 기 수신하였던 목표 변형 행렬 간의 차를 이용하여 위치 차이 벡터 및 방향 차이 벡터를 산출한다.
자코비안 연산부(126)는 현재 변형 행렬 또는 갱신 변형 행렬에 따라 자코비안 행렬(Jacobian matrix)을 산출한다. 예를 들어, 자코비안 연산부(126)는 엔드 이펙터에 대한 현재변형 행렬 또는 갱신 변형 행렬의 역행렬의 adjoint인 A 행렬을 생성하고, 각 조인트에 대한 현재 변형 행렬 또는 갱신 변형 행렬의 adjoint를 곱한 B행렬을 산출한다. 자코비안 연산부(126)는 A행렬과 B행렬의 곱 연산을 통하여 자코비안 행렬을 산출한다.
이 때, 벡터 연산부(124)와 자코비안 연산부(126)는 FPGA 상에서 병렬로 각 기능을 수행하도록 구성될 수 있다. 즉, 기구학 해석부(120)는 FPGA로 구현되며, 변형 행렬 산출부(122), 벡터 연산부(124) 및 자코비안 연산부(126)가 형성되도록 게이트어레이가 배열될 수 있다. 이 때, 변형 행렬 산출부(122)는 벡터 연산부(124) 및 자코비안 연산부(126) 각각으로 변형 행렬이 전송하고, 벡터 연산부(124) 및 자코비안 연산부(126)는 서로의 연산 과정에 영향을 주지 않고, 독립적으로 각 기능을 수행할 수 있다.
갱신 위치 연산부(128)는 위치 차이 벡터, 방향 차이 벡터 및 자코비안 행렬의 곱에 따른 각 조인트에 대한 갱신 위치를 산출한다. 갱신 위치 연산부(128)는 갱신 위치, 위치 차이 벡터, 방향 차이 벡터를 목표 조인트 값 산출부(129)로 전송한다.
목표 조인트 값 산출부(129)은 갱신 위치와 목표 위치와의 차이가 지정된 수치 이하인지 판단한다. 목표 조인트 값 산출부(129)는 갱신 위치와 목표 위치 간의 차가 지정된 수치 이하인 경우, 위치 차이 벡터 및 방향 차이 벡터를 포함하는 목표 조인트 값을 제어부(130)로 전송한다. 또한 목표 조인트 값 산출부(129)는 엔드 이펙터 갱신 위치와 목표 위치 간의 차가 지정된 수치를 초과하는 경우, 변형 행렬 산출부(122)로 위치 차이 벡터 및 방향 차이벡터를 전송한다.
도 3은 도 1에 예시된 로봇 제어 장치를 처리 영역별로 구분하여 예시한 도면이다. 도 3을 참조하면, 로봇 제어 장치는 인터페이스 영역(310), FPGA 처리 영역(320)및 프로세서 처리 영역(330)을 포함한다.
인터페이스 영역(310)은 도 1을 참조하여 상술한 입력부(110) 및 제어부(130)의 출력 모듈(미도시)에 해당한다. 즉, 인터페이스 영역(310)은 초기 설정 파라미터, 현재 조인트 값 및 목표 위치를 전송하는 외부 장치(305) 및 로봇(100)과의 인터페이스 역할을 수행하는 영역이다.
FPGA 처리 영역(320)은 FPGA로 구성된 기구학 해석부(120)에 해당한다. 즉, FPGA 처리 영역(320)은 도 2를 참조한 바와 같이 변형 행렬 산출부(122), 벡터 연산부(124), 자코비안 연산부(126), 갱신 위치 연산부(128) 및 목표 조인트 값 산출부(129)에 해당하는 게이트 어레이를 형성하며, 벡터 연산부(124) 및 자코비안 연산부(126)는 병렬적으로 각 기능을 수행하도록 형성될 수 있다.
프로세서 처리 영역(330)은 도 1을 참조하여 상술한 제어부(130)에 해당하는 영역이며, FPGA와는 별도의 프로세서에 의해 수행되는 영역이다.
따라서, 로봇 제어 장치는 기구학 해석부(120)가 FPGA로 구현되고, 기구학 해석부(120) 내의 자코비안 연산부(126) 및 벡터 연산부(124)가 병렬적으로 각 기능을 수행하게 하여 소프트웨어에 따라 프로세서에 의해 수행되는 일반적인 로봇 제어 장치에 비해 연산속도가 빠르다. 즉, 종래 벡터 연산 및 자코비안 연산 과정이 순차적으로 수행되도록 구현된 제어 장치에 비해, 본 발명의 일 실시예에 따른 로봇 제어 장치는 상호 독립적으로 연산이 가능한 벡터 연산 및 자코비안 연산을 병렬적으로 처리하도록 하여 연산에 소요되는 시간을 단축시킬 수 있다. 또한, FPGA로 구현하기 때문에 제어할 로봇이 변경되더라도 별도의 회로의 제작 없이, 범용적으로 기구학 해석부(120)의 각 기능을 수정하여 로봇을 제어할 수 있다.
이제까지 본 발명에 대하여 그 실시 예를 중심으로 살펴보았다. 전술한 실시 예 외의 많은 실시 예들이 본 발명의 특허청구범위 내에 존재한다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예는 한정적인 관점이 아니라 설명적인 관점에서 고려 되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그 와 동등한범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (4)

  1. 하나 이상의 조인트를 포함하는 로봇을 제어하는 로봇 제어 장치에 있어서,
    초기 설정 파라미터, 현재 조인트 값 및 목표 위치를 입력 받는 입력부;
    상기 로봇의 엔드 이펙터가 상기 목표 위치로 이동하도록 하는 상기 조인트에 대한 목표 조인트 값을 산출하는 기구학 해석부; 및
    상기 목표 조인트 값을 추종하도록 상기 로봇의 각 조인트를 제어하는 제어부를 포함하되,
    상기 기구학 해석부는 FPGA(Field-programmable Gate Array)로 구현된 것을 특징으로 하는 로봇 제어 장치.
  2. 제1 항에 있어서,
    상기 기구학 해석부는
    상기 초기 설정 파라미터, 상기 현재 조인트 값에 따른 엔드 이펙터의 현재 위치 및 상기 목표 위치에 대한 동차변형 행렬(homogeneous transformation matrix)를 산출하는 변형 행렬 산출부;
    상기 엔드 이펙터의 현재 위치와 목표 위치에 대한 상기 동차 변형 행렬의 차이에 따른 각 조인트의 위치 차이 벡터 및 방향 차이 벡터를 산출하는 벡터 연산부;
    상기 동차변형 행렬에 따라 상기 엔드 이펙터의 자코비안 행렬(Jacobian matrix)을 산출하는 자코비안 연산부; 및
    상기 위치 차이 벡터, 상기 방향 차이 벡터 및 상기 자코비안 행렬를 이용하여 상기 목표 조인트 값을 산출하는 목표 조인트 값 산출부
    를 포함하되,
    상기 벡터 연산부 및 상기 자코비안 연산부는 서로 병렬적으로 기능을 수행하는 것을 특징으로 하는 로봇 제어 장치.
  3. 제2 항에 있어서,
    상기 엔드 이펙터의 현재위치와 목표위치에 대한 상기 동차 변형 행렬과, 상기 자코비안 행렬을 이용하여 상기 엔드 이펙터의 이동위치인 갱신 위치를 산출하는 갱신위치 연산부를 더 포함하되,
    상기 목표 조인트 값 산출부는
    상기 갱신 위치와 상기 목표 위치 간의 차이가 지정된 수치 이하인 경우, 상기 목표 조인트 값을 상기 제어부로 전송하는 것을 특징으로 하는 로봇 제어 장치.
  4. 제3항에 있어서,
    상기 기구학 해석부는
    상기 갱신 위치와 상기 목표 위치 간의 차이가 지정된 수치를 초과하는 경우, 상기 갱신 위치 및 상기 목표 위치에 대한 동차변형 행렬을 이용하여 상기 목표 조인트 값을 재산출하는 것을 특징으로 하는 로봇 제어 장치.
KR1020110058156A 2011-06-15 2011-06-15 로봇 제어 장치 KR101334356B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110058156A KR101334356B1 (ko) 2011-06-15 2011-06-15 로봇 제어 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110058156A KR101334356B1 (ko) 2011-06-15 2011-06-15 로봇 제어 장치

Publications (2)

Publication Number Publication Date
KR20120138579A true KR20120138579A (ko) 2012-12-26
KR101334356B1 KR101334356B1 (ko) 2013-11-29

Family

ID=47905357

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110058156A KR101334356B1 (ko) 2011-06-15 2011-06-15 로봇 제어 장치

Country Status (1)

Country Link
KR (1) KR101334356B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180083052A (ko) * 2017-01-12 2018-07-20 한국기계연구원 모듈라 로봇의 최적구조 도출 방법
CN109015621A (zh) * 2018-07-11 2018-12-18 杭州电子科技大学 一种多轴工业机器人伺服***

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101077231B1 (ko) * 2003-05-10 2011-10-27 한국과학기술원 SoC 로봇 시스템과 그 구동방법
KR100762366B1 (ko) * 2005-12-30 2007-10-01 삼성중공업 주식회사 Fpga 소자를 이용한 로봇 제어 시스템
KR100853167B1 (ko) * 2006-10-24 2008-08-21 삼성중공업 주식회사 네트워크 기반의 탑재형 로봇 제어 시스템
KR100945884B1 (ko) 2007-11-14 2010-03-05 삼성중공업 주식회사 내장형 로봇 제어 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180083052A (ko) * 2017-01-12 2018-07-20 한국기계연구원 모듈라 로봇의 최적구조 도출 방법
CN109015621A (zh) * 2018-07-11 2018-12-18 杭州电子科技大学 一种多轴工业机器人伺服***

Also Published As

Publication number Publication date
KR101334356B1 (ko) 2013-11-29

Similar Documents

Publication Publication Date Title
WO2018107851A1 (zh) 冗余机械臂的控制方法及装置
US9149931B2 (en) Robot system, robot control device and method for controlling robot
US20200139541A1 (en) Inverse kinematics solution system for use with robots
Wang et al. Nonparametric statistical learning control of robot manipulators for trajectory or contour tracking
US10065313B2 (en) Robot manipulator system
GB2584608A (en) Robot motion optimization system and method
US10821603B2 (en) Methods and apparatus for robot control
CN111975771A (zh) 一种基于偏差重定义神经网络的机械臂运动规划方法
CN110154024B (zh) 一种基于长短期记忆神经网络增量模型的装配控制方法
US20220063097A1 (en) System for Emulating Remote Control of a Physical Robot
Kouabon et al. A Learning Framework to inverse kinematics of high DOF redundant manipulators
CN115401699B (zh) 工业机器人精度可靠性分析方法、装置、设备及存储介质
US10875176B2 (en) Process control using deep learning training model
Richter et al. Motion scaling solutions for improved performance in high delay surgical teleoperation
KR101334356B1 (ko) 로봇 제어 장치
Maddahi et al. Position referenced force augmentation in teleoperated hydraulic manipulators operating under delayed and lossy networks: A pilot study
CN106774178B (zh) 一种自动化控制***及方法、机械设备
Tan et al. Toward unified adaptive teleoperation based on damping ZNN for robot manipulators with unknown kinematics
CN116635799A (zh) 模拟装置和模拟程序
Ikeda et al. On-line optimization of avoidance ability for redundant manipulator
CN111230861A (zh) 连续体机器人轨迹跟踪控制方法、装置和计算机设备
CN114012733B (zh) 一种用于pc构件模具划线的机械臂控制方法
Ganin et al. Redundant Manipulator Control System Simulation with Adaptive Neural Network and Newton-Raphson Refinement Algorithm
US20230046793A1 (en) Robot control apparatus, robot control system, robot control method, and computer-readable storage medium storing a robot control program
Antonelli et al. Exploring the limitations and potential of digital twins for mobile manipulators in industry

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171031

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181031

Year of fee payment: 6