KR20210155103A - Autonomous mobile robot - Google Patents

Autonomous mobile robot Download PDF

Info

Publication number
KR20210155103A
KR20210155103A KR1020200072147A KR20200072147A KR20210155103A KR 20210155103 A KR20210155103 A KR 20210155103A KR 1020200072147 A KR1020200072147 A KR 1020200072147A KR 20200072147 A KR20200072147 A KR 20200072147A KR 20210155103 A KR20210155103 A KR 20210155103A
Authority
KR
South Korea
Prior art keywords
middleware
control command
abstracted
environment information
autonomous mobile
Prior art date
Application number
KR1020200072147A
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 KR1020200072147A priority Critical patent/KR20210155103A/en
Publication of KR20210155103A publication Critical patent/KR20210155103A/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/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/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

Disclosed is an autonomous mobile robot including: one or more sensors for acquiring environment information, wherein the environment information includes surrounding environment information, and encoder information of a driving unit; middleware abstracting the environment information acquired by the one or more sensors and generating the abstracted environment information, and converting an abstracted control command and generating the converted control command, and performing a request and response associated with the converted control command based on the abstracted control command and the abstracted environment information, wherein the abstracted control command includes one or more of viewing, moving, and rotating; a middleware interface processing the environment information acquired from the one or more sensors and transmitting the processed environment information to the middleware; and an outer interface transmitting the abstracted control command to the middleware from the outside. Therefore, the same service can be provided even if some parts of the robot are changed through the middleware according to the present invention.

Description

미들웨어를 포함하는 자율이동로봇{Autonomous mobile robot}Autonomous mobile robot including middleware

본 발명은 자율이동로봇에 관한 것으로서, 보다 상세하게는 미들웨어를 포함하는 자율이동로봇에 관한 것이다. The present invention relates to an autonomous mobile robot, and more particularly, to an autonomous mobile robot including middleware.

이동을 위한 기구와 제어의 수단을 가지고, 자동적으로 지시된 장소로 이동해서 작업을 수행하는 기능을 갖춘 로봇을 이동로봇이라고 한다. 주행 환경의 인식 기능을 갖고, 주행로 상의 장해물이나 벽면을 검출해서 주행 경로를 자율적으로 탐색하는 것을 특히 자율이동로봇(automatic land vehicle)이라고도 한다. A robot that has a mechanism for movement and a means of control, and has the function of automatically moving to a designated place and performing a task, is called a mobile robot. An autonomous land vehicle that has a function of recognizing the driving environment and autonomously searches a driving path by detecting an obstacle or a wall on the driving path is also referred to as an automatic land vehicle.

이러한 자율이동로봇은, 주행 경로의 자율적 탐색을 위해, 센서들을 구비할 수 있는데, 이때 로봇 제품별로 각기 다른 종류의 센서들, 예를 들어 2D 라이더, PSD, 초음파, RGBD 카메라 등을 필요에 따라 채용하게 된다. Such an autonomous mobile robot may include sensors for autonomous navigation of a driving route. In this case, different types of sensors for each robot product, for example, 2D lidar, PSD, ultrasound, RGBD camera, etc. are employed as needed. will do

이때, 동종의 센서라도 예를 들어 제조사 및/또는 모델 별로 특징이 다르므로, 센서 교체 및/또는 대체 시 동일 계열의 센서를 사용해야 하는 부담이 있다. 이로 인해 부득이하게 센서 종류가 변경되는 경우에 있어서는 로봇의 동작에 관련된 제어 소프트웨어도 일정 부분 변경되어야 하는 불편이 있다. In this case, even if the sensor of the same type has different characteristics for each manufacturer and/or model, for example, there is a burden of using a sensor of the same series when replacing and/or replacing the sensor. Due to this, when the sensor type is unavoidably changed, there is an inconvenience in that the control software related to the operation of the robot must also be changed in a certain part.

