Method and system for remotely controlling robot by using multiple channels

The method and system for remotely controlling robots using multiple channels address communication delays and inefficiencies by employing a single video/audio channel for robot-to-relay server communication and multiple channels for client distribution, ensuring secure and efficient control with centralized authority management, thus enhancing system reliability and safety.

WO2025263805A1PCT designated stage Publication Date: 2025-12-26NEUBILITY
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2025/005717
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-17
Filing Date
2025-04-28
Publication Date
2025-12-26

AI Technical Summary

Technical Problem

Existing remote control systems for robots face communication delays and inefficiencies when multiple clients attempt to control a single robot, particularly due to network speed, communication protocol, and robot performance issues, which can lead to collisions and resource management challenges.

Method used

A method and system using multiple channels, including a single video/audio channel for transmitting data from a robot to a relay server and multiple separate channels for distributing data to clients, utilizing WebRTC protocol for encryption and secure communication, with centralized control authority assignment and release, and peer-to-peer communication to manage network resources efficiently.

Benefits of technology

This approach minimizes delay time, ensures secure data transmission, and allows flexible, efficient network usage even with multiple clients, preventing collisions and enhancing system reliability and safety by managing sensitive information and control signals effectively.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025005717_26122025_PF_FP_ABST
    Figure KR2025005717_26122025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention relates to a method and a system for remotely controlling a robot by using multiple channels, the system comprising: a robot which captures an image by using a camera, and which transmits image / voice data in real time through a single image / audio channel; a relay server for receiving the image / voice data from the robot through the single image / audio channel, and transmitting the received image / voice data through a plurality of image / audio channels separated from the single image / audio channel; and a plurality of clients matched one-to-one with each of the plurality of image / audio channels so as to receive each piece of the image / audio data through the plurality of image / audio channels, wherein the single image / audio channel and the plurality of image / audio channels use the WebRTC protocol.
Need to check novelty before this filing date? Find Prior Art

Description

Method and system for remotely controlling a robot using multiple channels

[0001] The present invention relates to a remote control system, and more particularly, to a method and system for remotely controlling a robot using multiple channels.

[0002] Recently, with the advancement of computer and communication technology, a system has been developed that mounts a camera on a robot that can move around, takes images through the robot, and monitors the images taken from the robot from a remote location through communication while remotely controlling the robot.

[0003] In a remote monitoring system utilizing such robots, a remote user controls the robot by viewing the video captured by the robot through a client device, such as a mobile device. In other words, the user can move the robot forward, backward, left, or right while viewing the video transmitted by the robot on the mobile device.

[0004] However, communication delays can occur when multiple clients control a single robot. This can be affected by network speed, the communication protocol between the clients and the robot, and the performance of the robot control system.

[0005] To address these challenges, we must develop methods to prevent collisions, communicate efficiently, and manage resources. This requires designing a robot control system that operates reliably and efficiently in a multi-client environment.

[0006] [Prior Art Literature]

[0007] [Patent Document]

[0008] (Patent Document 1) Domestic Patent No. 10-1857952

[0009] (Patent Document 2) Domestic Patent No. 10-2509453

[0010] (Patent Document 3) Domestic Patent No. 10-1627519

[0011] (Patent Document 4) Domestic Publication Patent No. 10-2023-0039415

[0012] The present specification has been devised to solve the above-mentioned problems, and its purpose is to provide a method and system for remotely controlling a robot using multiple channels that can minimize delay time by using peer-to-peer communication in video and control channels for safe remote control of a robot in various situations.

[0013] In addition, another object of the present invention is to provide a method and system for remotely controlling a robot using multiple channels, which transmits video / audio information of a robot using one transmission channel and receives data from multiple clients using one or more reception channels separated from the transmission channel, in order to transmit data to multiple clients in a limited bandwidth of the robot.

[0014] In addition, another object of the present invention is to provide a method and system for remotely controlling a robot using multiple channels, which can secure a means of solving a problem through communication between a robot and a client in a situation where a problem cannot be solved through video and control alone through two-way voice communication.

