Web browser-based robot control method and robot using the same
The web browser-based robot control method and system address the scalability and flexibility issues of dedicated robots by allowing service changes through a web application, enhancing adaptability and functionality.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-08
- Publication Date
- 2026-03-10
AI Technical Summary
Existing robots lack scalability and flexibility in providing multiple services due to dedicated designs, making it difficult to modify their functions easily.
A web browser-based robot control method and system that allows robots to be controlled through a web application, enabling communication between the web browser and robot hardware via a defined robot control API, facilitating easy service changes by swapping the web application.
Enables robots to provide different services by simply replacing the web application, enhancing scalability and flexibility without the need for complex reprogramming or hardware modifications.
Smart Images

Figure 2026508088000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a robot control method that can control a robot based on a web browser. [Background technology]
[0002] In recent years, robots have been used to provide customer service in various places, including airports, hospitals, shopping malls, hotels, and restaurants. Airport robots guide passengers to their boarding gates and carry heavy suitcases. Hospital robots guide patients to examination rooms and help them schedule their next appointments. Concierge robots guide hotel guests to their assigned rooms and provide room service. Serving robots serve food to customers, keeping it hot.
[0003] However, each robot is designed to provide a dedicated service, and there is a problem in that it lacks scalability and flexibility, such as being easily modified to provide other services. Summary of the Invention [Problem to be solved by the invention]
[0004] The present invention provides a web browser-based robot control method that allows control of a robot based on a web browser, and a robot using the same.
[0005] The present invention provides a web browser-based robot control method and a robot using the same, which can implement the main functions of a robot through a robot web application that runs in a web browser. [Means for solving the problem]
[0006] A web browser-based robot control method according to an embodiment of the present invention may include installing a robot web application for controlling the robot in a web browser of the robot, and controlling the robot by the robot web application communicating with hardware of the robot via the web browser.
[0007] A robot according to one embodiment of the present invention includes a processor, and the processor can execute the following: installing a robot web application for controlling the robot in a web browser of the robot; and causing the robot web application to communicate with hardware of the robot via the web browser to control the robot.
[0008] The above-described means for solving the problems do not list all the features of the present invention. The various features of the present invention and their advantages and effects will be more fully understood by referring to the following specific embodiments. [Effects of the Invention]
[0009] According to a web browser-based robot control method and a robot using the same according to an embodiment of the present invention, a robot control API can be defined in a web browser to communicate with robot hardware, thereby enabling the robot's operation to be controlled using a robot web application installed in the web browser.
[0010] According to a web browser-based robot control method and a robot using the same according to one embodiment of the present invention, the robot provides services through a robot web application installed in the web browser, so that the service provided by the robot can be easily changed to another service simply by replacing the robot web application.
[0011] However, the web browser-based robot control method according to the embodiment of the present invention and the effects that can be achieved by a robot using the same are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those with ordinary skill in the field of technology to which the present invention pertains from the following description. [Brief explanation of the drawings]
[0012] [Figure 1] FIG. 1 illustrates a robot system that supports web browser-based robot control according to one embodiment of the present invention.
[0013] [Figure 2] 1A to 1C are diagrams illustrating the operation of a robot according to an embodiment of the present invention.
[0014] [Figure 3] 1A to 1C are diagrams illustrating the operation of a robot according to an embodiment of the present invention.
[0015] [Figure 4] 1 is a block diagram showing a robot according to an embodiment of the present invention.
[0016] [Figure 5] 1 is a flowchart illustrating a web browser-based robot control method according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0017] The embodiments disclosed herein will be described in detail below with reference to the accompanying drawings. In the drawings, identical or similar components are designated by the same reference numerals, and redundant descriptions thereof will be omitted. The suffixes "module" and "module" used in the following description are merely used interchangeably to facilitate the description and do not have any distinct meanings or functions. That is, the term "module" used in this specification refers to a software or hardware component such as an FPGA or ASIC, and "module" performs any function. However, "module" is not limited to software or hardware. A "module" may be configured to reside on an addressable storage medium or to execute one or more processors. Therefore, for example, "module" includes components such as software components, object-oriented software components, class components, and task components, as well as processes, functions, attributes, procedures, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided in the components and "modules" may be combined into fewer components and "modules" or may be further separated into additional components and "modules."
[0018] Furthermore, when describing the embodiments disclosed herein, if it is determined that a detailed description of related publicly known technology may obscure the gist of the embodiments disclosed herein, the detailed description will be omitted. Furthermore, the attached drawings are merely for facilitating an understanding of the embodiments disclosed herein, and the technical ideas disclosed herein are not limited to the attached drawings. It should be understood that all modifications, equivalents, or alternatives within the ideas and technical scope of the present invention are included in the present invention.
[0019] FIG. 1 is a diagram showing a robot system that supports web browser-based robot control according to one embodiment of the present invention.
[0020] Referring to FIG. 1, a robot system according to an embodiment of the present invention may include a robot 100 and a server 200.
[0021] A robot system according to an embodiment of the present invention will be described below with reference to FIG.
[0022] The robot 100 may be a device that performs various services while moving within a target area. Here, the target area may be an indoor space such as a building, and the robot 100 may move within the target area using an autonomous driving method, but the positioning of the robot 100 or control of the movement thereof may be performed by the server 200. That is, the robot 100 may perform operations such as movement by communicating with the server 200. Depending on the embodiment, the robot 100 and the server 200 may perform some of their respective controls, thereby performing overall control.
[0023] The robot 100 may include a camera, which can be used to capture images of the surroundings corresponding to the movement of the robot 100. The robot 100 can transmit the images of the surroundings to the server 200, and the server 200 can perform visual localization of the robot 100 based on the received images of the surroundings.
[0024] Depending on the embodiment, the robot 100 may further include various sensors such as an IMU (Inertial Measurement Unit) sensor, a wheel encoder sensor, a lidar sensor, etc. in addition to the camera, and the server 100 may further perform positioning of the robot 100 in other ways besides visual positioning.
[0025] The server 200 can communicate with the robot 100 located within a target area via a network and control various operations, including the movement of the robot 100. The communication method between the server 200 and the robot 100 is not limited and may include a communication method utilizing a communication network (e.g., a mobile communication network, a wired Internet, a wireless Internet, a broadcast network, a satellite network, etc.) that the network may include, as well as short-range wireless communication between devices. For example, the network may include one or more of a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), a broadband network (BBN), the Internet, etc. The network may also include one or more of a network topology, including, but not limited to, a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree network, or a hierarchical network.
[0026] The server 200 may be implemented as a computer device or multiple computers that communicate with the robot 100 via a network and provide instructions, codes, files, content, services, etc. In some embodiments, the server may be implemented as a cloud server.
[0027] Meanwhile, the robot 100 may be installed with a robot OS 130 for controlling the operation of hardware included in the robot 100 and a web browser 120 for communicating with the server 200, etc. Here, a robot web application 110 may be installed in the web browser 120. That is, the robot web application 110 may be a collection of software for controlling the operation of the robot 100 and may operate on the web browser 110. According to an embodiment of the present invention, the robot web application 110 may communicate with the hardware of the robot 100 via the web browser 120, thereby allowing the robot web application 110 to control the operation of the robot 100.
[0028] In some embodiments, the server 200 may distribute the robot web application 110 to each robot 100, and may also provide management of the robot web application 110, such as addition, deletion, modification, and update. Here, the robot 100 may provide different services depending on the type of robot web application distributed by the server 200. For example, if the robot web application 110 distributed by the server 200 is related to a route guidance service, the robot 100 may provide a service such as escorting a user to a store the user is looking for in a shopping mall, etc.
[0029] However, when there are many robots 100 providing route guidance, a robot web application 120 providing a goods delivery service can be distributed to some of the robots 100 in place of the previously distributed robot web application 110 for efficient use. In this case, the robot 100 having the robot web application 110 corresponding to the goods delivery service installed thereon will no longer provide user route guidance service, but will instead perform the goods delivery service of delivering goods to the respective input locations. In other words, by simply changing the robot web application 110 installed in the web browser 120 of the robot 100, the robot 100 can provide a different service.
[0030] Here, the web browser 110 may be implemented using the Chromium Operating System, the Chrome Operating System, the Whale Operating System, or the like, and may be a dedicated web browser customized to allow the robot web application 120 to control the hardware of the robot 100. However, the web browser 110 is not limited thereto, and may be implemented using various Linux-based operating systems such as Ubuntu and Debian.
[0031] Specifically, the web browser 110 can define a robot control API (Application Programming Interface) for controlling the hardware of the robot 100, and can communicate with the robot's hardware using the robot control API. That is, since a general web browser limits the range of access to the hardware of the robot 100, a dedicated web browser that defines an additional robot control API can be used to enable access to the hardware of the robot 100.
[0032] The robot control API may include robot motor control such as motor speed, position, torque, etc., path planning such as waypoints, goal point setting, various sensor value acquisition, voice commands, etc., and may be configured in various ways from low-level motor control to high-level abstract commands. However, it is not limited to these, and various robot control APIs may further be included depending on the embodiment.
[0033] In this way, when a dedicated web browser is used, API calls for controlling the hardware of the robot 100 can be directly connected to the robot hardware, which is advantageous in terms of real-time performance and can be implemented at a lower level programming browser end. That is, since the dedicated web browser can directly communicate with the robot hardware using the robot control API, it is possible to obtain advantageous effects such as eliminating the need for multiple relay stages before control commands, etc., input from the robot web application via the web browser are transmitted to the robot hardware. However, if the above-mentioned dedicated web browser is standardized, the robot control API will be installed and used within a general web browser, so it will be possible to control the operation of the robot using a general web browser.
[0034] Meanwhile, depending on the embodiment, a proxy application may be further included in the general web browser, and communication with the robot hardware may be performed through the proxy application. That is, a web socket may be used to connect to the proxy application, and an additional protocol may be further defined and connected for the proxy application to communicate with the robot hardware.
[0035] Referring to FIG. 2, the robot 100 according to an embodiment of the present invention can communicate with the robot OS 130 directly via the web browser 120 or can communicate with the robot OS 130 via middleware M1 and M2.
[0036] That is, as shown in FIG. 2(a), the web browser 120 can directly control the hardware H of the robot 100 using a low-level robot control API A.
[0037] However, depending on the embodiment, as shown in FIG. 2(b), communication with the hardware H of the robot 100 may be performed via robot middleware M1, M2 such as ROS or ROS2. In this case, the web browser 120 may convert the control command received from the robot web application 110 into a middleware message for communicating with ROS or ROS2. The middleware M1, M2 may then convert the received middleware message back into a message that can be processed by the robot OS 130 for control. Here, a robot control API A may be defined so that the robot web application 110 can directly poll or register callbacks for sensor values received from sensors included in the robot 100.
[0038] Also, as shown in Figure 3, depending on the type of control command, it is possible for the web browser 120 to communicate directly with the robot's hardware H using the robot control API A, or to communicate with the robot's hardware H using middleware M1 and M2.
[0039] 4 is a block diagram illustrating a computing environment 10 suitable for use in an exemplary embodiment, in which each component may have other functions and capabilities than those described below and may further include other components than those described below.
[0040] The illustrated computing environment 10 includes a computing device 12. In one embodiment, the computing device 12 may be a robotic device (e.g., robot 100) that is controlled via a web browser.
[0041] Computing device 12 includes at least one processor 14, a computer-readable storage medium 16, and a communication bus 18. Processor 14 may cause computing device 12 to operate in accordance with the exemplary embodiments described above. For example, processor 14 may execute one or more programs stored on computer-readable storage medium 16. The one or more programs may include one or more computer-executable instructions that, when executed by processor 14, may configure computing device 12 to perform operations in accordance with the exemplary embodiments.
[0042] The computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and / or other suitable forms of information. The program 20 stored on the computer-readable storage medium 16 comprises a set of instructions that are executable by the processor 14. In one embodiment, the computer-readable storage medium 16 may be memory (volatile memory, such as random access memory, non-volatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other forms of storage media that can be accessed by the computing device 12 to store desired information, or a suitable combination thereof.
[0043] A communication bus 18 interconnects the various separate components of computing device 12 , including processor 14 and computer-readable storage medium 16 .
[0044] Computing device 12 may also include one or more input / output interfaces 22 and one or more network communication interfaces 26 that provide interfaces for one or more input / output devices 24. The input / output interfaces 22 and the network communication interfaces 26 are coupled to communication bus 18. The input / output devices 24 may be coupled to other components of computing device 12 via the input / output interfaces 22. Exemplary input / output devices 24 may include input devices such as a pointing device (e.g., a mouse or trackpad), a keyboard, a touch input device (e.g., a touchpad or touchscreen), a voice or sound input device, various sensor devices and / or imaging devices, and / or output devices such as a display device, a printer, speakers, and / or a network card. The exemplary input / output device 24 is a component of computing device 12 and may be included within computing device 12 or may be coupled to computing device 12 as a separate and distinct device.
[0045] 5 is a flowchart illustrating a web browser-based robot control method according to an embodiment of the present invention, where each step in FIG. 5 may be performed by the robot 100 according to an embodiment of the present invention.
[0046] Referring to Figure 5, the robot may install a robot web application for controlling the robot in the robot's web browser (S10). The robot web application is a collection of software that controls the robot's operations and may run on the web browser. Here, the web browser may be generated based on the Chromium Operating System, the Chrome Operating System, the Whale Operating System, Ubuntu, Debian, etc., and various web applications, such as the robot web application, may be executed on the web browser.
[0047] According to an embodiment, the web browser may be a dedicated web browser customized to enable the robot web application to control the robot hardware. That is, the web browser may define a robot control API for controlling the robot hardware and communicate with the robot hardware using the robot control API. Since a general web browser limits the range of access to the robot hardware, a dedicated web browser that defines a further robot control API may be used.
[0048] The robot control API may include robot motor control such as motor speed, position, torque, etc., path planning such as waypoints, destination setting, various sensor value acquisition, voice commands, etc., and may be configured in various ways from low-level motor control to high-level abstract commands. However, the robot control API is not limited thereto, and various other robot control APIs may be further included depending on the embodiment.
[0049] Furthermore, in some embodiments, a general web browser may be used instead of a dedicated web browser, in which case a proxy application may be included in the web browser, and the proxy application may communicate with the robot hardware using the robot control API.
[0050] On the other hand, the robot can be installed by receiving a robot web application from an external server, and the server can provide management of the robot web application, such as adding, deleting, changing, and updating.
[0051] The robot web application can then communicate with the robot's hardware via a web browser to control the robot (S20).
[0052] Here, the web browser can directly communicate with the robot hardware using the robot control API, for example, the web browser can directly control the robot hardware using the low-level robot control API.
[0053] In some embodiments, communication with the robot hardware may be performed via robot middleware such as ROS or ROS2. That is, a web browser may use a robot control API to communicate with middleware provided between the web browser and the robot hardware, and then communicate with the robot hardware via the middleware.
[0054] In addition, depending on the type of control command, the web browser may communicate directly with the robot hardware or may communicate with the robot hardware using middleware.
[0055] Meanwhile, the robot web application can receive control commands and the like from an external server via a network, thereby controlling the robot's operations.
[0056] The present invention described above can be embodied as computer-readable code on a medium having a program recorded thereon. The computer-readable medium may continuously store a computer-executable program or temporarily store it for execution or download. The medium may be various recording or storage means in the form of a single piece of hardware or multiple pieces of hardware combined together. The medium is not limited to a medium directly connected to a computer system but may be distributed over a network. Examples of media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and ROMs, RAMs, flash memories, and other media configured to store program instructions. Other examples of media include recording or storage media managed by app stores that distribute applications or by websites or servers that provide or distribute various software. Therefore, the above detailed description should not be construed as limiting in any respect, but should be considered merely illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all modifications within the scope of the present invention are encompassed in the scope of the present invention.
[0057] The present invention is not limited to the above-described embodiments and the accompanying drawings. It will be apparent to those skilled in the art that the components of the present invention can be substituted, modified, and changed without departing from the spirit and scope of the present invention.
Claims
1. 1. A web browser-based robot control method, comprising: installing a robot web application for controlling the robot in a web browser of the robot; and a step in which the robot web application communicates with hardware of the robot via the web browser to control the robot.
2. The web browser 2. The robot control method of claim 1, wherein the robot is generated based on any one of a Chromium operating system, a Chrome operating system, a Whale operating system, an Ubuntu operating system, and a Debian operating system.
3. The web browser The robot control method according to claim 2 , further comprising: defining a robot control API for controlling the hardware of the robot; and communicating with the hardware of the robot using the robot control API.
4. The web browser The robot control method according to claim 3 , further comprising a robot control API for at least one of motor control, path planning, destination setting, sensor value acquisition, and voice command of the robot.
5. The controlling step includes: The robot control method according to claim 3 , wherein the web browser communicates directly with the robot hardware using the robot control API.
6. The controlling step includes:
4. The robot control method according to claim 3, wherein the web browser uses the robot control API to communicate with middleware provided between the web browser and the robot hardware, and communicates with the robot hardware via the middleware.
7. The web browser The robot control method of claim 1 , further comprising a proxy application, wherein the proxy application communicates with the robot hardware using a robot control API.
8. The step of placing includes: The robot control method according to claim 1 , wherein the robot web application is distributed and installed from an external server.
9. The controlling step includes: The robot control method according to claim 8 , wherein the robot web application controls the robot in response to a control command received from the external server.
10. A computer program stored on a medium for executing the robot control method according to any one of claims 1 to 9 in combination with hardware.
11. 1. A robot including a processor, The processor: installing a robot web application for controlling the robot in a web browser of the robot; The robot web application communicates with hardware of the robot via the web browser to control the robot.
Citation Information
Patent Citations
Robot device
JP2001162573A
System, method and apparatus to display three-dimensional robotic workcell data
JP2012111029A
Information processing terminal, control method and program
JP2016053762A
Robot control program generation system
JP2017170537A
Robot or voice corresponding electronic circuit module control system
JP2018079544A