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

로봇장치및그제어방법 Download PDF

Info

Publication number
KR100495963B1
KR100495963B1 KR1019970032435A KR19970032435A KR100495963B1 KR 100495963 B1 KR100495963 B1 KR 100495963B1 KR 1019970032435 A KR1019970032435 A KR 1019970032435A KR 19970032435 A KR19970032435 A KR 19970032435A KR 100495963 B1 KR100495963 B1 KR 100495963B1
Authority
KR
South Korea
Prior art keywords
data
units
electronic component
configuration
unit
Prior art date
Application number
KR1019970032435A
Other languages
English (en)
Other versions
KR980008471A (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
Priority claimed from JP01904097A external-priority patent/JP3446933B2/ja
Application filed by 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR980008471A publication Critical patent/KR980008471A/ko
Application granted granted Critical
Publication of KR100495963B1 publication Critical patent/KR100495963B1/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/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/1617Cellular, reconfigurable manipulator, e.g. cebot
    • 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
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • 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
    • 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)
  • Automation & Control Theory (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Fuzzy Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

완전한 조립품(assembly)으로 조합되는 2개 이상의 분리된 그룹의 임의의 구성 유닛을 포함하는 구성에 응용되어 새로운 형태의 설계를 용이하게 할 수 있는 로봇 장치를 실현하는 것이 어려웠다. 다수의 구성 유닛들로 구성된 로봇 장치는 구성 유닛들의 형상들을 결정하기 위한 형상 정보를 저장하는 제 1 저장 수단, 구성 유닛들의 운동을 기술하기 위해 필요한 운동 정보를 저장하는 제 2 저장 수단, 구성 부품에 포함된 전자 부품에 관한 특성 정보를 저장하는 제 3 저장 수단, 및 각 구성 유닛들의 연결 상태를 검출하는 검출 수단을 포함하고, 그에 의해 제어 수단은 검출 수단의 검출 결과를 근거로 각 구성 유닛의 운동 특성과 전체적인 구조를 자동적으로 인식할 수 있으므로, 완전한 조립품으로 조합되는 2개 이상의 분리된 그룹의 임의의 구성 유닛들을 포함하는 구성에 응용될 수 있는 로봇 장치를 실현하는 것이 가능해지고 새로운 형태의 설계를 용이하게 한다.

Description

로봇 장치 및 그 제어 방법
발명의 분야
본 발명은 로봇 장치에 관한 것으로, 더 상세하게는 본 발명은 운동들을 지시하고 제어하기 위해 CPU를 사용하는 로봇 장치에 적절히 응용된다.
종래 기술의 설명
많은 로봇들은 구성 유닛의 미리 결정된 상관관계에 의해 정의된 미리 결정된 상태들로 각각 조합되는 몸체, 다리, 머리 등을 포함하는 다양한 구성 유닛들에 의해 미리 결정된 형태로 조립된다.
이러한 구조에서, 로봇은 CPU를 포함하는 마이크로컴퓨터 구조를 갖는 제어 유닛뿐만 아니라 각각의 미리 결정된 위치에 놓이는 물리량(physical amounts) 등을 검출하는 센서와 미리 결정된 자유도를 갖는 작동기를 포함한다. 제어 유닛은 각각의 센서들, 관련 프로그램들 등의 출력들을 근거로 각 작동기들의 동작들을 개별적으로 제어하고, 그에 의해 로봇이 미리 결정된 동작들을 자율적으로 운행하고 수행할 수 있도록 한다.
대안적인 방법으로, 최근에는, 예를 들면, 일본 특허 공개 공보 245784/93에 개시된 바와 같이, 다수의 관절 모듈들(joint module)과 다수의 암 모듈들(arm module)을 조합함으로써 원하는 형태로 구성될 수 있는 로봇이 고려된다.
일본 특허 공개 공보 245784/93에 개시된 로봇은 각 관절 모듈에 유일한 번호를 설정하는 기능을 갖는다. 제어 유닛은 제어 유닛과 관절 모듈들간의 통신을 통해 그에 제공된 관절 모듈들의 유일한 번호들을 근거로 각 관절 모듈들이 접속되는 접속 순서를 인식하고, 인식된 결과를 근거로 적절한 프로그램에 제어 프로그램을 재기록할 수 있다.
이러한 구성은 로봇이 로봇을 조립하기 위한 부위에서 소프트웨어를 생성하는데 필요한 일련의 동작들을 제거할 수 있도록 한다(예를 들면, 프로그램들의 편집, 컴파일, 링크 등).
그러나, 상술된 바와 같이 구성된 로봇에서는 제어 유닛이 유일한 번호를 근거로 각 관절 모듈들에 대한 접속 순서를 인식하기 때문에, 관절 모듈들에 대한 접속 순서가 변하게 되면, 그 변화에 대응하는 각 관절 모듈들에는 다시 새롭게 유일한 변호가 설정되어야 한다.
또한, 상기의 일본 특허 공개 공보 245784/93은 조작 장치를 제공하도록 되어 있기 때문에, 일본 특허 공개 공보 245784/93에 개시된 내용은, 2개 이상의 분리된 구성 유닛들의 그룹들을 포함하는 로봇을 지원하고 마이크로폰, 카메라 등과 같은 다양한 센서들을 사용하는 로봇을 지원하기에 충분하지 않다.
예를 들면, 다수의 구성 유닛들로 구성된 로봇에서, 로봇의 동작을 제어하는 제어 유닛이 각 구성 유닛들의 형상들, 작동기들 및 다수의 센서들과 같은 부품의 위치들, 이러한 부품의 기능들 등과 같은 구성 유닛들의 동작들을 제어하는데 필요한 정보를 자동적으로 얻을 수 있을 경우, 제어 유닛은, 2개 이상의 분리된 구성 유닛들의 그룹들이 완전한 조립품으로 조합되고 새로운 구성 유닛이 부가 또는 제거되거나 구성 유닛의 위치가 다시 정해질 때에도 대응하는 프로그램을 자동적으로 생성할 수 있다. 따라서, 로봇의 설계가 새로운 형태로 용이하게 구성될 수 있다.
본 발명의 요약
상기를 고려하여, 본 발명의 목적은, 2개 이상의 분리된 임의의 구성 유닛들의 그룹들이 완전한 조립품으로 조합되는 경우에 적용할 수 있고 새로운 형태의 로봇 설계를 용이하게 할 수 있는 로봇 장치를 제공하는 것이다.
본 발명의 상기 목적 및 다른 목적들은 다수의 구성 유닛들로 구성된 로봇 장치를 제공함으로써 달성된다. 로봇 장치는 구성 유닛들의 형상들을 결정하기 위한 형상 정보를 저장하는 제 1 저장 수단, 구성 유닛들의 운동을 기술하기 위해 필요한 운동 정보를 저장하는 제 2 저장 수단, 구성 유닛들에 포함된 전자 부품에 관한 특성 정보를 저장하는 제 3 저장 수단, 및 각 구성 유닛들의 연결 상태들을 검출하는 검출 수단을 포함한다.
상술된 구성에서, 제어 수단은 검출 수단에 의해 제공되는 검출 결과들에 기초하여 각 구성 유닛들의 운동 특성들과 전체 구조를 자동적으로 인식할 수 있다.
또한, 본 발명에서 로봇 장치를 구성하는 각 구성 유닛들의 각 저장 수단은 각 구성 유닛들을 제어하는 제어 수단에 의해 사용되는 제어 프로그램에 의해 전자 부품의 각 기능에 대해 공통적으로 미리 결정된 데이터 포맷으로 표현되는 제 1 데이터를 각 기능에 대해 각 전자 부품에 의해 사용되는 데이터 포맷으로 표현되는 제 2 데이터로 변환하기 위한 변환 프로그램을 저장한다.
그 결과로, 각 구성 유닛은 제어 프로그램에 의해 미리 결정된 데이터 포맷에 의존하지 않고 설계될 수 있다.
본 발명의 특성, 원리, 및 이용은 동일한 부분이 동일한 참조 번호나 문자로 지정되는 첨부 도면과 관련되어 판독될 때 다음의 상세한 설명으로부터 보다 명백해진다.
실시예의 상세한 설명
본 발명의 양호한 실시예가 첨부 도면을 참조하여 설명될 것이다.
(1) 제 1 실시예
도 1을 참고로, 참조 번호 1은 제 1 실시예에 따른 로봇을 일반적으로 도시하며, 여기서, 넓적 다리 유닛들(3A 내지 3D)과 정강이 유닛들(4A 내지 4D)은 본체 유닛(2)의 네 모서리, 즉, 전후좌우에 순서대로 착탈 가능하게 설치되고, 목 유닛(5)과 머리 유닛(6)은 본체 유닛(2)의 전단 중앙 부분에 순서대로 착탈 가능하게 설치된다.
본 실시예에서는 도 2에 도시된 바와 같이, 본체 유닛(2)이 전체 로봇(1)의 동작을 제어하는 중앙 처리 장치(CPU)(10), 추후 기술될 직렬 버스를 관리하는 직렬 버스 호스트(SBH)(11), 분배기(HUB)(12), 및 메모리(13)를 포함한다. 메모리(13)는 폭, 길이 등과 같은 본체 유닛(2)의 형상에 관한 정보(이하, "형상 정보"라고 함), 본체 유닛(2)의 질량, 회전 모멘트, 회전축의 중심, 중력 위치 등과 같은 본체 유닛(2)의 운동들을 기술하는데 필요한 정보(이하, 총괄하여 "운동 정보"라고 함), HUB(12)의 각 연결점들(p1 내지 p5)에 관한 위치 정보 등을 포함한다.
본체 유닛(2)을 제외한 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6) 각각은 HUB(14), 작동기 및 센서와 같은 전자 부품(15), 및 메모리(16)를 포함한다. 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 각 메모리들(16)은 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6) 중 대응하는 유닛에 관한 형상 정보 및 운동 정보, 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6) 중 대응하는 유닛에 포함된 각 전자 부품(15)의 기능들과 특성들에 관한 정보(이하, "특성 정보"라고 함) 등을 저장한다.
또한, 본체 유닛(2)의 HUB(12)는 IEEE(institute of electrical and electronics engineers, Inc.) 1934, 또는 USB(universal serial bus) 등과 같은 직렬 버스들(17)을 통해 각 넓적 다리 유닛들(3A 내지 3D)과 목 유닛(5)의 HUB들(14)에 접속된다. 또한, 각 넓적 다리 유닛들(3A 내지 3D)과 목 유닛(5)의 HUB들(14)은 유사한 직렬 버스들(17)을 통해 대응하는 정강이 유닛들(4A 내지 4D)의 HUB들(14)과 머리 유닛(6)의 HUB(14)에 각각 접속된다.
상기의 구성은, 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)에 배치된 작동기들에 제어 신호들을 전송하고 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 HUB들(14)과 HUB(12), 및 SBH(11)를 통해 순차적으로 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)에 배치된 센서들의 출력을 수신하기 위해, 로봇(1)의 CPU(10)가 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(16)에 저장된 다양한 정보를 판독할 수 있도록 한다.
이와 같이, 본 실시예의 로봇(1)에서, CPU(10)는 본체 유닛(2)의 메모리(13)에 저장된 HUB(12)의 각 연결점들(p1 내지 p5)에 관한 위치 정보와 본체 유닛(2)을 제외한 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(16)에 각각 저장된 형상 정보에 따라, 전체 로봇(1)의 구성, 즉, 구성 유닛들(3A 내지 3D, 5) 중 어느 것이 본체 유닛(2)의 어느 부분들에 연결되고 구성 유닛들(4A 내지 4D, 6) 중 어느 것이 구성 유닛들(3A 내지 3D, 5)에 연결되는가를 자동적으로 이해할 수 있다. 또한, CPU(10)는 본체 유닛(2)을 제외한 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(16)에 저장된 운동 정보, 특성 정보 등에 따라, 원하는 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)에 배치된 작동기들을 구동함으로써 원하는 상태로 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)을 구동할 수 있다. 이때, CPU는 또한 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)에 배치된 센서들의 출력들에 의해 구성 유닛들(3A내지 3D, 4A내지 4D, 5, 6)의 현재 상태들을 모니터할 수 있다.
실제로, 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(16)은 대응하는 전자 부품(15)을 구성하는 작동기들에 관한 특성 정보로서, 예를 들면, 각 작동기의 종류(선형 또는 회전형)와 같은 정보, "10개의 펄스들을 포함하는 펄스 신호로 구성된 제어 신호가 회전 각도를 1도 만큼 전진시키도록 요구됨"을 기술하는 정보 등을 저장한다.
동작시, CPU(10)는 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(16)로부터 상술된 바와 같은 정보를 판독하고, 예를 들어, 1도인 각도 데이터를 판독 정보에 따라 선형 운동의 이동 거리를 나타내는 10개 펄스들을 갖는 펄스 신호로 변환하기 위한 변환 프로그램을 생성한다. 이어서, CPU(10)는 구성 유닛(4A)에 배치된 작동기의 동작을 제어하도록 변환 프로그램에 의해 얻어진 이동 거리에 따라 제어 신호를 구성 유닛(4A)에 전송한다.
본 실시예에서, CPU(10)는 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6) 중 어느 것이 어느 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)에 접속되는지를 도시하는 정보에 따라 도 3에 도시된 바와 같이 각 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 접속들에 관한 트리를 생성하고, 그 트리를 도 4에서 도시되는 지시 그래프 데이터 구조의 데이터로서(이하, 이 구조는 "가상 로봇"이라고 함) 본체 유닛(2)의 메모리(13)에 저장된다.
또한, 본 실시예에서, CPU(10)는 전체 구조를 검사하기 위해 미리 결정된 간격들에서 시간 분할 방법으로, 대응하는 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(13, 16)에 저장된 각 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)에 관한 형상 정보를 순차적으로 판독한다.
여기서는 로봇(1)을 제어하기 위해 CPU(10)에 의해 실행되는 제어 절차가 도 5에 도시된 흐름도를 참고로 설명된다. 여기서는 예로서 넓적 다리 유닛(3A)의 전자 부품(15)에 포함된 작동기의 동작을 제어하는 경우가 설명된다.
먼저, CPU(10)는 단계 SP1에서 로봇(1)을 위한 제어 처리를 시작하고, 단계 SP2에서 넓적 다리 유닛(3A)의 메모리(16)로부터 다양한 정보를 판독한다. 이어서, 단계 SP3에서는 CPU(10)가 판독된 다양한 정보에 따라 넓적 다리 유닛(3A)에 배치된 작동기의 종류를 결정한다. 넓적 다리(3A)의 작동기가 선형인 것으로 결정되면, 단계 SP4로 제어 처리가 진행된다.
단계 SP4에서, CPU(10)는 미리 결정된 각도 데이터(각도)를 선형 운동의 이동 거리(길이)로 변환하고, 단계 SP5에서 이동 거리(길이)에 대응하는 제어 신호를 넓적 다리 유닛(3A)의 작동기에 전송하여, 단계 SP6에서 로봇(1)에 대한 제어 처리를 종료한다.
한편, CPU(10)가 단계 SP3에서 넓적 다리 유닛(3A)의 작동기가 회전형이라고 결정하면, 제어 처리는 단계 SP7로 진행하고, 이때 CPU(10)는, 단계 SP6에서 로봇(1)의 제어 처리를 종료하기 위해 넓적 다리 유닛(3A)의 작동기에 미리 결정된 각도 데이터(각도)에 대응하는 제어 신호를 전송한다.
상기의 처리 과정은 나머지 구성 유닛들(3B 내지 3D, 4A 내지 4D, 5, 6)에 유사하게 적용될 수 있다.
실제로, 로봇(1)에서, CPU(10)는 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)이 본체 유닛(2)에 연결될 때 한 번만 다양한 데이터를 판독할 수도 있다. 따라서, 미리 결정된 타이밍에서 로봇(1)의 CPU(10)는 본체 유닛(2)에 연결된 나머지 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6) 각각에 이동 거리를 순차적으로 설정하도록 구성된다.
상술된 바와 같이 구성된 로봇(1)에서, CPU(10)는 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(13, 16)에 저장된 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)에 관한 특성 정보, 운동 정보, 및 형상 정보에 따라 로봇(1)의 전체 구조를 알아내고, 각 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 동작들을 제어한다.
따라서, 로봇(1)에서, CPU(10)는 항상 로봇(1)의 전체 구조를 알 수 있고, 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 조합에 관계없이 각 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 동작들을 제어한다.
여기서, 로봇을 위한 프로그래밍에 대해 두 가지 경우 (A) 및 (B)가 고려된다. 경우 (A)에서, 로봇을 제어하기 위한 프로그램을 생성할 설계자는 자신이 사용할 로봇의 각 구성 유닛들을 알고, 또한 사용을 위해 이들을 조합하는 방법을 알고 있다. 일반적으로 자율적인 로봇 등에 대한 프로그래밍은 이러한 경우에 속한다. 다른 경우 (B)에서는 사용자가 로봇의 구성 유닛들을 자유롭게 선택하고 이를 완전한 조립품으로 자유롭게 조합한다. 본 실시예의 로봇을 위한 프로그래밍은 이 경우에 속한다.
또한, 로봇(가상 로봇)에 대해 시스템에 의해 자동적으로 인식되는, 즉, 어느 부분이 로봇의 머리를 구성하는지, 어느 부분이 로봇의 앞다리를 구성하는지 등에 대해 두 가지 명시 방법이 고려될 수 있다. 한 방법(1)은 설계자가 이러한 정보를 제공하는 것이고, 다른 방법(2)은 이러한 명시 정보가 각 구성 유닛들에 저장된 다양한 정보에 부가되는 것이다.
전자의 명시 방법 (1)에서, 설계자는 도 6A에 도시된 청사진 로봇(설계자에 의해 설계된 데이터 구조를 갖는 로봇)(18)에 명시 정보를 제공한다. 명시 정보는, 특정한 기능들을 갖고 하나 이상의 구성 유닛들로 이루어진 청사진 로봇(18)의 각 부분들이 머리, 앞다리 등으로 지정되고 각 부위들이 어디에 위치되는지에 대한 정보이다. 도 6A의 청사진 로봇은, 도 1의 물리적 로봇(실제 로봇)(1)의 구성 유닛들(5, 6)이 청사진 로봇(18)의 헤드를 구성하고, 구성 유닛들(3A, 4A)이 우측 앞다리들을 구성하고, 구성 유닛들(3B, 4B)이 좌측 앞다리들을 구성하고, 구성 유닛들(3C, 4C)이 우측 뒷다리들을 구성하고, 구성 유닛들(3D, 4D)이 좌측 뒷다리들을 구성하고, 구성 유닛들(3A, 4A, 3B, 4B)이 앞다리 부분을 구성하고; 구성 유닛들(3C, 4C, 3D, 4D)이 뒷다리 부분을 구성하며, 모든 구성 유닛들이 완전한 로봇을 완성시키는 것을 의미한다. 물론, 보다 상세한 명세가 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)에 대해 제공될 수 있다. 예를 들면, 좌측 뒷다리는 정강이 유닛(4C)과 넓적 다리 유닛(3C)으로 분류될 수 있다.
로봇을 위한 프로그램 중 전자의 경우 (A)에서, 설계자는 청사진 로봇만을 이용하여 청사진 로봇과 실제 구성 유닛들간의 정보 통신을 위해 청사진 로봇을 가상 로봇에 대응시킨다.
한편, 로봇을 위한 프로그램 중 후자의 경우 (B)에서는 자율적인 로봇을 위한 프로그램을 생성하는 것이 어렵다. 이는 프로그램 생성시 로봇이 타이어들(tires)을 가지고 있는지의 여부, 로봇이 얼마나 많은 다리들을 가지고 있는지 등에 관해 알려져 있지 않기 때문이다.
그러나, 가상 로봇에 관한 정보를 판독하고, 개인용 컴퓨터에 데이터를 전송하며, 트리 구조로부터의 로봇의 현재 형상을 개인용 컴퓨터의 디스플레이 상에 도시하는 것이 가능하다.
이러한 경우(즉, 경우 (B))에, 로봇의 각 구성 유닛들은 개인용 컴퓨터에서 그래픽 사용자 인터페이스(GUI)를 이용하여 서로 작용하면서 이동될 수 있다. 실제로 상호 작용 동작을 실행할 때, 시스템의 가상 로봇은 개인용 컴퓨터에 전달될 수도 있다.
또한, 이러한 경우에 상기와 대조되는 방법으로 대안적인 방법의 시스템이 수립될 수 있다. 특히, 개인용 컴퓨터에 각 구성 유닛들이 어떻게 연결되는지를 도시하는 미리 결정된 설계 도면이 제공될 수도 있어(실제로, 설계 도면은 가상 로봇과 동일한 데이터 구조를 갖는다), 예를 들면, 개인용 컴퓨터의 디스플레이 상에 그래픽으로 표시되는 로봇 영상의 대응하는 위치들을 번쩍거리게 함으로써, 에러가 있는 구성 유닛들의 사용, 연결 순서가 정확하지 않은 것 등을 사용자에게 알리기 위해 로봇으로부터 전송된 현재 사용되는 구성 유닛들을 설계 도면상의 각 구성 유닛들과 형상으로 비교하게 된다.
상술된 구성을 요약하여, 프로그래밍 방법으로서는 다음의 경우 (A) 및 (B)가 있다.
(A) 설계자가 로봇의 구성을 아는 경우.
(B) 사용자가 로봇의 구성을 자유롭게 변화시킬 수 있는 경우.
또한, 어떤 부품 또는 어떤 부품의 조합들이 효율적인지에 관한 정보에 대해 다음의 방법 (1) 및 (2)가 있다.
(1) 설계자가 정보를 제공한다.
(2) 정보가 장치에 미리 저장된다.
여기서, (A)와 (1)을 조합하면, 설계자가 미리 로봇의 기능들과 부품의 구성들을 알고 있기 때문에, 프로그래밍시 정보가 반영될 수 있다. (A)와 (2)가 조합되면, 설계자는 부품에 저장된 정보를 미리 알 수 있으므로, 프로그램이 (A) 및 (1)의 조합과 같게 생성된다.
한편, (B)와 (1)을 조합하면, 상술된 바와 같이, 운동들과 기능들이 PC등을 이용하여 서로 작용하도록 적용된다.
(B)와 (2)의 조합에서는 사용자가 기능 부품으로서 특정 부품의 조합을 이용한다. 이 경우에는 두 가지 제어 방법들이 있다. 전자의 방법은 기능 부품의 운동을 서로 작용하여 발생하는 방법이다. 후자의 방법은 대응 기능들로서 이전에 대응하는 부위들을 사용하도록 준비된 운동 데이터를 이용하는 방법이다. 또한, 추후 기술될 바와 같이, 기능 정보에 대응하는 장치 구동기는 각 메모리들에 저장될 수 있다.
상기의 구성에 따라, 각 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)은 대응하는 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 형상 정보, 운동 정보 등을 저장하는 메모리들(13, 16)을 포함하고, CPU(10)는 요구되는 바와 같은 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(13, 16)에 각각 저장된 다양한 정보를 판독할 수 있으므로, CPU(10)는 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 연결 부위들과 상관없이 로봇(1)의 전체적인 구조를 알 수 있고 각 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 동작들을 제어할 수 있다. 그에 의해, 완전한 조립품으로 조합되는 2개 이상의 임의의 구성 유닛들의 개별적인 그룹들을 포함하는 구성에 적용될 수 있는 로봇 장치를 실현하는 것이 가능해지고, 그에 따라 로봇의 아키텍처를 새로운 형태로 용이하게 구성할 수 있다.
(2) 제 2 실시예
다음에는 2개의 손, 2개의 다리, 및 하나의 머리를 갖는 완전한 로봇이 자율적으로 제공되는 것이 고려된다.
이 경우에, 자율성의 제공은 외관상으로 도 7에 도시된 바와 같은 기능 블록 구조로 실현될 수도 있다. 더 상세하게는, 오토마톤(automaton)(30)은 각 구성 유닛들에 배치된 센서들의 출력들에 기초하여 로봇의 작동에 대한 목표를 제공하는 상위 프로그램이고, MoNet(31)는 로봇의 자세 전이를 제한하기 위해 도 8에 도시된 바와 같은 그래프 구조를 갖는 하위 프로그램이다.
MoNet(31)로부터의 출력은 그래프 구조의 노드들(자세, 상태)(ST1 내지 ST4)의 시간 열이고, 각 노드들(ST1 내지 ST4)간의 에지들(자세를 변화시키기 위한 프로그램들)(E1 내지 E6)은 머리 및 다리들과 같은 각 구성 유닛들의 작동기들(이하, "모터"라고 함)을 제어하기 위한 프로그램들을 저장한다. 모터 명령 발생기(32)(MCG)(도 7)는 전체 로봇에서 각 모터들에 명령들을 발생하도록 에지들(E1 내지 E6)에 저장된 프로그램을 사용하고, 그 명령들을 연관된 모터들에 출력한다.
요약하면, 제 2 실시예는 각 구성 유닛들의 조화된 동작들과 각 구성 유닛들의 독립적인 동작들의 조합에 의해 로봇의 복잡한 동작들을 이루도록 되어 있다. 특히, 전체 로봇뿐만 아니라 로봇의 머리, 손, 다리 등과 같은 각 구성 유닛들에 상술된 바와 같은 자율성이 제공되어, 각 구성 유닛들이 각 구성 유닛들에 배치된 센서들의 출력들을 기초로 독립적으로 동작될 수 있고, 또한 각 구성 유닛들을 집합적으로 조정하는 제어 유닛으로부터 그에 제공된 명령들에 응답하여 동작될 수 있다.
도 9는 2개의 손 블록들, 2개의 다리 블록들, 및 하나의 머리 블록을 갖는 제 2 실시예에 따른 로봇(40)의 구성을 도시한다. 상술된 제 1 실시예에서, 본체 유닛(2)은 목 유닛(5) 및 머리 유닛(6)으로 이루어진 헤드 블록과 넓적 다리 유닛들(3A 내지 3D) 및 정강이 유닛들(4A 내지 4D)로 이루어진 4개의 다리 블록들에 물리적으로 접속된다. 반면, 도 9에서는 본체 블록(41)이 손 블록(42), 다리 블록(43), 및 머리 블록(44)에 논리적으로 접속되고, 손 블록(42) 및 다리 블록(43)은 또한 좌측 및 우측 구성 블록들(42A, 42B, 43A, 43B)에 각각 접속된다.
도 10은 도 9에 도시된 각 구성 블록들(42, 43, 42A, 42B, 43A, 43E)의 기능들을 설명한다. 도 7에 도시된 기능 블록 구조와 유사하게, 구성 블록들(42, 43)은 각각 오토마톤(30A), MoNet(31A), 및 MCG(32A)로 구성되고, 구성 블록들(42A, 42B, 43A, 43B)은 각각 오토마톤(30B), MoNet(31B), 및 MCG(32B)로 구성된다.
그러나, 각 구성 블록들(42, 43, 42A, 42B, 43A, 43B)에는 두 명령들의 그룹들, 즉, 44, 42A, 42B, 43A, 43B에 대해 구성 블록들 자체(41) 내에서 발생된 명령들의 그룹과 트리 구조의 상위에서 발생되어 그에 입력되는 명령들의 그룹이 존재하는 것을 주목해야 한다. 따라서, 서로 경합하도록 함으로써 두 그룹들 중 하나를 선택하도록 하기 위해 제 1 Comps(50A, 51A)와 제 2 Comps(50B, 51B)가 제공된다.
제 1 Comps 및 제 2 Comps의 출력들이 각 기능들의 MoNet(31A, 31B) 또는 MCG(32A, 32B)에 입력될 때, 그 출력들은 각 구성 블록들의 가지들인 대응하는 부위들(42A, 42B, 43A, 43B)에 동시에 입력되고, 이 부위들에서 유사한 처리가 수행된다. 전형적으로, 경합은 상위로부터의 출력이 우선 순위를 디폴트(default) 설정으로서 제공하도록 하는 것이다.
일반적으로, 자율적인 로봇은 시간 소모 기획들에 따라 취해지는 작용들 및 반사 작용들을 어떻게 다루는가에 대한 문제점을 내포한다.
도 9에 도시된 바와 같은 의미를 갖는 로봇(40)의 논리적 구조에 대한 트리구조를 이용하는 것은 상기 문제점에 대한 해결책을 제공하는데 유리하다. 특히, 트리 구조에서 하위 가지들(우측 손, 좌측 손 등)은 상위 가지들(손, 본체 등)에 의해 해결되어야 하는 대량의 계산들을 포함하는 작업들로부터 해제된다. 예를 들면, 3차원 공간에서의 손의 운동 궤도를 각 관절들의 각도 등으로 변환하는 작업(역동작량 계산(inverse kinematic calculation))은 상위 가지에 대해 대량의 계산들을 필요로 한다. 따라서, 손과 다리에 대응하는 구성 유닛들이 신속하게 응답할 수 있다.
상기의 구성에 따라, 2개 이상의 분리된 임의의 구성 유닛들의 그룹을 조합함으로써 조립된 로봇에서 각 구성 유닛에는 자율성이 제공될 수 있다. 따라서, 로봇은 더 간단한 프로그램들을 실행함으로써 복잡한 운동들을 달성할 수 있다.
(3) 제 3 실시예
제 3 실시예에서, CPU(10)는 제 1 실시예와 같이 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(16)로부터 특성 정보, 운동 정보, 및 형상 정보를 나타내는 데이터 구조를 판독한다. 그러나, 판독된 데이터 구조에 기초하여 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)에 대한 변환 프로그램을 생성하는 대신에, 제 3 실시예는 이러한 변환 프로그램을 한 객체(object)로 다루고, 그 변환 프로그램을 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(61)(도 11)에 미리 저장한다.
특히, 도 2에 대응하는 부품과 동일한 참조 부호로 지정된 도 11을 참조하면, 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(61)은 연관된 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)에 대한 특성 정보, 운동 정보, 및 형상 정보를 나타내는 데이터 구조뿐만 아니라 데이터 구조를 판독하는 정보 판독 프로그램인 인터페이스 프로그램 및 변환 프로그램을 객체들로서 저장한다(인터페이스 프로그램은 객체-지향 환경에서 "메소드(method)"이라고 불리므로, 본 실시예에서의 인터페이스 프로그램은 이하 마찬가지로 "메소드"이라고 부른다).
각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(61)로부터 판독된 객체들로부터 데이터 구조를 판독하기 위해 데이터 구조를 판독하는 메소드가 제공되고, 이 메소드는 모든 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)에서 공통적으로 사용된다. 실질적으로는 데이터 구조가 연관된 메모리(61)에 임의의 순서로 저장될 수 있도록, 형상 정보를 판독하는 메소드, 운동 정보를 판독하는 메소드, 및 특성 정보를 판독하는 메소드와 같이, 각 정보에 대해 메소드가 정의된다.
변환 프로그램은 각 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)을 제어하기 위하여 본체 유닛(62)에 포함된 CPU(63)에 의해 사용되는 프로그램(이하, "제어 프로그램"이라고 함)에 의해 관련된 전자 부품(15)의 각 기능에 대해 공통적으로 미리 결정된 데이터 포맷으로 표현되는 미리 결정된 데이터(예를 들면, 작동기로서 작용하는 전자 부품(15)의 기능에 대해, 임의의 구성 유닛의 작동기에 적용되는 데이터 포맷은 한 예로서 각도 데이터로 주어지도록 결정된)를 각 기능에서 각 전자 부품(15)에 의해 사용되는 데이터 포맷(예를 들면, 길이)으로 표현되는 데이터로 변환한다. 전자 부품(15)을 구성하는 작동기와 같은 각 부품의 기능(즉, 전자 부품(15)의 각 기능)에 메소드가 설정된다.
따라서, 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)에서 전자 부품(15)을 구성하는 부품의 수(즉, 전자 부품(15)의 기능들의 수)가 1이면, 변환 프로그램을 구성하는 메소드는 하나이다. 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)에서 다수의 부품이 전자 부품(15)을 구성하면, 그 부품의 수에 대응하여, 변환 프로그램을 구성하는 다수의 메소드들이 주어진다.
예를 들어, 전자 부품(15)이 운동을 위한 회전 각도가 지정될 수 있는 작동기이면, 사용자는 사용되는 작동기가 맞물린 모터(geared motor)와 같은 회전형 작동기인지 또는 관절을 회전시키기 위해 특정 기술에 의해 기계 시스템에 포함된 초음파 선형 모터와 같은 선형 작동기인지의 여부를 인식하지 않는다.
특히, 회전 각도를 지정하는 메소드를 이용하여 회전 각도가 설정되면(예를 들면, "void set Angle(Angle Data & angle) ;"), 제어 프로그램에 의해 미리 결정된 작동기에 적용되는 미리 결정된 데이터 포맷으로 표현되는 데이터(예를 들면, 회전 각도 데이터)는 작동기, 즉, 전자 부품(15)에 의해 사용되는 데이터 포맷으로 표현되는 데이터(예를 들면, 적절한 값)로 변환되고, 이어서 그 전자 부품에 대한 데이터열로서 직렬 버스(17) 상에서 전송된다.
각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)이 본체 유닛(62)에 연결될 때, CPU(63)는 시스템 버스(17)를 통해 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(61)로부터 객체들을 판독하고, 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)에 대응하는 객체들에 기초하여 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 동작들을 제어하도록 그 객체를 본체 유닛(62)에 포함된 메모리(65)에 저장한다.
이제는 로봇(1)에 대하여 CPU(63)에 의해 실행되는 제어 절차가 도 12에 도시된 흐름도를 참고로 설명된다. 여기서는 구성 유닛(3A)의 전자 부품(15)에서 작동기의 동작을 제어하는 제어 처리가 예로서 주어진다.
먼저, CPU(63)는 단계 SP1에서 로봇(1)에 대한 제어 처리를 시작하고, 단계 SP2에서 구성 유닛(3A)의 메모리(61)로부터 대상을 판독하며, 이어서 단계 SP3에서는 구성 유닛(3A)의 전자 부품(15)인 작동기가 선형 또는 회전형인지의 여부에 관계없이, 제어 프로그램에 의해 주어진 미리 결정된 포맷으로 표시되는 제 1 데이터인 미리 결정된 각도 데이터를, 판독된 객체에 포함된 변환 프로그램에 기초하여 전자 부품(15)인 작동기에 의해 사용되는 데이터 포맷으로 표현되는 제 2 데이터인 데이터(적절한 값)로 변환한다.
다음에, CPU(63)는 단계 SP4에서 구성 유닛(3A)의 동작을 제어하도록 시스템 버스(17)를 통해 적절한 값에 대응하는 제어 신호를 구성 유닛(3A)에 전송하고, 단계 SP5에서 로봇(1)에 대한 제어 처리를 종료한다.
상기의 처리 절차는 나머지 구성 유닛들(3B 내지 3D, 4A 내지 4D, 5, 6)에도 마찬가지로 적용될 수 있다.
로봇(1)에서, CPU(63)는 구성 유닛들(3A, 3B, 3C, 3D, 4A, 4B, 4C, 4D, 5) 6)이 본체 유닛(62)에 연결될 때에만 객체들을 판독할 필요가 있다. 이어서, 미리 결정된 타이밍에 본체 유닛(62)에 연결된 각 구성 유닛들(3A, 3B, 3C, 3D, 4A, 4B, 4C, 4D, 5) 6)의 작동기에 미리 결정된 각도들이 설정된다.
상술된 바와 같이 구성된 로봇(1)에서는 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 동작을 제어하도록, 제어 프로그램에 의해 전자 부품(15)의 각 기능에 대해 미리 결정된 소정 포맷으로 표시되는 제 1 데이터가 각 기능에 대해 구성 유닛(3A 내지 3D, 4A 내지 4D, 5, 6)의 전자 부품(15)에 의해 사용되는 데이터 포맷으로 표현되는 제 2 데이터로 변환되기 때문에, 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)은 제어 프로그램에 의해 미리 결정된 데이터 포맷에 의존하지 않고 설계될 수 있다.
즉, 제 3 실시예에서는 다른 종류의 구성 유닛(3AX)이, 예를 들면, 구성 유닛(3A) 대신에 본체 유닛(62)에 연결되더라도, 구성 유닛(3AX)이 본체 유닛(62)에 연결될 때 객체가 구성 유닛(3AX)의 메모리(61X)에서 CPU(63)로 다운로드(download)되기 때문에, CPU(63)는 구성 유닛(3AX)의 메모리(61X)에 저장된 특성 정보, 운동 정보, 및 형상 정보에 기초하여 변환 프로그램을 생성하지 않고 객체에 포함된 변환 프로그램에 기초하여 구성 유닛(3AX)의 동작을 제어할 수 있다.
따라서, 설계자는 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)에 편리한 데이터가 사용될 수 있도록 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)을 설계하고, 제 1 데이터를 이와 같이 편리한 데이터로 변환하는 변환 프로그램을 각 구성 유닛의 메모리에 저장하고, 그에 의해 설계자가 각 구성 유닛을 설계할 때 각 구성 유닛에 대해 다른 프로그램을 생성할 필요성을 제거하여, 구성 유닛을 설계하는 동안 복잡하고 시간이 소모되는 작업이 많이 줄어든다.
상술된 구성에 따라, 형상 정보, 운동 정보, 및 특성 정보를 나타내는 데이터 구조, 객체로부터 데이터 구조를 판독하기 위해 모든 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 전자 부품(15)에 대해 공통적으로 사용되는 메소드, 및 제어 프로그램에 의해 전자 부품(15)의 각 기능에 대해 미리 공통적으로 결정된 데이터 포맷으로 표현되는 제 1 데이터를 각 기능에 대해 전자 부품(15)에 의해 사용되는 데이터 포맷으로 표현되는 제 2 데이터로 변환하는 변환 프로그램이 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(61)에 객체로 저장되기 때문에, CPU(63)는 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)이 본체 유닛(62)에 연결될 때 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(61)로부터 객체를 판독하게 되고, 그에 의해 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)은 제어 프로그램에 의해 미리 결정된 데이터 포맷에 의존하지 않고 설계될 수 있다. 그 결과로, 구성 유닛들의 설계시 자유도를 상당히 개선시킬 수 있는 로봇(1)을 실현하는 것이 가능하다.
또한, 상기의 구성에 따라, 형상 정보를 판독하는 메소드, 운동 정보를 판독하는 메소드, 및 특성 정보를 판독하는 메소드와 같은 메소드가 각 정보에 대해 정의되고, 데이터 구조는 임의의 순서로 각 메모리(61)에 저장될 수 있다,
또한, 상기의 구성에 따라, 새로운 메소드가 변환 프로그램에 부가될 수 있기 때문에, 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 동작들에 대한 특정 내용들은 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6) 자체를 수정하지 않고 용이하게 수정될 수 있다.
(4) 다른 실시예
상술된 제 1 실시예에서는 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6) 내부에는 관련 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 형상 정보, 운동 정보, 특성 정보 등을 저장하는 메모리들(13, 16)이 제공되지만, 본 발명은 이에 제한되지 않고 도 2에 대응하는 부분이 동일한 참조 부호로 명시되는 도 13에서 도시되는 바와 같이, 각 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(71, 72)은 연관된 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 제조자 번호와 장치 번호를 저장하고, 본체 유닛(74)에는 제조자 번호와 장치 번호에 대응하는 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 형상 정보, 운동 정보, 특성 정보 등을 저장하는 메모리(73)(또는 다른 저장 수단)가 제공되기 때문에, CPU(10)는 메모리(73)에 저장된 정보에 따라 각 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 트리 구조를 검출한다.
또한, 상술된 제 1 실시예에서는 메모리들(13, 16)이 각 구성 유닛들(2, 3A 내지 3D, 4A내지 4D, 5, 6)에 대한 형상 정보, 운동 정보, 특성 정보 등을 저장하는 저장 수단으로서 적용되었지만, 본 발명은 이에 제한되지 않고 다양한 다른 저장 수단이 대신에 적용될 수 있다. 이 경우에, 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)에 대한 형상 정보, 운동 정보, 및 특성 정보 중 하나 또는 모두는 분리된 저장 수단에 저장될 수 있다.
또한, 상술된 실시예에서는 연관된 구성 유닛들(2, 3A 내지 3D, 4A내지 4D, 5, 6)에 저장된 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)에 대한 형상 정보가 폭 또는 길이 등이었지만 본 발명은 이에 제한되지 않고, 형상 정보는, 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)에 대해 미리 결정된 좌표 시스템과 좌표축을 가정할 경우에는 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)과 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6) 중 하나 이상의 다른 구성 유닛들과의 연결 위치, 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)이 회전될 경우에는 상술된 좌표 시스템 상에서의 회전 방향과 회전 중심의 위치, 및 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)이 선형으로 이동될 경우에는 상술된 좌표 시스템 상에서의 선형 운동의 원점 위치를 포함할 수 있다.
유사하게, 각 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(13, 16)에 저장된 각 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 운동 정보에 있어서, 운동 정보는, 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)에 대해 미리 결정된 좌표 시스템과 좌표축을 가정할 경우에는 좌표 시스템 상에서의 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)에 대한 중력 위치, 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 질량, 및 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 회전 모멘트 크기를 포함할 수 있다.
또한, 상술된 제 1 및 제 2 실시예에서는 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 연결 상태들을 검출하는 검출 수단이 CPU(10), 메모리들(13, 16), 직렬 버스(17) 등으로 구성되지만, 본 발명은 이에 제한되지 않고 다양한 다른 구성이 적용될 수 있다.
또한, 상술된 제 1 및 제 2 실시예에서는 CPU(10)가 로봇(1)의 전체 구조를 검사하기 위해, 시간 분할 방법으로, 미리 결정된 간격들에서 각 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(13, 16)에 저장된 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)의 형상 정보를 순차적으로 판독하지만, 본 발명은 이에 제한되지 않고 연결 상태들이 변할 때 CPU(10)는 구성 유닛들(2, 3A 내지 3D, 4A 내지 4D, 5, 6)간의 연결 상태들을 검출할 수 있다.
상술된 제 2 실시예에서는 로봇의 구성 요소들(42, 43, 42A, 42B, 43A, 43B)의 기능들이 도 10에 도시된 바와 같이 조직되지만, 본 발명은 이에 제한되지 않고 특히, 하나 또는 다수의 구성 유닛들로 이루어진 로봇 장치는, 트리 구조에 따라 구성 유닛들을 논리적으로 결합하여 하나 이상의 부위들을 구성하는 논리 수단, 각 부위들로 하여금 미리 결정된 제 1 작동 목표를 독립적으로 발생하도록 하는 목표 발생 수단, 트리 구조의 상위로부터 출력된 제 2 작동 목표를 입력하는 입력 수단, 제 1 및 제 2 작동 목표들로부터 제 1 및 제 2 작동 목표들 중 하나를 선택하는 선택 수단, 선택 수단에 의해 선택된 제 1 또는 제 2 작동 목표를 트리 구조의 하위로 출력하는 출력 수단, 선택 수단에 의해 선택된 제 1 또는 제 2 작동 목표로부터 현 시점의 작동을 발생하는 발생 수단, 및 현 시점의 작동으로부터 구성 유닛들 중 대응하는 구성 유닛을 구동시키기 위한 작동기에 동작 명령을 발생시키는 동작 명령 발생 수단을 포함한다.
또한, 상술된 제 3 실시예에서는 형상 정보, 운동 정보, 및 특성 정보를 나타내는 데이터 구조, 객체들로부터 데이터 구조를 판독하는 메소드, 및 제어 프로그램에 의해 미리 결정된 포맷으로 표현된 미리 결정된 데이터를 각 기능에 대해 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 전자 부품(15)에 의해 사용되는 데이터 포맷으로 표현되는 데이터로 변환하는 변환 프로그램이 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(61)에 객체들로서 미리 저장된다. 그러나, 본 발명은 이에 제한되지 않고 작동기들, 센서들 등과 같은 필요한 전자 부품(15)이 본체 유닛(62)에 포함되고, 형상 정보, 운동 정보, 및 위치 정보에 부가하여 전자 부품(15)에 대한 특성 정보를 나타내는 데이터 구조, 객체들로부터 데이터 구조를 판독하는 메소드, 제어 프로그램에 의해 미리 결정된 데이터 포맷으로 표현되는 미리 결정된 데이터를 각 기능에 대해 본체 유닛(2)의 전자 부품(15)에 의해 사용되는 데이터 포맷으로 표현되는 데이터로 변환하는 변환 프로그램은 메모리(13)에 객체들로서 미리 저장될 수 있기 때문에, CPU(10)가 판독된 객체들에 기초하여 본체 유닛(62)의 동작을 제어하기 위해 메모리(13)로부터 객체들을 판독한다.
여기서, CPU(63)는 로봇(1)에 전력이 공급될 때, 또는 하나 또는 다수 또는 모든 구성 유닛들(3A, 3B, 3C, 3D, 4A, 4B, 4C, 4D, 5) 6)이 다른 종류의 구성 유닛들로 대치될 때 본체 유닛(62)의 메모리(13)로부터 객체들을 판독하도록 구성된다.
또한, 상술된 제 3 실시예에서는 형상 정보, 운동 정보, 및 특성 정보를 나타내는 데이터 구조, 데이터 구조를 판독하는 메소드, 및 제어 프로그램에 의해 각 기능에 대하여 공통적으로 미리 결정된 데이터 포맷으로 표현되는 제 1 데이터를 각 기능에 대해 각 전자 부품(15)에 의해 사용되는 데이터 포맷으로 표현되는 제 2 데이터로 변환하는 변환 프로그램이 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(61)에 객체들로서 저장되지만, 본 발명은 이에 제한되지 않고, 상술된 데이터 구조, 메소드, 및 변환 프로그램은 이들을 객체들로서 다루지 않고 각 구성 유닛들(3A 내지 3D, 4A 내지 4D, 5, 6)의 메모리들(61)에 저장될 수 있다.
상술된 바와 같은 본 발명에 따라, 다수의 구성 유닛들로 이루어진 로봇 장치는, 구성 유닛들의 형상들을 결정하기 위한 형상 정보를 저장하는 제 1 저장 수단, 구성 유닛들의 운동들을 기술하기 위해 필요한 운동 정보를 저장하는 제 2 저장 수단, 구성 유닛들에 포함된 상기 전자 부품에 관한 특성 정보를 저장하는 제 3 저장 수단, 및 각 구성 유닛들의 연결 상태들을 검출하는 검출 수단을 포함하고 있어, 제어 수단은 검출 수단의 검출 결과들에 기초하여 각 구성 유닛들의 운동 특성들과 로봇 장치의 전체 구조를 자동적으로 인식할 수 있고, 그에 따라, 완전한 조립품으로 조합된 2개 이상의 분리된 임의의 구성 유닛들의 그룹들을 포함하는 구성에도 응용될 수 있는 로봇 장치를 실현하는 것이 가능해지고, 로봇의 설계를 새로운 형태로 용이하게 구성하게 된다.
또한, 본 발명에 따라, 로봇 장치를 구성하는 각 구성 유닛들의 저장 수단은 각 구성 유닛들을 제어하기 위한 제어 수단에 의해 사용되는 제어 프로그램에 의해 각 기능에 대하여 공통적으로 미리 결정된 데이터 포맷으로 표현되는 제 1 데이터를 각 기능에 대해 각 전자 부품에 의해 사용되는 데이터 포맷으로 표현되는 제 2 데이터로 변환하는 변환 프로그램을 저장하기 때문에, 각 구성 유닛들은 제어 프로그램에 의해 미리 결정된 데이터 포맷에 의존하지 않고 설계될 수 있다. 따라서, 각 구성 유닛들의 설계시에 자유도를 현저하게 개선시킬 수 있는 로봇 장치를 실현하는 것이 가능하다.
본 명세서에서는 본 발명의 양호한 실시예와 관련하여 설명되었지만, 이 기술분야에 숙련된 사람에게는 다양한 변형예들과 수정예들이 이루어질 수 있음이 명백하고, 따라서, 이러한 모든 변형예들과 수정예들은 본 발명의 정신 및 범위 내에 있는 첨부된 청구항에 포함된다.
도 1은 제 1 실시예에 따른 로봇의 구성을 도시하는 개략도.
도 2는 제 1 실시예에 따른 로봇의 구성을 도시하는 블록도.
도 3은 각 구성 유닛들의 연결에 관한 트리 구조를 도시하는 개략도.
도 4는 지시 그래프 데이터 구조를 도시하는 개략도.
도 5는 제 1 실시예의 CPU에 의해 실행되는 로봇에 대한 제어 절차를 설명하는 흐름도.
도 6A 내지 도 6C는 가상 로봇의 각 부위가 지정되는 방법을 도시하는 개략도.
도 7은 전체 로봇에 자율성(autonomy)을 제공하기 위한 기능 블록 구조를 도시하는 개략도.
도 8은 MoNet의 그래프 구조를 도시하는 개략도.
도 9는 제 2 실시예에 따른 로봇의 개념적인 구성을 도시하는 개략도.
도 10은 각 구성 유닛들의 기능들을 설명하는 개념도.
도 11은 제 3실시예에 따른 로봇의 구성을 도시하는 블록도.
도 12는 제 3 실시예의 CPU에 의해 실행되는 로봇에 대한 제어 절차를 설명하는 흐름도.
도 13은 또 다른 실시예를 도시하는 블록도.
※ 도면의 주요부분에 대한 부호의 설명 ※
10 : 중앙 처리 장치 11 : 직렬 버스 호스트
12 : 분배기 13 : 메모리