[0015] In addition, another object of the present invention is to provide a robot remote control method and system using multiple channels that encrypts communication sections using a secure encryption protocol, since sensitive information including personal information may be transmitted due to the nature of video / audio information.

[0016] In addition, another object of the present invention is to provide a robot remote control method and system using multiple channels in which control authority can be centrally assigned / released in the case of a data transmission channel, since data transmission such as control signals can occur multiple times from multiple clients.

[0017] In order to achieve the above object, according to an embodiment of the present specification, a robot remote control system using a multi-channel according to the present specification includes: a robot that takes a video using a camera and transmits video / audio data in real time through a single video / audio channel; a relay server that receives video / audio data from the robot through the single video / audio channel and transmits the received video / audio data through a plurality of video / audio channels separated from the single video / audio channel; and a plurality of clients that are each individually matched with the plurality of video / audio channels and each receive the video / audio data through the plurality of video / audio channels, wherein the single video / audio channel and the plurality of video / audio channels are characterized in that they use a WebRTC protocol.

[0018] Preferably, the robot control system further includes a robot that grants authority to control the robot to any one of the plurality of clients, wherein the client granted authority to control the robot among the plurality of clients controls the robot by transmitting voice / control data through a single control channel using the WebRTC protocol.

[0019] Preferably, the single video / audio channel, the multiple video / audio channels, and the single control channel are characterized in that they are encrypted using the DTLS (Datagram Transport Layer Security) encryption protocol of the WebRTC protocol.

[0020] Preferably, the robot is characterized in that, when the robot control system is successfully authenticated, it connects to the single video / audio channel between the robot and the relay server.

[0021] Preferably, the plurality of clients, when the authentication of the robot control system is successful, receive information about the relay server from the robot control system, and connect to the plurality of video / audio channels between the plurality of clients and the relay server based on the received information about the relay server.

[0022] Preferably, the client checks whether the robot control system has the authority to control the robot, and if so, requests and receives information for controlling the robot from the robot control system, analyzes the received information for controlling the robot to determine whether the client has the authority to control the robot, and if so, connects to the single control channel between the client and the robot.

[0023] Preferably, the robot control system is characterized in that, upon request of an administrator, the robot requests the removal of the client's control authority, and the robot disconnects the single control channel.

[0024] Preferably, when the relay server is connected to each client through a TURN (Traversal Using Relays around Network Address Translation) server, the remote control system further includes a plurality of TURN servers, and the relay server receives ICE (Interactive Connectivity Establishment) server request information including public IP information from each client, and selects a TURN server corresponding to the ICE server request information based on a distance between each client and the plurality of TURN servers.

[0025] According to another embodiment of the present specification, a method for remotely controlling a robot using multiple channels according to the present specification includes a step in which a relay server receives video / audio data from a robot through a single video / audio channel; and a step in which the relay server transmits the received video / audio data through a plurality of video / audio channels separated from the single video / audio channel to a plurality of clients, each of which is individually matched to the plurality of video / audio channels, wherein the single video / audio channel and the plurality of video / audio channels use a WebRTC protocol.

[0026] Preferably, the robot control system further comprises a step of granting authority to control the robot to any one of the plurality of clients; and a step of allowing the client granted authority to control the robot to control the robot by transmitting voice / control data through a single control channel using the WebRTC protocol.

[0027] As described above, according to the present specification, a method and system for remotely controlling a robot using multiple channels are provided, which transmits video / audio data from a robot to a relay server through a single video / audio channel, and transmits video / audio data from the relay server to multiple clients through multiple video / audio channels, so that even if the number of clients increases, the network of the robot does not increase, so that the network of the robot can be used efficiently.

[0028] In addition, by providing a method and system for remotely controlling a robot using multiple channels in which only clients assigned with the authority to control the robot connect data channels with the robot, without allowing clients not assigned with the authority to control the robot to connect data channels with the robot, the network of robots can be used efficiently.

[0029] In addition, by providing a robot remote control method and system using multiple channels that encrypt all transmitted and received data through network communication section encryption, it is possible to safely manage and prevent theft of sensitive data that may be in video and audio data.

