KR20230091111A - 로봇 워치독 - Google Patents

로봇 워치독 Download PDF

Info

Publication number
KR20230091111A
KR20230091111A KR1020237015483A KR20237015483A KR20230091111A KR 20230091111 A KR20230091111 A KR 20230091111A KR 1020237015483 A KR1020237015483 A KR 1020237015483A KR 20237015483 A KR20237015483 A KR 20237015483A KR 20230091111 A KR20230091111 A KR 20230091111A
Authority
KR
South Korea
Prior art keywords
watchdog
fail
robot
hardware
software
Prior art date
Application number
KR1020237015483A
Other languages
English (en)
Inventor
단 스토이아노비치
도루 페트리소르
Original Assignee
더 존스 홉킨스 유니버시티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 더 존스 홉킨스 유니버시티 filed Critical 더 존스 홉킨스 유니버시티
Publication of KR20230091111A publication Critical patent/KR20230091111A/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/1674Programme controls characterised by safety, monitoring, diagnostic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • B25J9/1005Programme-controlled manipulators characterised by positioning means for manipulator elements comprising adjusting means
    • B25J9/101Programme-controlled manipulators characterised by positioning means for manipulator elements comprising adjusting means using limit-switches, -stops
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1643Programme controls characterised by the control loop redundant control

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Safety Devices In Control Systems (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)
  • Mechanical Operated Clutches (AREA)

Abstract

로봇 워치독 소프트웨어는 시스템의 상태 및 결과적인 모션을 모니터링하고 태스크 변화들 및 동적 조건들로 인해 지령들을 재구성하는 것을 담당한다. 그러나, 로봇 워치독 소프트웨어가 느려지거나 또는 중지되면, 모션 제어 보드는 비감독 상태로 유지되며 로봇 모션이 위험해질 수도 있다. 하드웨어 워치독의 추가는 이러한 위험이 발생할 우도를 완화한다. 하이브리드 소프트웨어-하드웨어 로봇 워치독이 본원에서 설명된다. 페일-세이프 로봇 시스템은 2개의 티어 소프트웨어-하드웨어 체크 시스템으로 구현된다: 소프트웨어가 로봇 하드웨어를 체크하고 다음으로 하드웨어 워치독이 소프트웨어의 활동을 체크한다.

Description

