Disclosure of Invention
The embodiment of the application provides a method and a device for generating a topological map.
In a first aspect, an embodiment of the present application provides a method for generating a topological map, where the method includes: acquiring a map of a target warehouse; determining a channel identifier contained in the map for identifying a channel in the target warehouse; in response to determining that the width of the channel is greater than or equal to the first target threshold, identifying, with the node, a guidance location for guiding operation of the mobile robot in the channel based on the location of the channel identification in the map; and connecting the nodes by using connecting lines with directions and weights, and obtaining a topological map of the target warehouse, wherein the directions of the connecting lines are used for indicating the passing directions of the mobile robot, and the weights of the connecting lines are used for representing the distances between the guide positions identified by the nodes connected by the connecting lines.
In some embodiments, identifying a guidance location for guiding the mobile robot to operate in the path with the node based on the location of the path identification in the map comprises: determining whether the category of the channel is a first type of channel; in response to determining that the category of the channel is a first category of channel, determining whether a width of the channel is less than a second target threshold; in response to determining that the width of the lane is less than the second target threshold, identifying, with a row of nodes, a guidance location for the mobile robot to operate in the lane.
In some embodiments, identifying with the node a guidance location for guiding the mobile robot to operate in the path based on the location of the path identification in the map further comprises: in response to determining that the width of the lane is greater than or equal to the second target threshold, identifying a guiding location for the mobile robot to travel in the lane with at least two rows of nodes.
In some embodiments, identifying with the node a guidance location for guiding the mobile robot to operate in the path based on the location of the path identification in the map further comprises: in response to determining that the category of the lane is not the first category of lane, identifying a guiding location for the mobile robot to travel in the lane with at least one row of nodes.
In some embodiments, connecting the nodes with connecting lines with directions and weights comprises: the nodes are connected with bidirectional connecting lines in response to identifying with a row of nodes a guiding position in which the mobile robot is operating in the channel.
In some embodiments, connecting the nodes with connecting lines with directions and weights comprises: and connecting the nodes by using one-way connecting lines in response to identifying the relative position of the mobile robot running in the channel by using two rows of nodes, wherein the connecting lines of the two rows of nodes are opposite in direction.
In some embodiments, connecting the nodes with connecting lines with directions and weights comprises: responsive to identifying the relative position of the mobile robot operating in the lane with at least three rows of nodes, connecting at least one row of nodes with bidirectional connecting lines and connecting at least two rows of nodes with unidirectional connecting lines.
In some embodiments, the weights are determined based on at least one of: speed limit in the channel, channel occupation degree and node occupation condition.
In a second aspect, embodiments of the present application provide a method for determining an order in which a mobile robot passes through locations in a warehouse, the method comprising: acquiring a map and a topological map of a target warehouse, wherein the topological map is generated by using the map according to the method described in any one implementation mode in the first aspect; acquiring node information of a starting node and node information of a terminating node of goods to be carried in a target warehouse; determining at least two nodes from the starting node to the ending node and the traversal sequence of the at least two nodes based on a shortest path algorithm; determining, on a map, at least two locations corresponding to at least two nodes; based on the traversal order, an order of locations in the warehouse indicated by the mobile robot through the at least two locations is determined.
In some embodiments, the method further comprises: position information of the at least two positions and information indicating an order of positions indicated by the at least two positions of the mobile robot are transmitted to the mobile robot.
In a third aspect, an embodiment of the present application provides an apparatus for generating a topological map, where the apparatus includes: a map acquisition unit configured to acquire a map of a target warehouse; a channel identification determination unit configured to determine a channel identification for identifying a channel in the target warehouse, which is contained in the map; an identification unit configured to identify a guidance location for guiding the mobile robot to operate in the channel with the node identification based on a location of the channel identification in the map in response to determining that the width of the channel is greater than or equal to a first target threshold; and a connection unit configured to connect the nodes with connection lines having directions and weights, wherein the directions of the connection lines are used for indicating the passing directions of the mobile robots, and the weights of the connection lines are used for representing the distances between the guide positions identified by the nodes connected by the connection lines, so as to obtain the topological map of the target warehouse.
In some embodiments, the identification unit is further configured to: determining whether the category of the channel is a first type of channel; in response to determining that the category of the channel is a first category of channel, determining whether a width of the channel is less than a second target threshold; in response to determining that the width of the lane is less than the second target threshold, identifying, with a row of nodes, a guidance location for the mobile robot to operate in the lane.
In some embodiments, the identification unit is further configured to: in response to determining that the width of the lane is greater than or equal to the second target threshold, identifying a guiding location for the mobile robot to travel in the lane with at least two rows of nodes.
in some embodiments, the identification unit is further configured to: in response to determining that the category of the lane is not the first category of lane, identifying a guiding location for the mobile robot to travel in the lane with at least one row of nodes.
in some embodiments, the connection unit is further configured to: the nodes are connected with bidirectional connecting lines in response to identifying with a row of nodes a guiding position in which the mobile robot is operating in the channel.
In some embodiments, the connection unit is further configured to: and connecting the nodes by using one-way connecting lines in response to identifying the relative position of the mobile robot running in the channel by using two rows of nodes, wherein the connecting lines of the two rows of nodes are opposite in direction.
In some embodiments, the connection unit is further configured to: responsive to identifying the relative position of the mobile robot operating in the lane with at least three rows of nodes, connecting at least one row of nodes with bidirectional connecting lines and connecting at least two rows of nodes with unidirectional connecting lines.
In some embodiments, the weights are determined based on at least one of: speed limit in the channel, channel occupation degree and node occupation condition.
in a fourth aspect, an embodiment of the present application provides an apparatus for determining an order in which a mobile robot passes through locations in a warehouse, the apparatus comprising: a map and topological map acquisition unit configured to acquire a map and a topological map of the target warehouse, wherein the topological map is generated by using the map according to the method described in any one of the implementation manners of the first aspect; a node information acquisition unit configured to acquire node information of a start node and node information of an end node of a to-be-transported cargo in a target warehouse; a node order determination unit configured to determine at least two nodes from the start node to the end node and a traversal order of the at least two nodes based on a shortest path algorithm; a location determination unit configured to determine at least two locations corresponding to the at least two nodes on the map; a position order determination unit configured to determine an order of the positions in the warehouse indicated by the at least two positions by the mobile robot based on the traversal order.
In some embodiments, the apparatus further comprises: an information transmitting unit configured to transmit position information of the at least two positions and information indicating an order of positions indicated by the at least two positions to the mobile robot.
in a fifth aspect, an embodiment of the present application provides an electronic device, including: one or more processors; a storage device having one or more programs stored thereon; when the one or more programs are executed by the one or more processors, the one or more processors are caused to implement the method as described in any implementation manner of the first aspect.
In a sixth aspect, the present application provides a computer-readable medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the method as described in any implementation manner of the first aspect.
According to the method and the device for generating the topological map, the topological map comprising the nodes and the connecting lines is generated based on the map of the target warehouse. In the process, whether the channel is suitable for passing is determined according to the width of the channel so as to ensure the passing safety. In addition, the topological map is generated based on the map of the warehouse, so that a foundation is provided for the matching use of the two subsequent maps.
Detailed Description
the present application will be described in further detail with reference to the following drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the relevant invention and not restrictive of the invention. It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings.
It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict. The present application will be described in detail below with reference to the embodiments with reference to the attached drawings.
Fig. 1 illustrates an exemplary system architecture 100 of a method for generating a topological map or an apparatus for generating a topological map to which embodiments of the present application may be applied.
As shown in fig. 1, the system architecture 100 may include a mobile robot 101, a network 102, and a controller 103. The network 102 is used to provide a medium of communication link between the mobile robot 101 and the controller 103. Network 102 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The mobile robot 101 may interact with the controller 103 through the network 102 to receive or transmit messages, and may carry goods that need to be carried according to the received messages (instructions). The mobile robot 101 may be a robot capable of autonomous movement. In general, in addition to receiving instructions, the mobile robot 101 may also perceive the environment. Thereby moving according to the sensed environment or the received instructions. Mobile robots include, but are not limited to: wheeled mobile robots, walking mobile robots, tracked mobile robots, and the like.
The controller 103 may be hardware or software. When the controller 103 is hardware, it may be implemented as a distributed device cluster composed of multiple devices, or may be implemented as a single device. When the controller is software, it may be implemented as a plurality of software or software modules (for example, to provide distributed services), or may be implemented as a single software or software module, and is not particularly limited herein.
The controller 103 may be provided independently of the mobile robot 101, or may be provided in an internal structure of the mobile robot 101, and is not limited thereto.
It should be noted that the method for generating the topological map provided in the embodiment of the present application is generally executed by the controller 103, and accordingly, the apparatus for generating the topological map is generally disposed in the controller 103.
It should be understood that the number of mobile robots 101, networks 102 and controllers 103 in fig. 1 is merely illustrative. There may be any number of mobile robots 101, networks 102, and controllers 103, as desired for the implementation.
With continued reference to FIG. 2, a flow 200 of one embodiment of a method for generating a topological map in accordance with the present application is shown.
Step 201, obtaining a map of a target warehouse.
In the present embodiment, an execution subject (e.g., the controller 103 in fig. 1) of the method for generating a topological map may acquire a map of the target warehouse from a terminal in which the map of the target warehouse is stored, by wire or wirelessly. In addition, the map of the target repository may also be stored locally to the execution entity. At this time, the execution subject may directly obtain the map of the target warehouse from the local. The target warehouse may be a warehouse designated by a technician, or a warehouse screened according to preset conditions. It is to be understood that the purpose of this embodiment is to generate a topological map. Thus, the map herein may be other types of maps distinct from topological maps. As an example, there may be a map that is widely used and that displays various objects within the corresponding area and their positional relationships. By way of example, a plan view of a warehouse is also possible.
At step 202, a channel identifier included in the map for identifying a channel in the target repository is determined.
In this embodiment, the execution subject may determine the channel identifier included in the map acquired in step 201. Wherein the channel identification may be an identification for identifying a channel in the target warehouse. Wherein, the passage can be a road for passing in the warehouse. In practice, particularly in the modern logistics industry, multiple rows of shelves are often provided in warehouses for storage and retrieval. A channel can be arranged between the goods shelves to facilitate the goods taking and placing. Other types of aisles may be included in the warehouse in addition to the aisles between shelves. Such as a passageway between a shelf and a building wall, a main passageway between different shelf areas, a passageway to a parking spot, a charging station, etc.
In this embodiment, the execution subject may determine the channel identifier included in the map in various ways. As an example, electronic maps typically use a specific identifier to identify the actual channel when stored, and are displayed on a display device by the channel identification. Thus, the execution body may recognize a specific identifier to determine the channel identification. As an example, the execution body may also determine the channel identification by receiving input from a technician.
in response to determining that the width of the channel is greater than or equal to the first target threshold, a guidance location for guiding the mobile robot to operate in the channel is identified with the node based on the location of the channel identification in the map, step 203.
In this embodiment, the execution body may first determine whether the width of the channel is greater than or equal to a first target threshold. In practice, the width of the channels in the warehouse varies. In order to ensure the safety of the passage, whether the passage is suitable for the passage or not can be determined by the width of the passage. Wherein the first target threshold may be a threshold defining a width of the channel. Which can be determined by the skilled person or calculated according to preset conditions. For example, the preset condition may be a sum of a width of the mobile robot passing through the passage and a preset safety distance.
If the width of the channel is greater than or equal to the first target threshold, the execution subject may identify a guidance position for guiding the mobile robot to run in the channel by using the node based on the position of the channel identifier in the map.
in practice, the guidance modes of the mobile robot can be divided into two types: fixed path guidance and free path guidance. The fixed path guide may guide the operation of the mobile robot by setting a medium substance. The free path guidance may be achieved by mobile robot navigation based on the coordinates of the current position and the next position.
in the case of fixed path guidance, the guidance position may be a position where the medium substance is disposed. Whereas in the case of free path guidance the guiding position may be specified by a technician. Further, a position satisfying a preset condition may also be set as the guide position. As an example, for each bin on the shelf, a guide location may be determined within the aisle at a predetermined orientation of the bin. It will be appreciated that the same index location may be determined for adjacent or opposite bins, depending on the actual requirements. At this time, the mobile robot can transport the goods in the storage positions of the preset number after reaching the guide position. After the index position is determined, its coordinates may also be determined. When the mobile robot runs, when the mobile robot runs to one guide position, the next guide position can be used as a target position to move.
In this embodiment, the execution subject may use a node identifier to indicate the location. Thus, the mobile robot can acquire the position information (e.g., coordinates) of the guidance position by acquiring the node information of the node while running.
In this embodiment, the execution subject may identify the guidance position with the node based on the position of the channel identifier in the map. As an example, the execution body may identify the guide location with the node at the same location as the location of the channel identification in the map.
If the width of the channel is less than the first target threshold, the execution may output a prompt to indicate that the width of the channel does not meet the security threshold.
it should be noted that, in practice, different types of nodes may be set to identify different types of locations. For example, the guiding locations near the charging spot may be identified with the same type of node. At this time, this type of node may be referred to as a charging node.
in some optional implementations of this embodiment, identifying, with a node, a guidance location for guiding the mobile robot to run in the channel based on the location of the channel identifier in the map includes: determining whether the category of the channel is a first type of channel; in response to determining that the category of the channel is a first category of channel, determining whether a width of the channel is less than a second target threshold; in response to determining that the width of the lane is less than the second target threshold, identifying, with a row of nodes, a guidance location for the mobile robot to operate in the lane.
In some optional implementations of this embodiment, based on the location of the channel identifier in the map, identifying, with the node, a guidance location for guiding the mobile robot to run in the channel, further includes: in response to determining that the width of the lane is greater than or equal to the second target threshold, identifying a guiding location for the mobile robot to travel in the lane with at least two rows of nodes.
in some optional implementations of this embodiment, based on the location of the channel identifier in the map, identifying, with the node, a guidance location for guiding the mobile robot to run in the channel, further includes: in response to determining that the category of the lane is not the first category of lane, identifying a guiding location for the mobile robot to travel in the lane with at least one row of nodes.
And step 204, connecting the nodes by using connecting lines with directions and weights to obtain a topological map of the target warehouse.
in this embodiment, the execution agent may connect the nodes by using connecting lines with directions and weights to obtain a topological map of the target warehouse. Wherein, the direction of the connecting line is used for indicating the passing direction of the mobile robot. In practice, the connecting lines may be unidirectional or bidirectional. When the connecting line is unidirectional, the mobile robot can only pass along the direction indicated by the connecting line. When the connecting line is bidirectional, the mobile robot can pass in either of two directions indicated by the connecting line. The weights of the connecting lines are used to identify distances between the guiding locations identified by the nodes to which the connecting lines are connected.
When the topology map is stored in the electronic device, the topology map may be stored in a form of a storage map. As an example, the storage may be performed in the form of an adjacency matrix or an adjacency table. Taking the adjacency list as an example, the weights of the connection lines may be stored in one data area. That is to say, the nodes and the connecting lines included in the topological map in this embodiment may be included when the topological map data is visually displayed.
in some optional implementations of this embodiment, connecting the nodes with the connecting lines with directions and weights may include: the nodes are connected with bidirectional connecting lines in response to identifying with a row of nodes a guiding position in which the mobile robot is operating in the channel.
in some optional implementations of this embodiment, connecting the nodes with the connecting lines with directions and weights may include: and connecting the nodes by using one-way connecting lines in response to identifying the relative position of the mobile robot running in the channel by using two rows of nodes, wherein the connecting lines of the two rows of nodes are opposite in direction.
In some optional implementations of this embodiment, connecting the nodes with the connecting lines with directions and weights may include: responsive to identifying the relative position of the mobile robot operating in the lane with at least three rows of nodes, connecting at least one row of nodes with bidirectional connecting lines and connecting at least two rows of nodes with unidirectional connecting lines.
in some optional implementations of this embodiment, the weight may be determined based on at least one of: speed limit in the channel, channel occupation degree and node occupation condition.
In these implementations, the weights are determined, by way of example, as follows: first, an initial weight is determined according to a distance between nodes. Next, the ratio of the limit in the first type of aisle (e.g., the inter-shelf aisle) to the limit in the second type of aisle (e.g., the inter-shelf aisle) is calculated and recorded as the deceleration factor. And finally, calculating the product of the initial weight and the deceleration coefficient, and determining the calculated product as the weight between the nodes.
With continued reference to fig. 3, fig. 3 is a schematic diagram of an application scenario of the method for generating a topological map according to the present embodiment. In the application scenario of fig. 3, the executing entity of the method for generating a topological map may, first, obtain map 301 of warehouse a. The map 301 includes a composite station identifier 3011 and a storage space identifier 3012. Then, a channel identifier included in the map 301 and used for identifying a channel in the warehouse a may be determined, which specifically includes: channel identification 3013, channel identification 3014, channel identification 3015, channel identification 3016, channel identification 3017, and channel identification 3018. The passage mark 3013 marks a passage formed between the left and right shelf areas. Channel identification 3014, channel identification 3015, channel identification 3016, and channel identification 3017 identify channels between shelves. Channel identification 3018 identifies the channel between the shelf and the compounding station.
On this basis, the execution subject may compare the width of the channel identified by each channel identifier with a preset safety threshold. Taking the channel identifier 3014 as an example, the channel identified by it is denoted as channel B. In response to determining that the width of the channel B is greater than or equal to the preset safety threshold, a guidance position for guiding the mobile robot to run in the channel B is identified with the node at the same position as the position of the channel identifier 3014 in the map 301 (i.e., within the area of the channel identifier 3014). In the application scenario, the guiding position can be determined in the channel, right in front of the storage position, or at a preset distance from the storage position, that is, each storage position identifier corresponds to one node. For example, bin id 3012 corresponds to node 3021. For other positions in the channel, the guide position can be set according to the requirement. For example, the index position may be set at a preset orientation of the compound station. Taking composite station identifier 3011 as an example, it may correspond to node 3023.
Finally, the nodes are connected by connecting lines with directions and weights, and a topological map 302 of the target warehouse is obtained. Wherein, the illustration 3022 is one of the connecting lines. As an example, the weight of the connection line may be represented by the length of the connection line. The direction of the connecting line may represent a direction in which the mobile robot is allowed to pass. In the present application scenario, the one-way access is allowed to be represented by a connecting line with a one-way arrow, and the two-way access is allowed to be represented by a connecting line without an arrow.
It should be noted that, in practice, the topological map is usually a connected graph. I.e. where any two nodes may be connected. In this application scenario, the description is convenient. The topological map 302 shows only a portion of the nodes and connecting lines.
The method for generating the topological map provided by the above embodiment provided by the application generates the topological map including the nodes and the connecting lines based on the map of the target warehouse. In the process, whether the channel is suitable for passing is determined according to the width of the channel so as to ensure the passing safety. In addition, the topological map is generated based on the map of the warehouse. There is a certain correspondence between the topological map and the map of the warehouse. The corresponding relation provides a basis for the matching use of the subsequent two maps.
With further reference to fig. 4, which illustrates a flow 400 of one embodiment of a method for determining an order in which a mobile robot passes locations in a warehouse, the flow 400 of the method for determining an order in which a mobile robot passes locations in a warehouse includes the steps of:
Step 401, obtaining a map and a topological map of a target warehouse.
in this embodiment, the execution subject of the method for determining the order in which the mobile robot passes the locations in the warehouse may, first, obtain a map and a topological map of the target warehouse. Wherein the topological map may be generated using a map of the target warehouse in any of the ways shown in figure 2.
Step 402, obtaining node information of a starting node and node information of a terminating node of the goods to be transported in the target warehouse.
In this embodiment, the executing entity may obtain node information of a start node and node information of an end node of the goods to be handled in the target warehouse. Wherein the node information may be an identifier, a number, etc. of the node. As an example, a transfer start position and an end position of the goods to be transferred may be determined first. And then, respectively taking the nodes corresponding to the guiding positions in the preset range as the starting nodes and the ending nodes. In practice, the goods to be transported often need to be transported from the storage location to the rechecking station. As can be seen from the description in the application scenario corresponding to fig. 3, both the storage location and the review station may correspond to a node. In this case, the start node and the end node of the cargo to be handled can be determined. Therefore, the node information of the starting node and the node information of the ending node of the goods to be transported can be obtained.
Step 403, determining at least two nodes from the start node to the end node and the traversal order of the at least two nodes based on the shortest path algorithm.
In this embodiment, the execution body may determine at least two nodes from the start node to the end node and a traversal order of the at least two nodes based on a shortest path algorithm. The shortest path algorithm is a classical algorithm in graph theory research, and can calculate a path with the smallest sum of weights, namely the shortest path, from one node to another node. Shortest path algorithms include, but are not limited to: dijkstra algorithm, Bellman-Ford algorithm, Floyd algorithm, SPFA algorithm, and the like.
at step 404, at least two locations corresponding to the at least two nodes are determined on the map.
In the present embodiment, since the topological map is generated using the map of the warehouse. Therefore, for a node in the topology, the executing body can find a position corresponding to the node in the map. As an example, the same coordinate system may be established where the topological map is the same size as the map of the warehouse. And then determining the position on the map, which is the same as the coordinates of the node, and regarding the position as the position corresponding to the node. It is understood that, in the case of different sizes, the positions corresponding to the nodes may also be determined according to the size ratio.
Based on the traversal order, an order of locations in the warehouse indicated by the mobile robot through the at least two locations is determined, step 405.
In this embodiment, the nodes are in one-to-one correspondence with the locations determined in step 405 on the map. Therefore, the traversal order of the at least two nodes can be taken as the traversal order of the corresponding at least two positions. I.e. the order in which the mobile robot passes the positions in the warehouse indicated by the at least two positions.
In some optional implementations of this embodiment, the method may further include: position information of the at least two positions and information indicating an order of positions indicated by the at least two positions of the mobile robot are transmitted to the mobile robot.
In these implementations, the execution body may transmit position information of the at least two positions and information indicating an order of positions indicated by the robot through the at least two positions to the mobile robot. Thereby, the mobile robot sequentially passes through the positions in the warehouse indicated by the at least two positions in order.
the method provided by the above embodiment determines at least two nodes from the start node to the end node and the traversal order of the at least two nodes based on the topological map and the shortest path algorithm. I.e. determining the shortest path from the originating node to the terminating node. Thereafter, at least two locations corresponding to the map and an order thereof are determined based on the determined shortest path. From this, the path the mobile robot travels in the warehouse can be determined.
with further reference to fig. 5, as an implementation of the method shown in fig. 2, the present application provides an embodiment of an apparatus for generating a topological map, where the embodiment of the apparatus corresponds to the embodiment of the method shown in fig. 2, and the apparatus may be specifically applied to various electronic devices.
As shown in fig. 5, the apparatus 500 for generating a topological map according to the present embodiment includes: a map acquisition unit 501, a channel identification determination unit 502, an identification unit 503, and a connection unit 504. Wherein the map obtaining unit 501 is configured to obtain a map of the target warehouse. The channel identification determination unit 502 is configured to determine a channel identification contained in the map for identifying a channel in the target warehouse. The identifying unit 503 is configured to identify a guidance location for guiding the mobile robot to run in the path with the node identification based on the location of the path identification in the map in response to determining that the width of the path is greater than or equal to the first target threshold. The connection unit 504 is configured to connect the nodes with connection lines with directions and weights, wherein the directions of the connection lines are used for indicating the passing directions of the mobile robot, and the weights of the connection lines are used for representing the distances between the guiding positions identified by the nodes connected by the connection lines, so as to obtain the topological map of the target warehouse.
In this embodiment, the specific processing of the map obtaining unit 501, the channel identifier determining unit 502, the identifying unit 503 and the connecting unit 504 and the technical effects thereof included in the apparatus 500 for generating a topological map may refer to step 201 and step 204 in the embodiment corresponding to fig. 2, and are not described herein again.
in some optional implementations of this embodiment, the identifying unit 503 may be further configured to: determining whether the category of the channel is a first type of channel; in response to determining that the category of the channel is a first category of channel, determining whether a width of the channel is less than a second target threshold; in response to determining that the width of the lane is less than the second target threshold, identifying, with a row of nodes, a guidance location for the mobile robot to operate in the lane.
in some optional implementations of this embodiment, the identifying unit 503 may be further configured to: in response to determining that the width of the lane is greater than or equal to the second target threshold, identifying a guiding location for the mobile robot to travel in the lane with at least two rows of nodes.
In some optional implementations of this embodiment, the identifying unit 503 may be further configured to: in response to determining that the category of the lane is not the first category of lane, identifying a guiding location for the mobile robot to travel in the lane with at least one row of nodes.
In some optional implementations of this embodiment, the connection unit 504 may be further configured to: the nodes are connected with bidirectional connecting lines in response to identifying with a row of nodes a guiding position in which the mobile robot is operating in the channel.
in some optional implementations of this embodiment, the connection unit 504 may be further configured to: and connecting the nodes by using one-way connecting lines in response to identifying the relative position of the mobile robot running in the channel by using two rows of nodes, wherein the connecting lines of the two rows of nodes are opposite in direction.
In some optional implementations of this embodiment, the connection unit 504 may be further configured to: responsive to identifying the relative position of the mobile robot operating in the lane with at least three rows of nodes, connecting at least one row of nodes with bidirectional connecting lines and connecting at least two rows of nodes with unidirectional connecting lines.
In some optional implementations of this embodiment, the weight is determined based on at least one of: speed limit in the channel, channel occupation degree and node occupation condition.
In the present embodiment, first, the map acquisition unit 501 may acquire a map of the target warehouse. Thereafter, the channel identification determination unit 502 may determine a channel identification included in the map for identifying a channel in the target warehouse. Then, the identifying unit 503 and the connecting unit 504 may perform node identification and connecting of nodes, respectively, and generate a topology map including the nodes and the connecting lines. In the process, whether the channel is suitable for passing is determined according to the width of the channel so as to ensure the passing safety. In addition, the topological map is generated based on the map of the warehouse, so that a foundation is provided for the matching use of the two subsequent maps.
Referring now to FIG. 6, shown is a block diagram of a computer system 600 suitable for use in implementing the electronic device of an embodiment of the present application. The electronic device shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present application.
As shown in fig. 6, the computer system 600 includes a Central Processing Unit (CPU)601 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage section 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data necessary for the operation of the system 600 are also stored. The CPU 601, ROM 602, and RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
The following components are connected to the I/O interface 605: an input portion 606 including a keyboard, a mouse, and the like; an output portion 607 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 608 including a hard disk and the like; and a communication section 609 including a network interface card such as a LAN card, a modem, or the like. The communication section 609 performs communication processing via a network such as the internet. The driver 610 is also connected to the I/O interface 605 as needed. A removable medium 611 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 610 as necessary, so that a computer program read out therefrom is mounted in the storage section 608 as necessary.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 609, and/or installed from the removable medium 611. The computer program performs the above-described functions defined in the method of the present application when executed by a Central Processing Unit (CPU) 601.
It should be noted that the computer readable medium described herein can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present application, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In this application, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present application may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present application may be implemented by software or hardware. The described units may also be provided in a processor, and may be described as: a processor includes a map acquisition unit, a channel identification determination unit, an identification unit, and a connection unit. Where the names of these units do not in some cases constitute a limitation on the unit itself, for example, the acquisition unit may also be described as a "unit that acquires a map of a target warehouse".
As another aspect, the present application also provides a computer-readable medium, which may be contained in the electronic device described in the above embodiments; or may exist separately without being assembled into the electronic device. The computer readable medium carries one or more programs which, when executed by the electronic device, cause the apparatus to: acquiring a map of a target warehouse; determining a channel identifier contained in the map for identifying a channel in the target warehouse; in response to determining that the width of the channel is greater than or equal to the first target threshold, identifying, with the node, a guidance location for guiding operation of the mobile robot in the channel based on the location of the channel identification in the map; and connecting the nodes by using connecting lines with directions and weights, and obtaining a topological map of the target warehouse, wherein the directions of the connecting lines are used for indicating the passing directions of the mobile robot, and the weights of the connecting lines are used for representing the distances between the guide positions identified by the nodes connected by the connecting lines.
The above description is only a preferred embodiment of the application and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention herein disclosed is not limited to the particular combination of features described above, but also encompasses other arrangements formed by any combination of the above features or their equivalents without departing from the spirit of the invention. For example, the above features may be replaced with (but not limited to) features having similar functions disclosed in the present application.