[0030] In addition, by providing a method and system for remotely controlling a robot using multiple channels that control it through voice communication in addition to methods that can resolve various problem situations that may occur in a robot through video and remote control, it is possible to resolve problems in a safer way than before.

[0031] In addition, by providing a method and system for remotely controlling a robot using multiple channels that can be monitored by more than one client due to increased network efficiency, it is possible to respond more flexibly to problem situations.

[0032] Figure 1 is a block diagram schematically showing the configuration of a robot remote control system using multiple channels according to an embodiment of the present invention.

[0033] Figure 2 is a block diagram showing a schematic configuration of the inside of a relay server according to an embodiment of the present invention;

[0034] FIG. 3 is a signal flow diagram showing a channel connection process for transmitting video / audio from a robot to a relay server according to an embodiment of the present invention.

[0035] FIG. 4 is a signal flow diagram showing a channel connection process for receiving video / audio from a relay server by a client according to an embodiment of the present invention.

[0036] FIG. 5 is a signal flow diagram showing a control channel connection process for a client to control a robot according to an embodiment of the present invention, and

[0037] FIG. 6 is a signal flow diagram illustrating a process in which a robot control system according to an embodiment of the present invention removes a client's robot control authority.

[0038] It should be noted that the technical terms used herein are merely used to describe specific embodiments and are not intended to limit the present invention. Furthermore, unless specifically defined otherwise herein, the technical terms used herein should be interpreted as having a meaning generally understood by those skilled in the art to which the present invention pertains, and should not be interpreted in an overly comprehensive or overly narrow sense. Furthermore, if a technical term used herein is incorrect and does not accurately express the spirit of the present invention, it should be replaced with a technical term that can be correctly understood by those skilled in the art. Furthermore, general terms used herein should be interpreted according to their dictionary definitions or according to the context, and should not be interpreted in an overly narrow sense.

[0039] Additionally, the singular expressions used herein include plural expressions unless the context clearly dictates otherwise. In this application, terms such as "consist of" or "comprises" should not be construed to necessarily include all of the various components or various steps described in the specification, and should be construed to mean that some of the components or some of the steps may not be included, or that additional components or steps may be included.

[0040] In addition, the suffixes "module" and "part" used for components in this specification are given or used interchangeably only for the convenience of writing the specification, and do not have distinct meanings or roles in themselves.

[0041] Additionally, terms including ordinal numbers, such as "first," "second," etc., used herein may be used to describe various components, but these components should not be limited by these terms. These terms are used solely to distinguish one component from another. For example, without departing from the scope of the present invention, a first component could be referred to as a "second component," and similarly, a second component could also be referred to as a "first component."

[0042] [Explanation of symbols]

[0043] 110: Robot 120: Relay Server

[0044] 130: Multiple Clients 140: Robot Control System

[0045] 210: Storage unit 220: Streaming unit

[0046] 230: Delay Prevention Section 240: Notification Section

[0047] 250: Reorganization Department

[0048] Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the attached drawings. Regardless of the drawing numbers, identical or similar components are given the same reference numbers and redundant descriptions thereof will be omitted.

[0049] Furthermore, when describing the present invention, detailed descriptions of related known technologies will be omitted if they are deemed to obscure the gist of the present invention. Furthermore, it should be noted that the attached drawings are intended solely to facilitate understanding of the spirit of the present invention and should not be construed as limiting the spirit of the present invention.

[0050] FIG. 1 is a block diagram schematically showing the configuration of a robot remote control system using multiple channels according to an embodiment of the present invention.

[0051] Referring to FIG. 1, a robot remote control system according to the present invention may include a robot (110), a relay server (120), a plurality of clients (130), and a robot control system (140).

[0052] The robot (110) may be a drone-type robot, a wheel-driven robot, a bipedal walking robot, or a caterpillar-driven robot. The robot (110) includes a camera and can transmit video / audio data captured by the camera to a relay server (120) through a single video / audio channel.

[0053] Robots (110) can also be broadly divided into standalone and docking station types. Standalone robots can independently perform all functions. Docking station robots can perform all functions of the robot by combining two or more functionally separate electronic devices into one. For example, a docking station robot includes a main body and a driving unit, and the main body is mounted on a docking station (driving unit) and can be moved to a desired location.

