KR20210069547A - Robot and method for controlling thereof - Google Patents

Robot and method for controlling thereof Download PDF

Info

Publication number
KR20210069547A
KR20210069547A KR1020200090526A KR20200090526A KR20210069547A KR 20210069547 A KR20210069547 A KR 20210069547A KR 1020200090526 A KR1020200090526 A KR 1020200090526A KR 20200090526 A KR20200090526 A KR 20200090526A KR 20210069547 A KR20210069547 A KR 20210069547A
Authority
KR
South Korea
Prior art keywords
information
action
robot
action plan
stored
Prior art date
Application number
KR1020200090526A
Other languages
Korean (ko)
Inventor
이영운
장준호
이준규
정원국
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US17/072,832 priority Critical patent/US20210162593A1/en
Priority to EP20896494.0A priority patent/EP4013579B1/en
Priority to CN202080079275.2A priority patent/CN114761185A/en
Priority to PCT/KR2020/014457 priority patent/WO2021112401A1/en
Publication of KR20210069547A publication Critical patent/KR20210069547A/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • 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/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed

Landscapes

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

Abstract

A robot capable of adaptively selecting an action plan according to context and performing an operation corresponding to the action plan is disclosed. The robot according to the present disclosure includes a driving unit and a processor. When an event for performing an operation occurs, the processor acquires target information corresponding to the operation and context information related to the robot; based on at least one of the target information and the context information, selects one of first to third action plans, the first action plan for performing an operation according to pre-stored action information, the second action plan for performing an operation according to action information generated based on the context information, and the third action plan for performing an operation according to action information trained with operation patterns of the robot; and obtains action information based on the selected action plan.

Description

로봇 및 그 제어 방법{ROBOT AND METHOD FOR CONTROLLING THEREOF}ROBOT AND METHOD FOR CONTROLLING THEREOF

본 개시는 로봇 및 그 제어 방법으로, 보다 상세하게는, 상황에 따라 적응적으로 액션 플랜을 선택하고 선택된 액션 플랜에 대응되는 동작을 수행하는 로봇 및 그 제어 방법에 관한 것이다.The present disclosure relates to a robot and a control method thereof, and more particularly, to a robot that adaptively selects an action plan according to a situation and performs an operation corresponding to the selected action plan, and a control method thereof.

최근 전자 기술의 발달에 힘입어, 로봇 청소기를 비롯한 다양한 로봇을 일상생활에서 이용하려는 연구가 활발히 진행되고 있다. 일상생활에서 로봇을 이용하기 위해서는, 로봇이 돌발 상황이나 기타 여러 상황에 따라 적응적으로 동작을 수행할 수 있어야 한다. 기존의 로봇은 미리 정해 놓은 순서에 따라 동작을 수행하며, 이러한 방식에 따르면 로봇은 주변의 상황에 따라 적응적으로 동작을 수행할 수 없으므로 작업의 효율성이 떨어지는 문제가 있었다. 이에 따라, 컨텍스트 정보를 바탕으로 적응적으로 동작을 수행할 수 있는 로봇에 대한 기술의 필요성이 대두된다.Recently, thanks to the development of electronic technology, research to use various robots including robot vacuum cleaners in daily life is being actively conducted. In order to use a robot in daily life, the robot must be able to adaptively perform actions according to unexpected situations or other various situations. Existing robots perform operations according to a predetermined sequence, and according to this method, the robot cannot adaptively perform operations according to the surrounding conditions, so there is a problem in the efficiency of work. Accordingly, there is a need for a technology for a robot capable of adaptively performing an operation based on context information.

본 발명이 해결하고자 하는 일 기술적 과제는, 상황에 따라 적응적으로 액션 플랜을 선택하여 선택된 액션 플랜에 대응되는 동작을 수행할 수 있는 로봇을 제공하는 것이다.One technical problem to be solved by the present invention is to provide a robot capable of adaptively selecting an action plan according to a situation and performing an operation corresponding to the selected action plan.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 일 실시 예에 따르면, 로봇에 있어서, 상기 로봇을 이동시키기 위한 주행부; 적어도 하나의 인스트럭션을 저장하는 메모리; 및 프로세서;를 포함하고, 상기 프로세서는, 동작을 수행하기 위한 이벤트가 발생되면, 상기 동작에 대응되는 목표 정보 및 상기 로봇과 관련된 컨텍스트 정보를 획득하고, 상기 목표 정보 및 상기 컨텍스트 정보 중 적어도 하나를 바탕으로, 상기 메모리에 기 저장된 액션 정보에 따라 동작을 수행하는 제1 액션 플랜, 상기 컨텍스트 정보를 바탕으로 생성된 액션 정보에 따라 동작을 수행하는 제2 액션 플랜 및 상기 로봇의 동작 패턴을 바탕으로 학습된 액션 정보에 따라 동작을 수행하는 제3 액션 플랜 중 하나를 선택하고, 상기 선택된 액션 플랜을 바탕으로 적어도 하나의 액션 정보를 획득하고, 상기 획득된 적어도 하나의 액션 정보를 바탕으로 상기 목표 정보에 대응되는 동작을 수행하도록 상기 주행부를 제어하는 로봇이 제공될 수 있다.According to an exemplary embodiment of the present disclosure for solving the above-described technical problem, in a robot, a traveling unit for moving the robot; a memory storing at least one instruction; and a processor, wherein when an event for performing an operation occurs, the processor acquires target information corresponding to the operation and context information related to the robot, and receives at least one of the target information and the context information. Based on the first action plan for performing an action according to the action information pre-stored in the memory, a second action plan for performing the action according to the action information generated based on the context information, and an operation pattern of the robot Selects one of the third action plans for performing an action according to the learned action information, obtains at least one action information based on the selected action plan, and obtains the target information based on the obtained at least one action information A robot that controls the driving unit to perform an operation corresponding to may be provided.

상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 다른 일 실시 예에 따르면, 로봇의 제어 방법에 있어서, 동작을 수행하기 위한 이벤트가 발생되면, 상기 동작에 대응되는 목표 정보 및 상기 로봇과 관련된 컨텍스트 정보를 획득하는 단계; 상기 목표 정보 및 상기 컨텍스트 정보 중 적어도 하나를 바탕으로 기 저장된 액션 정보에 따라 동작을 수행하는 제1 액션 플랜, 상기 컨텍스트 정보를 바탕으로 생성된 액션 정보에 따라 동작을 수행하는 제2 액션 플랜 및 상기 로봇의 동작 패턴을 바탕으로 학습된 액션 정보에 따라 동작을 수행하는 제3 액션 플랜 중 하나를 선택하는 단계; 상기 선택된 액션 플랜을 바탕으로 적어도 하나의 액션 정보를 획득하는 단계; 및 상기 획득된 적어도 하나의 액션 정보를 바탕으로 상기 목표 정보에 대응되는 동작을 수행하는 단계;를 포함하는 제어 방법이 제공될 수 있다.According to another exemplary embodiment of the present disclosure for solving the above-described technical problem, in a method for controlling a robot, when an event for performing an operation occurs, target information corresponding to the operation and a context related to the robot obtaining information; A first action plan for performing an operation according to pre-stored action information based on at least one of the target information and the context information, a second action plan for performing an operation according to the action information generated based on the context information, and the selecting one of the third action plans for performing an action according to the action information learned based on the action pattern of the robot; obtaining at least one piece of action information based on the selected action plan; and performing an operation corresponding to the target information based on the obtained at least one action information.

본 개시의 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The solutions of the problems of the present disclosure are not limited to the above-described solutions, and solutions that are not mentioned will be clearly understood by those of ordinary skill in the art to which the present disclosure belongs from the present specification and the accompanying drawings. will be able

이상과 같은 본 개시의 다양한 실시 예에 따르면, 로봇은 상황에 따라 적응적으로 액션 플랜을 선택하여 선택된 액션 플랜에 대응되는 동작을 수행할 수 있다. 이에 따라, 사용자 편의성 및 만족도가 향상될 수 있다.According to various embodiments of the present disclosure as described above, the robot may adaptively select an action plan according to a situation and perform an operation corresponding to the selected action plan. Accordingly, user convenience and satisfaction may be improved.

그 외에 본 개시의 실시 예로 인하여 얻을 수 있거나 예측되는 효과에 대해서는 본 개시의 실시 예에 대한 상세한 설명에서 직접적 또는 암시적으로 개시하도록 한다. 예컨대, 본 개시의 실시 예에 따라 예측되는 다양한 효과에 대해서는 후술될 상세한 설명 내에서 개시될 것이다.In addition, the effects obtainable or predicted by the embodiments of the present disclosure are to be disclosed directly or implicitly in the detailed description of the embodiments of the present disclosure. For example, various effects predicted according to embodiments of the present disclosure will be disclosed in the detailed description to be described later.

도 1은 본 개시의 일 실시 예에 따른 로봇의 제어 방법에 대한 컨셉을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 프로세서의 각 모듈을 도시한 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 제1 액션 플랜에 대응되는 액션 정보를 획득하는 상황을 도시한 도면이다.
도 4a는 본 개시의 일 실시 예에 따른 제2 액션 플랜에 대응되는 액션 정보를 획득하는 상황을 도시한 도면이다.
도 4b는 본 개시의 다른 일 실시 예에 따른 제2 액션 플랜에 대응되는 액션 정보를 획득하는 상황을 도시한 도면이다.
도 4c는 본 개시의 일 실시 예에 따른 룩-업 테이블이다.
도 5a는 본 개시의 일 실시 예에 따른 로봇의 제어 방법을 도시한 순서도이다.
도 5b는 본 개시의 일 실시 예에 따른 액션 플랜 선택 방법을 도시한 순서도이다.
도 6은 본 개시의 일 실시 예에 따른 로봇의 구성을 도시한 블록도이다.
1 is a view for explaining a concept of a method for controlling a robot according to an embodiment of the present disclosure.
2 is a block diagram illustrating each module of a processor according to an embodiment of the present disclosure.
3 is a diagram illustrating a situation in which action information corresponding to a first action plan is obtained according to an embodiment of the present disclosure.
4A is a diagram illustrating a situation in which action information corresponding to a second action plan is obtained according to an embodiment of the present disclosure.
4B is a diagram illustrating a situation in which action information corresponding to a second action plan is obtained according to another embodiment of the present disclosure.
4C is a look-up table according to an embodiment of the present disclosure.
5A is a flowchart illustrating a method for controlling a robot according to an embodiment of the present disclosure.
5B is a flowchart illustrating a method for selecting an action plan according to an embodiment of the present disclosure.
6 is a block diagram illustrating a configuration of a robot according to an embodiment of the present disclosure.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다. Terms used in this specification will be briefly described, and the present disclosure will be described in detail.

