Robot control system based on microservice architecture and method thereof
By adopting a microservice architecture and hybrid communication protocols in the robot control system, combining HTTP and WebRTC, the problem of low efficiency in traditional robot control systems is solved, enabling real-time data transmission and efficient robot control.
Patent Information
- Application Number
- CN202111192415.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-03-12
- Filing Date
- 2021-10-13
- Publication Date
- 2025-12-23
- Estimated Expiration
- 2041-10-13
AI Technical Summary
Traditional robot control systems are based on a monolithic architecture, which leads to low efficiency and difficulty in real-time control. In particular, the limitations of the HTTP protocol make real-time control difficult to achieve when communicating with the robot.
The robot control system adopts a microservices architecture (MSA) and combines HTTP and WebRTC protocols. It communicates with the robot through an API gateway, uses HTTP to connect to the authentication, management and operation server, and uses WebRTC for real-time data transmission and control.
This improves the scalability and real-time control capabilities of the robot control system, enabling real-time data transmission and operation between the robot and the administrator terminal, thus enhancing the system's flexibility and efficiency.
Smart Images

Figure CN115070751B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims the benefit of Korean Patent Application No. 10-2021-0032847, filed on March 12, 2021, with the Korean Intellectual Property Office, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This invention relates to a technology for supervising and controlling robots based on a microservices architecture (MSA). Background Technology
[0004] Typically, microservices architecture (MSA) refers to an architecture that breaks down a large application into multiple smaller applications, allowing the application to be modified and recombined. When a large application is divided into specialized functions, application abstraction becomes possible.
[0005] For example, a service used for authentication (authentication function) can utilize an interface permitted by another service to perform the authentication process. A service used for "autocomplete" in the search window can receive user input and only provide the autocomplete results, allowing for easy improvements to implementation details at any time during the maintenance of the Application Programming Interface (API).
[0006] MSA can facilitate the deployment of each specific service without disrupting the overall service, especially in rapidly reflecting and deploying requirements. Furthermore, MSA offers simple scalability for specific services, and errors rarely propagate across the entire service, making it easy to isolate partial errors. Additionally, MSA can address the problems of monolithic architectures, which struggle to function precisely within high-level program structures. For reference, a monolithic architecture, in contrast to MSA, is characterized by a single service or application having a large, monolithic architecture.
[0007] Traditional robot control systems rely on a monolithic architecture for supervision and control, which reduces efficiency. Furthermore, traditional robot control systems communicate with the robot using the Hypertext Transfer Protocol (HTTP), making real-time control difficult.
[0008] The matters described in this background section are prepared to enhance the understanding of the background art of the present invention, and may include matters other than those known to a person skilled in the art to which this art pertains, in order to enhance the understanding of the background art of the present invention. SUMMARY
[0009] One aspect of the present application provides a robot control system based on a microservices architecture (MSA) and a method thereof, which is capable of using a mix of HyperText Transfer Protocol (HTTP) communication and Web Real-Time Communication (WebRTC) to improve the scalability of a specific service and to implement real-time control of a robot when controlling a robot based on a microservices architecture (MSA) to perform HTTP communication with a user terminal and to perform WebRTC for real-time control and supervision.
[0010] The objects of the present application are not limited to the above-mentioned objects, and other objects and advantages of the present application not mentioned can be understood from the following description, and will be more clearly understood by the embodiments of the present application. It will also be readily apparent to one skilled in the art that the objects and advantages of the present application can be achieved by the means and combinations specifically described in the embodiments.
[0011] The technical problems to be solved by the present inventive concept are not limited to the above-mentioned problems, and any other technical problems not mentioned herein will be clearly understood by those skilled in the art through the following description.
[0012] According to one aspect of the present application, a robot control system based on a microservices architecture (MSA) includes an application programming interface (API) gateway and an administrator terminal, the API gateway connects an authentication server for authenticating a robot, a management server for managing the robot, and an operation server for operating the robot to the robot in a HyperText Transfer Protocol (HTTP) communication manner, and the administrator terminal communicates with the robot through WebRTC (Web Real-Time Communication).
[0013] In one embodiment, the operation server can communicate with the robot through WebRTC.
[0014] In one embodiment, the operation server can transmit an action constituting a service to the robot.
[0015] In one embodiment, the operation server can transmit a subsequent action when a completion signal for a previously transmitted action is received from the robot.
[0016] In one embodiment, the action can include at least one of a moving action of the robot, an elevator up-and-down action of the robot, a map change action, a hotel operator or customer authentication action, or an action of loading and unloading an article through a tray.
[0017] In one embodiment, the administrator terminal receives and displays sensor data corresponding to the action from the robot in real time.
[0018] In one embodiment, the administrator terminal can display at least one of a location of the robot, a map, a lidar image, a camera image, log data, or an action corresponding to the service.
[0019] In one embodiment, the robot can include a first communicator connected to an API gateway in an HTTP communication, a second communicator communicating with the administrator terminal and the operation server through WebRTC, and a controller controlling the first communicator to be connected to the API gateway, executing an action received from the operation server, and controlling the second communicator to transmit sensor data acquired in a process of executing the action to the administrator terminal in real time.
[0020] In one embodiment, the controller can utilize a navigation resource, an LED resource, and a GUI resource when executing the moving action, utilize the navigation resource, the LED resource, and the GUI resource when executing the elevator up-and-down action, utilize the navigation resource when executing the map change action, utilize the LED resource and the GUI resource when executing the hotel operator or customer authentication action, and utilize the LED resource, the GUI resource, and a tray resource when executing the action of loading and unloading the article through the tray.
[0021] According to one aspect of the present application, a robot control method based on a microservice architecture (MSA) includes connecting, by an application programming interface (API) gateway, an authentication server for authenticating a robot, a management server for managing the robot, and an operation server for operating the robot to the robot in a hypertext transfer protocol (HTTP) communication; transmitting, by the operation server, an action constituting a service to the robot through Web Real-Time Communication (WebRTC); and receiving, by an administrator terminal, sensor data corresponding to the action in real time through the WebRTC and displaying the received sensor data.
[0022] In one embodiment, the transmitting of the action constituting the service can include transmitting a subsequent action when a completion signal for a previously transmitted action is received from the robot.
[0023] In one embodiment, the action can include at least one of a movement action of the robot, an elevator up-and-down action of the robot, a map change action, a hotel operator or customer authentication action, or an action of loading and unloading an article through a tray.
[0024] In one embodiment, displaying the received sensor data can display at least one of a position of the robot, a map, a lidar image, a camera image, log data, or an action corresponding to the service.
[0025] According to an aspect of the present disclosure, a robot operating in a control environment based on a microservice architecture (MSA) includes a first communicator connected to an API gateway in an HTTP (HyperText Transfer Protocol) communication manner, a second communicator communicating with an administrator terminal and an operation server through WebRTC (Web Real-Time Communication), and a controller controlling the first communicator to be connected to the API gateway, executing an action received from the operation server, and controlling the second communicator to transmit sensor data acquired in the process of executing the action to the administrator terminal in real time.
[0026] In one embodiment, the second communicator can receive an action constituting a service from the operation server.
[0027] In one embodiment, the controller can control the second communicator to transmit a completion signal indicating execution of the action to the operation server.
[0028] In one embodiment, the action can include at least one of a movement action of the robot, an elevator up-and-down action of the robot, a map change action, a hotel operator or customer authentication action, or an action of loading and unloading an article through a tray.
[0029] In one embodiment, the controller can utilize a navigation resource, an LED resource, and a GUI resource in executing the movement action, utilize the navigation resource, the LED resource, and the GUI resource in executing the elevator up-and-down action, utilize the navigation resource in executing the map change action, utilize the LED resource and the GUI resource in executing the hotel operator or customer authentication action, and utilize the LED resource, the GUI resource, and a tray resource in executing the action of loading and unloading an article through the tray.
[0030] In one embodiment, the controller can control the second communicator to transmit at least one of a position of the robot, a map, a lidar image, a camera image, log data, or an action corresponding to the service to the administrator terminal. BRIEF DESCRIPTION OF DRAWINGS
[0031] The above and other objects, features and advantages of the present application will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings, in which:
[0032] Figure 1 is a block diagram of an MSA-based robot control system according to an embodiment of the present application;
[0033] Figure 2 is an exemplary view of a screen displayed by an administrator terminal provided in an MSA-based robot control system according to an embodiment of the present application;
[0034] Figure 3 is an exemplary schematic view of services managed by a management server provided in an MSA-based robot control system according to an embodiment of the present application;
[0035] Figure 4 is a block diagram of a robot provided in an MSA-based robot control system according to an embodiment of the present application;
[0036] Figure 5 is an exemplary view of an operation of a controller of a robot provided in an MSA-based robot control system according to an embodiment of the present application;
[0037] Figure 6 is a flowchart illustrating an MSA-based robot control method according to an embodiment of the present application; and
[0038] Figure 7 is a schematic view of a computing system for performing an MSA-based robot control method according to an embodiment of the present application. DETAILED DESCRIPTION
[0039] It should be understood that the term "vehicle" or "vehicular" or other similar terminology used herein generally includes motor vehicles such as passenger vehicles including sport utility vehicles (SUV), buses, trucks, various commercial vehicles, passenger vehicles including sport utility vehicles (SUV), minivans, and the like; marine vessels including boats, ships, and the like; aircraft, and the like, and includes hybrid vehicles, electric vehicles, plug-in hybrid electric vehicles, hydrogen powered vehicles, and other alternative fuel vehicles (e.g., those powered by fuels other than petroleum products). As used herein, a hybrid vehicle is a vehicle having two or more sources of power, such as a vehicle having both gasoline power and electric power.
[0040] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present application. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and / or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein the term "and / or" includes any and all combinations of one or more of the associated listed items. Throughout this specification, unless expressly described to the contrary, the word "comprise" and variations such as "comprises" or "comprising" will be understood to imply the inclusion of stated elements but not the exclusion of any other elements. In addition, the terms "unit", "device", "component", and "module" described in the specification mean a unit for performing at least one function and operation, and can be implemented by a hardware component or a software component and combinations thereof.
[0041] Further, the control logic of the present application can be embodied as a non-transitory computer readable medium on a computer readable medium, which contains executable program instructions executed by a processor, a controller, or the like. Examples of the computer readable medium include, but are not limited to, ROM, RAM, compact disc (CD)-ROM, magnetic tapes, floppy disks, flash drives, smart cards, and optical data storage devices. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable medium is stored and executed in a distributed fashion, e.g., by a remote information processing server or a controller area network (CAN).
[0042] Hereinafter, various embodiments of the present application will be described in detail with reference to exemplary drawings. When adding reference numerals to components in each drawing, it should be noted that the same or equivalent components are denoted by the same reference numerals even though they are illustrated in different drawings. Also, detailed descriptions of known features or functions will be omitted when describing the embodiments of the present application so as not to unnecessarily obscure the central idea of the present application.
[0043] In describing components of embodiments according to the present application, terms such as first, second, "A", "B", (a), (b), etc. can be used. These terms are merely intended to distinguish one component from another and do not limit the nature, order, or sequence of the components. Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present application belongs. The terms defined in a generally used dictionary are to be interpreted as having a meaning that is the same as in the context of the relevant technology and are not to be interpreted in an idealized or overly formal sense unless clearly defined in the present application as having such a meaning.
[0044] Figure 1 is a block diagram of an MSA-based robot control system according to an embodiment of the present application.
[0045] As Figure 1 indicated, an MSA-based robot control system according to an embodiment of the present application can include a user terminal 100, a robot 110, an administrator terminal 120, and an Application Programming Interface (API) gateway 130, an authentication server 140, a robot management server 150, an operation server 160, a history management server 170, an infrastructure management server 180, and a queue 190, etc. In this case, based on a method of implementing an MSA-based robot control system according to an embodiment of the present application, these components can be combined into one whole with each other, and some components can be omitted. Specifically, it can be implemented that the function of the authentication server 140 is performed by the robot management server 150.
[0046] The components will be described in detail below. First, the user terminal 100 can include a smartphone, a PC, a notebook, an iPad, a Samsung Galaxy tab, etc. that can access the Internet. For example, the user terminal 100 can access the API gateway 130 in an HTTP communication manner, thereby communicating with the robot 110 and the administrator terminal 120.
[0047] For reference, HTTP refers to a communication protocol for transmitting a hypertext document between a web server and an Internet browser of a user on the Internet. In this case, a hypertext is created in such a manner that a specific keyword is written in a document, and the specific keyword is cross-linked with a character or a picture, so that even different documents are displayed as one document.
[0048] The user terminal 100 can request a service according to the authority of the user. In this case, the authority of the user can be granted from the authentication server 140.
[0049] The robot 110 can include a walking robot having wheels, an Android robot, a drone, etc., and specifically, can have a tray capable of loading an object for a delivery service. In this case, the robot can automatically open and close a door of the tray, and detect loading of the object by detecting a weight inside the tray. When the loading of the object is detected, the robot can automatically close the door of the tray.
[0050] The robot 110 can include a GPS receiver, various sensors such as a laser radar (LiDAR) sensor, an inertial measurement unit (IMU), an ultrasonic sensor, a camera, etc., and a plurality of communication modules to perform autonomous driving or autonomous flight. In this case, the camera can be implemented with a 2D camera or a 3D camera, and capture an image of surroundings of the robot 110.
[0051] The robot 110 can communicate with the API gateway 130 through an HTTP communication method, and communicate with the administrator terminal 120 and the operation server 160 through WebRTC. For example, the robot 110 can be connected to the administrator terminal 120 and the operation server 160 in a peer to peer (P2P) manner. In this case, when the robot 110 is first activated, the robot 110 can attempt to connect to the administrator terminal 120, and when the administrator terminal 120 is first activated, the administrator terminal 120 can attempt to connect to the robot 110. Also, when the robot 110 is first activated, the robot 110 can attempt to connect to the operation server 160, and when the operation server 160 is first activated, the operation server 160 can attempt to connect to the robot 110.
[0052] For reference, WebRTC can be an API (application programming interface) intended to enable web browsers to communicate with each other without the help of a plug-in. Such WebRTC can be used for voice calls, video calls, P2P file sharing, etc. In this case, the API can be defined as an interface specification for interaction by defining a series of sub-programs, protocols, etc. for creating an application program. In other words, the API is an interface specification that defines functions, inputs, outputs, and data types of software components (functions, methods, operations, etc.) that can be used to create a program.
[0053] The administrator terminal 120 can acquire and display various data from the robot 110 in real time through WebRTC. For example, the administrator terminal 120 can display a screen as shown in Figure 2
[0054] Figure 2 is an exemplary view of a screen displayed by an administrator terminal of the MSA-based robot control system according to an embodiment of the present application.
[0055] In Figure 2 , reference numeral "210" denotes a current position of the robot, reference numeral "220" denotes an image captured by a camera located at the left side of the robot 110, reference numeral "230" denotes an image captured by a camera located at the right side of the robot 110, reference numeral "240" denotes log data, delivery information, robot state information, etc., and reference numeral "250" denotes an action (task) transmitted from the operation server 160 to the robot 110. In this case, the configuration of the action can vary according to the type of service.
[0056] Figure 2 is a simplified screen for helping understanding, and in actual implementation, various data (e.g., a lidar image, a temperature value, battery state information, failure information, etc.) can be added in addition to the above information (data).
[0057] On the other hand, as Figure 1 indicated, each of the API gateway 130, the authentication server 140, the robot management server 150, the operation server 160, the history management server 170, and the infrastructure management server 180 can include a REST (Representational State Transfer) API. The REST API is a service API implemented based on REST, and is an interface enabling information exchange between computer programs by providing a function and a set of data. In this case, the REST API is implemented based on the HTTP standard.
[0058] The API gateway 130 can be interconnected with the user terminal 100, the robot 110, the administrator terminal 120, the authentication server 140, the robot management server 150, the operation server 160, the history management server 170, and the infrastructure management server 180 on an HTTP-based network.
[0059] The API gateway 130 can be located at the front end of the server to receive all API calls. After authenticating the received API calls, the API gateway 130 can transmit only messages corresponding to normal services. The API gateway 130 can be one of the components mentioned in the MSA, and can be a server that integrates endpoints of all client requests. The API gateway 130 can operate like a proxy server. In addition, additional functions such as authentication and authorization, supervision, and log recording can also be provided.
[0060] Referring to this, unlike a monolithic architecture in which all business logics exist in a single server, in an MSA, each domain stores data, and one or more servers exist per domain. Since one service has more than one server, a client receiving the service has multiple endpoints, making it difficult to manage when the endpoints change. Accordingly, there is a need for an API gateway 130 capable of integrating services into one in an MSA environment.
[0061] Further, each of the authentication server 140, the robot management server 150, the operation server 160, the history management server 170, and the infrastructure management server 180 can include a database (DB). In this case, as an example, the DB can include a Mongo DB. Here, the Mongo DB can store data in the form of a BSON (Binary JSON) document, so that it can be advantageous for distributed storage and expansion on multiple servers, and for high efficiency in processing a large amount of data.
[0062] The authentication server 140 is a server that authenticates the robot 110 and the user terminal 100, and can perform group registration and modification, account registration and modification, zone registration and modification, token update and confirmation, etc.
[0063] Referring to this, a token is an object or device for access management of a secure object, and can be classified into an access token, a security token, a session token, etc. Here, the access token is the most commonly used token form, and is used for a system or software to grant a right to a target that accesses a certain function or data. The access token can generally consist of a string in the form of a random number. For example, a network service provider can prevent leakage of personal information and provide a secure service by issuing an access token created using information such as a user ID, a password, or a credit card to a user in the case of access. The security token is a hardware storage device, and can control authorization to utilize limited resources of a specific electronic device. For example, there is a USB security token. The session token can be an object assigned to a client by an Internet server for data exchange after the Internet server is connected to the client through HTTP communication.
[0064] The robot management server 150 is a server that manages the robot 110, and can perform service and task (action) management, map management, registration and modification of the robot 110, management of data detected by various sensors provided in the robot, etc.
[0065] Figure 3 is an exemplary schematic diagram of a service managed by a management server of an MSA-based robot control system according to an embodiment of the present application.
[0066] As Figure 3As illustrated, both service 1 and service 2 can be related to a delivery service, and service 1 can include moving, moving between floors, loading, moving, and receiving as actions, and service 2 can include moving, loading, moving, and receiving as actions. In this case, when the loading location is located at different floors, service 1 can be applied, and when the loading location is located at the same floor, service 2 can be applied.
[0067] The operation server 160 is a server that operates the robot 110 and can perform scheduling, service execution, and service list management.
[0068] The operation server 160 can transmit one action to the robot 110, and when a completion signal of the action is received from the robot 110, the operation server 160 transmits a subsequent action to the robot 110. For reference, one service can be composed of a plurality of actions, and each action can be a semantic action having a structure such as [<action>, <start / end / pause / resume / restart>, <factor>].
[0069] The history management server 170 and the infrastructure management server 180 can be additional components of the present application. The history management server 170 can manage metadata and operation data related to the robot 110, and the infrastructure management server 180 can manage interconnection of infrastructure related to the robot 110.
[0070] The queue 190 can store and transmit messages transmitted and received between the authentication server 140, the robot management server 150, and the operation server 160. For example, the queue 190 can include a message queue.
[0071] Figure 4 is a block diagram of a robot provided in an MSA-based robot control system according to an embodiment of the present application.
[0072] Referring to Figure 4 The robot 110 provided in the MSA-based robot control system according to an embodiment of the present application can include a memory 10, a first communicator 20, a second communicator 30, and a controller 40. In this case, based on a method of implementing the robot provided in the MSA-based robot control system according to an embodiment of the present application, these components can be combined into one as a whole, and some components can be omitted.
[0073] The components will be described below. First, in the MSA-based control environment, the memory 10 can store various logics, algorithms, and programs required in a process of accessing the API gateway 130 in a first communication manner (e.g., HTTP communication) and transmitting sensor data to the administrator terminal 120 in a second communication manner (e.g., WebRTC). Here, the sensor data can refer to data acquired through various sensors installed on the robot 110 during operation of the robot 110.
[0074] The memory 10 can store an action list for each service. As one example, the action list for the delivery service is as shown in Table 1 below.
[0075] [Table 1]
[0076]
[0077] The memory 10 can include at least one type of storage medium of a flash type, a hard disk type, a micro type, a card type (e.g., a secure digital card (SD card) or an extreme digital card (XD card)) memory, a random access memory (RAM), a static RAM (SRAM), a read-only memory (ROM), a programmable ROM (PROM), an electrically erasable PROM (EEPROM), a magnetic memory (MRAM), a magnetic disk, and an optical disk type memory.
[0078] The first communicator 20 can be connected to the API gateway 130 in an HTTP (Hypertext Transfer Protocol) communication manner to individually communicate with the authentication server 140, the management server 150, the operation server 160, the history management server 170, and the infrastructure management server 180.
[0079] The second communicator 30 can transmit sensor data to the administrator terminal 120 through a web real-time communication (WebRTC).
[0080] The controller 40 can perform overall control so that each of the above-described components normally performs its function. The controller 40 can be implemented in the form of hardware or software, or can be implemented in a combination of hardware and software. Preferably, the controller 40 can be implemented with a microprocessor, but is not limited thereto.
[0081] Specifically, the controller 40 can perform various controls in a process of accessing the API gateway 130 in a first communication manner (e.g., HTTP communication) and transmitting sensor data to the administrator terminal 120 in a second communication manner (e.g., WebRTC) in the MSA-based control environment.
[0082] The controller 40 can verify the validity of an instruction received from the operation server 160 or from the administrator terminal 120 based on the action list for each service stored in the memory 10, and execute the instruction when the validity is verified. In this case, the instruction can have a structure such as [<action>, <start / end / pause / resume / restart>, <factor>], and the validity of the instruction can be verified by determining whether the action contained in the instruction is an action recorded in the action list.
[0083] Hereinafter, a detailed description will be given of the operation of the controller 40 with reference to the accompanying drawings. Figure 5 The operation of the controller 40 will be described in detail.
[0084] Figure 5 is an exemplary view of the operation of the controller of the robot of the MSA-based robot control system according to an embodiment of the present application.
[0085] Referring to Figure 5 For example, the controller 40 of the robot 110 of the MSA-based robot control system according to an embodiment of the present application can perform a moving action, an elevator up-and-down action, a map change action, a hotel operator or customer authentication action, and an action of loading and unloading an article by a tray while performing a delivery service. In this case, the controller 40 can manage various shared resources 500 to perform the actions (functions).
[0086] For example, the controller 40 can perform the moving action using a navigation 510 resource, a light-emitting diode (LED) 520 resource, and a graphical user interface (GUI) 530 resource in the shared resources 500. Also, the controller 40 can perform the elevator up-and-down action using the navigation 510 resource, the LED 520 resource, and the GUI 530 resource in the shared resources 500.
[0087] As another example, the controller 40 can perform the map change action using the navigation 510 resource in the shared resources 500.
[0088] As another example, the controller 40 can perform the hotel operator or customer authentication action using the LED 520 resource and the GUI 530 resource in the shared resources 500. That is, the controller 40 can interact with a user using the LED 520 resource and the GUI 530 resource.
[0089] As another example, the controller 40 can utilize the LED 520 resource, the GUI 530 resource, and the tray 540 resource in the shared resource 500 to perform an action of loading and unloading an article through a tray. That is, the controller 40 can utilize the tray 540 resource to release a door lock of a tray or an opening and closing door for the loading and unloading action of an article. In addition, the controller 40 can utilize the LED 520 resource and the GUI 530 resource to feedback to a user.
[0090] Figure 6 FIG. 1 is a flowchart illustrating an MSA-based robot control method according to an embodiment of the present application.
[0091] First, the API gateway 130 can connect the authentication server 140 authenticating a robot, the management server 150 managing a robot, and the operation server 160 operating a robot to the robot 110 in an HTTP communication manner (601).
[0092] Then, the operation server 160 can transmit an action constituting a service to the robot 110 through WebRTC (602).
[0093] Thereafter, the administrator terminal 120 can receive sensor data corresponding to the action in real time through WebRTC and display the received sensor data (603).
[0094] Figure 7 FIG. 1 is a flowchart illustrating an MSA-based robot control method according to an embodiment of the present application.
[0095] Referring to Figure 7 The MSA-based robot control method according to the embodiment of the present application as described above can also be implemented by a computing system 1000. The computing system 1000 can include at least one processor 1100, a storage 1300, a user interface input device 1400, a user interface output device 1500, a storage device 1600, and a network interface 1700, which are connected to each other via a system bus 1200.
[0096] The processor 1100 can be a Central Processing Unit (CPU) or a semiconductor device that processes instructions stored in the storage 1300 and / or the storage device 1600. The storage 1300 and the storage device 1600 can include various types of volatile or non-volatile storage media. For example, the storage 1300 can include a Read Only Memory (ROM) 1310 and a Random Access Memory (RAM) 1320.
[0097] Accordingly, the operations of a method or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module executed by processor 1100, or in a combination of the two. A software module can reside in storage media (i.e., memory 1300 and / or storage 1600), such as RAM, flash memory, ROM, EPROM, EEPROM, registers, hard disk, a solid state drive (SSD), removable disk, and CD-ROM. An example storage media can be coupled to processor 1100 such that the processor 1100 can read information from, and write information to, the storage media. Alternatively, the storage media can be integral to processor 1100. Processor 1100 and the storage media can reside in an application-specific integrated circuit (ASIC). The ASIC can reside in user terminal. In the alternative, the processor 1100 and the storage media can reside as discrete components in user terminal.
[0098] The above description is only illustrative of the technical idea of the present application, and those skilled in the art to which the present application pertains can make various modifications and changes thereto, without departing from the essential characteristics of the present application.
[0099] Therefore, the exemplary embodiments of the present application are provided to explain the spirit and scope of the present application, not to limit them, so that the spirit and scope of the present application are not limited by the embodiments. The scope of protection of the present application should be interpreted by the appended claims, and all technical ideas equivalent thereto within the scope of the claims should be interpreted to be included in the scope of the present application.
[0100] The MSA-based robot control system and method thereof according to the embodiments of the present application can utilize a mix of hypertext transfer protocol (HTTP) communication and web real-time communication (WebRTC) to improve the scalability of a specific service and to implement real-time control of a robot when controlling a microservice architecture (MSA)-based robot to perform HTTP communication with a user terminal and to perform WebRTC for real-time control and supervision.
[0101] In the foregoing, although the present application has been described with reference to the example embodiments and the accompanying drawings, the present application is not limited thereto, and those skilled in the art to which the present application pertains can make various modifications and changes thereto without departing from the spirit and scope of the present application claimed by the appended claims.
Claims
1. A robot control system comprising: an authentication server configured to authenticate a robot; a management server configured to manage the robot; an operation server configured to operate the robot; an application programming interface gateway configured to connect the authentication server, the management server, and the operation server to the robot in a hypertext transfer protocol communication manner; a representational state transfer application programming interface configured to enable information exchange between the application programming interface gateway, the authentication server, the management server, and the operation server; and an administrator terminal configured to communicate with the robot through web real-time communication, wherein the operation server transmits an action constituting a service to the robot, the action includes at least one of a movement action of the robot, an elevator up-and-down action of the robot, a map change action, a hotel operator or guest authentication action, or a through-tray loading and unloading of goods action, the robot is configured to utilize a navigation resource, a light emitting diode resource, and a graphical user interface resource when performing the movement action, to utilize the navigation resource, the light emitting diode resource, and the graphical user interface resource when performing the elevator up-and-down action, to utilize the navigation resource when performing the map change action, to utilize the light emitting diode resource and the graphical user interface resource when performing the hotel operator or guest authentication action, and to utilize the light emitting diode resource, the graphical user interface resource, and a tray resource when performing the through-tray loading and unloading of goods action. the operation server transmits a subsequent action when a completion signal for a previously transmitted action is received from the robot.
2. The robot control system of claim 1, wherein, the administrator terminal receives and displays sensor data corresponding to the action from the robot in real time.
3. The robotic control system of claim 1, wherein, the administrator terminal displays at least one of a location, a map, a lidar image, a camera image, log data, or an action corresponding to the service of the robot.
4. The robot control system of claim 3, wherein, the robot comprises:
5. The robotic control system of claim 1, wherein, a first communicator connected to the application programming interface gateway in a hypertext transfer protocol communication manner; a second communicator configured to communicate with the administrator terminal and the operation server through web real-time communication; and a controller configured to control the first communicator to connect to the application programming interface gateway, to perform an action received from the operation server, and to control the second communicator to transmit sensor data acquired in the process of performing the action to the administrator terminal in real time. the controller is configured to utilize the navigation resource, the light emitting diode resource, and the graphical user interface resource when performing the movement action, to utilize the navigation resource, the light emitting diode resource, and the graphical user interface resource when performing the elevator up-and-down action, to utilize the navigation resource when performing the map change action, to utilize the light emitting diode resource and the graphical user interface resource when performing the hotel operator or guest authentication action, and to utilize the light emitting diode resource, the graphical user interface resource, and the tray resource when performing the through-tray loading and unloading of goods action.
6. The robot control system of claim 5, wherein, the robot is operated in a control environment based on a microservice architecture.
7. The robotic control system of claim 1, wherein, 8.A robot operated in a control environment based on a microservice architecture, the robot comprising: a first communicator connected to an application programming interface gateway in a hypertext transfer protocol communication manner; a second communicator configured to communicate with an administrator terminal and an operation server in real time through a web page; a controller configured to control the first communicator to connect to the application programming interface gateway, to execute an action received from the operation server, and to control the second communicator to transmit sensor data acquired in the process of executing the action to the administrator terminal in real time, and a representational state transfer application programming interface configured to enable information exchange between the application programming interface gateway and the operation server; wherein the second communicator receives an action constituting a service from the operation server, the action includes at least one of a movement action of a robot, an elevator up-and-down action of the robot, a map change action, a hotel operator or customer authentication action, or an action of loading and unloading an article by a tray, the controller is configured to utilize a navigation resource, a light emitting diode resource, and a graphical user interface resource when the movement action is executed, to utilize the navigation resource, the light emitting diode resource, and the graphical user interface resource when the elevator up-and-down action is executed, to utilize the navigation resource when the map change action is executed, to utilize the light emitting diode resource and the graphical user interface resource when the hotel operator or customer authentication action is executed, and to utilize the light emitting diode resource, the graphical user interface resource, and a tray resource when the action of loading and unloading the article by the tray is executed.
9. The robot operating in a control environment based on a microservices architecture according to claim 8, wherein, the controller is configured to control the second communicator to transmit a completion signal indicating execution of the action to the operation server.
10. The robot operating in a control environment based on a microservices architecture as claimed in claim 8, wherein, the controller is configured to control the second communicator to transmit at least one of a position of the robot, a map, a laser radar image, a camera image, log data, or the action corresponding to the service to the administrator terminal.
Citation Information
Patent Citations
Self-assembly formed by co-assembling the D-enantiomer and L-enantiomer of a conjugate comprising a peptide molecule capable of self-assembly in an organelle, and a pharmaceutical composition comprising the same
KR1020210032847A
Method and System for Order Routing and Management
US20170011449A1
System for providing virtual participation in an educational situation
US20190005832A1