[0054] A drone-type robot may include at least one propeller, and the propeller may be driven to move the robot body forward, backward, turn left, turn right, ascend and descend, or stop while maintaining a certain altitude.

[0055] Wheel-driven robots can use wheels as their driving mechanism. Wheel-driven robots can move forward, backward, turn left, and turn right using their wheels.

[0056] Bipedal robots have legs and can move like humans walking.

[0057] A caterpillar-driven robot can be driven by two caterpillars.

[0058] The relay server (120) may configure a single video / audio channel capable of receiving video / audio data from the robot (110), and may configure multiple video / audio channels separated from the single video / audio channel, capable of transmitting the video / audio data received from the robot (110) to multiple clients (130). Here, it is preferable that the single video / audio channel and the multiple video / audio channels use the WebRTC (Web Real-Time Communication) protocol to minimize delay in video data transmitted between peers.

[0059] Accordingly, the relay server (120) can stream video / audio data input from the robot (110) to multiple clients (130) in real time.

[0060] To this end, the relay server (120) may be implemented as a computer capable of connecting to a remote server or terminal via a network. Here, the computer may include, for example, a notebook computer, desktop computer, or laptop computer equipped with a navigation system or web browser. The detailed configuration of the relay server (120) will be described in FIG. 2.

[0061] A plurality of clients (130) are each matched one-to-one with a plurality of video / audio channels and receive video / audio data through the plurality of video / audio channels.

[0062] In addition, if one of the multiple clients (130) (130a) is granted the authority to control the robot (110) by the robot control system (140), the client (130a) can control the robot (110) by transmitting voice / control data through a single control channel. Here, the single control channel preferably uses the WebRTC protocol, similar to the single video / audio channel and the multiple video / audio channels described above. The single video / audio channel, the multiple video / audio channels, and the single control channel can be encrypted using the DTLS (Datagram Transport Layer Security) encryption protocol of the WebRTC protocol.

[0063] The plurality of clients (130) may be user terminals utilizing web pages, app pages, programs, or applications related to real-time streaming robot remote control. The plurality of clients (130) may be terminals that receive control data and transmit voice input using at least one plug-in.

[0064] Here, at least one client (130) may be implemented as a computer capable of connecting to a remote server or terminal via a network. Here, the computer may include, for example, a notebook, desktop, or laptop equipped with a navigation system or web browser. In this case, at least one client (130) may be implemented as a terminal capable of connecting to a remote server or terminal via a network. At least one client (130) may include, for example, a wireless communication device that ensures portability and mobility, such as a navigation, a PCS (Personal Communication System), a GSM (Global System for Mobile communications), a PDC (Personal Digital Cellular), a PHS (Personal Handyphone System), a PDA (Personal Digital Assistant), an IMT (International Mobile Telecommunication)-2000, a CDMA (Code Division Multiple Access)-2000, a W-CDMA (W-Code Division Multiple Access), a Wibro (Wireless Broadband Internet) terminal, a smartphone, a smart pad, a tablet PC, and all kinds of handheld-based wireless communication devices.

[0065] The robot control system (140) grants the authority to control the robot to at least one client (130a) among a plurality of clients (130), thereby controlling clients that can only play video / audio and clients that can play video / audio and control the robot. In addition, the robot control system (140) may, at the request of an administrator, request the robot (110) to remove the control authority of the client (130a) and cause the robot (110) to disconnect from a single control channel.

[0066] FIG. 2 is a block diagram schematically showing the internal configuration of a relay server according to an embodiment of the present invention.

[0067] First, when the relay server (120) according to an embodiment of the present invention or another server (not shown) that operates in conjunction with it transmits a real-time streaming-based video / audio relay service application, program, app page, web page, etc. to the robot (110) and at least one client (130), at least one client (130) can install or open the real-time streaming-based video / audio relay service application, program, app page, web page, etc. In addition, the service program may be driven on at least one client (130) using a script executed in a web browser. Here, the web browser refers to a program that enables the use of a web (WWW: World Wide Web) service and is a program that receives and displays hypertext described in HTML (Hyper Text Mark-up Language), and includes, for example, Netscape, Explorer, Chrome, etc. In addition, the application refers to an application program on a terminal, and includes, for example, an app executed on a mobile terminal (smartphone).