Claims (14)

  1. 복수의 구성 유닛으로 구성되는 로봇 장치에 있어서,
    상기 구성 유닛을 제어하는 제어 수단과,
    상기 구성 유닛의 형상을 결정하기 위한 형상 정보와, 상기 구성 유닛에 관한 위치 정보를 기억하는 기억 수단을 포함하고,
    상기 제어 수단은,
    상기 형상 정보와 상기 위치 정보에 기초하여 각 상기 구성 유닛간의 결합에 관한 트리 구조를 작성함으로써, 상기 로봇 장치 전체의 구조를 파악하고, 상기 구성 유닛의 동작을 제어하는 것을 특징으로 하는 로봇 장치.
  2. 제 1 항에 있어서,
    상기 트리 구조는 방향을 갖는(有向) 데이터 구조인 것을 특징으로 하는 로봇 장치.
  3. 제 1 항에 있어서,
    상기 구성 유닛의 질량, 회전 모멘트, 회전축의 중심 및 중력 위치를 포함한 운동 정보를 기억하는 기억 수단과,
    작동기가 수납된 각 상기 구성 유닛에 각각 설치되고, 상기 작동기의 형(型)을 포함한 특성 정보를 기억하는 기억 수단과,
    상기 운동 정보와 상기 특성 정보에 기초하여, 상기 작동기를 구동함으로써, 상기 로봇 장치 전체를 원하는 상태로 구동하는 제어 수단을 포함하는 것을 특징으로 하는 로봇 장치.
  4. 복수의 논리적 구성 유닛에 의해 구성된 로봇 장치에 있어서,
    상기 구성 유닛을 논리적으로 결합시킨 논리 구조 트리를 보유하는 보유 수단과,
    상기 구성 유닛을 통괄하고, 상기 구성 유닛에 대하여 명령을 주는 통괄 제어 수단과,
    상기 구성 유닛의 내부에서 발생한 명령과, 상기 논리 트리에 있어서 상위의 쪽으로부터 입력되어 오는 명령을 경합시키고, 상기 논리 구조 트리의 상기 상위로부터 출력된 쪽의 명령을 우선하는 선택 수단과,
    상기 선택한 명령을 실행하는 실행 수단을 포함하는 것을 특징으로 하는 로봇 장치.
  5. 제 4 항에 있어서,
    상기 구성 유닛을 논리적으로 결합시킨 상기 논리 구조 트리는 오토마톤(automaton)으로 이루어진 것을 특징으로 하는 로봇 장치.
  6. 적어도 작동기 또는 소정의 물리량을 측정하는 센서를 포함하는 전자 부품이 수납된 복수의 구성 유닛에 의해 구성된 로봇 장치에 있어서,
    상기 구성 유닛을 제어하는 제어 수단을 포함하고,
    상기 구성 유닛은,
    적어도 상기 전자 부품의 특성 정보를 나타내는 데이터 구조와, 상기 제어 수단용의 프로그램에 의해서 정해진 소정의 데이터 포맷으로 표현되는 제 1 데이터를, 각 상기 구성 유닛의 전자 부품이 사용하는 데이터 포맷으로 표현되는 제 2 데이터로 변환하기 위한 변환 프로그램을 오브젝트로서 기억하는 기억 수단을 갖고,
    상기 제어 수단은,
    상기 구성 유닛의 상기 기억 수단으로부터 상기 변환 프로그램을 판독하고, 상기 변환 프로그램에 기초하여, 상기 제어 수단용의 프로그램에 의해서 정해진 소정의 데이터 포맷으로 표현되는 제 1 데이터를, 상기 전자 부품이 사용하는 데이터 포맷으로 표현되는 제 2 데이터로 변환하고, 상기 제 2 데이터에 따른 제어 신호를 상기 전자 부품에 송출함으로써, 상기 전자 부품의 동작을 제어하는 것을 특징으로 하는 로봇 장치.
  7. 제 6 항에 있어서,
    상기 구성 유닛은 또한,
    상기 데이터 구조를 판독하기 위한 메소드(method)를 상기 오브젝트로서 기억하는 기억 수단을 갖고,
    상기 제어 수단은,
    상기 구성 유닛의 상기 기억 수단으로부터 상기 변환 프로그램과 상기 메소드를 판독하는 동시에, 상기 메소드에 기초하여 상기 기억 수단으로부터 상기 데이터 구조를 판독하고, 상기 변환 프로그램에 기초하여 상기 제어 수단용의 프로그램에 의해서 정해진 소정 데이터 포맷으로 표현되는 제 1 데이터를, 상기 전자 부품이 사용하는 데이터 포맷으로 표현되는 제 2 데이터로 변환하고, 상기 제 2 데이터에 따른 제어 신호를 상기 전자 부품에 송출함으로써, 상기 전자 부품의 동작을 제어하는 것을 특징으로 하는 로봇 장치.
  8. 복수의 구성 유닛으로 구성되는 로봇 장치의 제어 방법에 있어서,
    상기 구성 유닛의 형상을 결정하기 위한 형상 정보와, 상기 구성 유닛에 관한 위치 정보를 기억하는 제 1 단계와,
    기억한 상기 형상 정보와 상기 위치 정보에 기초하여, 각 상기 구성 유닛 간의 결합에 관한 트리 구조를 작성함으로써, 상기 로봇 장치 전체의 구조를 파악하고, 상기 구성 유닛의 동작을 제어하는 제 2 단계를 포함하는 것을 특징으로 하는 로봇 장치의 제어 방법.
  9. 제 8 항에 있어서,
    상기 트리 구조는 방향을 갖는 데이터 구조인 것을 특징으로 하는 로봇 장치의 제어 방법.
  10. 제 8 항에 있어서,
    상기 제 1 단계에서는,
    또한 상기 구성 유닛의 질량, 회전 모멘트, 회전축의 중심 및 중력 위치를 포함한 운동 정보를 기억하는 동시에, 작동기가 수납된 각 상기 구성 유닛에 각각 설치된 기억 수단에 상기 작동기의 형을 포함한 특성 정보를 기억시키고,
    상기 제 2 단계에서는,
    상기 운동 정보와 상기 특성 정보에 기초하여, 상기 작동기를 구동함으로써, 상기 로봇 장치 전체를 원하는 상태로 구동하는 것을 특징으로 하는 로봇 장치의 제어 방법.
  11. 복수의 논리적 구성 유닛에 의해 구성된 로봇 장치의 제어 방법에 있어서,
    상기 구성 유닛을 논리적으로 결합시킨 논리 구조 트리를 보유하는 제 1 단계와,
    상기 구성 유닛을 통괄하고, 상기 구성 유닛의 내부에서 발생한 명령과, 상기 논리 트리에 있어서 상위의 쪽으로부터 입력되어 오는 명령을 경합시키고, 상기 논리 구조 트리의 상기 상위로부터 출력된 쪽의 명령을 우선하는 제 2 단계와,
    상기 선택한 영역을 실행하는 제 3 단계를 포함하는 것을 특징으로 하는 로봇 장치의 제어 방법.
  12. 제 11 항에 있어서,
    상기 구성 유닛을 논리적으로 결합시킨 상기 논리 구조 트리는 오토마톤으로 이루어진 것을 특징으로 하는 로봇 장치의 제어 방법.
  13. 적어도 작동기 또는 소정의 물리량을 측정하는 센서를 포함하는 전자 부품이 수납된 복수의 구성 유닛에 의해 구성된 로봇 장치의 제어 방법에 있어서,
    적어도 상기 전자 부품의 특성 정보를 나타내는 데이터 구조와, 상기 제어 수단용의 프로그램에 의해서 정해진 소정의 데이터 포맷으로 표현되는 제 1 데이터를, 각 상기 구성 유닛의 전자 부품이 사용하는 데이터 포맷으로 표현되는 제 2 데이터로 변환하기 위한 변환 프로그램을, 오브젝트로서 상기 구성 유닛에 설치된 기억 수단에 기억시키는 제 1 단계와,
    상기 구성 유닛의 상기 기억 수단으로부터 상기 변환 프로그램을 판독하고, 상기 변환 프로그램에 기초하여, 상기 제어용의 프로그램에 의해서 정해진 소정의 데이터 포맷으로 표현되는 제 1 데이터를, 상기 전자 부품이 사용하는 데이터 포맷으로 표현되는 제 2 데이터로 변환하고, 상기 제 2 데이터에 따른 제어 신호를 상기 전자 부품으로 송출함으로써, 상기 전자 부품의 동작을 제어하는 제 2 단계를 포함하는 것을 특징으로 하는 로봇 장치의 제어 방법.
  14. 제 13 항에 있어서,
    상기 제 1 단계에서는,
    상기 데이터 구조를 판독하기 위한 메소드를, 상기 오브젝트로서 상기 구성 유닛에 설치된 기억 수단에 기억시키고,
    상기 제2 단계에서는,
    상기 구성 유닛의 상기 기억 수단으로부터 상기 변환 프로그램과 상기 메소드를 판독하는 동시에, 상기 메소드에 기초하여 상기 기억 수단으로부터 상기 데이터 구조를 판독하고, 상기 변환 프로그램에 기초하여, 상기 제어용의 프로그램에 의해서 정해진 소정 데이터 포맷으로 표현되는 제 1 데이터를, 상기 전자 부품이 사용하는 데이터 포맷으로 표현되는 제 2 데이터로 변환하고, 상기 제 2 데이터에 따른 제어 신호를 상기 전자 부품에 송출함으로써, 상기 전자 부품의 동작을 제어하는 것을 특징으로 하는 로봇 장치의 제어 방법.
