Equipment control method, equipment, device and medium
By adopting reverse movement control and recovery point mechanisms in intelligent robot devices, the device is solved by solving the problem of out-of-control in sensor failure or communication interruption, improving its autonomous recovery and reliability, and ensuring safe operation in the event of a failure.
Patent Information
- Application Number
- CN202310713828.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-15
- Publication Date
- 2024-12-17
AI Technical Summary
Intelligent robot equipment loses control when encountering sensor failure or communication interruption, resulting in unauthorized recovery, affecting its reliability and security.
By implementing the reverse movement control and recovery point mechanism in the device, when a failure occurs, the device can reverse movement based on buffered reverse movement control information to avoid losing control and return to the recovery point to rebuild the connection when communication is restored.
It improves the autonomous recovery capability and reliability of smart devices in case of failure, avoids equipment out of control during communication failure, and ensures the safe operation of devices in distributed deployment environments.
Smart Images

Figure CN119141522A_ABST
Abstract
Description
Technical Field
[0001] Example embodiments of the present disclosure relate to the field of computer networks, and more particularly to a device control method, device, apparatus, and computer-readable medium. Background Art
[0002] With the development of computer technology, many intelligent robotic devices can navigate and move within an area to perform specific tasks. Robotic devices can have the functions of environmental perception, judgment, and execution. In normal operation, robotic devices can plan navigation paths and move by perceiving the environment. However, when a fault occurs, the control recovery and reliability of robotic devices are worthy of attention. Summary of the invention
[0003] In a first aspect of the present disclosure, a device control method is provided. The method includes: at a first device, controlling the movement of the first device based on at least one set of movement control information; and if it is determined that a failure related to the movement control of the first device occurs, controlling the reverse movement of the first device based on at least one set of reverse movement control information corresponding to the at least one set of movement control information.
[0004] In a second aspect of the present disclosure, a device control method is provided. The method includes: at a second device, via a communication connection between the first device and the second device, sending at least one mobile control command to the first device to control the movement of the first device, the at least one mobile control command including at least one set of mobile control information; if it is determined that the communication between the first device and the second device fails, stopping sending the mobile control command to the first device; if it is determined that the communication between the first device and the second device is restored, receiving recovery success information from the first device, the recovery success information at least indicating the mobile control command corresponding to the reverse mobile control information used by the first device when the communication is restored; and determining additional mobile control information for the first device based on at least the mobile control command indicated by the recovery success information.
[0005] In a third aspect of the present disclosure, a first device is provided. The first device includes: at least one processor; and at least one memory coupled to the at least one processor, the at least one memory includes instructions stored therein, and the at least one memory and the instructions are further configured to, together with the at least one processor, enable the first device to perform a method according to the first aspect.
[0006] In a fourth aspect of the present disclosure, a second device is provided. The second device includes: at least one processor; and at least one memory coupled to the at least one processor, the at least one memory includes instructions stored therein, and the at least one memory and the instructions are further configured to enable the second device to perform the method according to the second aspect together with the at least one processor.
[0007] In a fifth aspect of the present disclosure, a first device for equipment control is provided. The first device includes: a component for controlling the movement of the first device based on at least one set of movement control information; and a component for controlling the reverse movement of the first device based on at least one set of reverse movement control information corresponding to the at least one set of movement control information if it is determined that a failure related to the movement control of the first device occurs.
[0008] In a sixth aspect of the present disclosure, a second device for equipment control is provided. The second device includes: a component for sending at least one mobile control command to the first device via a communication connection between the first device and the second device to control the movement of the first device, the at least one mobile control command including at least one set of mobile control information; a component for stopping sending the mobile control command to the first device if it is determined that the communication between the first device and the second device fails; a component for receiving recovery success information from the first device if it is determined that the communication between the first device and the second device is restored, the recovery success information at least indicating the mobile control command corresponding to the reverse mobile control information used by the first device when the communication is restored; and a component for determining additional mobile control information for the first device based on at least the mobile control command indicated by the recovery success information.
[0009] In a seventh aspect of the present disclosure, a computer-readable medium is provided, wherein instructions are stored on the computer-readable medium, and when the instructions are executed by at least one processing unit, the at least one processing unit is configured to execute the method according to the first aspect or the second aspect.
[0010] It should be understood that the contents described in the summary of the invention are not intended to limit the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Exemplary embodiments of the present disclosure are presented by way of example and their advantages are explained in more detail below with reference to the accompanying drawings, in which
[0012] Figure 1 A schematic diagram showing an environment in which example embodiments described in the present disclosure may be implemented;
[0013] Figure 2 A flowchart showing a communication process between a first device and a second device according to some example embodiments of the present disclosure is shown;
[0014] Figure 3 A schematic diagram showing the architecture of a first device according to some example embodiments of the present disclosure;
[0015] Figure 4A flowchart showing a process of reading and buffering reverse control commands according to some example embodiments of the present disclosure;
[0016] Figure 5 A schematic diagram showing a buffer according to some example embodiments of the present disclosure;
[0017] Figure 6 A flowchart showing a process of marking a recovery point according to some example embodiments of the present disclosure;
[0018] Figure 7 A flowchart showing a process for device control at a first device according to some example embodiments of the present disclosure;
[0019] Figure 8 A schematic diagram showing the architecture of a second device according to some example embodiments of the present disclosure;
[0020] Fig. 9 A flowchart showing a process for device control implemented at a second device according to some example embodiments of the present disclosure;
[0021] Fig.10 A flowchart showing a device control method implemented at a first device according to some example embodiments of the present disclosure is shown;
[0022] Fig.11 A flowchart showing a device control method implemented at a second device according to some example embodiments of the present disclosure is shown;
[0023] Fig.12 shows a simplified block diagram of a device suitable for implementing an example embodiment of the present disclosure; and
[0024] Fig.13 A schematic diagram of a computer readable medium according to some example embodiments of the present disclosure is shown.
[0025] Throughout the drawings, the same or similar reference numerals refer to the same or similar elements. DETAILED DESCRIPTION
[0026] The principles and spirit of the present disclosure will be described below with reference to several exemplary embodiments shown in the accompanying drawings. It should be understood that these specific exemplary embodiments are described only to enable those skilled in the art to better understand and implement the present disclosure, and are not intended to limit the scope of the present disclosure in any way.
[0027] As used herein, the term "including" and similar terms should be understood as open inclusion, i.e., "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0028] As used herein, the term "determine" encompasses a wide variety of actions. For example, "determine" may include computing, calculating, processing, deriving, investigating, searching (e.g., searching in a table, a database, or another data structure), ascertaining, etc. In addition, "determine" may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory), etc. In addition, "determine" may include resolving, selecting, choosing, establishing, etc.
[0029] Herein, unless explicitly stated, executing a step “in response to A” does not mean executing the step immediately after “A” but may include one or more intermediate steps.
[0030] The term "circuitry" as used herein refers to one or more of: (a) a hardware circuit implementation only (such as an implementation of analog and / or digital circuits only); and (b) a combination of hardware circuits and software, such as (if applicable): (i) a combination of analog and / or digital hardware circuits and software / firmware, and (ii) any portion of a hardware processor and software (including a digital signal processor, software and memory that work together to enable a device such as an optical communication device or other computing device to perform various functions); and (c) a hardware circuit and / or processor, such as a microprocessor or a portion of a microprocessor, which requires software (e.g., firmware) for operation, but can be without software when software is not required for operation.
[0031] The definition of circuit arrangement applies to all uses of this term in this application, including in any claims. As another example, the term "circuitry" as used herein also covers an implementation of only a hardware circuit or processor (or multiple processors), or a portion of a hardware circuit or processor, or its accompanying software or firmware. For example, if applicable to a particular claim element, the term "circuitry" also covers a baseband integrated circuit or a processor integrated circuit or a similar integrated circuit in an OLT or other computing device.
[0032] As used herein, the term "communication network" refers to a network that complies with any suitable communication standard, such as New Radio (NR), Long Term Evolution (LTE), LTE-Advanced (LTE-A), Wideband Code Division Multiple Access (WCDMA), High Speed Packet Access (HSPA), Narrowband Internet of Things (NB-IoT), etc. In addition, the communication between the terminal device and the network equipment in the communication network can be performed according to any suitable generation of communication protocols, including but not limited to first generation (1G), second generation (2G), 2.5G, 2.75G, third generation (3G), fourth generation (4G), 4.5G, fifth generation (5G) communication protocols and / or any other protocols currently known or to be developed in the future. The example embodiments of the present disclosure can be applied to various communication systems, including but not limited to terrestrial communication systems, non-terrestrial communication systems, or combinations thereof. In view of the rapid development of the communication field, there will certainly be future types of communication technologies and systems that can be used to implement the present disclosure. It should not be regarded as limiting the scope of the present disclosure to only the aforementioned systems.
[0033] As used herein, the term "network device" refers to a node in a communication network, via which a terminal device accesses the network and receives services from it. Depending on the terminology and technology applied, a network device may refer to a base station (BS) or an access point (AP), such as a NodeB (NodeB or NB), an evolved NodeB (eNodeB or eNB), a NR NB (also called a gNB), a remote radio unit (RRU), a radio head (RH), a remote radio head (RRH), a relay, an integrated access and backhaul (IAB) node, a low-power node such as a femto, a micro, and the like. In some example embodiments, a radio access network (RAN) separation architecture includes a central unit (CU) and a distribution unit (DU). An IAB node includes a mobile terminal (IAB-MT) part and a DU part, wherein the IAB-MT part is similar to a user equipment (UE) for a parent node, and the DU part is similar to a base station for a next-hop IAB node.
[0034] It should be noted that the titles of any sections / subsections provided herein are not restrictive. Various embodiments are described throughout this article, and any type of embodiment may be included under any section / subsection. In addition, the embodiments described in any section / subsection may be combined in any manner with any other embodiments described in the same section / subsection and / or different sections / subsections.
[0035] Example Environment
[0036] Figure 1A schematic diagram of an example environment 100 in which example embodiments described in the present disclosure may be implemented is shown. The example environment 100 may be part of a communication network. The example environment 100 involves at least a first device 110.
[0037] In some embodiments, the first device 110 may be a non-connected device for implementing local mobile control. For example, the first device 110 may be equipped with a sensor device for collecting sensor data, such as a laser radar (lidar), a camera, an inertial measurement unit (IMU) module, etc. The first device 110 may control the movement of the device based on the collected sensor data. In some scenarios, the first device 110 has a failure related to mobile control. For example, in area 140, the sensor device carried by the first device 110 fails.
[0038] In some example embodiments, the example environment 100 involves a first device 110 and a second device 120 that can communicate with each other. The first device 110 may be a device running locally, and the second device 120 may be a remote device running on a cloud environment 150. The second device 120 is configured to control the movement of the first device 110. The first device 110 may collect sensor data in the environment and provide it to the second device 120, and the second device 120 may determine a movement control command for the first device 110 based on the received sensor data.
[0039] The first device 110 and the second device 120 communicate with each other via a radio link provided by the network device 130. In this case, the local first device 110 can be referred to as a connection-controlled device. If the first device 110 is within the coverage area of the network device 130, the first device 110 can communicate with the second device 120; if the first device 110 moves outside the coverage area of the network device 130, such as entering the area 140, a communication failure will occur between the first device 110 and the second device 120. Such a communication failure is caused by a communication blind spot (also known as a coverage hole) in the coverage range of the network device 130.
[0040] It should be understood that Figure 1 The number of devices and their connections shown in are merely illustrative and not restrictive. The example environment 100 may include any suitable number of devices configured to implement the example embodiments of the present disclosure. Although not shown, it should be understood that one or more other devices may be deployed in the communication environment 100. Although a cloud device is used as an example, the second device 120 may be another device other than the cloud device, such as a control device remotely deployed relative to the first device 110. Although a local device is used as an example, the first device 110 may be a device other than a local device, such as a device remotely deployed relative to the second device 120.
[0041] In the following, some example embodiments relate to a first device 110 and a second device 120, wherein the first device 110 is a local device and the second device 120 is a remote device that controls the first device 110. Still other example embodiments relate to the first device 110, wherein the first device 110 is capable of controlling its movement without relying on a remote device. It should be understood that in the following embodiments, the operations described in conjunction with the local device may also be implemented at a cloud device or other device. Similarly, the operations described in conjunction with the cloud device may also be implemented at a local device or other device.
[0042] The communication in the example environment 100 can be implemented according to any appropriate (multiple) communication protocols. Examples of communication protocols include, but are not limited to, cellular communication protocols such as the first generation (1G), the second generation (2G), 2.5G, 2.75G, the third generation (3G), the fourth generation (4G), 4.5G, the fifth generation (5G), and the sixth generation (6G), such as wireless local area network communication protocols such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11, and / or any other protocol currently known or to be developed in the future. In addition, the communication can utilize any appropriate wireless communication technology, including but not limited to: code division multiple access (CDMA), frequency division multiple access (FDMA), time division multiple access (TDMA), frequency division duplex (FDD), time division duplex (TDD), multiple input multiple output (MIMO), orthogonal frequency division multiplexing (OFDM), spread spectrum orthogonal frequency division multiplexing based on discrete Fourier transform (DFT-s-OFDM), and / or any other technology currently known or to be developed in the future.
[0043] How it works and example architecture
[0044] Intelligent robot devices can be deployed locally independently and autonomously plan paths and move based on the collected sensor data. However, when encountering sensor device failure, the intelligent device may lose control. Such sensor device failure may include sensor device failure, sensor data unavailability, and so on. In some indoor scenarios, the sweeping robot can be configured to partially solve the problem of loss of control by returning to the charging base based on the stored map data when the infrared sensor carried fails. However, for outdoor scenes or when map data cannot be stored in advance, the intelligent robot device may lose control. For example, when the rescue robot enters the fire scene, because the camera carried is shrouded in smoke and cannot collect valid image data, the rescue robot may not be able to continue planning the path or moving, causing itself to get into trouble. In such a case, it is worth paying attention to how to enable the intelligent robot device to autonomously recover from the failure or take measures to reduce losses.
[0045] On the other hand, with the development of cloud technology, many intelligent devices can be deployed in a distributed manner, such as cloud robots. Compared with traditional robots, the intelligent core of cloud robots has been moved from the robot body to the cloud, leaving behind the low-intelligence, low-cost body part. Therefore, cloud robots can be divided into cloud brain and robot body. It can use powerful cloud computing resources, storage resources, and communication resources to enhance its intelligent capabilities, such as knowledge-based deep learning navigation, information processing, and task scheduling.
[0046] Distributed deployment of devices relies on wireless communication networks with high bandwidth, low latency and high reliability. Current cellular networks can support such communication requirements, making distributed deployment of devices possible. Taking cloud robots as an example, clouding robots through the network can not only provide robot cloud services, but also develop cloud robot applications for customers.
[0047] Such application scenarios require special attention to the reliability of the equipment. For example, since the cloud brain and the robot body communicate with each other based on a wireless communication network, the quality of the wireless communication network will directly affect the reliability of the cloud robot. The wireless communication network may have problems with channel quality degradation, especially in the high frequency band of non-line-of-sight indoor areas. Therefore, there are always some communication blind spots in the mobile communication network. When the cloud robot enters these blind spots, the communication between the cloud brain and the robot body will be interrupted. This may cause the robot body to lose control. Obviously, this is unacceptable.
[0048] The reliability of distributed devices depends on the wireless communication network. Continuing with the cloud robot as an example, the cloud brain will perform those complex computing functions while the robot body will perform those simple but real-time functions. During navigation, the robot body will continuously receive instructions from the cloud brain to drive its motor (also called motor) to move. Since the robot body does not have navigation capabilities, communication interruption will cause the robot body to lose control. In order to avoid the robot body from losing control, the cloud brain and the robot body should maintain uninterrupted communication at every moment. However, there are always some communication blind spots in real wireless networks. Since the navigation system does not know the network coverage, the cloud robot will inevitably enter these blind spots. This will cause the communication between the cloud brain and the robot body to be interrupted.
[0049] When the communication between the robot body and the cloud brain is interrupted, the robot body will lose control, which may cause loss of life or property. At this time, both the robot body and the cloud brain should perform some operations to quickly recover from the communication failure. It can be seen that how to make the first device recover autonomously from the communication failure to ensure the reliability of such distributed deployed devices is an urgent problem to be solved.
[0050] According to an example embodiment of the present disclosure, an improved scheme for device control is provided. In the scheme of the present disclosure, the first device is a movable device. The first device controls the movement of the first device based on at least one set of movement control information. If it is determined that a fault related to the movement control of the first device occurs, the reverse movement of the first device is controlled based on at least one set of reverse movement control information corresponding to the at least one set of movement control information.
[0051] By adopting the solution of the present disclosure, when a fault occurs, the first device can move in the reverse direction and away from the fault area, thereby improving the reliability of the smart device.
[0052] It should be understood that the above analysis of remote device mobile control takes a cloud robot as an example, but this is merely exemplary and does not constitute a limitation of the present disclosure. The embodiments of the present disclosure can be applied to other remote control scenarios, at least the control device is remotely deployed relative to the controlled device, and the control device and the controlled device exchange information through a communication connection to complete the control.
[0053] Continue to refer Figure 1 In some example embodiments, the first device 110 may determine a set of movement control information for controlling its own movement based on the sensor data collected by the sensor device carried thereon.
[0054] In some example embodiments, the first device 110 is an independently deployed device. During normal operation, the first device 110 may generate movement control information to control its movement. Such movement control information may include, for example, forward speed information.
[0055] In some example embodiments, when a failure related to movement control occurs, the first device 110 may control its movement based on a set of reverse movement control information. Such a set of reverse movement control information corresponds to a set of movement control information generated previously. The reverse movement control information may, for example, include reverse speed information corresponding to the forward speed information.
[0056] In some example embodiments, a set of reverse movement control information is buffered to a buffer. The first device 110 reads the set of reverse movement control information from the buffer to control itself to move in reverse. For example, the first device 110 generates movement control information. On the one hand, the first device 110 controls itself to move forward at a speed of +v; on the other hand, the first device buffers the reverse movement control information corresponding to the movement control information to the buffer. When entering the area 140, the first device 110 determines that a fault occurs, and reads the reverse movement control information from the buffer to control itself to move in reverse at a speed of -v.
[0057] Faults related to mobile control include faults related to sensor data collection. Such faults may be temporary. In some example embodiments, if the first device 110 determines that the fault is recovered, it can continue to control its own movement based on the sensor data collected subsequently. For example, when the rescue robot enters a fire area (e.g., area 140), it determines that the sensor data collected by the camera is not available, and then determines that a fault has occurred. The rescue robot can control its own reverse movement based on the reverse movement control information to exit area 140. After exiting area 140, the rescue robot detects that the sensor data collected by the camera is available, and then determines that the fault is recovered. The rescue robot can continue to collect sensor data to control its own movement, for example, replanning the path to avoid area 140.
[0058] The first device 110 can detect whether the fault is restored at any time during the process of controlling its own reverse movement. In some example embodiments, the first device 110 determines the time point of detecting the fault based on one or more of a preset time interval, a preset moving distance interval, or environmental information of the environment. In this way, computing power can be saved. For example, the rescue robot can detect whether the fault is restored every 10 seconds, or every 5 meters of movement, or when the temperature data collected by the temperature sensor carried by it drops to a preset range.
[0059] Continue to refer Figure 1 In some example embodiments, the first device 110 is part of a distributedly deployed device, and the second device 120 is a control device remotely deployed relative to the first device 110. The first device 110 may receive a movement control command from the second device 120. Such a movement control command includes movement control information. The first device 110 may control its own movement based on the received movement control command.
[0060] For example, the first device 110 establishes a communication connection with the second device 120 via the network device 130. If the first device 110 moves out of the coverage area of the network device 130, such as entering the area 140, a communication failure may occur between the first device 110 and the second device 120. The first device 110 may control its own reverse movement based on the reverse movement control information corresponding to the received movement control command to leave the area 140.
[0061] In some example embodiments, a portion of the mobility control commands received by the first device 110 are marked as recovery points. The first device 110 may retain reverse mobility control information corresponding to the mobility control commands sent by the second device 120 and information of the recovery points.
[0062] If the communication quality at the recovery point is good enough, the communication connection can be easily restored from the interrupted state. In some example embodiments, when the first device 110 moves in the reverse direction to the recovery point, if it is determined that the communication has been restored, a recovery success message can be sent to the second device 120. As a result, after a communication failure occurs, the first device 110 can autonomously move to such a recovery point, thereby restoring communication with the second device 120. In this way, the reliability of distributed deployed devices can be improved, and the controlled device can be effectively prevented from losing control when a communication failure occurs when the device movement is remotely controlled through communication. Figures 2 to 9 An example embodiment involving a distributedly deployed first device 110 and a second device 120 is further described.
[0063] Figure 2 FIG. 2 is a flow chart showing a communication process 200 between a first device and a second device according to some example embodiments of the present disclosure. Figure 2 In the example of , it is assumed that the first device 110 and the second device 120 can communicate with each other, and the second device 120 controls the movement of the first device 110. Figure 2 Examples of can be implemented in environment 100. The following reference Figure 1 This example is described.
[0064] In block 210, the first device 110 receives a movement control command from the second device 120. Such a movement control command includes movement control information. In some example embodiments, the first device 110 may drive a motor to move based on the movement control command received from the second device 120, thereby achieving movement along the navigation path to the destination under the control of the second device 120. The second device 120 may determine the movement control of the first device 110 based on the positions corresponding to each point in the navigation path of the first device 110. Therefore, the second device 120 may know the position of the first device 110 corresponding to each movement control command sent to the first device 110.
[0065] In some example embodiments, the movement control command received by the first device 110 from the second device 120 may include movement control information of the first device 110. Such movement control information may indicate speed information for controlling the movement speed, including linear speed and / or angular speed. The linear speed is, for example, (v x , v y , v z ), the angular velocity is, for example, (ω x ,ω y ,ω z ).
[0066] In some example embodiments, at block 210, first device 110 further receives recovery point indication information from second device 120. The recovery point indication information may indicate one or more recovery points corresponding to one or more mobile control commands sent by second device 120 to first device 110. In some example embodiments, the recovery point indication information indicates a location with good communication quality. In some example embodiments, the recovery point may be selected by second device 120 and sent to first device 110. For example, at block 220, second device 120 sends a mobile control command and the recovery point indication information to first device 110. Since second device 120 may know the location corresponding to each mobile control command sent, second device 120 may select the mobile control command corresponding to the location with good communication quality as the recovery point.
[0067] In some example embodiments, the second device 120 may mark one or more mobile control commands as one or more recovery points based on a time interval, a moving distance interval of the first device 110, and / or environmental information of the environment in which the first device 110 is located. For example, the second device 120 may adopt a periodic rule to mark a recovery point every 10 seconds or every 5 meters. In some examples, the second device 120 may adopt a non-periodic rule, such as selecting a mobile control command corresponding to a location with a higher possibility of communication recovery. Generally speaking, a blind spot may occur at the corner of a corridor. Thus, the second device 120 may mark the mobile control command corresponding to the corner of the corridor as a recovery point based on environmental semantics analysis.
[0068] In some example embodiments, second device 120 may send recovery point indication information to first device 110. Such recovery point indication information indicates one or more recovery points. Additionally or alternatively, second device 120 may send the recovery point indication information together with the mobile control commands corresponding to the one or more recovery points indicated by the recovery point indication information to first device 110. Additionally or alternatively, second device 120 may send the recovery point indication information to first device 110 to indicate that one or more mobile control commands previously sent are marked as one or more recovery points, respectively.
[0069] In some example embodiments, additionally or alternatively, the recovery point may be selected according to a preset rule. For example, the first device 110 and the second device 120 both set a recovery point according to a unified principle, such as every five seconds or every five movement control commands. In this way, the second device 120 does not need to notify the first device 110 of the recovery point indication information, thereby improving communication efficiency.
[0070] In box 212, the first device 110 buffers the reverse movement control information to the buffer. Specifically, for the movement control information indicated by the movement control command received from the second device 120, the first device 110 can write the corresponding reverse movement control information into the buffer. The reverse movement control information can be considered as a reverse control command. In this way, by reading the reverse control command in the buffer, the first device 110 can achieve the effect of moving in the opposite direction along the navigation path, that is, returning to the original route. In this way, the first device 110 can return to a location with a good communication connection. The first device 110 and the second device 120 always pay attention to the communication connection status. Once a communication failure is found, the first device 110 can return to the original route to restore the communication connection more quickly.
[0071] In some example embodiments, the first device 110 may determine the corresponding reverse movement control information based on the movement control information in the received movement control command. The reverse movement control information may be substantially equivalent to the negated value of the movement control information. In some examples, the first device 110 negates the movement control information indicating the linear velocity and / or angular velocity to obtain the reverse movement control information and buffers it in a buffer. For example, the first device 110 may buffer the linear velocity (-v x , -v y , -v z ), angular velocity (-ω x , -ω y , -ω z ). Thus, the first device 110 can directly determine the linear velocity and the angular velocity of the reverse movement based on the negated value of the linear velocity and the negated value of the angular velocity.
[0072] In some examples, the first device 110 may determine the linear velocity of the reverse movement based on the negated value of the linear velocity and the preset disturbance. For example, the negated value of the linear velocity is -v, and the preset disturbance is + / -0.001, then the first device 110 may be any linear velocity in the buffer zone (-v-0.001, -v+0.001) in the buffer zone. In some example embodiments, the first device 110 may determine the angular velocity of the reverse movement based on the negated value of the angular velocity and the preset disturbance. For example, the negated value of the angular velocity is -ω, and the preset disturbance is + / -0.1, then the first device 110 may be any angular velocity in the buffer zone (-ω-0.1, -ω+0.1) in the buffer zone.
[0073] Here, only some examples of determining the reverse movement control information are given. Generally, as long as the determined reverse movement speed information can control the first device 110 to move in a substantially opposite direction to the path indicated by the movement control command, it will be sufficient.
[0074] Further, in block 212, the first device 110 may also mark the recovery point in the buffer, that is, record the mobile control command corresponding to the recovery point. Specifically, the first device 110 may determine that one or more mobile control commands among the mobile control commands received from the second device 120 are marked as corresponding to one or more recovery points. Accordingly, the first device 110 may mark the mobile control command generated based on the mobile control command marked as the recovery point and buffered in the buffer as a recovery point, for example, the first mobile control command is marked as corresponding to the first recovery point, the second mobile control command is marked as corresponding to the second recovery point, and so on. In some example embodiments, the first device 110 receives the recovery point indication information from the second device 120, and may mark the mobile control command in the buffer based on the recovery point indication information. The number of mobile control commands buffered in the buffer, and / or the maximum number of recovery points depends on the storage capacity of the first device 110. For example, the larger the buffer, the more mobile control commands that can be buffered and / or the number of recovery points marked; the smaller the buffer, the fewer mobile control commands that can be buffered and / or the number of recovery points marked.
[0075] In some example embodiments, during normal communication and navigation, the first device 110 always keeps one or more new recovery points in the buffer. However, due to the limitation of the buffer size, the first device 110 discards the old recovery points.
[0076] In some example embodiments, the number of recovery points may be set based on the complexity of the environment information of the environment in which the first device 110 is located, so as to ensure that there are enough recovery points to support the first device 110 to smoothly return to a location with a good communication connection. For example, if the first device 110 returns to the first recovery point and finds that the communication connection is not restored, it may continue to return to the second recovery point, and so on.
[0077] In block 214, the first device 110 determines whether a communication failure occurs with the second device 120. For example, during the navigation process of the first device 110, a communication connection test is always performed with the second device 120 to determine whether a communication failure occurs.
[0078] In some example embodiments, the first device 110 periodically sends a connection test command (also referred to as a first connection test command) to the second device 120, and receives a connection test command (also referred to as a second connection test command) from the second device 120. The connection test command is sometimes also referred to as a connection indication command. For example, the first device 110 sends a ping command to the second device 120 at a certain frequency, and receives a connection indication replied by the second device 120. Through such a two-way test, the first device 110 can determine whether a communication failure occurs based on one or more of whether a connection indication is received, the number of connection indications received, or the time interval.
[0079] In some example embodiments, the first device 110 receives a connection test command (i.e., a second connection test command) sent periodically by the second device 120. For example, the second device 120 sends a connection test command (ping command) to the first device 110 at a certain frequency. Through such a one-way test, the first device 110 can determine whether a communication failure occurs based on whether the connection test command is received on time.
[0080] In some example embodiments, the frequency of sending the first connection test command or the frequency of receiving the second connection test command is higher than the frequency of receiving the mobile control command from the second device 120. For example, the first device 110 and the second device 120 will continue to perform the connection test. The frequency of the connection test will be higher than the frequency of sending the mobile control command by the second device 120, for example, 3 times the frequency of the mobile control command. This means that 3 connection tests will be performed before the first device 110 receives the next mobile control command from the second device 120. Such a connection test can be completed by a two-way test (for example, the first device 110 and the second device 120 send a ping command to each other) or a unidirectional test (for example, only the first device 110 sends a connection test command to the second device 120).
[0081] If the first device 110 determines that no communication failure has occurred, it continues to receive movement control commands from the second device 120, and buffers opposite movement control commands in the buffer and marks one or more recovery points. If the first device 110 determines that a communication failure has occurred, in box 216, the first device 110 sequentially reads movement control commands from the buffer to control the movement of the first device. Since the movement indicated by the movement control command buffered in the buffer is the reverse direction of the movement previously indicated by the second device 120, based on the buffered movement control command, the first device 110 can be controlled to return to the original path on the previous navigation path.
[0082] In block 218, the first device 110 determines whether the movement control command corresponding to the recovery point in the buffer is read, thereby determining whether the first device 110 has returned to the position corresponding to the recovery point. If the recovery point has not been returned, the first device 110 continues to sequentially read the movement control commands in the buffer and continues to return along the original navigation path. If the recovery point has been returned, the first device 110 sends a recovery success message to the second device 120. Such a recovery success message can indicate the recovery point currently returned to.
[0083] On the second device 120 side, in block 222, the second device 120 determines whether there is a communication failure with the first device 110. If the communication connection is normal, the second device 120 continues to send movement control commands to control the movement of the first device 110. If the communication connection is interrupted, the second device 120 stops sending movement control commands and waits for the first device 110 to return to the recovery point.
[0084] In box 224, the second device 120 receives the recovery success information sent by the first device 110. Such recovery success information indicates the first recovery success information sent by the first device 110 at the first recovery point, and may also be the recovery success information sent at other recovery points. In short, from such recovery success information, the second device 120 can determine the recovery point where the first device 110 is located. Further, in box 224, the second device 120 can determine the mobile control information for the first device 110 based on the mobile control command corresponding to the recovery point where the first device 110 is located.
[0085] Since the second device 120 also knows the setting of the recovery point and can determine the previously sent movement control command corresponding to the recovery point, when the first device 110 returns along the navigation path and reaches the recovery point during the communication failure, the second device 120 can easily locate the position of the first device 110. Additionally or alternatively, the first device 110 can attempt to establish a communication connection with the second device 120 on the way back to the original path, and after the communication connection is restored, the second device 120 locates the position of the first device 110. After accurately locating the position of the first device 110, the second device 120 can resume control of the first device 110, for example, determine the next movement control command based on the current position of the first device 110 to complete the navigation of the first device 110.
[0086] In some example embodiments, when determining the mobile control information for the first device 110, the second device 120 may determine the blind spot that caused the communication failure based on the location information of the first device 110 and the environmental information of the environment in which the first device 110 is located at the time of the communication failure. Additionally, in some example embodiments, in box 228, the second device 120 may update the navigation map for the environment based on the determined blind spot. In box 230, the second device 120 may determine the subsequent mobile control information for the first device 110 based on the updated navigation map and the mobile control command corresponding to the recovery point. This will be referred to below. Figure 8 and Fig. 9 The architecture of the second device 120 and how to determine the mobility control information for the first device are described in detail.
[0087] Through the above-described example embodiments, the first device 110 can smoothly return from the location where the communication failure is determined to a location where communication can be restored, such as the first recovery point. If communication still cannot be restored after returning to the first recovery point, the first device 110 can continue to read the recovery speed in the buffer to return to the next recovery point, such as the second recovery point. Additionally or alternatively, if returning to all recovery points cannot restore the communication connection or the recovery speed in the buffer has been read out, the first device 110 can stop at the last recovery point and wait for manual intervention. The following will refer to Figures 3 to 7 A communication method at the first device 110 is described.
[0088] Figure 3 A schematic diagram of the architecture of the first device 110 according to some example embodiments of the present disclosure is shown. The first device 110 generally includes a first communication module 311 and a motor drive unit 312. The first device 110 communicates with the second device 120 through the first communication module 311, for example, to receive a movement control command and a connection test command. Based on the received movement control command, the first device 110 can control the driving of the motor drive unit 312 to achieve movement.
[0089] Further, the first device 110 may further include a first communication monitoring unit 313. The first communication monitoring unit 313 is configured to monitor the communication status between the first device 110 and the second device 120. For example, the first communication monitoring unit 313 may perform a one-way communication connection test or a two-way communication connection test process with the second device 120, thereby determining the communication status with the second device 120, such as communication failure or communication recovery.
[0090] The first device 110 may further include a recovery control unit 314, a buffer management unit 315, and a buffer 316. For the communication connection test, the first communication monitoring unit 313 determines the communication status with the second device 120 based on the sent or received connection test command, and then sends the traffic status to the recovery control unit 314. For the movement control, on the one hand, the motor drive unit 312 receives the linear velocity and angular velocity indicated by the movement control command of the second device 120 to drive the first device 110 to move. On the other hand, the linear velocity, angular velocity and recovery point indication information indicated by the movement control command received from the second device 120 are sent to the buffer management unit 315. The buffer management unit 315 can write the reverse control command generated based on the inverse value of the linear velocity and angular velocity received from the second device 120 into the buffer 316 for reading in case of communication failure. The inverse value of the linear velocity and angular velocity is also called the reverse velocity. In addition, the buffer management unit 315 also marks one or some linear velocities and angular velocities in the buffer 316 as a recovery point based on the recovery point indication information.
[0091] If the first communication monitoring unit 313 determines that a communication failure occurs between the first device 110 and the second device 120, the communication status indicating the communication failure is sent to the recovery control unit 314. In response to the communication status indicating the communication failure, the recovery control unit 314 reads the reverse speed from the buffer 316.
[0092] In some scenarios, if the first device 110 switches from forward movement to reverse movement immediately after determining a communication failure, this may cause a failure or accident. In such a case, due to the temporary loss of control of the first device 110, it may be impossible to return along the original route. In some example embodiments, when a communication failure is determined, the first device 110 may perform a deceleration process. During the deceleration process, the first device 110 may actively generate a plurality of mobile control commands. Such a plurality of mobile control commands include the mobile speed information generated during the process of the first device 110 decelerating from the mobile speed when the communication failure is detected to the preset speed. The first device 110 may control the motor drive unit 312 based on the generated mobile control command until the first device 110 stops smoothly, that is, decelerates to a preset speed, wherein the preset speed (including linear speed and angular speed) is 0. In some embodiments, in order to avoid sudden braking, the recovery control unit 314 may generate a set of mobile speeds to achieve gradual and smooth deceleration. For example, assuming that the moving speed of the first device 110 is v when the communication fails, the recovery control unit 314 can generate deceleration movement control commands with a step length of 20%, each movement control command indicating 80% v, 60% v, 40% v, 20% v, 0. Such a set of speeds can be called a deceleration speed.
[0093] The recovery control unit 314 may also send the generated deceleration speed to the buffer management unit 315. The buffer management unit 315 inverts the deceleration speeds and writes them into the buffer 316. That is, the buffer 316 not only buffers the reverse movement control information corresponding to the movement control command received from the second device before the communication failure, but also stores the reverse movement control information corresponding to the deceleration speed information of the first device 110 at the time of the communication failure.
[0094] In some example embodiments, after the first device 110 decelerates to a preset speed, that is, after the first device 110 stops, the first device 110 starts a recovery process to read the movement control command from the buffer 316. Specifically, the recovery control unit 314 can read the movement control command from the buffer 316 in a last-in-first-out (LIFO) order. In this process, the recovery control unit 314 may first read the movement control command corresponding to the deceleration speed information and send it to the motor drive unit 312. The motor drive unit 312 drives the first device 110 to gradually accelerate and return to the location of the communication failure. Then, the recovery control unit 314 continues to read the movement control command indicating the reverse movement from the buffer 316. The motor drive unit 312 drives the first device 110 to continue to return along the original navigation path until it returns to the recovery point.
[0095] In some example embodiments, if the first communication monitoring unit 313 determines that the communication is restored when the mobile control command corresponding to the first restoration point in the buffer 316 is read, the restoration control unit 314 can send first restoration success information to the second device 120 via the first communication module 311, and the first restoration success indicates the first restoration point. In this way, the first device 110 can safely and reliably return to a location with a good communication connection after a communication failure, thereby restoring communication with the second device 120.
[0096] In some example embodiments, the first device 110 includes a robot body. The second device 120 includes a control device remotely deployed relative to the robot body. Taking a cloud robot as an example, the first device 110 is, for example, a robot body, and the second device 120 is, for example, a cloud brain. The cloud brain will perform those complex computing functions, such as simultaneous localization and mapping (SLAM), navigation, object recognition, task scheduling, etc. The robot body will perform those simple but real-time functions, such as sensor data collection, motor drive, robotic arm operation, etc. During navigation, the robot body will continuously receive mobile control commands from the cloud brain to drive its motor (also called a motor) to move. At the same time, the robot body will collect data from on-board sensors (such as cameras, lidars, IMU modules, etc.) and feed it back to the cloud brain for SLAM and navigation.
[0097] In some example embodiments, the cloud robot includes a first device 110 and a second device 120. The cloud robot is, for example, an automated guided vehicle (AGV) or an unmanned aerial vehicle (UAV). The cloud robot can use cloud computing capabilities to achieve high intelligence, high flexibility, and low cost. Through various embodiments of the present disclosure, even if there is no sensor for obstacle avoidance installed behind the robot body, the cloud robot can safely return to the recovery point after the communication connection is interrupted.
[0098] Figure 4 A flow chart of a process 400 of reading and buffering move control commands according to some example embodiments of the present disclosure is shown. Figure 4 The example can be based on Figure 3 The architecture is implemented in the environment 100. Figure 1 and Figure 3 Further description.
[0099] In block 402 , the first device 110 sets a recovery buffer, for example, by buffering a move control command to the buffer 316 through the buffer management unit 315 .
[0100] In block 404 , the first device 110 receives a movement control command from the second device 120 , for example, by receiving the movement control command through the first communication module 311 .
[0101] At block 406, the first device 110 drives the motor based on the received movement control command. For example, the first device 110 controls the motor driving unit 312 based on the movement speed, such as the linear speed and the angular speed, indicated by the received movement control command.
[0102] At block 408, the first device 110 determines a reverse movement command. For example, the first device 110 provides the received movement control command to the buffer management unit 315. The buffer management unit 315 negates the value of the movement speed (e.g., linear velocity and angular velocity) indicated by the movement control command received from the second device, determines a reverse control command based on the negated value, and writes the determined reverse control command to the buffer 316. The reverse control command indicates reverse movement control information for the first device 110.
[0103] In block 410 , the first device 110 determines whether the buffer 316 is full, that is, the reverse control commands buffered in the buffer 316 have reached an upper limit.
[0104] If the buffer 316 is full, at block 412, the first device 110 removes the reverse control command at the bottom of the buffer 316. If the buffer 316 is not full or the old reverse control command in the buffer 316 has been removed, at block 414, the first device 110 writes the reverse control command to the top of the buffer 316. In other words, in the case where the size of the buffer 316 is limited, the first device 110 can manage the reverse control commands in the buffer 316 in a first-in-first-out (FIFO) order.
[0105] based on Figure 4 In the example process, the first device 110 can continuously store the reverse control command so that it can return to the recovery point in the event of a communication failure. Figure 4Not shown, after the communication failure occurs, the first device 110 no longer receives the reverse control command from the second device 120. The first device 110 will perform the deceleration process and continue to write the reverse control command corresponding to the inverted value indicating the deceleration speed information into the buffer 316.
[0106] The following will refer to Figure 5 The reading and writing of the reverse control commands in the buffer 316 are further described. Figure 5 FIG. 3 is a schematic diagram showing the structure of the buffer 316 according to some example embodiments of the present disclosure. Figure 5 In the example of , the buffer 316 can be a stack with a fixed size, for example, it can buffer n reverse control commands. In the first position to the nth position from the top to the bottom of the buffer 316, the reverse movement control information corresponding to the movement control command received from the second device 120 or the reverse movement control information corresponding to the reverse control command generated during the deceleration process after the fault occurs is written respectively. For example, if the movement control command indication (v x1 , v y1 , v z1 ) and angular velocity (ω x1 ,ω y1 ,ω z1 ), the linear speed at which the first device 110 can write to the first position of the buffer 316 (-v x1 , -v y1 , -v z1 ) and angular velocity (-ω x1 , -ω y1 , -ω z1 Similarly, depending on the received movement control command, the first device 110 can write at the second position at a linear velocity (-v x2 , -v y2 , -v z2 ) and angular velocity (-ω x2 , -ω y2 , -ω z2 ), and so on.
[0107] In some example embodiments, the reverse control commands buffered in the buffer are buffered in a first-in-first-out (FIFO) order of the movement control commands received from the second device 120. For example, the order of time from the nth position to the first position. If the reverse movement control information indicated by the first received movement control command is buffered in the nth position of the buffer 316 according to the first-in-first-out order, that is, the linear velocity (-v xn , -v yn , -v zn ) and angular velocity (-ω xn , -ω yn, -ω zn ) is buffered to the bottom of the buffer. The reverse movement control information corresponding to the latest received movement control command is buffered to the first position in the buffer 316, that is, the linear speed (-v x1 , -v y1 , -v z1 ) and angular velocity (-ω x1 , -ω y1 , -ω z1 ) is buffered to the top of the buffer. If the buffer is full, the reverse movement control information indicated by the movement control command received first is removed from the bottom of the buffer 316, i.e., the nth position.
[0108] In some example embodiments, the first device 110 reads the reverse control command from the buffer in a last-in-first-out (LIFO) order of the reverse control commands buffered in the buffer 316. For example, in a last-in-first-out order, when a communication failure occurs, the first device 110 reads the reverse speed indicated by the reverse control command from the top of the buffer, i.e., position 1.
[0109] In some example embodiments, the first device 110 marks one or more reverse control commands buffered in the buffer as corresponding to one or more recovery points. For example, based on the recovery point indication information, the first device 110 marks the reverse control command corresponding to the 3rd position as RECOV1, i.e., the first recovery point, and marks the reverse control command corresponding to the n-1th position as RECOV2, i.e., the second recovery point. It should be understood that the first recovery point and the second recovery point are only used to distinguish different recovery points, and are not limited to the first recovery point returned and the recovery point further away.
[0110] Figure 6 A flow chart of a process 600 of marking a recovery point according to some example embodiments of the present disclosure is shown. Figure 6 The example can be based on Figure 3 The architecture is implemented in the environment 100. Figure 1 and Figure 3 Further description.
[0111] At block 602, the first device 110 receives information from the second device 120. Such information may include a mobile control command, a connection test command, or a recovery point indication information. For example, the buffer management unit 315 receives the mobile control command and the recovery point indication information through the first communication module 311. Such recovery point indication information may indicate that one or more of the received mobile control commands correspond to a recovery point.
[0112] In block 604, the first device 110 determines whether the recovery point indication information is received. For example, the buffer management unit 315 determines whether the recovery point indication information is received.
[0113] In block 606, the first device 110 marks the corresponding movement control command with the recovery point indication information. For example, the buffer management unit 315 writes the speed information of the reverse movement indicated by the movement control command to the buffer 316 and marks it as a recovery point. Figure 5 In the example, the speed information buffered at the 3rd position of the buffer 316 is marked as the first recovery point, namely RECOV1, and the speed information buffered at the n-1th position is marked as the second recovery point, namely RECOV2.
[0114] Figure 7 FIG. 7 is a flowchart of a process 700 for device control implemented at a first device according to some example embodiments of the present disclosure. Figure 2 A specific example of a communication method implemented at the first device 110 in the example. Figure 7 The example can be implemented in environment 100. The following combination Figure 1 Further description.
[0115] In box 702, the first device 110 sends and / or receives a connection test command to the second device 120. The sending and receiving of the connection test command can be continued after the first device 110 and the second device 120 establish a communication connection. In box 704, the first device 110 determines whether a communication failure occurs based on the sending and / or receiving of the connection test command. If the communication connection is normal, the first device 110 continues to send a connection test command to the second device 120 to continuously monitor the communication status. If a communication failure occurs, in box 706, the first device 110 generates a mobile control command indicating deceleration to a preset speed. In box 708, the first device 110 drives the motor from the speed at which the communication failure is found to a preset speed (for example, deceleration to 0) according to the deceleration speed indicated by the generated mobile control command to avoid sudden braking. In addition, in box 710, the first device 110 negates the deceleration speed to generate a reverse control command. In box 712, the first device 110 writes the negated deceleration speed to the buffer.
[0116] In box 714, if the first device 110 determines that it has not yet decelerated to the preset speed, it returns to box 706 and continues to generate a movement control command indicating deceleration to drive the motor to decelerate. If the first device 110 determines that it has decelerated to the preset speed, it continues to box 716. In box 716, the first device 110 reads a reverse control command from the top 316 of the buffer. Such a reverse control command includes both a reverse control command generated during the deceleration process and a reverse control command written when the communication connection is normal. In box 718, the first device 110 drives the motor to return to the original path based on the read reverse control command.
[0117] In block 720 , if the first device 110 determines that it has not returned to the recovery point, such as the first recovery point, it returns to block 716 to continue reading the reverse control command and driving the motor back. If the first device 110 determines that it has returned to the recovery point, it continues to block 722 .
[0118] In box 722, the first device 110 determines whether the communication is restored. For example, at the first recovery point, the first device 110 determines whether the communication is restored through a two-way or one-way ping test. If the communication connection is still interrupted at the recovery point, return to box 716, and the first device 110 continues to read the reverse control command until it returns to the next recovery point, such as the second recovery point. If the communication is determined to be restored at a certain recovery point, continue to box 724, and the first device 110 sends a recovery success message to the second device 120. For example, if the communication is determined to be restored at the first recovery point, the first device 110 sends a first recovery success message to the second device 120 to indicate the first recovery point; if the communication is determined to be restored at the second recovery point, the first device 110 sends a second recovery success message to the second device 120 to indicate the second recovery point. The recovery success message helps the second device 120 locate the current location of the first device 110 after the communication is restored.
[0119] Combination of the above Figures 3 to 7 A communication method at the first device 110 is described.
[0120] Figure 8A schematic diagram of the architecture of the second device according to some example embodiments of the present disclosure is shown. The second device 120 generally includes a second communication module 821, a navigation unit 822, a positioning and map construction unit 823 (e.g., a SLAM unit), an application 824, a map database 825, and a map management unit 828. The map database 825 stores map information of the environment in which the first device 110 is located. The positioning and map construction unit 823 generates a map and locates the position of the first device 110, and sends the map and position information to the navigation unit 822. Further, the positioning and map construction unit 823 receives environmental information collected by the first device 110 through the second communication module 821, such as sensor data such as a laser radar and a camera. Based on such environmental information, the positioning and map construction unit 823 determines the position of the first device 110 and sends it to the navigation unit 822. The navigation unit 822 receives the set destination information from the application 824, and generates a movement control command indicating a linear velocity and an angular velocity based on the received map and position. The generated movement control command is sent to the first device 110 through the second communication module 821 , thereby implementing movement control of the first device 110 by the second device 120 .
[0121] In order to implement various embodiments of the present disclosure, the second device 120 further includes a second communication monitoring unit 827 and a recovery management unit 826. The second communication monitoring unit 827 sends and / or receives a connection test command through the second communication module 821, for example, performs a two-way test with the first device 110, or performs a one-way test to the first device 110. In this way, the communication status between the second device 120 and the first device 110 is monitored.
[0122] The second communication monitoring unit 827 sends the communication status to the recovery management unit 826. The recovery management unit 826 selects a recovery point and sends recovery point indication information through the second communication module 821. Based on the movement control command sent by the navigation unit 821 and the recovery point indication information of the recovery management unit 826, the first device 110 can determine the movement control command corresponding to the recovery point and mark the movement control command buffered in the buffer 316 accordingly.
[0123] Further, the recovery management unit 826 can determine whether the communication connection is restored based on the recovery state. For example, the recovery state indicates whether the recovery success information is received from the first device 110. During the interruption of the communication connection, the recovery management unit 826 will wait for the first device 110 to return to the recovery point, and the navigation unit 822 also stops sending the mobile control command. After the communication connection is restored, the recovery management unit 826 can determine the position (e.g., center position) and / or size of the blind spot based on the location of the first device 110 indicated by the recovery success information or the current position read from the positioning and map construction unit 823, and the sensor data returned by the first device 110. Additionally or alternatively, the recovery management unit 826 can also analyze the environmental semantics of the first device 110 and the position of the network device 130 to which the first device 110 is connected to determine the scope of the blind spot. For example, if a blind spot is determined to exist in the middle of a long corridor, the recovery management unit 826 will determine a certain area away from the network device 130 as a blind spot.
[0124] Furthermore, the map management unit 828 receives information about the blind spot and inserts the blind spot in the navigation map. Such a blind spot can be marked as an obstacle. The recovery management unit 826 can trigger the navigation unit 822 to re-plan the navigation path based on the updated map to avoid the blind spot marked as an obstacle.
[0125] Since blind spots may be caused by some random events, such as being affected by adjacent moving objects, the map management unit 828 may temporarily insert these blind spots into the navigation map. These blind spots may be removed later. For example, after the application 824 updates the destination, the first device 110 may be controlled to pass through the location again, and if there is no communication failure, the blind spot may be removed.
[0126] Fig. 9 A flowchart of a process 900 for device control at a second device according to some example embodiments of the present disclosure is shown. The method 900 is Figure 2 A specific example of a method of communicating at the second device 120 in the example. Fig. 9 The example can be implemented in environment 100. The following combination Figure 1 Further description.
[0127] In block 902, the second device 120 sends a connection test command to the first device 110. In block 904, the second device 120 determines whether there is a communication failure. If the communication connection is normal, the second device 120 continues to send connection test commands to the first device 110 to continuously monitor the communication status. If the communication connection is interrupted, in block 906, the second device 120 maintains the position of the first device 110 when it lost connection.
[0128] Further, in box 908, the second device 120 determines whether the communication is restored. If the communication connection is not restored, continue to wait. If the communication connection has been restored, continue to box 910, and the second device 120 waits for the first device 110 to return to the recovery point, so as to facilitate the location of the first device 110. In box 912, the second device 120 determines whether the recovery success information is received to determine whether the first device 110 has returned to the recovery point. If not, return to box 910, and the second device 120 continues to wait. If yes, continue to box 914, and the second device 120 determines the range of the blind spot based on the location information and the environment information of the first device 110, for example, based on the location and environment semantics of the first device 110 when it loses connection, determines the center and size of the blind spot. If a distance deviation occurs when the first device 110 returns to the recovery point, the range of the blind spot can be more accurately determined based on the position retained by the second device 120 when it loses connection.
[0129] Furthermore, in box 916, the second device 120 updates the navigation map based on the blind spot, for example, sets the range of the obstacle based on the range of the blind spot and inserts it into the navigation map. In box 918, the second device 120 re-navigates the first device 110 to the destination based on the updated navigation map and the movement control command corresponding to the recovery point (which indicates the location of the first device 110 when the communication is restored).
[0130] In summary, according to the above exemplary embodiments, the first device 110 can save one or more recovery points, so that when the communication connection with the second device 120 is interrupted, the first device 110 can autonomously recover from the communication failure. Further, the first device 110 saves the speed information of the reverse movement indicated by the mobile control command in the buffer. Based on such speed information, the first device 110 can return to the recovery point along the original route and perform a connection test with the second device 120. In order to avoid braking, the first device 110 can autonomously generate a mobile control command indicating deceleration. Furthermore, the second device 120 can determine the blind spot that caused the communication failure and insert such a blind spot as an obstacle into the navigation map. Thus, after the first device 110 returns to the recovery point and determines that the communication connection is restored, the second device 120 can re-plan the navigation path of the first device 110 based on the updated navigation map to avoid the blind spot and reach the destination.
[0131] References Figures 2 to 9Example embodiments of distributedly deployed first devices 110 and second devices 120 are described. In some example embodiments, for an independently deployed and locally controlled first device 110, it may generally include a navigation unit, a positioning and map construction unit, a map database, a map management unit, an application, and a motor drive unit. The map database may store map information of the environment in which the first device 110 is located. The positioning and map construction unit may generate a map and locate the position of the first device 110, and may also receive sensor data collected by the first device 110. Further, the positioning and map construction unit may determine the position of the first device 110 and send it to the navigation unit. The navigation unit may receive set destination information or task information from the application, and generate movement control information indicating linear velocity and angular velocity based on the received map and position.
[0132] On the one hand, the first device 110 can control the drive of the motor drive unit based on such mobile control information to achieve movement. On the other hand, the first device 110 can buffer a set of reverse movement control information corresponding to the mobile control information into a buffer. As the first device 110 moves, the reverse movement control information in the buffer is also updated. When a fault occurs, the first device 110 reads the reverse movement control information from the buffer to control the drive of the motor drive unit to achieve reverse movement along the original route. In this way, it is effectively prevented from losing control of the device when a fault occurs. Furthermore, the first device 110 can re-plan the path after determining that the fault has been recovered to avoid areas that may cause the fault. In this way, the device can recover autonomously when a fault occurs.
[0133] Example Method
[0134] Fig.10 A flow chart of a device control method 1000 implemented at a first device according to some example embodiments of the present disclosure is shown. The method 1000 may be implemented in the example environment 100 , for example, at the first device 110 .
[0135] In block 1010 , the first device 110 controls movement of the first device 110 based on at least one set of movement control information.
[0136] In block 1020 , if the first device 110 determines that a failure related to the mobility control of the first device 110 occurs, the first device 110 controls the reverse movement of the first device 110 based on at least one set of reverse mobility control information corresponding to the at least one set of mobility control information.
[0137] In some example embodiments, at least one set of reverse movement control information is buffered in a buffer, and the first device 110 may read the at least one set of reverse movement control information from the buffer to control reverse movement of the first device 110 .
[0138] In some example embodiments, the first device 110 may receive at least one mobile control command from the second device 120 via a communication connection between the first device 110 and the second device 120, the at least one mobile control command including at least one set of mobile control information; and control the movement of the first device 110 based on the at least one received mobile control command, wherein the failure includes a communication failure between the first device 110 and the second device 120.
[0139] In some example embodiments, if first device 110 determines that communication between first device 110 and second device 120 is restored, first device 110 sends recovery success information to second device 120, and the recovery success information at least indicates a mobile control command corresponding to the reverse mobile control information used by first device 110 when communication is restored.
[0140] In some example embodiments, one or more mobile control commands in at least one mobile control command are respectively marked as one or more recovery points, and the first device 110 can determine whether the reverse mobile control information corresponding to the first mobile control command corresponding to the first recovery point is used to control the reverse movement of the first device 110; if it is determined that the reverse mobile control information corresponding to the first mobile control command is used to control the reverse movement of the first device 110, determine whether the communication between the first device 110 and the second device 120 is restored at the first recovery point; and if it is determined that the communication between the first device 110 and the second device 120 is restored at the first recovery point, send first recovery success information to the second device 120, and the first recovery success information at least indicates a first recovery point corresponding to the first mobile control command.
[0141] In some example embodiments, the first device 110 may receive recovery point indication information from the second device 120, the recovery point indication information indicating one or more recovery points.
[0142] In some example embodiments, if it is determined at the first recovery point that communication between the first device 110 and the second device 120 has not been restored, the first device 110 controls the reverse movement of the first device 110 based on the remaining movement control command; determines whether the second movement control command corresponding to the second recovery point is used to control the reverse movement of the first device 110; if it is determined that the second movement control command is used to control the reverse movement of the first device 110, determines whether communication between the first device 110 and the second device 120 is restored at the second recovery point; and if it is determined that communication between the first device 110 and the second device 120 is restored at the second recovery point, sends second recovery success information to the second device 120, and the second recovery success information at least indicates the second recovery point.
[0143] In some example embodiments, the communication failure is determined by performing a communication connection test with the second device 120 , the communication connection test comprising at least one of: sending at least one first connection test command to the second device 120 , or receiving at least one second connection test command from the second device 120 .
[0144] In some example embodiments, at least one of a transmission frequency of the at least one first connection test command or a reception frequency of the at least one second connection test command is higher than a frequency of receiving movement control commands from the second device 120 .
[0145] In some example embodiments, the first device 110 includes a robot body, and the second device 120 includes a control device remotely disposed relative to the robot body.
[0146] In some example embodiments, the first device 110 may determine at least one set of movement control information for controlling movement of the first device 110 based on sensor data collected by a sensor device associated with the first device 110, and wherein the fault includes a fault related to sensor data collection.
[0147] In some example embodiments, if the first device 110 determines that the failure related to the sensor data collection is recovered, the movement of the first device 110 continues to be controlled based on the subsequently collected sensor data.
[0148] In some example embodiments, if the first device 110 determines that a fault has occurred, it generates at least another set of mobile control information to control the first device 110 to decelerate from the speed when the communication fault is detected to a preset speed; and after the first device 110 decelerates to the preset speed, the reverse movement of the first device 110 is controlled based on multiple sets of reverse mobile control information corresponding to at least one set of mobile control information and at least another set of mobile control information.
[0149] In some example embodiments, a set of movement control information indicates at least one of a linear velocity and an angular velocity, and a set of reverse movement control information corresponding to the set of movement control information is determined based on at least one of a negated value of the linear velocity and a negated value of the angular velocity of the first device 110 .
[0150] Fig.11 A flowchart of another method 1100 for device control implemented at a second device according to some example embodiments of the present disclosure is shown. The method 1100 may be implemented in the example environment 100, for example, at the second device 120.
[0151] In block 1110 , the second device 120 sends at least one mobility control command to the first device 110 via the communication connection between the first device 110 and the second device 120 to control the movement of the first device 110 , the at least one mobility control command including at least one set of mobility control information.
[0152] In block 1120 , if the second device 120 determines that the communication between the first device 110 and the second device 120 fails, the second device 120 stops sending the movement control command to the first device 110 .
[0153] In box 1130, if the second device 120 determines that the communication between the first device 110 and the second device 120 is restored, it receives recovery success information from the first device 110, and the recovery success information at least indicates the mobile control command corresponding to the reverse mobile control information used by the first device 110 when the communication is restored.
[0154] In block 1140 , the second device 120 determines additional mobility control information for the first device 110 based at least on the mobility control command indicated by the resumption success information.
[0155] In some example embodiments, the second device 120 may determine a blind spot in the environment that caused the communication failure based at least on location information of the first device 110 and environmental information of the environment in which the first device 110 is located at the time of the communication failure; update a navigation map for the environment based on the blind spot; and determine additional mobile control information based on the updated navigation map and the mobile control command indicated by the recovery success information.
[0156] In some example embodiments, the second device 120 may select one or more mobility control commands from at least one mobility control command sent to the first device 110; and mark the selected one or more mobility control commands as corresponding to the one or more recovery points, respectively.
[0157] In some example embodiments, second device 120 may send recovery point indication information to first device 110, the recovery point indication information indicating one or more recovery points.
[0158] In some example embodiments, the second device 120 may select one or more movement control commands based on one or more of a time interval, a movement distance interval of the first device 110 , or environmental information of an environment in which the first device 110 is located.
[0159] In some example embodiments, the first device 110 includes a robot body, and the second device 120 includes a control device remotely disposed relative to the robot body.
[0160] Example Device
[0161] In some example embodiments, a first apparatus for device control may include components for performing the corresponding steps of method 1000. These components may be implemented in any suitable manner. For example, the components may be implemented as circuit devices or software modules.
[0162] In some example embodiments, the first device may include: a component for controlling the movement of the first device based on at least one set of movement control information; and a component for controlling the reverse movement of the first device based on at least one set of reverse movement control information corresponding to the at least one set of movement control information if it is determined that a failure related to the movement control of the first device occurs.
[0163] In some example embodiments, at least one set of reverse movement control information is buffered in a buffer, and the means for controlling the reverse movement of the first device includes: means for reading at least one set of reverse movement control information from the buffer to control the reverse movement of the first device.
[0164] In some example embodiments, a component for controlling the movement of a first device includes: a component for receiving at least one movement control command from a second device via a communication connection between the first device and the second device, the at least one movement control command including at least one set of movement control information; and a component for controlling the movement of the first device based on the at least one received movement control command, wherein the failure includes a communication failure between the first device and the second device.
[0165] In some example embodiments, the first device further includes a component for sending recovery success information to the second device if it is determined that communication between the first device and the second device is restored, and the recovery success information at least indicates a mobile control command corresponding to the reverse mobile control information used by the first device when communication is restored.
[0166] In some example embodiments, one or more mobile control commands in at least one mobile control command are respectively marked as one or more recovery points, and a component for sending recovery success information to a second device includes: a component for determining whether reverse mobile control information corresponding to a first mobile control command corresponding to a first recovery point is used to control reverse movement of the first device; a component for determining whether communication between the first device and the second device is restored at a first recovery point if it is determined that the reverse mobile control information corresponding to the first mobile control command is used to control reverse movement of the first device; and a component for sending first recovery success information to the second device if it is determined that communication between the first device and the second device is restored at the first recovery point, the first recovery success information at least indicating a first recovery point corresponding to the first mobile control command.
[0167] In some example embodiments, the first device further comprises means for receiving recovery point indication information from the second device, the recovery point indication information indicating one or more recovery points.
[0168] In some example embodiments, the component for sending recovery success information to the second device also includes: a component for controlling the reverse movement of the first device based on the remaining movement control command if it is determined at the first recovery point that the communication between the first device and the second device has not been restored; a component for determining whether the second movement control command corresponding to the second recovery point is used to control the reverse movement of the first device; a component for determining whether the communication between the first device and the second device is restored at the second recovery point if it is determined that the second movement control command is used to control the reverse movement of the first device; and a component for sending second recovery success information to the second device if it is determined that the communication between the first device and the second device is restored at the second recovery point, the second recovery success information at least indicating the second recovery point.
[0169] In some example embodiments, the communication failure is determined by performing a communication connection test with the second device, the communication connection test comprising at least one of: sending at least one first connection test command to the second device, or receiving at least one second connection test command from the second device.
[0170] In some example embodiments, at least one of a transmission frequency of the at least one first connection test command or a reception frequency of the at least one second connection test command is higher than a frequency of receiving the movement control command from the second device.
[0171] In some example embodiments, the first apparatus comprises a robot body, and the second apparatus comprises a control device remotely disposed relative to the robot body.
[0172] In some example embodiments, the component for controlling the movement of the first device includes: a component for determining at least one set of movement control information for controlling the movement of the first device based on sensor data collected by a sensor device associated with the first device, and the fault includes a fault related to the collection of sensor data.
[0173] In some example embodiments, the first device further comprises means for continuing to control the movement of the first device based on subsequently collected sensory data if it is determined that the failure related to the sensory data collection is recovered.
[0174] In some example embodiments, the component for controlling the reverse movement of the first device includes: a component for generating at least another set of movement control information to control the first device to decelerate from the speed when the communication failure is detected to a preset speed if a failure is determined to have occurred; and a component for controlling the reverse movement of the first device based on multiple sets of reverse movement control information corresponding to at least one set of movement control information and at least another set of movement control information after the first device has decelerated to the preset speed.
[0175] In some example embodiments, a set of movement control information indicates at least one of a linear velocity and an angular velocity, and a set of reverse movement control information corresponding to the set of movement control information is determined based on at least one of a negated value of the linear velocity and a negated value of the angular velocity of the first device.
[0176] In some example embodiments, the first device may further include components for performing other steps in some example embodiments of method 1000. In some example embodiments, the components may include at least one processor and at least one memory, the at least one memory being coupled to the at least one processor and containing instructions stored therein, the at least one memory and the instructions being further configured to cause the execution operation of the first device together with the at least one processor.
[0177] In some example embodiments, a second apparatus for device control may include components for performing corresponding steps of method 1100. These components may be implemented in any suitable manner. For example, the components may be implemented as circuit devices or software modules.
[0178] In some example embodiments, the second device may include: a component for sending at least one mobile control command to the first device via a communication connection between the first device and the second device to control the movement of the first device, the at least one mobile control command including at least one set of mobile control information; a component for stopping sending mobile control commands to the first device if it is determined that a communication failure occurs between the first device and the second device; a component for receiving recovery success information from the first device if it is determined that the communication between the first device and the second device is restored, the recovery success information at least indicating a mobile control command corresponding to the reverse mobile control information used by the first device when the communication is restored; and a component for determining additional mobile control information for the first device based at least on the mobile control command indicated by the recovery success information.
[0179] In some example embodiments, the component for determining additional mobile control information for the first device includes: a component for determining a blind spot in the environment that causes a communication failure based at least on location information of the first device and environmental information of the environment in which the first device is located at the time of the communication failure; a component for updating a navigation map for the environment based on the blind spot; and a component for determining additional mobile control information based on the updated navigation map and the mobile control command indicated by the recovery success information.
[0180] In some example embodiments, the second device may further include a component for selecting one or more movement control commands from at least one movement control command sent to the first device; and a component for marking the selected one or more movement control commands as corresponding to one or more recovery points, respectively.
[0181] In some example embodiments, the second device may further include means for sending recovery point indication information to the first device, the recovery point indication information indicating one or more recovery points.
[0182] In some example embodiments, the means for selecting one or more movement control commands includes: means for selecting one or more movement control commands based on one or more of a time interval, a movement distance interval of the first device, or environmental information of an environment in which the first device is located.
[0183] In some example embodiments, the first apparatus comprises a robot body, and the second apparatus comprises a control device remotely disposed relative to the robot body.
[0184] In some example embodiments, the second device may further include components for performing other steps in some example embodiments of method 1100. In some example embodiments, the components may include at least one processor and at least one memory, the at least one memory being coupled to the at least one processor and containing instructions stored therein, the at least one memory and the instructions being further configured to cause the execution operation of the second device together with the at least one processor.
[0185] Example devices and media
[0186] Fig.12 1 is a simplified block diagram of a device 1200 suitable for implementing an example embodiment of the present disclosure. The device 1200 may be used to implement the first device 110 or the second device 120 in the example environment 100. As shown, the device 1200 includes one or more processing units 1210, one or more memories 1220 coupled to the processing units 1210, and a communication module 1240 coupled to the processing units 1210.
[0187] The communication module 1240 is used for two-way communication. In some example embodiments, the communication module 1240 may have at least one antenna to facilitate communication. In some example embodiments, the communication module 1240 may have one or more communication interfaces. The communication interface may represent any interface required to communicate with other network elements.
[0188] The processing unit 1210 may be of any type suitable for the local technology network, and may include, but is not limited to, one or more of a general purpose computer, a special purpose computer, a microcontroller, a digital signal controller (DSP), and a controller-based multi-core controller architecture. The device 1200 may have multiple processors, such as application specific integrated circuit chips, which are time-slaved to a clock synchronized with a main processor.
[0189] The memory 1220 may include one or more non-volatile memories and one or more volatile memories. Examples of non-volatile memories include, but are not limited to, read-only memory (ROM) 1024, erasable programmable read-only memory (EPROM), flash memory, hard disks, compact disks (CDs), digital video disks (DVDs), and other magnetic storage and / or optical storage. Examples of volatile memories include, but are not limited to, random access memory (RAM) 1222 and other volatile memories that do not persist over the duration of a power outage.
[0190] Computer program 1230 includes computer executable instructions executed by associated processing unit 1210. Computer program 1230 may be stored in ROM 1224. Processing unit 1210 may perform any suitable actions and processes by loading computer program 1230 into RAM 1222.
[0191] The exemplary embodiments of the present disclosure may be implemented with the aid of a computer program 1230, so that the device 1200 may execute the Figures 2 to 11 Any process of the present disclosure discussed. The exemplary embodiments of the present disclosure may also be implemented by hardware or by a combination of software and hardware.
[0192] In some example embodiments, the computer program 1230 may be tangibly embodied in a computer-readable medium that may be included in the device 1200 (such as in the memory 1220) or other storage device accessible by the device 1200. The computer program 1230 may be loaded from the computer-readable medium to the RAM 1222 for execution. The computer-readable medium may include any type of tangible non-volatile memory, such as ROM, EPROM, flash memory, hard disk, CD, DVD, etc.
[0193] Fig.13An example of a computer readable medium 1300 in the form of a CD or DVD is shown according to some example embodiments of the present disclosure. The computer readable medium 1300 has a computer program 1230 stored thereon.
[0194] In general, various embodiments of the present disclosure may be implemented in hardware or dedicated circuits, software, logic, or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software, which may be performed by a controller, microprocessor, or other computing device. Although various aspects of the example embodiments of the present disclosure are shown and described as block diagrams, flow charts, or using some other graphical representation, it should be understood that the blocks, devices, systems, techniques, or methods described herein may be implemented as, as non-limiting examples, hardware, software, firmware, dedicated circuits or logic, general purpose hardware or controllers or other computing devices, or some combination thereof.
[0195] The present disclosure also provides at least one computer program product tangibly stored on a computer-readable storage medium. In some example embodiments, the computer-readable storage medium may be non-transitory. The computer program product includes computer-executable instructions, such as instructions included in a program module, which are executed in a device on a real or virtual processor of a target to perform the above-referenced Fig.10 The method 1000 or reference Fig.11 The method 1100 is described. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, etc. that perform specific tasks or implement specific abstract data types. In various embodiments, the functionality of program modules can be combined or divided between program modules as needed. Machine executable instructions for program modules can be executed in local or distributed devices. In distributed devices, program modules can be located in local and remote storage media.
[0196] The computer program code for realizing the method of the present disclosure can be written in one or more programming languages. These computer program codes can be provided to the processor of general-purpose computer, special-purpose computer or other programmable data processing device, so that the program code, when being executed by computer or other programmable data processing device, causes the function / operation specified in flow chart and / or block diagram to be implemented. The program code can be executed completely on computer, partly on computer, as independent software package, partly on computer and partly on remote computer or completely on remote computer or server.
[0197] In the context of the present disclosure, computer program codes or related data may be carried by any appropriate carrier to enable a device, apparatus or processor to perform the various processes and operations described above. Examples of carriers include signals, computer readable media, and the like. Examples of signals may include electrical, optical, radio, acoustic or other forms of propagation signals, such as carrier waves, infrared signals, and the like.
[0198] A computer readable medium may be any tangible medium that contains or stores a program for or related to an instruction execution system, apparatus, or device. A computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. More detailed examples of computer readable storage media include an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical storage device, a magnetic storage device, or any suitable combination thereof.
[0199] In addition, although the operation of the method of the present disclosure is described in a particular order in the accompanying drawings, this does not require or imply that these operations must be performed in this particular order, or that all the operations shown must be performed to achieve the desired result. On the contrary, the steps depicted in the flow chart can change the order of execution. Additionally or alternatively, some steps can be omitted, multiple steps can be combined into one step for execution, and / or one step can be decomposed into multiple steps for execution. It should also be noted that the features and functions of two or more devices according to the present disclosure can be embodied in one device. Conversely, the features and functions of a device described above can be further divided into being embodied by multiple devices.
[0200] Although the present disclosure has been described with reference to several specific embodiments, it should be understood that the present disclosure is not limited to the specific embodiments disclosed. The present disclosure is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
Claims
1. A device control method, comprising: At a first device, controlling movement of the first device based on at least one set of movement control information; as well as If it is determined that a failure related to the movement control of the first device occurs, the reverse movement of the first device is controlled based on at least one set of reverse movement control information corresponding to the at least one set of movement control information.
2. The method according to claim 1, wherein the at least one set of reverse movement control information is buffered in a buffer, wherein controlling the reverse movement of the first device comprises: The at least one set of reverse movement control information is read from the buffer to control the reverse movement of the first device.
3. The method of claim 1 , wherein controlling the movement of the first device comprises: receiving, via a communication connection between the first device and the second device, at least one mobility control command from the second device, the at least one mobility control command including the at least one set of mobility control information; as well as controlling the movement of the first device based on the received at least one movement control command, The failure includes a communication failure between the first device and the second device.
4. The method according to claim 3, further comprising: If it is determined that the communication between the first device and the second device is restored, a restoration success message is sent to the second device, where the restoration success message at least indicates a mobility control command corresponding to the reverse mobility control information used by the first device when the communication is restored.
5. The method according to claim 4, wherein one or more of the at least one mobility control command are respectively marked as one or more recovery points, and wherein sending the recovery success information to the second device comprises: determining whether reverse movement control information corresponding to a first movement control command corresponding to a first recovery point is used to control reverse movement of the first device; If it is determined that the reverse movement control information corresponding to the first movement control command is used to control the reverse movement of the first device, determining whether the communication between the first device and the second device is restored at the first restoration point; as well as If it is determined that the communication between the first device and the second device is restored at the first restoration point, first restoration success information is sent to the second device, where the first restoration success information at least indicates the first restoration point corresponding to the first movement control command.
6. The method according to claim 5, further comprising: Recovery point indication information is received from the second device, where the recovery point indication information indicates the one or more recovery points.
7. The method according to claim 5, wherein sending the recovery success information to the second device further comprises: If it is determined at the first recovery point that the communication between the first device and the second device is not recovered, controlling the reverse movement of the first device based on the remaining movement control commands; determining whether a second movement control command corresponding to the second recovery point is used to control reverse movement of the first device; If it is determined that the second movement control command is used to control the reverse movement of the first device, determining whether the communication between the first device and the second device is restored at the second restoration point; as well as If it is determined that the communication between the first device and the second device is restored at the second restoration point, second restoration success information is sent to the second device, where the second restoration success information at least indicates the second restoration point.
8. The method according to claim 3, wherein the communication failure is determined by performing a communication connection test with the second device, the communication connection test comprising at least one of the following: sending at least one first connection test command to the second device, or At least one second connection test command is received from the second device. 9 . The method according to claim 8 , wherein at least one of a sending frequency of the at least one first connection test command or a receiving frequency of the at least one second connection test command is higher than a frequency of receiving movement control commands from the second device.
10. The method of claim 3, wherein the first device comprises a robot body, and the second device comprises a control device remotely disposed relative to the robot body.
11. The method of claim 1 , wherein controlling movement of the first device comprises: Based on sensor data collected by a sensor device associated with the first device, determining at least one set of movement control information for controlling movement of the first device, and The faults include faults related to sensor data collection.
12. The method according to claim 11, further comprising: If it is determined that the fault related to the sensor data collection is recovered, the movement of the first device continues to be controlled based on the subsequently collected sensor data.
13. The method of claim 1, wherein controlling the reverse movement of the first device comprises: If it is determined that the failure occurs, generating at least another set of movement control information to control the first device to decelerate from the speed at which the communication failure was detected to a preset speed; as well as After the first device decelerates to the preset speed, the reverse movement of the first device is controlled based on the multiple sets of reverse movement control information respectively corresponding to the at least one set of movement control information and the at least another set of movement control information.
14. The method according to claim 1, wherein a set of movement control information indicates at least one of a linear velocity and an angular velocity, and a set of reverse movement control information corresponding to the set of movement control information is determined based on at least one of the inverse value of the linear velocity and the inverse value of the angular velocity of the first device.
15. A device control method, comprising: At the second device, via the communication connection between the first device and the second device, sending at least one mobility control command to the first device to control the movement of the first device, the at least one mobility control command comprising at least one set of mobility control information; If it is determined that there is a communication failure between the first device and the second device, stop sending the movement control command to the first device; If it is determined that the communication between the first device and the second device is restored, receiving restoration success information from the first device, the restoration success information at least indicating a mobility control command corresponding to the reverse mobility control information used by the first device when the communication is restored; as well as Further mobility control information for the first device is determined based at least on the mobility control command indicated by the resumption success information.
16. The method of claim 15, wherein determining the additional mobility control information for the first device comprises: Determine a blind spot in the environment that causes the communication failure based at least on the location information of the first device and the environment information of the environment in which the first device is located when the communication failure occurs; updating a navigation map for the environment based on the blind area; as well as The additional mobility control information is determined based on the updated navigation map and the mobility control command indicated by the resumption success information.
17. The method according to claim 15, further comprising: selecting one or more mobility control commands from the at least one mobility control command sent to the first device; as well as The selected one or more movement control commands are marked as corresponding to one or more recovery points, respectively.
18. The method according to claim 17, further comprising: Recovery point indication information is sent to the first device, where the recovery point indication information indicates the one or more recovery points.
19. The method of claim 17, wherein selecting the one or more movement control commands comprises: The one or more movement control commands are selected based on one or more of a time interval, a movement distance interval of the first device, or environmental information of an environment in which the first device is located.
20. The method of claim 15, wherein the first device comprises a robot body and the second device comprises a control device remotely disposed relative to the robot body.
21. A first device, comprising: at least one processor; as well as At least one memory coupled to the at least one processor, the at least one memory including instructions stored therein, the at least one memory and the instructions being further configured to, together with the at least one processor, cause the first device to perform the method according to any one of claims 1 to 14.
22. A second device, comprising: at least one processor; as well as At least one memory coupled to the at least one processor, the at least one memory including instructions stored therein, the at least one memory and the instructions being further configured to, together with the at least one processor, cause the second device to perform the method according to any one of claims 15 to 20.
23. A computer-readable medium having instructions stored thereon, which, when executed by at least one processing unit, configure the at least one processing unit to execute the method according to any one of claims 1 to 14 or the method according to any one of claims 15 to 20.
Citation Information
Patent Citations
Communication perception map construction method for emergency robot
CN114765781A
Remote control mobile object
JP2008059391A
Method and system for recovering from communication failure of robot, and building in which robot resistant to network failure conditions travels
WO2022215838A1