로봇 워치독
[0001] 본 출원은 2020년 10월 12일자에 출원된 미국 가특허 출원번호 제63/090,464호의 이익을 주장하며, 이는 본원에 전체적으로 참고로 포함된다.
[0002] 본 발명은 일반적으로 로봇공학에 관한 것이다. 더 구체적으로, 본 발명은 기능에 대한 통합된 체크들을 가진 페일-세이프(fail-safe) 로봇공학 시스템에 관한 것이다.
[0003] 로봇 매니퓰레이터들과 같은, 컴퓨터 제어 작동식 기계 시스템들은 디지털 지령 하에서 모션을 실행한다. 모션 제어가 고장나면, 결과적인 모션은 의도된 경로 또는 목표를 따르지 않으며, 인간들에게 위험하고 물질적으로 파괴적일 위험이 있다. 의료 애플리케이션용 로봇들, 또는 진보된 무기 시스템들과 같은, 특수 애플리케이션들은 이러한 위험을 최대한 완화하기 위해 특수 워치독 시스템들을 필요로 한다.
[0004] 로봇 워치독들은 일반적으로 소프트웨어로 구현된다. 이들 소프트웨어 기반 로봇 워치독들은 모니터 시스템의 상태를 모니터링하고 잘못된 조건들 및/또는 인터럽트 모션을 수정한다. 그러나, 소프트웨어 기반 워치독들은 결정적이지 않을 수도 있는 소프트웨어 에러들 또는 충돌들에 취약하다.
[0005] 따라서, 기능에 대한 통합된 체크들을 가진 페일-세이프 로봇공학 시스템을 제공하는 것이 유리할 것이다.
[0006] 본 발명의 제1 양태에 따르면, 로봇 제어를 제공하는 시스템은 로봇 매니퓰레이터에 대한 제어를 제공하도록 구성된 하드웨어 워치독을 포함한다. 또한, 본 시스템은 프로세싱 디바이스 상에서 실행하도록 구성되고 하드웨어 워치독 및 로봇 매니퓰레이터의 실시간 및 비-실시간 프로세스들을 통해 쓰레드-세이프 아키텍처를 제공하도록 프로그래밍된 소프트웨어 워치독을 포함한다.
[0007] 본 발명의 일 양태에 따르면, 본 시스템은 비상 스위치들의 시스템을 더 포함한다. 본 시스템은 순간 단일 극 스위치들을 포함한다. 본 시스템은 세이프티 고장(safety failure)들을 방지하도록 구성된 이중화(redundancy) 시스템을 포함한다. 본 시스템은 페일-업(fail-up) 및 페일-다운(fail-down) 체크들을 가진 워치독 회로를 포함한다. 본 시스템은 페일-다운 체크, 페일-업 체크, 페일-다운 및 페일-업 체크, 래치, 릴레이, 및 시각적 상태를 용이하게 하도록 구성된 전자기기를 포함한다.
[0008] 본 발명의 다른 양태에 따르면, 실시간 및 비-실시간 프로세스들에 대한 쓰레드-세이프 아키텍처를 가진 하이브리드 하드웨어-소프트웨어 워치독. 하이브리드 디바이스는 비상 스위치들의 시스템을 더 포함한다. 하이브리드 디바이스는 순간 단일 극 스위치들을 포함한다. 하이브리드 디바이스는 세이프티 고장들을 방지하도록 구성된 이중화 시스템을 포함한다. 하이브리드 디바이스는 페일-업 및 페일-다운 체크들을 가진 워치독 회로를 포함한다. 하이브리드 디바이스는 페일-다운 체크, 페일-업 체크, 페일-다운 및 페일-업 체크, 래치, 릴레이, 및 시각적 상태를 용이하게 하도록 구성된 전자기기를 포함한다.
[0009] 첨부 도면들은 본원에서 개시된 대표적인 실시형태들을 보다 완전하게 설명하기 위해 사용되고 이들 및 이들의 고유한 이점들을 더 잘 이해하기 위해 통상의 기술자들에 의해 사용될 수 있는 시각적 표현들을 제공한다. 이들 도면들에서, 유사한 도면부호들은 대응하는 엘리먼트들을 식별한다.
[0010] 도 1은 하이브리드 소프트웨어-하드웨어, 실시간 워치독 아키텍처에 대한 흐름도를 예시한다.
[0011] 도 2는 본 발명의 일 실시형태에 따른, 회로 블록들의 개략도를 예시한다.
[0012] 도 3은 본 발명의 일 실시형태에 따른, 하드웨어 워치독 전자 회로의 개략도를 예시한다.
[0013] 다음으로, 현재 개시된 기술요지를 본 발명들의 모든 실시형태들이 아닌 일부가 도시된, 첨부 도면들을 참조하여, 보다 완전하게 설명한다. 유사한 번호들은 명세서 전체 걸쳐 동일한 엘리먼트들을 지칭한다. 현재 개시된 기술요지는 다수의 상이한 형태들로 구현될 수도 있으며, 본원에서 개시된 실시형태들에 제한되는 것으로 해석되는 것이 아니라; 오히려, 이들 실시형태들은 본 개시내용이 적용 가능한 적법한 요건들을 만족시키도록 제공된다. 실제로, 본원에서 기재된 현재 개시된 기술요지의 다수의 수정들 및 다른 실시형태들은 전술한 설명들 및 연관된 도면들에서 제시되는 교시들의 이익을 갖는, 현재 개시된 기술요지가 속하는 분야의 통상의 기술자에게 떠오를 것이다. 따라서, 현재 개시된 기술요지가 개시된 특정 실시형태들에 제한되지 않고 수정들 및 다른 실시형태들이 첨부된 청구범위의 범위 내에 포함되도록 의도된 것으로 이해되어야 한다.
[0014] 로봇 매니퓰레이터들은 모터들에 의해 작동되며, 조인트 위치 인코더들 및 리미트 스위치들을 전형적으로 포함하는, 센서들에 의해 모니터링된다. 모션은 모터 드라이버들을 통해 특수 모션 제어 보드들(MC)에 의해 일반적으로 제어된다. 모션이 시간 의존적이기 때문에, 실시간으로 제어되어야 한다. 이와 같이, MC들은 전형적으로 각각의 축의 레벨에서 실시간으로 모션을 제어하는 온보드 디지털 신호 프로세서들(DSP)을 이용한다. 이는 메인 지령 정의 및 사용자 인터페이스(UI)와 같은, 상위 레벨들의 로봇 소프트웨어가, 전형적으로 PC 상에서 비-실시간 운영 시스템(즉, 마이크로소프트 윈도우즈)에서 실행 가능하게 한다. 다른 애플리케이션 특정의 태스크들 중에서, PC 소프트웨어는 데이터를 판독하고 지령들을, 지령들을 폐-루프 피드백 제어 시스템에서 실시간으로 실행하는 것을 담당하는 MC로 전달한다. 결과적으로, 소프트웨어는 시스템의 상태 및 결과적인 모션을 모니터링하고(소프트웨어 워치독), 태스크 변화들 및 동적 조건들로 인해 지령들을 재구성하는 것을 담당한다. 그러나, 소프트웨어가 느려지거나 또는 중단되면, MC는 비감독 상태로 유지되며 모션이 위험해질 수도 있다. 하드웨어 워치독의 추가는 이러한 위험이 발생할 우도를 완화한다. 하이브리드 소프트웨어-하드웨어 워치독이 본원에서 설명된다. 페일-세이프 로봇 시스템은 2티어 소프트웨어-하드웨어 체크 시스템으로 구현된다. 소프트웨어는 로봇 하드웨어를 체크하고 이후, 하드웨어 워치독은 소프트웨어의 활동을 체크한다.
[0015] 본 발명에 따른, 하이브리드 하드웨어 및 소프트웨어 워치독은 소프트웨어 컴포넌트와 하드웨어 컴포넌트의 통합에 의해 고유 소프트웨어 에러들을 완화한다. 하이브리드 소프트웨어 플러스 하드웨어 구조는 소프트웨어 및 로봇공학 컴포넌트들 둘 모두의 전반적인 인간 감독을 가능하게 한다. 로봇 매니퓰레이터들은 모터들에 의해 작동되며, 조인트 위치 인코더들 및 리미트 스위치들을 전형적으로 포함하는, 센서들에 의해 모니터링된다. 모션은 도 1에 예시된 바와 같이, 모터 드라이버들을 통해 특수 모션 제어 보드들(MC)에 의해 일반적으로 제어된다. 도 1은 하이브리드 소프트웨어-하드웨어, 실시간 워치독 아키텍처에 대한 흐름도를 예시한다. 모션이 시간 의존적이기 때문에, 실시간으로 제어되어야 한다. 이와 같이, MC들은 전형적으로 각각의 축의 레벨에서 실시간으로 모션을 제어하는 온보드 디지털 신호 프로세서(DSP)들을 이용한다. 이는 메인 지령 정의 및 사용자 인터페이스(UI)와 같은, 상위 레벨들의 로봇 소프트웨어가 전형적으로 PC 상에서 비-실시간 운영 시스템(즉, 마이크로소프트 윈도우즈)에서 실행 가능하게 한다. 다른 애플리케이션 특정의 태스크들 중에서, PC 소프트웨어는 데이터를 판독하고, 지령들을, 폐-루프 피드백 제어 시스템에서 실시간으로 지령들을 실행하는 것을 담당하는 MC로 전달한다. 결국, 소프트웨어는 시스템의 상태 및 결과적인 모션을 모니터링하고(소프트웨어 워치독), 태스크 변화들 및 동적 조건들로 인해 지령들을 재구성하는 것을 담당한다. 그러나, 소프트웨어가 느려지거나 또는 중단되면, MC는 비감독 상태로 유지되며 모션이 위험해질 수도 있다. 하드웨어 워치독의 추가는 이러한 위험이 발생할 우도를 완화한다.
[0016] 보다 구체적으로, 도 1에 예시된 바와 같이, 페일-세이프 로봇 시스템(100)은 2-티어 소프트웨어-하드웨어 체크 시스템으로 구현되며: 소프트웨어 워치독이 로봇 하드웨어를 체크하고, 이후 하드웨어 워치독이 소프트웨어의 활동을 체크한다. 쓰레드-세이프 실시간 작업흐름이 체크들, 지령 입력들, 및 모션 제어를 조정하기 위해 이용된다. 로봇 시스템의 컴포넌트들, 사용자 인터페이스, 및 워치독 사이의 아키텍처 및 관계를 예시하는 플로우차트가 도 1에 제시된다.
[0017] 페일-세이프 로봇 시스템(100)은 소프트웨어 컴포넌트(102) 및 하드웨어 컴포넌트(104)를 포함한다. 소프트웨어 컴포넌트(102)는 메인(Main) 클래스(106), 사용자 인터페이스(108), 및 로봇 클래스(110)를 포함한다. 하드웨어 컴포넌트(104)는 로봇 매니퓰레이터(112) 또는 통상의 기술자에게 알려져 있거나 또는 상상 가능한 다른 로봇 액추에이터를 포함한다. 하드웨어 컴포넌트(104)는 또한 모션 제어 보드(114), 드라이버들, 및 하드웨어 워치독(116)을 포함한다.
[0018] 메인 클래스(106)는 도 1에 예시된 바와 같이, 로봇의 특정의 애플리케이션 의존적인 태스크들을 구현한다. 일반적인 표현으로, 이는 태스크들을 정의하며, 프로세싱을 가능하게 한다. 지령들은 인간 제어를 강화하고 로봇 클래스(110)를 통해 하드웨어와의 통신을 유지하는 사용자 인터페이스(108)로 전달된다.
[0019] 로봇 클래스의 1차 안전 컴포넌트는 워치독()(118)이라는 쓰레드이다. 하드웨어 컴포넌트(104)는 하드웨어 워치독(116)을 포함한다. 하드웨어 워치독(116)은 전자 회로의 형태를 취한다. 하드웨어 워치독(116)은 기간 πh 이상의 펄스들의 트레인이 공급되는 한, 릴레이를 폐쇄된 상태로 유지하는 타이머 회로이다. 소프트웨어 워치독 쓰레드(118)는 대략 πs의 기간으로 실행하는 비-실시간 쓰레드이다. 정상적인 것으로 간주되는 동작에서, 워치독 쓰레드(118)의 기간은 πh 초과까지 증가하지 않는다. 하드웨어 워치독(116)의 전자 회로는 비상 정지 스위치(119)와 함께, 모터 드라이버들의 전원 공급부 체인에서 직렬화되므로, 충분히 빠른 펄스들을 제공하기 위한 워치독 쓰레드(118)의 고장이 전력을 차단함으로써 모터들을 정지시킬 것이다. 워치독 쓰레드(118)는 펄스 지령들을 MC 또는 다른 디지털 인터페이스를 통해 전송한다. 더욱이, 하드웨어 워치독(116)은 소프트웨어 컴퓨터에 대한 접속(Connect)을 모니터링하고, 이 전력이 접속 해제되면 전력을 하락시킨다.
[0020] 하드웨어 워치독(116)은 워치독 쓰레드(118)로부터 시작되어서는 안되며, 따라서 펄스들이 순간적으로 경과하면, 이들이 쓰레드의 다음 루프들에 의해 재시작될 수 없다. 이는 잠재적인 과도 전력 결함들을 제거한다. 이와 같이, 추가적인 신호가 하드웨어 워치독(116)을 시작하기 위해 요구되며, WatchdogStart() 메소드(120)에 의해 하드웨어의 모션 제어 보드(114)를 통해 전송된다.
[0021] 여러 비-실시간 및 실시간 프로세스들이 동시에 활성화된다:
1) 사용자 인터페이스 클래스(108)는 데이터의 디스플레이를 연속적으로 업데이트하고 대략 πd의 기간으로 실행되는 디스플레이(122) 비-실시간 쓰레드를 포함한다;
2) 워치독 쓰레드(118)는 대략 πs의 기간을 갖는다;
3) 하드웨어 워치독(116)은 πh의 기간을 갖는다;
4) MC 보드(114)의 DSP는 사용되는 모델에 의존하지만 일반적으로 매우 빠른 기간으로 실시간 쓰레드를 실행한다.
[0022] 이들 기간들의 실제 값들은 특정의 로봇 애플리케이션에 따라 설정되며, 더 빠른 체크들이 빠른 모션 및 중요 태스크들에 대해 요구된다. 구체적으로 설명하면, πh는 로봇이 비감독으로 실행하기에 안전한 것으로 간주되는 가장 큰 시간 간격에 따라 설정된다. 다른 2개의 기간들은, 일관하여 πs < πh이고 그리고 효율을 위해 πs < πd가 되도록, 설정된다.
[0023] 여러 병행 프로세스들이 실행 중이면, 지령들이 중첩되고 호환 불가능하며 어쩌면 소프트웨어를 충돌시킬 가능성이 있다. 예를 들어, 디스플레이 쓰레드(122)는 MC 보드(114)로부터 워치독 쓰레드(118)에 의해 로드될 때 동시에 데이터를 요청할 수도 있다. 이와 같이, 쓰레드-세이프 코드 구조가 요구된다. 이는 로봇 클래스 (sema)(128)의 쓰레드-세이프 세마포어(Semaphore)로 구현된다. 각각의 πs 사이클 동안, 워치독 쓰레드(118)는 MC 보드(114)와 통신하고 데이터를 프로세싱하는 한 sema(128)를 잠긴 상태로 유지하고, 기간 πs가 완료하기를 대기하고 있을 때 sema(128)를 잠금 해제한다. 대기 f πs는 워치독 기간이 πs으로 평균되도록 조정되거나 시간 지정되는 πs의 부분이다. 사용자 인터페이스(108) 메소드들과 로봇(110)의 상호작용은 sema(128)가 잠금 해제되는 경우에만 허용된다. 더욱이, 모든 쓰레드 민감 메소드들은 sema(128)가 잠금 해제되기를 대기한 후, sema(128)를 잠그는 것을 제어하고, 이들의 태스크들을 수행하고, 최종적으로 완료되면 sema(128)를 해제한다. 이와 같이, sema(128)는 모든 쓰레드 민감한 활동들을 직렬화하며, 따라서 가능한 병렬 및 어쩌면 충돌 활동들을 회피한다. 1차 쓰레드는 워치독(118)이다. 다른 메소드들은 워치독(118)이 휴면상태일 때 즉, 다음과 같을 때 실행한다:
sema→해제; 휴면(f πs);
sema를 대기한 후, sema→잠금;
[0024] MC(114)와의 쓰레드 충돌들을 피하기 위해, 그것과 통신하는 것은 단지 워치독 쓰레드(118)이다. 이와 같이, 사용자가 임의의 시간들에 배치하는 지령들(robot→postCommand)이 로봇(110)으로 전달되고, 로봇은 이들을 워치독(118)에 의해 프로세싱되는 큐(cmd)에 넣는다.
[0025] 워치독 쓰레드:
1) 모든 필요한 데이터 형태 MC(114)를 판독한다;
2) 운동역학 및 동력학과 같은, 필요한 계산들을 수행한다;
3) MC(114)에 의해 보고되는 에러들, 로봇 센서들, 비상 정지(119)의 상태, 하드웨어 워치독(116)이 작동 중인지(MC로부터, wdOK), 그러나 또한 소프트웨어의 다른 컴포넌트들이 실행 중인지(예를 들어, softOK)를 포함한 다수의 시스템 체크들을 실행한다;
4) 체크들에 기초하여, 워치독은 안전을 구현하기 위해 자동으로 지령들을 cmd 큐에 넣는다. 예를 들어, 하드웨어와 소프트웨어 사이의 상태들을 동기화하기 위해 하드웨어 워치독이 다운되는 경우 전력 오프(Power Off) 지령을 발한다;
5) 시스템의 중요 상태들을 사용자에게 시그널링하게 위해 하드웨어에 포함된 시각적 상태 경고의 상태를 업데이트한다;
6) 우선순위들에 따라 cmd 큐를 프로세싱하고 지령들을 MC(119)로 전송한다;
7) 모든 체크들이 통과되면(allOK), 워치독(118)은 펄스를 하드웨어 워치독(116)으로 전송하여 이를 유지한다. 그렇지 않으면, 전력이 랩들(laps)에 허용된다.
8) 마지막으로, 워치독(118)은 필요에 따라 다른 활동들이 진행될 수 있도록 대기한다.
[0026] 이와 같이, 하드웨어 워치독(116)은 워치독 쓰레드(118)의 충돌(crash) 또는 과도한(>πh) 지연이 발생하면 구동 전력을 차단하여, 로봇(100)이 비감독 상태로 실행되지 않을 수 있다. 구동 전력을 차단하면 로봇(100)이 백드라이브 불가능한 경우 모션을 중지할 것이다. 그렇지 않고, 비급전된 로봇(100)이 중력 또는 다른 부하들 하에서 이동할 수 있으면, 로봇 매니퓰레이터에는 전력이 상실되면 로봇을 잠그기 위해, 구동 전력(Drive Power)에 의해 잠금 해제되는 일반적으로 폐쇄된 브레이크들이 탑재되어야 한다.
[0027] 예를 들어, 사용자 인터페이스(108)와 같은 다른 소프트웨어 컴포넌트들이 또한 안전에 중요할 수도 있다. 이와 같이, 다른 체크들 중에서, 워치독 쓰레드(118)는 또한 디스플레이 쓰레드(122)가 실행 중인지(softOK)를 검증한다. 로봇은 데이터를 요청하는 빈도(robot→get(state))에 의해 실행하는 디스플레이(122)를 추적한다. 디스플레이(122)는 획득되는 것보다 더 빨리 데이터를 디스플레이하는 것이 비효율적이기 때문에 낮은 빈도(1/πd < 1/πs)로 일반적으로 실행한다. 따라서, 디스플레이 쓰레드(122)는 여러 워치독 사이클들(n πs) 내에서 데이터를 요청하는 경우에만 동작하는 것으로 간주된다:
(ui가 n πs 내에서 데이터를 요청하면) softOK;
[0028] 다른 소프트웨어 컴포넌트들이 로봇 클래스와의 이들의 직접 또는 간접 (유사하게 전파된) 상호작용에 의해 유사하게 모니터링될 수도 있다.
[0029] 전반적으로, 하드웨어 워치독(116)은 소프트웨어 워치독을 실행하는 컴퓨터가 접속되고 소프트웨어 워치독이 실행되도록 보장한다. 결과적으로, 소프트웨어 워치독은 하드웨어 워치독, 및 다른 소프트웨어 컴포넌트들을 포함한, 종합적인 시스템 체크들을 수행한다. 심각한 잘못된 조건이 존재하면 로봇 구동 전력이 일시 중단된다.
[0030] 워치독 회로는 하이브리드 소프트웨어-하드웨어 워치독의 요구사항들에 따라 설계되었다:
R1) 소프트웨어 컴퓨터 및 하드웨어가 접속된 경우에만 출력을 한다.
R2) 펄스들 및 시작 신호가 존재하는 경우에만 출력을 한다;
R3) 입력 펄스들이 하드웨어 사전 설정된 값보다 더 짧은 경우(πs < πh)에만 출력을 유지한다.
1) 소프트웨어 펄스들은 업 또는 다운 상태들에서 실패할 수도 있다. 이와 같이, 페일-다운 체크(Fail-Down Check)를 수행하고 입력이 πh 내에 상승하지 않는 경우 출력을 하락시킨다.
2) 페일-업 체크(Fail-Up Check)를 수행하고 입력(INPUT)이 πh 내에 실패하지 않는 경우에 출력을 하락시킨다.
3) 상기 1과 2를 결합하여 페일-업 및(AND) 페일-다운 경우에 출력을 하락시킨다.
4) 펄스들의 트레인이 재시작하자 마자 3의 출력이 복원된다. 이를 방지하기 위해, 시작(START) 신호에 래치하여 출력(OUTPUT)을 획득한다. 따라서:
a. 페일-다운 테스트: 출력이 펄스들 및 시작(START)에서 상승하고, 페일-다운 시에 떨어지고, 펄스들이 복원될 때 재시작하지 않는다.
b. 페일-Op 테스트: 출력이 펄스들 및 시작(START)에서 상승하고, 페일-업 시에 떨어지고, 펄스들이 복원될 때 재시작하지 않는다.
[0031] 이와 같이, 테스트들 4a 및 4b는 하드웨어 워치독의 R2 및 R3 요구사항들 둘 모두를 만족한다.
[0032] 회로는 설계 요구사항들을 달성하는 방식으로 디지털 로직 회로들을 결합하여, 위에서 설명된 단계들 1-4에 따라 그리고 도 2에 도시된 바와 같이 설계되었다. 도 2는 본 발명의 일 실시형태에 따른, 회로 블록들의 개략도를 예시한다. 컴포넌트들은 또한 섹션 2.2(도 1)에서 설명된 소프트웨어-하드웨어 워치독의 요구사항들, 및 추가적인 안전 체크들에 따라 포함되었다. 가능한 구현예가 도 3에 제시된다. 도 3은 본 발명의 일 실시형태에 따른, 하드웨어 워치독 전자 회로의 개략도를 예시한다.
[0033] 여기서, 회로 블록들은 숫자로 식별되며, 블록들 1-4는 다음과 같이 도 2의 블록들에 대응한다:
0) 소프트웨어 - 하드웨어 접속: 소프트웨어 워치독이 하드웨어 측 상에서 MC에 접속되는(접속, 도 1) 컴퓨터 상에서 실행된다. 이는 종종 USB 접속을 통해 이루어진다. 이 접속이 도 3에 도시된 바와 같이, 하드웨어 워치독에 의해 먼저 체크된다. 이 회로에는 외부 소스로부터 전력이 공급된다. 여기서, 24V DC 전원으로 도시되지만, 다른 소스들이 로봇의 요구사항들에 따라 유사하게 사용될 수도 있다.
회로는 USB 접속의 5V DC에 의해 급전된다. AND 게이트(U1)로 이루어진 타이머가 USB 접속이 전력의 접속보다 이전에 설정하게 하기 위해 사용된다. 이 셋업에서, 지연은 대략 3s이다. 동시에, MC가 비감독 상태로 유지하는 것을 방지하기 위해 USB가 접속 해제되면, 구동 전력이 차단될 것이다.
이후, 전력이 달링톤(Darlington) 트랜지스터 어레이들(U2)에 의해 공급되는 릴레이(REL1)에 의해 공급된다.
워치독에 의해 차단되지 않는 이 전력은 로봇 센서들 및 MC(MC 센서들 PWR)에 급전하는데 사용 가능하다. 또한, 이 전력은 워치독 회로의 모든 다른 컴포넌트들에 대해 DC-DC 변환(DC1)으로 5V DC 전력을 발생시키기 위해 사용된다. 회로 MC 및 전형적으로 모터 드라이버들의 섀시용 팬은 직접 전원에 의해 급전된다. 모든 전력 라인들은 퓨즈들(F1-F5)로 보호된다. 마지막으로, 3개의 LED들이 포함되며, 이들이 섀시 상에 가시 위치에 배치될 수 있도록 커넥터들과 함께 부착된다. 이들의 신호들은 테이블 1에서 설명된다.
1) 페일-다운 체크: 이는 누락된 클록 또는 펄스 검출 회로와 유사하다. 555 타이머(U5)에 기초하는 회로가 도 3에 도시된 바와 같이, 사용된다. 이는 소프트웨어 워치독으로부터 펄스들의 트레인을 입력으로서 취하며(도 1), 그 출력은 도 2의 페일-다운 체크에 대응한다. LED가 펄스들을 디스플레이하기 위해 사용된다(테이블 1).
2) 페일-업 체크: 이는 상기 회로와 유사하지만 반전 펄스 신호 상에서 동작한다.
3) 페일-다운 및 페일-업 체크: 이는 상기 2개의 체크들의 출력을 결합한다.
4) 래치: 회로의 제1 부분이 리셋 신호로 상기 체크들 2와 3의 출력을 래치하는데 사용되므로, 전력이 단지 펄스들 및 시작 둘 모두에서만 시작될 수 있다(WatchdogStart(), 도 1). 게다가, 제2 래치가 로봇 매니퓰레이터 상에 배치될 순간 스위치에 의한 제2 비상 정지(ES2)를 위해 사용된다. 순간, 단일 극 스위치가 바람직하다.
래치들 둘 모두는 동일한 시작 신호에 의해 리셋된다. 이들의 상태가 소프트웨어에 독립적으로 보고되고(wdOK, esOK, 도 1), LED들(5 및 6)을 통해 디스플레이된다(테이블 1). 이들의 출력들은 출력들의 중복 시스템에 결합된다(U3-3 및 4). 이중화는 다음 블록에서 고장 또는 릴레이들을 완화하기 위해 사용되었다.
5) 릴레이: 상기 체크들은 릴레이(Rel2)를 통해 구동 전력을 일으키기 위해 사용되며, 추가로 메인 비상 스위치(ES1)와 직렬화된다. 체크들의 중복 분기부가 비상 정지 메시지를 MC에 넣는 제2 릴레이(Rel3)를 급전하기 위해 사용된다. 2개의 시스템들은 중복되며, 로봇이 릴레이 고장으로 급전을 받을 우도를 완화한다.
6) 시각적 상태: 구동 전력 및 MC로부터의 추가적인 신호(도 1)는, 전형적으로 로봇이 움직이는 (이동)중인지를 나타내는데, 결합되어, LED7 () 상에 시스템의 상태를 디스플레이한다.
테이블 1: 회로 LED들
Figure pct00001
[0034] 제시된 접근법의 신규성은 인간 감독 및 바람직한 실시형태의 세부사항과 함께, 실시간 및 비-실시간 프로세스들을 모니터링하기 위해 프레임워크를 구성하는 전체 구조이다.
[0035] 바람직한 실시형태는 하이브리드 워치독의 소프트웨어 프로세스들 및 회로들을 명확하게 설명한다. 이는 소프트웨어 쓰레드들을 실시간 프로세스들, 하드웨어 워치독, 비상 스위치들과, MC와 함께, 안전하게 결합하는 방법을 자세히 설명한다. 개개의 전자 회로들 및 컴포넌트들은 어디에나 있지만, 현재 설명된 하드웨어 및 소프트웨어 실시형태는 신규하다. 페일 업-다운 테스트들 및 래치들과 본원에서 설명되는 전체 로직(도 2)을 결합하는 것은 독창적이며 잠재적인 과도 결함들에 관련된 안전을 향상시킨다.
[0036] 더 간단한 순간 단일 극 스위치들을 포함하는 비상 스위치들의 시스템의 사용은 또한 주어진 하드웨어 실시형태 내에서 신규하다. 이들 더 간단하고 더 작은 스위치들이 증가된 안전을 위해 즉각적인 조작자 액세스를 용이하게 하도록, 매니퓰레이터를 포함한 다양한 위치들에 배치될 수 있다.
[0037] 워치독 고장은 구동 전력 뿐만 아니라 MC 비상 정지 시 의도하지 않은 로봇 모션을 방지하는 상이한 메커니즘들을 제어하는 시스템 이중화로 완화된다. 여기서, 이중화는 동일한 시스템 내에 구축되며, 세이프티 고장들을 방지하기 위해 상이한 메커니즘들을 활성화시킨다.
[0038] 본 발명과 연관된 소프트웨어가 본 출원에서 언급된 컴퓨팅 디바이스들 중 임의의 컴퓨팅 디바이스에 의해 판독 및 실행될 수 있는 비-일시성 컴퓨터 판독가능 매체 상으로 프로그래밍된다는 점에 유의해야 한다. 비-일시성 컴퓨터 판독가능 매체는 통상의 기술자에게 알려진 임의의 적합한 형태를 취할 수 있다. 비-일시성 컴퓨터 판독가능 매체는 컴퓨터에 의해 판독가능한 임의의 제조물인 것으로 이해되어야 한다. 이러한 비일시성 컴퓨터 판독가능 매체들은 자기 매체들, 예컨대 플로피 디스크, 가요성 디스크, 하드 디스크, 릴-투-릴(reel-to-reel) 테이프, 카트리지 테이프, 카세트 테이프들 또는 카드들, 광학 매체들, 예컨대 CD-ROM, DVD, 블루-레이, 기록 가능한(writable) 컴팩트 디스크들, 디스크, 테이프, 또는 카드 형태의 광자기 매체들, 및 종이 매체들, 예컨대 펀치 카드들 또는 종이 테이프를 포함하지만 이에 제한되지 않는다. 대안적으로, 본 발명의 방법 및 알고리즘들을 실행하기 위한 프로그램은 원격 서버 또는 다른 네트워크화된 디바이스 상에 상주할 수 있다. 본 발명과 연관된 임의의 데이터베이스들은 중앙 컴퓨팅 디바이스, 서버(들) 상에, 클라우드 스토리지, 또는 통상의 기술자에게 알려져 있거나 또는 통상의 기술자에 의해 상상 가능한 임의의 다른 적합한 수단들에 수용될 수 있다. 애플리케이션과 연관된 모든 정보는 인터넷, 셀룰러 전화기 네트워크, RFID, 또는 통상의 기술자에게 알려져 있거나 또는 통상의 기술자에 의해 상상 가능한 임의의 다른 적합한 데이터 송신 수단을 통해, 네트워크 상에서 유선 또는 무선으로 송신된다.
[0039] 본 발명이 이의 바람직한 실시형태들과 관련하여 설명되었지만, 통상의 기술자들은 첨부된 청구범위에 정의된 바와 같은 본 발명의 사상 및 범위로부터 일탈함이 없이 구체적으로 설명되지 않은 추가들, 삭제들, 수정들, 및 대체들이 이루어질 수도 있음을 알 수 있을 것이다.