KR1019970032435A 1996-07-08 1997-07-08 로봇장치및그제어방법 KR100495963B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP19698996 1996-07-08
JP96-196989 1996-07-08
JP97-019040 1997-01-31
JP01904097A JP3446933B2 (ja) 1996-07-08 1997-01-31 ロボツト装置及びその制御方法

Publications (2)

Publication Number Publication Date
KR980008471A KR980008471A (ko) 1998-04-30
KR100495963B1 true KR100495963B1 (ko) 2005-09-30

Family

ID=26355834

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970032435A KR100495963B1 (ko) 1996-07-08 1997-07-08 로봇장치및그제어방법

Country Status (4)

Country Link
US (1) US5963712A (ko)
EP (3) EP0993915B1 (ko)
KR (1) KR100495963B1 (ko)
DE (2) DE69724832T2 (ko)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751526B2 (en) 1997-08-22 2004-06-15 Sony Corporation Method for describing robot structure and part of robot
JP3765356B2 (ja) * 1997-12-22 2006-04-12 ソニー株式会社 ロボツト装置
CN1146493C (zh) * 1998-11-30 2004-04-21 索尼公司 自动装置、自动装置的控制方法及程序记录媒体
EP1103352A1 (en) 1999-01-18 2001-05-30 Sony Corporation Robot, main unit of robot, and coupling unit of robot
JP4366617B2 (ja) * 1999-01-25 2009-11-18 ソニー株式会社 ロボット装置
EP1092458A1 (en) 1999-04-30 2001-04-18 Sony Corporation Electronic pet system, network system, robot, and storage medium
WO2000067959A1 (fr) * 1999-05-10 2000-11-16 Sony Corporation Dispositif robotique et procede de commande associe
US6519506B2 (en) 1999-05-10 2003-02-11 Sony Corporation Robot and control method for controlling the robot's emotions
EP1112822A4 (en) * 1999-05-10 2005-07-20 Sony Corp ROBOTS AND CONTROL PROCESSES THEREOF
JP2001038663A (ja) 1999-07-28 2001-02-13 Yamaha Motor Co Ltd マシンの制御システム
CN1191158C (zh) 1999-10-29 2005-03-02 新秀丽公司 由热塑性颗粒或类似物直接成型非纺织品元件
US7807247B1 (en) * 1999-10-29 2010-10-05 Bromley Robert L Flexlock with headed pintle and conical buttressing
US7442107B1 (en) 1999-11-02 2008-10-28 Sega Toys Ltd. Electronic toy, control method thereof, and storage medium
EP1106310A1 (en) * 1999-11-30 2001-06-13 STMicroelectronics S.r.l. Electronic circuit for controlling a movement by a Fuzzy cellular architecture
WO2001058649A1 (fr) * 2000-02-14 2001-08-16 Sony Corporation Systeme robotique, dispositif robotise et procede de controle d'un tel systeme et dispositif et procede de traitement de donnees
EP1247624A1 (en) * 2000-03-24 2002-10-09 Sony Corporation Method for determining action of robot and robot
JP2001277166A (ja) * 2000-03-31 2001-10-09 Sony Corp ロボット及びロボットの行動決定方法
WO2001085400A2 (en) 2000-05-09 2001-11-15 Hasbro, Inc. Self-stabilizing walking apparatus that is capable of being reprogrammed or puppeteered
JP2002036158A (ja) * 2000-07-27 2002-02-05 Yamaha Motor Co Ltd 自律機能を有する電子機器
US6705917B2 (en) 2000-12-15 2004-03-16 Andrew S. Filo Self-phase synchronized walking and turning quadruped apparatus
US7120517B2 (en) * 2001-01-02 2006-10-10 Avraham Friedman Integration assisting system and method
WO2002069609A2 (en) * 2001-02-27 2002-09-06 Anthrotronix, Inc. Robotic apparatus and wireless communication system
DE60118317T2 (de) * 2001-04-30 2006-12-14 Sony France S.A. Autonom Roboter
KR100980793B1 (ko) * 2001-11-28 2010-09-10 에볼루션 로보틱스, 인크. 로봇을 위한 하드웨어 추상화 계층에서의 센서 및액추에이터 추상화 및 집단화
JP3910134B2 (ja) 2002-10-30 2007-04-25 ファナック株式会社 ロボット装置
KR100578342B1 (ko) * 2003-01-03 2006-05-11 주식회사 메가로보틱스 인공지능형 로봇완구 및 그 제어방법
US8175747B2 (en) * 2003-12-22 2012-05-08 Irobou Co., Ltd. Joinable robot component for robot toy, modifiable robot toy using the joinable robot components, and control method thereof
KR100617936B1 (ko) * 2005-03-31 2006-08-30 주식회사 유진로봇 로봇의 제어를 위한 각종 드라이버의 모듈화와 모듈화되어진 장치를 이용한 제어기 구현방법 및 그에 따른제어기
FI119136B (fi) * 2006-06-06 2008-07-31 Abb Oy Sähkökäyttöjärjestelmä
US7606411B2 (en) * 2006-10-05 2009-10-20 The United States Of America As Represented By The Secretary Of The Navy Robotic gesture recognition system
DE602007007807D1 (de) 2006-11-13 2010-08-26 Raytheon Sarcos Llc Vielseitig verwendbares endlosband für leichte mobile roboter
DE602007013793D1 (de) 2006-11-13 2011-05-19 Raytheon Co Anpassbare spuranordnung für einen raupenroboter
ATE522431T1 (de) 2006-11-13 2011-09-15 Raytheon Co Raupenroboter mit kette und beweglichem arm
CN101631651B (zh) * 2007-01-12 2013-07-24 汉斯乔格·巴尔特斯 用于产生机器人的方法和***
EP2144659A1 (en) 2007-05-07 2010-01-20 Raytheon Sarcos, LLC Method for manufacturing a complex structure
WO2009009673A2 (en) 2007-07-10 2009-01-15 Raytheon Sarcos, Llc Modular robotic crawler
US20090082879A1 (en) * 2007-09-20 2009-03-26 Evolution Robotics Transferable intelligent control device
US20100017026A1 (en) * 2008-07-21 2010-01-21 Honeywell International Inc. Robotic system with simulation and mission partitions
US8414350B2 (en) * 2008-08-18 2013-04-09 Rehco, Llc Figure with controlled motorized movements
US8392036B2 (en) 2009-01-08 2013-03-05 Raytheon Company Point and go navigation system and method
WO2010092614A1 (ja) * 2009-02-10 2010-08-19 富士通株式会社 ライブラリ装置及びライブラリ装置の制御方法
US8935014B2 (en) 2009-06-11 2015-01-13 Sarcos, Lc Method and system for deploying a surveillance network
WO2010144820A2 (en) 2009-06-11 2010-12-16 Raytheon Sarcos, Llc Amphibious robotic crawler
DE102009054112A1 (de) * 2009-11-20 2011-05-26 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Planung und/oder Steuerung einer Roboterapplikation
DE102010063948A1 (de) * 2010-12-22 2012-06-28 BSH Bosch und Siemens Hausgeräte GmbH Bereitstellung einer Variantencodierung
US8393422B1 (en) 2012-05-25 2013-03-12 Raytheon Company Serpentine robotic crawler
US9031698B2 (en) 2012-10-31 2015-05-12 Sarcos Lc Serpentine robotic crawler
US9358687B2 (en) * 2013-01-24 2016-06-07 Mohammad Reza Emami System, method and computer program for autonomously emulating robot manipulators of continuously-varying configurations
US9409292B2 (en) 2013-09-13 2016-08-09 Sarcos Lc Serpentine robotic crawler for performing dexterous operations
US9566711B2 (en) 2014-03-04 2017-02-14 Sarcos Lc Coordinated robotic control
US10105845B1 (en) * 2016-02-05 2018-10-23 Boston Dynamics, Inc. Modular robot system
US10987804B2 (en) * 2016-10-19 2021-04-27 Fuji Xerox Co., Ltd. Robot device and non-transitory computer readable medium
CN108284442B (zh) * 2017-01-24 2021-01-26 中国北方车辆研究所 一种基于模糊神经网络的机械臂柔性关节控制方法
US10265844B2 (en) * 2017-03-24 2019-04-23 International Business Machines Corporation Creating assembly plans based on triggering events
JP2019042856A (ja) * 2017-08-31 2019-03-22 川崎重工業株式会社 ロボット及びロボットの組立性確認方法
US11267121B2 (en) * 2018-02-13 2022-03-08 Casio Computer Co., Ltd. Conversation output system, conversation output method, and non-transitory recording medium
CN112130483A (zh) * 2020-08-27 2020-12-25 深圳市优必选科技股份有限公司 一种机器人的控制方法及机器人
US11926048B2 (en) * 2021-05-26 2024-03-12 Amazon Technologies, Inc. Modular robotic linkages

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4467436A (en) * 1981-10-26 1984-08-21 United States Robots, Inc. Robot arm controller with common bus memory
US4833626A (en) * 1986-10-14 1989-05-23 International Business Machines Corporation Optimizing printer throughput
WO1990006546A1 (en) * 1988-12-09 1990-06-14 Schonlau William J Modular robotic system
US5428713A (en) * 1991-11-25 1995-06-27 Kabushiki Kaisha Toshiba Compound module type manipulator apparatus
US6462498B1 (en) * 2000-05-09 2002-10-08 Andrew J. Filo Self-stabilizing walking apparatus that is capable of being reprogrammed or puppeteered
US6708068B1 (en) * 1999-07-28 2004-03-16 Yamaha Hatsudoki Kabushiki Kaisha Machine comprised of main module and intercommunicating replaceable modules

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4488241A (en) * 1981-12-08 1984-12-11 Zymark Corporation Robot system with interchangeable hands
JPH0685125B2 (ja) * 1987-03-30 1994-10-26 株式会社日立製作所 モジユ−ル型マニピユレ−タの制御装置
US4964062A (en) * 1988-02-16 1990-10-16 Ubhayakar Shivadev K Robotic arm systems
JPH01296350A (ja) * 1988-05-25 1989-11-29 Hitachi Ltd 知識格納方式
US5055755A (en) * 1989-05-31 1991-10-08 Kabushiki Kaisha Toshiba Distribution control apparatus
JPH054181A (ja) * 1991-06-24 1993-01-14 Toshiba Corp ロボツト制御装置
JP3609435B2 (ja) * 1991-11-25 2005-01-12 株式会社東芝 マニピュレータ装置
JP3167404B2 (ja) * 1992-02-26 2001-05-21 本田技研工業株式会社 ロボットの関節駆動制御装置
US5523662A (en) * 1994-05-02 1996-06-04 Engineering Services, Inc. Modular, expandable and reconfigurable robot

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4467436A (en) * 1981-10-26 1984-08-21 United States Robots, Inc. Robot arm controller with common bus memory
US4833626A (en) * 1986-10-14 1989-05-23 International Business Machines Corporation Optimizing printer throughput
WO1990006546A1 (en) * 1988-12-09 1990-06-14 Schonlau William J Modular robotic system
US5428713A (en) * 1991-11-25 1995-06-27 Kabushiki Kaisha Toshiba Compound module type manipulator apparatus
US6708068B1 (en) * 1999-07-28 2004-03-16 Yamaha Hatsudoki Kabushiki Kaisha Machine comprised of main module and intercommunicating replaceable modules
US6462498B1 (en) * 2000-05-09 2002-10-08 Andrew J. Filo Self-stabilizing walking apparatus that is capable of being reprogrammed or puppeteered

