KR100864340B1 - 로봇 장치 및 로봇 장치의 동작 제어 방법 - Google Patents

로봇 장치 및 로봇 장치의 동작 제어 방법 Download PDF

Info

Publication number
KR100864340B1
KR100864340B1 KR1020027014119A KR20027014119A KR100864340B1 KR 100864340 B1 KR100864340 B1 KR 100864340B1 KR 1020027014119 A KR1020027014119 A KR 1020027014119A KR 20027014119 A KR20027014119 A KR 20027014119A KR 100864340 B1 KR100864340 B1 KR 100864340B1
Authority
KR
South Korea
Prior art keywords
delete delete
external force
value
torque
obstacle
Prior art date
Application number
KR1020027014119A
Other languages
English (en)
Other versions
KR20030007543A (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 JP2001045693A external-priority patent/JP2002239963A/ja
Priority claimed from JP2001055669A external-priority patent/JP2002254375A/ja
Application filed by 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR20030007543A publication Critical patent/KR20030007543A/ko
Application granted granted Critical
Publication of KR100864340B1 publication Critical patent/KR100864340B1/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/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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)
  • Toys (AREA)

Abstract

머리부(4)나 다리부(3A 내지 3D) 등의 몸의 부위와, 몸의 부위를 구동시키는 액튜에이터(25)와, 액튜에이터(25)에 제어 신호를 출력하는 CPU(10)를 갖는 로봇 장치이며, 이 장치는 액튜에이터(25)를 구동하기 위해 CPU(10)로부터 출력되는 제어 신호와 액튜에이터(25)를 구동했을 때의 응답으로서 CPU(10)에 입력되는 신호와의 변화에 의거하여, 로봇 장치에 가해진 외력의 위치, 크기 및 방향 등 외력에 관한 정보를 산출한다. 이 외력의 정보는 CPU(10)에 입력되고, 로봇 장치의 행동 및 감정과 함께 로봇 장치 다음의 행동을 선택하는 정보로서 사용된다. 이와 같이, 이 로봇 장치에서는 CPU(10)의 출력과 액튜에이터(25)나 포텐쇼 미터(26)의 출력에 의거하여 외력의 정보를 산출하기 위해, 기존의 기기를 이용하여 외력의 검출이 가능해 전용 센서를 추가할 필요가 없다.
액튜에이터, CPU, 포텐쇼 미터, 다리부, 머리부

Description