Claims (20)

  1. 로봇 제어를 제공하기 위한 시스템으로서,
    로봇 매니퓰레이터에 대한 제어를 제공하도록 구성된 하드웨어 워치독; 및
    프로세싱 디바이스 상에서 실행하도록 구성되고 상기 하드웨어 워치독 및 로봇 매니퓰레이터의 실시간 및 비-실시간 프로세스들에 대한 쓰레드-세이프 아키텍처 제어를 제공하도록 프로그래밍된 소프트웨어 워치독을 포함하는, 로봇 제어를 제공하기 위한 시스템.
  2. 제1 항에 있어서,
    비상 스위치들의 시스템을 더 포함하는, 로봇 제어를 제공하기 위한 시스템.
  3. 제2 항에 있어서,
    순간 단일 극 스위치들을 더 포함하는, 로봇 제어를 제공하기 위한 시스템.
  4. 제2 항에 있어서,
    상기 비상 스위치들의 시스템은 상기 로봇 매니퓰레이터 전체의 위치들에 배치되는, 로봇 제어를 제공하기 위한 시스템.
  5. 제4 항에 있어서,
    상기 로봇 매니퓰레이터 내에 배치된 상기 비상 스위치들은 안전을 위해 즉각적인 조작자 액세스를 용이하게 하도록 구성되는, 로봇 제어를 제공하기 위한 시스템.
  6. 제1 항에 있어서,
    세이프티 고장(safety failure)들을 방지하도록 구성된 이중화(redundancy) 시스템을 더 포함하는, 로봇 제어를 제공하기 위한 시스템.
  7. 제1 항에 있어서,
    페일-업(fail-up) 및 페일-다운(fail-down) 체크들을 가진 워치독 회로를 더 포함하는, 로봇 제어를 제공하기 위한 시스템.
  8. 제1 항에 있어서,
    페일-다운 체크, 페일-업 체크, 페일-다운 및 페일-업 체크, 래치, 릴레이, 및 시각적 상태를 용이하게 하도록 구성된 전자기기를 더 포함하는, 로봇 제어를 제공하기 위한 시스템.
  9. 실시간 및 비-실시간 프로세스들에 대한 쓰레드-세이프 아키텍처 제어를 가진 하이브리드 하드웨어-소프트웨어 워치독.
  10. 제9 항에 있어서,
    순간 단일 극 스위치들을 포함하는 비상 스위치들의 시스템을 더 포함하는, 하이브리드 하드웨어-소프트웨어 워치독.
  11. 제10 항에 있어서,
    상기 비상 스위치들의 시스템은 로봇 매니퓰레이터 전체의 위치들에 배치되는, 하이브리드 하드웨어-소프트웨어 워치독.
  12. 제11 항에 있어서,
    안전을 위해 즉각적인 조작자 액세스를 용이하게 하도록 구성되는, 상기 로봇 매니퓰레이터 내에 배치된 상기 비상 스위치들을 포함하는, 하이브리드 하드웨어-소프트웨어 워치독.
  13. 제9 항에 있어서,
    세이프티 고장들을 방지하기 위해 상이한 메커니즘들을 이용하는 이중화 시스템을 더 포함하는, 하이브리드 하드웨어-소프트웨어 워치독.
  14. 제9 항에 있어서,
    페일-업 및 페일-다운 체크들을 가진 워치독 회로를 더 포함하는, 하이브리드 하드웨어-소프트웨어 워치독.
  15. 제9 항에 있어서,
    페일-다운 체크, 페일-업 체크, 페일-다운 및 페일-업 체크, 래치, 릴레이, 및 시각적 상태를 용이하게 하도록 구성된 전자기기를 더 포함하는, 하이브리드 하드웨어-소프트웨어 워치독.
  16. 로봇 제어를 위한 방법으로서,
    로봇 매니퓰레이터에 대한 제어를 제공하도록 구성된 하드웨어 워치독을 이용하는 단계; 및
    프로세싱 디바이스 상에서 실행하도록 구성되며 상기 하드웨어 워치독 및 로봇 매니퓰레이터의 실시간 및 비-실시간 프로세스들에 대한 쓰레드-세이프 아키텍처 제어를 제공하도록 프로그래밍된 소프트웨어 워치독을 이용하는 단계를 포함하는, 로봇 제어를 위한 방법.
  17. 제16 항에 있어서,
    세이프티 고장들을 방지하도록 구성된 이중화 시스템을 이용하는 단계를 더 포함하는, 로봇 제어를 위한 방법.
  18. 제16 항에 있어서,
    페일-업 및 페일-다운 체크들을 가진 워치독 회로를 이용하는 단계를 더 포함하는, 로봇 제어를 위한 방법.
  19. 제16 항에 있어서,
    페일-다운 체크, 페일-업 체크, 페일-다운 및 페일-업 체크, 래치, 릴레이, 및 시각적 상태를 용이하게 하도록 구성된 전자기기를 이용하는 단계를 더 포함하는, 로봇 제어를 위한 방법.
  20. 제16 항에 있어서,
    비상 스위치들의 시스템을 이용하는 단계를 더 포함하는, 로봇 제어를 위한 방법.