[0068] Referring to FIG. 2, a relay server (120) according to the present invention may include a storage unit (210), a streaming unit (220), a delay prevention unit (230), a notification unit (240), and a re-adjustment unit (250).

[0069] The storage unit (210) can modularize and database a web browser capable of transmitting video / audio from a robot (110) to at least one client (130). The storage unit (210) can modularize at least one plug-in including a web browser.

[0070] The streaming unit (220) can stream in real time the video and audio input from the robot (110). That is, the robot (110) can receive video input through a camera and audio input through a microphone and stream them in real time. At least one client (130) can receive video and audio transmitted from the robot (110) in real time. At this time, streaming can be done based on HTML5 so that streaming can be done based on a web browser without installing a program or application.

[0071] Here, HTML5 is the latest standard of HTML, a web document standard, and includes functions for running images, videos, and music, etc., centered on document creation. HTML5 eliminates the need to separately install plug-in-based programs such as Active-X and Flash, and can solve most of the problems that arise from them. The biggest difference between the existing HTML standard and HTML5 is that it supports semantic markup and provides additional APIs. Semantic markup is a new element that can semantically structure web documents. For example, to be able to divide the contents of a document into a header, body, and footer, <section> , <footer>By writing documents using this element, the structure of the document's content becomes more clearly understood. Furthermore, HTML5 provides various APIs. These APIs enable the addition of various features to web applications, such as support for two-dimensional graphics or the ability to determine a device's geographic location. Furthermore, HTML5, the markup language used to create web pages, allows HTML, previously expressed as hyperlinks and text, to be expressed and presented as diverse applications, including multimedia.

[0072] HTML5 can be implemented by incorporating HTML, a markup language for designing web document structures, CSS for design expression, and JavaScript for expressing interactive behavior. New tags can be added to existing HTML tags, and its structure for containing content can be improved to even serve as a platform. While HTML5 is not a standard for the mobile web, it provides many of the features necessary for implementing the mobile web, among the many previously described features. Two-dimensional graphics, audio, and various web forms can enrich and diversify the mobile web's user interface (UI). In other words, HTML5 can provide multimedia information and support dynamic user interaction even in a mobile web environment. Due to the nature of the mobile environment, the transfer of large amounts of data is limited and internet disconnections are frequent. However, these limitations can be overcome by implementing offline web applications using the web client's cache or storing a database locally and querying it with SQL statements.

[0073] The delay prevention unit (230) can perform P2P video and data communication using WebRTC. Various protocols exist and can be used for streaming, such as RTMP, RTSP, MPEG Dash, and WebRTC. WebRTC is a protocol proposed by W3C that enables real-time communication of audio, video, etc. without separate plugins. It has the advantage of requiring no separate plugins and providing low latency. WebRTC is an open source project with a structure of Mesh, SFU, and MCU. The Mesh structure is a method in which each node is connected one-to-one and exchanges data communication, similar to the P2P method. The SFU and MCU are structures in which multiple nodes communicate and a central server exists. The SFU structure is a method in which data is distributed without processing from the central server and communicated. The MCU structure is a method in which data is processed and communicated from the central server. Since the communication method is different for each model, the appropriate utilization method can be found and utilized for each model. Since real-time streaming requires communication with multiple users via a central server and latency is a critical factor, the embodiments of the present invention utilize the SFU method to enable real-time streaming for two or more users. Of course, other methods are not excluded.

[0074] The efficiency of HTTP-based adaptive media streaming systems can also be improved by leveraging P2P communication based on WebRTC. This system, called the Hive system, utilizes DASH, an HTTP-based adaptive media streaming method. In the Hive system, when a client needs a DASH segment, it requests the segment from another peer viewing the same content before requesting it from the CDN server. This significantly reduces traffic from the CDN server or HTTP cache. This method can significantly reduce costs for CDN operators without lowering the Quality of Service (QoS) when streaming media. Furthermore, compared to typical P2P methods, browsers that support the WebRTC standard can use standard APIs, reducing the cost of web program development using JavaScript. Furthermore, since there is no need to install special plug-ins or additional applications, user accessibility and convenience are increased.