이러한 자율이동로봇에 채용되는 센서의 경우와 유사하게, 로봇 제품별로 각기 다른 종류의 로봇의 구조, 구성, 제어방식, 통신방식 등이 채용된다. 예를 들어, 로봇 제품별로 이륜차동, 사륜차동, 이륜조향, 삼륜 옴니휠 등 다양한 구조를 가질 수 있고, 차륜의 경우에도 좌우 RPM, 강체운동, 조향각과 속도 등 각기 다른 제어방식이 사용될 수 있다. 또한, 통신방식에 있어서도 시리얼, TCP 소켓, HTTP 등 각기 다른 방식이 사용될 수 있다. Similar to the case of sensors employed in such autonomous mobile robots, structures, configurations, control methods, communication methods, etc. of different types of robots are employed for each robot product. For example, each robot product may have various structures such as two-wheeled differential, four-wheeled differential, two-wheeled steering, and three-wheeled omni wheel, and in the case of wheels, different control methods such as left and right RPM, rigid body motion, steering angle and speed, etc. can be used. In addition, in the communication method, different methods such as serial, TCP socket, and HTTP may be used.

한편, ROS, OPROS 등 로봇 소프트웨어 플랫폼은 IT 업계에서 일반적으로 사용되는 플랫폼과는 상이하여, 로봇 관련 서비스 및 컨텐츠 소프트웨어 개발자들은 로보틱스 및 로봇 소프트웨어 플랫폼에 대한 심도깊은 이해가 선행되어야 하고, 이로 인해 로봇 플랫폼 시장의 확대가 어렵다는 문제가 있었다. On the other hand, robot software platforms such as ROS and OPROS are different from those generally used in the IT industry, so robot-related service and content software developers need to have an in-depth understanding of robotics and robot software platforms. There was a problem that it was difficult to expand the market.

이로써, 로봇의 일부 부품의 변경에 따른 소프트웨어의 필연적인 변경의 번거로움을 제거할 수 있는 시스템 및/또는 방법이 필요하다. Accordingly, there is a need for a system and/or method capable of eliminating the hassle of inevitably changing software according to a change of some parts of the robot.

KR 0772514 B1KR 0772514 B1 KR 0772175 B1KR 0772175 B1

이로써, 본 발명의 목적은 로봇의 일부 부품의 변경에 따른 소프트웨어의 필연적인 변경의 번거로움을 제거할 수 있는 자율이동로봇을 제공하는 데 있다. Accordingly, it is an object of the present invention to provide an autonomous mobile robot capable of eliminating the hassle of inevitably changing software according to changes in some parts of the robot.

본 발명의 다른 목적은 로봇의 일부 부품의 변경 시에도 동일한 서비스를 제공할 수 있는 미들웨어를 포함하는 자율이동로봇을 제공하는 데 있다. Another object of the present invention is to provide an autonomous mobile robot including a middleware that can provide the same service even when some parts of the robot are changed.

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

상기 목적은, 본 발명의 일 측면에 따라, The above object, according to one aspect of the present invention,

환경 정보를 획득하기 위한 적어도 하나의 센서, 이때 상기 환경 정보는 주변환경 정보, 및 구동부의 엔코더 정보를 포함하고; at least one sensor for acquiring environmental information, wherein the environmental information includes environmental information and encoder information of the driving unit;

상기 적어도 하나의 센서로부터 획득된 환경 정보를 추상화하여 추상화된 환경 정보를 생성하고, 추상화된 제어 명령을 변환하여 변환된 제어 명령을 생성하고, 또한 상기 추상화된 제어 명령 및 상기 추상화된 환경 정보에 기초하여 상기 변환된 제어 명령에 연관된 요청 및 응답을 수행하는 미들웨어, 이때 상기 추상화된 제어 명령은 조회, 이동, 및 회전 중 적어도 하나를 포함하고; Generate abstracted environment information by abstracting the environment information obtained from the at least one sensor, convert the abstracted control command to generate a converted control command, and further, based on the abstracted control command and the abstracted environment information middleware to perform a request and a response related to the converted control command, wherein the abstracted control command includes at least one of inquiry, movement, and rotation;

상기 적어도 하나의 센서로부터 획득된 환경 정보를 가공하여 상기 미들웨어로 전달하는 미들웨어 인터페이스; 및a middleware interface that processes the environment information obtained from the at least one sensor and transmits it to the middleware; and