KR1020237015483A 2020-10-12 2021-10-12 로봇 워치독 KR20230091111A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063090464P 2020-10-12 2020-10-12
US63/090,464 2020-10-12
PCT/US2021/054586 WO2022081577A1 (en) 2020-10-12 2021-10-12 Robot watchdog

Publications (1)

Publication Number Publication Date
KR20230091111A true KR20230091111A (ko) 2023-06-22

Family

ID=81208554

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237015483A KR20230091111A (ko) 2020-10-12 2021-10-12 로봇 워치독

Country Status (10)

Country Link
US (1) US20230415344A1 (ko)
EP (1) EP4225535A1 (ko)
JP (1) JP2023547951A (ko)
KR (1) KR20230091111A (ko)
CN (1) CN116507456A (ko)
AU (1) AU2021360667A1 (ko)
CA (1) CA3195470A1 (ko)
IL (1) IL302104A (ko)
MX (1) MX2023004346A (ko)
WO (1) WO2022081577A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117666452B (zh) * 2024-02-01 2024-05-28 季华实验室 机器人的多重安全控制方法、装置、电子设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002357040A1 (en) * 2001-11-28 2003-06-10 Evolution Robotics, Inc. Sensor and actuator abstraction and aggregation in a hardware abstraction layer for a robot
EP2737375B1 (en) * 2011-07-27 2016-11-16 ABB Schweiz AG System for commanding a robot
US9226796B2 (en) * 2012-08-03 2016-01-05 Stryker Corporation Method for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path
US9889566B2 (en) * 2015-05-01 2018-02-13 General Electric Company Systems and methods for control of robotic manipulation
KR102235166B1 (ko) * 2015-09-21 2021-04-02 주식회사 레인보우로보틱스 실시간 로봇 시스템, 로봇 시스템 제어 장치 및 로봇 시스템 제어 방법
EP3214510B1 (en) * 2016-03-03 2021-06-30 Magazino GmbH Controlling process of robots having a behavior tree architecture