[0075] After a successful P2P connection, connected peers share their media data information with each other. Using this information, peers randomly select a peer with the media data when they need specific media data. If the data request is rejected or exceeds a certain time limit, a request is sent to a CDN media server to retrieve the media data. During this process, if media data is requested from peers in a slow network environment, the P2P connection may become unstable, resulting in increased requests to the CDN server, which may reduce the CDN cost savings (amount of data received via P2P / total amount of data received). Therefore, a client peer can accumulate the media data delivery history of peers in its peer list and store it as statistical data. When requesting media data via P2P communication, the client peer can utilize this data to prioritize requests to the peer with the highest P2P success rate.

[0076] However, from the client's perspective, to maximize segment acquisition success rates, clients tend to continuously request segments from peers with which they communicate most smoothly. This has the disadvantage of concentrating the load on these peers. This concentration of load on a single peer not only overuses that peer's resources, but also, if peer-to-peer communication is paid, the peer owner may become dissatisfied as they are forced to shoulder the P2P traffic costs themselves in order to reduce CDN costs. Rather than excessively burdening a single peer, it is desirable to distribute the load across multiple peers at an appropriate level. A novel peer selection algorithm can be utilized to distribute the load across multiple peers while maintaining an appropriate level of CDN cost savings.

[0077] For example, instead of selecting the peer with the highest priority, a list can be constructed that includes the peer with the highest priority and peers with priorities one or two levels lower than that, and a peer can be randomly selected from this list. If the constructed list contains multiple peers, including the peer that received the previous segment request, the peer that received the previous segment request can exclude that peer from the list, thereby avoiding the case where a single peer receives two segment requests in a row. Of course, if there is only one peer left on the list, it can still send a segment request even if it is the peer that received the previous segment request. Usually, the priority of a peer that has maintained a good P2P communication status for a certain period of time easily reaches the upper limit, so the random selection process gives a chance to be selected up to a peer with a priority of 3.

[0078] WebRTC uses ICE (Interactive Connectivity Establishment) to find the optimal path for two peers to communicate with each other. Since WebRTC is often used in a NAT (Network Address Translation) environment, it utilizes the following two types of connection methods to perform peer-to-peer connections. That is, WebRTC uses NAT traversal (Network Address Translation Traversal) to access the internal network from the external network and connect peers using STUN (Session Traversal Utilities for NAT). In cases where the NAT type is APDM / APDF (RFC 5780) or Symmetric (RFC 3489), access from the external network to the internal network is not possible, so direct peer-to-peer connection is not possible. Therefore, it can perform peer-to-peer connection using the TURN (Traversal Using Relays around NAT) server. In an embodiment of the present invention, when WebRTC is connected to each client through a TURN (Traversal Using Relays around Network Address Translation) server, WebRTC receives ICE (Interactive Connectivity Establishment) server request information including public IP information from each client, and selects a TURN server corresponding to the ICE server request information based on the distance between each client and a plurality of TURN servers. Specifically, WebRTC calculates the distance between each client and a plurality of TURN servers based on the public IP information and the plurality of TURN server information, generates a plurality of pieces of distance information, determines distance information corresponding to a shortest distance among the plurality of pieces of distance information, and extracts TURN server information corresponding to the determined distance information from a database.

[0079] The notification unit (240) can automatically readjust the settings of the robot (110) when a video or audio is input from the robot (110) but no video or audio is output from one or more of the clients (130).

[0080] The readjustment unit (250) can automatically readjust the settings of the client (130) that is not outputting video or audio when video or audio is input from the robot (110) but no video or audio is output from at least one client (130) or at least one client (130). Extracting the client's setting values ​​and readjusting them according to each model or specification or device or OS is not difficult because the setting values ​​can be saved in advance and changed at once, so a detailed description is omitted.

