Remote control method and device, autonomous mobile device and storage medium
By using preset protocols in remote control to parse message bodies and verify response qualifications, the problems of data interaction security and resource waste are solved, and safe and efficient remote control is achieved.
Patent Information
- Application Number
- CN202411133218.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-16
- Publication Date
- 2024-12-24
AI Technical Summary
In the process of remote control of robots, the security of data interaction is difficult to ensure, which can easily lead to data leakage and message interception, which will affect user privacy and needs satisfaction.
The preset protocol is used to parse the message body, obtain control requests and verification information, ensure that the message body is difficult to parse after being intercepted, and determine the response qualification based on the verification information to avoid error responses, and filter out the most suitable device to execute the control request.
It improves the security of data transmission and resource utilization efficiency, avoids error responses and resource waste, and ensures the security and accuracy of data interaction.
Smart Images

Figure CN119182810A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of remote control technology, and specifically to a remote control method, device, autonomous mobile device and storage medium. Background Art
[0002] With the development and progress of science and technology, more and more intelligent products are being created and are closely related to people's lives. In various scenarios, people have designed different robots to replace people to perform various tasks, such as errand running robots, mobile vending robots, etc.
[0003] In related technologies, different manufacturers may deploy robots with the same functions in the same area. When a user needs to use a robot, in some examples, he or she needs to first select the manufacturer of his or her choice, and then enter the requirement in the manufacturer's application. After the application receives the requirement, it will encapsulate the user's input using the manufacturer's control protocol and send it to the corresponding robot.
[0004] Among them, the encapsulated message is easy to be intercepted in the process of being sent to the robot, which may lead to the following problems: for example, when the encapsulated message includes sensitive information of the user, data leakage is easy to occur, resulting in the violation of the user's privacy; for example, when the encapsulated message may be intercepted, the robot cannot receive the message, and the user's needs cannot be met.
[0005] Therefore, how to ensure the security of data interaction during remote control of robots is an urgent problem to be solved. Summary of the invention
[0006] The embodiments of the present application propose a remote control method, device, autonomous mobile device and storage medium to solve the above problems.
[0007] In a first aspect, an embodiment of the present application provides a remote control method, the method comprising: in response to receiving a message body, parsing the message body using a preset protocol to obtain a control request and verification information, wherein the preset protocol is used to specify the composition of the message body; if it is determined according to the verification information that it is eligible to respond, determining whether to respond to the control request based on the control request.
[0008] In a second aspect, an embodiment of the present application provides a remote control device, which includes: a data parsing module, which is used to parse the message body in response to receiving a message body, using a preset protocol to obtain a control request and verification information, wherein the preset protocol is used to specify the composition of the message body; a response judgment module, which is used to determine whether to respond to the control request based on the control request if it is determined that it is eligible to respond based on the verification information.
[0009] In a third aspect, an embodiment of the present application provides an autonomous mobile device, which includes a memory and one or more processors, wherein one or more applications are stored in the memory, and the one or more applications are used to execute the method described above when called by the one or more processors.
[0010] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which a program code is stored, and the program code is used to execute the method as described above when called by a processor.
[0011] The remote control method, device, autonomous mobile device and storage medium provided in the embodiments of the present application, in response to receiving a message body, adopt a preset protocol to parse the message body to obtain a control request and verification information, and then parse the message body based on the preset protocol, so that even if the message body is intercepted, it is difficult to parse, thereby ensuring the security of data transmission; by determining that it is qualified to respond according to the verification information, and determining whether to respond to the control request according to the control request, it is possible to determine whether it is a device qualified to respond to the control request according to the verification information, and then screen out the device most suitable for responding to the control request according to the control request itself, thereby avoiding the occurrence of erroneous responses and reducing resource waste. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.
[0013] Figure 1 A schematic diagram of an application scenario of the remote control method provided in an embodiment of the present application is shown;
[0014] Figure 2 A schematic diagram of data flow provided by an exemplary embodiment of the present application is shown;
[0015] Figure 3 A schematic diagram of data flow provided by another exemplary embodiment of the present application is shown;
[0016] Figure 4 A schematic diagram of a remote control method according to an embodiment of the present application is shown;
[0017] Figure 5 A schematic diagram showing the structure of a message body provided by an exemplary embodiment of the present application is shown;
[0018] Figure 6 A schematic diagram showing the structure of a message body provided by another exemplary embodiment of the present application is shown;
[0019] Figure 7 A schematic diagram showing a flow chart of a remote control method provided by another embodiment of the present application is shown;
[0020] Figure 8 A schematic diagram of a remote control method according to an exemplary embodiment of the present application is shown;
[0021] Fig. 9 A schematic diagram showing the structure of a message body provided by another exemplary embodiment of the present application is shown;
[0022] Fig.10 A schematic diagram showing the structure of a message body provided by yet another exemplary embodiment of the present application is shown;
[0023] Fig.11 A schematic diagram of the structure of a remote control device provided in an embodiment of the present application is shown;
[0024] Fig.12 A schematic diagram of the structure of a remote control device provided by another embodiment of the present application is shown;
[0025] Fig.13 A schematic diagram of the structure of an autonomous mobile device provided in an embodiment of the present application is shown. DETAILED DESCRIPTION
[0026] In order to enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without making creative work are within the scope of protection of the present application.
[0027] See also Figure 1 , Figure 1 The schematic diagram of the application scenario of the remote control method provided by the embodiment of the present application is shown. In the present application, the autonomous mobile device 110 may include a robot, and the robot may include but is not limited to a mobile vending robot, an errand running robot, etc., which is not limited in the present application.
[0028] For some examples, see Figure 2, the client 120 can be connected to multiple robots through the server. Among them, multiple robots can belong to the same area and are all connected to the server. When the user actively initiates a connection to the server through the client 120, the client 120 can exchange data with multiple robots through the server. In this case, when the user has more complex needs, the server can process the needs and schedule the robots to ensure the working efficiency of the robots.
[0029] In some other embodiments, please refer to Figure 3 When the client 120 and the robot are in the same local area network, the client 120 can directly connect to multiple robots. When the user has a need, data can be directly interacted with multiple robots. In this case, since data is not interacted with the server, the impact of network fluctuations on the data interaction between the client 120 and the robot can be reduced.
[0030] See also Figure 4 , Figure 4 The flowchart of the remote control method provided by an embodiment of the present application is shown. The remote control method can be applied to an autonomous mobile device or a remote control device or an autonomous mobile device. The remote control method can specifically include the following steps S110 to S120.
[0031] Step S110: In response to receiving the message body, the message body is parsed using a preset protocol to obtain a control request and verification information, wherein the preset protocol is used to specify the composition of the message body.
[0032] The message body is sent by the client, which may be a mobile terminal such as a mobile phone or a remote controller, and is not limited in this application. When a user generates a demand, a control request corresponding to the demand may be input to the client. The control request may be a complete sentence or may consist of multiple keywords.
[0033] For example, the control request may be "go to the courier location, pick up the courier and then deliver it to the target location", or it may be "courier location", "target location", and "pick up the courier".
[0034] After the user inputs the control request to the client, the client may encapsulate the control request into a message body according to a preset protocol and send the message body.
[0035] The preset protocol is a pre-set protocol for specifying the composition of the message body. The preset protocols for different functions may be different. When developing functions, the application layer protocol message may be customized by the developer in advance through JavaScript Object Notation (JSON). In some embodiments, the preset protocol is stored in the client and all autonomous mobile devices.
[0036] In the embodiment of the present application, the preset protocol is essentially an agreement, and the meaning represented by each field of the message body is agreed in advance by the developer. As long as the preset protocol is known, the content in the message body can be parsed. The client encapsulates the control request through the preset protocol to obtain the message body, and the recipient of the message body can also parse the message body through the preset protocol to obtain the control request. It can be roughly understood as an encryption and decryption process. Even if the message body is intercepted by a third party, the third party cannot know the specific content of the control request without knowing the preset protocol, which improves security.
[0037] For examples, see Figure 5 ,for Figure 5 The message body shown, "behavior" represents the user's control request, "number" represents the unique identification information of this message body among all message bodies, and "..." indicates that the message body may also include other custom fields, which are not limited in the embodiments of the present application.
[0038] In some implementations, when the user's control request consists of multiple keywords, it can be as follows: Figure 6 They can be stored in different fields as shown, or they can be stored as Figure 5 The shown are stored in the same field (for example Figure 5 In the behavior field in the example of the present application, this embodiment is not limited here.
[0039] Verification information is a field in the message body that includes data for the robot to verify whether it is eligible to respond. It is understandable that robots from different manufacturers may have different performance and prices. When a user performs remote operation, he does not know which manufacturer or model of robot is assigned to him. Therefore, this results in the user being unable to freely choose the robot of his choice to perform the operations he wants. For example, when there are errand robots from different manufacturers in the community at the same time, when the user performs remote control, there is a probability that the errand robot from a manufacturer that the user does not like (for example, the user is not satisfied with the price) will perform the operation, which may result in a poor user experience.
[0040] Therefore, in some implementations, the user can select the manufacturer or model by himself through the verification information, and the robot determines whether it is qualified to respond through the verification information. For example, the user can check the manufacturer of his / her choice in the application, and the corresponding verification information is determined according to the user's selection, so as to ensure that the robot that executes the user's control request must belong to the manufacturer selected by the user.
[0041] In some embodiments, the verification information may include at least one manufacturer identification. As mentioned above, in the related art, assuming that a region includes robots from four manufacturers, A, B, C, and D, then when defining a preset protocol, the corresponding manufacturer can be determined according to the function and written into the verification information of the preset protocol of the corresponding function.
[0042] For example, suppose the application includes the function of running errands and picking up express deliveries, where the robots of manufacturers A and B are cheaper, while the robots of manufacturers C and D are more expensive. Then when the user selects manufacturers A and B in the application, the corresponding preset protocol can be selected, where the preset protocol includes verification information such as "A" and "B".
[0043] In some implementations, after the client encapsulates the control request into a message body, the message body may be sent to the server, and then the server broadcasts the message body to all autonomous mobile devices connected to the server. The autonomous mobile device may include the robot and other devices in the above example.
[0044] In some other implementations, the client and multiple robots may be in the same local area network. After the client encapsulates the control request into a message body, the client can directly broadcast the message body to all robots in the local area network.
[0045] In some embodiments, for any autonomous mobile device that receives the message body, after receiving the message body and parsing the verification information, it can obtain its own corresponding manufacturer identifier from the verification information; if its own corresponding manufacturer identifier is found in the at least one manufacturer identifier, it is determined that it is eligible to respond.
[0046] As shown in the example above, when a robot of manufacturer A receives a message body, it can parse the message body through a preset protocol and obtain verification information in the message body including A and B. Since its own manufacturer identifier is A, it determines that it is eligible to respond and should execute the next step.
[0047] In other embodiments, the verification information may include at least one model identifier. As mentioned above, different models of robots may have different performance or prices, and the user may also select the model of his or her choice and adopt the corresponding preset protocol, which will not be described in detail in the embodiments of the present application.
[0048] In some embodiments, the control request may include some conditions that the control object needs to meet. For example, in the above example, the user's actual demand may be "the nearest robot goes to the express location, picks up the express and delivers it to the target location." In this case, the condition included in the control request is "the nearest robot."
[0049] In other embodiments, the user may not explicitly specify the "nearest robot". In this case, the client can determine the best option to implement the control request after analyzing the user's control request. Among them, the understanding of "best" can be the fastest execution efficiency, which can realize the user's needs as soon as possible, or it can be to minimize the scheduling of robots and save resources. The embodiments of this application are not limited here. For example, the client can determine by default that the "nearest robot" is the best choice for the need to pick up a courier. Therefore, when the client identifies the control request as a related function of "picking up a courier", the "nearest robot" field can be directly written in the message body as a requirement in the message body.
[0050] Among them, by controlling the conditions included in the request, the most suitable executor (i.e., the robot in the above example) can be further screened out according to actual needs, thereby improving subsequent execution efficiency.
[0051] Step S120: If it is determined that the device has the response qualification according to the verification information, determine whether to respond to the control request according to the control request.
[0052] In some implementations, after determining that it is eligible to respond, it can parse the control request to obtain the conditions and control operations that the control object needs to meet; if it meets the conditions, it executes the control operation.
[0053] In some implementations, the autonomous mobile device can determine whether it can meet the aforementioned conditions. For example, when the user's control request is "all robots go to the target location to move goods", after receiving the message body and determining that it is eligible to respond, the robot can directly determine that it meets the conditions and directly execute the user's request instruction.
[0054] In other embodiments, the autonomous mobile device cannot determine whether it can meet the conditions. In related technologies, robots from different manufacturers generally do not exchange data, and different robots generally do not exchange data with each other. Therefore, when the user's control request is "the nearest robot goes to the target location to move the goods", it is assumed that robots A, B, and C are all qualified to respond, but at this time, since there is no data exchange between robots A, B, and C, none of the robots itself knows whether it meets the above conditions.
[0055] Therefore, in some embodiments, if the device itself is unable to determine whether it satisfies the condition, it obtains information related to the condition; uploads the obtained information related to the condition to the server, so that the server determines the target autonomous mobile device that satisfies the condition based on the information related to the condition uploaded by multiple autonomous mobile devices, and sends an affirmative response to the target autonomous mobile device; in response to receiving the affirmative response sent by the server, it determines that it satisfies the condition.
[0056] In some embodiments, when the condition includes N (N is a positive integer) devices that are closest to the sender of the message body, the distance between itself and the sender of the message body is obtained as information related to the condition; the distance between itself and the sender of the message body is uploaded to the server, so that the server determines the first N autonomous mobile devices that are closest to the sender of the message body as target autonomous mobile devices based on the distances uploaded by multiple autonomous mobile devices.
[0057] The message body may include a field for recording the location of the client or user, which may be written by the user or collected and written by the client, and the embodiment of the present application does not limit this.
[0058] When the autonomous mobile device receives the message body, it can parse the location of the client or user, and calculate the distance between itself and the sender of the message body in combination with its own location. The distance can be a straight-line distance or a shortest path distance calculated in combination with a map, which is not limited in the present embodiment.
[0059] At this time, the distance is uploaded to the server. When the server collects the distances sent by all autonomous mobile devices eligible to respond, the multiple distances can be sorted according to the distance size, and the N autonomous mobile devices with the closest distances are determined as target autonomous mobile devices.
[0060] In other embodiments, when the conditions include N (N is a positive integer) devices with the fastest response speed, its own operation queue can be obtained as information related to the condition; its own operation queue can be uploaded to the server, so that the server can determine the top N devices with the fastest response speed as target autonomous mobile devices based on the operation queues uploaded by multiple autonomous mobile devices.
[0061] The operation queue includes control requests waiting to be responded to. For example, when a robot receives three message bodies in succession, and after the above judgment, it is determined that it is qualified to respond and meets the conditions in each message body. Therefore, according to the time sequence of receiving the message bodies, the control requests in the message bodies are temporarily stored in the operation queue and executed in sequence.
[0062] When the number of control requests in the operation queue is 0, it means that the robot is currently idle and can execute immediately when receiving a new control request. When the number of control requests in the operation queue is not 0, it means that the robot is currently executing a control request and needs to wait in line when receiving a new control request.
[0063] When the user has requirements for response speed, the server can control the number of requests in the operation queue uploaded by multiple autonomous mobile devices, and select the most idle N devices as target autonomous mobile devices.
[0064] The server may send an affirmative response to the target autonomous mobile device, so that the target autonomous mobile device determines that it meets the conditions in response to the affirmative response and can execute the operation corresponding to the control request.
[0065] In some implementations, before executing the operation corresponding to the control request, since the control request input by the user may have different definitions for different manufacturers, the control request needs to be parsed according to the control protocol corresponding to the manufacturer itself.
[0066] In order to accurately identify the control request and determine whether the control request can be executed, in some embodiments, at least one control protocol can be encapsulated in the message body along with the control request, so the autonomous mobile device can obtain the control protocol corresponding to its own manufacturer identification from the at least one control protocol as the target control protocol; and use the target control protocol to parse the control request. In this case, the autonomous mobile device may not store any control protocol, but obtain it from the message body.
[0067] In other embodiments, the autonomous mobile device may pre-store the control protocol of its corresponding manufacturer, and only the manufacturer's identifier is encapsulated in the message body. Therefore, when the autonomous mobile device successfully matches its own manufacturer's identifier from the message body, it can directly perform the analysis of the control request based on its own stored control analysis.
[0068] After parsing the control request through the control protocol, the autonomous mobile device can know the specific content of the control operation, and then judge whether it can perform such a control operation based on its own status. For example, when the robot is required to go to the target location, if the robot parses the control operation and finds out that the current road is congested according to auxiliary tools such as maps, it can determine that it cannot currently perform the control operation.
[0069] In some implementations, when the autonomous mobile device determines that it cannot perform the control operation in the control signal, it may send a reselection signal to the server so that the server reselects a target autonomous mobile device from the remaining devices.
[0070] When the server reselects from the remaining devices, it may refer to the reason why the sender of the reselection signal cannot be executed. For example, when the server receives the reselection signal, if the reason for sending the reselection signal is road congestion, the server may filter out devices within a certain range around the sender of the reselection signal and select the target autonomous mobile device at another location.
[0071] By determining whether the control operation can be performed by itself in combination with the actual situation, the user's control request can be further executed by a more appropriate autonomous mobile device, thereby avoiding the situation where the target autonomous mobile device cannot actually perform the control operation.
[0072] In some embodiments, when the target autonomous mobile device successfully executes the control operation, a feedback signal may be sent back to the client to feedback the current execution status. For example, when the control signal is a function related to "pick up a parcel", the target autonomous mobile device may send a feedback signal to the client at intervals to update the real-time location of the target autonomous mobile device.
[0073] The remote control method provided in the embodiment of the present application, in response to receiving a message body, adopts a preset protocol to parse the message body to obtain a control request and verification information, and then parses the message body based on the preset protocol, so that even if the message body is intercepted, it is difficult to parse, thereby ensuring the security of data transmission; by determining that it is qualified to respond according to the verification information, and determining whether to respond to the control request according to the control request, it is possible to determine whether it is a device qualified to respond to the control request according to the verification information, and then screen out the device most suitable for responding to the control request according to the control request itself, thereby avoiding the occurrence of erroneous responses and reducing resource waste.
[0074] In some embodiments, Figure 7 As shown, the remote control method applied to the client may include the following steps S210 to S240.
[0075] Step S210: Establishing a connection with a server in response to a control request input by a user.
[0076] In some implementations, the client and the server may be connected via a Transmission Control Protocol (TCP), which is not limited in this application.
[0077] For TCP communication connection, when the user inputs a control request, the client can initiate a three-way handshake to the server. The three-way handshake means that when establishing a TCP connection, the client and the server need to send a total of 3 packets to confirm the connection.
[0078] In the related art, when remote control is performed, communication is usually based on Hypertext Transfer Protocol (HTTP) and Message Queuing Telemetry Transport (MQTT). Based on HTTP or MQTT, when the client establishes a connection with the server, if no operation is performed for a period of time, the connection will be disconnected, resulting in the need to re-establish the connection by three-way handshake when control is required next time, which is very time-consuming and also reduces the timeliness of the control operation.
[0079] Therefore, in the embodiment of the present application, after the three-way handshake successfully establishes a connection between the client and the server, the client and the server can maintain the connection without automatic interruption by sending and receiving heartbeat messages. That is, a TCP long connection is established in the present application.
[0080] Specifically, a heartbeat message is a special data packet sent periodically between the client and the server in a TCP persistent connection to notify the other party that it is still online to ensure the validity of the TCP connection. These data packets are called heartbeat messages because they are sent at fixed intervals like heartbeats to tell the other party that it is still connected.
[0081] The heartbeat message may be sent by the server or by the client, and the present application embodiment does not limit this. It is understandable that as long as there is interaction of the heartbeat message, it means that the connection is still continuing.
[0082] Step S220: Encapsulate the control request into a message body according to a preset protocol.
[0083] For the specific description of step S220, please refer to the relevant descriptions of step S110 and step S120 in the aforementioned embodiment, which will not be repeated here in the embodiment of the present application.
[0084] Step S230: Send the message body to the server, so that the server broadcasts the message body to multiple autonomous mobile devices.
[0085] In some implementations, each autonomous mobile device that is online may receive the message body.
[0086] In other implementations, when the number of control requests in the operation queue of the autonomous mobile device is higher than a certain set threshold, it indicates that the autonomous mobile device is too busy, and the receiving of message bodies may be stopped.
[0087] It is understandable that after a persistent connection is established, the user can send message bodies through the client multiple times in the same persistent connection. For example, when a user needs to remotely control the movement of a robot, it may be necessary to continuously send control signals to the robot, such as left turn, leg lift, drop, right turn, etc. Therefore, establishing a persistent connection helps control the continuity and timeliness of signal transmission and reception.
[0088] Step S240: In response to the user's closing operation, the current connection with the server is terminated.
[0089] In some implementations, when no operation needs to be performed, the user can actively send an end signal to the server through the client to inform the server to terminate the current connection.
[0090] In other implementations, when no operation is required, the user can control the client to stop sending or receiving heartbeat messages, thereby terminating the current connection.
[0091] The remote control method provided in the embodiment of the present application maintains the continuous connection of the communication link through the continuous interaction of heartbeat messages between the client and the server, reduces the process of constantly handshaking to establish a connection, avoids the time consumed by constant handshakes, and improves the real-time performance of communication and control.
[0092] For ease of understanding, an exemplary embodiment is provided herein to explain the remote control method provided by the aforementioned embodiment.
[0093] See also Figure 8 , assuming that the user controls the robot through an application in the mobile phone, and the application includes a "pick up express delivery" function. For this function, the preset protocol is as follows Fig. 9 As shown, field a represents the control operation, field b represents the control condition, field c represents the target location, field d represents the own location, and field e represents the identifiers of multiple different manufacturers.
[0094] When the user inputs "pick up the item and send it to the East Gate" through the application on the mobile phone, the application recognizes that the user's demand is "pick up the item at the door", and then splits the user's input according to the preset protocol. That is, field a contains "pick up the item", field c contains "East Gate", and field e contains "A" and "B". The application obtains the current location of the mobile phone and determines that field d is "Building x"; then based on the demand of "pick up the item at the door", field b is determined to be "the one closest to the user".
[0095] Therefore, the message body encapsulated by the final application can be as follows Fig.10shown.
[0096] The application initiates a connection to the server. After the three-way handshake is successful, it continues to send heartbeat messages to the server to maintain a long connection. Fig.10 The message body shown is sent to the server.
[0097] After receiving the message body, the server forwards it to all robots that are connected to the server and remain online. After receiving the message body, the robot analyzes the content included in the e field through the preset protocol and compares it with its own manufacturer identification. When the comparison is consistent, it determines that it is eligible to respond.
[0098] Assuming that robots o, p, and q are all qualified to respond, o, p, and q all need to obtain their current locations, and calculate the distance between themselves and the user based on the location contained in the d field in the message body, and upload the distance to the server.
[0099] After receiving the distances uploaded by robots o, p, and q, the server selects the one with the smallest distance (for example, robot p) and sends a positive response to it. After receiving the positive response, robot p immediately parses the contents of the a, c, and d fields according to the control protocol of manufacturer A stored in itself, and thus understands that the operation it needs to perform is "first go to the user to pick up the item, and then deliver the item to the east gate."
[0100] At this time, the robot p needs to use the map application to determine whether it can pass smoothly from its current location to "Building X" and then from "Building X" to "East Gate". When it is determined that there are no obstacles, the operation is performed immediately.
[0101] See also Fig.11 , Fig.11 The schematic diagram of the structure of the remote control device provided by an embodiment of the present application is shown. The remote control device 200 can be applied to an autonomous mobile device. The remote control device 200 includes a data parsing module 210, which is used to parse the message body in response to receiving the message body using a preset protocol to obtain a control request and verification information, wherein the preset protocol is used to specify the composition of the message body; and a response judgment module 220, which is used to determine whether to respond to the control request according to the control request if it is determined that it has the response qualification according to the verification information.
[0102] In some embodiments, the verification information includes at least one manufacturer identification, and the remote control device 200 further includes a qualification determination module. The qualification determination module is used to obtain the manufacturer identification corresponding to itself, and determine that it is qualified to respond if the manufacturer identification corresponding to itself is found in the at least one manufacturer identification.
[0103] In some implementations, the response determination module 220 is further configured to parse the control request to obtain the conditions and control operations that the control object needs to satisfy; if the conditions are satisfied, the control operation is executed.
[0104] In some embodiments, the remote control device 200 further includes a condition determination module. The condition determination module is used to obtain information related to the condition if the remote control device 200 cannot determine whether the remote control device satisfies the condition; upload the obtained information related to the condition to the server, so that the server determines the target autonomous mobile device that satisfies the condition based on the information related to the condition uploaded by multiple autonomous mobile devices, and sends an affirmative response to the target autonomous mobile device; and determine that the remote control device satisfies the condition in response to receiving the affirmative response sent by the server.
[0105] In some embodiments, the condition includes the N devices closest to the sender of the message body, where N is a positive integer. The condition determination module is further configured to obtain the distance between itself and the sender of the message body as information related to the condition; the step of uploading the obtained information related to the condition to the server so that the server determines the N target autonomous mobile devices that meet the condition according to the information related to the condition uploaded by multiple autonomous mobile devices, including: uploading the distance between itself and the sender of the message body to the server so that the server determines the first N autonomous mobile devices closest to the sender of the message body as the target autonomous mobile devices according to the distances uploaded by multiple autonomous mobile devices.
[0106] In some embodiments, the condition includes N devices with the fastest response speed, where N is a positive integer. The condition determination module is further configured to obtain its own operation queue as information related to the condition, wherein the operation queue includes control requests waiting to be responded to; uploading the obtained information related to the condition to the server so that the server determines the target autonomous mobile device that meets the condition based on the information related to the condition uploaded by multiple autonomous mobile devices, including: uploading its own operation queue to the server so that the server determines the first N devices with the fastest response speed as the target autonomous mobile device based on the operation queues uploaded by multiple autonomous mobile devices.
[0107] In some implementations, the parsing result of the message body also includes at least one control protocol. The response determination module 220 is further configured to obtain a control protocol corresponding to its own manufacturer identifier from the at least one control protocol as a target control protocol; and parse the control request using the target control protocol.
[0108] Those skilled in the art can clearly understand that the remote control device 200 provided in the embodiment of the present application can implement the remote control method provided in the embodiment of the present application. The specific working process of the above nodes can refer to the corresponding process of the remote control method in the embodiment of the present application, which will not be repeated here.
[0109] In the embodiments provided in the present application, the coupling, direct coupling or communication connection between the modules shown or discussed may be indirect coupling or communication coupling through some interfaces, devices or modules, and may be electrical, mechanical or other forms, and the embodiments of the present application are not limited to this.
[0110] In addition, each functional module in the embodiment of the present application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules, which is not limited in the embodiment of the present application.
[0111] See also Fig.12 , Fig.12 A schematic diagram of the structure of a remote control device provided by another embodiment of the present application is shown. The remote control device 300 can be applied to a client. The remote control device 300 includes a connection establishment module 310, which is used to establish a connection with a server in response to a control request input by a user; a data encapsulation module 320, which is used to encapsulate the control request into a message body according to a preset protocol; a message sending module 330, which is used to send the message body to the server so that the server broadcasts the message body to multiple autonomous mobile devices; and a connection interruption module 340, which is used to terminate the current connection with the server in response to a user's closing operation.
[0112] Those skilled in the art can clearly understand that the remote control device 300 provided in the embodiment of the present application can implement the remote control method provided in the embodiment of the present application. The specific working process of the above nodes can refer to the corresponding process of the remote control method in the embodiment of the present application, which will not be repeated here.
[0113] In the embodiments provided in the present application, the coupling, direct coupling or communication connection between the modules shown or discussed may be indirect coupling or communication coupling through some interfaces, devices or modules, and may be electrical, mechanical or other forms, and the embodiments of the present application are not limited to this.
[0114] In addition, each functional module in the embodiment of the present application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules, which is not limited in the embodiment of the present application.
[0115] See also Fig.13 , Fig.13 The schematic diagram of the structure of the autonomous mobile device provided in the embodiment of the present application is shown. The autonomous mobile device 400 includes a memory 410 and one or more processors 420, wherein the memory 410 stores one or more application programs, and the one or more application programs are used to execute the method of the above method embodiment when called by the one or more processors 420.
[0116] The processor 420 may include one or more processing cores. The processor 420 uses various interfaces and lines to connect various parts of the entire autonomous mobile device 400, and executes various functions of the autonomous mobile device and processes data by running or executing instructions, programs, code sets or instruction sets stored in the memory 410, and calling data stored in the memory 410. The processor 420 can be implemented in at least one hardware form of digital signal processing (DSP), field programmable gate array (FPGA), and programmable logic array (PLA). The processor 420 can integrate one or a combination of a central processing unit (CPU), a graphics processing unit (GPU), and a modem. It is understandable that the above-mentioned modem may not be integrated into the processor 220, but may be implemented separately through a communication chip.
[0117] The memory 410 may include a random access memory (RAM) or a read only memory (ROM). The memory 410 may be used to store instructions, programs, codes, code sets or instruction sets. The memory 410 may include a program storage area and a data storage area. The program storage area may store instructions for implementing an operating system, instructions for implementing at least one function, instructions for implementing the above-mentioned various method embodiments, etc. The data storage area may store data created by the autonomous mobile device 400 during use, etc.
[0118] The embodiment of the present application also provides a computer-readable storage medium, in which program code is stored. The program code is used to execute the method described in the above method embodiment when called by a processor.
[0119] The computer readable storage medium may be an electronic storage such as a flash memory, an electrically erasable programmable read only memory (EEPROM), an electrically programmable read only memory (EPROM), a hard disk, or a read only memory (ROM). In some embodiments, the computer readable storage medium may include a non-transitory computer-readable storage medium (NTRSM). The computer readable storage medium has a storage space for the program code of any method step in the above method. These program codes can be read from or written to one or more computer program products. The program code can be compressed in an appropriate form.
[0120] The above are only preferred embodiments of the present application, and are not intended to limit the present application in any form. Although the present application has been disclosed as above with preferred embodiments, it is not intended to limit the present application. Any technical personnel in the field can make some changes or modify the technical contents disclosed above into equivalent embodiments without departing from the scope of the technical solution of the present application. However, any brief modifications, equivalent changes and modifications made to the above embodiments based on the technical essence of the present application without departing from the content of the technical solution of the present application are still within the scope of the technical solution of the present application.
Claims
1. A remote control method, characterized in that: The method comprises: In response to receiving the message body, the message body is parsed using a preset protocol to obtain a control request and verification information, wherein the preset protocol is used to specify the composition of the message body; If it is determined that the user has the response qualification according to the verification information, it is determined whether to respond to the control request according to the control request.
2. The method according to claim 1, characterized in that The verification information includes at least one manufacturer identifier. If it is determined that the manufacturer has the response qualification according to the verification information, before determining whether to respond to the control request according to the execution condition in the control request, the method further includes: Get the manufacturer ID corresponding to itself; If the manufacturer identifier corresponding to itself is found in the at least one manufacturer identifier, it is determined that itself is qualified to respond.
3. The method according to claim 1, characterized in that The determining whether to respond to the control request according to the control request includes: Parsing the control request to obtain the conditions and control operations that the control object needs to meet; If the condition is met, the control operation is executed.
4. The method according to claim 3, characterized in that If the condition is satisfied, before executing the control operation, the method further includes: If it is unable to determine whether it meets the conditions, obtain information related to the conditions; Uploading the acquired information related to the condition to a server, so that the server determines a target autonomous mobile device that meets the condition based on the information related to the condition uploaded by multiple autonomous mobile devices, and sends a positive response to the target autonomous mobile device; In response to receiving an affirmative response sent by the server, it is determined that the condition is satisfied.
5. The method according to claim 4, characterized in that The condition includes N devices that are closest to the sender of the message body, where N is a positive integer, and obtaining information related to the condition includes: Obtaining a distance between itself and the sender of the message body as information related to the condition; The step of uploading the acquired information related to the condition to a server, so that the server determines N target autonomous mobile devices that meet the condition according to the information related to the condition uploaded by multiple autonomous mobile devices, includes: The distance between itself and the sender of the message body is uploaded to the server, so that the server determines the first N autonomous mobile devices closest to the sender of the message body as target autonomous mobile devices according to the distances uploaded by multiple autonomous mobile devices.
6. The method according to claim 4, characterized in that The condition includes N devices with the fastest response speed, where N is a positive integer, and the acquiring of information related to the condition includes: Acquire its own operation queue as information related to the condition, wherein the operation queue includes control requests waiting to be responded to; The step of uploading the acquired information related to the condition to a server, so that the server determines a target autonomous mobile device that meets the condition according to the information related to the condition uploaded by a plurality of autonomous mobile devices, includes: The operation queue of the autonomous mobile device is uploaded to the server, so that the server determines the first N devices with the fastest response speed as the target autonomous mobile devices according to the operation queues uploaded by the multiple autonomous mobile devices.
7. The method according to claim 3, characterized in that The parsing result of the message body further includes at least one control protocol, and the parsing of the control request includes: Acquire a control protocol corresponding to its own manufacturer identifier from at least one control protocol as a target control protocol; The control request is parsed using the target control protocol.
8. A remote control device, applied to an autonomous mobile device, characterized in that: include: A data parsing module, configured to parse the message body in response to receiving the message body by using a preset protocol to obtain a control request and verification information, wherein the preset protocol is used to specify the composition of the message body; A response judgment module is used to determine whether to respond to the control request based on the control request if it is determined that it has the response qualification according to the verification information.
9. An autonomous mobile device, characterized in that: include: Memory; one or more processors; One or more application programs, the one or more application programs are stored in the memory and are used to execute the method according to any one of claims 1 to 7 when called by the one or more processors.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores program codes, and the program codes are used to execute the method according to any one of claims 1 to 7 when called by a processor.
