Safe obstacle avoidance method and device, electronic equipment and computer readable storage medium
By obtaining the location of the safety vest from the server, generating the expulsion zone, and controlling the robot to leave, the risks of staff being trapped and collided are eliminated, achieving safe obstacle avoidance and efficient operation.
Patent Information
- Application Number
- CN202510966197.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-11
- Publication Date
- 2025-10-31
AI Technical Summary
In a smart warehouse environment, workers may be at greater risk of being surrounded or colliding with multiple automated robots. Existing obstacle avoidance functions are lagging behind and rely on hardware detection, leading to safety hazards and work interruptions.
The location information of the safety vest is obtained from the server, a eviction zone is generated and an eviction command is generated, instructing the robot to leave the area, avoiding emergency obstacle avoidance by the hardware, and realizing global scheduling and safe navigation.
It improves the safety of robot-human interaction, reduces the possibility of entrapment and collision, optimizes robot scheduling logic, reduces work interruptions, and maintains efficient system operation.
Smart Images

Figure CN120871851A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of intelligent warehousing technology, specifically to a safe obstacle avoidance method, device, electronic device, and computer-readable storage medium. Background Technology
[0002] The application of automated robots (such as AGVs (Automated Guided Vehicles) and AMRs (Autonomous Mobile Robots) in warehousing environments is becoming increasingly widespread. In actual warehousing scenarios, workers need to move around the premises to complete inspections, maintenance, or other tasks. In some cases, if multiple automated robots approach a worker simultaneously and trigger their obstacle avoidance functions, causing them to stop moving, it may result in multiple automated robots surrounding the worker and forming a closed blockade, trapping the worker in the center and preventing them from leaving freely.
[0003] Furthermore, existing obstacle avoidance functions of automated robots treat workers as ordinary obstacles. They rely on built-in sensors (such as lidar, ultrasonic sensors, or infrared sensors) to detect the surrounding environment. When the robot detects that the distance to the worker reaches a preset threshold, its hardware system triggers an emergency obstacle avoidance mechanism, forcing the robot to stop immediately. However, in practical applications, the automated robot may only detect the worker at a very close distance and only then trigger the emergency obstacle avoidance mechanism, resulting in an overly delayed obstacle avoidance logic and a significant risk of collision. Summary of the Invention
[0004] This application provides a safe obstacle avoidance method, device, electronic device, and computer-readable storage medium to improve the safety of robot-human interaction in smart warehousing environments.
[0005] In a first aspect, embodiments of this application provide a secure obstacle avoidance method applied to a server of an intelligent warehousing system, the method comprising: Obtain the location information reported by the safety vests, which are devices worn by staff in the warehouse area; When it is determined from the location information that the safety vest is located in the alley, a deportation zone is generated, the deportation zone including at least a portion of the alley where the safety vest is located; Obtain information on at least one designated location for multiple robots within the warehouse area; A deportation command is generated based on the deportation zone and the point of travel to be driven. The deportation command is used to instruct a first target robot among the plurality of robots to leave the deportation zone. The first target robot is located within the deportation zone. The expulsion command is sent to the first target robot.
[0006] In conjunction with the first aspect, in one possible example, after obtaining the location information reported by the security vest, the method further includes: A pause zone is generated within the warehouse area based on the location information, and the safety vest is located within the pause zone. An emergency stop command is generated based on the pause area and the point to be driven. The emergency stop command is used to instruct a second target robot among the plurality of robots to stop moving. The second target robot is the robot whose point corresponding to the point to be driven is located in the pause area. Send the emergency stop command to the second target robot.
[0007] In conjunction with the first aspect, in one possible example, the pause zone is located within the expulsion zone, and the generation of the expulsion command based on the expulsion zone and the point of departure information includes: The first target robot is determined based on the pause area, the expulsion area, and the point of travel to be determined. The first target robot is a robot whose point of travel to be determined is located within the expulsion area and outside the pause area. The first target point of the first target robot is determined based on the driving point information of the first target robot, and the first target point is the endpoint position corresponding to the driving point information of the first target robot. A deportation path is generated based on the first target location, the deportation zone, and the pause zone, with the endpoint of the deportation path outside the deportation zone; The expulsion command is generated based on the expulsion path.
[0008] In conjunction with the first aspect, in one possible example, generating the deportation path based on the first target location, the deportation zone, and the pause zone includes: Determine whether the first mission endpoint of the first target robot is located within the expulsion zone and outside the pause zone; When the first task endpoint is located within the expulsion zone and outside the pause zone, a first path is generated based on the pause zone, the first task endpoint, and the first target point, and a second path is generated based on the first task endpoint, the pause zone, and the expulsion zone. The first task endpoint is the endpoint of the first path and the starting point of the second path, and the endpoint of the second path is located outside the expulsion zone. The expulsion path includes the first path and the second path.
[0009] In conjunction with the first aspect, in one possible example, the pause area is located within the expulsion area, and the method further includes: The third target robot among the plurality of robots is determined based on the information of the point to be driven. The third target robot is located outside the expulsion zone, and the third task endpoint of the third target robot is located inside the expulsion zone. Determine whether the third task endpoint of the third target robot is located in the pause zone; If the third task endpoint is located within the pause zone, a pause command is sent to the third target robot, which instructs the third target robot to pause its journey to the expulsion zone. If the third task endpoint is located outside the pause area, a task path is generated based on the third target robot's point of travel information, the third task endpoint, and the pause area; a task execution instruction is generated based on the task path; and the task execution instruction is sent to the third target robot to instruct the third target robot to move along the task path.
[0010] In conjunction with the first aspect, in one possible example, after obtaining the location information reported by the security vest, the method further includes: When it is determined from the location information that the safety vest is not located in the alley, an obstacle avoidance command is generated based on the pause area and the point to be driven. The obstacle avoidance command is used to instruct the fourth target robot among the plurality of robots to move away from the pause area. The fourth target robot is the robot whose point corresponding to the point to be driven is located outside the pause area. The obstacle avoidance command is sent to the fourth target robot.
[0011] In conjunction with the first aspect, in one possible example, when it is determined based on the location information that the safety vest is not located in the alleyway, generating an obstacle avoidance command based on the pause area and the point of travel information includes: When it is determined from the location information that the safety vest is not located in the alleyway, the fourth target robot is determined from the pause area and the point of travel to be determined. The second target point of the fourth target robot is determined based on the target point information of the fourth target robot. An obstacle avoidance path is generated based on the second target point of the fourth target robot and the pause area; The obstacle avoidance command is generated based on the obstacle avoidance path.
[0012] In conjunction with the first aspect, in one possible example, after sending the emergency stop command to the second target robot, the method further includes: Obtain the updated location information of the security vest; The pause area is updated based on the updated location information; When it is determined that the point corresponding to the point to be traveled of the second target robot has left the updated pause area, a recovery command is sent to the second target robot. The recovery command is used to instruct the second target robot to move according to the point to be traveled of the second target robot.
[0013] In conjunction with the first aspect, in one possible example, after generating the expulsion zone when it is determined from the location information that the safety vest is located in the alleyway, the method further includes: Obtain the target order task; A target bin located in a safe zone is identified to complete the target order task. The safe zone is the area in the storage area excluding the expulsion zone.
[0014] Secondly, embodiments of this application provide a safety obstacle avoidance device applied to a server of an intelligent warehousing system, the safety obstacle avoidance device comprising: The first acquisition unit is used to acquire the location information reported by the safety vest, which is a device worn by staff in the warehouse area. The first generation unit is configured to generate a deportation zone when it is determined from the location information that the safety vest is located in the alleyway, the deportation zone including at least a portion of the alleyway where the safety vest is located; The second acquisition unit is used to acquire information on at least one driving point corresponding to multiple robots within the warehouse area. The second generation unit is used to generate a deportation command based on the deportation zone and the driving point information. The deportation command is used to instruct a first target robot among the plurality of robots to leave the deportation zone. The first target robot is located within the deportation zone. The sending unit is used to send the expulsion command to the first target robot.
[0015] Thirdly, embodiments of this application provide an electronic device including a processor, a memory, a communication interface, and one or more programs, the one or more programs being stored in the memory and configured to be executed by the processor, the programs including instructions for performing the steps in the first aspect of embodiments of this application.
[0016] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program for electronic data interchange, wherein the computer program causes a computer to perform some or all of the steps described in the first aspect of this embodiment.
[0017] Fifthly, this application provides a computer program product, wherein the computer program product includes a non-transitory computer-readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps described in the first aspect of this application. The computer program product may be a software installation package.
[0018] As can be seen, in this application, the server obtains the location information reported by the safety vest, which is a device worn by workers in the storage area. When it is determined that the safety vest is located in an alley based on the location information, an expulsion zone is generated, which includes at least a portion of the alley where the safety vest is located. The server also obtains information on at least one pending travel point corresponding to multiple robots within the storage area. An expulsion command is generated based on the expulsion zone and the pending travel point information of the multiple robots. This expulsion command instructs a first target robot among the multiple robots to leave the expulsion zone, where the first target robot is located. The expulsion command is then sent to the first target robot. Therefore, this application obtains the location information of the safety vest through the server. When a worker wearing the safety vest is located in an alley, an expulsion zone including the worker's location is generated. Then, an expulsion command is generated based on at least one pending travel point information issued to the robot but not yet traveled, and the expulsion zone. This causes the first target robot, located within the expulsion zone, to leave the expulsion zone, thereby moving away from the worker wearing the safety vest. Thus, through unified scheduling and management by the server, the first target robot can be controlled to leave the expulsion zone in advance, reducing the possibility of workers being trapped or collided with by robots due to their proximity to staff. This ensures smooth movement of staff within the aisles, thereby improving the safety of robot-staff interaction in the intelligent warehousing environment. Simultaneously, this application, through global server scheduling, can keep robots away from staff during the point allocation phase, enabling safe navigation without relying on hardware-triggered emergency obstacle avoidance, thereby enhancing the initiative and reliability of obstacle avoidance. Furthermore, while ensuring personnel safety, this application also optimizes robot scheduling logic, reducing operational interruptions caused by frequent emergency obstacle avoidance triggers and maintaining the efficient operation of the intelligent warehousing system. Attached Figure Description
[0019] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 This is a schematic diagram of the architecture of an intelligent warehousing system provided in an embodiment of this application; Figure 2 This is a flowchart illustrating a safe obstacle avoidance method provided in an embodiment of this application; Figure 3 This is a schematic diagram illustrating an application scenario of a safety obstacle avoidance method provided in an embodiment of this application; Figure 4 This is a schematic diagram illustrating an application scenario of another safety obstacle avoidance method provided in the embodiments of this application; Figure 5 This is a schematic diagram illustrating an application scenario of another safety obstacle avoidance method provided in the embodiments of this application; Figure 6 This is a schematic diagram illustrating an application scenario of another safety obstacle avoidance method provided in the embodiments of this application; Figure 7 This is a functional unit block diagram of a safety obstacle avoidance device provided in an embodiment of this application; Figure 8 This is a functional unit block diagram of another safety obstacle avoidance device provided in the embodiments of this application; Figure 9 This is a structural block diagram of an electronic device provided in an embodiment of this application. Detailed Implementation
[0021] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.
[0022] The terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.
[0023] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0024] With the rapid development of smart warehousing technology, automated robots are increasingly widely used in warehousing environments. When performing handling and scheduling tasks, automated robots typically move along preset or dynamically planned paths. However, in actual warehousing scenarios, workers need to walk around the area to complete inspections, maintenance, or other tasks. Since workers cannot perceive the locations of automated robots, they may unintentionally stand on points within the robot's path. If a worker then approaches that point, a collision may occur between the automated robot and the worker.
[0025] Currently, to alleviate the aforementioned problems, existing technologies primarily rely on the obstacle avoidance capabilities of automated robots. Specifically, automated robots treat workers as ordinary obstacles and detect the surrounding environment using built-in sensors (such as lidar, ultrasonic sensors, or infrared sensors). When the automated robot detects that the distance to the worker reaches a preset threshold, its hardware system triggers an emergency obstacle avoidance mechanism, forcing the robot to stop immediately. However, in some situations, if multiple automated robots simultaneously approach and trigger emergency obstacle avoidance around the worker, it may result in the robots forming a closed blockage, trapping the worker in the center and preventing them from leaving freely. Furthermore, in narrow areas such as aisle shelves, if a worker is already in the aisle, and automated robots enter from both the front and back entrances and approach before triggering emergency obstacle avoidance, the worker may also become trapped inside the aisle. Existing solutions rely entirely on the automated robot's own emergency obstacle avoidance function without software intervention. When the automated robot moves at a high speed, the stopping action triggered by the hardware after detecting a worker may be delayed, resulting in the robot stopping too close to the worker, increasing the likelihood of a closed blockage and collision, posing a safety hazard. Meanwhile, when automated robots trigger emergency obstacle avoidance, they may break free from the control of the scheduling system, causing work interruptions and affecting system operating efficiency.
[0026] To address the aforementioned problems, this application provides a safe obstacle avoidance method, apparatus, electronic device, and computer-readable storage medium. The server acquires location information reported by a safety vest (a device worn by workers within a warehouse area). When the location information determines that the safety vest is located within a passageway, a deportation zone is generated, comprising at least a portion of the passageway where the safety vest is located. Information on at least one pending travel point corresponding to multiple robots within the warehouse area is acquired. A deportation command is generated based on the deportation zone and the pending travel point information of the multiple robots. The deportation command instructs a first target robot among the multiple robots to leave the deportation zone, where the first target robot is located. The deportation command is then sent to the first target robot. As can be seen, this application acquires the location information of the safety vest through a server. When a worker wearing the safety vest is located within a passageway, a deportation zone including the worker's location is generated. Then, based on at least one pending travel point information issued to a robot but not yet traveled by, and the deportation zone, a deportation command is generated, causing the first target robot among the multiple robots located within the deportation zone to leave the deportation zone, thereby moving away from the worker wearing the safety vest. Thus, through unified scheduling and management by the server, the first target robot can be controlled to leave the expulsion zone in advance, reducing the possibility of workers being trapped or collided with by robots due to their proximity to staff. This ensures smooth movement of staff within the aisles, thereby improving the safety of robot-staff interaction in the intelligent warehousing environment. Simultaneously, this application, through global server scheduling, can keep robots away from staff during the point allocation phase, enabling safe navigation without relying on hardware-triggered emergency obstacle avoidance, thereby enhancing the initiative and reliability of obstacle avoidance. Furthermore, while ensuring personnel safety, this application also optimizes robot scheduling logic, reducing operational interruptions caused by frequent emergency obstacle avoidance triggers and maintaining the efficient operation of the intelligent warehousing system.
[0027] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will be described below with reference to the accompanying drawings.
[0028] The technical solution of this application can be applied to, for example... Figure 1 The intelligent warehousing system 10 shown includes a server 100, a robot 200, and a security vest 300.
[0029] At least one safety vest 300 is deployed. The safety vest is worn by workers walking or working within the storage area of the intelligent warehousing system 10. The intelligent warehousing system can locate the specific position of workers within the storage area using the safety vest. Workers can include maintenance personnel, patrol personnel, cargo handlers, equipment drivers, or control personnel wearing the safety vest, etc., to be specified further.
[0030] The robots include automated robots such as AGVs and AMRs. Multiple robots (200 in total) can be deployed in the intelligent warehousing system 10.
[0031] Server 100 refers to a remote computer used for processing large amounts of computing tasks and storing data. Specifically, server 100 can communicate with both robot 200 and safety vest 300. Server 100 controls robot 200 by sending control commands (such as emergency stop commands, expulsion commands, obstacle avoidance commands, etc., as described below). These control commands instruct robot 200 to proceed or stop abruptly according to a planned path. Upon receiving the control commands, robot 200 can perform the corresponding operations. Furthermore, robot 200 can send a notification to server 100 after each operation completed under server 100's control, facilitating server 100's overall management of robot 200 and enabling it to perform other operations.
[0032] In a specific implementation, server 100 can be a physical server, a server cluster consisting of multiple physical servers, or a distributed system. In this embodiment, the number of servers is not specifically limited. Alternatively, server 100 can also be a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. No further restrictions are imposed here. In a specific implementation, server 100 in the aforementioned intelligent warehousing system 10 can also be a server cluster. In one possible example, server 100 can be configured on different servers within the server cluster, thereby reducing the configuration requirements when a single server is processing data.
[0033] Please see Figure 2 , Figure 2 This is a flowchart illustrating a safe obstacle avoidance method provided in an embodiment of this application. This method can be applied to, for example... Figure 1 The server 100 in the intelligent warehousing system shown is, for example Figure 2 As shown, this safety obstacle avoidance method includes: Step S210: Obtain the location information reported by the security vest.
[0034] Among them, safety vests are equipment worn by staff in the warehouse area.
[0035] Specifically, this location information can be represented as the coordinates of the security vest within the storage area. The server can use these coordinates to identify the specific location of the security vest within the storage area.
[0036] Step S220: When it is determined that the safety vest is located in the alleyway based on the location information, a deportation zone is generated.
[0037] Among them, an aisle refers to a passageway formed by two rows of shelves or a wall and a single row of shelves.
[0038] In practice, the server can determine the specific location of the security vest within the storage area based on its location information. Then, based on this location and a pre-stored map of the storage area, it can determine whether the security vest is located in an alleyway. If the security vest is determined to be located in an alleyway, the alleyway where the security vest is located can be designated as the target alleyway, and an expulsion zone can be generated for that target alleyway.
[0039] Specifically, the expulsion zone includes at least a portion of the alleyway where the safety vest is located, and the safety vest is situated within that at least portion of the area.
[0040] In the specific implementation, refer to [reference] Figure 3 Once the server determines the target alleyway where the safety vest is located based on the safety vest's location information, it can designate the entire area covered by the target alleyway as the expulsion zone. This helps prevent the robots from occupying both ends of the alleyway where the worker wearing the safety vest is located, ensuring that the worker has enough walking and working space in narrow areas and improving safety in special scenarios. Alternatively, in some instances, when the aisle width is sufficiently large, the server can designate only a portion of the area covered by the target aisle as an expulsion zone. In this case, the expulsion zone needs to connect both entrances of the target aisle to prevent robots from simultaneously occupying both entrances. Specifically, when generating the expulsion zone, the server can obtain the distance between the safety vest and the shelf or wall, and then compare this distance with a preset width. If the distance between the safety vest and the shelf is greater than the preset width, then a portion of the area covered by the target aisle can be designated as an expulsion zone. This portion occupies a portion of the target aisle width (e.g., one-quarter, one-half, three-quarters, etc.) and connects to both entrances. For example, the expulsion zone corresponding to this portion can be as follows: Figure 4As shown in the diagram. The width of the expulsion zone is a preset width. Under normal circumstances, the safety vest is located within the expulsion zone and on the axis of symmetry extending along its length. This preset width is the sum of half the width of the expulsion zone and the minimum width for robot movement. This ensures that workers are not blocked while walking along the edge, while also guaranteeing the normal operation of the robot outside the expulsion zone within the tunnel, thereby improving operational efficiency.
[0041] Step S230: Obtain information on at least one driving location corresponding to multiple robots within the warehouse area.
[0042] The "at least one pending travel point" information refers to the information on the remaining points in the planned path that the server has sent to the robot but which have not yet been visited. A point refers to a path node in the robot's operation within the warehouse environment, such as the location of a QR code deployed in the warehouse. The aforementioned planned path is planned by the server based on the box-moving task performed by the robot and then sent to the robot accordingly.
[0043] In practical implementation, "multiple robots" in a warehouse area can refer to all robots within that area. The server can send location acquisition information to the robots to obtain their reported actual locations; alternatively, the server can receive real-time location information proactively reported by the robots to obtain their actual locations. Then, the server can determine the corresponding traversal point information for the robot based on the path information sent to the robot and the robot's actual location. This traversal point information includes information about at least one point in the aforementioned path information that the robot has not yet visited. This facilitates adaptation to the robot's operating conditions and improves the accuracy of subsequent operations assisted by the traversal point information.
[0044] Specifically, step S230 can be executed synchronously and in parallel with step S210, thereby improving the efficiency of data processing and ensuring the real-time performance and reliability of the implementation of the scheme.
[0045] Alternatively, in a specific implementation, step S230 can be executed after step S210. For example, the warehouse area can be divided into multiple sub-areas. Obtaining at least one designated travel point information for multiple robots within the warehouse area includes: determining the sub-area to which the safety vest belongs based on its location information, and obtaining the designated travel point information for multiple robots within that sub-area. This reduces the amount of data the server needs to obtain for the robots' designated travel points, thereby improving data processing efficiency.
[0046] Step S240: Generate a deportation command based on the deportation zone and the location information to be driven.
[0047] The expulsion command is used to instruct the first target robot among multiple robots to leave the expulsion zone, where the first target robot is located within the expulsion zone.
[0048] In practice, the server can determine whether there are any robots whose corresponding points in the driving point information are located within the driving point area based on the expulsion zone and the driving point information corresponding to multiple robots. If so, all robots whose points in the driving point information are located within the driving point area can be identified as the first target robot, and a driving command can be generated to instruct the first target robot to leave the driving point area.
[0049] Alternatively, in a practical implementation, robots whose locations are within the expulsion zone can be identified as the first target robots from the list of robots to be driven. Specifically, refer to [link to relevant documentation]. Figure 3 The server can also generate pause zones for safety vests. When the safety vest is located inside a passageway, the pause zone is located within the expulsion zone. In this case, the first target robot can be a robot whose location in the to-travel point information is located within the expulsion zone but outside the pause zone.
[0050] In one possible example, after obtaining the location information reported by the safety vest, the method further includes: generating a pause zone in the storage area based on the location information, wherein the safety vest is located in the pause zone; generating an emergency stop command based on the pause zone and the point to be traveled information, wherein the emergency stop command is used to instruct a second target robot among the plurality of robots to stop moving, wherein the second target robot is the robot whose point corresponding to the point to be traveled information is located in the pause zone; and sending the emergency stop command to the second target robot.
[0051] The pause area refers to a pre-defined region centered on the coordinates of the security vest. The size and shape of the pause area are preset according to requirements; for example, the pause area can be square or circular.
[0052] Specifically, after obtaining the location information of the security vest, the server can determine the coordinates corresponding to the location information as the center of a preset area, thus defining the preset area centered on the coordinates as the pause zone within the warehouse area. In practical applications, the security vest can be located in a non-alley area. Alternatively, if the security vest is located within an aisle, the pause zone can be entirely or partially located within the aisle. For example, if the security vest is located within an aisle, the pause zone being partially located within and partially outside the aisle could also be partially located within the aisle and partially covered by shelves or walls.
[0053] In the specific implementation, refer to [reference] Figure 5 and Figure 6The server can compare the location corresponding to the point in the waiting point information of each robot with the area covered by the pause zone to determine whether there is a robot whose point in the waiting point information is located in the pause zone. If so, the robot is identified as the second target robot, and a stop command is generated to instruct the second target robot to stop moving immediately. After generating the stop command, the server can directly send the stop command to the second target robot among multiple robots. Upon receiving the stop command, the second target robot will immediately stop moving according to the instruction, thereby avoiding entering the pause zone and ensuring a safe distance between multiple robots and personnel in the warehouse area.
[0054] In practice, the server can reacquire the location information of the security vest at preset intervals and execute the scheme described in this example once. This allows the pause area to be continuously updated as the staff moves, thereby ensuring the real-time performance and reliability of the scheme. For example, the preset interval can be 0.5 seconds, 1 second, or 2 seconds, etc., and can be set according to actual needs. No further restrictions are imposed here.
[0055] In practice, when the safety vest is located within the alleyway, the pause zone can be determined first, followed by the expulsion zone; alternatively, the expulsion zone can be determined first, followed by the pause zone. Alternatively, both the pause zone and the expulsion zone can be determined simultaneously to improve efficiency. The order in which the expulsion zone and the pause zone are determined is not further restricted here.
[0056] As can be seen in this example, by generating a pause zone based on the location information of the safety vest and sending an emergency stop command to the second target robot whose location is within the pause zone, the second target robot can stop moving before it enters the pause zone and approaches the staff according to the information of the point to be traveled. This can prevent the staff from being surrounded by multiple robots, and at the same time prevent the robots from getting too close to the staff, which helps to ensure that the robots and staff maintain a safe distance as much as possible and avoid collisions.
[0057] Step S250: Send the expulsion command to the first target robot.
[0058] In practice, after the server generates the expulsion command, it can directly send the expulsion command to the first target robot among multiple robots. After receiving the expulsion command, the first target robot will leave the expulsion area according to the instructions of the expulsion command, thereby preventing the robot from occupying the entrances at both ends of the alley where the workers are located, preventing the workers from being blocked, and thus improving safety and work efficiency in special scenarios.
[0059] Specifically, after receiving the expulsion command, the first target robot will leave the expulsion zone after completing the movement command corresponding to the point information to be driven, that is, after moving along the planned path to the last point in the point information to be driven, according to the expulsion command.
[0060] As can be seen, in this application, the server obtains the location information reported by the safety vest, which is a device worn by workers in the storage area. When it is determined that the safety vest is located in an alley based on the location information, an expulsion zone is generated, which includes at least a portion of the alley where the safety vest is located. The server also obtains information on at least one pending travel point corresponding to multiple robots within the storage area. An expulsion command is generated based on the expulsion zone and the pending travel point information of the multiple robots. This expulsion command instructs a first target robot among the multiple robots to leave the expulsion zone, where the first target robot is located. The expulsion command is then sent to the first target robot. Therefore, this application obtains the location information of the safety vest through the server. When a worker wearing the safety vest is located in an alley, an expulsion zone including the worker's location is generated. Then, an expulsion command is generated based on at least one pending travel point information issued to the robot but not yet traveled, and the expulsion zone. This causes the first target robot, located within the expulsion zone, to leave the expulsion zone, thereby moving away from the worker wearing the safety vest. Thus, through unified scheduling and management by the server, the first target robot can be controlled to leave the expulsion zone in advance, reducing the possibility of workers being trapped or collided with by robots due to their proximity to staff. This ensures smooth movement of staff within the aisles, thereby improving the safety of robot-staff interaction in the intelligent warehousing environment. Simultaneously, this application, through global server scheduling, can keep robots away from staff during the point allocation phase, enabling safe navigation without relying on hardware-triggered emergency obstacle avoidance, thereby enhancing the initiative and reliability of obstacle avoidance. Furthermore, while ensuring personnel safety, this application also optimizes robot scheduling logic, reducing operational interruptions caused by frequent emergency obstacle avoidance triggers and maintaining the efficient operation of the intelligent warehousing system.
[0061] In one possible example, when the pause zone is located within the expulsion zone, generating an expulsion command based on the expulsion zone and the destination point information includes: determining a first target robot based on the pause zone, the expulsion zone, and the destination point information, wherein the first target robot is a robot whose destination point information corresponds to a location within the expulsion zone and outside the pause zone; determining a first target point of the first target robot based on the destination point information, wherein the first target point is the endpoint location corresponding to the destination point information; generating an expulsion path based on the first target point, the expulsion zone, and the pause zone, wherein the endpoint of the expulsion path is outside the expulsion zone; and generating the expulsion command based on the expulsion path.
[0062] Here, the first target point refers to the endpoint of the movement command corresponding to the target robot's point information to be traveled, that is, the last point in the point information to be traveled that moves along the planned path.
[0063] In practice, the server can sequentially or simultaneously compare the location corresponding to the point in the point information to be driven by each robot with the location encompassed by the pause zone, and compare the location corresponding to the point in the point information to be driven by each robot with the location encompassed by the expulsion zone, thereby determining whether there is a first target robot whose point in the point information to be driven is located outside the pause zone and inside the expulsion zone.
[0064] When the server determines the existence of a first target robot, it can perform the following steps for each first target robot: First, the server determines the first target point corresponding to the first target robot based on its intended travel point information. Then, it determines this first target point as the starting point of the expulsion path and generates an expulsion path by combining this first target point with the map of the storage area, the expulsion zone, and the pause zone. The endpoint of this expulsion path is located outside the expulsion zone, and there are no points along the expulsion path located in the pause zone. After the expulsion path is generated, the server can further generate an expulsion command based on the expulsion path and send the expulsion command to the corresponding first target robot, so that the first target robot, upon receiving the expulsion command, can move according to the expulsion path carried by the expulsion command and leave the expulsion zone.
[0065] As can be seen, in this example, the server generates an expulsion path based on the first target point, expulsion zone, and pause zone of the first target robot, and generates an expulsion command based on the expulsion path. The expulsion command carrying the expulsion path is then sent to the corresponding first target robot. This can ensure that the entrances at both ends of the target lane are not occupied by robots at the same time, while achieving differentiated scheduling of different first target robots, thereby improving the accuracy and efficiency of system management and control.
[0066] In one possible example, generating a deportation path based on the first target point, the deportation zone, and the pause zone includes: determining whether the first task endpoint of the first target robot is located within the deportation zone and outside the pause zone; when the first task endpoint is located within the deportation zone and outside the pause zone, generating a first path based on the pause zone, the first task endpoint, and the first target point, and generating a second path based on the first task endpoint, the pause zone, and the deportation zone, wherein the first task endpoint is the endpoint of the first path and the starting point of the second path, the endpoint of the second path is located outside the deportation zone, and the deportation path includes the first path and the second path.
[0067] The task endpoint refers to the final location corresponding to the box-moving task performed by the robot. For example, the endpoint location is the storage location of the target box to be retrieved within the storage area, or the location within the storage area used to store the target box to be placed. A box-moving task refers to the task of moving, storing, and retrieving boxes completed by the robot according to a box-picking or box-placing task. The first task endpoint is the final location corresponding to the box-moving task performed by the robot for the first target.
[0068] In practice, after the server identifies the first target robot, it can directly determine the first target point in the robot's travel point information as the starting point of the expulsion path and a location outside the expulsion zone as the ending point of the expulsion path. Based on this, the pause area is treated as a temporary obstacle, thus planning a movement path, i.e., the expulsion path. After completing the planned path corresponding to the travel point information, the first target robot will move directly from the first target point out of the expulsion zone according to the expulsion path.
[0069] Alternatively, in a specific implementation, after the server identifies the first target robot, it can further determine the location of the first task endpoint of the box-moving task currently being performed by the first target robot. If the first task endpoint is located outside the alley, the expulsion path can be planned as a path directly from the first target point to the first task endpoint outside the alley. In this case, after completing the planned path corresponding to the point of travel, the first target robot can move directly from the first target point to the first task endpoint outside the expulsion area according to the expulsion path.
[0070] Alternatively, if the first task endpoint is located within the alleyway but in the pause zone, the expulsion path can be planned as a path directly from the first target point to the outside of the alleyway. After completing the planned path corresponding to the point of travel, the first target robot can move directly from the first target point to the outside of the expulsion zone according to the expulsion path. This helps avoid the first target robot approaching workers and causing congestion. In this case, the task execution path for the box-moving task can be planned for the first target robot after the pause zone does not include the first task endpoint.
[0071] Alternatively, if the first task endpoint is located within the expulsion zone but outside the pause zone, the server can determine the first target point in the first target robot's travel point information as the starting position and the first task endpoint as the endpoint. Based on this, the pause zone is considered a temporary obstacle, thus planning and generating a first path. Simultaneously, the server can further determine the first task endpoint as the starting position, a point outside the expulsion zone as the endpoint, and, based on treating the pause zone as a temporary obstacle, plan and generate a second path. Then, combining the first and second paths yields the expulsion path for the case where the first task endpoint is located within the alleyway but outside the pause zone. In this case, after executing the planned path corresponding to the travel point information, the first target robot can first move to the first task endpoint according to the first path, thus performing the box-moving task at the first task endpoint. After completing the box-moving task, the first target robot can further move to outside the expulsion zone according to the second path. In this way, the execution efficiency of the box-moving task performed by the first target robot can be optimized while avoiding the first target robot blocking the alleyway.
[0072] Specifically, for the case where the first task endpoint is located within the alleyway and outside the pause zone, before generating the first path based on the pause zone, the first task endpoint, and the first target point, and before generating the second path based on the first task endpoint, the pause zone, and the expulsion zone, the server can further determine whether the first target robot can directly move from the first target point to the first task endpoint within the alleyway based on the pause zone and the point to be traveled information. If so, the first path and the second path can be planned accordingly. If not, such as when the expulsion zone covers the entire alleyway where the safety vest is located, and the first target point and the first task endpoint are located on opposite sides of the pause zone, the expulsion path can be planned as a path directly from the first target point to the outside of the alleyway. After completing the planned path corresponding to the point to be traveled information, the first target robot can move directly from the first target point to the outside of the expulsion zone based on the expulsion path.
[0073] As can be seen in this example, by planning the expulsion path as a first path that can move to the end of the first task and a second path that can move to outside the expulsion area, the execution efficiency of the box-moving task corresponding to the first target robot can be optimized while avoiding the first target robot blocking the alley.
[0074] In one possible example, when it is determined that the safety vest is located in an alleyway, the method further includes: determining a third target robot among the plurality of robots based on the point-to-go information, wherein the third target robot is located outside the expulsion zone and the third task endpoint of the third target robot is located within the expulsion zone; determining whether the third task endpoint of the third target robot is located in a pause zone; if the third task endpoint is located within the pause zone, sending a pause command to the third target robot, the pause command instructing the third target robot to pause its journey to the expulsion zone; if the task endpoint of the third target robot is located outside the pause zone, generating a task path based on the point-to-go information of the third target robot, the third task endpoint, and the pause zone; generating a task execution command based on the task path; and sending the task execution command to the third target robot to instruct the third target robot to move along the task path.
[0075] In practice, when analyzing the robot's destination information, if the server determines that all destinations corresponding to the destination information of one of the multiple robots are located outside the expulsion zone, then that robot is determined to be outside the expulsion zone. Based on this, if the third task endpoint of the robot's current box-moving task is located within the expulsion zone, then that robot can be identified as the third target robot.
[0076] After identifying the third target robot, the server can further analyze and determine the location of the third task endpoint of the box-moving task currently being performed by the third target robot. If the third task endpoint is located in the pause zone, the server can send a pause command to the corresponding third target robot to instruct it to pause its journey to the expulsion zone to avoid congestion in or near the expulsion zone. This pause command can be used to instruct the third target robot to stop moving. For example, it can instruct the third target robot to stop moving immediately; or, it can instruct the third target robot to stop moving after completing the planned path corresponding to the pending travel point information; or, it can instruct the third target robot to stop moving when it reaches a location near the expulsion zone. Alternatively, the pause command can be used to instruct the third target robot to be planned and moved to a waiting area near the expulsion zone, so that the path can be replanned after the pause zone does not include the third task endpoint, in order to perform the box-moving task.
[0077] If the third task endpoint is located outside the pause zone, the server can determine the third target point in the pending travel point information as the starting position. Based on the third target point, the third task endpoint, and the pause zone, the server plans a task path for the third target robot and sends a task execution command carrying this path to the robot. After executing the planned path corresponding to the pending travel point information, the third target robot will move to the location of the third task endpoint according to the task path and complete the corresponding box-moving task at the third task endpoint.
[0078] As can be seen in this example, for the third target robot located outside the expulsion zone and whose third task endpoint is located inside the expulsion zone, by sending a pause command to the third target robot whose third task endpoint is located in the pause zone and sending the corresponding task execution command to the third target robot whose third task endpoint is located outside the pause zone, it is possible to avoid the robots piling up too much near the pause zone and trapping the staff. At the same time, it can also optimize the execution efficiency of the box-moving task corresponding to the third target robot.
[0079] In a possible example, when the safety vest is located outside the alleyway area, after obtaining the location information reported by the safety vest, the method further includes: when it is determined from the location information that the safety vest is not located in the alleyway, generating an obstacle avoidance command based on the pause area and the point to be driven information, the obstacle avoidance command being used to instruct a fourth target robot among the plurality of robots to move away from the pause area, the fourth target robot being the robot whose point corresponding to the point to be driven information is located outside the pause area; and sending the obstacle avoidance command to the fourth target robot.
[0080] In practice, when the server determines that the safety vest is located in a non-alley area based on its specific location within the storage area and a pre-stored map of the storage area, it indicates that the pause zone generated based on the location information reported by the safety vest is currently in a relatively open area. In this case, the server can, based on the pause zone and the waiting-to-go point information corresponding to multiple robots, identify the robot whose corresponding point is outside the pause zone as the fourth target robot, and can designate the pause zone as a temporary obstacle. This allows the server to generate obstacle avoidance instructions for the fourth target robot, instructing it to move away from the pause zone during subsequent operation. This helps prevent the server from planning the fourth target robot's point in the pause zone during subsequent path planning, thus avoiding an accumulation of too many robots near the pause zone.
[0081] As can be seen in this example, by generating obstacle avoidance instructions to instruct the fourth target robot to move away from the pause area, the server can enable the fourth target robot to move away from the pause area in subsequent operations, thereby avoiding too many robots accumulating outside the pause area and affecting work efficiency.
[0082] In one possible example, when it is determined based on the location information that the safety vest is not located in the alleyway, generating an obstacle avoidance command based on the pause area and the point of travel information includes: when it is determined based on the location information that the safety vest is not located in the alleyway, determining the fourth target robot based on the pause area and the point of travel information; determining the second target point of the fourth target robot based on the point of travel information of the fourth target robot; generating an obstacle avoidance path based on the second target point of the fourth target robot and the pause area; and generating the obstacle avoidance command based on the obstacle avoidance path.
[0083] The second target point refers to the endpoint of the movement command corresponding to the target point information of the fourth target robot, which is the last point in the target point information of the fourth target robot.
[0084] In practice, when the server determines that the safety vest is not located in the alley, it can compare the location of the point in the waiting point information of each robot with the location of the pause zone, thereby identifying the robot whose point in the waiting point information does not fall in the pause zone as the fourth target robot.
[0085] For each fourth target robot, the following steps can be performed: First, based on the fourth target robot's intended travel point information, the endpoint of the movement command corresponding to the intended travel point information is determined as the second target point corresponding to the fourth target robot. Then, using this second target point as the starting point, and based on the pause area being identified as a temporary obstacle, an obstacle avoidance path is generated for the fourth target robot, combining the map of the second target point, the second task endpoint, the pause area, and the storage area. An obstacle avoidance command is then generated based on this path. This allows the fourth target robot to move according to the point corresponding to the obstacle avoidance path after receiving the obstacle avoidance command. Here, the second task endpoint refers to the endpoint of the box-moving task performed by the fourth target robot.
[0086] For example, the server determines the robot's location based on the robot's intended travel point information and the pause area. Figure 6 After the fourth target robot shown, further information about the fourth target robot's destination (i.e., the location information of the destination robot) can be used. Figure 6 The second target point of the fourth target robot is determined by the information of the points to be traveled corresponding to the third path in the map. Then, an obstacle avoidance path is generated based on the map of the second target point, the second task endpoint, the pause area, and the warehouse area. Figure 6 The fourth path shown can be used to generate obstacle avoidance instructions for the fourth target robot.
[0087] As can be seen in this example, the server generates an obstacle avoidance path based on the second target point of the fourth target robot and the pause area, and generates an obstacle avoidance command based on the obstacle avoidance path. The obstacle avoidance command carrying the obstacle avoidance path is then sent to the corresponding fourth target robot. This ensures that the fourth target robot will not identify the points in the pause area as the points where the fourth target robot will move later. This avoids too many robots piling up near the pause area, thereby ensuring the efficiency of robot operation in the warehouse area.
[0088] In one possible example, after sending the emergency stop command to the second target robot, the method further includes: obtaining the updated position information of the safety vest; updating the pause area according to the updated position information; and when the point corresponding to the point where the second target robot is to travel leaves the updated pause area, sending a recovery command to the second target robot, the recovery command being used to instruct the second target robot to move according to the point where the second target robot is to travel.
[0089] In practice, regardless of whether the safety vest is located in an alleyway or not, after a preset time following the server sending an emergency stop command to the second target robot, the safety vest can report its current location information to the server again. The server can compare this newly reported location information with the previously reported location information. If the locations match, the server does not update the current control method for multiple robots within the storage area. If the locations do not match, the server determines the newly reported location information as the updated location information of the safety vest and generates an updated pause area based on the updated location information. The server can then further compare the points in the second target robot's pending travel point information with the updated pause area. If any points in the second target robot's pending travel point information still fall within the updated pause area, the second target robot remains stationary at its current position. If no points in the second target robot's pending travel point information fall within the updated pause area, a recovery command can be sent to the second target robot, allowing it to resume movement based on its pending travel point information before the pause.
[0090] Understandably, when the current location information reported by the security vest is inconsistent with the previous location information, the server can use the aforementioned robot control method for the pause area and the expulsion area to uniformly control multiple robots based on whether the updated pause area is located in the alley, and the relationship between the current waiting point information of multiple robots and the updated pause area, so as to ensure that robots do not accumulate too much near the updated pause area. The specific control content will not be elaborated further here.
[0091] As can be seen in this example, the server sends a recovery command to the second target robot after the second target robot leaves the updated pause area, so that the second target robot can continue to move according to the waiting point information before the pause after receiving the recovery command. This ensures the safety of personnel walking in the storage area while guaranteeing the normal operation of the second target robot.
[0092] In one possible example, after generating the expulsion zone when the location information determines that the safety vest is located in the alley, the method further includes: obtaining a target order task; determining a target bin located in the safety zone to complete the target order task, wherein the safety zone is the area in the storage area other than the expulsion zone.
[0093] Among them, the target order task is the new order task received by the server after the pause zone and / or eviction zone are determined.
[0094] In specific implementation, when the server obtains the target order task, it determines the target bin located in the safe zone. This ensures that when the robot moves the target bin to complete the target order task, it will operate within the safe zone and will not enter the expulsion zone. The safe zone is the area in the storage area excluding the expulsion zone. In other words, in this embodiment, the server can directly use the target bin located within the safe zone to meet the requirements of the target order task. This avoids the robot interfering with the workers' movement when it enters the expulsion zone to perform the target order task. At the same time, performing the target order task outside the expulsion zone avoids situations where the robot stops or is expelled, which helps to improve task completion efficiency.
[0095] This application can divide the server into functional units based on the above method examples. For example, each function can be divided into its own functional unit, or two or more functions can be integrated into one processing unit. The integrated unit can be implemented in hardware or as a software functional unit. It should be noted that the unit division in this application embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.
[0096] For embodiments consistent with those shown above, please refer to... Figure 7 , Figure 7 This is a functional unit block diagram of a safety obstacle avoidance device provided in an embodiment of this application. The safety obstacle avoidance device is the aforementioned server or a part of a server. The safety obstacle avoidance device 70 includes: The first acquisition unit 710 is used to acquire the location information reported by the safety vest, which is a device worn by staff in the warehouse area. The first generation unit 720 is configured to generate a deportation zone when it is determined from the location information that the safety vest is located in the alleyway. The deportation zone includes at least a portion of the alleyway where the safety vest is located. The second acquisition unit 730 is used to acquire information on at least one driving point corresponding to multiple robots in the warehouse area. The second generation unit 740 is used to generate a deportation command based on the deportation zone and the driving point information. The deportation command is used to instruct a first target robot among the plurality of robots to leave the deportation zone. The first target robot is located within the deportation zone. The sending unit 750 is used to send the expulsion command to the first target robot.
[0097] In one possible example, the safety obstacle avoidance device further includes a third generation unit, which is used to generate a pause zone in the storage area based on the location information reported by the safety vest after the location information is obtained, wherein the safety vest is located in the pause zone; generate an emergency stop command based on the pause zone and the point to be traveled information, wherein the emergency stop command is used to instruct a second target robot among the plurality of robots to stop moving, wherein the second target robot is the robot whose point corresponding to the point to be traveled information is located in the pause zone; and send the emergency stop command to the second target robot.
[0098] In one possible example, the pause area is located within the expulsion area. Regarding the generation of the expulsion command based on the expulsion area and the point-to-go information, the second generation unit is specifically configured to: determine the first target robot based on the pause area, the expulsion area, and the point-to-go information, wherein the first target robot is a robot whose point corresponding to the point-to-go information is located within the expulsion area and outside the pause area; determine the first target robot's first target point based on the point-to-go information, wherein the first target point is the endpoint position corresponding to the point-to-go information of the first target robot; generate an expulsion path based on the first target point, the expulsion area, and the pause area, wherein the endpoint of the expulsion path is outside the expulsion area; and generate the expulsion command based on the expulsion path.
[0099] In one possible example, in generating the expulsion path based on the first target point, the expulsion zone, and the pause zone, the second generation unit is specifically configured to: determine whether the first task endpoint of the first target robot is located within the expulsion zone and outside the pause zone; when the first task endpoint is located within the expulsion zone and outside the pause zone, generate a first path based on the pause zone, the first task endpoint, and the first target point, and generate a second path based on the first task endpoint, the pause zone, and the expulsion zone, wherein the first task endpoint is the endpoint of the first path and the starting point of the second path, the endpoint of the second path is located outside the expulsion zone, and the expulsion path includes the first path and the second path.
[0100] In one possible example, the pause zone is located within the expulsion zone. The safety obstacle avoidance device further includes a determining unit, which is used to determine a third target robot among the plurality of robots based on the point-to-go information. The third target robot is located outside the expulsion zone, and the third task endpoint of the third target robot is located within the expulsion zone. The determining unit determines whether the third task endpoint of the third target robot is located within the pause zone. If the third task endpoint is located within the pause zone, a pause command is sent to the third target robot, which instructs the third target robot to pause its journey to the expulsion zone. If the third task endpoint is located outside the pause zone, a task path is generated based on the point-to-go information of the third target robot, the third task endpoint, and the pause zone. A task execution command is generated based on the task path, and the task execution command is sent to the third target robot to instruct the third target robot to move along the task path.
[0101] In one possible example, the safety obstacle avoidance device further includes a fourth generation unit. This fourth generation unit is used to generate an obstacle avoidance command based on the pause area and the point of travel to be reached, after the location information reported by the safety vest is obtained. When it is determined from the location information that the safety vest is not located within the alleyway, the fourth generation unit instructs a fourth target robot among the plurality of robots to move away from the pause area. The fourth target robot is the robot whose point of travel to be reached is located outside the pause area. The obstacle avoidance command is then sent to the fourth target robot.
[0102] In one possible example, regarding the generation of obstacle avoidance instructions based on the pause area and the point of travel information when it is determined, based on the location information, that the safety vest is not located in the alleyway, the fourth generation unit is further configured to: determine the fourth target robot based on the pause area and the point of travel information when it is determined, based on the location information; determine the second target point of the fourth target robot based on the point of travel information of the fourth target robot; generate an obstacle avoidance path based on the second target point of the fourth target robot and the pause area; and generate the obstacle avoidance instructions based on the obstacle avoidance path.
[0103] In one possible example, the safety obstacle avoidance device further includes a recovery unit, which is used to obtain the updated position information of the safety vest after the emergency stop command is sent to the second target robot; update the pause area according to the updated position information; and send a recovery command to the second target robot when it is determined that the point corresponding to the point where the second target robot is to travel has left the updated pause area. The recovery command is used to instruct the second target robot to move according to the point where the second target robot is to travel.
[0104] In one possible example, the safety obstacle avoidance device further includes an order dispatch unit, which is used to obtain a target order task after generating an expulsion zone when the location information determines that the safety vest is located in the alley; and to determine a target bin located in the safety zone to complete the target order task, wherein the safety zone is the area in the storage area other than the expulsion zone.
[0105] It is understood that since the method embodiments and the device embodiments are different presentations of the same technical concept, the content of the method embodiment section in this application should be adapted to the device embodiment section in a synchronous manner, and will not be repeated here.
[0106] In the case of using integrated units, the functional unit composition block diagram of another safety obstacle avoidance device provided in the embodiments of this application is as follows: Figure 8 As shown. In Figure 8 The obstacle avoidance device 70 includes a processing module 820 and a communication module 810. The processing module 820 controls and manages the actions of the obstacle avoidance device 70, for example, the steps performed by the first acquisition unit 710, the first generation unit 720, the second acquisition unit 730, the second generation unit 740, and the sending unit 750, and / or other processes for performing the techniques described herein. The communication module 810 supports interaction between the obstacle avoidance device 70 and other devices. Figure 8As shown, the safety obstacle avoidance device 70 may also include a storage module 830, which is used to store the program code and data of the safety obstacle avoidance device 70.
[0107] The processing module 820 can be a processor or controller, such as a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an ASIC, an FPGA, or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the embodiments of this application. The processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc. The communication module 810 can be a transceiver, RF circuitry, or a communication interface, etc. The storage module 830 can be a memory.
[0108] All relevant content in each scenario involved in the above method embodiments can be referenced from the functional descriptions of the corresponding functional modules, and will not be repeated here. The above-mentioned safety obstacle avoidance device 70 can all perform the above-mentioned... Figure 2 The safety obstacle avoidance method shown.
[0109] Figure 9 This is a structural block diagram of an electronic device provided in an embodiment of this application. Figure 9 As shown, the electronic device 90 can be a server, security vest, or robot in the aforementioned intelligent warehousing system. This electronic device may include a processor 910, a memory 920, a communication interface 930, and one or more programs 921. The processor 910, memory 920, and communication interface 930 are interconnected and perform communication with each other. The one or more programs 921 are stored in the memory 920 and configured to be executed by the processor 910. The one or more programs 921 include instructions for performing any step in the above method embodiments.
[0110] The communication interface 930 is used to support communication between the electronic device 90 and other devices. The processor 910 may be, for example, a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute various exemplary logic blocks, units, and circuits described in conjunction with the embodiments of this application. The processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0111] The memory 920 can be volatile memory or non-volatile memory, or may include both. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of random access memory are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SynchLink DRAM, SLDRAM), and direct memory bus RAM (DRRAM).
[0112] In a specific implementation, the processor 910 is used to execute any step in the above method embodiments, and when performing data transmission such as sending, it can choose to call the communication interface 930 to complete the corresponding operation.
[0113] It should be noted that the above schematic diagram of the electronic device 90 is only an example, and the actual number of components included may be more or less, and no single limitation is made here.
[0114] This application can divide electronic devices into functional units based on the above method examples. For example, each function can be divided into its own functional unit, or two or more functions can be integrated into one processing unit. The integrated unit can be implemented in hardware or as a software functional unit. It should be noted that the unit division in this application embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.
[0115] This application also provides a computer-readable storage medium storing a computer program for electronic data interchange, which causes a computer to perform some or all of the steps of any of the methods described in the above method embodiments, wherein the computer includes a server.
[0116] This application also provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps of any of the safety obstacle avoidance methods described in the above method embodiments. The computer program product can be a software installation package.
[0117] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0118] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0119] In the several embodiments provided in this application, it should be understood that the disclosed apparatus can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical or other forms.
[0120] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0121] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0122] If the aforementioned integrated units are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage device (CMD). Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned memory includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.
[0123] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage device, which may include a flash drive, ROM, RAM, disk, or optical disk, etc.
[0124] The embodiments of this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A safe obstacle avoidance method, characterized in that, The method, applied to a server in an intelligent warehousing system, includes: Obtain the location information reported by the safety vests, which are devices worn by staff in the warehouse area; When it is determined from the location information that the safety vest is located in the alley, a deportation zone is generated, the deportation zone including at least a portion of the alley where the safety vest is located; Obtain information on at least one designated location for multiple robots within the warehouse area; A deportation command is generated based on the deportation zone and the point of travel to be driven. The deportation command is used to instruct a first target robot among the plurality of robots to leave the deportation zone. The first target robot is located within the deportation zone. The expulsion command is sent to the first target robot.
2. The method according to claim 1, characterized in that, After obtaining the location information reported by the security vest, the method further includes: A pause zone is generated within the warehouse area based on the location information, and the safety vest is located within the pause zone. An emergency stop command is generated based on the pause area and the point to be driven. The emergency stop command is used to instruct a second target robot among the plurality of robots to stop moving. The second target robot is the robot whose point corresponding to the point to be driven is located in the pause area. Send the emergency stop command to the second target robot.
3. The method according to claim 2, characterized in that, The pause zone is located within the expulsion zone, and the step of generating an expulsion command based on the expulsion zone and the point of departure information includes: The first target robot is determined based on the pause area, the expulsion area, and the point of travel to be determined. The first target robot is a robot whose point of travel to be determined is located within the expulsion area and outside the pause area. The first target point of the first target robot is determined based on the driving point information of the first target robot, and the first target point is the endpoint position corresponding to the driving point information of the first target robot. A deportation path is generated based on the first target location, the deportation zone, and the pause zone, with the endpoint of the deportation path outside the deportation zone; The expulsion command is generated based on the expulsion path.
4. The method according to claim 3, characterized in that, The step of generating a deportation path based on the first target location, the deportation zone, and the pause zone includes: Determine whether the first mission endpoint of the first target robot is located within the expulsion zone and outside the pause zone; When the first task endpoint is located within the expulsion zone and outside the pause zone, a first path is generated based on the pause zone, the first task endpoint, and the first target point, and a second path is generated based on the first task endpoint, the pause zone, and the expulsion zone. The first task endpoint is the endpoint of the first path and the starting point of the second path, and the endpoint of the second path is located outside the expulsion zone. The expulsion path includes the first path and the second path.
5. The method according to claim 2, characterized in that, The pause zone is located within the expulsion zone, and the method further includes: The third target robot among the plurality of robots is determined based on the information of the point to be driven. The third target robot is located outside the expulsion zone, and the third task endpoint of the third target robot is located inside the expulsion zone. Determine whether the third task endpoint of the third target robot is located in the pause zone; If the third task endpoint is located within the pause zone, a pause command is sent to the third target robot, which instructs the third target robot to pause its journey to the expulsion zone. If the third task endpoint is located outside the pause area, a task path is generated based on the third target robot's point of travel information, the third task endpoint, and the pause area; a task execution instruction is generated based on the task path; and the task execution instruction is sent to the third target robot to instruct the third target robot to move along the task path.
6. The method according to claim 2, characterized in that, After obtaining the location information reported by the security vest, the method further includes: When it is determined from the location information that the safety vest is not located in the alley, an obstacle avoidance command is generated based on the pause area and the point to be driven. The obstacle avoidance command is used to instruct the fourth target robot among the plurality of robots to move away from the pause area. The fourth target robot is the robot whose point corresponding to the point to be driven is located outside the pause area. The obstacle avoidance command is sent to the fourth target robot.
7. The method as described in claim 6, characterized in that, When it is determined, based on the location information, that the safety vest is not located within the alleyway, an obstacle avoidance command is generated based on the pause area and the point of travel to be reached, including: When it is determined from the location information that the safety vest is not located in the alleyway, the fourth target robot is determined from the pause area and the point of travel to be determined. The second target point of the fourth target robot is determined based on the target point information of the fourth target robot. An obstacle avoidance path is generated based on the second target point of the fourth target robot and the pause area; The obstacle avoidance command is generated based on the obstacle avoidance path.
8. The method according to any one of claims 2 to 7, characterized in that, After sending the emergency stop command to the second target robot, the method further includes: Obtain the updated location information of the security vest; The pause area is updated based on the updated location information; When it is determined that the point corresponding to the point to be traveled of the second target robot has left the updated pause area, a recovery command is sent to the second target robot. The recovery command is used to instruct the second target robot to move according to the point to be traveled of the second target robot.
9. The method according to claim 1, characterized in that, When the location information determines that the safety vest is located in the alleyway, after generating the expulsion zone, the method further includes: Obtain the target order task; A target bin located in a safe zone is identified to complete the target order task. The safe zone is the area in the storage area excluding the expulsion zone.
10. A safety obstacle avoidance device, characterized in that, The server used in the intelligent warehousing system includes the following safety obstacle avoidance device: The first acquisition unit is used to acquire the location information reported by the safety vest, which is a device worn by staff in the warehouse area. The first generation unit is configured to generate a deportation zone when it is determined from the location information that the safety vest is located in the alleyway, the deportation zone including at least a portion of the alleyway where the safety vest is located; The second acquisition unit is used to acquire information on at least one driving point corresponding to multiple robots within the warehouse area. The second generation unit is used to generate a deportation command based on the deportation zone and the driving point information. The deportation command is used to instruct a first target robot among the plurality of robots to leave the deportation zone. The first target robot is located within the deportation zone. The sending unit is used to send the expulsion command to the first target robot.
11. An electronic device, characterized in that, The method includes a processor, a memory, a communication interface, and one or more programs, said programs being stored in the memory and configured to be executed by the processor, said programs including instructions for performing the steps of the method as described in any one of claims 1 to 9.
12. A computer-readable storage medium, characterized in that, A computer program for storing electronic data interchange is provided, wherein the computer program causes a computer to perform the steps of the method as described in any one of claims 1 to 9.
Citation Information
Patent Citations
Driving control method and system, storage medium and computer equipment
CN114115292A
Robot scheduling method, electronic equipment and storage medium
CN116859935A
Equipment control method and related device
CN117492390A
Robot congestion management method, device and equipment and readable storage medium
CN117908553A
Method and apparatus for allocating container carrying task
WO2024021809A1