본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.Terms used in the embodiments of the present disclosure are selected as currently widely used general terms as possible while considering the functions in the present disclosure, which may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, etc. . In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding disclosure. Therefore, the terms used in the present disclosure should be defined based on the meaning of the term and the contents of the present disclosure, rather than the simple name of the term.

본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Embodiments of the present disclosure may apply various transformations and may have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the scope of the specific embodiments, and it should be understood to include all transformations, equivalents and substitutions included in the spirit and scope of the disclosed technology. In describing the embodiments, if it is determined that a detailed description of a related known technology may obscure the subject matter, the detailed description thereof will be omitted.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as "comprises" or "consisting of" are intended to designate that the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification exist, and are intended to indicate that one or more other It is to be understood that this does not preclude the possibility of addition or presence of features or numbers, steps, operations, components, parts, or combinations thereof.

아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, embodiments of the present disclosure will be described in detail so that those of ordinary skill in the art can easily implement them. However, the present disclosure may be implemented in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present disclosure in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

도 1은 본 개시의 일 실시 예에 따른 로봇의 제어 방법에 대한 컨셉을 설명하기 위한 도면이다.1 is a view for explaining a concept of a method for controlling a robot according to an embodiment of the present disclosure.

로봇(100)은 동작을 수행하기 위한 이벤트를 감지할 수 있다. 일 예로, 로봇(100)은 특정 위치(1)로 이동하는 동작을 수행하기 위한 이벤트를 감지할 수 있다. 구체적으로, 로봇(100)은 로봇(100)에 구비된 배터리의 잔량이 임계값 이하로 떨어지는 이벤트를 감지할 수 있다. 또는, 로봇(100)은 특정 위치(1)로 이동하라는 사용자의 명령을 획득하는 이벤트를 감지할 수 있다. 다른 예로, 로봇(100)은 주행을 정지하기 위한 이벤트를 감지할 수 있다. 구체적으로, 로봇(100)은 로봇(100)으로부터 임계 거리 이내에 오브젝트(11)가 위치하는 이벤트를 감지할 수 있다.The robot 100 may detect an event for performing an operation. As an example, the robot 100 may detect an event for performing an operation to move to a specific location (1). Specifically, the robot 100 may detect an event in which the remaining amount of the battery provided in the robot 100 falls below a threshold value. Alternatively, the robot 100 may detect an event of obtaining a user's command to move to a specific location 1 . As another example, the robot 100 may detect an event for stopping driving. Specifically, the robot 100 may detect an event in which the object 11 is located within a threshold distance from the robot 100 .

이와 같이 동작을 수행하기 위한 이벤트가 감지되면, 로봇(100)은 동작에 대응되는 목표 정보 및 로봇(100)과 관련된 컨텍스트 정보를 획득할 수 있다. 여기서, 목표 정보란, 로봇(100)이 특정 동작을 통해 도달해야되는 로봇(100)의 특정 상태에 관한 정보를 의미한다. 예를 들어, 목표 정보는 로봇(100)이 충전소(charging station)(1)에 위치하게되는 상태에 관한 정보(예로, 충전소의 위치 정보)가 될 수 있다. 한편, 로봇(100)과 관련된 컨텍스트 정보는, 로봇(100) 및 로봇(100) 주변의 상황에 대한 정보를 포함할 수 있다. 예를 들어, 컨텍스트 정보는 로봇(100)의 배터리 잔량에 대한 정보, 로봇(100)의 주변에 존재하는 장애물의 개수나 밀집도에 대한 정보, 로봇(100)의 현재 위치에 대한 정보, 로봇(100)의 현재 위치로부터 목적지까지의 거리에 대한 정보, 현재 시간에 대한 정보 및 현재 날짜(또는 요일)에 대한 정보 중 적어도 하나를 포함할 수 있다.When the event for performing the motion is detected as described above, the robot 100 may acquire target information corresponding to the motion and context information related to the robot 100 . Here, the target information means information about a specific state of the robot 100 to which the robot 100 must reach through a specific operation. For example, the target information may be information about a state in which the robot 100 is located at the charging station 1 (eg, location information of the charging station). Meanwhile, context information related to the robot 100 may include information about the robot 100 and a situation around the robot 100 . For example, the context information includes information on the remaining battery level of the robot 100 , information on the number or density of obstacles existing in the vicinity of the robot 100 , information on the current location of the robot 100 , and the robot 100 . ) may include at least one of information on the distance from the current location to the destination, information on the current time, and information on the current date (or day of the week).

로봇(100)은 획득된 목표 정보 및 컨텍스트 정보에 기초하여 액션 플랜을 선택할 수 있다. 액션 플랜이란, 로봇(100)이 소정의 동작을 수행하기 위한 액션 정보의 리스트를 의미한다. 액션 플랜은 여러 유형의 액션 플랜을 가질 수 있다. 예로, 액션 플랜은 기 저장된 액션 정보에 따라 동작을 수행하는 제1 액션 플랜, 컨텍스트를 바탕으로 생성된 액션 정보에 따라 동작을 수행하는 제2 액션 플랜, 로봇(100)의 동작 패턴을 바탕으로 학습된 액션 정보에 따라 동작을 수행하는 제3 액션 플랜을 포함할 수 있다. The robot 100 may select an action plan based on the acquired target information and context information. The action plan means a list of action information for the robot 100 to perform a predetermined operation. An action plan can have several types of action plans. For example, the action plan is a first action plan that performs an action according to pre-stored action information, a second action plan that performs an action according to action information generated based on a context, and learning based on an action pattern of the robot 100 . A third action plan for performing an action according to the completed action information may be included.

제1 액션 플랜은 제조자 또는 사용자에 의해 미리 정해진 액션 정보를 포함하며, 로봇(100)에 미리 저장되어 있을 수 있다. 특히, 제1 액션 플랜은 안전과 관련된 액션 정보로서, 긴급 상황 시 주행을 중단하기 위한 액션 정보 등을 포함할 수 있다. 제1 액션 플랜은 로봇(100)의 최초 설치 시 로봇(100)에 저장되는 액션 정보를 포함할 수 있다. 또는, 제1 액션 플랜은 외부로부터 인증된 장치로부터 수신될 수 있다. The first action plan includes action information predetermined by a manufacturer or a user, and may be stored in advance in the robot 100 . In particular, the first action plan is action information related to safety, and may include action information for stopping driving in an emergency situation. The first action plan may include action information stored in the robot 100 when the robot 100 is initially installed. Alternatively, the first action plan may be received from an externally authenticated device.

제2 액션 플랜은 목표 정보 및 컨텍스트 정보 중 적어도 하나를 바탕으로 로봇(100)에 의해 생성되는 액션 정보를 포함할 수 있다. 예로, 로봇(100)은 미리 학습된 신경망 모델에 목표 정보 및 컨텍스트 정보를 입력하여 액션 정보를 생성할 수 있다. 그리고, 로봇(100)은 생성된 액션 정보 및 이에 대응되는 패드백 정보를 저장할 수 있다.The second action plan may include action information generated by the robot 100 based on at least one of target information and context information. For example, the robot 100 may generate action information by inputting target information and context information to a pre-trained neural network model. In addition, the robot 100 may store the generated action information and padback information corresponding thereto.

제3 액션 플랜은 로봇의 동작 패턴을 바탕으로 학습된 액션 정보에 따라 동작을 수행하는 액션 플랜을 의미한다. 제3 액션 플랜은 제2 액션 플랜에 해당하는 액션 정보 중 적어도 하나의 액션 정보를 포함할 수 있다. 특히, 제3 액션 플랜은 제2 액션 플랜에 대응되는 동작이 수행됨에 따라 누적된 데이터를 바탕으로 획득될 수 있다. 예를 들어, 제3 액션 플랜은 제2 액션 플랜에 포함되는 액션 정보 중 현재 목표 정보 및 현재 컨텍스트 정보에 대응되는 액션 정보를 포함하도록 선택될 수 있다. 이 때, 제3 액션 플랜은 목표 정보, 컨텍스트 정보 및 액션 정보가 매칭된 룩-업 테이블(look-up table)을 바탕으로 획득될 수 있다. The third action plan refers to an action plan that performs an action according to action information learned based on the action pattern of the robot. The third action plan may include at least one piece of action information among action information corresponding to the second action plan. In particular, the third action plan may be obtained based on data accumulated as an operation corresponding to the second action plan is performed. For example, the third action plan may be selected to include action information corresponding to current target information and current context information among the action information included in the second action plan. In this case, the third action plan may be obtained based on a look-up table in which target information, context information, and action information are matched.

한편, 본 개시에서는 제1 액션 플랜을 정적 플랜(static plan)으로, 제2 액션 플랜을 동적 플랜(dynamic plan)으로, 제3 액션 플랜을 패턴 플랜(pattern plan)으로 각각 지칭하기도 한다. Meanwhile, in the present disclosure, the first action plan is referred to as a static plan, the second action plan is referred to as a dynamic plan, and the third action plan is also referred to as a pattern plan.