[0081] FIG. 3 is a signal flow diagram illustrating a channel connection process for video / audio transmission from a robot to a relay server according to an embodiment of the present invention.

[0082] Referring to FIG. 3, the robot (110) requests authentication to the robot control system (140) (S310) and receives an authentication result, such as success or failure, from the robot control system (140) (S320).

[0083] If the authentication is successful, the robot (110) requests information for video / audio transmission of the robot (110) from the robot control system (140) (S330) and receives information for video / audio transmission of the robot (110) from the robot control system (140) (S340). Here, the information for video / audio transmission of the robot (110) may include the domain name, IP address, and service type of the relay server (120).

[0084] The robot (110) uses the information to connect to the relay server (120) and request a channel connection for video / audio transmission of the robot (110) (S350), and receives a result of the channel connection for video / audio transmission of the robot (110), such as success or failure, from the relay server (120) (S360).

[0085] FIG. 4 is a signal flow diagram showing a channel connection process for receiving video / audio from a relay server by a client according to an embodiment of the present invention.

[0086] Referring to FIG. 4, the client (130) requests authentication to the robot control system (140) (S410) and receives an authentication result, such as success or failure, from the robot control system (140) (S420).

[0087] If authentication is successful, the client (130) requests information for video / audio reception of the robot (110) from the robot control system (140) (S430), and receives information for video / audio reception of the robot (110) from the robot control system (140) (S440). Here, the information for video / audio reception of the robot (110) may include the domain name, IP address, and service type of the relay server (120).

[0088] The client (130) uses the information to connect to the relay server (120), request a channel connection for receiving video / audio from the robot (110) (S450), and receives a result of the channel connection for receiving video / audio from the robot (110), such as success or failure, from the relay server (120) (S460).

[0089] FIG. 5 is a signal flow diagram illustrating a control channel connection process for a client to control a robot according to an embodiment of the present invention.

[0090] Referring to FIG. 5, the client (130) requests authentication to the robot control system (140) (S510) and receives an authentication result, such as success or failure, from the robot control system (140) (S520).

[0091] If the client (130) is successfully authenticated, the client (130) requests the robot control system (140) to confirm whether it has control authority over the robot (110) (S530), and receives the confirmation result regarding control authority over the robot (110) from the robot control system (140) (S540).

[0092] If the client (130) has control authority over the robot (110) based on the verification result, it requests information for controlling the robot (110) from the robot control system (140) (S550) and receives information for controlling the robot (110) from the robot control system (140) (S560). Here, the information for controlling the robot (110) may include the domain name, IP address, and service type of the robot (110).

[0093] The client (130) uses the information to connect to the robot (110), requests a robot (110) control channel connection (S570), and receives a robot (110) control channel connection result, such as success or failure, from the robot (110) (S580).

[0094] FIG. 6 is a signal flow diagram illustrating a process in which a robot control system according to an embodiment of the present invention removes a client's robot control authority.

[0095] Referring to FIG. 6, the administrator requests the robot (110) to remove control authority of a specific client (130a) via the robot control system (140) (S610).

[0096] When a control channel is connected to a specific client (130a), the robot (110) disconnects the control channel connection with the client (130a) (S620), and then transmits a response to remove control authority of the specific client (130a) to the administrator via the robot control system (140) to inform the administrator that the control channel connection with the specific client (130a) has been disconnected (S630).

[0097] The aforementioned method can be implemented through various means. For example, embodiments of the present invention can be implemented through hardware, firmware, software, or a combination thereof.

[0098] In the case of hardware implementation, the method according to embodiments of the present invention may be implemented by one or more ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), processors, controllers, microcontrollers, and microprocessors.

[0099] When implemented using firmware or software, the methods according to embodiments of the present invention may be implemented in the form of modules, procedures, or functions that perform the functions or operations described above. The software code may be stored in a memory unit and executed by a processor. The memory unit may be located within or outside the processor and may exchange data with the processor using various known means.

[0100] The embodiments disclosed in this specification have been described above with reference to the attached drawings. The embodiments depicted in each drawing should not be construed as limiting, and those skilled in the art, familiar with the contents of this specification, may combine them with each other. When combined, some components may be omitted.