상기 추상화된 제어 명령을 외부로부터 상기 미들웨어로 전달하는 외부 인터페이스를 포함하는, An external interface that transmits the abstracted control command from the outside to the middleware,

자율이동로봇에 의해 달성된다. This is achieved by autonomous mobile robots.

이때, 상기 추상화된 제어 명령은 외부의 서버로부터 무선통신을 통해 상기 미들웨어로 전달될 수 있다. In this case, the abstracted control command may be transmitted from an external server to the middleware through wireless communication.

나아가, 상기 미들웨어 또는 상기 미들웨어 인터페이스는, 상기 수집된 환경 정보 및/또는 추상화된 환경 정보에 기초하여 지도를 생성하는 것을 더 포함할 수 있다. Furthermore, the middleware or the middleware interface may further include generating a map based on the collected environment information and/or abstracted environment information.

또한, 상기 추상화된 제어 명령은, 상기 자율이동로봇에 적합한 형태로 변환하여 변환된 제어 명령을 생성하는 것을 특징으로 할 수 있다. In addition, the abstract control command may be converted into a form suitable for the autonomous mobile robot to generate the converted control command.

상기한 바와 같은 본 발명의 자율이동로봇에 따르면 로봇의 일부 부품의 변경에 따른 소프트웨어의 필연적인 변경의 번거로움을 제거할 수 있다는 장점이 있다. According to the autonomous mobile robot of the present invention as described above, there is an advantage that it is possible to eliminate the hassle of inevitably changing software according to the change of some parts of the robot.

또한 본 발명의 자율이동로봇에 따르면 본 발명의 미들웨어를 통해 로봇의 일부 부품의 변경 시에도 동일한 서비스를 제공할 수 있다는 장점이 있다. In addition, according to the autonomous mobile robot of the present invention, there is an advantage that the same service can be provided even when some parts of the robot are changed through the middleware of the present invention.

도 1은 본 발명에 따른 미들웨어를 포함하는 자율이동로봇의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 미들웨어를 포함하는 자율이동로봇의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 미들웨어를 포함하는 자율이동로봇의 구현 예이다.
도 4는 본 발명의 일 실시예에 따른, 응답의 일 예를 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 따른, 요청 및 응답의 일 예를 보여주는 도면이다.
1 is a block diagram of an autonomous mobile robot including middleware according to the present invention.
2 is a block diagram of an autonomous mobile robot including middleware according to an embodiment of the present invention.
3 is an implementation example of an autonomous mobile robot including middleware according to an embodiment of the present invention.
4 is a diagram illustrating an example of a response, according to an embodiment of the present invention.
5 is a diagram illustrating an example of a request and a response according to an embodiment of the present invention.

이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명에 따른 예시적 실시예를 상세하게 설명한다. 다만, 본 발명이 예시적 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조부호는 실질적으로 동일한 기능을 수행하는 부재를 나타낸다.Hereinafter, exemplary embodiments according to the present invention will be described in detail with reference to the contents described in the accompanying drawings. However, the present invention is not limited or limited by the exemplary embodiments. The same reference numerals provided in the respective drawings indicate members that perform substantially the same functions.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise.

본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the present invention have been selected as currently widely used general terms as possible while considering the functions in the present invention, but these may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, and the like. 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 invention. Therefore, the term used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, rather than the name of a simple term.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.In the entire specification, when a part "includes" a certain element, this means that other elements may be further included, rather than excluding other elements, unless otherwise stated.

도 1은 본 발명에 따른 미들웨어를 포함하는 자율이동로봇의 구성도이고, 도 2는 본 발명의 일 실시예에 따른 미들웨어를 포함하는 자율이동로봇의 구성도이다. 1 is a configuration diagram of an autonomous mobile robot including middleware according to the present invention, and FIG. 2 is a configuration diagram of an autonomous mobile robot including middleware according to an embodiment of the present invention.