로봇 장치 및 로봇 장치의 동작 제어 방법{Robot Device and Method of Controlling Robot Device Operation}
본 발명은, 로봇 장치, 로봇 장치의 동작 제어 방법, 외력 검출 장치 및 외력 검출 방법 로봇 장치의 동작을 제어하기 위한 프로그램 및 그 프로그램이 기록된 기록 매체에 관한 것으로, 상세하게는 주위의 상황이나 외부로부터의 작용에 따라서 자율적으로 행동을 결정하여 발현하는 로봇 장치, 이러한 로봇 장치의 동작 제어 방법, 이 동작 제어를 위한 프로그램 및 이 프로그램이 기록된 기록 매체에 관한 것이다.
최근, 사용자로부터의 지령이나 주위의 환형 등에 따라서 행동을 행하는 4 다리 보행형의 로봇 장치가 본원 특허 출원인에 의해 개발되어, 판매되고 있다. 이러한 로봇 장치는, CCD(Charge Coupled Device) 카메라나 마이크로폰을 탑재하고 있고, 이 CCD 카메라에 의해 촬상된 주위의 상황이나, 마이크로폰에 의해 집음한 사용자로부터의 지령음 및 주위음 등에 의거하여 주위의 상황이나 사용자로부터의 지령의 유무를 판단하고, 이 판단 결과에 의거하여 자율적으로 행동을 결정하여 이를 발현하도록 되어 있다.
그런데, 이러한 로봇 장치는, 통상 도어의 문턱이나 코드 등의 장해물이 많 이 존재하는 일반 가정에 두고 이용되므로, 이러한 환경하에 있어서도 보행시에 쉽게 뒤집히지 않는 어떠한 고안이 필요해진다. 그래서, 예를 들어 CCD 카메라로부터 출력되는 화상 신호에 의거하여 장해물을 검출하고, 이 검출 결과에 의거하여 장해물을 피해 행동하도록 로봇 장치가 자기의 행동을 제어하는 방법이 이용되고 있다. 장해물 검출의 다른 방법으로서는, 예를 들어 로봇 장치의 각 다리에 힘 센서를 특별히 설치하고, 그 출력에 의거하여 장해물에 충돌한 것을 검출하는 방법도 고려되고 있다.
그런데, 카메라로부터의 화상 신호를 이용하는 방법에서는 장해물을 검출하는 데 시간이 걸리고, 또한 그 비율로 장해물의 인식율이 나쁜 것이 실정이다. 또한, 각 다리에 힘 센서를 배치하는 방법에 따르면, 이 만큼만 부품 개수가 증가되므로, 구성이 번잡화되거나 제조 비용의 상승이나 중량의 증가를 피할 수 없다.
또한, 이러한 로봇 장치는 소정의 위치에 복수의 센서를 구비함으로써, 장해물을 검출할 뿐만 아니라, 압박된 센서에 대응한 처리, 예를 들어 소정의 동작(앉음 등)을 발현하는 것도 가능하도록 되어 있다. 따라서, 보다 많은 센서를 구비함으로써, 사용자는 로봇 장치와의 고도의 인터랙션을 즐길 수 있다.
그런데, 이러한 접촉 검출 전용 센서를 로봇 장치의 소정 위치에 배치하면, 접촉이 검출되는 위치가 필연적으로 한정되므로, 사용자와의 인터랙션이 제한되어 버린다. 예를 들어, 힘이 가해진 방향을 검출하는 고도의 센서를 이용하면, 역시 로봇 장치의 구성이 번잡화되고, 제조 비용의 상승이나 중량의 증가로 이어진다. 또한, 로봇 장치의 부위에 따라서는 센서를 설치할 수 없는 경우도 있다.
본 발명의 목적은, 종래의 로봇 장치가 갖는 문제점을 해결하고, 간단한 구성으로 장해물과의 충돌을 확실하게 검출하는 동시에, 전용 센서를 이용하는 일 없이 외력을 검출하고, 그 외력의 방향 등의 외력에 관한 정보도 검출할 수 있는 외력 검출 장치 및 방법, 및 이 외력 검출 장치를 적용한 로봇 장치, 및 이 로봇 장치의 동작 제어 방법, 또한 로봇 장치의 동작 제어 프로그램 및 프로그램 기록 매체를 제공하는 데 있다.
본 발명에 관한 로봇 장치는 제어 신호에 의해 동작 제어되는 동작부와, 소정의 동작을 실행시키기 위해 상기 제어 신호를 출력하는 제어 수단과, 상기 동작부에 외력이 가해졌을 때의 상기 제어 신호의 변화에 의거하여, 외력을 검출하는 외력 검출 수단을 구비한다.
또한, 본 발명에 관한 로봇 장치의 제어 방법은 제어 신호에 의해 로봇 장치 동작부의 동작 제어를 하는 제어 공정과, 외력이 가해졌을 때의 상기 제어 신호의 변화에 의거하여, 상기 로봇 장치로의 외력을 검출하는 외력 검출 공정을 갖는다.
또한, 본 발명에 관한 외력 검출 장치는 로봇 장치의 각부를 구동하는 동작 수단과, 상기 동작 수단의 동작량의 지시치를 상기 동작 수단에 부여하는 제어 수단과, 상기 동작 수단의 동작량의 실제치를 검출하는 동작량 검출 수단과, 상기 제어 수단이 상기 동작 수단에 부여된 상기 지시치 및 상기 동작량 검출 수단에 의해 검출된 상기 동작 수단의 구동량의 실제치에 의거하여 외력의 유무를 판단하는 외력 검출 수단을 구비한다.
또한, 본 발명에 관한 외력 검출 방법은 로봇 장치의 각부를 구동하는 동작 수단에 대해, 상기 동작시에 있어서의 상기 구동 수단의 구동량의 지시치를 부여하는 공정과, 상기 동작시에 있어서의 상기 동작 수단의 구동량의 실제치를 검출하는 공정과, 상기 지시치 및 상기 실제치에 의거하여 외력의 유무를 판단하는 공정을 구비한다.
또한, 본 발명에 관한 프로그램은 제어 신호에 의해 로봇 장치 동작부의 동작 제어를 하는 제어 공정과, 외력이 가해졌을 때의 상기 제어 신호의 변화에 의거하여, 상기 로봇 장치로의 외력을 검출하는 외력 검출 공정을 로봇 장치에 실행시킨다.
또한, 본 발명에 관한 기록 매체는 제어 신호에 의해 로봇 장치 동작부의 동작 제어를 하는 제어 공정과, 외력이 가해졌을 때의 상기 제어 신호의 변화에 의거하여, 상기 로봇 장치로의 외력을 검출하는 외력 검출 공정을 로봇 장치에 실행시키는 프로그램이 기록되어 있다.
도1은 본 발명의 기본 구성을 기능적으로 도시한 블럭도이다.
도2는 도1의 기본 구성이 실행되는 처리를 도시한 도면이다.
도3은 도2의 스텝 S3을 실행하기 위해 기술한 프로그램이다.
도4는 로봇 장치의 외관 구성을 도시한 사시도이다.
도5는 페트 로봇의 회로 구성을 도시한 블럭도이다.
도6은 신호 처리 회로의 구성을 도시한 블럭도이다.
도7은 제어 프로그램의 소프트웨어 구성을 개념적으로 도시한 블럭도이다.
도8은 미들ㆍ웨어ㆍ레이어의 소프트웨어 구성을 개념적으로 도시한 블럭도이다.
도9는 어플리케이션ㆍ레이어의 소프트웨어 구성을 개념적으로 도시한 블럭도이다.
도10은 행동 모델 라이브러리의 구성을 도시한 개념도이다.
도11은 확률 오토마톤을 도시한 개념도이다.
도12는 상태 천이표를 나타낸 개념도이다.
도13은 로봇 장치에 있어서의 외력을 검출하기 위한 주요 구성을 도시한 블럭도이다.
도14는 PWM 펄스와 실측 토크와의 관계를 나타낸 특성도이다.
도15는 PWM 펄스와 실측 토크와의 관계를 나타낸 특성도이다.
도16은 PWM 펄스와 실측 토크와의 관계를 나타낸 특성도이다.
도17은 PWM 펄스와 실측 토크와의 관계를 나타낸 특성도이다.
도18은 힘 센서 시스템의 구성을 도시한 도면이다.
도19는 힘 센서 시스템의 설명에 사용한 캐리블레이션의 특성도이다.
도20은 모델화한 로봇 장치를 도시한 도면이다.
도21은 조인트(1)에 있어서의 실측 토크와 변환에 의해 얻은 토크와의 관계를 도시한 특성도이다.
도22는 조인트(1)에 있어서의 실측 토크와 변환에 의해 얻은 토크와의 관계 를 도시한 특성도이다.
도23은 조인트(2)에 있어서의 실측 토크와 변환에 의해 얻은 토크와의 관계를 도시한 특성도이다.
도24는 조인트(2)에 있어서의 실측 토크와 변환에 의해 얻은 토크와의 관계를 도시한 특성도이다.
도25는 조인트(3)에 있어서의 실측 토크와 변환에 의해 얻은 토크와의 관계를 도시한 특성도이다.
도26은 조인트(3)에 있어서의 실측 토크와 변환에 의해 얻은 토크와의 관계를 도시한 특성도이다.
도27은 다양한 방향으로부터 힘이 가해졌을 때의 결과를 도시한 특성도이다.
도28은 다양한 방향으로부터 힘이 가해졌을 때의 결과를 도시한 특성도이다.
도29는 다양한 방향으로부터 힘이 가해졌을 때의 결과를 도시한 특성도이다.
도30은 몸에 대해 훨씬 힘이 가해졌을 때의 결과를 도시한 특성도이다.
도31은 피치 방향용 액튜에이터에 대한 지시치와 실제치의 관계를 도시한 파형도이다.
도32는 각종 파형을 도시한 파형도이다.
도33은 안정 여유의 설명에 이바지하는 개념도이다.
도34는 안정 여유의 설명에 이바지하는 파형도이다.
도35는 제1 내지 제3 장해물 검출 방법에 의한 장해물 검출의 설명에 이바지하는 파형도이다.
도36은 제1 내지 제3 장해물 검출 방법에 의한 장해물 검출의 설명에 이바지하는 파형도이다.
도37은 제1 내지 제3 장해물 검출 방법에 의한 장해물 검출의 설명에 이바지하는 파형도이다.
도38은 안정 여유의 계산 방법의 설명에 이바지하는 개념도이다.
도39는 장해물 검출 처리 순서를 도시한 흐름도이다.
본 발명의 구체예로서 도시한 로봇 장치는, 주위 환경(외적 요인)이나 내부 상태(내적 요인)에 따라서 자율적으로 행동을 하는 자율형의 로봇 장치이다. 외적 요인으로는, 예를 들어 사용자 등에 의해 부여된 힘이나 장해물과의 접촉 등에 의해 생기는 외력이 있으며, 로봇 장치는 외력을 검출할 수 있도록 구성되어 있다.
로봇 장치는, 외적 요인이나 내적 요인에 의거하여 자율적으로 행동하기 위한 기본적인 구성 외에, 도1, 도2에 도시한 바와 같이 외력 측정부(101), 외력 분석부(102), 행동 선택부(103)를 갖는다. 그리고, 외력 측정부(101)는 로봇 장치에 가해지는 외력의 위치, 방향 및 크기 등을 측정하고(스텝 S1), 외력 분석부(102)는 외력 측정부(101)로부터의 입력에 따라 외력의 종류를 분류하고(스텝 S2), 행동 선택부(103)는 외력 분석부(102)의 분석 결과에 따라서 로봇 장치의 자세 천이를 행한다(스텝 S3).
스텝 S3에 있어서의 행동 선택은, 예를 들어 도3에 도시한 프로그램에 따라서 실현된다. 도3의 프로그램은, 로봇 장치에 가해지는 외력의 종류와 로봇 장치 의 거동에 의거하여 다음의 행동을 선택할 수 있도록 기술되고, ForceKind 변수, BehaviorStatus 변수, ForceDirection 변수는, 각각 외력이 가해지는 위치, 로봇 장치의 거동, 힘이 가해지는 방향을 도시하고, 행동 선택부(103)는 이들 외력의 정보를 기초로 행동 선택을 행한다.
본 발명의 구체예는, 부여된 외력을 기초로 행동을 선택하는 자율형 로봇 장치에 있어서의 외력 검출 방법에 대해 설명한다.
(1) 로봇 장치의 구체적인 구성
도4에 도시한 바와 같이, 로봇 장치(1)는「개」등의 동물을 모방한 형상의 소위 페트형 로봇이 되고, 동체부 유닛(2)의 전후 좌우에 다리부 유닛(3A, 3B, 3C, 3D)이 연결되는 동시에, 동체부 유닛(2)의 전단부 및 후단부에 각각 머리부 유닛(4) 및 꼬리부 유닛(5)이 연결되어 구성되어 있다.
동체부 유닛(2)에는, 도5에 도시한 바와 같이 CPU(Central Processing Unit)(10), DRAM(Dynamic Random Access Memory)(11), 플래시 ROM(Read 0nly Memory)(12), PC(Personal Computer) 카드 인터페이스 회로(13) 및 신호 처리 회로(14)가 내부 버스(15)를 거쳐서 서로 접속됨으로써 형성된 제어부(16)와, 이 로봇 장치(1)의 동력원으로서의 배터리(17)가 수납되어 있다. 또한, 동체부 유닛(2)에는 로봇 장치(1)의 방향이나 움직임의 가속도를 검출하기 위한 각속도 센서(18) 및 가속도 센서(19) 등도 수납되어 있다.
또한, 머리부 유닛(4)에는 외부 상황을 촬상하기 위한 CCD(Charge Coupled Device) 카메라(20)와, 사용자로부터의「어루만짐」이나「두들김」등의 물리적인 작용에 의해 받은 압력을 검출하기 위한 접촉 검출(21)과, 전방에 위치하는 물체까지의 거리를 측정하기 위한 거리 센서(22)와, 외부음을 집음하기 위한 마이크로폰(23)과, 울음소리 등의 음성을 출력하기 위한 스피커(24)와, 로봇 장치(1)의「눈」에 상당하는 LED(Light Emitting Diode)(도시하지 않음) 등이 각각 소정 위치에 배치되어 있다.
또한, 각 다리부 유닛(3A 내지 3D)의 관절 부분이나 각 다리부 유닛(3A 내지 3D) 및 동체부 유닛(2)의 각 연결 부분, 머리부 유닛(4) 및 동체부 유닛(2)의 연결 부분 및 꼬리부 유닛(5)의 꼬리부(5A)의 연결 부분 등에는 각각 자유도 수만큼의 액튜에이터(251 내지 25n) 및 포텐쇼 미터(261 내지 26n)가 배치되어 있다. 예를 들어, 액튜에이터(251 내지 25n)는 서보 모터를 구성으로 하여 갖고 있다. 서보 모터의 구동에 의해, 다리부 유닛(3A 내지 3D)이 제어되어, 목표의 자세 혹은 동작으로 천이한다.
그리고, 이들 각속도 센서(18), 가속도 센서(19), 접촉 검출(21), 거리 센서(22), 마이크로폰(23), 스피커(24) 및 각 포텐쇼 미터(261 내지 26n) 등의 각종 센서 및 LED 및 각 액튜에이터(251 내지 25n)는 각각 대응하는 허브(271 내지 27n)를 거쳐서 제어부(16)의 신호 처리 회로(14)와 접속되고, CCD 카메라(20) 및 배터리(17)는 각각 신호 처리 회로(14)와 직접 접속되어 있다.
신호 처리 회로(14)는, 상술한 각 센서로부터 공급되는 센서 데이터나 화상 데이터 및 음성 데이터를 차례로 취입하고, 내부 버스(15)를 거쳐서 DRAM(11) 내의 소정 위치에 차례로 저장한다. 또한 신호 처리 회로(14)는, 이와 동시에 배터리(17)로부터 공급되는 배터리 잔량을 나타내는 배터리 잔량 데이터를 차례로 취입하고, 이를 DRAM(11) 내의 소정 위치에 저장한다.
이와 같이 하여 DRAM(11)에 저장된 각 센서 데이터, 화상 데이터, 음성 데이터 및 배터리 잔량 데이터는, 이 후 CPU(10)가 로봇 장치(1)의 동작 제어를 행할 때에 이용된다.
실제상 CPU(10)는 로봇 장치(1)의 전원이 투입된 초기시, 동체부 유닛(2)의 도시하지 않은 PC 카드 슬롯에 장전된 메모리 카드(28) 또는 플래시 ROM(12)에 저장된 제어 프로그램을 PC 카드 인터페이스 회로(13)를 거쳐서 또는 직접 판독하고, 이를 DRAM(11)에 저장한다.
또한, CPU(10)는 이 후 상술한 바와 같이 신호 처리 회로(14)로부터 DRAM(11)에 차례로 저장되는 각 센서 데이터, 화상 데이터, 음성 데이터 및 배터리 잔량 데이터에 의거하여 자기 및 주위의 상황이나, 사용자로부터의 지시 및 작용의 유무 등을 판단한다.
또한, CPU(10)는 이 판단 결과 및 DRAM(11)에 저장된 제어 프로그램에 의거하여 계속되는 행동을 결정하는 동시에, 상기 결정 결과에 의거하여 필요한 액튜에이터(251 내지 25n)를 구동시킴으로써, 머리부 유닛(4)을 상하 좌우로 흔들게 하거나, 꼬리부 유닛(5)의 꼬리부(5A)를 움직이게 하거나, 각 다리부 유닛(3A 내지 3D)을 구동시켜 보행시키는 등의 행동을 행하게 한다.
또한, 이 때 CPU(10)는 필요에 따라서 음성 데이터를 생성하고, 이를 신호 처리 회로(14)를 거쳐서 음성 신호로서 스피커(24)에 부여함으로써 상기 음성 신호에 의거하는 음성을 외부에 출력시키거나, 상술한 LED를 점등 및 소등 또는 점멸시킨다.
이와 같이 하여 이 로봇 장치(1)에 있어서는 자기 및 주위의 상황이나, 사용자로부터의 지시 및 작용에 따라서 자율적으로 행동할 수 있도록 되어 있다.
(1-1) 신호 처리 회로의 구성
신호 처리 회로(14)의 구체적 구성을 도6에 도시한다. 이 도6으로부터도 명백한 바와 같이, 신호 처리 회로(14)는 DMA(Direct Memory Access) 제어기(30), DSP(Digital Signal Processor)(31), 페리페럴 인터페이스(32), 타이머(33), FBK/CDT(Filter Bank/Color Detection)(34), IPE(Inner Product Engine)(35), 시리얼 버스 호스트 제어기(36) 및 시리얼 버스(37)가 버스(38) 및 상기 버스(38)의 사용권 조정을 행하는 버스 아비터(39)를 차례로 거쳐서 버스(40)에 접속되는 동시에, 상기 버스(40)가 각각 DRAM 인터페이스(41), 호스트 인터페이스(42) 및 ROM 인터페이스(43)를 거쳐서 DRAM(11)(도5), CPU(10)(도5) 및 플래시 ROM(12)(도5)과 접속되고, 또 페리페럴 인터페이스(32)에 페러렐 포트(44), 배터리 매니저(45) 및 시리얼 포트(46)가 접속됨으로써 구성되어 있다.
이 경우 도5에 대해 상술한 각속도 센서(18), 가속도 센서(19), 접촉 검출(21), 거리 센서(22), 마이크로폰(23), 스피커(24), 각 액튜에이터(25)(251, 252, 253 …) 및 각 포텐쇼 미터(26)(261, 262, 263 …) 등의 장치는 각각 허브(27)(271 내지 27n)를 거쳐서 시리얼 호스트 제어기(36)와 접속되는 동시에, CCD 카메라(20)(도2)는 FBK/CDT(34)와 접속되고, 또한 배터리(17)(도5)는 배터리 매니저(45)와 접속되어 있다.
그리고 시리얼 호스트 제어기(36)는, 접속된 각 장치 중, 각속도 센서(18), 가속도 센서(19), 접촉 검출(21), 거리 센서(22) 및 각 포텐쇼 미터(26)(261, 262, 263 …) 등의 각 센서로부터 각각 부여되는 센서 데이터를 차례로 취입하고, 데이터의 전송을 담당하는 버스 마스터로서 기능하는 DMA 제어기(30)의 제어하에, 이들 센서 데이터를 버스(38), 버스 아비터(39), 버스(40) 및 DRAM 인터페이스(41)를 차례로 거쳐서 DRAM(11)에 부여하여 기억시킨다.
또한 시리얼 호스트 제어기(36)는, 마이크로폰(23)으로부터 부여되는 음성 데이터를 DSP(31)로 송출하는 동시에, DSP(31)는 이 음성 데이터에 대해 소정의 데이터 처리를 실시하고, 그 처리 결과로 이루어지는 음성 데이터를 DMA 제어기(30)의 제어하에, 버스(38), 버스 아비터(39), 버스(40) 및 DRAM 인터페이스(41)를 차례로 거쳐서 DRAM(11)에 전송하고, 이를 상기 DRAM(11) 내의 소정의 기억 영역에 저장한다.
또한 FBK/CDT(34)는, CCD 카메라(20)로부터 공급되는 화상 데이터를 색인식을 행하면서 복수의 해상도로 나누어 취입하고, 얻게 된 화상 데이터를 DMA 제어기(30)의 제어하에, 버스(38), 버스 아비터(39), 버스(40) 및 DRAM 인터페이스(41)를 차례로 거쳐서 DRAM(11)(도5)으로 전송하고, 이를 후술하는 바와 같이 상기 DRAM(11) 내의 지정된 기억 영역에 저장한다.
또한 배터리 매니저(45)는, 배터리(17)로부터 통지되는 에너지 잔량을 나타내는 배터리 잔량 데이터를 DMA 제어기(30)의 제어하에, 페리페럴 인터페이스(32), 버스(38), 버스 아비터(39), 버스(4O) 및 DRAM 인터페이스(41)를 차례로 거쳐서 DRAM(11)에 전송하고, 이를 상기 DRAM(11) 내의 소정의 기억 영역에 저장한다.
한편, 신호 처리 회로(14)는 상술한 바와 같이 CPU(10)(도5)로부터 버스(15)(도5)를 거쳐서 부여되는 각 액튜에이터(25)(251, 252, 253 …)를 구동하기 위한 제1 구동 신호나, 음성 신호 및 LED를 구동하기 위한 제2 구동 신호를 호스트 인터페이스(42)를 거쳐서 입력한다.
그리고 신호 처리 회로(14)는, 이들을 버스(40), 버스 아비터(39), 버스(38) 및 시리얼 버스 호스트 제어기(36) 등에 대응하는 허브(27)(271 내지 27n)(도5)를 차례로 거쳐서 대응하는 액튜에이터(25)(251, 252, 253 …)(도5)나, 스피커(24)(도5) 또는 LED로 송출한다.
이와 같이 하여 신호 처리 회로(14)에 있어서는, 각 센서, CCD 카메라(20), 마이크로폰(23), 스피커(24), 각 액튜에이터25(251, 252, 253 …) 등의 각 장치와, CPU(1O) 사이에 있어서, CPU(10)가 로봇 장치(1)의 행동을 제어하기 위해 필요한 각종 신호 처리를 행할 수 있도록 이루어져 있다.
(1-2) 제어 프로그램의 소프트웨어 구성
다음에 이 로봇 장치(1)에 있어서의 제어 프로그램의 소프트웨어 구성에 대해 설명한다.
도7은, 로봇 장치(1)에 있어서의 상술한 제어 프로그램의 소프트웨어 구성을 도시한 것이다. 이 도7에 있어서, 디바이스ㆍ드라이버ㆍ레이어(50)는 이 제어 프로그램의 최하 위치에 위치하고, 복수의 디바이스ㆍ드라이버로 이루어지는 디바이스ㆍ드라이버ㆍ셋트(51)로 구성되어 있다. 이 경우 각 디바이스ㆍ드라이버는, CCD 카메라(20)(도5)나 타이머 등의 통상 컴퓨터에서 이용되는 하드웨어에 직접 액서스하는 것이 허용된 오브젝트이며, 대응하는 하드웨어로부터의 할입을 받아 처리를 행한다.
또한 로보틱ㆍ서버ㆍ오브젝트(52)는 디바이스ㆍ드라이버ㆍ레이어(50)의 상위층에 위치하고, 예를 들어 상술한 각종 센서나 액튜에이터(25)(251 내지 25n) 등의 하드웨어에 액세스하기 위한 인터페이스를 제공하는 소프트웨어군으로 이루어지는 배챌ㆍ로봇(53)과, 전원의 절환 등을 관리하는 소프트웨어군으로 이루어지는 파워 매니저(54)와, 다른 다양한 디바이스ㆍ드라이버를 관리하는 소프트웨어군으로 이루어지는 디바이스ㆍ드라이버ㆍ매니저(55)와, 로봇 장치(1)의 기구를 관리하는 소프트웨어군으로 이루어지는 디자인드ㆍ로봇(56)으로 구성되어 있다.
매니저ㆍ오프젝트(57)는, 오프젝트ㆍ매니저(58) 및 서비스ㆍ매니저(59)로 구성되어 있다. 이 경우 오프젝트ㆍ매니저(58)는, 로보틱ㆍ서버ㆍ오브젝트(52), 미들ㆍ웨어ㆍ레이어(60) 및 어플리케이션ㆍ레이어(61)에 포함되는 각 소프트웨어군의 기동이나 종료를 관리하는 소프트웨어군이며, 서비스ㆍ매니저(59)는 메모리 카드(28)(도5)에 저장된 커넥션 파일에 기술되어 있는 각 오브젝트 사이의 접속 정보에 의거하여 각 오브젝트의 접속을 관리하는 소프트웨어군이다.
미들ㆍ웨어ㆍ레이어(60)는, 로보틱ㆍ서버ㆍ오브젝트(52)의 상위층에 위치하고, 화상 처리나 음성 처리 등의 이 로봇 장치(1)의 기본적인 기능을 제공하는 소프트웨어군으로 구성되어 있다. 또한 어플리케이션ㆍ레이어(61)는 미들ㆍ웨어ㆍ레이어(60)의 상위층에 위치하고, 상기 미들ㆍ웨어ㆍ레이어(40)를 구성하는 각 소프트웨어군에 의해 처리된 처리 결과에 의거하여 로봇 장치(1)의 행동을 결정하기 위한 소프트웨어군으로 구성되어 있다.
미들ㆍ웨어ㆍ레이어(60) 및 어플리케이션ㆍ레이어(61)의 구체적인 소프트웨어 구성을 각각 도8 및 도9에 도시한다. 미들ㆍ웨어ㆍ레이어(60)에 있어서는, 도8로부터도 명백한 바와 같이, 소음 검출용, 온도 검출용, 밝기 검출용, 음계 인식용, 거리 검출용, 자세 검출용, 접촉 검출용, 움직임 검출용 및 색인식용의 각 신호 처리 모듈(70 내지 78) 및 입력 세만틱스 컨버터 모듈(79) 등을 갖는 인식계(700)와, 출력 세만틱스 컨버터 모듈(99) 및 자세 관리용, 트랙킹용, 모션 재생용, 보행용, 쓰러짐 복귀, LED 점등용 및 소리 재생용 각 신호 처리 모듈(81 내지 87) 등을 갖는 출력계(800)로 구성되어 있다.
이 경우 인식계(700)의 각 신호 처리 모듈(70 내지 78)은, 로보틱ㆍ서버ㆍ오브젝트(52)의 배챌ㆍ로봇(53)에 의해 DRAM(11)(도5)으로부터 판독되는 각 센서 데이터나 화상 데이터 및 음성 데이터 중 대응하는 데이터를 취입하고, 상기 데이 터에 의거하여 소정의 처리를 실시하여, 처리 결과를 입력 세만틱스 컨버터 모듈(79)에 부여한다.
입력 세만틱스 컨버터 모듈(79)은 이들 각 신호 처리 모듈(70 내지 78)로부터 부여되는 처리 결과에 의거하여,「시끄럽다」,「덥다」,「밝다」,「볼을 검출했다」,「넘어짐을 검출했다」,「어루만졌다」,「두들겼다」,「도미솔의 음계가 들렸다」,「움직이는 물체를 검출했다」또는「장해물을 검출했다」등의 자기 및 주위의 상황이나, 사용자로부터의 지령 및 작용을 인식하고, 인식 결과를 어플리케이션ㆍ레이어(61)(도7)에 출력한다.
어플리케이션ㆍ레이어(61)는, 도9에 도시한 바와 같이 행동 모델 라이브러리(90), 행동 절환 모듈(91), 학습 모듈(92), 감정 모델(93) 및 본능 모델(94) 5개의 모듈로 구성되어 있다.
이 경우 행동 모델 라이브러리(90)에는, 도10에 도시한 바와 같이「배터리 잔량이 적어진 경우」,「전도 복귀하는 경우」,「장해물을 회피하는 경우」,「감정을 표현하는 경우」,「볼을 검출한 경우」등의 미리 선택된 몇 가지의 조건 항목에 각각 대응시켜, 각각 독립된 행동 모델(901 내지 90n)이 설치되어 있다.
그리고 이들 행동 모델(901 내지 90n)은, 각각 입력 세만틱스 컨버터 모듈(76)로부터 인식 결과가 부여되었을 때나, 마지막 인식 결과가 부여되고 나서 일정 시간이 경과되었을 때 등에, 필요에 따라서 후술하는 바와 같이 감정 모델(93)에 보유 지지되어 있는 대응하는 감정 변화의 변수치나 본능 모델(94)에 보유 지지되어 있는 대응하는 욕구의 변수치를 참조하면서 계속되는 행동을 각각 결정하고, 결정 결과를 행동 절환 모듈(91)에 출력한다.
또 이 실시 형태의 경우, 각 행동 모델(901 내지 90n)은 다음의 행동을 결정하는 수법으로서, 도8에 도시한 바와 같은 1개의 노드(상태)(NODE0 내지 NODEn)로부터 다른 어떤 노드(NODE0 내지 NODEn)로 천이하는지를 각 노드(NODE0 내지 NODEn) 사이를 접속하는 아크(ARC1 내지 ARCn+1)에 대해 각각 설정된 천이 확률(P1 내지 Pn+1)에 의거하여 확률적으로 결정하는 확률 오토마톤이라 불리우는 알고리즘을 이용한다.
구체적으로, 각 행동 모델(901 내지 90n)은 각각 자기의 행동 모델(901 내지 90n)을 형성하는 각 노드(NODE0 내지 NODEn)에 각각 대응시켜, 이들 노드(NODE 0 내지 NODEn)마다의 도11에 도시한 바와 같은 상태 천이표(100)를 갖고 있다.
이 상태 천이표(100)에서는, 그 노드(NODE0 내지 NODEn)에 있어서 천이 조건으로 하는 입력 이벤트(인식 결과)가「입력 이벤트명」의 행으로 우선순으로 열거 기록되고, 그 천이 조건에 대한 또 다른 조건이「데이터명」및「데이터 범위」의 행에 있어서의 대응하는 열에 기술되어 있다.
따라서 도11의 상태 천이표(100)로 나타내는 노드[NODE(100)]에서는,「볼을 검출(BALL)」이라는 인식 결과가 부여된 경우에, 상기 인식 결과와 함께 부여되는 그 볼의「크기(SIZE)」가「0으로부터 1000」의 범위인 것이나,「장해물을 검출(OBSTACLE)」이라는 인식 결과가 부여된 경우에, 상기 인식 결과와 함께 부여되는 그 장해물까지의「거리(DISTANCE)」가「0으로부터 100」의 범위인 것이 다른 노드로 천이하기 위한 조건으로 되어 있다.
또한 이 노드[NODE(100)]에서는 인식 결과의 입력이 없는 경우에 있어서도, 행동 모델(901 내지 90n)이 주기적으로 참조되는 감정 모델(93) 및 본능 모델(94)에 각각 보유 지지된 각 감정의 변화 및 각 욕구의 변수치 중, 감정 모델(93)에 보유 지지된 「즐거움(JOY)」,「놀람(SURPRISE)」혹은「슬픔(SUDNESS)」중 어느 하나의 변수치가「50 내지 100」의 범위일 때에는 다른 노드로 천이할 수 있도록 되어 있다.
또한 상태 천이표(100)에서는,「다른 노드로의 천이 확률」란에 있어서의「천이 선노드」의 열에 그 노드(NODE0 내지 NODEn)로부터 천이할 수 있는 노드명이 기술되는 동시에,「입력 이벤트명」,「데이터치」 및「데이터의 범위」의 행에 기술된 모든 조건이 구비되었을 때에 천이 가능한 다른 각 노드(NODE0 내지 NODEn)로의 천이 확률이「다른 노드로의 천이 확률」란 내의 대응하는 부위에 각각 기술되고, 그 노드(NODE0 내지 NODEn)로 천이할 때에 출력하기 위해 행동이「다른 노드로의 천이 확률」란에 있어서의「출력 행동」의 행에 기술되어 있다. 또,「다른 노드로의 천이 확률」란에 있어서의 각 행의 확률의 합은, 100[%]로 되어 있다.
따라서 도11의 상태 천이표(100)로 나타내는 노드[node(100)]에서는, 예를 들어「볼을 검출(BALL)」하고, 그 볼의「SIZE(크기)」가「0 내지 1000」의 범위라 하는 인식 결과가 부여된 경우에는,「30[%]」의 확률로「node120(node120)」로 천이할 수 있고, 그 때「ACTION1」의 행동이 출력되게 된다.
그리고 각 행동 모델(901 내지 90n)은, 각각 이러한 상태 천이표(100)로서 기술된 노드(NODE0 내지 NODEn)가 몇 개라도 연결되도록 하여 구성되어 있고, 입력 세만틱스 컨버터 모듈(76)로부터 인식 결과가 부여되었을 때 등에 대응하는 노드(NODE0 내지 NODEn)의 상태 천이표(10)를 이용하여 확률적으로 다음의 행동을 결정하고, 결정 결과를 행동 절환 모듈(91)에 출력하도록 이루어져 있다.
행동 절환 모듈(91)은, 행동 모델 라이브러리(90)의 각 행동 모델(901 내지 90n)로부터 각각 출력되는 행동 중, 미리 정해진 우선 순위가 높은 행동 모델(901 내지 90n)로부터 출력된 행동을 선택하고, 상기 행동을 실행해야 할 취지의 커맨드(이하, 이를 행동 커맨드라 함)를 미들ㆍ웨어ㆍ레이어(60)의 출력 세만틱스 컨버터(88)에 송출한다. 또 이 실시 형태에 있어서는, 도10에 있어서 하측에 표기된 행동 모델(901 내지 90n)만큼 우선 순위가 높게 설정되어 있다.
또한 행동 절환 모듈(91)은, 행동 완료 후에 출력 세만틱스 컨버터(77)로부터 부여되는 행동 완료 정보에 의거하여, 그 행동이 완료된 것을 학습 모듈(92), 감정 모델(93) 및 본능 모델(94)에 통지한다.
한편, 학습 모듈(92)은 입력 세만틱스 컨버터(79)로부터 부여되는 인식 결과 중,「두들겼다」나「어루만졌다」등, 사용자로부터의 작용으로서 받은 교시의 인식 결과를 입력한다.
그리고 학습 모듈(92)은, 이 인식 결과 및 행동 절환 모듈(91)로부터의 통지에 의거하여,「두들겼을(야단쳤을)」때에는 그 행동의 발현 확률을 저하시켜,「어루만졌을(칭찬받았을)」때에는 그 행동의 발현 확률을 상승시키도록, 행동 모델 라이브러리(90)에 있어서의 대응하는 행동 모델(901 내지 90n)의 대응하는 천이 확률을 변경한다.
한편, 감정 모델(93)은「즐거움(joy)」,「슬픔(sadness)」,「분노(anger)」,「놀람(surprise)」,「혐오(disgust)」및「두려움(fear)」의 합계 6개의 감정의 변화에 대해, 감정의 변화마다 그 감정 변화의 강도를 나타내는 변수를 보유 지지하고 있다. 그리고 감정 모델(93)은, 이들 각 감정 변화의 변수치를 각각 입력 세만틱스 컨버터 모듈(79)로부터 부여되는「두들겼다」및「어루만졌다」등의 특정한 인식 결과와, 경과 시간 및 행동 절환 모듈(91)로부터의 통지 등에 의거하여 주기적으로 갱신하고 있다.
구체적으로는, 감정 모델(93)은 입력 세만틱스 컨버터 모듈(79)로부터 부여되는 인식 결과와, 그 때의 로봇 장치(1)의 행동과, 전회 갱신하고 나서의 경과 시간과 등에 의거하여 소정의 연산식에 의해 산출되는 그 때의 그 감정 변화의 변동량을 ΔE[t], 현재의 그 감정 변화의 변수치를 E[t], 그 감정 변화의 감도를 나타내는 계수를 ke로서, 하기의 식 1에 의해 다음 주기에 있어서의 그 감정 변화의 변수치 E[t+1]를 산출하고, 이를 현재의 그 감정 변화의 변수치 E[t]로 치환하도록 하여 그 감정 변화의 변수치를 갱신한다. 또한, 감정 모델(73)은 이와 같이 하여 모든 감정 변화의 변수치를 갱신한다.
Figure 112002034446210-pct00001
또, 각 인식 결과나 출력 세만틱스 컨버터 모듈(88)로부터의 통지가 각 감정 변화의 변수치의 변동량 ΔE[t]에 어느 정도의 영향을 부여하는지는 미리 결정되어 있다. 예를 들어,「두들겼다」등의 인식 결과가 부여된 경우,「분노」의 감정 변화 변수치의 변동량 E[t]에, 보다 큰 영향이 부여되고,「어루만졌다」등의 인식 결과가 부여된 경우,「기쁨」의 감정 변화 변수치의 변동량 ΔE[t]에, 보다 큰 영향이 부여된다.
여기서, 출력 세만틱스 컨버터 모듈(88)로부터의 통지라 함은, 소위 행동의 피드백 정보(행동 완료 정보)이고, 행동의 출현 결과의 정보이며, 감정 모델(93)은 이러한 정보에 의해서도 감정을 변화시킨다. 이것은, 예를 들어「짖는다」등의 행동에 의해 분노의 감정 레벨이 내려간다 등과 같은 것이다. 또, 출력 세만틱스 컨버터 모듈(88)로부터의 통지는 상술한 학습 모듈(92)에도 입력되어 있고, 학습 모듈(92)은 그 통지에 의거하여 행동 모듈(901 내지 90n)의 대응하는 천이 확률을 변경한다.
또, 행동 결과의 피드백은 행동 절환 모듈 레이터(91)의 출력(감정이 부가된 행동)에 의해 이루어지는 것이라도 좋다.
한편, 본능 모델(94)은 운동욕(exercise), 애정욕(affection), 식욕(appetite) 및 호기심(curiosity)의 서로 독립된 4개의 욕구에 대해, 이들 욕구마다 그 욕구의 강도를 나타내는 변수를 유지하고 있다. 그리고, 본능 모델(94)은 이들 욕구의 변수치를, 각각 입력 세만틱스 컨버터 모듈(79)로부터 부여되는 인식 결과나, 경과 시간 및 행동 절환 모듈(91)로부터의 통지 등에 의거하여 주기적으로 갱신한다.
구체적으로는, 본능 모델(94)은「운동욕」,「애정욕」및「호기심」에 대해서는 인식 결과, 경과 시간 및 출력 세만틱스 컨버터 모듈(88)로부터의 통지 등에 의거하여 소정의 연산식에 의해 산출되는 그 때의 그 욕구의 변동량을 ΔI[k], 현재의 그 욕구의 변수치를 I[k], 그 욕구의 감도를 나타내는 계수 ki로서, 소정 주기로 하기의 식 2를 이용하여 다음의 주기에 있어서의 그 욕구의 변수치 I[k+1]를 산출하고, 이 연산 결과를 현재의 그 욕구의 변수치 I[k]와 치환하도록 하여 그 욕구의 변수치를 갱신한다. 또한, 본능 모델(94)은 이와 마찬가지로 하여「식욕」을 제외한 각 욕구의 변수치를 갱신한다.
Figure 112002034446210-pct00002
또, 인식 결과 및 출력 세만틱스 컨버터 모듈(88)로부터의 통지 등이 각 욕구의 변수치의 변동량 ΔI[k]에 어느 정도의 영향을 부여하는지는 미리 결정되어 있고, 예를 들어 출력 세만틱스 컨버터 모듈(88)로부터의 통지는「피곤함」의 변수 치의 변동량 ΔI[k]에 큰 영향을 부여하도록 되어 있다.
또, 본 실시의 형태에 있어서는 각 감정의 변화 및 각 욕구(본능)의 변수치가 각각 0 내지 100까지의 범위에서 변동하도록 규제되어 있고, 또한 계수 ke, ki의 값도 각 감정의 변화 및 욕구마다 개별로 설정되어 있다.
한편, 미들ㆍ웨어ㆍ레이어(40)의 출력 세만틱스 컨버터 모듈(88)은 도9에 도시한 바와 같이, 상술한 바와 같이 하여 어플리케이션ㆍ레이어(61)의 행동 절환 모듈(91)로부터 부여되는「전진」,「기쁨」,「울음」또는「트랙킹(볼을 쫓아감)」등의 추상적인 행동 커맨드를 출력계(800)의 대응하는 신호 처리 모듈(78 내지 84)에 부여한다.
그리고 이들 신호 처리 모듈(81 내지 85)은, 행동 커맨드가 부여되면 상기 행동 커맨드에 의거하여, 그 행동을 행하기 위해 대응하는 액튜에이터(251 내지 25n)(도5)에 부여해야 할 서보 지령치나, 스피커(24)(도5)로부터 출력하는 소리의 음성 데이터 및 또는「눈」의 LED에 부여하는 구동 데이터를 생성하고, 이들의 데이터를 로보틱ㆍ서버ㆍ오브젝트(52)의 배챌ㆍ로봇(53)및 신호 처리 회로(14)(도5)를 차례로 거쳐서 대응하는 액튜에이터(251 내지 25n), 스피커(24) 또는 LED에 차례로 송출한다.
이와 같이 하여 이 로봇 장치(1)에 있어서는 제어 프로그램에 의거하여, 자기 및 주위 상황이나, 사용자로부터의 지시 및 작용에 따른 자율적인 행동을 행할 수 있도록 이루어져 있다.
그리고 이들 신호 처리 모듈(81 내지 87)은, 행동 커맨드가 부여되면 상기 행동 커맨드에 의거하여, 그 행동을 행하기 위해 대응하는 액튜에이터(251 내지 25n)(도5)에 부여해야 할 서보 지령치나, 스피커(24)(도5)로부터 출력하는 소리의 음성 데이터 및 또는「눈」의 LED에 부여하는 구동 데이터를 생성하고, 이들의 데이터를 로보틱ㆍ서버ㆍ오브젝트(32)의 배챌ㆍ로봇(33) 및 신호 처리 회로(14)(도12)를 차례로 거쳐서 대응하는 액튜에이터(251 내지 25n) 또는 스피커(24) 또는 LED에 차례로 송출한다.
이와 같이 하여 로봇 장치(1)에 있어서는 제어 프로그램에 의거하여, 자기(내부) 및 주위(외부)의 상황이나, 사용자로부터의 지시 및 작용에 따른 자율적인 행동을 행할 수 있도록 이루어져 있다.
(2) 본 실시 형태에 있어서의 제1 외력 검출 방법
또한, 로봇 장치(1)는 도13에 도시한 바와 같이 외부로부터 부여된 외력을 검출하는 부분으로서 외력 검출 수단(7)을 구비하고 있다. 이 외력 검출 수단(7)은 외력이 가해졌을 때, 제어 수단(6)으로부터 구동부(8)에 출력되는 동작부(9)의 제어를 위한 제어 신호의 변화에 의거하여, 외력을 검출한다.
여기서, 외력 검출 수단(7)은 연산 처리 프로그램이 되는 이른바 모듈 혹은 오브젝트로서 구성되어 있다. 또한, 제어 수단(5)은 예를 들어 CPU(10)이다. 또한, 동작부(9)는 상술한 다리부 유닛(3A, 3B, 3C, 3D), 머리부 유닛(4) 혹은 꼬리부 유닛(5) 등이다. 또, 제어 신호는, 예를 들어 데이터에 의해 펄스 폭이 변조된 PWM(pulse width modulation) 펄스이다. PWM 펄스는, 제어 신호 등으로서 다용되는 신호이다.
이상과 같은 구성에 의해 구체적으로는, 다음과 같이 하여 로봇 장치(1)에 부여된 외력을 검출할 수 있다.
제어 수단(10)은 제어 신호를 동작부(9)에 출력한다. 예를 들어, 로봇 장치(1)는 미리 결정된 행동 계획 데이터를 복수 갖고 있다. 여기서, 행동 계획 데이터라 함은, 로봇 장치(1)가 실행 가능한 행동의 정보이며, 로봇 장치(1)는 복수의 행동 계획 데이터에 의해, 여러 가지의 행동을 출현시키는 것이 가능하게 되어 있다. 제어 수단(10)은, 이와 같이 준비되어 있는 복수의 행동 계획 데이터 중, 소정 조건에 의거하여 하나의 행동 계획 데이터를 선택하고, 선택된 행동 계획 데이터에 의거하여 제어 신호를 출력하고 있다. 상술한 소정 조건이라 함은, 예를 들어 로봇 장치(1)의 행동을 규정하는 감정이, 소정의 레벨이 되는 것을 들 수 있다.
제어 수단(6)으로부터 출력된 제어 신호는 구동부(8)에 출력된다. 구동부(8)는 제어 신호에 의거하여 동작부(9)를 제어한다. 그리고, 구동부(8)는 행동 계획 데이터에 의거하여 제어 수단(6)으로부터 잇달아 출력되는 제어 신호에 의거하여 동작부(9)를 제어한다.
외부 검출 수단(7)은, 상술한 바와 같이 제어 수단(6)으로부터 구동부(8)에 출력되는 제어 신호를 모니터하여 동작부(9)에 외력이 가해졌을 때의 제어 신호에 의거하여 상기 외력을 검출한다. 예를 들어, 제어 신호가 PWM 펄스인 경우에는 외 력의 부여에 의해 변화하는 PWM 펄스의 펄스 폭에 의거하여 외력을 검출한다. 이와 같이 외력 검출 수단(7)에 의해 외력이 검출된다. 또한, 외력 검출 수단(7)은 외력의 정보로서, 그 방향이나 크기를 얻는다.
이상과 같은 구성이 됨으로써, 로봇 장치(1)는 자세의 제어나 동작 제어를 하는 동시에, 그와 같은 자세의 제어나 동작 제어에 사용하는 제어 신호를 이용하여 외력을 검출할 수 있게 된다. 예를 들어, 로봇 장치(1)는 외력에 의해 몸이 후방으로 압박된 것에 대해 그에 대항하여 자세를 제어하는 자세 제어를 하도록 제어 신호를 출력하고 있고, 그 제어 신호에 의거하여 외력의 정보를 얻을 수 있다.
그리고 예를 들어, 로봇 장치(1)는 외력의 정보와 소정의 동작을 링크시켜 둠으로써, 외력이 부여됨으로써, 그 외력의 정보를 검출하여 그 외력에 대응하는 소정의 동작(예를 들어,「앉음」등)을 출현시킬 수 있게 된다.
(2-1) 외력 검출의 구체예
다음에, 외력 검출을 위한 구체예에 대해 설명한다. 상술한 실시 형태의 설명에서는, 외부로부터 부여되는 힘의 정보(크기나 힘 등)를 제어 신호가 되는 PWM 펄스에 의거하여 산출하는 경우에 대해 설명했다. 여기서는 그와 같은 PWM 펄스에 의거하여 힘의 정보를 얻기 위한 구체예에 대해 설명한다. 크게 구별하여 이하와 같은 스텝에 의해, PWM 펄스에 의거하여 힘의 정보를 얻고 있다.
제1 스텝에서는 토크 A(실측)와 PWM 펄스와의 관계를 구한다.
제2 스텝에서는 센서 등으로 계측한 힘(실측)과 토크 B(계산치)의 관계를 구한다.
제3 스텝에서는 토크 A, 토크 B 사이의 관계(예를 들어, 관계식)를 구한다.
제4 스텝에서는 상술한 제3 스텝에서 구한 관계를 사용하여, 각 관절에서 계산된 PWM 펄스만으로 힘의 정보를 얻는다.
이하, 이 각 스텝에 대해 상세하게 상세하게 서술한다.
(2-1-1) 실측 토크와 PWM 펄스와의 관계를 구한다(제1 스텝).
여기서는, 실측 토크와 PWM 펄스와의 관계를 관계식에 의해 얻는 경우에 대해 설명한다.
우선, 도14 내지 도17에는 각각에 대해, 토크와 PWM 펄스와의 값과의 관계를 그래프로서 나타내고 있다. 그래프에 있어서, 횡축은 PWM의 펄스를 나타내고, 종축은 토크치를 나타내고 있다. 또한, 도14의 결과는 우측 전방 다리에 대해 도시하고, 도15의 결과는 좌측 전방 다리에 대해 도시하고, 도16의 결과는 우측 후방 다리에 대해 도시하고, 도17의 결과는 우측 후방 다리에 대해 도시하고 있다. 그리고, 각 다리에 대해, 어깨로부터 발끝에 걸친 각 관절(조인트 1 내지 조인트 3)에 있어서의 토크와 PWM 펄스 폭과의 관계를 나타내고 있다. 또한, 예를 들어 스프링 저울에 의해 다리를 인장하고, 그에 의거하여 토크를 얻고 있고, PWM 펄스 폭은 그 때의 값이다.
이 도14 내지 도17의 결과에 도시한 바와 같이, 어떤 다리에 대해서도 정성적으로는 대략 마찬가지인 관계를 얻고 있다. 예를 들어, 어떤 결과에 있어서도, PWM 펄스가 생기고 있음에도 불구하고, 토크가 변화되지 않는다(예를 들어, 모터가 회전하지 않음) 등의, 소위 불감대가 존재하고 있다. 예를 들어, 불감대는 ±320 범위 내에서 발생하고 있다. 이러한 불감대에서는 토크는 부정치(不定値)이며, 힘의 특정에 사용할 수는 없다. 이러한 것으로부터, 예를 들어 힘의 센싱에는 이용할 수 있는 영역을 사용하고, 그와 같은 이용 가능한 영역의 값으로부터 회귀 직선에 의해 관계를 구하고 있다. 또한, 모든 관절에 관하여 회귀 직선을 계산하고, 그 평균치를 도입해 관계식을 얻고 있다.
예를 들어, 도14 내지 도17 중 어느 하나의 도면으로부터도 알 수 있는 바와 같이 이용할 수 있는 영역은, PWM 펄스가 +320 내지 +512와 -320 내지 -512가 있으며, PWM 펄스가 +320 내지 +520의 경우의 토크를 구하는 회귀 직선에 대해서는 다음 수학식 3과 같이 된다.
y = 26 × x - 7245
여기서, y는 토크치이며, x는 PWM 펄스치이다. 한편, PWM 펄스가 -320 내지 -512의 경우의 토크를 구하는 회귀 직선에 대해서는 다음식 4와 같이 된다.
y = 28 × x + 8051
이상과 같은 식으로서, 실측 토크와 PWM 펄스와의 관계를 나타낸 관계식을 얻을 수 있다.
(2-1-2) 센서 등에서 계측한 힘과 토크(계산치)의 관계를 구한다(제2 스텝).
예로서, 로봇 장치에 부여되는 힘을 토크에 환산하는 경우에 대해 설명한다.
(2-1-2-1) 힘을 계측하는 시스템
도18에는, 로봇 장치(1)에 부여되는 힘을 계측하는 시스템(이하, 힘 센서 시스템이라 함)을 나타내고 있다. 이 힘 센서 시스템은 센서(201), 차동 앰프(202), A/D 변환부(203), 인터페이스부(204) 및 해석부(205)에 의해 구성되어 있다.
센서(201)에는 3축력을 계측하는, 예를 들어 3축력 센서이다. 예를 들어, 본 실시예에서 사용하는 3축력 센서는 원래 1축의 힘 센서(201a)를 3 방향으로 배치하여 각 힘 센서(201a)가 금속구(201b)의 표면에 접촉된 구성으로 되어 있다. 센서(201)는, 이러한 구성에 의해 금속구(201b)에 외력이 부여됨으로써, 각 힘 센서(201a)가 그에 따른 신호를 출력한다. 예를 들어, 각 힘 센서(201a)는 왜곡 게이지이며, 센서(201)는 그와 같은 왜곡 게이지에 의한 브릿지 회로로 구성되어 있다.
이 센서(201)에 의해 검출된 신호는 차동 앰프(2O2)에 출력되고, 차동 앰프(202)에서, 증폭되어 A/D 변환부(203)에 출력된다. A/D 변환부(203)는, 예를 들어 8비트의 데이터 변환부로서 구성되어 있다. 이 A/D 변환부(203)에 의해 변환되어 얻은 데이터는, 이른바 RS232C 등의 인터페이스(204)에 의해, 전압 레벨 변환되어 해석부(205)에 출력된다.
해석부(205)에서는 센서(201)에 의해 얻은 데이터에 의거하여 힘의 해석을 행한다. 해석부(205)에서는 해석에 의해 힘의 정보로서, 힘의 방향 및 크기를 얻는다. 예를 들어, 해석부(205)는 적당한 해석 소프트와, 이 해석 소프트의 기술에 따라서 힘의 해석을 행하는 퍼스널 컴퓨터(PC)이다.
도19는 힘의 기준화(캐리브레이션)를 위한 특성도를 도시하고 있다. 캐리브 레이션에서는, 예를 들어 저울을 이용하여 어떤 가중을 가했을 때의 증폭기로부터의 출력 전압을 체크함으로써 행하고 있고, 이 특성도로부터 비례 관계에 있는 것을 확인할 수 있다.
V를 계측한 출력 전압으로 하면, 요구되는 힘(F)은 이하의 수학식 5에서 부여된다.
Figure 112002034446210-pct00003
이상과 같은 힘 센서 시스템에 의해 로봇 장치(1)에 부여되는 힘을 실측할 수 있다.
(2-1-2-2) 실측의 힘으로부터 토오크로의 변환
상술한 바와 같은 힘 센서 시스템에 의해 계측한 힘을 토오크로 변환하는 변환식에 대해 설명한다. 변환식은 로봇 장치(1)의 각 링크를 모델화함으로써, 엔드 에펙터가 되는 힘을 토오크로 변환하는 것으로 하여 얻고 있다.
도20에는 각 링크를 모델화한 로봇 장치의 좌표계를 도시하고 있다. 이와 같이 로봇 장치의 각 링크를 모델화함으로써 실측의 힘을 토오크로 변환할 수 있다.
변환은, 예를 들어 야코비 행렬을 사용하고 있다. 예를 들어, 엔드 에펙터가 되는 힘을 F라 하고, 그 힘을 부여했을 때의 각 관절(링크)의 필요한 토오크를
Figure 112002034446210-pct00004
라 했을 때, 힘과 토오크 사이에는 야코비 행렬(J)을 이용하여 다음 식과 같은 관 계식 6이 성립한다.
Figure 112002034446210-pct00005
우선, 베이스 좌표계와 링크(1) 사이의 변환은 다음과 같이 된다. 베이스 좌표계라 함은 로봇 장치 동체부의 좌표이다. 여기의 변환에서는 x축 주위에 π/2이고, y축 주위에 -π/2이고, z축 주위에 θ1인 것으로 하여 수학식 7과 같은 행렬을 얻는다.
Figure 112002034446210-pct00006
또한, 링크(1)와 링크(2) 사이의 변환은 수학식 8과 같은 행렬이 된다.
Figure 112002034446210-pct00007
또한, 링크(2)와 링크(3) 사이의 변환은 수학식 9와 같은 행렬이 된다.
Figure 112002034446210-pct00008
또한, 링크(3)와 엔드 에펙터 사이의 변환은 수학식 10과 같은 행렬이 된다.
Figure 112002034446210-pct00009
이상과 같이 하여 얻을 수 있는 베이스 좌표계로부터 엔드 에펙터까지의 각 행렬을 곱합으로써, 베이스 좌표계와 엔드 에펙터 사이에서의 수학식 11과 같은 행렬을 얻을 수 있다.
Figure 112002034446210-pct00010
이에 의해, 베이스 좌표계의 원점과, 엔드 에펙터의 관계는 이하와 같은 수학식 12, 수학식 13, 수학식 14 및 수학식 15가 된다.
Figure 112002034446210-pct00011
Figure 112002034446210-pct00012
Figure 112002034446210-pct00013
Figure 112002034446210-pct00014
이상과 같은 결과로부터 코야비 행렬은 이하의 수학식 16과 같이 된다.
Figure 112002034446210-pct00015
이상과 같이 로봇 장치의 링크를 모델화함으로써 야코비 행렬에 의한 변환에 의해, 상술한 힘 센서 시스템에 의해 얻은 힘을 토오크로 변환할 수 있다.
(2-1-3) 실측 토오크와 변환에 의해 얻은 토오크 사이의 관계를 사용하여 각 관절에서 계산된 PWM 펄스로부터만 힘의 정보를 얻는다(제3 스텝, 제4 스텝).
실측 토오크는 상술한 문장 항목(1-1-1)에 있어서 설명한 토오크이고, 변환에 의해 얻은 토오크는 상술한 문장 항목(2-1-2)에 있어서 설명한 힘 센서에 의해 구한 토오크이다.
도21 내지 도26에는 실측 토오크와, 힘 센서의 값으로부터 변환하여 얻은 토오크와의 관계를 그래프로서 나타내고 있다. 예를 들어, 그래프에 있어서 종축은 변환에 의해 얻은 토오크[힘 센서(forceSensor)에 의거하여 얻은 값]이고, 횡축은 실측 토오크(ApproxEqu)이다. 또한, 도21, 도22는 조인트(1)에 있어서의 관계를 나타내고, 도23, 도24는 조인트(2)에 있어서의 관계를 나타내고, 도25, 도26은 조 인트(3)에 있어서의 관계를 나타내고 있다. 그리고, 도21, 도23, 도25는 PWM 펄스에 관하여 정(正)의 영역을 나타내고, 또한, 도22, 도24, 도26 그 부(負)의 영역을 나타내고 있다.
조인트(1)에 대해서는 수학식 17과 같은 관계식을 얻을 수 있다.
Figure 112002034446210-pct00016
여기서, y는 변환에 의해 얻어진 토크이고, x는 실측의 토오크이고, 이하 마찬가지이다. 또한, 조인트(2)에 대해서는 수학식 18과 같은 관계식을 얻을 수 있다.
Figure 112002034446210-pct00017
또한, 조인트(3)에 대해서는 수학식 19와 같은 관계식을 얻을 수 있다.
Figure 112002034446210-pct00018
이상과 같이, 도21 내지 도26에 도시한 바와 같은 관계로부터 힘과 PWM 펄스와의 관계식을 얻을 수 있다. 이 관계식을 이용하여 PWM 펄스로부터 힘을 구할 수 있게 된다. 또한, 실측 토오크와 변환하여 얻은 토오크 사이의 관계는 이와 같은 관계식에 의해 얻을 수 있는 것에 한정되는 것은 아니다.
도27 내지 도30에는 이상과 같은 관계식을 이용하여 힘을 가하였을 때의 의 사적으로 얻을 수 있는 계산된 힘을 나타내고 있다.
도27 내지 도29는 서 있는 상태의 로봇 장치(1)에 대해 각 방향으로부터 힘을 가한 경우의 결과를 나타내고 있고, 도27은 전방 방향으로 힘을 가한 결과이고, 도28은 후방 방향으로 힘을 가한 결과이고, 도29는 좌측 다리를 들어 올렸을 때의 결과를 나타내고 있다. 예를 들어, 도27의 결과를 예로 들면, 전방 방향으로 힘을 가하는 것은, 예를 들어 결과 로봇 장치(1)에 엎드리게 하려고 할 때의 힘이 가해지는 방법이고, 이 경우, 전방 다리와 좌우 모도 잘 계산되어 있고, 후방 다리는 대부분 힘이 가해져 있지 않은 것을 알 수 있다. 이것은 로봇 장치(1)에 대해, 전방 방향으로 힘을 가할 때에 전방 다리에 힘이 집중하기 때문이다.
또한, 도30은 서 있는 자세의 로봇 장치(1)에 대해 전방, 우측 방향, 좌측 방향, 후방의 순서로 힘을 더해 갔을 때, 즉 로봇 장치(1)의 몸에 훨씬 힘을 가해 갔을 때의 결과를 나타내고 있다. 여기서, Fx, Fy는 수평 방향의 힘이다. 이 도30에 도시한 바와 같이 훨씬 힘이 가해진 것에 대해 로봇 장치(1)가 확실하게 센싱하고 있는 것을 알 수 있다.
이상이 외력의 검출을 위한 구체예로서의 외부로부터 부여되는 힘의 정보(크기나 힘 등)를 제어 신호가 되는 PWM 펄스에 의거하여 산출한 실시예이다.
이와 같이, 로봇 장치(1)는 자세의 제어나 동작을 제어 신호에 의해 제어하는 동시에, 그 제어 신호를 이용하여 외력을 검출할 수 있게 된다. 예를 들어, 로봇 장치(1)는 이와 같이 하여 검출한 외력을 트리거로 하여 동작을 다른 자세로 천이시킬 수도 있다.
따라서, 사용자는 이와 같은 로봇 장치(1)에 의해, 예를 들어 엉덩이를 누르고 있는 동작을 출현시킬 수 있고, 로봇 장치(1)가 그와 같은 타이밍에 의해 표출하는 동작을 즐길 수 있다.
그리고, 로봇 장치(1)는 원래부터 사용되고 있는 제어 신호를 이용하여 외력을 검출하고 있으므로, 전용 센서를 필요로 하는 일 없이 구조 용이로서 외력을 검출하는 것을 실현하고 있다.
(3) 본 실시 형태에 있어서의 제2 외력 검출 방법
(3-1) 로봇 장치(1)에 있어서의 외력 검출 방법
다음에 이 로봇 장치(1)에 있어서의 제2 외력 검출 방법에 대해 설명한다.
로봇 장치(1)에 있어서는 보행시에 있어서의 각 다리부 유닛(3A 내지 3D)의 어깨 관절의 피치 방향 및 롤 방향의 각 각도 및 무릎 관절의 피치 방향의 목표 각도를 각각 운동학이나 동력학을 이용하여 산출하고, 산출 결과를 지시치로서 다리부 유닛(3A 내지 3D)의 어깨 관절의 피치 방향 및 롤 방향의 각 각도 및 무릎 관절의 피치 방향의 각도가 각각 지시치가 되도록 어깨 관절 기구 및 또는 무릎 관절 기구 내의 대응하는 각 작동기(25)를 구동 제어함으로써 보행을 실현하고 있다.
그런데, 보행시에 장해물 등에 충돌한 경우에는 상기 장해물로부터의 반작용에 의해 다리부 유닛(3A 내지 3D)의 어깨 관절 기구나 무릎 관절 기구에 부하가 걸려, 이들 어깨 관절이나 무릎 관절을 지시값까지 회전 구동시킬 수 없는 경우가 있다.
그래서 이 로봇 장치(1)에서는 장해물에 관하여 가장 민감한 다리부 유닛(3A 내지 3D)의 어깨 관절의 피치 방향에 대해, 상기 피치 방향용 작동기(25)[이하, 이를 어깨 관절 피치 방향용 작동기(25)라 함]에 부여한 지시값과 대응하는 포텐쇼 미터(26)의 출력에 의거하여 얻을 수 있는 상기 피치 방향의 그 때의 각도(이하, 이를 실제치라 함)와의 차이분을 검출하고, 상기 검출한 차이분의 크기가 미리 설정된 임계치보다도 클 때에 장해물과 충돌했다고 판단하도록 하여 장해물과의 충돌을 검출하도록 이루어져 있다. 또한 이하에 있어서는, 전방측의 다리부 유닛(3A 내지 3D)에 대한 이와 같은 방법을 제1 장해물 검출 방법이라 부르고, 후방측 다리부 유닛(3A 내지 3D)에 대한 이와 같은 방법을 제2 장해물 검출 방법이라 부르는 것으로 한다.
여기서 도31은 장해물이 없을 때의 다리부 유닛(3A 내지 3D)의 어깨 관절 피치 방향용 작동기(25)에 부여한 지시치와 실제치의 관계를 나타내는 그래프이다. 이 도31에 있어서, 부호 K1은 어깨 관절 피치 방향용 작동기(25)에 부여한 지시치, K2는 실제치, K3은 지시치와 실제치의 차이분치를 나타낸다. 도31에서는 지시치 및 실제치가 일치하고 있는 것처럼 보이지 않지만, 이것은 지시치를 부여한 후 이것이 실제로 반영될 때까지 약간의 지연이 시스템에 발생하기 때문이고, 한 쪽 그래프를 횡방향으로 이동하면 지시치 및 실제치 2개의 그래프는 거의 겹친다.
한편, 도32의 (a) 내지 도32의 (c)는 로봇 장치(1)를 보행시켜 장해물에 충돌시켰을 때의 가속도 센서(19)(도5)의 출력 K4[도32의 (a)]와, 전후의 각 다리부 유닛(3A 내지 3D)의 어깨 관절 피치 방향용 작동기(25)에 부여한 지시치 및 실제치의 관계[도32의 (b), 도32의 (c)]를 각각 나타내는 그래프이다.
이 경우 도32의 (b)에 있어서, 하단의 K5는 로봇 장치(1)에 있어서의 전방측 다리부 유닛(3A, 3B)의 어깨 관절 피치 방향용 작동기(25)에 부여한 지시치, K6은 대응하는 포텐쇼 미터(2)의 출력에 의거하여 검출된 실제치를 나타내고 있고, 상단의 K7 내지 K9는 각각 그 다리부 유닛(3A, 3B)의 다리 휴식 기간 및 접지 기간을 나타내는 위상과, 지시치 및 실제치의 차이분치와, 상기 차이분치가 미리 설정된 임계치보다도 큰지의 여부에 의해 생성된 검출 신호를 각각 나타내고 있다.
이와 마찬가지로 하여, 도32의 (c)에 있어서, 상단의 K10은 로봇 장치(1)에 있어서의 후방측 다리부 유닛(3C, 3D)의 어깨 관절 피치 방향용 작동기(25)에 부여한 지시치, K11은 대응하는 포텐쇼 미터(26)의 출력에 의거하여 검출된 실제치를 나타내고 있고, 하단의 K12 내지 K14는 각각 그 다리부 유닛(3C, 3D)의 다리 휴식 기간 및 접지 기간을 나타내는 위상과, 지시치 및 실제치의 차이분치와, 상기 차이분치가 미리 설정된 임계치보다도 큰지의 여부에 의해 생성된 검출 신호를 각각 나타내고 있다.
그리고 이들 도32의 (b) 및 도32의 (c)에 있어서 로봇 장치(1)가 쓰러지기[도32의 (a)에 있어서 원으로 둘러싼 부분] 직전에 로봇 장치(1)가 장해물에 충돌한 단계에서 전후의 각 다리부 유닛(3C, 3D)에 대한 검출 신호에 장해물과의 충돌을 검출한 것을 나타내는(정확하게는 지시치 및 실제치의 차이분치가 미리 설정된 임계치보다도 커진 것을 나타냄) 펄스(PL1 내지 PL3)가 발생하고 있는 것을 확인할 수 있다. 따라서 이 도32의 (b) 및 도32의 (c)로부터 명백한 바와 같이, 이와 같은 제1 및 제2 장해물 검출 방법에 의해 로봇 장치(1)가 장해물에 충돌한 것을 검 출할 수 있는 것을 알 수 있다.
그러나, 제1 및 제2 장해물 검출 방법만으로는, 예를 들어 털이 깊은 카펫 위를 보행할 때와 같이, 장해물과의 충돌 이외의 요인으로 다리부 유닛(3A 내지 3D)의 구동에 부하가 생긴 경우에, 실제로는 장해물이 존재하지 않음에도 불구하고, 장해물과 충돌한 것처럼 오류 검출하는 일이 있다.
그래서 로봇 장치(1)에 있어서는 이와 같은 오류 검출을 방지하기 위해, 제1 및 제2 장해물 검출 방법에 있어서의 지시치 및 실제치의 차이분에 의한 검출의 임계치를 높게 하고, 이에 의해 검출할 수 없는 장해물과의 충돌을 다른 방법(이하, 이를 제3 장해물 검출 방법이라 함)에 의해 검출하도록 이루어져 있다.
실제상, 로봇 장치(1)에 있어서는 이 제3 장해물 검출 방법으로서 안정 여유라는 개념을 도입한 방법을 이용하고 있다. 여기서 안정 여유라 함은, 도33에 도시한 바와 같이 로봇 장치(1)의 중심을 지면에 투영한 점(이하, 이를 중심 투영점이라 함)(PG)으로부터 보행시에 접지하고 있는 3개의 다리부 유닛(3A 내지 3D)[도33에서는 다리부 유닛(3A, 3B, 3D)]의 각 접지점(PA, PB, PD)을 이을 수 있는 삼각형(TR)의 각 변(TRE1 내지 TRE3)까지의 각각의 거리(L1 내지 L3)라 정의한다.
그리고 이 중 어느 하나의 안정 여유(L1 내지 L3)가 부의 값이 되면[즉, 중심 투영점(PG)이 걸리는 삼각형(TR)의 외측으로 나오면] 쓰러지므로, 로봇 장치(1)는 안정 여유(L1 내지 L3)가 항상 부의 값을 취하지 않도록 자세 제어를 행하면서 보행하지만, 장해물과 충돌한 경우에는 자세를 무너뜨려 어느 하나의 안정 여유(L1 내지 L3)가 부가 되거나, 또는 부가 되지 않을 때까지라도 안정 여유(L1 내지 L3)가 매우 작아져 자세가 불안정해진다.
그래서 로봇 장치(1)에 있어서는 보행시에 각 안정 여유(L1 내지L3)를 항상 감시하고, 어느 하나의 안정 여유(L1 내지 L3)의 값[그 때 최소의 안정 여유(L1 내지 L3)의 값]이 미리 설정된 임계치보다도 작아졌을 때에 장해물에 충돌한 것이라 판단하도록 이루어져 있다.
실제상, 장해물과의 충돌이 없는 경우에 있어서의 최소의 안정 여유(L1 내지 L3)의 이론치와 실측치와의 관계는 도13에 도시한 바와 같이 된다. 이 도33에 있어서, K20은 이론치, K21은 실측치를 각각 나타내고 있고, 또한 K22는 어느 다리부 유닛(3A 내지 3D)의 다리 휴식 기간 및 접지 기간을 나타내는 위상을 나타내고 있다,
그리고 이 도34로부터도 명백한 바와 같이, 장해물과의 충돌이 없는 경우에는, 최소의 안정 여유(L1 내지 L3)의 이론치와 실측치는 대략 동일 위상에서 추이한다. 따라서 이러한 제3 장해물 검출 방법에 의해 장해물과의 충돌을 검출할 수 있는 것을 알 수 있다.
이렇게 하여 로봇 장치(1)에 있어서는 이들 제1 내지 제3 장해물 검출 방법에 의해 보행시에 있어서의 장해물과의 충돌 유무를 차례로 판단하는 동시에, 장해물에 충돌했다고 판단했을 때에는, 예를 들어 보행 방법이나 보행 방향을 변경하는 등의 쓰러짐 방지를 위한 소정의 대책을 실행하도록 이루어지고, 이에 의해 장해물과의 충돌에 기인하는 쓰러짐을 미연에 유효하게 방지할 수 있도록 이루어져 있다.
덧붙여서 도35 내지 도37에, 상기 장해물 검출 방법에 의한 장해물 검출의 검출 결과를 나타낸다.
이들 도35 내지 도37에 있어서 상부로부터 4개분의 각 그래프는 각각 전방 우측, 전방 좌측, 후방 좌측 및 후방 우측의 각 다리부 유닛(3B, 3A, 3C, 3D)에 관한 어깨 관절 피치 방향용 작동기(25)로의 지시치 및 실제치의 차이분치(K30B, K30A, K30C, K30D)와, 상기 차이분치가 미리 설정된 임계치보다도 큰지의 여부에 의해 생성된 검출 신호(K31B, K31A, K31C, K31D)를 도시한다.
또한, 도35 내지 도37에 있어서 상부로부터 5단째의 그래프는 최소의 안정 여유(L1 내지 L3)의 이론치(K32) 및 실측치(K33)와, 상기 실측치가 미리 설정된 임계치보다도 작은지의 여부에 의해 생성된 제2 장해물 검출 방법에 의한 장해물과의 충돌 유무를 검출하기 위한 검출 신호(K34)를 각각 도시한다.
또한, 도35 내지 도37에 있어서 하단 그래프는 가속도 센서의 출력(K35)과, 제1 및 제2 장해물 검출 방법에 의한 최종적인 장해물 검출 결과를 나타내는 검출 신호(K36)를 도시한다.
그리고 이들 도35 내지 도37 중, 도35에서는 로봇 장치(1)가 자세를 무너뜨리기 직전에 제1 장해물 검출 방법에 의해 장해물과의 충돌을 검출하고, 도36에서는 제3 장해물 검출 방법에 의해 장해물과의 충돌을 검출하고, 도37에서는 로봇 장치(1)가 쓰러지기 직전에 제2 장해물 검출 방법에 의해 장해물과의 충돌을 각각 검출하고 있는 것을 알 수 있다.
따라서 이들 도35 내지 도37로부터도 제1 내지 제3 장해물 검출 방법에 의해 정밀도 좋게 또한 확실하게 로봇 장치(1)가 쓰러지기 전에 장해물과의 충돌을 검출할 수 있는 것을 확인할 수 있었다.
또한 안정 여유의 구체적인 계산 방법을 이하에 나타낸다.
우선, 도38에 도시한 바와 같이 3개의 접지각의 접지점을 각각 P10, P11 및 P12로 하고, 관절각으로부터 운동학을 이용하여 이들의 3차원 공간 상의 좌표 P10, P11 및 P12를 구한다.
다음에 수학식 20, 수학식 21 및 수학식 22
Figure 112002034446210-pct00019
Figure 112002034446210-pct00020
Figure 112002034446210-pct00021
와 같이 하여 벡터(P10 P11, P10 P12 및 P11 P12 )의 각 단위 벡터(a, b 및 c)를 구하고, 이 후 수학식 23
Figure 112002034446210-pct00022
과 같이 하여 벡터(a) 및 벡터(b)의 외적 단위 벡터로 이루어지는 방향 벡터(u)를 계산한다.
또한 로봇 장치(1)의 중심을 G로 하여, 수학식 24
Figure 112002034446210-pct00023
와 같이, 방향 벡터(u) 및 벡터(a)의 외적(u × a)과 벡터(P1G)와의 내적을 계산한다. 이에 의해 변(P10 P11)에 대응한 안정 여유(sm1)를 구할 수 있다. 덧붙여서 외적(u × a)의 크기는 방향 벡터(u) 및 벡터(a)가 직교하고 있으므로 「1」이 된다.
또한 이와 마찬가지로 하여, 수학식 25
Figure 112002034446210-pct00024
와 같이 방향 벡터(u) 및 벡터(b)의 외적(u × b)과 벡터(P1G)의 내적을 계산함으로써 변(P10 P12)에 대응한 안정 여유(sm2)를 구할 수 있고, 다음식 26
Figure 112002034446210-pct00025
과 같이 방향 벡터(u) 및 벡터(c)의 외적(u × c)과 벡터(P2G)의 내적을 계산함으로써 변(P11 P12)에 대응한 안정 여유(sm3)를 구할 수 있다.
그리고 이와 같이 하여 얻게 된 3개의 안정 여유(sm1, sm2 및 sm3) 중에서 최 소의 것을 선택하고, 이를 미리 설정된 임계치와 비교함으로써 제3 장해물 검출 방법에 의한 장해물과의 충돌 유무를 판단할 수 있다.
(3-2) 장해물 검출 처리 순서(RT1)
여기서 로봇 장치에 있어서의 상술한 바와 같은 장해물 검출 처리는 도39에 도시한 장해물 검출 처리 순서(RT1)에 따라서 CPU(10)(도4)에 의해 행해진다.
실제상 CPU(10)는 보행 동작의 개시와 동시에 이 장해물 검출 처리 순서(RT1)를 스텝 SP0에 있어서 개시하고, 이어지는 스텝 SP1에 있어서 좌측 전방의 다리부 유닛(3B)이 다리 휴식 기간인지의 여부를 판단한다.
그리고 CPU(10)는 이 스텝 SP1에 있어서 부정 결과를 얻으면 스텝 SP4로 진행하고, 이에 대해 긍정 결과를 얻으면 스텝 SP2로 진행하여 CPU(10)가 마지막으로 그 좌측 전방의 다리부 유닛(3B)에 있어서의 어깨 관절의 피치 방향용 작동기(25)에 부여한 지시치와, 상기 피치 방향용 작동기(25)와 대응하는 포텐쇼 미터(26)의 출력에 의거하여 얻을 수 있는 그 때의 그 어깨 관절의 피치 방향 실제치와의 차이분치를 산출한다.
계속해서 CPU(10)는 스텝 SP3으로 진행하여 스텝 SP2에 있어서 산출된 차이분치가 미리 설정된 임계치보다도 큰지의 여부를 판단한다. 또한 본 실시 형태의 경우에는 이 임계치의 값은 -18〔°〕로 설정되어 있다.
그리고 CPU(10)는 이 스텝 SP3에 있어서 부정 결과를 얻으면 스텝 SP4로 진행하고, 이 후 우측 전방의 다리부 유닛(3A)에 대해 스텝 SP1 내지 스텝 SP3과 마찬가지로 하여 스텝 SP4 내지 스텝 SP6을 처리한다.
이와 같이 CPU(10)는 스텝 SP1 내지 스텝 SP6에 있어서 제1 장해물 검출 방법에 의해 장해물과의 충돌 유무를 판단한다. 그리고 CPU(10)는 이 때 스텝 SP3 또는 스텝 SP6에 있어서 긍정 결과를 얻음으로써 장해물과의 충돌을 검출하면, 스텝 SP16으로 진행하여 보행 방법을 변경시키거나 또는 보행 방향을 변경시키는 등의 소정의 쓰러짐 방지 처리를 실행한 후, 스텝 SP17을 거쳐서 스텝 SP1로 복귀하고, 이 후 다시 이 장해물 검출 처리 순서(RT1)를 상기 스텝 SP1로부터 개시한다.
한편, CPU(10)는 스텝 SP4 또는 스텝 SP6에 있어서 부정 결과를 얻음으로써 제1 장해물 검출 방법에 의해 장해물과의 충돌을 검출하지 않았을 때에는 스텝 SP7로 진행하여 좌측 후방의 다리부 유닛(3D)이 다리 휴식 기간인지의 여부를 판단한다.
그리고 CPU(10)는 이 스텝 SP7에 있어서 긍정 결과를 얻으면, 스텝 SP8로 진행하여 CPU가 마지막으로 그 좌측 후방의 다리부 유닛(3C)에 있어서의 어깨 관절의 피치 방향용 작동기(25)에 부여한 지시치와, 상기 피치 방향용 작동기(25)와 대응하는 포텐쇼 미터(26)의 출력에 의거하여 얻을 수 있는 그 때의 그 어깨 관절 피치 방향의 실제치와의 차이분치가「0」이었다고 임시 기억한 후 스텝 SP11로 진행한다.
이에 대해 CPU(10)는 스텝 SP7에 있어서 긍정 결과를 얻으면 스텝 SP9로 진행하여 이와 같은 차이분치를 산출하는 동시에, 이 후 스텝 SP10으로 진행하여 스텝 SP9에 있어서 산출한 차이분치가 미리 설정된 임계치보다도 크고, 또한 이번의 차이분치가 전회의 차이분치보다도 큰지의 여부(차이분치가 크지 않았는지의 여부) 를 판단한다. 또한 본 실시 형태의 경우에는 이 임계치의 값은 15〔°〕로 설정되어 있다.
그리고 CPU(10)는 이 스텝 SP10에 있어서 부정 결과를 얻으면 스텝 SP11로 진행하고, 이 후 우측 후방의 다리부 유닛(3D)에 대해 스텝 SP7 내지 스텝 SP1O과 마찬가지로 하여 스텝 SP11 내지 스텝 SP14를 처리한다.
이와 같이 CPU(10)는 스텝 SP7 내지 스텝 SP14에 있어서 제2 장해물 검출 방법에 의해 장해물과의 충돌 유무를 판단한다. 그리고 CPU(10)는 이 때 스텝 SP10 또는 스텝 SP14에 있어서 긍정 결과를 얻음으로써 장해물과의 충돌을 검출하면, 스텝 SP16으로 진행하여 상술한 바와 같은 쓰러짐 방지 처리를 실행한다.
또한 CPU(10)는 계속되는 스텝 SP17에 있어서 그 때 기억하고 있는 좌측 후방측 또는 우측 후방측의 각 다리부 유닛(3C, 3D)에 대한 차이분치를 스텝 SP9 또는 스텝 SP14에 있어서 얻게 된 값으로 갱신한 후 스텝 SP1로 복귀하고, 이 후 다시 이 장해물 검출 처리 순서(RT1)를 상기 스텝 SP1로부터 개시한다.
한편, CPU(10)는 스텝 SP10 또는 스텝 SP14에 있어서 부정 결과를 얻음으로써 장해물과의 충돌을 검출하지 않았을 때에는 스텝 SP15로 진행하고, 이 스텝 SP15에 있어서 제3 장해물 검출 방법에 의해 장해물과의 충돌 유무를 판단한다.
즉 CPU(10)는 스텝 SP15로 진행하면 수학식 1 내지 수학식 7에 대해 상술한 방법에 의해 그 때의 3개의 안정 여유(L1 내지 L3)(도33)를 각각 산출하는 동시에, 그 중 최소의 안정 여유(L1 내지 L3)가 미리 설정된 임계치보다도 큰지의 여부를 판단한다. 또한 본 실시 형태의 경우에는 이 임계치의 값은 2〔mm〕로 설정되어 있다.
여기서 이 스텝 SP15에 있어서 긍정 결과를 얻는 것은 제3 장해물 검출 방법에 의해 장해물과의 충돌을 검출한 것을 의미하고, 이 때 CPU(10)는 스텝 SP16으로 진행하여 상술한 쓰러짐 방지 처리를 실행하는 동시에, 스텝 SP17로 진행하여 그 때 기억하고 있는 좌측 후방측 또는 우측 후방측의 각 다리부 유닛(3C, 3D)에 대한 차이분치를 스텝 SP8 또는 스텝 SP12에 있어서 임시 기억한 값(「0」)으로 갱신한 후 스텝 SP1로 복귀하고, 이 후 다시 이 장해물 검출 처리 순서(RT1)를 상기 스텝 SF1로부터 개시한다.
이에 대해 스텝 SP15에 있어서 부정 결과를 얻는 것은 제1 내지 제3 장해물 검출 방법 중 어느 하나의 방법에 의해서도 장해물과의 충돌을 검출하지 않은 것을 의미하고, 이 때 CPU(10)는 스텝 SP17로 진행하여 그 때 기억하고 있는 좌측 후방측 또는 우측 후방측의 각 다리부 유닛(3C, 3D)에 대한 차이분치를 스텝 SP8 또는 스텝 SP12에 있어서 임시 기억한 값(「0」)으로 갱신한 후 스텝 SP1로 복귀하고, 이후 다시 이 장해물 검출 처리 순서(RT1)를 상기 스텝 SP1로부터 개시한다.
이와 같이 하여 CPU는 보행 동작 중에 이 장해물 검출 처리 순서(RT1)를 차례로 반복하여 행하고, 이에 의해 장해물과 충돌한 경우에 있어서도 쓰러짐 등을 하지 않도록 로봇 장치(1)의 보행을 제어한다.
(4) 제2 외력 검출 방법의 작용 및 효과
이상의 구성에 있어서, 로봇 장치(1)의 CPU(10)는 휴식 다리인 다리부 유닛(3A 내지 3D)에 있어서의 어깨 관절의 피치 방향용 작동기(25)에 부여한 지시 치와, 이 때 그 피치 방향용 작동기(25)와 대응하는 포텐쇼 미터(26)의 출력에 의거하여 검출되는 실제치에 의거하여 장해물과의 충돌 유무를 판단하는 동시에, 이에 의해 장해물과의 충돌을 검출할 수 없었던 때에는 각 안정 여유(L1 내지 L3)를 각각 계산하고, 상기 계산 결과에 의거하여 장해물과의 검출 유무를 판단한다.
따라서 이 로봇 장치(1)에서는 실제 각 다리부 유닛(3A 내지 3D)의 상태나 자세에 의거하여 장해물과의 충돌을 검출하므로, 예를 들어 CCD 카메라(20)(도5)로부터의 화상 데이터에 의거하는 화상 처리 등에 의해 장해물을 검출하는 경우에 비해 격단적으로 정밀도 좋게 장해물과의 충돌을 검출할 수 있다.
또한 이 로봇 장치(1)에서는 이와 같은 장해물과의 검출을 기존의 센서[각 다리부 유닛(3A 내지 3D)에 있어서의 어깨 관절의 피치 방향용 포텐쇼 미터(26)]의 출력에 의거하여 행해지므로, 예를 들어 특별한 힘 센서를 설치하는 경우에 비해 전체적으로 구성을 간이화하여 제조 비용을 저렴하게 억제하고, 또한 중량의 증가를 유효하게 방지할 수 있다.
이상의 구성에 따르면, 휴식 다리인 다리부 유닛(3A 내지 3D)에 있어서의 어깨 관절의 피치 방향용 작동기(25)에 부여한 지시치와, 이 때 그 피치 방향용 작동기(25)와 대응하는 포텐쇼 미터(26)의 출력에 의거하여 검출되는 실제치에 의거하여 장해물과의 충돌 유무를 판단하는 동시에, 이에 의해 장해물과의 충돌을 검출할 수 없었던 때에는 각 안정 여유(L1 내지 L3)를 각각 계산하고, 상기 계산 결과에 의거하여 장해물과의 검출 유무를 판단하도록 함으로써 기구를 복잡화시키는 일 없이 장해물과의 충돌을 확실하게 검출할 수 있도록 할 수 있고, 이렇게 하여 고르지 못한 땅에 있어서도 안정된 보행을 행할 수 있는 간단한 구성의 로봇 장치가 실현된다.
(5) 다른 실시 형태
또한 상술한 실시 형태에 있어서는, 본 발명을 도4와 같이 구성된 패트 보트(1)에 적용하도록 한 경우에 대해 서술했지만, 본 발명은 이에 한정되지 않고, 예를 들어 2 보행형의 로봇이나 이 밖의 다양한 형태의 로봇에 널리 적용할 수 있다
또한 상술한 실시 형태에 있어서는 제1 내지 제3 장해물 검출 방법을 병용하도록 한 경우에 대해 서술했지만, 본 발명은 이에 한정되지 않고, 이들 제1 내지 제3 장해물 검출 방법 중 1개 또는 임의의 2개의 방법을 이용하도록 해도 좋다.
또한 상술한 실시 형태에 있어서는 각 다리부 유닛(3A 내지 3D)의 어깨 관절 피치 방향용 작동기(25)에 대한 지시치 및 실제치에 의거하여 장해물과의 충돌을 검출하도록 한 경우에 대해 서술했지만, 본 발명은 이에 한정되지 않고, 각 다리부 유닛(3A 내지 3D)에 있어서의 어깨 관절 기구의 롤 방향용 작동기(25)에 대한 지시치 및 실제치나, 무릎 관절 기구의 작동기(25)에 대한 지시치 및 실제치에 의거하여 장해물과의 충돌을 검출하도록 해도 좋고, 요는 소정의 관절 기구를 필요에 따라서 구동시키면서 보행하는 로봇 장치에 있어서의 상기 관절 기구를 구동하는 구동 수단에 대한 지시치 및 실제치에 의거하여 장해물과의 충돌을 검출하는 것이면, 대상으로 하는 구동 수단으로서는 이 밖의 다양한 구동 수단을 널리 적용할 수 있다.
또한 상술한 실시 형태에 있어서는, 구동시에 있어서의 어깨 관절 피치 방향용 작동기(25)의 구동량 지시치를 상기 어깨 관절 피치 방향용 작동기(25)에 부여하는 구동 제어 수단과, 지시치 및 실제치에 의거하여 장해물의 유무를 판단하는 판단 수단과, 접지하고 있는 각 다리부 유닛(3A 내지 3D)의 접지점(PA, PB, PD)을 이을 수 있는 삼각형(TR)(4각 이상인 경우에는 다른 다각형인 경우가 많음)의 각 변(TRE1 내지 TRE3)으로부터 로봇 장치(1)의 중심을 보행면에 투영한 투영점(PG)까지의 각 거리(안정 여유)(L1 내지 L3)를 각각 연산하는 연산 수단을 하나의 CPU(10)에 의해 구성하도록 한 경우에 대해 서술했지만, 본 발명은 이에 한정되지 않고, 이들을 별개의 부재로 하도록 해도 좋다.
또한 상술한 실시 형태에 있어서는, 구동시에 있어서의 구동 수단의 구동량 실제치를 검출하는 구동량 검출 수단이 포텐쇼 미터(26)인 경우에 대해 서술했지만, 본 발명은 이에 한정되지 않고, 구동 수단의 종류에 따라서 그 밖의 다양한 것을 널리 적용할 수 있다.
또한 상술한 실시 형태에 있어서는, 제1 및 제2 장해물 검출 방법에 의해 장해물을 검출할 수 없었던 때에 제3 장해물 검출 방법에 의해 장해물 검출을 행하도록 한 경우에 대해 서술했지만, 본 발명은 이에 한정되지 않고, 제1 내지 제3 장해물 검출 방법에 의한 장해물 검출을 이 이외의 순서로 행하거나, 이들을 동시에 병용하도록 해도 좋다.
본 발명에 관한 로봇 장치는 제어 신호에 의해 동작 제어되는 동작부와, 소 정의 동작을 실행시키기 위해 제어 신호를 출력하는 제어 수단과, 동작부에 외력이 가해졌을 때의 제어 신호의 변화에 의거하여 외력을 검출하는 외력 검출 수단을 구비함으로써, 외력 검출을 위한 전용 센서를 이용하는 일 없이 자체의 동작을 제어하는 제어 신호에 의거하여 외력을 검출할 수 있다.
또한, 본 발명에 관한 로봇 장치는 동작부에 의해 구동되는 관절 기구와, 관절 기구 구동시에 있어서의 구동 수단의 구동량 지시치를 상기 구동 수단에 부여하는 구동 제어 수단과, 관절 기구 구동시에 있어서의 구동 수단의 구동량 실제치를 검출하는 구동량 검출 수단을 구비하고, 지시치 및 실제치에 의거하여 장해물 유무를 판단함으로써 번잡한 구성을 필요로 하는 일 없이 장해물 검출을 행할 수 있는 동시에, 구동 수단에 부여하는 지시치 및 실제치에 의거하여 장해물의 유무를 검출함으로써 실제 장해물과의 물리적인 충돌을 확실하게 검출할 수 있다.
또한 본 발명의 로봇 장치에 따르면, 소정 패턴으로 구동되는 복수의 다리부와, 복수의 다리부 중 접지하고 있는 각 다리부의 접지 위치를 이을 수 있는 다각형의 각 변으로부터 상기 로봇 장치의 중심을 보행면에 투영한 투영점까지의 각 거리를 각각 연산하는 연산 수단과, 연산 수단에 의해 산출된 다각형의 각 변으로부터 투영점까지의 각 거리에 의거하여 장해물의 유무를 판단함으로써, 특별한 부품을 부가하는 일 없이 장해물과의 물리적인 충돌을 확실하게 검출할 수 있고, 간단한 구성으로 장해물과의 충돌을 확실하게 검출할 수 있다.
또한, 본 발명에 관한 로봇 장치의 제어 방법은 제어 신호에 의해 로봇 장치의 동작부의 동작 제어를 하는 제어 공정과, 외력이 가해졌을 때의 제어 신호의 변 화에 의거하여 로봇 장치로의 외력을 검출하는 외력 검출 공정을 가짐으로써, 외력 검출을 위한 전용 센서를 이용하는 일 없이, 로봇 장치의 동작을 제어하는 제어 신호에 의거하여 외력을 검출한다.
또한 본 발명에 따르면, 로봇 장치의 제어 방법에 있어서 동작부가 관절 기구를 구동할 때에 동작부에 구동량의 지시치를 부여하는 구동 제어 공정과, 동작부의 구동량 실제치를 검출하는 구동량 검출 공정과, 지시치 및 실제치에 의거하여 외력의 유무를 판단함으로써, 번잡한 구성을 필요로 하는 일 없이 외력 검출을 행할 수 있는 동시에, 실제 장해물과의 물리적인 충돌을 확실하게 검출할 수 있고, 이렇게 하여 간단한 구성으로 장해물과의 충돌을 확실하게 검출할 수 있다.
또한, 본 발명의 로봇 장치의 제어 방법에 따르면, 소정 패턴으로 구동하여 보행하는 보행 공정과, 복수의 다리부 중 접지하고 있는 각 다리부의 접지 위치를 이을 수 있는 다각형의 각 변으로부터 상기 로봇 장치의 중심을 보행면에 투영한 투영점까지의 각 거리를 각각 연산하는 연산 공정과, 다각형의 각 변으로부터 투영점까지의 각 거리에 의거하여 장해물의 유무를 판단하므로, 특별한 부품을 부가하는 일 없이 장해물과의 물리적인 충돌을 확실하게 검출할 수 있어, 간단한 구성으로 장해물과의 충돌을 확실하게 검출할 수 있다.
또한 본 발명의 외력 검출 장치에 따르면, 로봇 장치의 각 부를 구동하는 동작 수단과, 동작 수단의 동작량 지시치를 동작 수단에 부여하는 제어 수단과, 동작 수단의 동작량 실제치를 검출하는 동작량 검출 수단과, 지시치 및 실제치에 의거하여 외력의 유무를 판단하는 판단 수단을 마련함으로써, 번잡한 구성을 필요로 하는 일 없이 장해물 검출을 행할 수 있는 동시에, 실제 장해물과의 물리적인 충돌을 확실하게 검출할 수 있고, 간단한 구성으로 장해물과의 충돌을 확실하게 검출할 수 있다.
또한, 본 발명에 관한 프로그램은 제어 신호에 의해 로봇 장치 동작부의 동작 제어를 하는 제어 공정과, 외력이 가해졌을 때의 제어 신호 변화에 의거하여 로봇 장치로의 외력을 검출하는 외력 검출 공정을 로봇 장치에 실행시킴으로써, 이와 같은 프로그램에 의해 동작을 실행하는 로봇 장치는 외력 검출을 위한 전용 센서를 이용하는 일 없이 자기의 동작을 제어하는 제어 신호에 의거하여 외력을 검출할 수 있다.
또한, 본 발명에 관한 기록 매체는 제어 신호에 의해 로봇 장치 동작부의 동작 제어를 하는 제어 공정과, 외력이 가해졌을 때의 제어 신호 변화에 의거하여 로봇 장치로의 외력을 검출하는 외력 검출 공정을 가짐으로써, 이와 같은 기록 매체에 기록되어 있는 프로그램에 의해 동작을 실행하는 로봇 장치는 외력 검출을 위한 전용 센서를 이용하는 일 없이, 자기의 동작을 제어하는 제어 신호에 의거하여 외력을 검출할 수 있다.
또한, 본 발명의 외력 검출 방법에 따르면 로봇 장치의 각부를 구동하는 동작 수단에 대해, 동작 수단의 구동량 지시치를 부여하는 공정과, 동작 수단의 구동량 실제치를 검출하는 공정과, 지시치 및 실제치에 의거하여 장해물의 유무를 판단하는 공정을 마련하도록 함으로써, 번잡한 구성을 필요로 하는 일 없이 장해물 검출을 행할 수 있는 동시에, 실제 장해물과의 물리적인 충돌을 확실하게 검출할 수 있고, 간단한 구성으로 장해물과의 충돌을 확실하게 검출할 수 있다.