Also Published As

Publication number Publication date
CA3195470A1 (en) 2022-04-21
WO2022081577A1 (en) 2022-04-21
MX2023004346A (es) 2023-07-03
IL302104A (en) 2023-06-01
JP2023547951A (ja) 2023-11-14
AU2021360667A1 (en) 2023-05-25
CN116507456A (zh) 2023-07-28
EP4225535A1 (en) 2023-08-16
US20230415344A1 (en) 2023-12-28

Similar Documents

Publication Publication Date Title
WO2021114794A1 (zh) 一种自动驾驶控制系统、控制方法及设备
US10102045B2 (en) Control device, control method and program
US20140018958A1 (en) Safety system and control device
KR20230091111A (ko) 로봇 워치독
JP2009146039A (ja) セーフティ・コントロール・システム
CN111831488A (zh) 具有安全等级设计的tcms-mpu控制单元
EP2492770A2 (en) Electronic device integrity monitoring apparatus
JP2016146184A (ja) 緊急停止方法、緊急停止システム及びその自己診断方法
JPH0259901A (ja) 故障診断方法
Biggs et al. Modelling and analysis of a redundant mobile robot architecture using aadl
JP4102814B2 (ja) 入出力制御装置,情報制御装置及び情報制御方法
JP6888251B2 (ja) 制御装置、駆動装置、制御方法、及び制御プログラム
US6701462B1 (en) Situational aware output configuration and execution
JP7267400B2 (ja) 安全性が要求されるプロセスを監視する自動化システム
US11036204B2 (en) Numerical controller
US11537481B2 (en) Hardware validation of safety critical scheduling
KR20200085055A (ko) 엔진 제어기용 제어 로직 검증 장치
JP2003067220A (ja) コンピュータシステム
TW202225876A (zh) 控制裝置及其安全停止程式及記錄媒體
Pan et al. Reconfigurable distributed real-time processing for multi-robot control: Design, implementation and experimentation
WO2023247934A1 (en) Time-triggered computer system with a high level of diagnostic coverage
CN117518917A (zh) 船舶损管监控系统及设备
CN116654291A (zh) 卫星旋转部件故障情况下的角动量补偿控制方法和系统
CN113778737A (zh) 基于冗余与降级的星载计算机运行方法及系统
CN112859727A (zh) 一种外观检pc运动控制操作系统和运动方法