Robot control method and device, electronic equipment and storage medium
By identifying candidate channels during emergency stop events and selecting the target channel based on robot data, the robot can be controlled to stop suddenly, thus solving the problem of insufficient robot control flexibility and achieving flexible emergency stop control and determination of the optimal passage channel.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING GEEKPLUS TECH CO LTD
- Filing Date
- 2023-05-22
- Publication Date
- 2026-05-29
AI Technical Summary
Existing technologies lack sufficient flexibility in robot control, failing to adjust the robot's stopping area according to its operational status, resulting in inflexible emergency stop control.
By identifying multiple candidate channels within the emergency stop area corresponding to the emergency stop event, the robot's position and operation data are obtained. Based on this data, the target channel is determined from the candidate channels, and an emergency stop command is sent to the robot in the target channel to make it stop suddenly, thus making way for users waiting to pass.
It enables flexible adjustment of the robot's emergency stop range, reduces the impact on the operation of other robot systems, and improves the flexibility of emergency stop control.
Smart Images

Figure CN116394261B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the field of robotics technology, specifically to a robot control method, device, electronic device, and storage medium. Background Technology
[0002] With the continuous development of robotics technology, robots are being widely used in complex scenarios such as factories to solve production and distribution problems. For example, in the field of smart warehousing, robots can be used to move goods. Due to their ability to operate continuously, they can significantly improve the efficiency of goods handling and save manpower.
[0003] Controlling a robot to stop during operation is a crucial way to handle emergencies. In some situations, personnel or other robots need to enter the robot's working area. This necessitates controlling some robots, such as stopping robots in certain areas, to create a passage for personnel or other robots. However, this method can only stop robots in fixed areas and cannot adjust the stopping area according to the robot's operational needs. Therefore, the flexibility of emergency stop control for robots is insufficient. Summary of the Invention
[0004] In view of the above problems, embodiments of the present invention provide a robot control method, device, electronic device and storage medium to solve the problem of insufficient robot control flexibility in the prior art.
[0005] According to one aspect of the present invention, a robot control method is provided, the method comprising: upon determining that an emergency stop event has occurred, determining a plurality of candidate channels in an emergency stop area corresponding to the emergency stop event; acquiring position data and / or operation data of a plurality of robots; based on the position data and / or operation data of each robot, determining a target channel for a user to pass through from the plurality of candidate channels, wherein the number of robots in the target channel is greater than or equal to zero; and, if the number of robots in the target channel is greater than zero, sending an emergency stop command to the robots in the target channel to cause the robots in the target channel to stop suddenly.
[0006] In some embodiments, determining a target channel for a user to pass through from among the plurality of candidate channels based on the location data and / or operation data of each of the robots includes: determining a channel score for each of the candidate channels based on the location data and / or operation data of each of the robots; determining the target channel from among the plurality of candidate channels based on the channel scores of each of the candidate channels; wherein the target channel has a channel score higher than a threshold or the target channel is the candidate channel with the highest channel score among the plurality of candidate channels.
[0007] In some embodiments, the operational data includes task information and / or path information, the task information including whether the robot is in an idle state and / or the robot's task priority, and determining the channel score of each candidate channel based on the position data and / or operational data of each robot includes: determining the number of robots in each candidate channel based on the position data of each robot; or, determining the number of robots in an idle state in each candidate channel and / or the channel priority of each candidate channel based on the task information of each robot; wherein the channel priority of the candidate channel is determined according to the task priority of each robot in the candidate channel; or, determining the channel popularity of each candidate channel based on the path information of each robot; and determining the channel score of each candidate channel based on at least one of the number of robots in each candidate channel, the number of robots in an idle state in each candidate channel, and the channel popularity of each candidate channel.
[0008] In some embodiments, the fewer robots in a candidate channel, the higher the channel score of the candidate channel; the more robots in an idle state in a candidate channel, the higher the channel score of the candidate channel; the lower the task priority of the robots in a candidate channel, the higher the channel score of the candidate channel; and the lower the channel popularity of a candidate channel, the higher the channel score of the candidate channel.
[0009] In some embodiments, determining multiple candidate channels in the emergency stop area corresponding to the emergency stop event includes: in the case of an abnormal robot with an abnormal operating state in the emergency stop area, determining the multiple candidate channels based on the position data of the abnormal robot; wherein each candidate channel includes multiple cells, and the multiple cells include the cell where the abnormal robot is located.
[0010] In some embodiments, after determining the target channel for the user to pass through among the plurality of candidate channels, the method further includes: if there is a first robot among the plurality of robots whose current planned path needs to pass through the target channel, generating a first planned path for the first robot based on the target channel, and sending the first planned path to the first robot so that the first robot travels according to the first planned path; wherein the first planned path does not pass through the target channel.
[0011] In some embodiments, after determining the target channel for the user to pass through from the plurality of candidate channels, the method further includes: if there is a first robot among the plurality of robots whose current planned path needs to pass through the target channel, generating a second planned path for the first robot based on the target channel; wherein the second planned path is affected by a second robot and needs to pass through the target channel; generating a third planned path for the second robot and a fourth planned path for the first robot based on the target channel; wherein the fourth planned path does not pass through the target channel; sending the third planned path and the fourth planned path to the second robot and the first robot respectively, so that the second robot travels according to the third planned path and the first robot travels according to the fourth planned path.
[0012] In some embodiments, the target channel includes a straight channel or a curved channel.
[0013] In some embodiments, the method further includes: determining that an emergency stop event has occurred in response to a user pressing an emergency stop button; or, determining that an emergency stop event has occurred in response to a user triggering an input operation to an emergency stop control in a control interface; or, determining that an emergency stop event has occurred in response to detecting an anomaly in at least one robot in the emergency stop area.
[0014] In some embodiments, an anomaly in at least one robot in the emergency stop area includes at least one of the following: the cargo being carried by at least one robot in the emergency stop area falls off; at least one robot in the emergency stop area loses power; the travel path of at least one robot in the emergency stop area deviates from the planned path; at least one robot in the emergency stop area malfunctions; or any two robots in the emergency stop area collide.
[0015] In some embodiments, the method further includes: when the emergency stop event is determined to be resolved, if a robot exists in the target channel, sending a release emergency stop command to the robot in the target channel to enable the robot in the target channel to resume driving, and releasing the target channel to enable the robot in the emergency stop area to drive normally according to the planned path; or, when the emergency stop event is determined to be resolved, if no robot exists in the target channel, releasing the target channel to enable the robot in the emergency stop area to drive normally according to the planned path.
[0016] In some embodiments, the method further includes: when the user to be passed reaches the target emergency stop position through the target channel, or when the time taken for the user to reach the target emergency stop position through the target channel exceeds a preset time, acquiring updated position data and / or updated operation data of each robot; and based on the updated position data and / or the updated operation data, determining a new target channel from the plurality of candidate channels for the user to reach the target area from the target emergency stop position.
[0017] According to another aspect of the present invention, a robot control device is provided, the device comprising: a first determining module, configured to determine a plurality of candidate channels in an emergency stop area corresponding to the emergency stop event when an emergency stop event is determined to occur; an acquiring module, configured to acquire position data and / or running data of a plurality of robots; a second determining module, configured to determine a target channel for a user to pass through from the plurality of candidate channels based on the position data and / or running data of each robot, wherein the number of robots in the target channel is greater than or equal to zero; and a sending module, configured to send an emergency stop command to the robots in the target channel when the number of robots in the target channel is greater than zero, so as to cause the robots in the target channel to stop suddenly.
[0018] In some embodiments, the second determining module is configured to determine the channel score of each candidate channel based on the position data and / or the operation data of each robot; and to determine the target channel among the plurality of candidate channels based on the channel scores of each candidate channel; wherein the channel score of the target channel is higher than a threshold or the target channel is the candidate channel with the highest channel score among the plurality of candidate channels.
[0019] In some embodiments, the operational data includes task information and / or path information, wherein the task information includes whether the robot is in an idle state and / or the robot's task priority, and the second determining module is used to determine the number of robots in each candidate channel based on the location data of each robot; or, based on the task information of each robot, determine the number of robots in an idle state in each candidate channel and / or the channel priority of each candidate channel; wherein the channel priority of the candidate channel is determined according to the task priority of each robot in the candidate channel; or, based on the path information of each robot, determine the channel popularity of each candidate channel; and determine the channel score of each candidate channel based on at least one of the number of robots in each candidate channel, the number of robots in an idle state in each candidate channel, and the channel popularity of each candidate channel.
[0020] In some embodiments, the fewer robots in a candidate channel, the higher the channel score of the candidate channel; the more robots in an idle state in a candidate channel, the higher the channel score of the candidate channel; the lower the task priority of the robots in a candidate channel, the higher the channel score of the candidate channel; and the lower the channel popularity of a candidate channel, the higher the channel score of the candidate channel.
[0021] In some embodiments, the first determining module is further configured to determine the plurality of candidate channels based on the location data of the abnormal robot when there is an abnormal robot with an abnormal operating state in the emergency stop area; wherein each candidate channel includes a plurality of cells, and the plurality of cells include the cell where the abnormal robot is located.
[0022] In some embodiments, after determining the target channel for the user to pass through from the plurality of candidate channels, the second determining module is used to generate a first planned path for the first robot based on the target channel when there is a first robot among the plurality of robots whose current planned path needs to pass through the target channel, and send the first planned path to the first robot so that the first robot travels according to the first planned path; wherein, the first planned path does not pass through the target channel.
[0023] In some embodiments, after determining the target channel for the user to pass through from the plurality of candidate channels, the second determining module is further configured to, if there is a first robot among the plurality of robots whose current planned path needs to pass through the target channel, generate a second planned path for the first robot based on the target channel; wherein the second planned path is affected by the second robot and needs to pass through the target channel; generate a third planned path for the second robot and a fourth planned path for the first robot based on the target channel; wherein the fourth planned path does not pass through the target channel; and send the third planned path and the fourth planned path to the second robot and the first robot respectively, so that the second robot travels according to the third planned path and the first robot travels according to the fourth planned path.
[0024] In some embodiments, the target channel includes a straight channel or a curved channel.
[0025] In some embodiments, the first determining module is further configured to determine that an emergency stop event has occurred in response to a user pressing an emergency stop button; or, in response to a user triggering an operation on an emergency stop control in the control interface; or, in response to detecting an anomaly in at least one robot in the emergency stop area, determine that an emergency stop event has occurred.
[0026] In some embodiments, an anomaly in at least one robot in the emergency stop area includes at least one of the following: the cargo being carried by at least one robot in the emergency stop area falls off; at least one robot in the emergency stop area loses power; the travel path of at least one robot in the emergency stop area deviates from the planned path; at least one robot in the emergency stop area malfunctions; or any two robots in the emergency stop area collide.
[0027] In some embodiments, the sending module is further configured to, upon determining that the emergency stop event has been resolved, if a robot exists in the target channel, send a release emergency stop command to the robot in the target channel to enable the robot in the target channel to resume driving, and release the target channel to enable the robot in the emergency stop area to drive normally according to the planned path; or, upon determining that the emergency stop event has been resolved, if no robot exists in the target channel, release the target channel to enable the robot in the emergency stop area to drive normally according to the planned path.
[0028] In some embodiments, the second determining module is further configured to acquire updated position data and / or updated operation data of each robot when the user to be passed reaches the target emergency stop position through the target channel, or when the time taken for the user to reach the target emergency stop position through the target channel exceeds a preset time; and based on the updated position data and / or the updated operation data, determine a new target channel from the plurality of candidate channels for the user to reach the target area from the target emergency stop position.
[0029] According to another aspect of the present invention, an electronic device is provided, comprising: a processor; and a memory for storing at least one executable instruction; the executable instruction causing the processor to perform operations as described in any of the preceding robot control methods.
[0030] According to another aspect of the present invention, a computer-readable storage medium is provided, the storage medium storing at least one executable instruction, which, when executed on an electronic device, causes the electronic device to perform operations as described in any of the preceding robot control methods.
[0031] In summary, the robot control method, apparatus, electronic device, and storage medium according to the embodiments of the present invention can, when an emergency stop event is determined, identify multiple candidate channels in the emergency stop area corresponding to the emergency stop event, acquire position data and operation data of multiple robots, and, based on the position data and / or operation data of each robot, determine a target channel for the user to pass through from among the multiple candidate channels. If the number of robots in the target channel is greater than zero, an emergency stop command is sent to the robots in the target channel to cause them to stop suddenly. By determining the target channel based on the position data and / or operation data of each robot, a passageway can be reserved for the user to pass through. Furthermore, when a robot is present in the target channel, the robot in the target channel can be controlled to stop suddenly, ensuring that the robot in the target channel does not affect the passage of the user to pass through. At the same time, the impact of the robot in the target channel stopping suddenly on the operation of the entire robot system can be reduced, that is, the optimal robot emergency stop range can be determined, and the robot emergency stop range can be flexibly adjusted.
[0032] The above description is merely an overview of the technical solutions of the embodiments of the present invention. In order to better understand the technical means of the embodiments of the present invention and to implement them in accordance with the contents of the specification, and to make the above and other objects, features and advantages of the embodiments of the present invention more apparent and understandable, specific embodiments of the present invention are described below. Attached Figure Description
[0033] The accompanying drawings are for illustrative purposes only and are not intended to limit the invention. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:
[0034] Figure 1 A flowchart of a robot control method provided by the present invention is shown;
[0035] Figure 2 A schematic diagram of a candidate channel provided by the present invention is shown;
[0036] Figure 3 A flowchart of another robot control method provided by the present invention is shown;
[0037] Figure 4 A schematic diagram of another candidate channel provided by the present invention is shown;
[0038] Figure 5 A schematic diagram of yet another candidate channel provided by the present invention is shown;
[0039] Figure 6 A flowchart of yet another robot control method provided by the present invention is shown;
[0040] Figure 7 A flowchart of yet another robot control method provided by the present invention is shown;
[0041] Figure 8 A flowchart of yet another robot control method provided by the present invention is shown;
[0042] Figure 9 A flowchart of yet another robot control method provided by the present invention is shown;
[0043] Figure 10 A flowchart of yet another robot control method provided by the present invention is shown;
[0044] Figure 11 A flowchart of yet another robot control method provided by the present invention is shown;
[0045] Figure 12 A schematic diagram of a robot control system provided by the present invention is shown;
[0046] Figure 13 A schematic diagram of the structure of a robot control device provided by the present invention is shown;
[0047] Figure 14 A schematic diagram of the structure of an electronic device provided by the present invention is shown. Detailed Implementation
[0048] Exemplary embodiments of the invention will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the invention are shown in the drawings, it should be understood that the invention can be implemented in various forms and should not be limited to the embodiments set forth herein.
[0049] With the development of intelligent technology, robots are widely used in fields such as intelligent warehousing, material handling, environmental cleaning, and agricultural harvesting and planting. Taking intelligent warehousing as an example, multiple robots move within the same work area of the warehouse and perform tasks such as handling goods or packages. Each robot travels along its own path without colliding with others.
[0050] When a robot malfunctions or is affected by environmental factors, users or other robots need to enter the work area to handle the malfunctioning robot or to pass through the work area to reach other areas. To ensure that users or other robots can enter and pass through the work area, it is necessary to control all robots within the work area to stop moving, or to control the robots in a specific fixed area of the work area to stop moving. However, while this method of controlling all robots to stop moving or controlling the robots in a fixed area to stop moving can achieve emergency stop control of robots and leave passage, it will affect the operation of normally functioning robots in the work area and reduce the overall working efficiency of the robot system.
[0051] In view of one or more of the aforementioned problems, embodiments of the present invention provide a robot control method. This method can be executed by a server, enabling the server to determine multiple candidate channels within an emergency stop area corresponding to an emergency stop event when such an event is detected. Then, the server acquires position data and / or running data of multiple robots. Based on the position data and / or running data of each robot, a target channel for the user to pass through is determined from the multiple candidate channels. When the number of robots in the target channel is greater than zero, an emergency stop command is sent to the robots in the target channel to cause them to stop abruptly. After determining the target channel, the user can enter the emergency stop area through the target channel.
[0052] The server can be a single server, a server cluster consisting of multiple servers, or a cloud server providing robot control services. The user waiting to pass can be a human or another robot; this embodiment does not impose any special limitations on this.
[0053] The robot control method provided by the embodiments of the present invention can realize an emergency stop control method based on the robot's operating status, determine the optimal emergency stop range of the robot, and realize flexible adjustment of the emergency stop range of the robot, thereby improving the flexibility of emergency stop control of the robot and reducing the impact on other robots caused by controlling the emergency stop of some robots.
[0054] To provide a detailed explanation of the robot control method provided in the embodiments of the present invention, Figure 1 A flowchart of a robot control method provided by an embodiment of the present invention is shown, as follows: Figure 1 As shown, the method may include the following steps 110 to 140:
[0055] Step 110: When an emergency stop event is determined, identify multiple candidate channels in the emergency stop area corresponding to the emergency stop event.
[0056] An emergency stop event refers to an operation or action that can be recognized by a computer to stop the robot from moving. For example, when a user presses the emergency stop button, the computer detects the emergency stop signal and determines that an emergency stop event has occurred. In some embodiments, the robot can be controlled through the control interface of the robot scheduling system. For example, when a user clicks the emergency stop control on the control interface, the computer determines that the user has triggered an emergency stop operation and determines that an emergency stop event has occurred.
[0057] In some embodiments, the server can automatically determine that an emergency stop event has occurred when an anomaly is detected in a robot within the emergency stop area. For example, taking a robot performing a package handling task as an example, the server can determine that an emergency stop event has occurred when it detects that goods being carried by one or more robots have fallen, or one or more robots have experienced a power outage or other malfunction, or one or more robots have deviated from their planned paths, or any two robots have collided.
[0058] An emergency stop zone refers to the area where an emergency stop event occurs. This can be the area where robots operate, such as the work area of all robots performing cargo handling or package handling tasks. Candidate channels refer to the selectable passageways within the emergency stop zone. For example, Figure 2 The diagram illustrates a candidate channel provided by an embodiment of the present invention, as shown below. Figure 2 As shown, the emergency stop area 200 includes multiple shelves 210. The robot can travel in the area of the emergency stop area 200 other than the shelves 210. Taking the candidate channels as straight channels as an example, the candidate channels can include horizontal channels 1, 2, 3, and 4, and vertical channels 5, 6, 7, 8, and 9.
[0059] It should be noted that, Figure 2 The candidate channels shown are for illustrative purposes only. For example, in addition to straight channels, candidate channels may also include curved channels, such as zigzag channels or channels composed of straight lines and curves. Furthermore, depending on the layout of the emergency stop area and the items within it, candidate channels can have various types and quantities. For instance, shelves in the emergency stop area can be placed around the perimeter of the emergency stop area, in which case candidate channels can be set up and divided according to the areas within the emergency stop area other than the shelves.
[0060] When an emergency stop event is detected, the server can determine the emergency stop region that triggered the event, as well as multiple candidate channels within that region. For example, when an emergency stop event is detected, the server can first determine the emergency stop region based on the source of the emergency stop signal, and then query the local database to obtain the candidate channels within that emergency stop region.
[0061] For example, a user can trigger an emergency stop event via a hardware button or software system; based on this, Figure 3 A flowchart of another robot control method provided by the present invention is shown, which can be achieved through, for example... Figure 3 The method described in step 310, 320, or 330 determines that an emergency stop event has occurred. Specifically, this method includes:
[0062] Step 310: In response to the user pressing the emergency stop button, confirm that an emergency stop event has occurred.
[0063] The emergency stop button is the control button that stops the robot from moving. When the user presses the emergency stop button, it triggers a signal from the Programmable Logic Controller (PLC), and the corresponding value for emergency stop is written into the register. The server receives the emergency stop signal and determines that an emergency stop event has occurred.
[0064] Step 320: In response to the user's trigger operation on the emergency stop control in the control interface, determine that an emergency stop event has occurred.
[0065] The control interface can be the control interface of a robot scheduling system. This control interface can include multiple operation controls, such as emergency stop controls, view switching controls, and task management controls. Each operation control can be used to control the robot to perform a corresponding operation. For example, the emergency stop control can be used to stop one or more robots from moving; the view switching control can be used to control the robot scheduling system's control interface to display the shooting view of a certain robot; and the task management control can be used to set and manage the tasks performed by each robot, such as modifying the content and order of the tasks performed by the robot.
[0066] For example, when a user clicks the emergency stop control on the control interface, it indicates that the user has input a trigger operation on the emergency stop control in the control interface. At this time, the server can respond to the user's trigger operation and determine that an emergency stop event has occurred.
[0067] In some cases, users can also trigger the emergency stop control in other ways. For example, users can use an external keyboard to input shortcut commands for the emergency stop control, such as pressing "Ctrl" and "Q" keys at the same time to trigger the emergency stop operation.
[0068] Step 330: In response to detecting an anomaly in at least one robot in the emergency stop area, determine that an emergency stop event has occurred.
[0069] An abnormality in the robot in the emergency stop zone can be any one or more situations that affect the robot's operation, such as a collision, power failure, low battery, or goods falling off the robot while performing a cargo handling task.
[0070] During the operation of the robots in the emergency stop zone, the server can actively acquire the operational data of each robot, and the robots can also periodically transmit their operational data to the server. Therefore, the server can detect whether any robot has malfunctioned based on the operational data, and determine that an emergency stop event has occurred when at least one robot in the emergency stop zone has malfunctioned.
[0071] In some embodiments, an anomaly in at least one robot in the emergency stop area may include at least one of the following: the cargo being carried by at least one robot in the emergency stop area falls off; at least one robot in the emergency stop area loses power; at least one robot in the emergency stop area deviates from its planned path; at least one robot in the emergency stop area malfunctions; or any two robots in the emergency stop area collide.
[0072] Through steps 310 to 330 above, users can choose different ways to trigger the robot's emergency stop operation, and the server can also detect whether any abnormality occurs in each robot to automatically trigger an emergency stop event. This not only improves the convenience and flexibility of the emergency stop operation, but also enhances the robot's operational safety.
[0073] When an emergency stop event is confirmed, candidate channels within the emergency stop area can be further identified. Simultaneously, there are two states when a robot is operating within the emergency stop area: one where all robots in the area are operating normally, and another where a robot in the area is experiencing an anomaly.
[0074] For both scenarios described above, candidate channels can be all possible passageways within the emergency stop area. However, to reduce the operational impact on other robots caused by the emergency stop of one robot, in some embodiments, for the second scenario, multiple candidate channels within the emergency stop area corresponding to the emergency stop event can be determined using the following method:
[0075] In the event of an abnormal robot exhibiting an malfunction in the emergency stop zone, multiple candidate channels are identified based on the robot's location data.
[0076] Each candidate channel comprises multiple cells, including the cell where the abnormal robot is located. To accurately locate the robot's position, the candidate channel is divided into multiple cells, each with the same size and each cell can have a unique identifier, such as a number.
[0077] For example, the server can actively acquire the operating status of each robot, and each robot can also send its operating status to the server. When the server determines that there is an abnormal robot with an abnormal operating status in the emergency stop area based on the operating status of each robot, the server can determine the channel including the cell of the abnormal robot as a candidate channel based on the cell where the abnormal robot is located. Figure 4 As shown, the abnormal robot 410 is located in the longitudinal channel 7 and the transverse channel 3. Assuming that the candidate channel is a straight channel, the candidate channel can be the longitudinal channel 7 and the transverse channel 3.
[0078] Using the above method, the channel containing the location of the malfunctioning robot can be identified as a candidate channel based on the operating status of each robot in the emergency stop area. Since the malfunctioning robot cannot function normally, using its channel as a candidate channel can reduce the impact on other normally functioning robots. At the same time, by identifying the channel containing the malfunctioning robot as a candidate channel, the range of candidate channels can be reduced, thus improving the efficiency of identifying the target channel.
[0079] Step 120: Obtain position data and / or operation data of multiple robots.
[0080] Robot position data refers to the robot's real-time position within the emergency stop zone, such as its specific coordinates within that zone. In some cases, the emergency stop zone can be divided into multiple cells, each with the same size and a unique identifier, such as a number. In this case, the robot's position data can also be the identifier of the cell within the emergency stop zone.
[0081] Robot operational data refers to data collected during robot operation. This data can include the robot's movement data, such as speed and direction, as well as task and path information. Task information may include whether the robot is idle, the task content, and task priority. Path information can be a planned path generated by the server or a planned path generated autonomously by the robot based on the start and end positions sent by the server. The robot follows this planned path within emergency stop zones.
[0082] For example, when a robot autonomously generates a planned path and travels based on the starting and ending positions sent by the server, in order to avoid the possibility of collisions due to conflicts in the planned paths of multiple robots, the server can obtain the planned paths of each robot and correct each planned path.
[0083] When acquiring robot position data, the robot's location data can be collected in real time using positioning sensors configured on the robot. To improve the accuracy of the position data, visual sensors, ultrasonic sensors, or other indoor positioning sensors can be used to collect the robot's position data.
[0084] For operational data, the robot's movement data can be collected through inertial navigation devices configured on the robot. Since task information and path information are generated and distributed to the robot by the server based on business data and all robot operation status, the task information and path information can be obtained by the server locally.
[0085] Using the methods described above, the server can obtain the robot's location data and / or operation data, enabling motion monitoring of the robot and providing data support for subsequently determining the passageway for users waiting to pass.
[0086] Step 130: Based on the position data and / or operation data of each robot, determine the target channel for the user to pass through from multiple candidate channels.
[0087] The number of robots in the target channel is greater than or equal to zero. That is, robots may or may not be present in the target channel.
[0088] After acquiring position and / or operational data from multiple robots, the position and / or operational data of each robot can be analyzed to determine the target channel from multiple candidate channels. For example, based on the position and / or operational data of each robot, the impact of each candidate channel on other robots after controlling a robot to stop abruptly can be determined, thereby selecting the candidate channel with the lowest impact as the target channel.
[0089] In some embodiments, the target channel may include a straight channel or a curved channel. (See reference) Figure 5 As shown, the straight passage can include transverse passages 1, 2, 3, and 4 and longitudinal passages 5, 6, 7, 8, and 9; the curved passage can include a straight passage with a bend, as shown in the figure, which is composed of a portion of transverse passage 2, a portion of longitudinal passage 6, and a portion of transverse passage 3.
[0090] It should be understood that, Figure 5 The lane examples shown are for illustrative purposes only. Straight-through lanes and curved lanes may include other lanes depending on the actual conditions of the emergency stop area, for example, Figure 5 The curved passage in the emergency stop area shown may include a passage composed of portions of any number of straight passages, or a passage composed of multiple straight passages and curved passages.
[0091] Step 130 allows for the evaluation of the feasibility of each candidate channel, selecting a suitable candidate channel as the target channel, thereby minimizing the impact of sudden stops of some robots on the entire robot system.
[0092] Figure 6 A flowchart of another robot control method provided by an embodiment of the present invention is shown, such as... Figure 6 As shown, step 130 can be completed through steps 610 to 620. The method specifically includes:
[0093] Step 610: Determine the channel score for each candidate channel based on the position data and / or operation data of each robot.
[0094] Channel score is a value that evaluates the selectivity of candidate channels. Generally speaking, the higher the channel score, the stronger the selectivity of the candidate channel, that is, the higher the probability that the candidate channel will be selected as the target channel.
[0095] Based on the position data and / or operation data of each robot, the server can analyze the position and operation of each robot to calculate the channel score for each candidate channel.
[0096] For example, operational data may include task information and / or path information. Task information may include whether the robot is idle and / or the robot's task priority; a higher task priority results in the robot executing tasks earlier in the sequence. Path information refers to the robot's travel path, which can be sent by the server or generated autonomously by the robot based on the location information sent by the server.
[0097] thus, Figure 7 A flowchart of another robot control method provided by an embodiment of the present invention is shown, such as... Figure 7 As shown, the channel score for each candidate channel can be determined using the following method:
[0098] Step 710: Determine the number of robots for each candidate channel based on the position data of each robot.
[0099] For example, the server can determine the cell where each robot is located based on its position data, and then count the number of robots in each candidate channel based on the candidate channel in which that cell is located. In some embodiments, the fewer robots in a candidate channel, the higher the channel score for that candidate channel.
[0100] Step 720: Based on the task information of each robot, determine the number of robots in an idle state in each candidate channel and / or the channel priority of each candidate channel.
[0101] The channel priority of the candidate channel is determined based on the task priority of each robot in the candidate channel.
[0102] Based on the task information of each robot, it can be determined whether there are any tasks to be executed by the robots in each candidate channel, the number of tasks to be executed, and the task priority of each task. Then, the server can count the number of idle robots in each candidate channel, and can also determine the priority of each candidate channel based on the task priority of each robot in the candidate channel.
[0103] For example, the task priorities of each robot in the candidate channel can be added together to obtain the channel priority of each candidate channel, or the task priorities of each robot in the candidate channel can be converted according to a certain mathematical calculation formula to obtain the channel priority of the candidate channel.
[0104] In some embodiments, the more idle robots there are in a candidate channel, the fewer robots there are to perform tasks in the candidate channel, and the higher the channel score of the candidate channel; the lower the task priority of the robots in the candidate channel, the lower the task importance of the robots in the candidate channel, and the higher the channel score of the candidate channel.
[0105] Step 730: Based on the path information of each robot, determine the channel heat of each candidate channel.
[0106] Channel popularity represents the number of robots in a candidate channel within a certain period of time. The higher the channel popularity, the more robots there are in the corresponding candidate channel within the corresponding time period. Conversely, the lower the channel popularity, the fewer robots there are in the corresponding candidate channel within the corresponding time period.
[0107] For example, based on the path information of each robot, the cells that each robot passes through at each time point can be determined. Based on the candidate channels where the cells passed by the robots are located, the number of robots passing through each candidate channel can be determined, and the channel popularity of each candidate channel can be obtained.
[0108] In some embodiments, the lower the channel popularity of a candidate channel, the fewer robots there are in the candidate channel within the corresponding time period, and the higher the channel score of the candidate channel.
[0109] Step 740: Determine the channel score for each candidate channel based on at least one of the following: the number of robots in each candidate channel, the number of robots in an idle state in each candidate channel, and the channel popularity of each candidate channel.
[0110] After determining the number of robots in each candidate channel, the number of idle robots in each candidate channel, and the channel popularity of each candidate channel, the channel score of each candidate channel can be calculated based on at least one of these factors. For example, the channel score P = 1 / N can be calculated based on the number of robots in the candidate channel, where N is the number of robots in the candidate channel; another example is that the channel score P = M can be calculated based on the number of idle robots in the candidate channel, where M is the number of idle robots in the candidate channel.
[0111] For example, the channel score P, which comprehensively evaluates the selectivity of a channel, can also be calculated based on the number of robots in each candidate channel, the number of idle robots in each candidate channel, and the correlation between channel popularity and channel score. For instance, if the number of robots in a candidate channel is negatively correlated with the channel score, the number of idle robots in a candidate channel is positively correlated with the channel score, and the channel popularity is negatively correlated with the channel score, then the number of robots, the number of idle robots, and the correlation between channel popularity can be transformed according to the number of robots, the number of idle robots, and the correlation between channel popularity, respectively. Then, the transformed values can be added together to obtain the corresponding channel score P for the candidate channel.
[0112] It should be noted that this embodiment does not limit the number of times steps 710 to 730 are executed; that is, steps 710 to 730 can be executed in their entirety or in part.
[0113] Through the above steps 710-740, the channel score of each candidate channel can be determined based on the number of robots in each candidate channel, the number of robots in the idle state in each candidate channel, and the channel popularity of each candidate channel, thereby realizing the channel selectivity assessment based on the robot's operating status.
[0114] Step 620: Based on the channel scores of each candidate channel, determine the target channel from among multiple candidate channels.
[0115] Among them, the target channel's channel score is higher than the threshold, or the target channel is the candidate channel with the highest channel score among multiple candidate channels.
[0116] In other words, based on the channel scores of each candidate channel, the candidate channel with a channel score higher than the threshold can be identified as the target channel, or the candidate channel with the highest channel score can be identified as the target channel.
[0117] Through steps 610-620 above, the channel score of each candidate channel can be determined based on the position data and / or operation data of each robot, and the target channel can be selected from multiple candidate channels according to the channel score. This method allows the target channel to dynamically change based on the robot's position and operation data, and the target channel can adapt to the robot's operating conditions, thus reducing the impact of sudden stops of some robots on other robots.
[0118] Step 140: If the number of robots in the target channel is greater than zero, send an emergency stop command to the robots in the target channel to make them stop suddenly.
[0119] After determining the target passage, if there are no robots in the target passage, the target passage can be locked, allowing users to enter the emergency stop area through the target passage or pass through the emergency stop area. If there are robots in the target passage, the target passage can be locked, and the robots located in the target passage can be determined based on the position data of each robot. Then, an emergency stop command is sent to the robots in the target passage, causing them to stop suddenly, allowing users to enter the emergency stop area through the target passage or pass through the emergency stop area.
[0120] After identifying the target passage, to prevent other robots from entering the target passage in the following time period and affecting the passage of users, Figure 8 This illustrates yet another robot control method provided by an embodiment of the present invention, such as... Figure 8 As shown, it may include the following steps 810:
[0121] Step 810: If there is a first robot among multiple robots whose current planned path needs to pass through the target channel, generate a first planned path for the first robot based on the target channel and send the first planned path to the first robot so that the first robot can travel according to the first planned path.
[0122] The first planned path does not pass through the target channel. The first robot is a subset of all robots except those in the target channel.
[0123] During the operation of each robot, each robot travels according to its current planned path. To prevent the robot from entering the target channel after it has determined the target channel by still following the current planned path, when there is a first robot whose current planned path needs to pass through the target channel, the server can plan a new path for it. That is, the server can generate a first planned path for the first robot and send the first planned path to the first robot, so that it can travel according to the first planned path and will not enter the target channel.
[0124] In other words, step 810 can replan the path for the first robot that needs to pass through the target channel, ensuring that it will not enter the target channel and will not affect the passage of users waiting to pass through the target channel.
[0125] In some embodiments, after the target path is determined, for the first robot whose currently planned path needs to pass through the target path, its regenerated planned path may be influenced by other robots and must pass through the target path. To solve this problem, Figure 9 This illustrates yet another robot control method provided by an embodiment of the present invention, such as... Figure 9 As shown, the following methods may be included:
[0126] Step 910: If there is a first robot among multiple robots whose current planned path needs to pass through the target channel, generate a second planned path for the first robot based on the target channel.
[0127] The second planned path, influenced by the second robot, must pass through the target channel. The second robot can be one or more robots other than the first robot and the robots in the target channel.
[0128] For the first robot whose current planned path requires passing through the target passage, the server can generate a second planned path for it based on the location of the target passage. However, the second planned path is affected by the second robot and may need to pass through the target passage.
[0129] Step 920: Based on the target channel, generate a third planned path for the second robot and a fourth planned path for the first robot.
[0130] The fourth planned route does not pass through the target passage.
[0131] To prevent both the first and second robots from entering the target channel, the server can generate a new planned path for the second robot, namely a third planned path, based on the location of the target channel. This third planned path does not pass through the target channel. At the same time, a fourth planned path is generated for the first robot, which also does not pass through the target channel.
[0132] Step 930: Send the third planned path and the fourth planned path to the second robot and the first robot respectively, so that the second robot travels according to the third planned path and the first robot travels according to the fourth planned path.
[0133] By controlling the second robot to travel along the third planned path and the first robot to travel along the fourth planned path, it can be ensured that neither the first nor the second robot enters the target channel, thus guaranteeing that users waiting to pass through can pass through the target channel smoothly.
[0134] Through the steps 910 to 930 above, new planned paths can be generated for other robots that may affect users passing through the target channel, so that they can travel along the new planned paths and not enter the target channel, thus avoiding their impact on users passing through the target channel.
[0135] Figure 10 A flowchart of another robot control method provided by an embodiment of the present invention is shown, such as... Figure 10 As shown in steps 1010 and 1020, the server can perform any of the following steps to resolve the emergency stop event:
[0136] Step 1010: When the emergency stop event is determined to be resolved, if there is a robot in the target channel, send a release emergency stop command to the robot in the target channel to enable the robot in the target channel to resume driving, and release the target channel so that the robot in the emergency stop area can drive normally according to the planned path.
[0137] For example, after a user has passed through the target channel, they can press the emergency stop button again. This triggers a PLC signal, writing the corresponding value for releasing the emergency stop into the register. The server receives the emergency stop release signal and confirms that the emergency stop event has been resolved. After the emergency stop event is resolved, the robot in the target channel resumes its movement, and the target channel is released. The robot in the emergency stop area can then proceed normally according to the planned path.
[0138] Step 1020: When the emergency stop event is determined to be resolved, if there are no robots in the target channel, the target channel is released so that the robots in the emergency stop area can travel normally according to the planned path.
[0139] When an emergency stop event is resolved, if there are no robots in the target channel, it means that all robots in the emergency stop area are in motion, but cannot enter the target channel. In order for all robots to be able to move normally throughout the entire emergency stop area, the target channel can be released, allowing all robots to move normally along the planned path in the emergency stop area without having to bypass the area where the target channel is located.
[0140] In some embodiments, the emergency stop cancellation event can be triggered based on whether the user presses the emergency stop button again, i.e., when the user presses the emergency stop button again, the emergency stop cancellation event occurs. Alternatively, it can be determined whether the emergency stop cancellation event has occurred by detecting whether the user clicks the "Cancel Emergency Stop" control in the robot scheduling system's control interface. For example, if it is detected that the user clicks the "Cancel Emergency Stop" control in the control interface, then it is determined that the emergency stop cancellation event has occurred.
[0141] By following steps 1010 to 1020 above, once the emergency stop event is resolved, the robots in the emergency stop area can be controlled to travel normally along the planned path based on whether there are robots in the target channel, so that all robots can resume operation.
[0142] In some embodiments, when there are multiple emergency stop areas, emergency stop operations of multiple emergency stop areas can be triggered according to the identifier of the emergency stop area, such as the number. When the server receives emergency stop signals from multiple emergency stop areas, it can control some robots in each emergency stop area to stop suddenly, and the different emergency stop areas will not affect each other.
[0143] Correspondingly, when resolving emergency stop events in multiple emergency stop areas, emergency stop cancellation operations in multiple emergency stop areas can be triggered simultaneously based on the number of each emergency stop area. When the server receives emergency stop cancellation signals from multiple emergency stop areas, it can release the target channel in the emergency stop area. If there are robots controlled to stop in an emergency stop area, it can also control the emergency stop robots in each emergency stop area to release the emergency stop and resume driving.
[0144] To facilitate users waiting to pass through to return or reach other locations after entering the emergency stop area. Figure 11 A flowchart of another robot control method provided by an embodiment of the present invention is shown, such as... Figure 11 As shown, the following methods may be included:
[0145] Step 1110: When the user waiting to pass through the target channel reaches the target emergency stop position, or when the time taken for the user to reach the target emergency stop position through the target channel exceeds a preset time, obtain the updated position data and / or updated operation data of each robot.
[0146] The target emergency stop location can be any location within the target channel. For example, if an abnormal robot is present in the target channel, the target emergency stop location can be the location of the abnormal robot; if no abnormal robot is present in the target channel, the target emergency stop location can be the location of any robot within the target channel. The preset duration can be set according to actual conditions, such as the average time a user spends in the emergency stop area dealing with an abnormal robot, or simply the average time a user spends in the emergency stop area.
[0147] When a user waiting to pass through the target channel reaches the target emergency stop position, or when the time taken for a user to reach the target emergency stop position through the target channel exceeds a preset time, in order to determine a new target channel to adapt to the robot's current operating status and reduce the impact of continuously controlling the robot's emergency stop within the target channel, the server can first obtain the updated position data and / or updated operating data of each robot, i.e., the position data and / or operating data of each robot at the current time.
[0148] For example, whether a user waiting to pass through has reached the target emergency stop location in the emergency stop area can be determined by cameras installed in the emergency stop area, or by the user's terminal device.
[0149] Step 1120: Based on the updated location data and / or updated operational data, determine a new target channel from multiple candidate channels for the user to reach the target area from the target emergency stop location.
[0150] The target area can be any area within or outside the emergency stop area.
[0151] Based on updated location data and / or updated operational data, the server can determine a new target channel from multiple candidate channels for users to reach the target area from the target emergency stop position. For example, the server can use the target emergency stop position as the starting point and any position within the target area as the ending point, calculate channel scores for multiple candidate channels based on the updated location data and / or updated operational data of each robot, and then select a new target channel based on these scores. The candidate channels can include both the target emergency stop position and edge positions within the emergency stop area leading to the target area.
[0152] In some cases, the target channel and the new target channel can be the same or different. That is, the new target channel determined based on the updated location data and / or updated operational data may be the target channel or a new target channel different from the target channel.
[0153] Using the above method, a new target channel can be generated when a user waiting to pass through reaches the target emergency stop position through the target channel or when the time taken for the user to reach the target emergency stop position exceeds a preset time. This allows the user to return through the new target channel or reach the target area through the new target channel. At the same time, since the new target channel is generated based on updated position data and / or operation data, it is more adapted to the robot's current operating state, and the impact of controlling the emergency stop of some robots is also smaller.
[0154] According to the robot control method provided in this embodiment, when an emergency stop event is determined to occur, multiple candidate channels in the emergency stop area corresponding to the emergency stop event can be determined, the position data and / or operation data of multiple robots can be obtained, and based on the position data and / or operation data of each robot, a target channel for the user to pass through can be determined from the multiple candidate channels. If the number of robots in the target channel is greater than zero, an emergency stop command is sent to the robots in the target channel to make the robots in the target channel stop suddenly.
[0155] By determining the target channel based on the position data and / or operation data of each robot, a passage can be reserved for users waiting to pass. When there is a robot in the target channel, the robot in the target channel can be controlled to stop suddenly, so that the robot in the target channel does not affect the passage of users waiting to pass. At the same time, the impact of the robot in the target channel stopping suddenly on the operation of the entire robot system can be reduced. That is, the optimal robot stopping range can be determined, and the robot stopping range can be flexibly adjusted.
[0156] Furthermore, Figure 12 A schematic diagram of the structure of a robot control system provided by an embodiment of the present invention is shown, as follows: Figure 12 As shown, the robot control system 1200 may include a server 10, a robot 20, and a cargo storage device 30. The robot 20 moves in the emergency stop area 40.
[0157] The server 10 can provide services such as robot control and cargo management. For example, the server 10 can issue a cargo handling task to the robot 20, and the robot 20 can execute the cargo handling task issued by the server 10.
[0158] Server 10 can issue handling instructions to robot 20. The handling instructions can include cargo information, such as the specific location of the cargo storage device 30 where the cargo is located, cargo identification, etc., as well as the driving path for performing the handling task, so that robot 20 can drive according to the driving path, reach the location of the cargo, and pick up the cargo indicated by the cargo identification.
[0159] As shown in the figure, at the same time, there are multiple robots 20 working in the emergency stop area 40. Each robot 20 can perform different tasks of picking up and moving goods. During the operation of the robots 20, the server 10 can actively acquire the position data and operation data of each robot 20, and each robot 20 can also send its own position data and operation data to the server 10.
[0160] When the user presses the emergency stop button or clicks the emergency stop control on the control interface, the server 10 determines that an emergency stop event has occurred. Then, the server 10 can determine the candidate channels in the emergency stop area 40 where the emergency stop event occurred, and determine the target channel from multiple candidate channels based on the obtained position data and / or running data of each robot 20. The server 10 then sends an emergency stop command to the robot 20 in the target channel to make the robot 20 in the target channel stop suddenly.
[0161] When a user passes through the target channel, the user can press the emergency stop button again, or click the emergency stop release control on the control interface. At this time, the server 10 confirms that the emergency stop release event has occurred. Then, the server 10 can send an emergency stop release command to the robot 20 in the target channel so that the robot 20 in the target channel can release the emergency stop and resume driving.
[0162] Figure 13 A schematic diagram of a robot control device provided in an embodiment of the present invention is shown. Figure 13As shown, the robot control device 1300 may include: a first determining module 1310, which can be used to determine multiple candidate channels in the emergency stop area corresponding to the emergency stop event when an emergency stop event is determined to occur; an acquiring module 1320, which can be used to acquire position data and / or running data of multiple robots; a second determining module 1330, which can be used to determine a target channel for the user to pass through from multiple candidate channels based on the position data and / or running data of each robot, wherein the number of robots in the target channel is greater than or equal to zero; and a sending module 1340, which can be used to send an emergency stop command to the robots in the target channel when the number of robots in the target channel is greater than zero, so as to cause the robots in the target channel to stop suddenly.
[0163] In some embodiments, the second determining module 1330 may be used to determine the channel score of each candidate channel based on the position data and / or operation data of each robot; and to determine the target channel among multiple candidate channels based on the channel scores of each candidate channel; wherein the target channel has a channel score higher than a threshold or the target channel is the candidate channel with the highest channel score among multiple candidate channels.
[0164] In some embodiments, the operational data includes task information and / or path information. The task information includes whether the robot is in an idle state and / or the robot's task priority. The second determining module 1330 can be used to determine the number of robots in each candidate channel based on the position data of each robot; or, based on the task information of each robot, determine the number of robots in an idle state in each candidate channel and / or the channel priority of each candidate channel; wherein the channel priority of the candidate channel is determined according to the task priority of each robot in the candidate channel; or, based on the path information of each robot, determine the channel popularity of each candidate channel; and determine the channel score of each candidate channel based on at least one of the number of robots in each candidate channel, the number of robots in an idle state in each candidate channel, and the channel popularity of each candidate channel.
[0165] In some embodiments, the fewer robots in a candidate channel, the higher the channel score; the more robots in an idle state in a candidate channel, the higher the channel score; the lower the task priority of the robots in a candidate channel, the higher the channel score; and the lower the channel popularity of a candidate channel, the higher the channel score.
[0166] In some embodiments, the first determining module 1310 can be used to determine multiple candidate channels based on the position data of an abnormal robot in an emergency stop area where an abnormal robot with an abnormal operating state exists; wherein each candidate channel includes multiple cells, and the multiple cells include the cell where the abnormal robot is located.
[0167] In some embodiments, after determining the target channel for the user to pass through from multiple candidate channels, the second determining module 1330 can also be used to generate a first planned path for the first robot based on the target channel when there is a first robot among multiple robots whose current planned path needs to pass through the target channel, and send the first planned path to the first robot so that the first robot can travel according to the first planned path; wherein the first planned path does not pass through the target channel.
[0168] In some embodiments, after determining the target channel for the user to pass through from multiple candidate channels, the second determining module 1330 can also be used to generate a second planned path for the first robot based on the target channel when there is a first robot among multiple robots whose current planned path needs to pass through the target channel; wherein the second planned path is affected by the second robot and needs to pass through the target channel; generate a third planned path for the second robot and a fourth planned path for the first robot based on the target channel; wherein the fourth planned path does not pass through the target channel; send the third planned path and the fourth planned path to the second robot and the first robot respectively, so that the second robot travels according to the third planned path and the first robot travels according to the fourth planned path.
[0169] In some embodiments, the target channel may include a straight channel or a curved channel.
[0170] In some embodiments, the first determining module 1310 may also be used to determine that an emergency stop event has occurred in response to a user pressing an emergency stop button; or, in response to a user triggering an input operation to an emergency stop control in the control interface; or, in response to detecting an anomaly in at least one robot in the emergency stop area, determine that an emergency stop event has occurred.
[0171] In some embodiments, an anomaly in at least one robot in the emergency stop area includes at least one of the following: the cargo being carried by at least one robot in the emergency stop area falls off; at least one robot in the emergency stop area loses power; at least one robot in the emergency stop area deviates from its planned path; at least one robot in the emergency stop area malfunctions; or any two robots in the emergency stop area collide.
[0172] In some embodiments, the sending module 1340 may also be used to, when determining that the emergency stop event has been resolved, send a release emergency stop command to the robot in the target channel if there is a robot in the target channel, so that the robot in the target channel can resume driving, and release the target channel so that the robot in the emergency stop area can drive normally according to the planned path; or, when determining that the emergency stop event has been resolved, release the target channel if there is no robot in the target channel, so that the robot in the emergency stop area can drive normally according to the planned path.
[0173] In some embodiments, the second determining module 1330 may also be used to acquire updated position data and / or updated operation data of each robot when the user to be passed reaches the target emergency stop position through the target channel, or when the time taken for the user to reach the target emergency stop position through the target channel exceeds a preset time; and based on the updated position data and / or updated operation data, determine a new target channel from multiple candidate channels for the user to reach the target area from the target emergency stop position.
[0174] The specific details of each module in the above-mentioned device have been described in detail in the method section of the implementation plan. For details of the undisclosed scheme, please refer to the implementation plan of the method section, and therefore will not be repeated here.
[0175] Figure 14 The diagram shows a structural schematic of an electronic device provided by an embodiment of the present invention. The specific embodiments of the present invention do not limit the specific implementation of the electronic device.
[0176] like Figure 14 As shown, the electronic device may include: a processor 1402, a communications interface 1404, a memory 1406, and a communications bus 1408.
[0177] The processor 1402, communication interface 1404, and memory 1406 communicate with each other via communication bus 1408. Communication interface 1404 is used to communicate with other network elements such as clients or other servers. The processor 1402 executes program 1410, specifically performing the relevant steps described above in the robot control method embodiment.
[0178] Specifically, program 1410 may include program code, which includes computer-executable instructions.
[0179] Processor 1402 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention. The electronic device may include one or more processors of the same type, such as one or more CPUs; or it may include processors of different types, such as one or more CPUs and one or more ASICs.
[0180] Memory 1406 is used to store program 1410. Memory 1406 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.
[0181] Specifically, program 1410 can be called by processor 1402 to cause the electronic device to execute the operation steps of the above-mentioned robot control method.
[0182] This invention provides a computer-readable storage medium storing at least one executable instruction that, when executed on an electronic device, causes the electronic device to perform the robot control method in any of the above method embodiments.
[0183] The executable instructions can be used to cause the electronic device to perform the operation steps of the above-mentioned robot control method.
[0184] The algorithms or displays provided herein are not inherently related to any particular computer, virtual system, or other device. Furthermore, the embodiments of this invention are not directed to any particular programming language.
[0185] Numerous specific details are set forth in the specification provided herein. However, it will be understood that embodiments of the invention may be practiced without these specific details. Similarly, for the sake of brevity and to aid in understanding one or more aspects of the invention, in the description of exemplary embodiments of the invention above, various features of the embodiments are sometimes grouped together in a single embodiment, figure, or description thereof. The claims, which follow the detailed description, are hereby expressly incorporated into that detailed description, wherein each claim itself is a separate embodiment of the invention.
[0186] Those skilled in the art will understand that the modules in the device of the embodiment can be adaptively changed and placed in one or more devices different from that embodiment. Modules, units, or components in the embodiment can be combined into a single module, unit, or component, and further, they can be divided into multiple sub-modules, sub-units, or sub-components, except that at least some of such features and / or processes or units are mutually exclusive.
[0187] It should be noted that the above embodiments are illustrative of the invention and not restrictive, and that those skilled in the art can devise alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc., does not indicate any order. These words can be interpreted as names. The steps in the above embodiments, unless otherwise specified, should not be construed as limiting the order of execution.
Claims
1. A robot control method, characterized in that, The method includes: When an emergency stop event is determined to have occurred, multiple candidate channels in the emergency stop area corresponding to the emergency stop event are identified. Acquire position and / or operational data from multiple robots; Based on the position data and / or operation data of each robot, a target channel for the user to pass through is determined from the plurality of candidate channels, wherein the number of robots in the target channel is greater than or equal to zero; If the number of robots in the target channel is greater than zero, an emergency stop command is sent to the robots in the target channel to make them stop suddenly.
2. The method according to claim 1, characterized in that, The determination of the target channel for the user to pass through from the plurality of candidate channels based on the position data and / or operation data of each robot includes: Based on the position data and / or operation data of each robot, determine the channel score of each candidate channel; Based on the channel scores of each candidate channel, the target channel is determined from the plurality of candidate channels; Wherein, the target channel's channel score is higher than a threshold, or the target channel is the candidate channel with the highest channel score among the multiple candidate channels.
3. The method according to claim 2, characterized in that, The operational data includes task information and / or path information. The task information includes whether the robot is in an idle state and / or the robot's task priority. Determining the channel score for each candidate channel based on the position data and / or operational data of each robot includes: Based on the position data of each robot, the number of robots in each candidate channel is determined; or, Based on the task information of each robot, determine the number of idle robots in each candidate channel and / or the channel priority of each candidate channel; wherein the channel priority of the candidate channel is determined according to the task priority of each robot in the candidate channel; or, Based on the path information of each robot, the channel heat of each candidate channel is determined; The channel score of each candidate channel is determined based on at least one of the following: the number of robots in each candidate channel, the number of robots in an idle state in each candidate channel, and the channel popularity of each candidate channel.
4. The method according to claim 3, characterized in that, The fewer robots in a candidate channel, the higher the channel score; the more idle robots in a candidate channel, the higher the channel score; the lower the task priority of the robots in a candidate channel, the higher the channel score; the lower the channel popularity of a candidate channel, the higher the channel score.
5. The method according to claim 1, characterized in that, The process of determining multiple candidate channels in the emergency stop region corresponding to the emergency stop event includes: In the event that an abnormal robot with an malfunctioning operating state exists in the emergency stop area, the plurality of candidate channels are determined based on the position data of the abnormal robot; wherein each candidate channel includes a plurality of cells, and the plurality of cells include the cell where the abnormal robot is located.
6. The method according to claim 1, characterized in that, After determining the target channel for the user to pass through from the plurality of candidate channels, the method further includes: If, among the plurality of robots, there is a first robot whose current planned path requires passing through the target channel, a first planned path is generated for the first robot based on the target channel, and the first planned path is sent to the first robot so that the first robot travels according to the first planned path; The first planned path does not pass through the target channel.
7. The method according to claim 1, characterized in that, After determining the target channel for the user to pass through from the plurality of candidate channels, the method further includes: If, among the plurality of robots, there is a first robot whose current planned path requires passing through the target channel, a second planned path is generated for the first robot based on the target channel; wherein, the second planned path is affected by the second robot and requires passing through the target channel; Based on the target channel, a third planned path is generated for the second robot, and a fourth planned path is generated for the first robot; wherein the fourth planned path does not pass through the target channel; The third planned path and the fourth planned path are sent to the second robot and the first robot respectively, so that the second robot travels according to the third planned path and the first robot travels according to the fourth planned path.
8. The method according to any one of claims 1-7, characterized in that, The target channel includes a straight channel or a curved channel.
9. The method according to any one of claims 1-7, characterized in that, The method further includes: In response to the user pressing the emergency stop button, the occurrence of the emergency stop event is determined; or... In response to a user's trigger operation on the emergency stop control in the control interface, the occurrence of the emergency stop event is determined; or, In response to detecting an anomaly in at least one robot in the emergency stop area, the emergency stop event is determined to have occurred.
10. The method according to claim 8, characterized in that, An anomaly in at least one robot in the emergency stop area includes at least one of the following: goods being carried by at least one robot in the emergency stop area falling off; at least one robot in the emergency stop area losing power; at least one robot in the emergency stop area deviating from its planned path; at least one robot in the emergency stop area malfunctioning; or any two robots in the emergency stop area colliding.
11. The method according to any one of claims 1-7, characterized in that, The method further includes: Upon determining that the emergency stop event has been resolved, if a robot is present in the target channel, a release emergency stop command is sent to the robot in the target channel to allow the robot to resume movement, and the target channel is released so that the robot in the emergency stop area can proceed normally according to the planned path; or, When the emergency stop event is determined to be resolved, if there are no robots in the target channel, the target channel is released so that the robots in the emergency stop area can travel normally according to the planned path.
12. The method according to any one of claims 1-7, characterized in that, The method further includes: When the user waiting to pass through the target channel reaches the target emergency stop position, or when the time taken for the user to reach the target emergency stop position through the target channel exceeds a preset time, the updated position data and / or updated operation data of each robot are obtained; Based on the updated location data and / or the updated operational data, a new target channel is determined from the plurality of candidate channels for the user to reach the target area from the target emergency stop location.
13. A robot control device, characterized in that, The device includes: The first determining module is used to determine multiple candidate channels in the emergency stop area corresponding to the emergency stop event when an emergency stop event is determined to have occurred. The acquisition module is used to acquire position data and / or operation data of multiple robots; The second determining module is used to determine, based on the position data and / or the operation data of each robot, a target channel for the user to pass through from the plurality of candidate channels, wherein the number of robots in the target channel is greater than or equal to zero. The sending module is used to send an emergency stop command to the robots in the target channel when the number of robots in the target channel is greater than zero, so as to cause the robots in the target channel to stop suddenly.
14. An electronic device, characterized in that, include: processor; Memory, used to store at least one executable instruction; The executable instructions cause the processor to perform the operations of the robot control method as described in any one of claims 1-12.
15. A computer-readable storage medium, characterized in that, The storage medium stores at least one executable instruction, which, when executed on an electronic device, causes the vehicle to perform the operation of the robot control method as described in any one of claims 1-12.