Also Published As

Publication number Publication date
DE69717680D1 (de) 2003-01-16
KR980008471A (ko) 1998-04-30
EP0993915B1 (en) 2002-12-04
EP0993914B1 (en) 2003-09-10
DE69724832T2 (de) 2004-08-12
DE69724832D1 (de) 2003-10-16
US5963712A (en) 1999-10-05
EP0993915A2 (en) 2000-04-19
EP0993914A3 (en) 2000-06-07
EP0993914A2 (en) 2000-04-19
EP0993915A3 (en) 2000-06-07
EP0818283A1 (en) 1998-01-14
DE69717680T2 (de) 2003-09-18

Similar Documents

Publication Publication Date Title
KR100495963B1 (ko) 로봇장치및그제어방법
Biggs et al. A survey of robot programming systems
KR100549971B1 (ko) 로봇장치및그구동제어방법
US6454624B1 (en) Robotic toy with posable joints
Žlajpah Simulation in robotics
Allgeuer et al. A ROS-based software framework for the NimbRo-OP humanoid open platform
JP2003150218A (ja) シミュレーション装置
Armada et al. Locomotion of a Modular Worm-like Robot using a FPGA-based embedded MicroBlaze Soft-processor
JP3446933B2 (ja) ロボツト装置及びその制御方法
Kuffner et al. Graphical simulation and high-level control of humanoid robots
Žlajpah Robot simulation for control design
Astigarraga et al. SORGIN: a software framework for behavior control implementation
KR101379430B1 (ko) 독립된 기능을 갖는 로봇용 액츄에이터 모듈
Sun et al. Direct virtual-hand interface in robot assembly programming
Pirron et al. MPERL: Hardware and software co-design for robotic manipulators©
Baier et al. A flexible software architecture for multi-modal service robots
Finkenzeller et al. Visum: A vr system for the interactive and dynamics simulation of mechatronic systems
JPH1158280A (ja) ロボット装置及びその制御方法
Bräunl The EyeSim Mobile Robot Simulator
WO2018151317A1 (ja) 多関節ロボットにおける動作教示・再現駆動システム及び動作教示・再現駆動方法
Balaram et al. An Ada run-time control architecture for telerobots
Oraw et al. Design Report MARS: Modular Autonomous Robotic Snake
Kazimierczak et al. Intelligent adaptive control of a mobile robot: The automaton with an internal and external parameter approach
Augustyniak et al. Control of mindstorms NXT robot using Xtion Pro camera skeletal tracking
Jensen et al. Mobile Manipulator Networks: Platform Development and Applications

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
FPAY Annual fee payment

Payment date: 20130531

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140602

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150601

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160527

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170602

Year of fee payment: 13

EXPY Expiration of term