Claims (28)

  1. 동체부 유닛과,
    동체부 유닛에 연결되며 액튜에이터(actuator)를 갖는 복수의 관절기구(joint drive)와,
    소정의 제어 신호에 의거하여 액튜에이터를 제어하기 위한 수단과,
    제어 신호와 관절기구에 대한 토크 실측치 사이의 관계를 저장하는 저장 수단과,
    액튜에이터에 가해진 힘과 상기 힘 인가에 의거한 각각의 관절기구에 대한 토크 계산치 사이의 관계를 저장하는 저장 수단과,
    제어 신호의 변화에 의거하여 토크 실측치를 연산하고, 연산된 토크 실측치와 토크 계산치 사이의 관계로부터 액튜에이터에 가해진 힘의 방향 및 크기를 검출하기 위한 외력 검출 수단을 포함하는 자동 거동 로봇 장치.
  2. 제1항에 있어서, 제어 신호는 PWM(pulse width modulation) 펄스인 자동 거동 로봇 장치.
  3. 제1항에 있어서, 소정 패턴으로 구동되는 복수의 다리부와,
    상기 복수의 다리부 중 접지하고 있는 다리부들의 접지 지점들을 연결하여 형성된 다각형의 각 변으로부터 상기 로봇 장치의 무게 중심의 보행면에 대한 투영점까지의 거리를 연산하기 위한 수단을 더 포함하며,
    외력 검출 수단은 동작량 지시치 및 동작량 실제치와, 상기 거리 연산 수단이 연산한 상기 다각형의 각 변으로부터 상기 투영점까지의 거리에 의거하여, 상기 로봇 장치에 외력이 가해졌는지 여부를 판단하는 자동 거동 로봇 장치.
  4. 동체부 유닛에 연결되는 복수의 관절기구(joint drive)에 각각 구비되는 액튜에이터(actuator)를 소정의 제어 신호를 이용하여 제어하는 단계와,
    제어 신호와 관절기구에서 발생되는 토크 실측치 사이의 관계를 저장하는 저장 수단과, 액튜에이터에 가해진 힘과 상기 힘 인가에 기인하여 각각의 관절기구에서 발생되는 토크 계산치 사이의 관계를 저장하는 저장 수단을 이용하여, 토크 실측치를 제어 신호의 변화에 의거하여 연산하는 단계와,
    연산된 토크 실측치와 토크 계산치 사이의 관계로부터 액튜에이터에 가해진 힘의 방향 및 크기를 검출하는 단계를 포함하는 자동 거동 로봇 장치의 동작 제어 방법.
  5. 제4항에 있어서, 제어 신호는 PWM(pulse width modulation) 펄스인 자동 거동 로봇 장치의 동작 제어 방법.
  6. 제4항에 있어서, 로봇 장치는 소정 패턴으로 구동되는 복수의 다리부를 가지며,
    상기 복수의 다리부 중 접지하고 있는 다리부들의 접지 지점들을 연결하여 형성된 다각형의 각 변으로부터 상기 로봇 장치의 무게 중심의 보행면에 대한 투영점까지의 거리를 연산하는 단계와,
    동작량 지시치 및 동작량 실제치와, 상기 거리 연산 단계에서 연산된 상기 다각형의 각 변으로부터 상기 투영점까지의 거리에 의거하여, 상기 로봇 장치에 외력이 가해졌는지 여부를 판단하는 단계를 더 포함하는 자동 거동 로봇 장치의 동작 제어 방법.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