[0101] Here, the terms or words used in this specification and claims should not be interpreted as limited to their usual or dictionary meanings, but should be interpreted as meanings and concepts consistent with the technical ideas disclosed in this specification.

[0102] Therefore, the embodiments described in this specification and the configurations illustrated in the drawings are merely embodiments disclosed in this specification and do not represent all of the technical ideas disclosed in this specification. Therefore, it should be understood that there may be various equivalents and modified examples that can replace them at the time of this application.< / footer> < / section>

Claims

1. A robot that takes images using a camera and transmits image / audio data in real time through a single image / audio channel; A relay server that receives video / audio data from the robot through the single video / audio channel and transmits the received video / audio data through multiple video / audio channels separated from the single video / audio channel; and A plurality of clients that are each matched one-to-one with the plurality of video / audio channels and receive the video / audio data through the plurality of video / audio channels; Including, A robot remote control system using multiple channels, characterized in that the single video / audio channel and the multiple video / audio channels use the WebRTC protocol.

2. In paragraph 1, A robot control system that grants one of the plurality of clients the authority to control the robot; Including more, A robot remote control system using multiple channels, characterized in that a client among the plurality of clients authorized to control the robot controls the robot by transmitting voice / control data through a single control channel using the WebRTC protocol.

3. In paragraph 2, A robot remote control system using multiple channels, characterized in that the single video / audio channel, the multiple video / audio channels, and the single control channel are encrypted using the DTLS (Datagram Transport Layer Security) encryption protocol of the WebRTC protocol.

4. In paragraph 2, A robot remote control system using multiple channels, characterized in that the robot connects to the single video / audio channel between the robot and the relay server when the robot control system is successfully authenticated.

5. In paragraph 2, A robot remote control system using multiple channels, characterized in that the plurality of clients, when the authentication of the robot control system is successful, receive information about the relay server from the robot control system, and connect to the plurality of video / audio channels between the plurality of clients and the relay server based on the received information about the relay server.

6. In paragraph 2, A robot remote control system using multiple channels, characterized in that the client checks whether the robot control system has the authority to control the robot, and if the client has the authority to control the robot, requests and receives information for controlling the robot from the robot control system, analyzes the received information for controlling the robot to determine whether the client has the authority to control the robot, and if the client has the authority to control the robot, connects to the single control channel between the client and the robot.

7. In paragraph 2, The above robot control system requests the robot to remove the client's control authority at the administrator's request, A robot remote control system using multiple channels, characterized in that the robot disconnects the single control channel.

8. In paragraph 1, When the above relay server is connected to each client through a TURN (Traversal Using Relays around Network Address Translation) server, The above remote control system further comprises a plurality of TURN servers, A robot remote control system using multiple channels, characterized in that the relay server receives ICE (Interactive Connectivity Establishment) server request information including public IP information from each client, and selects a TURN server corresponding to the ICE server request information based on the distance between each client and the plurality of TURN servers.

9. A step in which the relay server receives video / audio data from the robot through a single video / audio channel; and A step in which the relay server transmits the received video / audio data to a plurality of clients, each of which is matched one-to-one with the plurality of video / audio channels, through a plurality of video / audio channels separated from the single video / audio channel; Including, A method for remotely controlling a robot using multiple channels, characterized in that the single video / audio channel and the plurality of video / audio channels use the WebRTC protocol.

10. In paragraph 9, A step in which the robot control system grants authority to control the robot to any one of the plurality of clients; and A step in which a client authorized to control the robot controls the robot by transmitting voice / control data through a single control channel using the WebRTC protocol; A method for remotely controlling a robot using multiple channels, characterized in that it further includes:

Citation Information

Patent Citations

  • System and method for multicasting live content

    JP2024073386A

  • Non-Hogel-based Computer Generated Hologram with Occlusion Processing Method and System for Between the Foreground Light Field and Background Hologram

    KR1020240048406A

  • Method for managing application and Terminal thereof

    KR1020250080405A

  • Composition for treatment of muscular disorders

    KR102295305B1