KR101358477B1 - 로보틱스 시스템 - Google Patents
로보틱스 시스템 Download PDFInfo
- Publication number
- KR101358477B1 KR101358477B1 KR1020127015797A KR20127015797A KR101358477B1 KR 101358477 B1 KR101358477 B1 KR 101358477B1 KR 1020127015797 A KR1020127015797 A KR 1020127015797A KR 20127015797 A KR20127015797 A KR 20127015797A KR 101358477 B1 KR101358477 B1 KR 101358477B1
- Authority
- KR
- South Korea
- Prior art keywords
- action
- model
- instruction
- instructions
- space
- Prior art date
Links
- 230000009471 action Effects 0.000 claims abstract description 772
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000000737 periodic effect Effects 0.000 claims abstract description 8
- 230000000875 corresponding effect Effects 0.000 claims description 66
- 238000011156 evaluation Methods 0.000 claims description 49
- 238000004088 simulation Methods 0.000 claims description 20
- 230000003542 behavioural effect Effects 0.000 claims description 16
- 230000000977 initiatory effect Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 7
- 239000002131 composite material Substances 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 230000001276 controlling effect Effects 0.000 claims description 3
- 230000009194 climbing Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 23
- 230000006399 behavior Effects 0.000 description 123
- 230000006870 function Effects 0.000 description 46
- 238000010586 diagram Methods 0.000 description 23
- 230000007246 mechanism Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 9
- 239000011800 void material Substances 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000001914 filtration Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000012384 transportation and delivery Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000004568 cement Substances 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 238000010408 sweeping Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000010397 one-hybrid screening Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/008—Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
Abstract
Description
도 2는 제어 중재 시스템의 개략도이다.
도 3은 행동 시스템의 개략도이다.
도 4는 액션 모델을 호출하여 액션 모델의 각각의 액션 공간에 대한 실행 가능 명령들 및 대응하는 결과들을 생성하는 액션 선택 엔진의 개략도이다.
도 5는 아암(arm)의 액션 모델을 호출하여 액션 모델의 각각의 액션 공간에 대한 실행 가능 명령들 및 대응하는 결과들을 생성하는 액션 선택 엔진의 개략도이다.
도 6a는 액션 모델의 2축 액션 공간의 개략도이다.
도 6b는 액션 선택 사이클의 개략도이다.
도 6c는 3개의 대응 명령에 대해 생성된 3개의 결과의 3개의 시뮬레이션된 궤적의 개략도이다.
도 7은 액션 선택 사이클의 흐름도이다.
도 8은 액션 선택 사이클 동안에 모든 액션 공간에 걸치는 최적화 패스 루프의 흐름도이다.
도 9는 액션 선택 사이클의 흐름도이다.
도 10은 액션 선택 엔진이 제1 액션 모델을 호출하여 액션 모델의 각각의 액션 공간에 대한 실행 가능 명령들 및 대응 결과들을 생성하는 액션 선택 사이클의 단계 동안의 로보틱스 시스템의 개략도이다.
도 11은 액션 선택 엔진이 평가를 위해 결과들을 행동들로 전송할 때의 도 10의 로보틱스 시스템의 개략도이다.
도 12는 액션 선택 엔진이 제2 액션 모델을 호출하여 액션 모델의 제1 액션 공간에 대한 실행 가능 명령들 및 대응 결과들을 생성할 때의 도 10의 로보틱스 시스템의 개략도이다.
도 13은 액션 선택 엔진이 평가를 위해 결과들을 행동들로 전송할 때의 도 12의 로보틱스 시스템의 개략도이다.
도 14는 액션 선택 엔진이 제2 액션 모델을 호출하여 액션 모델의 제2 액션 공간에 대한 실행 가능 명령들 및 대응 결과들을 생성할 때의 도 12의 로보틱스 시스템의 개략도이다.
도 15는 액션 선택 엔진이 종합 명령 패키지를 로봇 제어기로, 그리고 종합 결과 패키지를 피드백으로서 행동들로 전송할 때의 도 10의 로보틱스 시스템의 개략도이다.
도 16은 각각의 액션 공간에 대한 승리 결과를 선택하기 위하여 디폴트 결과 세트를 이용하는 액션 선택 엔진의 개략도이다.
도 17은 행동 선택 정책의 개략도이다.
도 18은 행동 결합 정책의 개략도이다.
도 19는 행동 전환 정책의 개략도이다.
도 20은 행동 순서화 정책의 개략도이다.
도 21은 로보틱스 시스템 상에서 실행되는 다수의 애플리케이션의 개략도이다.
도 22는 병렬/멀티코어 확장 로보틱스 시스템의 개략도이다.
도 23은 로보틱스 프레임워크의 개략도이다.
다양한 도면들에서 동일한 참조 부호들은 동일한 요소들을 지시한다.
공개 멤버 기능들(행동) | 설명 |
void init (const ActionSpaceVector &actionSpaces) | 이 행동에 대한 자원 셋업을 초기화한다. 초기화한다: "init" 함수는 이용 가능한 액션 공간들의 리스트를 나타내는, 바람직하게는 "ActionSpaceVector" 타입 또는 포맷인 "actionSpaces"를 독립변수/변수로서 갖는다. 리스트의 각각의 요소는 다음을 포함하는 ActionSpace 타입이다. - 이 액션 공간 내의 상태들 및 자원들의 타입. (축, 개별 정수 자원 또는 개별 부동 자원들) - 이 공간에 대해 생성된 사이클당 전체 액션들 - 모델 공간 자체의 이름 - 공간 내의 명령 가능 자원들의 이름들 |
beginCycle(const ChronometerTime tNow, const float tHorizon, const CombinedState &xInit) |
이 인터페이스 함수는 명령 및 관련 변수들을 행동(300)으로 전송하는 채널 또는 기준 포인터이다. 액션 선택 사이클(210)을 시작한다. 사이클을 시작한다: "beginCycle" 함수는 3개의 독립변수/변수를 갖는다: 1. tNow는 사이클의 시작에 대한 타임스탬프이다(ChronometerTime은 기준 클럭 타입이다). 2. tHorizon은 액션 선택 사이클에 대한 시간 간격, 예컨대 1초를 패스하기 위한 변수이다. 3. xInit는 시스템 자원들의 현재 상태를 나타내는 CombinedState 타입 변수이다. 이것은 다음을 포함한다: - MultiAxisState 타입인 시스템의 축 자원들의 현재 상태. 각각의 축 자원은 연속적인 위치를 갖는 로봇의 제어되는 이동 부품을 나타내는 AxisState 타입이다. 이것은 다음을 포함한다. - 자원의 현재 속도 - 자원의 현재 가속도 - 자원의 현재 절대 위치 - 자원의 현재 증가 위치 - 축 상의 힘 또는 토크 - 위의 필드들(속도, 가속도, 위치, 증가 위치, 토크)의 각각에 대해, 그 필드에 대한 불확실성 정보를 나타내기 위한 각각의 필드 - 최소/최대 속도, 가속도, 위치 및 토크에 관한 자원 한계들 - 상태의 유효성에 대한 정보를 유지하기 위한 상태 비트들. (예컨대, POSITION_INVALID 비트가 설정되는 경우, 이것은 그 축에 대한 위치 데이터가 유효하지 않음을 의미한다. - 시스템 개별 정수 자원들의 현재 상태. 각각의 개별 정수 자원의 상태는 다음을 포함하는 InitState로서 제공된다. - 상태의 값. 이 데이터는 그 안에 품질에 대한 정보 및 정보의 유효성을 유지한다. - 이것의 상태의 최소 및 최대 값 |
void evaluate (const std::string &space, const float tHorizon, const CombinedState &xInit, const Outcome &defaultOutcome, const OutcomeVector &outcomeOptions, UtilityValueVector &evaluations) | 결과들(450)의 집합을 평가한다. "evaluate" 함수는 다음을 포함하는 여러 독립변수/변수를 패키지하거나 지시한다. - 위에 설명된 바와 같은 tHorizon - 위에 설명된 바와 같은 xInit - "space"는 이 라운드에서 평가하도록 요청받은 액션 공간을 지정하는 스트링이다. - defaultOutcome은 이 액션 공간 및 다른 액션 공간(410) 내의 상태들의 전개를 나타내는 현재의 디폴트 결과 세트(451)를 나타내는 변수이다. 내부 구조는 자원 이름들의 각각의 디폴트 결과에 대한 맵핑을 나타낸다. 이러한 표현은 액추에이터들에 대한 액션 모델 예측 상태들의 개별 시간 표현인 CombinedState의 시간 단계 시퀀스를 나타내는 Outcome 타입이다. Outcome 타입은 예측된 정보를 하나의 일관된 구조 내에 유지하기 위해 시간 시퀀스 구조 및 CombinedState 인스턴스들의 집합을 조정하는 데이터 구조(OutcomeSampleVector)를 포함한다. - outcomeOptions는 평가를 위해 행동에 제공되는 가능한 결과들의 리스트를 나타내는 변수이다. 이것은 다수의 (위와 같은) Outcome 타입을 포함한다. - 평가들은 스코어들을 수용하는 UtilityValueVector 타입 또는 포맷의 스코어들의 어레이이며, 따라서 각각의 결과 옵션에는 결과가 행동의 최종 목표를 얼마나 양호하게 충족시키는지를 결정하는 스코어가 주어진다. 각각의 결과에 대한 이용은 [-1.0, 1.0] 사이의 값으로서 스코어를 유지하는 UtilityValue 타입에 의해 표현된다. &evaluations 어레이는 행동에 의해 반환된다. |
void endCycle (const ChronometerTime tEnd, const Outcome &finalOutcome, const float overallScore) | 이 액션 선택 사이클(210)이 완료되었음을 통지한다. 사이클을 종료한다: "endCycle" 함수 패키지들 - tEnd, 사이클의 종료에 대한 타임스탬프 - finalOutcome, 모든 승리 결과들의 어레이 - 선택된 결과에 대한 실제의 최종 결합된/가중된 스코어를 갖는 overallScore |
공개 멤버 함수들(액션 모델) | 설명 |
ActionSpaceVector getActionSpaces () const | 이 함수는 액션 공간들(410) 중 하나 이상을 액션 모델(400)에 반환함으로써 액션 모델의 자원 및 상태 공간 구조를 클라이언트들에게 제공하는 데 사용된다. |
공개 멤버 함수들(액션 모델 축) | 설명 |
void beginCycle (const std::string &space, const ChronometerTime tNow, const float tHorizon, const MultiAxisState &xInit_in, MultiAxisState &xInit_out) | 액션선택 사이클(210)을 개시한다. 사이클을 개시한다: "beginCycle" 함수는 주어진 액션 공간에 대한 액션 선택 사이클의 개시를 알리는 API를 제공한다. 이것은 다음을 포함하는 여러 독립변수/변수를 갖는다: - &Space는 이 사이클 갱신에 대한 액션 공간의 이름이다. 이것은 getActionSpaces() 호출에서 이 액션 모델에 반환된 공간들 중 하나이어야 한다. - tNow는 이 중재 사이클의 시작 시간이다. - tHorizon은 이 중재 사이클에 대한 시간 간격이다. 액션 모델들은 평가를 위해 이 시간 범위에 걸쳐 결과들을 생성할 것이다. - xInit_in은 각각의 자원에 대한 한계들을 포함하는, 이 사이클의 개시시의 이 액션 공간 내의 액추에이터들의 현재 상태를 포함할 것이다. - xInit_out는 이 사이클의 개시시의 액추에이터들의 상태를 포함할 것이다. 이것은 xInit_in 내의 상태 정보는 물론, 액션 모델 내로부터의 증대된 상태들을 유지한다. 예를 들어, 이동/회전 액션 모델이 이동 및 회전 축의 현재 상태는 물론, 계산된 주행 거리 정보(X, Y, θ)를 제공할 수 있다. xInit_in 및 xInit_out 양자는 MultiAxisState에 의해 표현될 것이다(위 참조). |
void generateCommands (const std::string &space, const float tHorizon, const MultiAxisState &xInit, const MultiAxisCommand ¤t, MultiAxisCommandVector &commandOptions, const std::string &genMode) [또는, 예컨대, DiscreteFloatActionModel 또는 DiscreteIntActionModel 액션 모델들에 대해, 각각 MultiAxisState 대신에 MultFloatState 또는 MultiInitState, MultiAxisCommand 대신에 MultiFloatCommand 또는 MultiInitCommand, MultiAxisCommandVector 대신에 MultiFloatCommandVector 또는 MultiInitCommandVector] |
주어진 개시 상태 및 액션 공간(410)에 대한 명령들(440)을 생성한다. 명령들을 생성한다: "generateCommands" 함수는 다음을 포함하는 여러 독립변수/변수를 갖는다: - space는 이러한 생성 동작에 대한 액션 공간의 이름이다. - tHorizon은 이러한 액션들을 생성하는 시간 범위이다. - xInit는 액션 생성을 개시하기 위한 현재 상태이다. 이것은 시작 사이클에서 xInit_out에 의해 제공되는 결과적인 구조이다. - current는 그 액션 공간 내의 자원들에 대한 하드웨어에 적용된 현재 명령을 나타낸다. 이것은 자원 이름들의 AxisCommand 타입들에 대한 맵핑을 포함하는 MultiAxisCommand에 의해 표현된다. 축 명령은 다음을 포함한다: - 그 자원에 대해 전송된 명령의 타입(예를 들어, VELOCITY 명령 또는 POSITION 명령 등) - 명령 값 - commandOptions는 현재 상태 및 시간 범위가 주어질 때 가능한, 적절히 제한된 명령들로 채울 명령들의 벡터이다. 각각의 명령 옵션은 MultiAxisCommand이다(현재 독립변수에 대한 위의 설명 참고). 설명된 바와 같이, 어레이 정의들(타입 또는 포맷)이 교환될 데이터의 적절한 양들을 수용하는 것 외에는, 이들은 단계적인 개별 부동 또는 단계적인 개별 정수 기반 액션 모델들에 대해 본질적으로 동일하다. |
void simulateCommand (const std::string &space, const MultiAxisState &xInit, const MultiAxisCommand &command, MultiAxisSampleVector &xSteps) [또는, 예컨대, DiscreteFloatActionModel 또는 DiscreteIntActionModel 액션 모델들에 대해, 위의 같이 각각 또는 MultiAxisSampleVector 대신에 MultiFloatSampleVector 또는 MultiIntSampleVector |
상태 및 액션 공간(410)이 주어질 때 명령들(440)의 결과들(450)을 시뮬레이션한다. 명령들을 시뮬레이션한다: "simulateCommands" 함수는 다음을 포함하는 여러 독립변수/변수를 갖는다. - 공간 &xInit는 전술한 바와 같다. - command는 (전술한 바와 같은) 포맷의 MultiAxisCommand 타입의 시뮬레이션될 명령이다. - xSteps는 이 주어진 샘플 시간 델타들에 걸쳐 초기 상태로부터 주어진 명령을 시뮬레이션한 결과를 포함하는 벡터이다. - 이 벡터 내의 각각의 요소는 다음을 유지하는 MultiAxisSample 타입에 포함된 시간 슬라이스 시뮬레이션을 나타낸다. - 시간 단계 - 그 시간 슬라이스에 대한 결과적인 시뮬레이션된 상태. 상태는 MultiAxisState로서 표현된다. 설명된 바와 같이, 어레이 정의들(타입 또는 포맷)이 교환될 데이터의 적절한 양들을 수용하는 것 외에는, 이들은 단계적인 개별 부동 또는 단계적인 개별 정수 기반 액션 모델들에 대해 본질적으로 동일하다. |
void notifyCommand (const std::string &space, const float tHorizon, const MultiAxisCommand &final, float overallUtility) | 액션 공간들(410)에 대해 선택된 최종 명령(440)의 ActionModel을 통지한다. 명령을 통지한다: "notifyCommand" 함수는 다음을 포함하는 여러 독립변수/변수를 갖는다: - 전술한 바와 같은 space - 전술한 바와 같은 tHorizon - final은 그 액션 공간에 대한 평가 사이클로부터의 승리 명령들을 포함하는 어레이이다. 이것은 (전술한) MultiAxisCommand 타입이다. - overallUtility는 이 명령의 시뮬레이션으로부터 생성된 결과에 주어지는 최종 스코어를 제공한다. 단계적인 개별 부동 또는 단계적인 개별 정수 기반 액션 모델들에 대해 본질적으로 동일하다. |
공개 함수들 및 특성들(이벤트 프로세서) | 설명 |
EventProcessor (aware::EventProcessor) | 이벤트들을 수신하고, 처리 스레드에 의한 처리를 위해 이들을 큐잉한다. |
Thread (aware::Thread) | 처리 스레드에 대한 액세스 및 그의 제어를 제공한다. |
MaxQueueLength (int = 128) | 미처리 이벤트들의 최대 수. 이러한 많은 미처리 이벤트가 이미 존재할 때 새로운 이벤트를 통지하거나 포스팅하려는 시도가 예외를 발생시킬 것이다. |
EventHandlers (aware::MultiConnection Var < aware::EventHandler>) | 접속된 이벤트 핸들러들의 세트. |
공개 멤버 함수들(이벤트 핸들러) | 설명 |
void notify (const EventHandle &event, ChronometerTime tNow, const EventProcessorHandle &source = 0) 핸들러에 이벤트를 통지하기 위해 호출된다. |
이 함수는 핸들러에 이벤트를 통지하기 위해 호출된다. 이벤트 핸들러는 이벤트를 검사하고 그에 응답하는 것을 가능하게 하는 상수 이벤트 기준을 제공받는다. 또한, (공지된 경우) 소스 이벤트 핸들러에 대한 핸들을 제공받는다. 이러한 핸들이 0이 아닌 경우, 핸들러는 소스 이벤트 핸들을 이용하여 그를 호출한 이벤트 핸들러에 이벤트들을 "역 포스팅"할 수 있다. 파라미터들: [in] event는 이벤트를 참조하는 이벤트 핸들러이다. [in] tNow는 이벤트가 전달되는 시간이다. 이것은 이벤트의 타임스탬프와 항상 동일하지는 않다. 이것은 클라이언트들이 현재 시간에 대해 이벤트의 나이를 결정하고, 지연된 이벤트들을 처리하는 것 등을 가능하게 한다. [in] source는 (존재할 경우) 소스 이벤트 프로세서에 대한 핸들이다. 이 핸들은 0일 수 있다. 이것은 이벤트 핸들러 함수들 내로부터의 추가/미래 이벤트들의 직접적인 역 포스팅을 가능하게 한다. 반환들: 주석. 에러들에 관한 예외들을 발생시킨다. |
Claims (27)
- 로봇 제어기(140)에 대한 명령(440)을 생성하는 방법으로서 - 상기 방법은 액션 선택 엔진에 의해 수행됨 -,
로봇 자원(122)에 대한 이용 가능한 명령 공간에 대응하는, 적어도 하나의 액션 공간(410)을 갖는 상기 로봇 자원(122)의 적어도 하나의 액션 모델(400)을 호출하여, 상기 적어도 하나의 액션 모델(400)과 관련된 명령 선택 이력에 기초하여 각각의 액션 공간(410)에 대한 가능한 명령들(440)을 생성하는 단계;
적어도 하나의 액션 모델(400)을 호출하여, 각각의 명령(440)에 대한 결과를 생성하는 단계 - 상기 결과는 상기 명령(440)에 응답하는 상기 로봇 자원(122)의 예측된 상태에 대응함 -;
평가를 위해 각각의 결과를 적어도 하나의 행동(300)으로 전송하는 단계 - 각각의 행동(300)은 상기 각각의 행동(300)이 로봇 기능을 수행하는 능력에 기초하여 각각의 결과에 대한 결과 평가(460)를 제공함 -;
적어도 하나의 결과 평가(460)에 기초하여 각각의 액션 공간(410)에 대한 승리 결과를 선택하는 단계;
각각의 액션 공간(410)에 대한 승리 결과에 대응하는 명령(440)을 선택하는 단계;
각각의 대응하는 액션 공간(410)에 대한 각각의 선택된 명령들(440)에 기초하여 상기 로봇 자원(122)에 대한 종합 명령(442)을 생성하는 단계; 및
상기 종합 명령(442)을 로봇 제어기(140)로 전송하는 단계
를 포함하는 방법. - 제1항에 있어서,
상기 명령들(440)을 생성하는 단계 이전에,
상기 로봇 제어기(140)로부터 시스템 상태를 취득하는 단계; 및
상기 시스템 상태를 각각의 액션 모델(400) 및 각각의 행동(300)에 통지하는 단계
를 더 포함하는 방법. - 로봇을 제어하는 방법으로서 - 상기 방법은 액션 선택 엔진에 의해 수행됨 -,
적어도 하나의 프로세서 상에서 다수의 애플리케이션(130)을 실행하는 단계 - 각각의 애플리케이션(130)은 로봇 제어기(140) 및 액션 선택 엔진(200)을 구비하며, 각각의 애플리케이션(130)은 적어도 하나의 로봇 자원의 적어도 하나의 액션 모델(400) 및 적어도 하나의 행동(300)과 통신하고, 상기 적어도 하나의 액션 모델(400)은 상기 적어도 하나의 액션 모델(400)과 관련된 명령 선택 이력에 기초하여 상기 적어도 하나의 로봇 자원의 운동학적, 동적 제한들을 설명하고, 상기 각각의 액션 모델(400)의 각각의 액션 공간(410)에 대한 가능한 명령들(440) 및 관련된 결과들을 생성하며, 상기 적어도 하나의 행동(300)은 각각의 결과에 대한 평가(460)를 제공함 -; 및
각각의 액션 선택 엔진(200) 상에서 주기적 액션 선택 사이클들(210)을 실행하는 단계
를 포함하고,
각각의 액션 선택 사이클(210)은,
결과 평가들(460)에 기초하여 각각의 액션 모델(400)의 각각의 액션 공간(410)에 대한 명령(440)을 선택하는 단계;
각각의 대응하는 액션 모델(400)에 대한 각각의 선택된 명령(440)에 기초하여 종합 명령(442)을 생성하는 단계; 및
로봇 상에서의 실행을 위해 상기 종합 명령(442)을 상기 로봇 제어기(140)로 전송하는 단계
를 포함하는 방법. - 제3항에 있어서,
상기 액션 선택 사이클(210)은,
상기 각각의 액션 공간(410)에 대한 명령(440)을 선택하는 단계 이전에,
상기 로봇 제어기(140)로부터 시스템 상태를 취득하는 단계;
상기 시스템 상태를 각각의 액션 모델(400) 및 각각의 행동(300)에 통지하는 단계; 및
상기 액션 선택 사이클(210)의 개시를 각각의 액션 모델(400) 및 각각의 행동(300)에 통지하는 단계
를 더 포함하는 방법. - 제4항에 있어서,
상기 각각의 액션 공간(410)에 대한 명령(440)을 선택하는 단계는,
대응하는 액션 모델(400)을 호출하여, 액션 공간(410)에 대한 가능한 명령들(440)을 생성하는 단계;
대응하는 액션 모델(400)을 호출하여, 가능한 명령들(440)에 대한 결과들을 생성하는 단계;
각각의 행동(300)을 호출하여, 각각의 결과를 평가하고, 각각의 결과에 대한 결과 평가(460)를 제공하는 단계;
각각의 행동(300)의 결과 평가들(460)을 축적하는 단계;
액션 공간(410)에 대한 승리 결과를 선택하는 단계; 및
상기 승리 결과에 대응하는 명령(440)을 선택하는 단계
를 포함하는 방법. - 제5항에 있어서, 상기 액션 모델(400)을 호출하여 액션 공간(410)에 대한 가능한 명령들(440)을 생성하는 단계는, 상기 액션 공간(410) 상에서 휴리스틱 검색을 실행하여, 가능한 명령들(440)을 찾는 단계를 포함하는 방법.
- 제6항에 있어서, 상기 검색은 최종 공지된 명령(440) 근처의 액션 공간(410)을 검색하기 위한 언덕 오르기(hill climbing) 검색 기술을 포함하는 방법.
- 제6항에 있어서, 상기 검색은 상기 액션 공간(410)의 명령 이력을 이용하는 검색 기술을 포함하는 방법.
- 제6항에 있어서, 상기 검색은 현재 명령(440)에 기초하는 무작위 검색을 포함하는 방법.
- 제1항, 제2항 또는 제5항 중 어느 한 항에 있어서, 각각의 액션 모델(400)은 소정의 순서로 순차적으로 호출되며, 각각의 액션 모델(400) 내의 각각의 액션 공간(410)은 소정의 순서로 순차적으로 호출되는 방법.
- 제10항에 있어서, 임의의 이전 액션 공간들(410)의 승리 결과들에 기초하여 각각의 액션 공간(410)에 대한 승리 결과를 선택하는 단계를 더 포함하는 방법.
- 제1항, 제2항 또는 제5항 중 어느 한 항에 있어서, 결과 평가들(460)은 각각의 행동(300)에 기초하는 가중치들에 따라 가중되는 방법.
- 제1항, 제2항 또는 제5항 중 어느 한 항에 있어서,
상기 종합 명령(442)을 로봇 제어기(140)로 전송하는 단계 이후에,
상기 종합 명령(442)에 대한 종합 결과(452)를 생성하는 단계, 및 상기 종합 결과(452)를 피드백으로서 각각의 행동(300)으로 전송하는 단계를 더 포함하는 방법. - 제1항, 제2항 또는 제5항 중 어느 한 항에 있어서, 어느 애플리케이션(130)이 주어진 시간에 해당 애플리케이션(130)에 의해 요구되는 로봇의 자원들(122)의 독점적 제어를 갖는지를 결정하는 애플리케이션 우선 순위 정책(160)을 구현하는 단계를 더 포함하는 방법.
- 로보틱스 제어를 위한 액션 선택 시스템(100, 102, 104)으로서,
하나 이상의 액션 모델(400) - 각각의 액션 모델(400)은 로봇 자원(122)에 대한 이용 가능한 명령 공간에 대응하고 상기 로봇 자원(122)에 보내진 명령들(440)에 대한 상기 로봇 자원의 시뮬레이션된 상태 전파를 정의하는 적어도 하나의 액션 공간 모델(410); 상기 액션 모델(400)과 관련된 명령 선택 이력에 기초하여 상기 로봇 자원(122)에 대한 미리 정해진 제한된 수의 가능한 명령들(440)을 생성하는 명령 생성 루틴; 및 대응하는 액션 공간 모델(410)의 시뮬레이션된 상태 전파를 이용하여, 하나의 가능한 명령(440) 및 상기 명령(440)에 응답하는 상기 로봇 자원(122)의 예측된 상태에 각각 대응하는 시뮬레이션된 결과들을 생성하는 명령 시뮬레이션 루틴을 포함함 -;
하나 이상의 행동(300) - 각각의 행동(300)은 센서 데이터를 수집하기 위한 루틴; 및 센서 데이터, 상기 로봇 자원들(122)의 현재 상태 데이터, 및 행동(300)과 관련된 소정의 목표들을 고려하는 평가 루틴을 이용하여 시뮬레이션된 결과들에 스코어들을 할당하는 루틴을 포함함 -; 및
하나 이상의 액션 선택 엔진(200)
을 포함하고,
각각의 액션 선택 엔진(200)은 순차적으로,
각각의 액션 모델(400)의 각각의 액션 공간 모델(410)로부터 시뮬레이션된 결과들을 취득하고, 이어서
스코어들을 할당하기 위해 각각의 행동(300)에 시뮬레이션된 결과들을 제공하고, 이어서
행동들(300) 사이의 소정의 가중에 따라 스코어들을 가중하고, 이어서
각각의 액션 공간 모델(410)에 대한 하나의 승리 결과를 결정하기 위해 가중된 스코어들을 비교하고, 이어서
각각의 액션 공간 모델(410)에 대한 하나의 승리 결과에 대응하는 하나의 가능한 명령(440)을 하나의 가능한 명령(440), 하나의 승리 결과 및 하나의 액션 공간 모델(410)에 대응하는 상기 로봇 자원(122)으로 전송하기 위한
루틴을 포함하는 액션 선택 시스템(100, 102, 104). - 제15항에 있어서, 상기 명령 생성 루틴은 액션 공간 모델(410)의 전체에 걸치는 명령들(440)을 생성하고, 상기 명령 시뮬레이션 루틴은 액션 공간 모델(410) 전반에 분포된 명령들(440)로부터 시뮬레이션된 결과들을 생성하는 액션 선택 시스템(100, 102, 104).
- 제16항에 있어서, 상기 명령 생성 루틴은 액션 공간 모델(410)의 전체에 걸치는 무작위 명령들(440)을 생성하는 액션 선택 시스템(100, 102, 104).
- 제15항에 있어서, 상기 명령 생성 루틴은 액션 공간 모델(410) 내의 현재 명령(440) 근처에 명령들(440)을 생성하고, 상기 명령 시뮬레이션 루틴은 액션 공간 모델(410) 내의 현재 명령(440) 근처에 분포된 명령들(440)로부터 시뮬레이션된 결과들을 생성하는 액션 선택 시스템(100, 102, 104).
- 제18항에 있어서, 상기 명령 생성 루틴은 액션 공간 모델(410) 내의 현재 명령(440) 근처에 무작위 명령들(440)을 생성하는 액션 선택 시스템(100, 102, 104).
- 제15항에 있어서, 상기 명령 생성 루틴은 액션 공간 모델(410) 내의 하나 이상의 이전 명령(440) 근처에 명령들(440)을 생성하고, 상기 명령 시뮬레이션 루틴은 액션 공간 모델(410) 내의 하나 이상의 이전 명령(440) 근처에 분포된 명령들(440)로부터 시뮬레이션된 결과들을 생성하는 액션 선택 시스템(100, 102, 104).
- 제20항에 있어서, 상기 명령 생성 루틴은 액션 공간 모델(410) 내의 하나 이상의 이전 명령(440) 근처에 무작위 명령들(440)을 생성하는 액션 선택 시스템(100, 102, 104).
- 로보틱스 제어를 위한 액션 선택 엔진(200)을 컴퓨터에서 구현하기 위한 프로그램을 저장한 컴퓨터 판독가능 기록 매체로서, 상기 로보틱스 제어를 위한 액션 선택 엔진(200)은,
순차적으로,
(i) 상기 액션 선택 엔진(200)과 관련된 액션 모델(400)의 액션 공간 모델(410)로부터 시뮬레이션된 결과들을 취득하고 - 관련된 액션 모델(400)은 물리 자원(122)에 대한 명령들(440)의 시뮬레이션된 상태 전파를 정의하는 적어도 하나의 액션 공간 모델(410); 상기 물리 자원(122)에 대한 소정의 제한된 수의 가능한 명령들(440)을 생성하는 명령 생성 루틴; 및 대응하는 액션 공간 모델(410)의 시뮬레이션된 상태 전파를 이용하여, 하나의 가능한 명령(440)에 각각 대응하는 시뮬레이션된 결과들을 생성하는 명령 시뮬레이션 루틴에 의해 특성화됨 -;
(ii) 상기 액션 선택 엔진(200)과 관련된 행동들(300)에 시뮬레이션된 결과들을 제공하고 - 관련된 행동들(300)은 센서 데이터를 수집하기 위한 루틴; 및 센서 데이터, 현재 자원 상태 데이터, 및 행동(300)과 관련된 소정의 목표들을 고려하는 평가 루틴을 이용하여 시뮬레이션된 결과들에 스코어들을 할당하는 루틴에 의해 특성화됨 -;
(iii) 행동들(300) 사이의 소정의 가중에 따라 스코어들을 가중하고; 이어서
(iv) 각각의 액션 공간 모델(410)에 대한 하나의 승리 결과를 결정하기 위해 가중된 스코어들을 비교하고; 이어서
(v) 각각의 액션 공간 모델(410)에 대한 하나의 승리 결과에 대응하는 하나의 가능한 명령(440)을 하나의 가능한 명령(440), 하나의 승리 결과 및 하나의 액션 공간 모델(410)에 대응하는 상기 물리 자원(122)으로 전송하기 위한
루틴을 포함하는, 컴퓨터 판독가능 기록 매체. - 로보틱스 제어를 위한 행동(300)을 컴퓨터에서 구현하기 위한 프로그램을 저장한 컴퓨터 판독가능 기록 매체로서, 상기 로보틱스 제어를 위한 행동(300)은,
(i) 센서 데이터를 수집하는 루틴; 및
(ii) 접속된 객체로부터 시뮬레이션된 결과들의 세트를 수신하고, 센서 데이터, 현재 자원 상태 데이터, 이전 사이클들(210)로부터 이전에 결정된 승리 결과들의 캐스케이드(cascade), 및 행동(300)과 관련된 소정의 목표들을 고려하는 평가 루틴을 이용하여 시뮬레이션된 결과들에 스코어들을 할당하는 루틴 - 세트 내의 각각의 시뮬레이션된 결과는 물리 자원(122)에 대한 하나의 가능한 명령(440)에 대응하는 시뮬레이션된 상태 전파로서 제공됨 -
을 포함하는 컴퓨터 판독가능 기록 매체. - 제23항에 있어서,
상기 로보틱스 제어를 위한 행동(300)은,
행동 애플리케이션 프로그래밍 인터페이스(302)를 더 포함하고,
상기 행동 애플리케이션 프로그래밍 인터페이스(302)는,
사용을 위해 행동(300)을 초기화하도록 구성되는 초기화 기능;
액션 선택 사이클(210)을 개시하도록 구성되는 사이클 개시 기능;
결과들의 집합을 평가하도록 구성되는 평가 기능; 및
상기 액션 선택 사이클(210)이 완료되었음을 각각의 행동(300)에 통지하도록 구성되는 사이클 종료 기능
을 포함하는 컴퓨터 판독가능 기록 매체. - 로보틱스 제어를 위한 액션 모델(400)을 컴퓨터에서 구현하기 위한 프로그램을 저장한 컴퓨터 판독가능 기록 매체로서, 상기 로보틱스 제어를 위한 액션 모델(400)은,
(i) 물리 자원(122)에 대한 명령들(440)의 시뮬레이션된 상태 전파를 정의하는 적어도 하나의 액션 공간 모델(410);
(ii) 상기 물리 자원(122)에 대한 소정의 제한된 수의 가능한 명령들(440)을 생성하는 명령 생성 루틴;
(iii) 대응하는 액션 공간 모델(410)의 시뮬레이션된 상태 전파를 이용하여, 하나의 가능한 명령(440)에 각각 대응하는 시뮬레이션된 결과들을 생성하는 명령 시뮬레이션 루틴; 및
(iv) 접속된 객체로부터의 메시지들에 응답하여, 각각의 액션 모델(400)의 각각의 액션 공간 모델(410)에 대한 적어도 한 세트의 시뮬레이션된 결과들을 제공하는 루틴
을 포함하는 컴퓨터 판독가능 기록 매체. - 제25항에 있어서,
상기 로보틱스 제어를 위한 액션 모델(400)은,
액션 모델 애플리케이션 프로그래밍 인터페이스(402)를 더 포함하고,
상기 액션 모델 애플리케이션 프로그래밍 인터페이스(402)는,
액션 선택 사이클(210)을 개시하도록 구성되는 사이클 개시 기능;
주어진 액션 공간(410)에 대한 명령들(440)을 생성하도록 구성되는 명령 생성 기능;
주어진 명령들(440)에 대한 결과들을 시뮬레이션하도록 구성되는 명령 시뮬레이션 기능; 및
특정 액션 공간(410)에 대해 선택된 명령(440)을 액션 모델(400)에 통지하도록 구성되는 명령 통지 기능
을 포함하는 컴퓨터 판독가능 기록 매체. - 제26항에 있어서, 상기 액션 모델 애플리케이션 프로그래밍 인터페이스(402)는 이벤트들을 핸들링하도록 구성되는 이벤트 핸들러 기능을 더 포함하는 컴퓨터 판독가능 기록 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US4170708P | 2008-04-02 | 2008-04-02 | |
US61/041,707 | 2008-04-02 | ||
PCT/US2008/059856 WO2009123650A1 (en) | 2008-04-02 | 2008-04-10 | Robotics systems |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107024684A Division KR101261148B1 (ko) | 2008-04-02 | 2008-04-10 | 로보틱스 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120087990A KR20120087990A (ko) | 2012-08-07 |
KR101358477B1 true KR101358477B1 (ko) | 2014-02-05 |
Family
ID=39760925
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127015797A KR101358477B1 (ko) | 2008-04-02 | 2008-04-10 | 로보틱스 시스템 |
KR1020107024684A KR101261148B1 (ko) | 2008-04-02 | 2008-04-10 | 로보틱스 시스템 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107024684A KR101261148B1 (ko) | 2008-04-02 | 2008-04-10 | 로보틱스 시스템 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8452448B2 (ko) |
EP (1) | EP2266077A1 (ko) |
KR (2) | KR101358477B1 (ko) |
AU (1) | AU2008353981B2 (ko) |
CA (1) | CA2719494C (ko) |
IL (1) | IL208369A (ko) |
WO (1) | WO2009123650A1 (ko) |
Families Citing this family (108)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8437535B2 (en) | 2006-09-19 | 2013-05-07 | Roboticvisiontech Llc | System and method of determining object pose |
EP2014425B1 (en) * | 2007-07-13 | 2013-02-20 | Honda Research Institute Europe GmbH | Method and device for controlling a robot |
US8915692B2 (en) | 2008-02-21 | 2014-12-23 | Harvest Automation, Inc. | Adaptable container handling system |
US20100017026A1 (en) * | 2008-07-21 | 2010-01-21 | Honeywell International Inc. | Robotic system with simulation and mission partitions |
KR101021836B1 (ko) * | 2008-10-09 | 2011-03-17 | 한국전자통신연구원 | 동적 행위 바인딩을 통한 다수 로봇의 협업 구현 시스템 및그 구현 방법 |
US8559699B2 (en) * | 2008-10-10 | 2013-10-15 | Roboticvisiontech Llc | Methods and apparatus to facilitate operations in image based systems |
KR101255685B1 (ko) * | 2008-12-22 | 2013-04-24 | 한국전자통신연구원 | 로봇 응용 프로그램 실행 장치 및 방법 |
KR101277275B1 (ko) * | 2009-12-09 | 2013-06-20 | 한국전자통신연구원 | 로봇 시스템의 행위 기반 태스크 구현 방법 |
JP5465137B2 (ja) * | 2010-04-22 | 2014-04-09 | 本田技研工業株式会社 | ロボットおよび制御システム |
US9015093B1 (en) | 2010-10-26 | 2015-04-21 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
US8775341B1 (en) | 2010-10-26 | 2014-07-08 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
FR2969026B1 (fr) * | 2010-12-17 | 2013-02-01 | Aldebaran Robotics | Robot humanoide dote d'un gestionnaire de ses ressources physiques et virtuelles, procedes d'utilisation et de programmation |
WO2012140655A2 (en) * | 2011-04-12 | 2012-10-18 | Baryakar Dan | Robotic system controlled by multi participants, considering administrator's criteria |
US8386078B1 (en) * | 2011-05-06 | 2013-02-26 | Google Inc. | Methods and systems for providing a data library for robotic devices |
US8639644B1 (en) * | 2011-05-06 | 2014-01-28 | Google Inc. | Shared robot knowledge base for use with cloud computing system |
US9566710B2 (en) | 2011-06-02 | 2017-02-14 | Brain Corporation | Apparatus and methods for operating robotic devices using selective state space training |
US9147173B2 (en) * | 2011-10-31 | 2015-09-29 | Harvest Automation, Inc. | Methods and systems for automated transportation of items between variable endpoints |
US8676425B2 (en) | 2011-11-02 | 2014-03-18 | Harvest Automation, Inc. | Methods and systems for maintenance and other processing of container-grown plants using autonomous mobile robots |
US8937410B2 (en) | 2012-01-17 | 2015-01-20 | Harvest Automation, Inc. | Emergency stop method and system for autonomous mobile robots |
US8924011B2 (en) * | 2012-04-03 | 2014-12-30 | Knu-Industry Cooperation Foundation | Intelligent robot apparatus responsive to environmental change and method of controlling and reconfiguring intelligent robot apparatus |
EP3104194B1 (en) | 2012-08-27 | 2019-02-06 | Aktiebolaget Electrolux | Robot positioning system |
US20140214256A1 (en) * | 2013-01-25 | 2014-07-31 | GM Global Technology Operations LLC | Steering system for an autonomously driven vehicle and methods of steering the same |
KR102214868B1 (ko) | 2013-02-15 | 2021-02-10 | 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 | 로봇 시스템의 노드들을 동기화시키기 위한 시스템 및 방법 |
US9764468B2 (en) | 2013-03-15 | 2017-09-19 | Brain Corporation | Adaptive predictor apparatus and methods |
US10219665B2 (en) | 2013-04-15 | 2019-03-05 | Aktiebolaget Electrolux | Robotic vacuum cleaner with protruding sidebrush |
CN105101854A (zh) | 2013-04-15 | 2015-11-25 | 伊莱克斯公司 | 机器人真空吸尘器 |
US9537815B2 (en) | 2013-05-06 | 2017-01-03 | Google Inc. | Event greeting system and method |
US9242372B2 (en) | 2013-05-31 | 2016-01-26 | Brain Corporation | Adaptive robotic interface apparatus and methods |
US9792546B2 (en) | 2013-06-14 | 2017-10-17 | Brain Corporation | Hierarchical robotic controller apparatus and methods |
US9314924B1 (en) | 2013-06-14 | 2016-04-19 | Brain Corporation | Predictive robotic controller apparatus and methods |
US9579789B2 (en) | 2013-09-27 | 2017-02-28 | Brain Corporation | Apparatus and methods for training of robotic control arbitration |
US9463571B2 (en) * | 2013-11-01 | 2016-10-11 | Brian Corporation | Apparatus and methods for online training of robots |
US9597797B2 (en) | 2013-11-01 | 2017-03-21 | Brain Corporation | Apparatus and methods for haptic training of robots |
US9248569B2 (en) | 2013-11-22 | 2016-02-02 | Brain Corporation | Discrepancy detection apparatus and methods for machine learning |
US10433697B2 (en) | 2013-12-19 | 2019-10-08 | Aktiebolaget Electrolux | Adaptive speed control of rotating side brush |
KR102130190B1 (ko) | 2013-12-19 | 2020-07-03 | 에이비 엘렉트로룩스 | 로봇 청소 장치 |
JP6455737B2 (ja) | 2013-12-19 | 2019-01-23 | アクチエボラゲット エレクトロルックス | 方法、ロボット掃除機、コンピュータプログラムおよびコンピュータプログラム製品 |
CN105792721B (zh) | 2013-12-19 | 2020-07-21 | 伊莱克斯公司 | 以螺旋样式移动的带侧刷的机器人真空吸尘器 |
KR102137857B1 (ko) | 2013-12-19 | 2020-07-24 | 에이비 엘렉트로룩스 | 로봇 청소 장치 및 랜드마크 인식 방법 |
EP3084539B1 (en) | 2013-12-19 | 2019-02-20 | Aktiebolaget Electrolux | Prioritizing cleaning areas |
CN105813528B (zh) | 2013-12-19 | 2019-05-07 | 伊莱克斯公司 | 机器人清洁设备的障碍物感测爬行 |
CN105848545B (zh) | 2013-12-20 | 2019-02-19 | 伊莱克斯公司 | 灰尘容器 |
US9358685B2 (en) * | 2014-02-03 | 2016-06-07 | Brain Corporation | Apparatus and methods for control of robot actions based on corrective user inputs |
US9346167B2 (en) | 2014-04-29 | 2016-05-24 | Brain Corporation | Trainable convolutional network apparatus and methods for operating a robotic vehicle |
KR102325130B1 (ko) | 2014-07-10 | 2021-11-12 | 에이비 엘렉트로룩스 | 로봇 청소 장치에서 측정 에러를 검출하는 방법 |
CN104598663A (zh) * | 2014-07-30 | 2015-05-06 | 徐松林 | 海洋力学环境虚拟生成系统及方法 |
US10729297B2 (en) | 2014-09-08 | 2020-08-04 | Aktiebolaget Electrolux | Robotic vacuum cleaner |
WO2016037635A1 (en) | 2014-09-08 | 2016-03-17 | Aktiebolaget Electrolux | Robotic vacuum cleaner |
US9630318B2 (en) | 2014-10-02 | 2017-04-25 | Brain Corporation | Feature detection apparatus and methods for training of robotic navigation |
CN106998980B (zh) | 2014-12-10 | 2021-12-17 | 伊莱克斯公司 | 使用激光传感器检测地板类型 |
US10874271B2 (en) | 2014-12-12 | 2020-12-29 | Aktiebolaget Electrolux | Side brush and robotic cleaner |
CN107003669B (zh) | 2014-12-16 | 2023-01-31 | 伊莱克斯公司 | 用于机器人清洁设备的基于经验的路标 |
US10678251B2 (en) | 2014-12-16 | 2020-06-09 | Aktiebolaget Electrolux | Cleaning method for a robotic cleaning device |
US9717387B1 (en) | 2015-02-26 | 2017-08-01 | Brain Corporation | Apparatus and methods for programming and training of robotic household appliances |
KR102343513B1 (ko) | 2015-04-17 | 2021-12-28 | 에이비 엘렉트로룩스 | 로봇 청소 장치 및 로봇 청소 장치의 제어 방법 |
JP6736831B2 (ja) | 2015-09-03 | 2020-08-05 | アクチエボラゲット エレクトロルックス | ロボット清掃デバイスのシステム、清掃デバイスを制御する方法、コンピュータプログラム及びコンピュータプログラム製品 |
KR102235166B1 (ko) * | 2015-09-21 | 2021-04-02 | 주식회사 레인보우로보틱스 | 실시간 로봇 시스템, 로봇 시스템 제어 장치 및 로봇 시스템 제어 방법 |
WO2017052060A1 (ko) * | 2015-09-21 | 2017-03-30 | 주식회사 레인보우 | 계층적 아키텍처를 갖는 실시간 디바이스 제어 시스템 및 이를 이용한 실시간 로봇 제어 시스템 |
CN105656688B (zh) * | 2016-03-03 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 状态控制方法和装置 |
CN108603935A (zh) | 2016-03-15 | 2018-09-28 | 伊莱克斯公司 | 机器人清洁设备以及机器人清洁设备进行陡壁检测的方法 |
US10152891B2 (en) | 2016-05-02 | 2018-12-11 | Cnh Industrial America Llc | System for avoiding collisions between autonomous vehicles conducting agricultural operations |
EP3454707B1 (en) | 2016-05-11 | 2020-07-08 | Aktiebolaget Electrolux | Robotic cleaning device |
US10241514B2 (en) | 2016-05-11 | 2019-03-26 | Brain Corporation | Systems and methods for initializing a robot to autonomously travel a trained route |
US9987752B2 (en) | 2016-06-10 | 2018-06-05 | Brain Corporation | Systems and methods for automatic detection of spills |
US10282849B2 (en) | 2016-06-17 | 2019-05-07 | Brain Corporation | Systems and methods for predictive/reconstructive visual object tracker |
US10016896B2 (en) | 2016-06-30 | 2018-07-10 | Brain Corporation | Systems and methods for robotic behavior around moving bodies |
JP7009051B2 (ja) * | 2016-08-04 | 2022-01-25 | キヤノン株式会社 | レイアウト設定方法、制御プログラム、記録媒体、制御装置、部品の製造方法、ロボットシステム、ロボット制御装置、情報処理方法、情報処理装置 |
US10473761B2 (en) * | 2016-08-11 | 2019-11-12 | Rodradar Ltd. | Wire and pylon classification based on trajectory tracking |
KR101706651B1 (ko) | 2016-08-29 | 2017-02-16 | 주식회사 보미온 | Vr 영화 시청을 위한 슬림 타입 헤드마운트 디스플레이 장치 |
US10274325B2 (en) | 2016-11-01 | 2019-04-30 | Brain Corporation | Systems and methods for robotic mapping |
US10001780B2 (en) | 2016-11-02 | 2018-06-19 | Brain Corporation | Systems and methods for dynamic route planning in autonomous navigation |
US10723018B2 (en) | 2016-11-28 | 2020-07-28 | Brain Corporation | Systems and methods for remote operating and/or monitoring of a robot |
US10377040B2 (en) | 2017-02-02 | 2019-08-13 | Brain Corporation | Systems and methods for assisting a robotic apparatus |
US10852730B2 (en) | 2017-02-08 | 2020-12-01 | Brain Corporation | Systems and methods for robotic mobile platforms |
US10293485B2 (en) | 2017-03-30 | 2019-05-21 | Brain Corporation | Systems and methods for robotic path planning |
CN108803592B (zh) * | 2017-05-04 | 2024-02-09 | 罗伯特·博世有限公司 | 用于避免机器人碰撞的方法、装置和系统 |
US10659464B2 (en) * | 2017-05-10 | 2020-05-19 | Microsoft Technology Licensing, Llc | Securely authenticating a bot user |
US11474533B2 (en) | 2017-06-02 | 2022-10-18 | Aktiebolaget Electrolux | Method of detecting a difference in level of a surface in front of a robotic cleaning device |
US10438587B1 (en) | 2017-08-08 | 2019-10-08 | X Development Llc | Speech recognition biasing |
US10901812B2 (en) * | 2017-09-18 | 2021-01-26 | Rapyuta Robotics Co., Ltd. | Managing communication between cloud and heterogeneous devices across networks |
JP6989210B2 (ja) | 2017-09-26 | 2022-01-05 | アクチエボラゲット エレクトロルックス | ロボット清掃デバイスの移動の制御 |
CN109968352B (zh) * | 2017-12-28 | 2021-06-04 | 深圳市优必选科技有限公司 | 一种机器人控制方法及机器人、具有存储功能的装置 |
US10792813B1 (en) | 2018-04-26 | 2020-10-06 | X Development Llc | Managing robot resources |
US10800042B2 (en) * | 2018-07-12 | 2020-10-13 | Rapyuta Robotics Co., Ltd. | Executing centralized and decentralized controlled plans collaboratively by autonomous robots |
CN109194736B (zh) * | 2018-08-30 | 2021-04-27 | 百度在线网络技术(北京)有限公司 | 消息去重方法、装置、电子设备、介质和无人车 |
WO2020071080A1 (ja) | 2018-10-05 | 2020-04-09 | ソニー株式会社 | 情報処理装置、制御方法及びプログラム |
KR102109886B1 (ko) * | 2018-11-09 | 2020-05-12 | 서울시립대학교 산학협력단 | 로봇 시스템 및 이의 서비스 제공 방법 |
JP7190919B2 (ja) | 2019-01-25 | 2022-12-16 | 株式会社ソニー・インタラクティブエンタテインメント | 画像解析システム |
JP7417356B2 (ja) * | 2019-01-25 | 2024-01-18 | 株式会社ソニー・インタラクティブエンタテインメント | ロボット制御システム |
CN109814576B (zh) * | 2019-02-22 | 2022-01-28 | 百度在线网络技术(北京)有限公司 | 自动驾驶车辆的速度规划方法、装置和存储介质 |
CN110161898B (zh) * | 2019-04-11 | 2022-04-15 | 广西电网有限责任公司电力科学研究院 | 一种兼容多智能体的变电站巡视机器人资源共享系统 |
CN110000788B (zh) * | 2019-04-17 | 2020-10-09 | 燕山大学 | 用于远程操作系统的有限时间容错控制方法 |
EP3739396A1 (de) * | 2019-05-15 | 2020-11-18 | Siemens Aktiengesellschaft | System zur bewegungsführung eines manipulators aufweisend einen ersten und einen zweiten prozessor |
US11191005B2 (en) | 2019-05-29 | 2021-11-30 | At&T Intellectual Property I, L.P. | Cyber control plane for universal physical space |
KR102691285B1 (ko) * | 2019-05-29 | 2024-08-06 | 엘지전자 주식회사 | 영상 학습을 바탕으로 주행경로를 설정하는 지능형 로봇 청소기 및 이의 운용방법 |
KR102277078B1 (ko) * | 2019-08-12 | 2021-07-13 | 한국로봇융합연구원 | 작업용 암을 구비하는 재난구조로봇 |
US11526823B1 (en) | 2019-12-27 | 2022-12-13 | Intrinsic Innovation Llc | Scheduling resource-constrained actions |
US11498211B2 (en) * | 2019-12-30 | 2022-11-15 | Intrinsic Innovation Llc | Composability framework for robotic control system |
US12007777B2 (en) * | 2020-02-21 | 2024-06-11 | Rn Chidakashi Technologies Pvt. Ltd. | Adaptive learning system for localizing and mapping user and object using an artificially intelligent machine |
JP7452124B2 (ja) * | 2020-03-13 | 2024-03-19 | オムロン株式会社 | ロボット制御システムおよび制御方法 |
US10922154B1 (en) | 2020-06-02 | 2021-02-16 | X Development Llc | Systems and methods for inter-process communication within a robot |
US12070860B2 (en) | 2020-09-14 | 2024-08-27 | Intelligrated Headquarters, Llc | Machine learning based decision making for robotic item handling |
CN112549029B (zh) * | 2020-12-03 | 2022-05-27 | 天津(滨海)人工智能军民融合创新中心 | 一种基于行为树的机器人行为控制方法及装置 |
WO2022145020A1 (ja) * | 2020-12-28 | 2022-07-07 | 本田技研工業株式会社 | ロボット管理システム |
US20220347846A1 (en) | 2021-04-30 | 2022-11-03 | Intrinsic Innovation Llc | Real-time robotics control framework |
US11992948B2 (en) | 2021-04-30 | 2024-05-28 | Intrinsic Innovation Llc | Real-time robotics control framework |
US12011832B2 (en) | 2021-04-30 | 2024-06-18 | Intrinsic Innovation Llc | Real-time robotics control framework |
CN114326495B (zh) * | 2021-12-24 | 2024-02-09 | 中电海康集团有限公司 | 一种机器人控制系统架构及语音指令处理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6763282B2 (en) | 2001-06-04 | 2004-07-13 | Time Domain Corp. | Method and system for controlling a robot |
US20040243281A1 (en) | 2002-03-15 | 2004-12-02 | Masahiro Fujita | Robot behavior control system, behavior control method, and robot device |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6337552B1 (en) * | 1999-01-20 | 2002-01-08 | Sony Corporation | Robot apparatus |
GB9824829D0 (en) * | 1998-11-12 | 1999-01-06 | Marconi Comm Ltd | An intelligent network service creation method and system |
US7046842B2 (en) * | 1999-08-17 | 2006-05-16 | National Instruments Corporation | System and method for color characterization using fuzzy pixel classification with application in color matching and color match location |
US6564194B1 (en) * | 1999-09-10 | 2003-05-13 | John R. Koza | Method and apparatus for automatic synthesis controllers |
WO2001039932A1 (fr) * | 1999-11-30 | 2001-06-07 | Sony Corporation | Robot, son procede de commande et procede d'appreciation du caractere du robot |
US6820032B2 (en) * | 2001-02-05 | 2004-11-16 | National Instruments Corporation | System and method for scanning a region using conformal mapping |
US6959104B2 (en) * | 2001-02-05 | 2005-10-25 | National Instruments Corporation | System and method for scanning a region using a low discrepancy sequence |
US6917710B2 (en) * | 2001-02-05 | 2005-07-12 | National Instruments Corporation | System and method for scanning a region using a low discrepancy curve |
US7034831B2 (en) * | 2001-02-05 | 2006-04-25 | National Instruments Corporation | System and method for generating a low discrepancy curve in a region |
US6950552B2 (en) * | 2001-02-05 | 2005-09-27 | National Instruments Corporation | System and method for precise location of a point of interest |
US6909801B2 (en) * | 2001-02-05 | 2005-06-21 | National Instruments Corporation | System and method for generating a low discrepancy curve on an abstract surface |
US6636781B1 (en) * | 2001-05-22 | 2003-10-21 | University Of Southern California | Distributed control and coordination of autonomous agents in a dynamic, reconfigurable system |
US6944331B2 (en) * | 2001-10-26 | 2005-09-13 | National Instruments Corporation | Locating regions in a target image using color matching, luminance pattern matching and hue plane pattern matching |
US7233699B2 (en) * | 2002-03-18 | 2007-06-19 | National Instruments Corporation | Pattern matching using multiple techniques |
US7348963B2 (en) * | 2002-05-28 | 2008-03-25 | Reactrix Systems, Inc. | Interactive video display system |
US7035694B2 (en) * | 2003-05-13 | 2006-04-25 | National Instruments Corporation | Automatic tuning of motion controllers using search techniques |
US7493300B2 (en) * | 2004-09-30 | 2009-02-17 | International Business Machines Corporation | Model and system for reasoning with N-step lookahead in policy-based system management |
US20060184482A1 (en) * | 2005-02-14 | 2006-08-17 | Manyworlds, Inc. | Adaptive decision process |
US20070299802A1 (en) * | 2007-03-31 | 2007-12-27 | Mitchell Kwok | Human Level Artificial Intelligence Software Application for Machine & Computer Based Program Function |
-
2008
- 2008-04-10 KR KR1020127015797A patent/KR101358477B1/ko not_active IP Right Cessation
- 2008-04-10 KR KR1020107024684A patent/KR101261148B1/ko not_active IP Right Cessation
- 2008-04-10 EP EP08745458A patent/EP2266077A1/en not_active Withdrawn
- 2008-04-10 CA CA2719494A patent/CA2719494C/en not_active Expired - Fee Related
- 2008-04-10 AU AU2008353981A patent/AU2008353981B2/en not_active Ceased
- 2008-04-10 US US12/100,782 patent/US8452448B2/en active Active
- 2008-04-10 WO PCT/US2008/059856 patent/WO2009123650A1/en active Application Filing
-
2010
- 2010-10-03 IL IL208369A patent/IL208369A/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6763282B2 (en) | 2001-06-04 | 2004-07-13 | Time Domain Corp. | Method and system for controlling a robot |
US20040243281A1 (en) | 2002-03-15 | 2004-12-02 | Masahiro Fujita | Robot behavior control system, behavior control method, and robot device |
Also Published As
Publication number | Publication date |
---|---|
IL208369A0 (en) | 2010-12-30 |
AU2008353981B2 (en) | 2013-01-31 |
KR20120087990A (ko) | 2012-08-07 |
CA2719494A1 (en) | 2009-10-08 |
CA2719494C (en) | 2015-12-01 |
US20090254217A1 (en) | 2009-10-08 |
KR20110000689A (ko) | 2011-01-04 |
AU2008353981A1 (en) | 2009-10-08 |
EP2266077A1 (en) | 2010-12-29 |
KR101261148B1 (ko) | 2013-05-06 |
WO2009123650A1 (en) | 2009-10-08 |
US8452448B2 (en) | 2013-05-28 |
IL208369A (en) | 2015-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101358477B1 (ko) | 로보틱스 시스템 | |
US9327403B2 (en) | Advanced behavior engine | |
CN113011828B (zh) | 更新或重新训练并更新动态人工智能/机器学习模型 | |
US10318871B2 (en) | Method and apparatus for building an intelligent automated assistant | |
US9767794B2 (en) | Dialog flow management in hierarchical task dialogs | |
CN110998567A (zh) | 用于对话语义分析的知识图谱 | |
CN107407918A (zh) | 利用app扩展可编程逻辑控制器 | |
JP2005515903A (ja) | ロボット用センサおよびアクチュエータのハードウェア抽象化層内における抽象化および集合化 | |
CN112384908A (zh) | 提供低延迟搜索查询响应的数据存储系统 | |
US10700935B1 (en) | Automatic configuration and operation of complex systems | |
JP2020177671A (ja) | デジタルツインによるモデリング | |
Benjamin et al. | Autonomy for unmanned marine vehicles with MOOS-IvP | |
Maaß et al. | Open modular robot control architecture for assembly using the task frame formalism | |
Dal Moro et al. | Developing BDI-based robotic systems with ROS2 | |
Calisi et al. | Design choices for modular and flexible robotic software development: the OpenRDK viewpoint | |
US20200004567A1 (en) | Server computer execution of client executable code | |
Butler et al. | Object‐oriented design of the subsumption architecture | |
US12001889B2 (en) | Forecasting and reporting available access times of physical resources | |
Sharma | Dynamic resource management schemes for containerized deep learning applications | |
Dennemont et al. | 3D interaction assistance in virtual reality: a semantic reasoning engine for context-awareness | |
Nishihara | On Systems and Algorithms for Distributed Machine Learning | |
Lundell et al. | An agent-based heterogeneous UAV simulator design | |
Zutell | Development of the Hierarchical Finite State Machine Behavior Tree Hybrid (HFSMBTH) in ROS 2 with Applications to Robot Navigation | |
Terwijn et al. | Selecting Middleware for the Intelligent Autonomous Systems Group | |
Martin et al. | Control ad libitum: an approach to real-time construction of control systems for unstructured robotic teams |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
PA0104 | Divisional application for international application |
Comment text: Divisional Application for International Patent Patent event code: PA01041R01D Patent event date: 20120618 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20121213 Comment text: Request for Examination of Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20130311 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20131029 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20140127 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20140127 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20170102 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20170102 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180103 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20180103 Start annual number: 5 End annual number: 5 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20191107 |