KR1020027014119A 2001-02-21 2002-02-21 로봇 장치 및 로봇 장치의 동작 제어 방법 KR100864340B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JPJP-P-2001-00045693 2001-02-21
JP2001045693A JP2002239963A (ja) 2001-02-21 2001-02-21 ロボット装置、ロボット装置の動作制御方法、プログラム及び記録媒体
JPJP-P-2001-00055669 2001-02-28
JP2001055669A JP2002254375A (ja) 2001-02-28 2001-02-28 ロボット装置及びその制御方法並びに障害物検出装置及び方法
PCT/IB2002/000544 WO2002065825A2 (fr) 2001-02-21 2002-02-21 Robot et procede de commande du fonctionnement dudit robot

Publications (2)

Publication Number Publication Date
KR20030007543A KR20030007543A (ko) 2003-01-23
KR100864340B1 true KR100864340B1 (ko) 2008-10-17

Family

ID=26609848

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027014119A KR100864340B1 (ko) 2001-02-21 2002-02-21 로봇 장치 및 로봇 장치의 동작 제어 방법

Country Status (4)

Country Link
EP (1) EP1386699A4 (ko)
KR (1) KR100864340B1 (ko)
CN (1) CN100445047C (ko)
WO (1) WO2002065825A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12023811B2 (en) 2019-01-31 2024-07-02 Sony Group Corporation Robot control device and robot control method

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004052597A1 (ja) * 2002-12-10 2004-06-24 Honda Motor Co.,Ltd. ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
KR101028814B1 (ko) * 2007-02-08 2011-04-12 삼성전자주식회사 소프트웨어 로봇 장치와 그 장치에서 소프트웨어 로봇의행동 발현 방법
KR101487783B1 (ko) * 2008-12-22 2015-01-29 삼성전자 주식회사 로봇 및 그 제어방법
KR101487782B1 (ko) * 2008-12-22 2015-01-29 삼성전자 주식회사 로봇 및 그 균형 제어방법
JP5893666B2 (ja) * 2014-04-14 2016-03-23 ファナック株式会社 力に応じて動かすロボットのロボット制御装置およびロボットシステム
JP5893664B2 (ja) 2014-04-14 2016-03-23 ファナック株式会社 作用された力に応じて移動されるロボットを制御するロボット制御装置
JP6034895B2 (ja) 2015-02-20 2016-11-30 ファナック株式会社 外力に応じてロボットを退避動作させる人間協調ロボットシステム
JP6034900B2 (ja) * 2015-03-06 2016-11-30 ファナック株式会社 動作プログラムの再開を判断するロボット制御装置
EP4048484A4 (en) * 2019-10-23 2023-07-05 Abb Schweiz Ag ROBOT CONTROL METHOD AND APPARATUS
CN111037564B (zh) * 2019-12-27 2022-03-18 深圳市越疆科技有限公司 机器人碰撞检测方法、装置、设备及计算机可读存储介质
CN113984057A (zh) * 2021-10-19 2022-01-28 山东中瑞电气有限公司 基于多数据分析的移动机器人定位方法
CN114714350B (zh) * 2022-03-31 2024-03-26 北京云迹科技股份有限公司 服务机器人的控制方法、装置、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000296484A (ja) * 1999-02-10 2000-10-24 Sony Corp 関節機構の制御装置及び方法、関節装置、並びにロボット装置及びその制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63237883A (ja) * 1987-03-27 1988-10-04 株式会社 スタ−精機 チャック駆動装置
JPH0692076B2 (ja) * 1989-11-22 1994-11-16 工業技術院長 歩行脚運動制御装置
JPH1142576A (ja) * 1997-07-28 1999-02-16 Matsushita Electric Ind Co Ltd ロボットの制御方法および装置
JP4048590B2 (ja) * 1998-03-11 2008-02-20 セイコーエプソン株式会社 プラスチックレンズの製造方法
US6980956B1 (en) * 1999-01-07 2005-12-27 Sony Corporation Machine apparatus and its driving method, and recorded medium
JP3277500B2 (ja) * 1999-05-10 2002-04-22 ソニー株式会社 ロボット装置
JP6092076B2 (ja) * 2013-11-15 2017-03-08 株式会社東芝 汚染飛灰の処理方法及び処理システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000296484A (ja) * 1999-02-10 2000-10-24 Sony Corp 関節機構の制御装置及び方法、関節装置、並びにロボット装置及びその制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12023811B2 (en) 2019-01-31 2024-07-02 Sony Group Corporation Robot control device and robot control method