도 1을 참조하면, 본 발명에 따른 미들웨어를 포함하는 자율이동로봇(1)은, 환경 정보를 획득하기 위한 적어도 하나의 센서(10); 적어도 하나의 센서(10)로부터 획득된 환경 정보를 가공하여 미들웨어(30)로 전달하는 미들웨어 인터페이스(20); 미들웨어(30); 및 추상화된 제어 명령을 외부로부터 미들웨어(30)로 전달하는 외부 인터페이스(40)를 포함한다. Referring to FIG. 1 , an autonomous mobile robot 1 including middleware according to the present invention includes: at least one sensor 10 for acquiring environment information; a middleware interface 20 that processes the environment information obtained from at least one sensor 10 and transmits it to the middleware 30 ; middleware 30; and an external interface 40 that transmits the abstracted control command from the outside to the middleware 30 .

미들웨어(30)는, 적어도 하나의 센서(10)로부터 획득된 환경 정보를 추상화하여 추상화된 환경 정보를 생성하고, 추상화된 제어 명령을 변환하여 변환된 제어 명령을 생성하고, 또한 추상화된 제어 명령 및 추상화된 환경 정보에 기초하여 변환된 제어 명령에 연관된 요청 및 응답을 수행한다. The middleware 30 abstracts the environment information obtained from the at least one sensor 10 to generate abstracted environment information, converts the abstracted control command to generate a converted control command, and further includes an abstracted control command and Based on the abstracted environment information, it performs a request and a response related to the converted control command.

이와 같이, 본 발명에 따른 미들웨어(30)는, 정보의 추상화 및 제어의 추상화를 구현한다. In this way, the middleware 30 according to the present invention implements abstraction of information and abstraction of control.

먼저 정보의 추상화 측면에 있어서, 환경 정보는 추상화되어 수집, 처리, 저장, 출력되는데, 예를 들어 센서의 경우에 있어서, 각 센서별 특성 및 설치 위치들에 대한 정보 등을 포함하여 정보가 수집된다. 이때 환경 정보는 주변환경 정보, 및 구동부(50)의 엔코더 정보를 포함할 수 있다. 이러한 현재 수집된 환경 정보에 기초하여 자율이동로봇은 현재 위치를 정의할 수 있는데, 이를 위해 미들웨어(30)에 의해, 수집된 환경 정보 및/또는 추상화된 환경 정보를 기반으로 사전에 및/또는 주기적으로 지도가 생성될 수 있고, 이 생성된 지도에서 현재 위치를 확인하는 것이 가능할 수 있다. First, in terms of abstraction of information, environmental information is abstracted and collected, processed, stored, and output. For example, in the case of a sensor, information is collected including information about characteristics and installation locations of each sensor. . In this case, the environment information may include surrounding environment information and encoder information of the driving unit 50 . Based on the currently collected environmental information, the autonomous mobile robot can define a current location. For this purpose, based on the collected environmental information and/or abstracted environmental information by the middleware 30, in advance and/or periodically may generate a map, and it may be possible to check the current location on the generated map.

다음으로, 제어의 추상화 측면에 있어서, 추상화된 환경 정보 및/또는 지도를 기반으로 추상화된 제어 명령이 출력되고, 이 추상화된 제어 명령은 각각의 자율이동로봇에 적합한 형태로 변환된 제어 명령으로 출력될 수 있다. 이로써, 추상화된 제어 명령 및 추상화된 환경 정보에 기초하여 변환된 제어 명령에 연관된 요청 및 응답을 수행할 수 있게 된다. Next, in the abstraction aspect of control, an abstracted control command is output based on the abstracted environment information and/or map, and this abstracted control command is output as a control command converted into a form suitable for each autonomous mobile robot can be Accordingly, it is possible to perform a request and a response related to the converted control command based on the abstracted control command and the abstracted environment information.

이에 더하여, 통신방식은 HTTP 기반의 RESTful API를 이용할 수 있는데, 이를 통해 추상화된 제어 명령이 외부, 즉 외부의 서버(100)로부터 자율이동로봇(1)으로 전달되고, 경우에 따라서는 이와 연관된 추상화된 환경 정보가 외부로 제공될 수도 있다. 이때 미들웨어의 내부 구조 및 알고리즘은 외부에서 알 필요가 없으므로 숨겨지게 되고, 이때 추상화된 제어 명령은 조회, 이동, 및 회전 중 적어도 하나를 포함하므로, - 이때 이동은 (목적지를 포함한) 전진, 후진, 강체운동 등으로 세분화될 수 있고, 회전도 좌회전, 우회전 등으로 세분화될 수 있음 - 외부로부터 전달된 제어 명령에 의해 이에 연관된 환경 정보가 외부로 전달되는 동시에 자율이동로봇의 제어가 시작될 수 있다. In addition to this, the communication method can use HTTP-based RESTful API, through which an abstracted control command is transmitted from the outside, that is, the external server 100 to the autonomous mobile robot 1, and in some cases, related abstraction Environmental information may be provided externally. At this time, the internal structure and algorithm of the middleware are hidden because there is no need to know from the outside. It can be subdivided into rigid body motion, etc., and rotation can also be subdivided into left turn, right turn, etc. - By a control command transmitted from the outside, environmental information related thereto is transmitted to the outside, and control of the autonomous mobile robot can be started at the same time.

도 2를 참조하여 살펴 보면, 자율이동로봇에 장착되는 주변환경 인식기, 위치 인식기, 동역학 인식기 등과 같이, 환경 정보를 획득하기 위한 적어도 하나의 센서(10)를 포함하는 장치(10'); 적어도 하나의 센서(10)로부터 획득된 환경 정보를 수집하고 처리하여 미들웨어(30')로 전달하는 미들웨어 인터페이스(20'); 및 미들웨어(30')를 포함한다. 이때 환경 정보는 주변환경 정보, 및 위치 정보와 동역학 정보로 귀결될 수 있는 구동부의 엔코더 정보를 포함한다. Referring to FIG. 2 , a device 10' including at least one sensor 10 for acquiring environmental information, such as an environment recognizer, a position recognizer, a dynamics recognizer, mounted on the autonomous mobile robot; a middleware interface 20' that collects and processes environmental information obtained from at least one sensor 10 and transmits it to the middleware 30'; and middleware 30'. In this case, the environment information includes information about the surrounding environment, and encoder information of the driving unit that may result in location information and dynamics information.

미들웨어 인터페이스(20')는, 자율이동로봇의 기본적인 구동과 SLAM을 이용한 지도 생성 및 인식을 담당할 수 있다. 도 2의 설명에서, 미들웨어(30)가 수집된 환경 정보 및/또는 추상화된 환경 정보를 기반으로 사전에 및/또는 주기적으로 지도가 생성할 수 있다고 언급하였지만, 미들웨어 인터페이스(20')에서도 물론 수집된 환경 정보를 기반으로 사전에 및/또는 주기적으로 지도를 생성할 수 있고, 이러한 지도를 미들웨어(30')에서 추상화시킬 수 있다. 지도는, 예를 들어 구동부의 치수 정보 및 구동부의 엔코더 정보(즉, 위치 변화에 대한 정보)를 이용하여 로봇의 주행거리 측정 정보를 생성하고, 적어도 하나의 센서에 의해 수집된 주변환경 정보 및 이 주행거리 측정 정보를 이용해 생성될 수 있다. 이때 예를 들어 자율이동로봇의 모터의 RPM 정보 등을 이용하여 선속도 및 각속도를 산출하는 것이 위치 정보를 획득하는 데 이용될 수 있다. The middleware interface 20' may be in charge of basic driving of the autonomous mobile robot and map generation and recognition using SLAM. Although it has been mentioned in the description of FIG. 2 that the middleware 30 may generate a map in advance and/or periodically based on the collected environment information and/or abstracted environment information, the middleware interface 20' also collects of course. A map may be generated in advance and/or periodically based on the obtained environment information, and this map may be abstracted from the middleware 30'. The map generates, for example, mileage measurement information of the robot using dimensional information of the driving unit and encoder information (ie, information about position change) of the driving unit, and the surrounding environment information collected by at least one sensor and the It may be generated using mileage measurement information. In this case, for example, calculating the linear velocity and the angular velocity by using the RPM information of the motor of the autonomous mobile robot may be used to obtain the position information.

도 2에서는, 추상화된 제어 명령을 외부로부터 미들웨어(30)로 전달하고 추상화된 환경 정보를 외부로 전달하는 외부 인터페이스(40)를 기능적으로 미들웨어와 별도로 정의하였으나, 실제 구현에 있어서는 외부 인터페이스를 미들웨어(30')에 포함시켜 구현할 수 있다. 이는 하나의 프로그램으로 개발되어 개별 소프트웨어로 제공되어 로봇에 설치할 때 편리할 수 있다. 이때 추상화된 제어 명령은, 주변환경 정보, 지도 정보, 동역학 정보, 동작 정보 등에 대한 조회 명령이거나 또는 이동, 회전 등의 동작을 수행하도록 지시하는 동작 명령 중 적어도 하나를 포함할 수 있다. In FIG. 2, the external interface 40, which transmits the abstracted control command from the outside to the middleware 30 and transmits the abstracted environment information to the outside, is functionally defined separately from the middleware, but in actual implementation, the external interface is defined as the middleware ( 30') and can be implemented. It is developed as a single program and provided as individual software, which can be convenient when installing on a robot. In this case, the abstract control command may include at least one of an inquiry command for surrounding environment information, map information, dynamics information, motion information, or the like, or an operation command instructing to perform an operation such as movement or rotation.

미들웨어(30') 역시 도 2의 미들웨어(30)와 유사하게, 적어도 하나의 센서(10)로부터 획득된 환경 정보를 추상화하여 추상화된 환경 정보를 생성하고, 추상화된 제어 명령을 변환하여 변환된 제어 명령을 생성하고, 또한 추상화된 제어 명령 및 추상화된 환경 정보에 기초하여 변환된 제어 명령에 연관된 요청 및 응답을 수행한다. 이때 추상화된 제어 명령은, 도 3과 같이, 외부의 서버로부터 무선통신을 통해 미들웨어로 전달되고 추상화된 환경 정보는 외부의 서버로 전달될 수 있다. The middleware 30 ′ also generates abstracted environment information by abstracting the environment information obtained from at least one sensor 10 , similarly to the middleware 30 of FIG. 2 , and converts the abstracted control command to control converted Generates a command, and also performs requests and responses associated with the converted control command based on the abstracted control command and the abstracted environment information. In this case, as shown in FIG. 3 , the abstracted control command may be transmitted from an external server to the middleware through wireless communication, and the abstracted environment information may be transmitted to the external server.

예를 들어, 자율이동로봇의 현재 상태를 조회하고 싶은 경우에는, 외부의 서버, PC 또는 안드로이드 장치에서 GET 메소드로 http://10.0.0.2:5000/api/status 를 전송하면, 도 4와 같이, 그 응답으로 로봇의 상태 정보를 전달받을 수 있다.For example, if you want to inquire the current status of the autonomous mobile robot , send http://10.0.0.2:5000/api/status with the GET method from an external server, PC, or Android device, as shown in FIG. , it is possible to receive robot status information as a response.

또 다른 예는, 자율이동로봇을 목적지로 이동시키고, 이에 대한 상태 정보를 조회하고 싶은 경우에는, 외부의 서버, PC 또는 안드로이드 장치에서 POST 메소드로 http://10.0.0.2:5000/api/action/drivetodestination 을 전송하면, 도 5와 같이, 로봇이 입력된 목적지의 위치로 이동을 시작하게 되며, 그 응답으로 로봇의 동작 관련 상태 정보를 전달받을 수 있다. Another example is http://10.0.0.2:5000/api/action with the POST method from an external server, PC, or Android device if you want to move the autonomous mobile robot to its destination and inquire about its status information. When /drivetodestination is transmitted, as shown in FIG. 5 , the robot starts to move to the input destination location, and as a response, motion-related state information of the robot can be transmitted.

요약하면, 본 발명의 자율이동로봇에 따르면 로봇의 일부 부품의 변경에 따른 소프트웨어의 필연적인 변경의 번거로움을 제거할 수 있다. In summary, according to the autonomous mobile robot of the present invention, it is possible to eliminate the hassle of inevitably changing software according to the change of some parts of the robot.

또한 본 발명의 자율이동로봇에 따르면 본 발명의 미들웨어를 통해 로봇의 일부 부품의 변경 시에도 동일한 서비스를 제공할 수 있게 된다. In addition, according to the autonomous mobile robot of the present invention, the same service can be provided even when some parts of the robot are changed through the middleware of the present invention.

일반적으로 본 명세서에서 사용된 용어는, 특히 청구항에서(예를 들어, 청구항의 본문) 일반적으로 "개방적인" 용어로 의도된다(예를 들어, "포함하는"은 "포함하나 이에 제한되지 않는"으로, "가지다"는 "적어도 그 이상으로 가지다"로, "포함하다"는 "포함하나 이에 제한되지 않는다"로 해석되어야 함) 도입된 청구항 기재에 대하여 특정한 개수가 의도되는 경우, 이러한 의도는 해당 청구항에서 명시적으로 기재되며, 이러한 기재가 부재하는 경우 이러한 의도는 존재하지 않는 것으로 이해된다. Terms used in this specification generally are intended to be "open-ended" terms, particularly in claims (eg, the body of claims) (eg, "comprising" means "including but not limited to" , "having" should be construed as "having at least more" and "comprising" as "including but not limited to" It is expressly recited in the claims, and in the absence of such recitation, no such intent is understood.

본 발명의 특정 특징만이 본 명세서에서 도시되고 설명되었으며, 다양한 수정 및 변경이 당업자에 대하여 발생할 수 있다. 그러므로 청구항은 본 발명의 사상 내에 속하는 변경 및 수정을 포함하는 것으로 의도된다는 점이 이해된다.Only specific features of the invention have been shown and described herein, and various modifications and variations will occur to those skilled in the art. It is therefore to be understood that the claims are intended to cover changes and modifications that fall within the spirit of the invention.

1: 자율이동로봇 10: 센서
20: 미들웨어 인터페이스 30: 미들웨어
40: 외부 인터페이스 50: 구동부
1: autonomous mobile robot 10: sensor
20: middleware interface 30: middleware
40: external interface 50: drive unit

Claims (4)

환경 정보를 획득하기 위한 적어도 하나의 센서, 이때 상기 환경 정보는 주변환경 정보, 및 구동부의 엔코더 정보를 포함하고;
상기 적어도 하나의 센서로부터 획득된 환경 정보를 추상화하여 추상화된 환경 정보를 생성하고, 추상화된 제어 명령을 변환하여 변환된 제어 명령을 생성하고, 또한 상기 추상화된 제어 명령 및 상기 추상화된 환경 정보에 기초하여 상기 변환된 제어 명령에 연관된 요청 및 응답을 수행하는 미들웨어, 이때 상기 추상화된 제어 명령은 조회, 이동, 및 회전 중 적어도 하나를 포함하고;
상기 적어도 하나의 센서로부터 획득된 환경 정보를 가공하여 상기 미들웨어로 전달하는 미들웨어 인터페이스; 및
상기 추상화된 제어 명령을 외부로부터 상기 미들웨어로 전달하는 외부 인터페이스를 포함하는,
자율이동로봇.
at least one sensor for acquiring environmental information, wherein the environmental information includes environmental information and encoder information of a driving unit;
Generate abstracted environment information by abstracting the environment information obtained from the at least one sensor, convert the abstracted control command to generate a converted control command, and further based on the abstracted control command and the abstracted environment information middleware to perform a request and a response related to the converted control command, wherein the abstracted control command includes at least one of inquiry, movement, and rotation;
a middleware interface that processes the environment information obtained from the at least one sensor and transmits it to the middleware; and
An external interface that transmits the abstracted control command from the outside to the middleware,
autonomous mobile robot.
제 1 항에 있어서,
상기 추상화된 제어 명령은 외부의 서버로부터 무선통신을 통해 상기 미들웨어로 전달되는 것을 특징으로 하는, 자율이동로봇.
The method of claim 1,
The abstract control command is transmitted from an external server to the middleware through wireless communication, the autonomous mobile robot.
제 2 항에 있어서,
상기 미들웨어 또는 상기 미들웨어 인터페이스는, 상기 수집된 환경 정보 및/또는 추상화된 환경 정보에 기초하여 지도를 생성하는 것을 더 포함하는 것을 특징으로 하는, 자율이동로봇.
3. The method of claim 2,
The middleware or the middleware interface, the autonomous mobile robot, characterized in that it further comprises generating a map based on the collected environment information and/or abstracted environment information.
제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
상기 추상화된 제어 명령은, 상기 자율이동로봇에 적합한 형태로 변환하여 변환된 제어 명령을 생성하는 것을 특징으로 하는, 자율이동로봇.
4. The method according to any one of claims 1 to 3,
The abstracted control command is converted into a form suitable for the autonomous mobile robot to generate a converted control command.
KR1020200072147A 2020-06-15 2020-06-15 Autonomous mobile robot KR20210155103A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200072147A KR20210155103A (en) 2020-06-15 2020-06-15 Autonomous mobile robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200072147A KR20210155103A (en) 2020-06-15 2020-06-15 Autonomous mobile robot

Publications (1)

Publication Number Publication Date
KR20210155103A true KR20210155103A (en) 2021-12-22

Family

ID=79164236

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200072147A KR20210155103A (en) 2020-06-15 2020-06-15 Autonomous mobile robot

Country Status (1)

Country Link
KR (1) KR20210155103A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100772514B1 (en) 2005-12-08 2007-11-01 한국전자통신연구원 Apparatus for controlling robot by network-based robot control system and method thereof
KR100772175B1 (en) 2006-10-23 2007-11-01 한국전자통신연구원 Network robot system and communication method in network robot system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100772514B1 (en) 2005-12-08 2007-11-01 한국전자통신연구원 Apparatus for controlling robot by network-based robot control system and method thereof
KR100772175B1 (en) 2006-10-23 2007-11-01 한국전자통신연구원 Network robot system and communication method in network robot system

Similar Documents

Publication Publication Date Title
CN111273655B (en) Motion planning method and system for an autonomous vehicle
US10974390B2 (en) Autonomous localization and navigation equipment, localization and navigation method, and autonomous localization and navigation system
JP7399287B2 (en) Method and system for trajectory optimization of nonlinear robot systems with shape constraints
Köseoğlu et al. Design of an autonomous mobile robot based on ROS
JP6863991B2 (en) Virtual line tracking method and modification method for autonomous mobile robots and mobile robots
CN111532257A (en) Method and system for compensating for vehicle calibration errors
Tavakoli et al. Motion control of an omnidirectional climbing robot based on dead reckoning method
Ahmed et al. Design and implementation control system for a self-balancing robot based on internet of things by using Arduino microcontroller
CN111208814A (en) Memory-based optimal motion planning for autonomous vehicles using dynamic models
Prasad et al. Design and development of software stack of an autonomous vehicle using robot operating system
Phueakthong et al. A development of mobile robot based on ROS2 for navigation application
WO2020181255A1 (en) Collaborative task execution with humans and robotic vehicles
KR20210155103A (en) Autonomous mobile robot
Min et al. Comparative study of ROS on embedded system for a mobile robot
CN112318507A (en) Robot intelligent control system based on SLAM technology
BOZTAŞ et al. Implementation of pure pursuit algorithm for nonholonomic mobile robot using robot operating system
Karimi et al. Mavi: A research platform for telepresence and teleoperation
Marin-Plaza et al. Complete ros-based architecture for intelligent vehicles
Megalingam et al. ROS-based GUI controlled robot for indoor mapping and navigation
Wang et al. What Makes Robots? Sensors, Actuators, and Algorithms
CN115494882A (en) Mobile robot following method and device based on electromagnetic positioning and readable medium
Raj et al. Designing and Analysis of an Architecture of Motion Control for a Mobile Robot Using Simulation
Minh et al. MiniRos: an autonomous UGV robot for education and research
Chikurtev Optimizing the Navigation for Mobile Robot for Inspection by Using Robot Operating System
KR20090086864A (en) Communication network structure of unmanned vehicle system