로봇(100)은 획득된 목표 정보가 기 저장된 목표 정보에 대응되면, 제1 액션 플랜을 선택할 수 있다. 예를 들어, 주행을 중단하는 목표 정보가 획득되면, 로봇(100)은 제1 액션 플랜을 선택하고, 제1 액션 플랜을 바탕으로 액션 정보(즉, 주행 중단에 대한 액션 정보)를 획득할 수 있다. 그리고, 로봇(100)은 획득된 액션 정보를 바탕으로 목표 정보에 대응되는 동작(즉, 주행 중단)을 수행할 수 있다. 이와 같이, 획득된 목표 정보가 기 저장된 목표 정보에 대응되면, 로봇(100)은 새로운 액션 정보를 생성하는 것이 아니라, 미리 정해진 액션 정보를 바탕으로 동작할 수 있다. 이에 따라, 로봇(100)은 신속하게 미리 정해진 동작을 수행할 수 있다.The robot 100 may select the first action plan when the acquired target information corresponds to the pre-stored target information. For example, when target information to stop driving is obtained, the robot 100 may select a first action plan and obtain action information (ie, action information about stopping driving) based on the first action plan. have. In addition, the robot 100 may perform an operation corresponding to the target information (ie, stop driving) based on the acquired action information. As such, when the acquired target information corresponds to the pre-stored target information, the robot 100 may operate based on predetermined action information, rather than generating new action information. Accordingly, the robot 100 can quickly perform a predetermined operation.

획득된 목표 정보(충전소(1)로 이동하는 목표 정보)가 기 저장된 목표 정보에 대응되지 않으면, 로봇(100)은 제2 액션 플랜 또는 제3 액션 플랜을 선택할 수 있다. 이 때, 로봇(100)은 컨텍스트 정보에 대응되는 제3 액션 플랜이 로봇(100)에 저장되어있는 지 여부를 식별할 수 있다. 컨텍스트 정보에 대응되는 제3 액션 플랜이 로봇(100)에 저장되어 있으면, 로봇(100)은 저장된 제3 액션 플랜을 선택할 수 있다. 반면에, 컨텍스트 정보에 대응되는 제3 액션 플랜이 로봇(100)에 저장되어 있지 않으면, 로봇(100)은 제2 액션 플랜을 선택할 수 있다. 예를 들어, 로봇(100)의 현재 위치 및 현재 시간에 대응되는 액션 정보가 로봇(100)에 저장되어 있으면, 로봇(100)은 제3 액션 플랜을 선택하고 제3 액션 플랜에 해당하는 저장된 액션 정보를 바탕으로 충전소(1)로 이동할 수 있다. 이 때, 로봇(100)은 새로운 액션 정보를 생성할 필요가 없으므로, 신속하게 충전소(1)로 이동할 수 있다. If the acquired target information (target information moving to the charging station 1) does not correspond to the pre-stored target information, the robot 100 may select the second action plan or the third action plan. At this time, the robot 100 may identify whether the third action plan corresponding to the context information is stored in the robot 100 . If the third action plan corresponding to the context information is stored in the robot 100 , the robot 100 may select the stored third action plan. On the other hand, if the third action plan corresponding to the context information is not stored in the robot 100 , the robot 100 may select the second action plan. For example, if action information corresponding to the current position and the current time of the robot 100 is stored in the robot 100, the robot 100 selects the third action plan and the stored action corresponding to the third action plan. You can move to the charging station 1 based on the information. At this time, since the robot 100 does not need to generate new action information, it can quickly move to the charging station 1 .

반면에, 로봇(100)의 현재 위치 및 현재 시간에 대응되는 액션 정보가 로봇(100)에 저장되어 있지 않으면, 로봇(100)은 제2 액션 플랜을 선택할 수 있다. 그리고, 로봇(100)은 획득된 목표 정보 및 컨텍스트 정보를 바탕으로 제2 액션 플랜에 대응되는 액션 정보를 획득할 수 있다. 예를 들어, 로봇(100)은 획득된 목표 정보 및 컨텍스트 정보를 학습된 신경망 모델에 입력하여 제2 액션 플랜에 대응되는 액션 정보를 획득할 수 있다. 즉, 로봇(100)은 충전소(1)로 이동하기 위한 액션 정보를 생성할 수 있다.On the other hand, if the action information corresponding to the current position and the current time of the robot 100 is not stored in the robot 100 , the robot 100 may select the second action plan. In addition, the robot 100 may acquire action information corresponding to the second action plan based on the acquired target information and context information. For example, the robot 100 may acquire action information corresponding to the second action plan by inputting the acquired target information and context information into the learned neural network model. That is, the robot 100 may generate action information for moving to the charging station 1 .

한편, 로봇(100)은 저장된 제3 액션 플랜을 업데이트할 수 있다. 로봇(100)은 수행되는 동작에 대응되는 액션 정보에 대한 피드백 정보를 저장할 수 있다. 여기서, 패드백 정보는 수행된 동작에 대응되는 액션 정보를 평가하기 위한 지표를 포함하며, 액션 정보에 대응되는 비용 값(cost value)을 의미할 수 있다. 로봇(100)은 최근에 수행된 동작에 대응되는 액션 정보에 대한 피드백 정보를 획득할 수 있다. 그리고, 로봇(100)은 획득된 피드백 정보 및 기 저장된 제3 액션 플랜에 대응되는 액션 정보에 대한 피드백 정보를 바탕으로 기 저장된 액션 정보를 업데이트할 수 있다. 예를 들어, 획득된 비용 값이 기 저장된 비용 값보다 작으면, 로봇(100)은 기 저장된 액션 정보를 최근에 수행된 동작에 대응되는 액션 정보로 업데이트할 수 있다. 이에 따라, 로봇(100)은 보다 효율적으로 목표 정보에 대응되는 동작을 수행할 수 있다.Meanwhile, the robot 100 may update the stored third action plan. The robot 100 may store feedback information on action information corresponding to the performed operation. Here, the padback information includes an index for evaluating the action information corresponding to the performed action, and may mean a cost value corresponding to the action information. The robot 100 may obtain feedback information on action information corresponding to a recently performed action. Then, the robot 100 may update the pre-stored action information based on the obtained feedback information and the feedback information on the action information corresponding to the pre-stored third action plan. For example, if the obtained cost value is smaller than the pre-stored cost value, the robot 100 may update the pre-stored action information with action information corresponding to the recently performed action. Accordingly, the robot 100 may more efficiently perform an operation corresponding to the target information.

이하에서는 로봇(100)의 프로세서를 구성하는 각 모듈에 대하여 설명하도록 한다.Hereinafter, each module constituting the processor of the robot 100 will be described.

도 2는 본 개시의 일 실시 예에 따른 프로세서의 각 모듈을 도시한 블록도이다. 로봇(100)은 프로세서(160)를 포함하며, 프로세서(160)는 컨텍스트 정보 획득 모듈(161), 목표 정보 획득 모듈(162), 액션 플랜 선택 모듈(163), 액션 정보 획득 모듈(164), 액션 정보 전송 모듈(165) 및 액션 정보 관리 모듈(166)을 포함할 수 있다.2 is a block diagram illustrating each module of a processor according to an embodiment of the present disclosure. The robot 100 includes a processor 160, and the processor 160 includes a context information acquisition module 161, a target information acquisition module 162, an action plan selection module 163, an action information acquisition module 164, It may include an action information transmission module 165 and an action information management module 166 .

컨텍스트 정보 획득 모듈(161)은 로봇(100)과 관련된 컨텍스트 정보를 획득할 수 있다. 이 때, 컨텍스트 정보 획득 모듈(161)은 로봇(100)에 구비된 센서를 통해 획득되는 데이터를 바탕으로 컨텍스트 정보를 획득할 수 있다. 예를 들어, 컨텍스트 정보 획득 모듈(161)은 로봇(100)에 설치된 GPS 센서로부터 획득되는 데이터를 바탕으로 로봇(100)의 현재 위치 정보를 획득할 수 있다. 또는, 컨텍스트 정보 획득 모듈(161) 장애물 감지 센서로부터 획득되는 데이터를 바탕으로 로봇(100)의 주변에 존재하는 장애물의 개수나 밀집도에 대한 정보를 획득할 수 있다. 그 외에도, 컨텍스트 정보 획득 모듈(161)은 로봇(100)의 배터리 잔량에 대한 정보나 현재 시간에 대한 정보를 획득할 수 있다.The context information acquisition module 161 may acquire context information related to the robot 100 . In this case, the context information acquisition module 161 may acquire context information based on data acquired through a sensor provided in the robot 100 . For example, the context information acquisition module 161 may acquire current location information of the robot 100 based on data acquired from a GPS sensor installed in the robot 100 . Alternatively, information on the number or density of obstacles existing in the vicinity of the robot 100 may be acquired based on the data acquired from the context information acquisition module 161 obstacle detection sensor. In addition, the context information acquisition module 161 may acquire information on the remaining battery level of the robot 100 or information on the current time.

목표 정보 획득 모듈(162)은 컨텍스트 정보 획득 모듈(161)을 통해 획득된 로봇(100)과 관련된 컨텍스트 정보를 바탕으로 목표 정보를 획득할 수 있다. 예를 들어, 로봇(100)의 배터리의 잔량이 임계값 이하로 떨어지면, 목표 정보 획득 모듈(162)은 로봇(100)을 충전소로 이동시키기 위한 목표 정보를 획득할 수 있다. 한편, 목표 정보 획득 모듈(162)은 획득된 컨텍스트 정보를 학습된 신경망 모델에 입력하여 획득된 컨텍스트 정보에 대응되는 목표 정보를 추론할 수도 있다.The target information acquisition module 162 may acquire target information based on context information related to the robot 100 acquired through the context information acquisition module 161 . For example, when the remaining amount of the battery of the robot 100 falls below a threshold value, the target information acquisition module 162 may acquire target information for moving the robot 100 to a charging station. Meanwhile, the target information acquisition module 162 may input the acquired context information into the learned neural network model to infer target information corresponding to the acquired context information.

액션 플랜 선택 모듈(163)은 컨텍스트 정보 및 목표 정보 중 적어도 하나를 바탕으로 제1 액션 플랜, 제2 액션 플랜 및 제3 액션 플랜 중 하나를 선택할 수 있다. 획득된 목표 정보가 기 저장된 목표 정보에 대응되면, 액션 플랜 선택 모듈(163)은 제1 액션 플랜을 선택할 수 있다. 반면에, 획득된 목표 정보가 기 저장된 목표 정보에 대응되지 않으면, 액션 플랜 선택 모듈(163)은 제2 액션 플랜 및 제3 액션 플랜 중 하나를 선택할 수 있다. 이 때, 획득된 컨텍스트 정보에 대응되는 제3 액션 플랜이 로봇(100)에 저장되어 있으면, 액션 플랜 선택 모듈(163)은 저장된 제3 액션 플랜을 선택할 수 있다. 획득된 컨텍스트 정보에 대응되는 제3 액션 플랜이 로봇(100)에 저장되어 있지 않으면, 액션 플랜 선택 모듈(163)은 제2 액션 플랜을 선택할 수 있다.The action plan selection module 163 may select one of the first action plan, the second action plan, and the third action plan based on at least one of context information and target information. When the acquired target information corresponds to the pre-stored target information, the action plan selection module 163 may select the first action plan. On the other hand, if the acquired target information does not correspond to the pre-stored target information, the action plan selection module 163 may select one of the second action plan and the third action plan. At this time, if the third action plan corresponding to the obtained context information is stored in the robot 100 , the action plan selection module 163 may select the stored third action plan. If the third action plan corresponding to the obtained context information is not stored in the robot 100 , the action plan selection module 163 may select the second action plan.

액션 정보 획득 모듈(164)은 선택된 액션 플랜을 바탕으로 액션 정보를 획득할 수 있다. 제1 액션 플랜 및 제3 액션 플랜에 대응되는 액션 정보는 로봇(100)에 저장되어 있을 수 있다. 따라서, 제1 액션 플랜이 선택되면, 액션 정보 획득 모듈(164)은 로봇(100)에 저장된 제1 액션 플랜에 대응되는 액션 정보를 식별할 수 있다. 마찬가지로, 제3 액션 플랜이 선택되면, 액션 정보 획득 모듈(164)은 로봇(100)에 저장된 제3 액션 플랜에 대응되는 액션 정보를 식별할 수 있다. 이와 같이 제1 액션 플랜 및 제3 액션 플랜이 선택된 경우, 액션 정보를 생성하기 위한 시간이 소요되지 않으므로 목표 정보에 대응되는 동작이 보다 신속하게 수행될 수 있다. 반면에, 제2 액션 플랜이 선택되면, 액션 정보 획득 모듈(164)은 획득된 목표 정보 및 컨텍스트 정보를 학습된 신경망 모델에 입력하여 제2 액션 플랜에 대응되는 액션 정보를 생성할 수 있다. The action information obtaining module 164 may obtain action information based on the selected action plan. Action information corresponding to the first action plan and the third action plan may be stored in the robot 100 . Accordingly, when the first action plan is selected, the action information obtaining module 164 may identify action information corresponding to the first action plan stored in the robot 100 . Similarly, when the third action plan is selected, the action information obtaining module 164 may identify action information corresponding to the third action plan stored in the robot 100 . As described above, when the first action plan and the third action plan are selected, it does not take time to generate the action information, so that an operation corresponding to the target information can be performed more quickly. On the other hand, when the second action plan is selected, the action information obtaining module 164 may generate action information corresponding to the second action plan by inputting the obtained target information and context information into the learned neural network model.

액션 정보 전송 모듈(165)은 획득된 액션 정보를 로봇(100)에 구비된 여러 모듈로 전송할 수 있다. 예를 들어, 액션 정보 전송 모듈(165)은 액션 정보를 음성 인식 모듈로 전송할 수 있다.The action information transmission module 165 may transmit the acquired action information to various modules provided in the robot 100 . For example, the action information transmission module 165 may transmit the action information to the voice recognition module.

액션 정보 관리 모듈(166)은 제3 액션 플랜 즉, 패턴 플랜을 관리할 수 있다. 특히, 액션 정보 관리 모듈(166)은 피드백 정보를 바탕으로 저장된 액션 정보를 업데이트할 수 있다. 예를 들어, 액션 정보 획득 모듈(164)을 통해 새롭게 획득된 액션 정보에 대한 비용 값이 기 저장된 액션 정보에 대한 비용 값보다 작으면, 액션 정보 관리 모듈(166)은 기 저장된 액션 정보를 새롭게 획득된 액션 정보로 업데이트할 수 있다.The action information management module 166 may manage a third action plan, that is, a pattern plan. In particular, the action information management module 166 may update the stored action information based on the feedback information. For example, if the cost value for the action information newly acquired through the action information acquisition module 164 is smaller than the cost value for the pre-stored action information, the action information management module 166 newly acquires the pre-stored action information It can be updated with the action information.

또한, 액션 정보 관리 모듈(166)은 저장된 제3 액션 플랜에 대응되는 액션 정보에 대해 유효성 검사를 수행할 수 있다. 또는, 액션 정보 관리 모듈(166)은 저장된 액션 정보를 다른 외부 로봇과 공유할 수 있다.Also, the action information management module 166 may perform a validity check on action information corresponding to the stored third action plan. Alternatively, the action information management module 166 may share the stored action information with other external robots.

상술한 바와 같이, 복수의 모듈(161 내지 166)이 프로세서(160)에 위치할 수 있으나, 이에 한정되지 않고, 복수의 모듈(161 내지 166)이 메모리(110)에 위치할 수 있다. 복수의 모듈(161 내지 166)이 메모리(130)에 위치하는 경우, 프로세서(160)는 복수의 모듈(161 내지 166)을 비휘발성 메모리에서 휘발성 메모리로 로딩(loading)하여 복수의 모듈(161 내지 166)의 각 기능들을 실행할 수 있다. 로딩(loading)이란, 프로세서(160)가 액세스할 수 있도록 비휘발성 메모리에 저장된 데이터를 휘발성 메모리에 불러들여 저장하는 동작을 의미한다As described above, the plurality of modules 161 to 166 may be located in the processor 160 , but the present invention is not limited thereto, and the plurality of modules 161 to 166 may be located in the memory 110 . When the plurality of modules 161 to 166 are located in the memory 130 , the processor 160 loads the plurality of modules 161 to 166 from the non-volatile memory to the volatile memory, and the plurality of modules 161 to 166 are located in the volatile memory. 166) can be executed. Loading refers to an operation of loading and storing data stored in the non-volatile memory into the volatile memory so that the processor 160 can access it.

한편, 상술한 프로세서(160)의 각 모듈들은 소프트웨어로 구현되거나, 소프트웨어와 하드웨어가 결합된 형태로 구현될 수 있다.On the other hand, each module of the above-described processor 160 may be implemented in software or a combination of software and hardware.

이하에서는 본 개시의 여러 실시 예에 따른 액션 정보를 획득하는 동작에 대하여 설명하도록 한다.Hereinafter, an operation of acquiring action information according to various embodiments of the present disclosure will be described.

도 3은 본 개시의 일 실시 예에 따른 제1 액션 플랜에 대응되는 액션 정보를 획득하는 상황을 도시한 도면이다. 도 3을 참조하면, 로봇(100)이 주행하는 중에 로봇(100)으로부터 임계 거리 이내에 오브젝트(31)가 감지되는 이벤트가 발생할 수 있다. 이 때, 로봇(100)은 이벤트에 대응되는 목표 정보를 획득할 수 있다. 예를 들어, 로봇(100)은 '주행 정지'라는 목표 정보를 획득할 수 있다. 로봇(100)은 획득된 목표 정보가 기 저장된 목표 정보에 대응되는지 여부를 식별할 수 있다. 획득된 목표 정보가 기 저장된 목표 정보에 대응되면, 로봇(100)은 제1 액션 플랜 즉, 정적 플랜을 선택한다. 그리고, 로봇(100)은 기 저장된 목표 정보에 대응되는 기 저장된 액션 정보를 획득하고, 획득된 액션 정보를 바탕으로 동작할 수 있다. 즉, 로봇(100)은 주행을 정지할 수 있다. 이와 같이, 로봇(100)과 오브젝트(31)간의 충돌을 방지하기 위해 신속한 동작이 필요한 경우, 로봇(100)은 액션 정보를 생성하는게 아니라, 기 저장된 액션 정보를 이용하여 동작할 수 있다. 이에 따라, 안전 사고가 방지되며, 사용자 안전성이 향상될 수 있다.3 is a diagram illustrating a situation in which action information corresponding to a first action plan is obtained according to an embodiment of the present disclosure. Referring to FIG. 3 , an event in which the object 31 is detected within a threshold distance from the robot 100 may occur while the robot 100 is traveling. At this time, the robot 100 may acquire target information corresponding to the event. For example, the robot 100 may acquire target information of 'stop running'. The robot 100 may identify whether the acquired target information corresponds to pre-stored target information. When the acquired target information corresponds to the pre-stored target information, the robot 100 selects the first action plan, that is, the static plan. Then, the robot 100 may obtain pre-stored action information corresponding to the pre-stored target information, and operate based on the obtained action information. That is, the robot 100 may stop running. As such, when a quick operation is required to prevent a collision between the robot 100 and the object 31, the robot 100 may operate using pre-stored action information, rather than generating action information. Accordingly, a safety accident may be prevented, and user safety may be improved.

한편, 획득된 목표 정보가 기 저장된 목표 정보에 대응되지 않으면, 로봇(100)은 제2 액션 플랜 또는 제3 액션 플랜을 선택할 수 있다.Meanwhile, if the acquired target information does not correspond to the pre-stored target information, the robot 100 may select the second action plan or the third action plan.

도 4a는 본 개시의 일 실시 예에 따른 제2 액션 플랜에 대응되는 액션 정보를 획득하는 상황을 도시한 도면이다. 로봇(100)은 배터리 잔량이 임계값 이하로 떨어지는 이벤트를 감지할 수 있다. 이 때, 로봇(100)은 "충전소(1)로 이동"이라는 목표 정보를 획득할 수 있다. 그리고, 로봇(100)은 컨텍스트 정보를 획득할 수 있다. 예를 들어, 로봇(100)은 현재 위치에 대한 정보, 현재 날짜에 대한 정보 및 현재 시간에 대한 정보를 획득할 수 있다. 현재 위치에 대한 정보는, 로봇(100)의 현재 위치에 대한 지도 정보를 포함할 수 있다.4A is a diagram illustrating a situation in which action information corresponding to a second action plan is obtained according to an embodiment of the present disclosure. The robot 100 may detect an event in which the remaining battery level falls below a threshold value. At this time, the robot 100 may acquire target information of “moving to the charging station 1”. And, the robot 100 may acquire context information. For example, the robot 100 may acquire information on the current location, information on the current date, and information on the current time. The information on the current location may include map information on the current location of the robot 100 .

로봇(100)은 획득된 목표 정보 및 컨텍스트 정보를 바탕으로 제2 액션 플랜에 대응되는 액션 정보를 획득할 수 있다. 구체적으로, 로봇(100)은 획득된 목표 정보 및 컨텍스트 정보를 바탕으로 현재 위치로부터 목적지까지의 주행 경로를 생성할 수 있다. 그리고, 로봇(100)은 생성된 이동 경로를 통해 목적지로 이동하기 위한 액션 정보를 생성할 수 있다. 예를 들어, 현재 시간이 오전 7시인 경우, 로봇(100)은 현재 위치로부터 목적지까지 최단 경로인 제1 경로(R1)를 생성할 수 있다. 반면에, 현재 시간이 오후 1시인 경우, 로봇(100)은 제1 영역(A)을 우회하는 제2 경로(R2)를 생성할 수 있다. 즉, 제1 영역(A)에 오브젝트가 존재할 가능성이 높은 시간에, 로봇(100)은 제1 영역(A)을 우회하는 제2 경로(R2)를 생성할 수 있다. 다만, 이는 일 실시 예에 불과할 뿐, 로봇(100)은 다양한 컨텍스트 정보에 기초하여 주행 경로를 생성할 수 있다.The robot 100 may acquire action information corresponding to the second action plan based on the acquired target information and context information. Specifically, the robot 100 may generate a driving route from the current location to the destination based on the acquired target information and context information. In addition, the robot 100 may generate action information for moving to a destination through the generated movement path. For example, when the current time is 7:00 am, the robot 100 may generate a first path R1 that is the shortest path from the current location to the destination. On the other hand, when the current time is 1 pm, the robot 100 may generate a second path R2 that bypasses the first area A. That is, at a time when an object is highly likely to exist in the first area A, the robot 100 may generate a second path R2 that bypasses the first area A. However, this is only an example, and the robot 100 may generate a driving route based on various context information.

한편, 로봇(100)은 외부 장치 또는 외부 서버로부터 컨텍스트 정보를 획득하고, 획득된 컨텍스트 정보를 바탕으로 주행 경로를 생성할 수 있다. Meanwhile, the robot 100 may obtain context information from an external device or an external server, and may generate a driving route based on the obtained context information.

도 4b는 본 개시의 다른 일 실시 예에 따른 제2 액션 플랜에 대응되는 액션 정보를 획득하는 상황을 도시한 도면이다. 도 4b를 참조하면, 제1 경로(R1) 상에 위치하는 제1 영역(A)에 다수의 오브젝트(또는 장애물)가 존재할 수 있다. 로봇(100)은 외부 서버(200)로부터 제1 영역(A)에 대한 정보를 획득할 수 있다. 예를 들어, 로봇(100)은 제1 영역(A)을 촬영한 이미지 또는 제1 영역(A)에 존재하는 오브젝트의 개수에 대한 정보를 획득할 수 있다. 로봇(100)은 획득된 컨텍스트 정보를 바탕으로 제3 경로(R3)를 생성할 수 있다. 그리고, 로봇(100)은 제3 경로(R3)를 통해 충전소(1)로 이동할 수 있다.4B is a diagram illustrating a situation in which action information corresponding to a second action plan is obtained according to another embodiment of the present disclosure. Referring to FIG. 4B , a plurality of objects (or obstacles) may exist in the first area A located on the first path R1 . The robot 100 may obtain information about the first area A from the external server 200 . For example, the robot 100 may obtain an image obtained by photographing the first area A or information on the number of objects existing in the first area A. The robot 100 may generate the third path R3 based on the obtained context information. And, the robot 100 may move to the charging station 1 through the third path R3.

한편, 로봇(100)은 이와 같이 생성된 주행 경로, 주행 경로에 대응되는 액션 정보 및 피드백 정보(예를 들어, 이동 소요 시간)를 저장할 수 있다. 그리고, 로봇(100)은 저장된 정보가 일정한 패턴(또는 경향성)을 갖는 지 분석할 수 있다. 예를 들어, 로봇(100)은 액션 정보에 대한 피드백 정보와 액션 정보의 유사도를 바탕으로 저장된 액션 정보가 일정한 패턴을 갖는 지 분석할 수 있다. 저장된 액션 정보 중 일정한 패턴을 갖는 액션 정보가 존재하면, 로봇(100)은 일정한 패턴을 갖는 액션 정보를 저장할 수 있다. 예를 들어, 도 4c와 같이 목표 정보(goal), 컨텍스트 정보(context), 주행 경로(path), 액션 정보(action)가 매칭되어 룩-업 테이블(look-up table) 형태로 저장될 수 있다.Meanwhile, the robot 100 may store the generated travel route, action information corresponding to the travel route, and feedback information (eg, travel time required). And, the robot 100 may analyze whether the stored information has a certain pattern (or tendency). For example, the robot 100 may analyze whether the stored action information has a certain pattern based on the similarity between the feedback information for the action information and the action information. If there is action information having a predetermined pattern among the stored action information, the robot 100 may store action information having a predetermined pattern. For example, as shown in FIG. 4C , goal information, context information, driving path, and action information may be matched and stored in the form of a look-up table. .

그리고, 로봇(100)은 저장된 룩-업 테이블을 이용하여 목표 정보에 대응되는 동작을 수행할 수 있다. 즉, 로봇(100)은 목표 정보 및 컨텍스트 정보가 획득되면, 목표 정보 및 컨텍스트 정보에 대응되는 액션 정보가 로봇(100)에 저장되어 있는 지 여부를 식별할 수 있다. 목표 정보 및 컨텍스트 정보에 대응되는 액션 정보가 로봇(100)에 저장되어 있으면, 로봇(100)은 제3 액션 플랜을 선택할 수 있다. 즉, 로봇(100)은 획득된 목표 정보 및 컨텍스트 정보에 대응되는 기 저장된 액션 정보를 획득할 수 있다. 이와 같이, 로봇(100)은 생성된 액션 정보를 저장한 후 저장된 액션 정보를 이용함으로써 새로운 액션 정보를 생성하지 않고도 동작을 수행할 수 있다. 이에 따라, 액션 정보를 획득하기 위한 연산량이 줄어들 수 있다.In addition, the robot 100 may perform an operation corresponding to the target information by using the stored look-up table. That is, when the target information and the context information are obtained, the robot 100 may identify whether action information corresponding to the target information and the context information is stored in the robot 100 . When the action information corresponding to the target information and the context information is stored in the robot 100 , the robot 100 may select the third action plan. That is, the robot 100 may acquire pre-stored action information corresponding to the acquired target information and context information. As such, the robot 100 may perform an operation without generating new action information by using the stored action information after storing the generated action information. Accordingly, the amount of calculation for obtaining the action information may be reduced.

한편, 로봇(100)은 제3 액션 플랜에 대응되는 액션 정보를 업데이트할 수 있다. 예를 들어, 제3 경로(R3)의 비용값이 제2 경로(R2)의 비용값보다 작으면, 로봇(100)은 제2 경로(R2)에 대한 액션 정보를 삭제하고, 제3 경로(R3)에 대한 액션 정보를 저장하여 액션 정보를 업데이트할 수 있다.Meanwhile, the robot 100 may update action information corresponding to the third action plan. For example, if the cost value of the third path R3 is smaller than the cost value of the second path R2, the robot 100 deletes the action information on the second path R2, and the third path ( By storing the action information for R3), the action information can be updated.

도 5a는 본 개시의 일 실시 예에 따른 로봇의 제어 방법을 도시한 순서도이다.5A is a flowchart illustrating a method for controlling a robot according to an embodiment of the present disclosure.

로봇(100)은 동작을 수행하기 위한 이벤트가 발생되었는지 여부를 식별할 수 있다(S505). 이 때, 동작을 수행하기 위한 이벤트는 로봇(100)에 의해 감지될 수 있다. 또는, 로봇(100)은 사용자 또는 외부 서버로부터 이벤트 신호가 수신하여 이벤트 발생 여부를 식별할 수 있다. 동작을 수행하기 위한 이벤트가 발생되면, 로봇(100)은 동작에 대응되는 목표 정보 및 로봇과 관련된 컨텍스트 정보를 획득할 수 있다(S510). 여기서, 로봇(100)의 동작은 특정 위치로 이동하는 동작 및 주행을 정지하는 동작을 포함할 수 있다. 뿐만 아니라, 로봇(100)은 음성 및 영상을 출력하는 동작을 수행할 수 있으며, 이러한 동작은 로봇(100)이 주행하는 동안에도 수행될 수 있다. 한편, 로봇(100)은 센서를 통해 획득되는 정보를 바탕으로 동작을 수행하기 위한 이벤트를 감지할 수 있다. 또는, 로봇(100)은 통신 인터페이스를 통해 수신되는 명령 신호를 바탕으로 동작을 수행하기 위한 이벤트를 감지할 수 있다.The robot 100 may identify whether an event for performing an operation has occurred ( S505 ). In this case, the event for performing the operation may be detected by the robot 100 . Alternatively, the robot 100 may identify whether an event has occurred by receiving an event signal from a user or an external server. When an event for performing a motion occurs, the robot 100 may acquire target information corresponding to the motion and context information related to the robot ( S510 ). Here, the operation of the robot 100 may include an operation of moving to a specific position and an operation of stopping the driving. In addition, the robot 100 may perform an operation of outputting a voice and an image, and this operation may be performed while the robot 100 is traveling. Meanwhile, the robot 100 may detect an event for performing an operation based on information obtained through a sensor. Alternatively, the robot 100 may detect an event for performing an operation based on a command signal received through the communication interface.

로봇(100)은 목표 정보 및 컨텍스트 정보 중 적어도 하나를 바탕으로, 기저장된 액션 정보에 따라 동작을 수행하는 제1 액션 플랜, 컨텍스트를 바탕으로 생성된 액션 정보에 따라 동작을 수행하는 제2 액션 플랜, 로봇의 동작 패턴을 바탕으로 학습된 액션 정보에 따라 동작을 수행하는 제3 액션 플랜 중 하나를 선택할 수 있다(S520). 구체적으로, 도 5b를 참조하면, 로봇(100)은 획득된 목표 정보가 기저장된 목표 정보에 대응되는 지 여부를 식별할 수 있다(S521). 획득된 목표 정보가 기저장된 목표 정보에 대응되면, 로봇(100)은 제1 액션 플랜 즉, 정적 플랜을 선택할 수 있다. 획득된 목표 정보가 기저장된 목표 정보에 대응되지 않으면, 로봇(100)은 획득된 컨텍스트 정보에 대응되는 제3 액션 플랜이 로봇에 저장되어 있는 지 여부를 식별할 수 있다(S522). 획득된 컨텍스트 정보에 대응되는 액션 정보가 로봇(100)에 저장되어 있으면, 로봇(100)은 제3 액션 플랜을 선택할 수 있다. 획득된 컨텍스트 정보에 대응되는 액션 정보가 로봇(100)에 저장되어 있지 않으면, 로봇(100)은 제2 액션 플랜을 선택할 수 있다. The robot 100 has a first action plan that performs an action according to the pre-stored action information based on at least one of target information and context information, and a second action plan that performs an action according to the action information generated based on the context. , one of the third action plans for performing an action according to the action information learned based on the action pattern of the robot may be selected (S520). Specifically, referring to FIG. 5B , the robot 100 may identify whether the acquired target information corresponds to the pre-stored target information (S521). When the acquired target information corresponds to the pre-stored target information, the robot 100 may select the first action plan, that is, the static plan. If the acquired target information does not correspond to the pre-stored target information, the robot 100 may identify whether a third action plan corresponding to the acquired context information is stored in the robot (S522). If action information corresponding to the obtained context information is stored in the robot 100 , the robot 100 may select the third action plan. If the action information corresponding to the obtained context information is not stored in the robot 100, the robot 100 may select the second action plan.

로봇(100)은 선택된 액션 플랜을 바탕으로 적어도 하나의 액션 정보를 획득할 수 있다(S530). 제1 액션 플랜이 선택되면, 로봇(100)은 제1 액션 플랜에 대응되는 기 저장된 액션 정보를 획득할 수 있다. 제2 액션 플랜이 선택되면, 로봇(100)은 목표 정보 및 컨텍스트 정보를 바탕으로 액션 정보를 생성할 수 있다. 제3 액션 플랜이 선택되면, 로봇(100)은 제3 액션 플랜에 대응되는 기 저장된 액션 정보를 획득할 수 있다.The robot 100 may acquire at least one piece of action information based on the selected action plan ( S530 ). When the first action plan is selected, the robot 100 may acquire pre-stored action information corresponding to the first action plan. When the second action plan is selected, the robot 100 may generate action information based on target information and context information. When the third action plan is selected, the robot 100 may acquire pre-stored action information corresponding to the third action plan.

그리고 로봇(100)은 획득된 적어도 하나의 액션 정보를 바탕으로 목표 정보에 대응되는 동작을 수행할 수 있다(S540).In addition, the robot 100 may perform an operation corresponding to the target information based on the acquired at least one action information ( S540 ).

도 6은 본 개시의 일 실시 예에 따른 로봇의 구성을 도시한 블록도이다. 도 6을 참조하면, 로봇(100)은 센서(110), 배터리(120), 메모리(130), 주행부(140), 통신 인터페이스(150) 및 프로세서(160)를 포함할 수 있다.6 is a block diagram illustrating a configuration of a robot according to an embodiment of the present disclosure. Referring to FIG. 6 , the robot 100 may include a sensor 110 , a battery 120 , a memory 130 , a driving unit 140 , a communication interface 150 , and a processor 160 .

센서(110)는 로봇(100)이 동작을 수행하기 위한 이벤트를 감지할 수 있다. 예를 들어, 센서(110)는 로봇(100) 주변의 장애물을 감지하거나, 배터리(120)의 잔량에 대한 정보를 획득할 수 있다. 또한, 센서(110)는 컨텍스트 정보를 획득할 수 있다. 한편, 센서(110)는 카메라와 같은 이미지 센서, 거리 감지 센서, 배터리 잔량 감지 센서, GPS 센서를 포함할 수 있으나, 이에 한정되는 것은 아니다.The sensor 110 may detect an event for the robot 100 to perform an operation. For example, the sensor 110 may detect an obstacle around the robot 100 or obtain information about the remaining amount of the battery 120 . Also, the sensor 110 may acquire context information. Meanwhile, the sensor 110 may include, but is not limited to, an image sensor such as a camera, a distance detection sensor, a battery level detection sensor, and a GPS sensor.

배터리(120)는 로봇(100)의 동작에 요구되는 전력을 저장하는 구성이다. 예를 들어, 배터리(120)는 리튬-이온 배터리, 또는 캐패시터를 포함할 수 있으며, 충전식 또는 교환식일 수 있다.The battery 120 is configured to store power required for the operation of the robot 100 . For example, battery 120 may include a lithium-ion battery, or a capacitor, and may be rechargeable or replaceable.

메모리(130)는 로봇(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 로봇(100)의 구성요소와 관련된 명령 또는 데이터를 저장할 수 있다. 이를 위해 메모리(130)는 비휘발성 메모리(ex: 하드 디스크, SSD(Solid state drive), 플래시 메모리), 휘발성 메모리 등으로 구현될 수 있다. 메모리(130)는 목표 정보 및 컨텍스트 정보를 바탕으로 액션 정보를 획득하도록 학습된 신경망 모델을 저장할 수 있다. 특히, 신경망 모델은 기존의 범용 프로세서(예를 들어, CPU) 또는 별도의 AI 전용 프로세서(예를 들어, GPU, NPU 등)에 의해 실행될 수 있다. 한편, 메모리(130)는 목표 정보, 컨텍스트 정보 및 액션 정보를 저장할 수 있다. 예를 들어, 메모리(130)는 목표 정보, 컨텍스트 정보 및 액션 정보가 매칭된 룩업 테이블을 저장할 수 있다.The memory 130 may store an operating system (OS) for controlling overall operations of the components of the robot 100 and commands or data related to components of the robot 100 . To this end, the memory 130 may be implemented as a non-volatile memory (eg, a hard disk, a solid state drive (SSD), a flash memory), a volatile memory, or the like. The memory 130 may store a neural network model trained to acquire action information based on target information and context information. In particular, the neural network model may be executed by an existing general-purpose processor (eg, CPU) or a separate AI-only processor (eg, GPU, NPU, etc.). Meanwhile, the memory 130 may store target information, context information, and action information. For example, the memory 130 may store a lookup table in which target information, context information, and action information are matched.

주행부(140)는 로봇(100)을 이동시키기 위한 구성이다. 특히, 주행부(140)는 로봇(100)의 주행을 위한 액츄에이터(actuator)를 포함할 수 있다. 또한, 주행부(140) 이외에 로봇(100)의 다른 물리적 구성(예로, 암(arm) 등)의 모션을 구동하기 위한 액츄에이터가 포함될 수 있다. 예로, 로봇(100)은 센서(110)를 통해 감지된 사용자를 우회하여 이동하거나 움직이도록 액츄에이터를 제어할 수 있다.The traveling unit 140 is configured to move the robot 100 . In particular, the driving unit 140 may include an actuator for driving the robot 100 . In addition, an actuator for driving the motion of other physical components (eg, an arm, etc.) of the robot 100 other than the driving unit 140 may be included. For example, the robot 100 may control the actuator to move or move by bypassing the user sensed through the sensor 110 .

통신 인터페이스(150)는 적어도 하나의 회로를 포함하며 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 기기와 통신을 수행할 수 있다. 통신 인터페이스(150)는 와이파이(Wi-Fi)칩, 블루투스 칩을 포함할 수 있다. 로봇(100)은 통신 인터페이스(120)를 통해 외부 장치 또는 외부 서버와 통신을 수행할 수 있다.The communication interface 150 includes at least one circuit and may communicate with various types of external devices according to various types of communication methods. The communication interface 150 may include a Wi-Fi chip and a Bluetooth chip. The robot 100 may communicate with an external device or an external server through the communication interface 120 .

프로세서(160)는 로봇(100)의 전반적인 동작을 제어할 수 있다.The processor 160 may control the overall operation of the robot 100 .

도 2에서 전술한 바와 같이, 프로세서(160)는 컨텍스트 정보 획득 모듈(161), 목표 정보 획득 모듈(162), 액션 플랜 선택 모듈(163), 액션 정보 획득 모듈(164), 액션 정보 전송 모듈(165) 및 액션 정보 관리 모듈(166)을 포함할 수 있다.As described above in FIG. 2 , the processor 160 includes a context information acquisition module 161 , a target information acquisition module 162 , an action plan selection module 163 , an action information acquisition module 164 , an action information transmission module ( 165 ) and an action information management module 166 .

프로세서(160)는 동작을 수행하기 위한 이벤트가 발생되면, 동작에 대응되는 목표 정보 및 로봇과 관련된 컨텍스트 정보를 획득할 수 있다. 이 때, 프로세서(160)는 센서(110)를 통해 획득되는 데이터를 바탕으로 이벤트 발생 여부를 식별할 수 있다. 또는, 프로세서(160)는 통신 인터페이스(150)를 통해 수신되는 명령 신호를 바탕으로 이벤트 발생 여부를 식별할 수 있다. 한편, 프로세서(160)는 센서(110)를 이용하여 컨텍스트 정보를 획득할 수 있다. 또는, 프로세서(160)는 통신 인터페이스(150)를 통해 외부 서버로부터 컨텍스트 정보를 획득할 수 있다. 한편, 프로세서(150)는 컨텍스트 정보를 바탕으로 목표 정보를 추론할 수도 있다.When an event for performing a motion occurs, the processor 160 may acquire target information corresponding to the motion and context information related to the robot. In this case, the processor 160 may identify whether an event has occurred based on data acquired through the sensor 110 . Alternatively, the processor 160 may identify whether an event has occurred based on a command signal received through the communication interface 150 . Meanwhile, the processor 160 may obtain context information by using the sensor 110 . Alternatively, the processor 160 may obtain context information from an external server through the communication interface 150 . Meanwhile, the processor 150 may infer target information based on context information.

프로세서(160)는 제1 액션 플랜, 제2 액션 플랜 및 제3 액션 플랜 중 하나를 선택할 수 있다. 구체적으로, 프로세서(160)는 획득된 목표 정보가 메모리(130)에 기 저장된 목표 정보에 대응되면, 제1 액션 플랜을 선택할 수 있다. 획득된 목표 정보가 기 저장된 목표 정보에 대응되지 않으면, 프로세서(160)는 제2 액션 플랜 및 제3 액션 플랜 중 하나를 선택할 수 있다. 이 때, 프로세서(160)는 획득된 컨텍스트 정보에 대응되는 제3 액션 플랜이 메모리(130)에 저장되어있는 지 여부를 식별할 수 있다. 이 때, 획득된 컨텍스트 정보에 대응되는 제3 액션 플랜이 메모리(130)에 저장되어 있으면, 프로세서(160)는 저장된 제3 액션 플랜을 선택할 수 있다. 반면에, 획득된 컨텍스트 정보에 대응되는 제3 액션 플랜이 메모리(130)에 저장되어 있지 않으면, 프로세서(160)는 제2 액션 플랜을 선택할 수 있다.The processor 160 may select one of the first action plan, the second action plan, and the third action plan. Specifically, when the acquired target information corresponds to the target information pre-stored in the memory 130 , the processor 160 may select the first action plan. If the acquired target information does not correspond to the pre-stored target information, the processor 160 may select one of the second action plan and the third action plan. In this case, the processor 160 may identify whether the third action plan corresponding to the obtained context information is stored in the memory 130 . At this time, if the third action plan corresponding to the obtained context information is stored in the memory 130 , the processor 160 may select the stored third action plan. On the other hand, if the third action plan corresponding to the obtained context information is not stored in the memory 130 , the processor 160 may select the second action plan.

특히, 본 개시에 따른 인공지능과 관련된 기능은 프로세서(160)와 메모리(130)를 통해 동작된다. 프로세서(160)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리(130)에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다. In particular, the function related to artificial intelligence according to the present disclosure is operated through the processor 160 and the memory 130 . The processor 160 may include one or a plurality of processors. In this case, one or more processors may be a general-purpose processor such as a CPU, an AP, a digital signal processor (DSP), or the like, a graphics-only processor such as a GPU, a vision processing unit (VPU), or an artificial intelligence-only processor such as an NPU. One or a plurality of processors control to process input data according to a predefined operation rule or artificial intelligence model stored in the memory 130 . Alternatively, when one or more processors are AI-only processors, the AI-only processor may be designed with a hardware structure specialized for processing a specific AI model.

기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.The predefined action rule or artificial intelligence model is characterized in that it is created through learning. Here, being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created means burden. Such learning may be performed in the device itself on which the artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and/or system. Examples of the learning algorithm include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.

인공지능 모델은 학습을 통해 만들어 질 수 있다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다.AI models can be created through learning. Here, being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created means burden. The artificial intelligence model may be composed of a plurality of neural network layers. Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation is performed through an operation between an operation result of a previous layer and a plurality of weight values. The plurality of weights of the plurality of neural network layers may be optimized by the learning result of the artificial intelligence model. For example, a plurality of weights may be updated so that a loss value or a cost value obtained from the artificial intelligence model during the learning process is reduced or minimized.

시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식(Object Recognition), 객체 추적(Object Tracking), 영상 검색(Image Retrieval), 사람 인식(Human Recognition), 장면 이해(Scene Recognition), 공간 이해(3D Reconstruction/Localization), 영상 개선(Image Enhancement) 등을 포함한다.Visual understanding is a technology that recognizes and processes objects as if they were human vision. Object Recognition, Object Tracking, Image Retrieval, Human Recognition, Scene Recognition , spatial understanding (3D Reconstruction/Localization), image enhancement, and the like.

인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), GAN (Generative Adversarial Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.The artificial neural network may include a deep neural network (DNN), for example, a Convolutional Neural Network (CNN), a Deep Neural Network (DNN), a Recurrent Neural Network (RNN), a Generative Adversarial Network (GAN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN), or Deep Q-Networks, but is not limited to the above-described example.

한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.Meanwhile, the various embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof. In some cases, the embodiments described herein may be implemented by the processor itself. According to the software implementation, embodiments such as the procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.

한편, 상술한 본 개시의 다양한 실시 예들에 따른 처리 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 처리 동작을 특정 기기가 수행하도록 할 수 있다.Meanwhile, computer instructions for performing the processing operation according to various embodiments of the present disclosure described above may be stored in a non-transitory computer-readable medium. When the computer instructions stored in such a non-transitory computer-readable medium are executed by a processor, a specific device may perform the processing operation according to the above-described various embodiments.

비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.The non-transitory computer-readable medium refers to a medium that stores data semi-permanently, rather than a medium that stores data for a short moment, such as a register, cache, memory, etc., and can be read by a device. Specific examples of the non-transitory computer-readable medium may include a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.

한편, 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.Meanwhile, the device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory storage medium' is a tangible device and only means that it does not contain a signal (eg, electromagnetic wave), and this term refers to cases in which data is semi-permanently stored in a storage medium and temporary It does not distinguish the case where it is stored as For example, the 'non-transitory storage medium' may include a buffer in which data is temporarily stored.

일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments disclosed in this document may be provided as included in a computer program product. Computer program products may be traded between sellers and buyers as commodities. The computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play Store TM ) or on two user devices ( It can be distributed (eg downloaded or uploaded) directly, online between smartphones (eg: smartphones). In the case of online distribution, at least a portion of the computer program product (eg, a downloadable app) is stored at least on a machine-readable storage medium such as a memory of a manufacturer's server, a server of an application store, or a relay server It may be temporarily stored or temporarily created.

이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.In the above, preferred embodiments of the present disclosure have been illustrated and described, but the present disclosure is not limited to the specific embodiments described above, and is commonly used in the technical field belonging to the present disclosure without departing from the gist of the present disclosure as claimed in the claims. Various modifications may be made by those having the knowledge of

100: 로봇 110: 센서
120: 배터리 130: 메모리
140: 주행부 150: 통신 인터페이스
160: 프로세서 200: 외부 서버
100: robot 110: sensor
120: battery 130: memory
140: driving unit 150: communication interface
160: processor 200: external server

Claims (15)

로봇에 있어서,
상기 로봇을 이동시키기 위한 주행부;
적어도 하나의 인스트럭션을 저장하는 메모리; 및
프로세서;를 포함하고,
상기 프로세서는,
동작을 수행하기 위한 이벤트가 발생되면, 상기 동작에 대응되는 목표 정보 및 상기 로봇과 관련된 컨텍스트 정보를 획득하고,
상기 목표 정보 및 상기 컨텍스트 정보 중 적어도 하나를 바탕으로, 상기 메모리에 기 저장된 액션 정보에 따라 동작을 수행하는 제1 액션 플랜, 상기 컨텍스트 정보를 바탕으로 생성된 액션 정보에 따라 동작을 수행하는 제2 액션 플랜 및 상기 로봇의 동작 패턴을 바탕으로 학습된 액션 정보에 따라 동작을 수행하는 제3 액션 플랜 중 하나를 선택하고,
상기 선택된 액션 플랜을 바탕으로 적어도 하나의 액션 정보를 획득하고,
상기 획득된 적어도 하나의 액션 정보를 바탕으로 상기 목표 정보에 대응되는 동작을 수행하도록 상기 주행부를 제어하는
로봇.
In the robot,
a driving unit for moving the robot;
a memory storing at least one instruction; and
processor; including;
The processor is
When an event for performing an action occurs, target information corresponding to the action and context information related to the robot are obtained,
A first action plan for performing an operation according to the action information pre-stored in the memory based on at least one of the target information and the context information, and a second action plan for performing an operation according to the action information generated based on the context information Select one of the action plan and the third action plan for performing an action according to the action information learned based on the action pattern of the robot,
Obtaining at least one action information based on the selected action plan,
controlling the driving unit to perform an operation corresponding to the target information based on the acquired at least one action information
robot.
제1 항에 있어서,
상기 프로세서는,
상기 목표 정보가 상기 메모리에 기 저장된 목표 정보에 대응되면, 상기 제1 액션 플랜을 선택하고,
상기 목표 정보가 상기 기 저장된 목표 정보에 대응되지 않으면, 상기 제2 액션 플랜 및 상기 제3 액션 플랜 중 하나를 선택하는
로봇.
The method of claim 1,
The processor is
When the target information corresponds to the target information pre-stored in the memory, selecting the first action plan,
If the target information does not correspond to the pre-stored target information, selecting one of the second action plan and the third action plan
robot.
제2 항에 있어서,
상기 프로세서는,
상기 목표 정보가 상기 기 저장된 목표 정보에 대응되지 않으면, 상기 컨텍스트 정보에 대응되는 상기 제3 액션 플랜이 상기 메모리에 저장되어있는 지 여부를 식별하고,
상기 컨텍스트 정보에 대응되는 상기 제3 액션 플랜이 상기 메모리에 저장되어 있으면, 상기 저장된 제3 액션 플랜을 선택하는 단계; 및
상기 컨텍스트 정보에 대응되는 상기 제3 액션 플랜이 상기 메모리에 저장되어 있지 않으면, 상기 제2 액션 플랜을 선택하는 단계;를 포함하는
로봇.
3. The method of claim 2,
The processor is
If the target information does not correspond to the pre-stored target information, identify whether the third action plan corresponding to the context information is stored in the memory;
selecting the stored third action plan when the third action plan corresponding to the context information is stored in the memory; and
If the third action plan corresponding to the context information is not stored in the memory, selecting the second action plan; including
robot.
제3 항에 있어서,
상기 메모리는 목표 정보, 컨텍스트 정보 및 액션 정보가 매칭된 룩업 테이블(look-up table)을 저장하며,
상기 프로세서는,
상기 룩업 테이블과 상기 획득된 목표 정보 및 상기 획득된 컨텍스트를 비교하여 상기 컨텍스트 정보에 대응되는 상기 제3 액션 플랜이 상기 메모리에 저장되어있는 지 여부를 식별하는
로봇.
4. The method of claim 3,
The memory stores a look-up table in which target information, context information, and action information are matched;
The processor is
comparing the lookup table with the acquired target information and the acquired context to identify whether the third action plan corresponding to the context information is stored in the memory
robot.
제4 항에 있어서,
상기 프로세서는,
상기 제3 액션 플랜이 선택되면, 상기 룩업 테이블을 바탕으로 액션 정보를 획득하는
로봇.
5. The method of claim 4,
The processor is
When the third action plan is selected, action information is obtained based on the lookup table.
robot.
제1 항에 있어서,
상기 프로세서는,
상기 제2 액션 플랜이 선택되면, 상기 목표 정보 및 상기 컨텍스트 정보를 학습된 신경망 모델에 입력하여 상기 제2 액션 플랜에 대응되는 액션 정보를 획득하는
로봇.
The method of claim 1,
The processor is
When the second action plan is selected, the target information and the context information are input to a learned neural network model to obtain action information corresponding to the second action plan.
robot.
제1 항에 있어서,
상기 프로세서는,
상기 수행된 동작에 대응되는 액션 정보에 대한 피드백 정보를 획득하고,
상기 획득된 피드백 정보 및 기 저장된 상기 제3 액션 플랜에 대응되는 액션 정보에 대한 피드백 정보를 바탕으로 상기 기 저장된 액션 정보를 업데이트하는
로봇.
The method of claim 1,
The processor is
Obtaining feedback information on action information corresponding to the performed action,
Updating the pre-stored action information based on the obtained feedback information and feedback information on the pre-stored action information corresponding to the third action plan
robot.
제1 항에 있어서,
상기 로봇과 관련된 컨텍스트 정보는,
현재 시간에 대한 정보, 상기 로봇의 현재 위치 정보 및 상기 로봇 주변의 장애물에 대한 정보 중 적어도 하나를 포함하는
로봇.
The method of claim 1,
Context information related to the robot,
At least one of information about the current time, information on the current location of the robot, and information about obstacles around the robot
robot.
로봇의 제어 방법에 있어서,
동작을 수행하기 위한 이벤트가 발생되면, 상기 동작에 대응되는 목표 정보 및 상기 로봇과 관련된 컨텍스트 정보를 획득하는 단계;
상기 목표 정보 및 상기 컨텍스트 정보 중 적어도 하나를 바탕으로 기 저장된 액션 정보에 따라 동작을 수행하는 제1 액션 플랜, 상기 컨텍스트 정보를 바탕으로 생성된 액션 정보에 따라 동작을 수행하는 제2 액션 플랜 및 상기 로봇의 동작 패턴을 바탕으로 학습된 액션 정보에 따라 동작을 수행하는 제3 액션 플랜 중 하나를 선택하는 단계;
상기 선택된 액션 플랜을 바탕으로 적어도 하나의 액션 정보를 획득하는 단계; 및
상기 획득된 적어도 하나의 액션 정보를 바탕으로 상기 목표 정보에 대응되는 동작을 수행하는 단계;를 포함하는
제어 방법.
In the robot control method,
when an event for performing a motion occurs, acquiring target information corresponding to the motion and context information related to the robot;
A first action plan for performing an operation according to pre-stored action information based on at least one of the target information and the context information, a second action plan for performing an operation according to the action information generated based on the context information, and the selecting one of the third action plans for performing an action according to the action information learned based on the action pattern of the robot;
obtaining at least one piece of action information based on the selected action plan; and
performing an operation corresponding to the target information based on the obtained at least one action information;
control method.
제9 항에 있어서,
상기 선택하는 단계는,
상기 목표 정보가 기 저장된 목표 정보에 대응되면, 상기 제1 액션 플랜을 선택하고,
상기 목표 정보가 상기 기 저장된 목표 정보에 대응되지 않으면, 상기 제2 액션 플랜 및 상기 제3 액션 플랜 중 하나를 선택하는
제어 방법.
10. The method of claim 9,
The selecting step is
If the target information corresponds to the pre-stored target information, selecting the first action plan,
If the target information does not correspond to the pre-stored target information, selecting one of the second action plan and the third action plan
control method.
제10 항에 있어서,
상기 제2 액션 플랜 및 상기 제3 액션 플랜 중 하나를 선택하는 단계는,
상기 목표 정보가 기 저장된 목표 정보에 대응되지 않으면, 상기 컨텍스트 정보에 대응되는 상기 제3 액션 플랜이 상기 로봇에 저장되어있는 지 여부를 식별하는 단계;
상기 컨텍스트 정보에 대응되는 상기 제3 액션 플랜이 상기 로봇에 저장되어 있으면, 상기 저장된 제3 액션 플랜을 선택하는 단계; 및
상기 컨텍스트 정보에 대응되는 상기 제3 액션 플랜이 상기 로봇에 저장되어 있지 않으면, 상기 제2 액션 플랜을 선택하는 단계;를 포함하는
제어 방법.
11. The method of claim 10,
The step of selecting one of the second action plan and the third action plan comprises:
if the target information does not correspond to the pre-stored target information, identifying whether the third action plan corresponding to the context information is stored in the robot;
if the third action plan corresponding to the context information is stored in the robot, selecting the stored third action plan; and
If the third action plan corresponding to the context information is not stored in the robot, selecting the second action plan; including
control method.
제11 항에 있어서,
상기 로봇은 목표 정보, 컨텍스트 정보 및 액션 정보가 매칭된 룩업 테이블을 저장하며,
상기 식별하는 단계는,
상기 룩업 테이블과 상기 획득된 목표 정보 및 상기 획득된 컨텍스트를 비교하여 상기 컨텍스트 정보에 대응되는 상기 제3 액션 플랜이 상기 로봇에 저장되어있는 지 여부를 식별하는
제어 방법.
12. The method of claim 11,
The robot stores a lookup table in which target information, context information, and action information are matched,
The identifying step is
Comparing the lookup table with the acquired target information and the acquired context to identify whether the third action plan corresponding to the context information is stored in the robot
control method.
제12 항에 있어서,
상기 적어도 하나의 액션 정보를 획득하는 단계는,
상기 제3 액션 플랜이 선택되면, 상기 로봇에 저장된 룩업 테이블을 바탕으로 액션 정보를 획득하는
제어 방법.
13. The method of claim 12,
The step of obtaining the at least one action information includes:
When the third action plan is selected, action information is obtained based on the lookup table stored in the robot.
control method.
제9 항에 있어서,
상기 적어도 하나의 액션 정보를 획득하는 단계는,
상기 제2 액션 플랜이 선택되면, 상기 목표 정보 및 상기 컨텍스트 정보를 학습된 신경망 모델에 입력하여 상기 제2 액션 플랜에 대응되는 액션 정보를 획득하는
제어 방법.
10. The method of claim 9,
The step of obtaining the at least one action information includes:
When the second action plan is selected, the target information and the context information are input to a learned neural network model to obtain action information corresponding to the second action plan.
control method.
제9 항에 있어서,
상기 수행된 동작에 대응되는 액션 정보에 대한 피드백 정보를 획득하는 단계; 및
상기 획득된 피드백 정보 및 기 저장된 상기 제3 액션 플랜에 대응되는 액션 정보에 대한 피드백 정보를 바탕으로 상기 기 저장된 액션 정보를 업데이트하는 단계;를 더 포함하는
제어 방법.
10. The method of claim 9,
obtaining feedback information on action information corresponding to the performed action; and
Updating the pre-stored action information based on the obtained feedback information and the pre-stored feedback information on the action information corresponding to the third action plan; further comprising
control method.
KR1020200090526A 2019-12-03 2020-07-21 Robot and method for controlling thereof KR20210069547A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US17/072,832 US20210162593A1 (en) 2019-12-03 2020-10-16 Robot and method for controlling thereof
EP20896494.0A EP4013579B1 (en) 2019-12-03 2020-10-22 Robot and method for controlling thereof
CN202080079275.2A CN114761185A (en) 2019-12-03 2020-10-22 Robot and method for controlling robot
PCT/KR2020/014457 WO2021112401A1 (en) 2019-12-03 2020-10-22 Robot and method for controlling thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962942835P 2019-12-03 2019-12-03
US62/942,835 2019-12-03

Publications (1)

Publication Number Publication Date
KR20210069547A true KR20210069547A (en) 2021-06-11

Family

ID=76376524

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200090526A KR20210069547A (en) 2019-12-03 2020-07-21 Robot and method for controlling thereof

Country Status (1)

Country Link
KR (1) KR20210069547A (en)

Similar Documents

Publication Publication Date Title
US20200216094A1 (en) Personal driving style learning for autonomous driving
KR102639675B1 (en) Mobile Robot System, Mobile Robot And Method Of Controlling Mobile Robot System
JP6494331B2 (en) Robot control apparatus and robot control method
US10936918B2 (en) Electronic device and method for controlling the electronic device to provide output information of event based on context
US20200064827A1 (en) Self-driving mobile robots using human-robot interactions
US11300972B2 (en) Path planning device, path planning method, and program
US11931906B2 (en) Mobile robot device and method for providing service to user
CN106133751A (en) For the method and apparatus running vehicle
JP6581701B1 (en) Determination apparatus and determination method
US20190228294A1 (en) Method and system for processing neural network model using plurality of electronic devices
US20200042831A1 (en) Apparatus and method for identifying object
EP4013579B1 (en) Robot and method for controlling thereof
KR102293317B1 (en) Method for drawing map of specific area, robot and electronic device implementing thereof
WO2019088990A1 (en) Control system for mobile robots
KR102464906B1 (en) Electronic device, server and method thereof for recommending fashion item
KR20210069547A (en) Robot and method for controlling thereof
KR20220021581A (en) Robot and control method thereof
Krichmar et al. Advantage of prediction and mental imagery for goal‐directed behaviour in agents and robots
KR102376615B1 (en) Method for controlling mobile robot and apparatus thereof
US20220164654A1 (en) Energy- and memory-efficient training of neural networks
US20210182386A1 (en) Electronic apparatus that monitors a safety function and a controlling method thereof
KR20220020700A (en) Apparatus for controlling object tracking and method thereof
KR20210061103A (en) Mobile robot and method for operating the same
EP4210042A1 (en) Electronic device and method for controlling electronic device
KR102603423B1 (en) Apparatus and method for classifying an event of an image using a neural network model

Legal Events

Date Code Title Description
A201 Request for examination