Also Published As

Publication number Publication date
EP1386699A4 (en) 2006-04-19
WO2002065825A2 (fr) 2002-08-29
CN1460052A (zh) 2003-12-03
KR20030007543A (ko) 2003-01-23
WO2002065825B1 (fr) 2003-03-06
WO2002065825A3 (fr) 2002-11-07
CN100445047C (zh) 2008-12-24
EP1386699A2 (en) 2004-02-04

Similar Documents

Publication Publication Date Title
US6865446B2 (en) Robot device and method of controlling robot device operation
KR100864340B1 (ko) 로봇 장치 및 로봇 장치의 동작 제어 방법
Nolfi et al. Evolutionary robotics
US20210147017A1 (en) Achieving a Target Gait Behavior in a Legged Robot
US7058476B2 (en) Robot apparatus, control method for robot apparatus, and toy for robot apparatus
US6754560B2 (en) Robot device, robot device action control method, external force detecting device and external force detecting method
US20040230340A1 (en) Behavior controlling apparatus, behavior control method, behavior control program and mobile robot apparatus
US7532743B2 (en) Object detector, object detecting method and robot
US7515992B2 (en) Robot apparatus and emotion representing method therefor
US10059392B1 (en) Control of robotic devices with non-constant body pitch
US8725294B2 (en) Controlling the interactive behavior of a robot
JP2002239960A (ja) ロボット装置の動作制御方法、プログラム、記録媒体及びロボット装置
JP2008507745A (ja) 海馬に基づく擬似神経システムを備えたモバイル頭脳ベースのデバイス
JP2003269917A (ja) 距離計測方法、その装置、そのプログラム、その記録媒体及び距離計測装置搭載型ロボット装置
JP2003159674A (ja) ロボット装置、ロボット装置の外力検出方法及びロボット装置の外力検出プログラム、並びにロボット装置の外力検出のためのキャリブレーション方法及びロボット装置の外力検出のためのキャリブレーションプログラム
JP2004298975A (ja) ロボット装置、障害物探索方法
CN114253281A (zh) 一种四足机器人运动控制方法、相关装置及存储介质
Nolfi Evorobot 1.1 user manual
JP2003136456A (ja) ロボット装置、ロボット装置の明るさ検出方法、明るさ検出プログラム及び記録媒体
JP2002239952A (ja) ロボット装置、ロボット装置の行動制御方法、プログラム及び記録媒体
Laue et al. Getting upright: Migrating concepts and software from four-legged to humanoid soccer robots
Hosseinmemar Push recovery and active balancing for inexpensive humanoid robots
JP2002254375A (ja) ロボット装置及びその制御方法並びに障害物検出装置及び方法
JP4379052B2 (ja) 動体検出装置、動体検出方法、及びロボット装置
Belter Gait modification strategy for a six-legged robot walking on rough terrain

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee