WO2018077024A1 - 确定设备移动路径的方法和装置 - Google Patents

确定设备移动路径的方法和装置 Download PDF

Info

Publication number
WO2018077024A1
WO2018077024A1 PCT/CN2017/105518 CN2017105518W WO2018077024A1 WO 2018077024 A1 WO2018077024 A1 WO 2018077024A1 CN 2017105518 W CN2017105518 W CN 2017105518W WO 2018077024 A1 WO2018077024 A1 WO 2018077024A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
branch
location information
determining
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2017/105518
Other languages
English (en)
French (fr)
Inventor
于宗靖
宋国库
商春鹏
汤敬仁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Publication of WO2018077024A1 publication Critical patent/WO2018077024A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0225Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving docking at a fixed facility, e.g. base station or loading bay
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/028Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal

Definitions

  • the present application relates to the field of computer technologies, and in particular, to the field of automation technologies, and in particular, to a method and apparatus for determining a path of movement of a device.
  • Path planning usually refers to the process of finding a collision-free path from the initial state to the target state in an environment with obstacles.
  • the moving path of the device is often a preset fixed path or a path obtained by a path planning algorithm such as an A-star algorithm or an exhaustive method.
  • the preset fixed path is simple but not flexible enough, such as the inability to plan a preset path.
  • Paths other than the path in the process of obtaining the path through the path planning algorithm, in order to find the shortest path or the optimal path, the controller needs to perform a large number of scans or iterative calculations, which is complicated and requires high computing power of the controller. Therefore, the existing path planning method is not simple enough or flexible enough, which leads to the inefficiency of path planning.
  • the purpose of the present application is to propose an improved method and apparatus for determining a path of movement of a device to solve the technical problems mentioned in the background section above.
  • the present application provides a method for determining a path of movement of a device, the method comprising: acquiring current location information and target location information of a device to be mobile; The front location information determines a first branch where the current location of the device to be moved is located, and a first node that sequentially passes from the current location to the main line, and determines, by using the target location information, a location where the target location of the to-be-moved device is located a second branch and a second node that passes at least sequentially from the main line to the target position; determining, by the current location information and the target location information, a third node that the first branch arrives in the second branch in sequence
  • the third node is a master node on a main line, and the master node includes nodes that each branch intersects with the trunk line; determining to sequentially pass through the first node, the third node, and the The path of the second node is the moving path of the device to be moved.
  • the number of bits of the node marker of the node on each leg is sequentially incremented from the master node to the end, and the high bit of the latter marker is the same as the previous marker.
  • the current location information includes a current node tag
  • the target location information includes a target node tag
  • the first node that the current location arrives at the main line in sequence includes: determining, by the current node, the highest bit, determining the first branch; determining, according to the number of digits, the highest value of the current node marker, determining the a first node; and the second branch in which the target location of the device to be moved is determined by the target location information and the second node that the trunk line reaches the target location at least sequentially passes through: marking by the target node The highest bit determines the second branch; the value of the high bit of the target node mark is sequentially incremented according to the number of bits to determine the second node.
  • the nodes on each branch are stored in an array.
  • the nodes on the backbone are stored in an array.
  • the present application provides an apparatus for determining a path of a device, the device comprising: an acquiring module configured to acquire current location information and target location information of a device to be mobile; and a branch node determining module configured to be configured to Determining, by the current location information, a first branch where the current location of the device to be moved is located, and a first node that sequentially passes from the current location to the trunk line, and determining a target location of the to-be-moved device by using the target location information a second branch, and a second node that passes at least sequentially from the main line to the target location; a trunk line node determining module configured to determine, by the current location information and the target location information, that the first branch arrives The second branch passes through a third node, wherein the third node is a master node on a main line, the master node includes a node in which each branch intersects the trunk line; and a moving path determining module configured to determine The path of the first node,
  • the number of bits of the node marker of the node on each leg is sequentially incremented from the master node to the end, and the high bit of the latter marker is the same as the previous marker.
  • the current location information includes a current node tag
  • the target location information includes a target node tag
  • the branch node determining module includes a first branch node determining unit and a second branch node determining a unit, wherein: the first branch node determining unit is configured to: determine that the first branch is determined by the highest node of the current node mark; and that the value of the high value of the current node mark is sequentially changed according to the number of bits Determining the first node; and the second branch node determining unit is configured to: determine the second branch by marking the highest bit of the target node; and mark from the target node in order of increasing number of bits The high bit value determines the second node.
  • the nodes on each branch are stored in an array.
  • the nodes on the backbone are stored in an array.
  • the method and device for determining a device movement path provided by the present application, by acquiring current location information and target location information of the device to be mobile, and then determining, by the current location information, the first branch where the current location of the mobile device is located and arriving from the current location
  • the first node that the main line passes in sequence determines the second branch where the target position of the device to be moved is located by using the target location information, and the second node that passes through at least the target line from the main line, and then passes the current location information and the target location information.
  • the mobile device can flexibly determine the mobile according to the current location and the target location of the device to be moved. Paths can improve the effectiveness of path planning.
  • FIG. 1 illustrates an exemplary system architecture to which embodiments of the present application may be applied
  • FIG. 2 is a flow diagram of one embodiment of a method of determining a device movement path in accordance with the present application
  • FIG. 3 is a road environment of one embodiment of a method of determining a device movement path in accordance with the present application
  • FIG. 4 is a schematic diagram of a simplified map and path planning according to the road environment of FIG. 3;
  • FIG. 5 is a schematic structural diagram of an embodiment of an apparatus for determining a device movement path according to the present application
  • FIG. 6 is a schematic structural diagram of a computer system suitable for implementing an electronic device of an embodiment of the present application.
  • FIG. 1 illustrates an exemplary system architecture 100 in which embodiments of the present application may be applied.
  • system architecture 100 can include terminal devices 101, 102, 103 and server 104. Communication between the terminal devices 101, 102, 103 and the server 104 can be through a network, which can include various types of connections, such as wired, wireless communication links, fiber optic cables, and the like.
  • the terminal devices 101, 102, 103 can interact with the server 104 over a network to receive or transmit messages and the like.
  • the terminal devices 101, 102, 103 can be moved in an environment such as the road environment 105, wherein the road environment 105 can include a plurality of branches 1051, 1052, 1053, 1054, etc. and at least one backbone line 1055.
  • the road environment 105 can be stored in advance in the server 104 or the terminal devices 101, 102, 103.
  • the terminal devices 101, 102, 103 may be installed on, but not limited to, one or more of the following devices: an acquisition device, a control device, a transmission device, a reception device, and the like.
  • the terminal device 101, 102, 103 can be, for example, a transport-type electronic device (such as an AGV), a cleaning-type electronic device, or the like, which is not limited in this application.
  • Server 104 may be a server that provides various services.
  • a background server that provides path planning support for the terminal devices 101, 102, and 103, and the like.
  • the server can store, generate, and the like the received data, and feed back the processing result to the terminal device.
  • the method for determining the device mobility path may be performed by the server 104 or by the terminal device 101, 102, and 103, which is not limited in this application.
  • the server 104 may pre-store a road environment 105 that can determine a target job location based on the received job demand information, and select a terminal that completes the target job according to the current job state of the terminal devices 101, 102, 103 (eg, an idle state).
  • the device acts as a device to be mobile, and the method for determining the device movement path of the present application is performed on the mobile device, and the path of the device to be moved is determined, and the path information or the movement instruction is sent to the device to be moved.
  • the terminal devices 101, 102, and 103 may respectively store the road environment 105 in advance.
  • the terminal device may determine the target work location and perform the method for determining the device movement path of the present application to determine the movement path, and determine the movement path according to the method. The determined movement path is moved.
  • terminal devices, servers, and road environment in FIG. 1 are merely illustrative. Depending on the implementation needs, there can be any number of terminal devices and servers, as well as any number of branches of the road environment.
  • a flow 200 of one embodiment of a method of determining a device movement path is illustrated. This embodiment is mainly illustrated by the method being applied to an electronic device having a certain computing capability (for example, the server 104 or the terminal device 101, 102, 103 shown in FIG. 1).
  • the method for determining a path for moving a device includes the following steps:
  • Step 201 Obtain current location information and target location information of the device to be moved.
  • the electronic device may first acquire the target location information, and determine the to-be-moved device according to the target location information and obtain the current location information of the to-be-moved device, and the electronic device may also pre-store the current location information of the to-be-moved device. In the step, the target location information and the pre-stored current location information are obtained.
  • the above electronic device is the server 104 as shown in FIG. 1, it can perform task scheduling on the terminal devices 101, 102, 103, and the like.
  • the terminal device 101, 102, 103, etc. may send its current state information to the server 104 according to a predetermined time interval, or feed back its current state information when the server 104 initiates an inquiry, where the current state information includes at least the current location information, and One or more of load information, current task information, and the like may be included, but not limited to.
  • the server 104 may perform task scheduling according to the current state information of the terminal device 101, 102, 103, etc., determine the terminal device that completes the job as the device to be moved, and obtain current location information of the device to be mobile. For example, at least one of current position coordinates, current leveling, and the like.
  • the job requirement information herein includes at least target location information of the starting point of the job, and may also include task information and the like. If the electronic device is a device to be moved, it may pre-store its own current location information and acquire target location information by receiving job requirement information, or acquire target location information and its own current location information when receiving job demand information.
  • the electronic device may store road environment information in advance.
  • the road environment of this embodiment may be any work environment including a trunk line.
  • the work positions 301, 302, 303, 304, 305 are connected into one main line, and each work position can be led to other work positions through the branch.
  • the road environment information can be stored in the form of an electronic map that can display the solid terrain (eg, in a form similar to that shown in FIG. 3).
  • the electronic map can display multiple branches and at least one main line, and display possible job nodes on the main line.
  • the current location information and the target location information may respectively include a current location coordinate and a target location coordinate.
  • road environment information can also be stored in a simplified electronic map.
  • the electronic device can predetermine the possible job nodes and build an array based on these possible job nodes.
  • each work position is one node, and the work positions 301, 302, 303, 304, and 305 on the main line are used as the master node, and the main line is beyond the main line of each master node.
  • the line is a branch, and the plurality of branches can be connected by the main line.
  • the working environment 300 can be simplified into the form of the map 400 shown in FIG. 4, wherein the working positions 301, 302, 303, and 304 in FIG. 305 in turn
  • the master nodes 1, 2, 3, 4, 5 in Figure 4 should be used.
  • each node in the map 400 can be represented in an array form.
  • the node markers of the master node can be represented in an array as an order, and the node markers of the nodes on each branch can also be represented as an array in the order of arrangement.
  • the node tag may be at least one of, but not limited to, a character, a number, and the like.
  • each node may be associated with a coordinate range.
  • the electronic device may determine the node or the target location associated with the current location coordinate according to the pre-stored coordinate range.
  • the coordinates here may be the latitude and longitude coordinates of the positioning of the GPS (Global Positioning System) or the reference frame coordinates set by the electronic device, which is not limited in this application.
  • Step 202 Determine, by the current location information, a first branch where the current location of the device to be moved is located, and a first node that sequentially passes from the current location to the trunk line, and determine, by using the target location information, a second branch where the target location of the to-be-moved device is located.
  • the electronic device may determine, by the current location information, a first branch where the current location of the mobile device is located, and a first node that sequentially passes from the current location to the trunk line, and determine, by the target location information, the device to be moved.
  • the second branch where the target position is located and the second node that passes at least in sequence from the main line to the target position.
  • the execution of each operation in this step does not limit the execution order, and may be performed sequentially or simultaneously.
  • first node and the second node in this embodiment may respectively include one working node, and may also include multiple nodes.
  • the first node, the second node may also not include any nodes.
  • FIG. 4 is a simplified map 400 of the road environment 300, including five branches 4001, 4002, 4003, 4004, 4005 and one trunk line 4006, each of which includes a plurality of nodes.
  • the node where each branch intersects with the trunk line 4006 is a main node, such as nodes 1, 2, 3, 4, and 5.
  • the electronic device can determine the first branch of the mobile device according to the current location information of the device to be mobile.
  • the number of bits of the node markers of the nodes on each leg may be sequentially incremented from the master node to the end, and the high bits of the latter tag are the same as the previous tag.
  • the master node is 1, and the nodes from the master node to the two ends are marked as 1, 11, 110, 1, 12, 120, respectively, and the high level of the latter mark, such as "110".
  • the high position "11" is the same as the previous one "11".
  • the current location information can include a current node tag
  • the target location information can include a target node tag.
  • the method for determining, by the current location information, the first branch where the current location of the mobile device is located and the first node that passes through the current location from the current location may be: determining the first branch by marking the highest bit of the current node The first node is determined by taking the value of the high point of the current node marker in descending order of digits.
  • the first branch is determined to be a branch labeled 3 4003, in descending order of the number of bits from the current node mark, the value of the current node mark "/10 0 ", "current node mark / 10 1 " ... "current node mark / 10 N " (N is a positive integer) until "N” is equal to "current coordinate marker number -2" and the result is 310, 31.
  • the second branch of the electronic device that determines the target location of the to-be-moved device by the target location information and the second node that the backbone line reaches the target location at least sequentially includes: determining the second branch by marking the highest bit of the target node; The number of digits is incremented in order from the high value of the target node marker to determine the second node.
  • the second leg determined by the target node 520 is 5, and the second node includes 52, 520.
  • Step 203 Determine, by the current location information and the target location information, a third node that the first branch arrives in the second branch in sequence.
  • the electronic device may further determine, by the current location information and the first branch and the second branch determined by the target location information, that the first branch arrives at the third node that the second branch sequentially passes.
  • the third node is the primary node on the main line.
  • the electronic device can refer to the intersection of the first branch and the main line as a reference, and determine the third node by the branch span (the number of intervals) between the first branch and the second branch.
  • the current position is at node 310
  • the target position is at node 520
  • Step 204 Determine a path that passes through the first node, the third node, and the second node in sequence as a moving path of the device to be moved.
  • the electronic device may then determine that the path passing through the foregoing first node, the third node, and the second node is the moving path of the device to be moved. That is, the moving path of the mobile device passes through the current branch, the main line, and the target branch.
  • the path of the device to be moved determined by the electronic device from the node 310 to the node 520 is a path sequentially passing through the nodes 310, 31, 3, 4, 5, 52, 520 (shown by a bold arrow in FIG. 4) path of).
  • This embodiment is described by taking a branch with a smaller number from a branch with a larger branch number as an example.
  • the path determination method is similar to the above example. The difference is that the third node that the determining branch 4005 reaches the branch 4003 passes through is node 5, node (5-1) ... node (5 - the aforementioned span 2), that is, node 5, node 4, node 3 .
  • the electronic device may first determine the label size of the current branch and the target branch, and then determine the third node, and details are not described herein again.
  • the path planning can be implemented by moving the pointer.
  • the pointer first points to an array representing the first branch where the current location node of the device to be moved is located, and points to the address of the current location node in the array, and then moves the pointer in the array to point to the address of the master node in the array, and then The moving pointer skips the array of the aforementioned span number, points to the address of the primary node stored in the array representing the second branch where the target location node is located, and then sequentially moves the pointer within the array to the address of the target location node in the array.
  • each road environment module is applicable to the method for determining a moving path of the mobile device to be moved in this embodiment, and multiple The method for determining the moving path of the device to be moved in this embodiment can also be applied to between the road environment modules (each road environment module is used as one working node).
  • the terminal devices 101, 102, and 103 may be transport robots (such as AGVs) in the logistics field, and the road environment 105 is pre-stored in the server 104, and the server 104 may
  • the target work position is determined according to the job demand, and the terminal device that completes the target job is selected as the device to be moved according to the current working state of the transport robot (such as whether in the job, the number of goods to be transported, etc.), and the determining device of the present application is executed on the mobile device.
  • the method of moving the path determines the path of movement of the device to be moved in the road environment 105 and transmits the path information or the move instruction to the device to be moved.
  • the device to be moved may be a cleaning electronic device (such as a cleaning robot), and the road environment may be pre-stored in the cleaning electronic device, and when the job demand information is received, the cleaning device may be based on the operation.
  • the demand information determines the target work position.
  • the method of determining the device movement path of the present application is performed to determine its movement path in the pre-stored road environment, and moves according to the determined movement path.
  • the path of the device to be moved can be flexibly determined according to the current location and the target location of the device to be moved, thereby improving the effectiveness of the path planning.
  • the present application provides an embodiment of an apparatus for determining a path of movement of a device, the apparatus embodiment corresponding to the method embodiment shown in FIG.
  • the device can be specifically applied to an electronic device.
  • the apparatus 500 for determining a device mobility path includes: an obtaining module 501, a branch node determining module 502, a trunk line node determining module 503, and a moving path determining module 504.
  • the obtaining module 501 may be configured to acquire current location information and target location information of the device to be mobile;
  • the branch node determining module 502 may be configured to determine, by using current location information, a first branch where the current location of the device to be moved is located, and The first node that passes through the current position to the main line, determines the second branch where the target position of the device to be moved is located, and reaches the target position from the main line through the target location information.
  • the trunk node determining module 503 can be configured to determine, by the current location information and the target location information, that the first branch arrives at a third node in sequence through the second branch, where the third node is a master node on the main line, the master node includes a node in which each branch intersects the trunk line;
  • the path determining module 504 can be configured to determine that the path passing through the first node, the third node, and the second node is the device to be moved. The path of the move.
  • the branch node determination module can also include a first branch node determination unit (not shown) and a second branch node determination unit (not shown).
  • the first branch node determining unit may determine the first branch by the highest node of the current node flag; and determine the first node by taking the value from the high bit of the current node flag in descending order of digits.
  • the second branch node determining unit may determine the second branch by marking the highest bit of the target node; and sequentially determining the second node by taking the value from the upper bit of the target node flag in order of increasing number of bits.
  • the nodes on each branch are stored in an array.
  • the node markers on each branch are stored as an array.
  • the nodes on the backbone are stored in an array.
  • apparatus 500 for determining the path of device movement correspond to the various steps in the method described with reference to FIG.
  • the operations and features described above for the method are equally applicable to the apparatus 500 for determining the path of the device and the modules or units included therein, and are not described herein.
  • the apparatus 500 for determining the path of movement of the apparatus further includes some other well-known structures, such as a processor, a memory, etc., in order to unnecessarily obscure the embodiments of the present disclosure, these well-known structures are not shown in FIG. Out.
  • FIG. 6 a block diagram of a computer system 600 suitable for use in implementing the electronic device of the embodiments of the present application is shown.
  • computer system 600 includes a central processing unit (CPU) 601, which may be in accordance with a program stored in read only memory (ROM) 602 or from storage portion 508.
  • the program loaded into the random access memory (RAM) 603 performs various appropriate actions and processes.
  • RAM 603 various programs and data required for the operation of the system 600 are also stored.
  • the CPU 601, the ROM 602, and the RAM 603 are connected to each other through a bus 604.
  • An input/output (I/O) interface 605 is also coupled to bus 604.
  • the following components may be connected to the I/O interface 605: including an input portion 606 such as a keyboard, a button, etc.; an output portion 607 including a speaker or the like; a storage portion 608 including a hard disk or the like; and including, for example, a LAN card, a modem, or the like Communication portion 609 of the network interface card.
  • the communication section 609 performs communication processing via a network such as the Internet, a radio frequency signal, or the like.
  • Driver 610 is also coupled to 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 needed so that a computer program read therefrom is installed into the storage portion 608 as needed.
  • an embodiment of the present application includes a computer program product comprising a computer program tangibly embodied on a machine readable medium, the computer program comprising program code for executing the method illustrated in the flowchart.
  • the computer program can be downloaded and installed from the network via communication portion 609, and/or installed from removable media 611.
  • the units involved in the embodiments of the present application may be implemented by software or by hardware.
  • the described modules may also be provided in the processor, for example, as a processor including an acquisition module, a branch node determination module, a backbone node determination module, and a movement path determination module.
  • the name of these modules does not constitute a limitation on the module itself in some cases.
  • the acquisition module may also be described as “a module configured to acquire current location information and target location information of the device to be moved”.
  • the present application further provides a computer readable storage medium, which may be a computer readable storage medium included in the apparatus described in the foregoing embodiment, or may exist separately, not A computer readable storage medium that is assembled into a terminal.
  • the computer readable storage medium stores one or more programs that, when executed by one or more processors, cause the device to: acquire The current location information of the mobile device and the target location information; determining, by the current location information, a first branch where the current location of the to-be-moved device is located, and a first node that sequentially passes from the current location to the trunk line, and passes the target
  • the location information determines a second leg where the target location of the device to be moved is located, and a second node that passes at least sequentially from the trunk line to the target location; determining the first branch by using the current location information and the target location information
  • the road arrives at a third node in which the second branch passes in sequence, wherein the third node is a master node on a main line, and the master

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Navigation (AREA)

Abstract

一种确定设备移动路径的方法和装置。该方法包括:获取待移动设备的当前位置信息及目标位置信息(201);通过当前位置信息确定待移动设备的当前位置所在的第一支路以及当前位置到达主干线依次经过的第一节点,通过目标位置信息确定待移动设备的目标位置所在的第二支路以及主干线到达目标位置至少依次经过的第二节点(202);通过当前位置信息以及目标位置信息确定第一支路到达第二支路依次经过的第三节点(203);确定依次经过第一节点、第三节点、第二节点的路径为待移动设备的移动路径(204)。

Description

确定设备移动路径的方法和装置
相关申请的交叉引用
本申请要求于2016年10月26日提交的中国专利申请号为“201610946903.8”的优先权,其全部内容作为整体并入本申请中。
技术领域
本申请涉及计算机技术领域,具体涉及自动化技术领域,尤其涉及确定设备移动路径的方法和装置。
背景技术
路径规划通常是指在具有障碍物的环境中寻找一条从起始状态到目标状态的无碰撞路径的过程。目前,在自动化设备(如机器人等)的路径规划中,设备的移动路径往往是预设的固定路径或者通过诸如A星算法、穷举法之类的路径规划算法获取的路径。
在一些应用场景中,例如物流领域在规整排列的货架间搬运货物的自动导引移动机器人(Automated Guided Vehicle,AGV),预设的固定路径虽然简单,却不够灵活,比如无法规划预设的路径之外的路径等;通过路径规划算法获取路径的过程中通常为了寻找最短路径或最优路径,需要控制器进行大量的扫描或迭代计算,过程繁杂且对控制器的运算能力要求较高。因此,现有的路径规划方法不够简单或者不够灵活,从而导致路径规划的有效性不高。
发明内容
本申请的目的在于提出一种改进的确定设备移动路径的方法和装置,来解决以上背景技术部分提到的技术问题。
一方面,本申请提供了一种确定设备移动路径的方法,所述方法包括:获取待移动设备的当前位置信息及目标位置信息;通过所述当 前位置信息确定所述待移动设备的当前位置所在的第一支路以及从当前位置到达主干线依次经过的第一节点,通过所述目标位置信息确定所述待移动设备的目标位置所在的第二支路以及从主干线到达目标位置至少依次经过的第二节点;通过所述当前位置信息以及所述目标位置信息确定所述第一支路到达所述第二支路依次经过的第三节点,其中,所述第三节点为主干线上的主节点,所述主节点包括各条支路与所述主干线相交的节点;确定依次经过所述第一节点、所述第三节点、所述第二节点的路径为所述待移动设备的移动路径。
在一些实施例中,各条支路上的节点的节点标记的位数从所述主节点向末端呈依次递增排列,且后一标记的高位与前一标记相同。
在一些实施例中,所述当前位置信息包括当前节点标记,所述目标位置信息包括目标节点标记;以及,所述通过所述当前位置信息确定所述待移动设备的当前位置所在的第一支路以及当前位置到达主干线依次经过的第一节点包括:通过所述当前节点标记最高位确定所述第一支路;按照位数递减依次从所述当前节点标记的高位取值,确定所述第一节点;以及,所述通过所述目标位置信息确定所述待移动设备的目标位置所在的第二支路以及主干线到达目标位置至少依次经过的第二节点包括:通过所述目标节点标记最高位确定所述第二支路;按照位数递增依次从所述目标节点标记的高位取值,确定所述第二节点。
在一些实施例中,每条支路上的节点以数组形式存储。
在一些实施例中,所述主干线上的各节点以数组形式存储。
第二方面,本申请提供了一种确定设备移动路径的装置,所述装置包括:获取模块,配置用于获取待移动设备的当前位置信息及目标位置信息;支路节点确定模块,配置用于通过所述当前位置信息确定所述待移动设备的当前位置所在的第一支路以及从当前位置到达主干线依次经过的第一节点,通过所述目标位置信息确定所述待移动设备的目标位置所在的第二支路以及从主干线到达目标位置至少依次经过的第二节点;主干线节点确定模块,配置用于通过所述当前位置信息以及所述目标位置信息确定所述第一支路到达所述第二支路依次经过 的第三节点,其中,所述第三节点为主干线上的主节点,所述主节点包括各条支路与所述主干线相交的节点;移动路径确定模块,配置用于确定依次经过所述第一节点、所述第三节点、所述第二节点的路径为所述待移动设备的移动路径。
在一些实施例中,各条支路上的节点的节点标记的位数从所述主节点向末端呈依次递增排列,且后一标记的高位与前一标记相同。
在一些实施例中,所述当前位置信息包括当前节点标记,所述目标位置信息包括目标节点标记;以及,所述支路节点确定模块包括第一支路节点确定单元和第二支路节点确定单元,其中:所述第一支路节点确定单元配置用于:确定单元通过所述当前节点标记最高位确定所述第一支路;按照位数递减依次从所述当前节点标记的高位取值,确定所述第一节点;以及,所述第二支路节点确定单元配置用于:通过所述目标节点标记最高位确定所述第二支路;按照位数递增依次从所述目标节点标记的高位取值,确定所述第二节点。
在一些实施例中,每条支路上的节点以数组形式存储。
在一些实施例中,所述主干线上的各节点以数组形式存储。
本申请提供的确定设备移动路径的方法和装置,通过获取待移动设备的当前位置信息及目标位置信息,接着通过当前位置信息确定待移动设备的当前位置所在的第一支路以及从当前位置到达主干线依次经过的第一节点,通过目标位置信息确定待移动设备的目标位置所在的第二支路以及从主干线到达目标位置至少依次经过的第二节点,然后通过当前位置信息以及目标位置信息确定第一支路到达第二支路依次经过的第三节点,其中,第三节点为主干线上的主节点,主节点包括各条支路与主干线相交的节点,最后确定依次经过第一节点、第三节点、第二节点的路径为待移动设备的移动路径,由于无需进行复杂算法的扫描、迭代等运算来确定移动路径,又能根据待移动设备的当前位置和目标位置灵活确定移动路径,可以提高路径规划的有效性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例的详细描述,本 申请的其它特征、目的和优点将会变得更明显:
图1示出了可以应用本申请实施例的示例性系统架构;
图2是根据本申请的确定设备移动路径的方法的一个实施例的流程图;
图3是根据本申请的确定设备移动路径的方法的一个实施例的道路环境;
图4是根据图3的道路环境进行简化的地图及路径规划示意图;
图5是根据本申请的确定设备移动路径的装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103和服务器104。终端设备101、102、103和服务器104之间可以通过网络进行通信,这里的网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103可以通过网络与服务器104交互,以接收或发送消息等。终端设备101、102、103可以在道路环境105之类的环境中移动,其中,道路环境105可以包括多条支路1051、1052、1053、1054等以及至少一条主干线1055。道路环境105可以预先存储在服务器104或终端设备101、102、103中。
终端设备101、102、103上可以安装但不限于以下装置中的一种或多种:采集装置、控制装置、发送装置、接收装置等等。终端设备101、102、103例如可以是运输类电子设备(如AGV)、清洁类电子设备等等,本申请对此不做限定。
服务器104可以是提供各种服务的服务器。例如对终端设备101、102、103等提供路径规划支持的后台服务器等。服务器可以对接收到的数据进行存储、生成等处理,并将处理结果反馈给终端设备。
需要说明的是,本申请实施例所提供的确定设备移动路径的方法可以由服务器104执行,也可以由终端设备101、102、103执行,本申请对此不做限定。例如,服务器104可以预先存储有道路环境105,其可以根据接收到的作业需求信息确定目标作业位置,并根据终端设备101、102、103的当前作业状态(如空闲状态)选择完成目标作业的终端设备作为待移动设备,对待移动设备执行本申请的确定设备移动路径的方法确定出待移动设备的移动路径,并向待移动设备发送移动路径信息或移动指令。终端设备101、102、103可以分别预先存储有道路环境105,当接收到作业需求信息时,终端设备可以确定目标作业位置并执行本申请的确定设备移动路径的方法确定出移动路径,并根据所确定的移动路径进行移动。
应该理解,图1中的终端设备、服务器的数目以及道路环境仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备和服务器,以及任意条数支路的道路环境。
请参考图2,其示出了确定设备移动路径的方法的一个实施例的流程200。本实施例主要以该方法应用于有一定运算能力的电子设备(例如图1所示的服务器104或者终端设备101、102、103)中来举例说明。该确定设备移动路径的方法,包括以下步骤:
步骤201,获取待移动设备的当前位置信息及目标位置信息。
在本实施例中,电子设备可以先获取目标位置信息,并根据目标位置信息确定待移动设备并获取待移动设备的当前位置信息,电子设备也可以预先存储有待移动设备的当前位置信息,在本步骤中获取目标位置信息以及预先存储的当前位置信息。
具体地,如果上述电子设备是如图1所示的服务器104,其可以对终端设备101、102、103等进行任务调度。终端设备101、102、103等可以按照预定的时间间隔向服务器104发送自身的当前状态信息,或者在服务器104发起询问时反馈自身的当前状态信息,这里的当前状态信息至少包括当前位置信息,还可以包括但不限于负载信息、当前任务信息等中的一种或多种。在接收到作业需求信息时,服务器104可以根据终端设备101、102、103等的当前状态信息进行任务调度,确定去完成作业的终端设备作为待移动设备,并获取待移动设备的当前位置信息,例如当前位置坐标、当前所在平层等中的至少一个。这里的作业需求信息至少包括作业起点的目标位置信息,还可以包括任务信息等。如果上述电子设备是待移动设备,其可以预先存储有自身的当前位置信息并通过接收作业需求信息获取目标位置信息,或者在接收到作业需求信息时,获取目标位置信息以及自身的当前位置信息。
在本实施例中,电子设备可以预先存储有道路环境信息。本实施例的道路环境可以是包含一条主干线的任意作业环境。例如图3所示的作业环境300,其中每个圆圈表示一个作业位置,作业位置之间的连线表示两个作业位置之间的通路。在作业环境300中,作业位置301、302、303、304、305连成一条主干线,每个作业位置又可以通过支路通向其他作业位置。
在一些实现中,道路环境信息可以以可显示实地地形的电子地图形式存储(例如类似图3所示的形式)。电子地图可显示多条支路以及至少一条主干线,并在主干线上显示可能的作业节点。此时当前位置信息和目标位置信息分别可以包括当前位置坐标和目标位置坐标。
在另一些实现中,道路环境信息也可以以简化的电子地图存储。例如,电子设备可以预先确定可能作业节点,以这些可能的作业节点为依据建立数组。例如,图3所示的作业环境300,以每个作业位置为一个节点,主干线上的作业位置301、302、303、304、305作为主节点,经过每个主节点的主干线之外的线路为一个支路,多条支路间可以通过主干线相连,则作业环境300可以简化成图4所示的地图400的形式,其中,图3中的作业位置301、302、303、304、305依次对 应图4中的主节点1、2、3、4、5。此时,地图400中的各节点可以以数组形式表示,例如,主节点的节点标记可以按次序排列表示成一个数组,每条支路上的节点的节点标记还可以按排列次序表示成一个数组。其中,节点标记可以是包括但不限于字符、数字等等中的至少一种。此时,每个节点可以关联一个坐标范围,当当前位置信息包括当前位置坐标或者目标位置信息包括目标位置坐标时,电子设备可以根据预先存储的坐标范围确定当前位置坐标所关联的节点或者目标位置坐标所关联的节点。这里的坐标可以是GPS(Global Positioning System,全球定位系统)定位的经纬度坐标或者电子设备设定的参考系坐标,本申请对此不做限定。
步骤202,通过当前位置信息确定待移动设备的当前位置所在的第一支路以及从当前位置到达主干线依次经过的第一节点,通过目标位置信息确定待移动设备的目标位置所在的第二支路以及从主干线到达目标位置至少依次经过的第二节点。
在本实施例中,电子设备接着可以通过当前位置信息确定待移动设备的当前位置所在的第一支路以及从当前位置到达主干线依次经过的第一节点,通过目标位置信息确定待移动设备的目标位置所在的第二支路以及从主干线到达目标位置至少依次经过的第二节点。其中,本步骤各操作的执行不限定执行顺序,可以先后执行,也可以同时执行。
值得说明的是,本实施例中的第一节点、第二节点分别可以包括一个作业节点,也可以包括多个节点。在一些实现中,第一节点、第二节点还可以不包括任何节点。
为了说明方便,请参考图4,图4中是道路环境300简化后的地图400,包括五条支路4001、4002、4003、4004、4005和一条主干线4006,每条支路上包括多个节点,例如支路4003上的节点310、31、3、32、320以及主干线4006上的节点1、2、3、4、5等等。其中,各条支路与主干线4006相交的节点为主节点,如节点1、2、3、4、5等。以待移动设备的当前位置为节点310,目标位置为节点520为例,电子设备可以根据待移动设备的当前位置信息确定其所在的第一支路 4003以及从当前位置到达主干线4006依次经过的第一节点310、31,根据目标位置信息确定目标位置所在的第二支路4005以及从主干线到达目标位置至少依次经过的第二节点52、520。
在本发明的一些实现方式中,各条支路上的节点的节点标记的位数可以从主节点向末端呈依次递增排列,且后一标记的高位与前一标记相同。以图4中的支路4001为例,主节点为1,从主节点向两个末端的节点标记分别为1、11、110和1、12、120,后一标记的高位,如“110”的高位“11”与前一标记“11”相同。在一些实现中,当前位置信息可以包括当前节点标记,目标位置信息可以包括目标节点标记。此时,电子设备通过当前位置信息确定待移动设备的当前位置所在的第一支路以及从当前位置到达主干线依次经过的第一节点的方法可以为:通过当前节点标记最高位确定第一支路;按照位数递减依次从当前节点标记的高位取值,确定第一节点。具体地,假如当前节点标记为310,取当前节点标记的最高位为“当前节点标记/10当前坐标标记 位数-1”,结果为3,则第一支路确定为标记为3的支路4003,按照位数递减依次从当前节点标记的高位取值为“当前节点标记/100”、“当前节点标记/101”……“当前节点标记/10N”(N为正整数)直至“N”等于“当前坐标标记位数-2”,结果为310、31。可以理解,当“当前坐标标记位数-2”的值小于0时,当前坐标标记只有1位,为主节点,则第一节点可以不包括任何节点。同理,电子设备通过目标位置信息确定待移动设备的目标位置所在的第二支路以及主干线到达目标位置至少依次经过的第二节点包括:通过目标节点标记最高位确定第二支路;按照位数递增依次从目标节点标记的高位取值,确定第二节点。上述示例中,通过目标节点520确定的第二支路为5,第二节点包括52、520。
步骤203,通过当前位置信息以及目标位置信息确定第一支路到达第二支路依次经过的第三节点。
在本实施例中,电子设备接着可以通过当前位置信息以及目标位置信息确定的第一支路和第二支路,进一步确定第一支路到达第二支路依次经过的第三节点。其中,第三节点为主干线上的主节点。
在本实施例中,电子设备可以通过第一支路与主干线的交点作为参考,并通过第一支路和第二支路之间的支路跨度(间隔数)确定第三节点。仍参考图4,上述示例中,当前位置为节点310处,目标位置为节点520处,所确定的第一支路和第二支路分别为标记为3、5的支路4003、4005,根据支路4003与主干线4006的交点节点3,以及支路4003、4005的跨度(5-3)=2,确定支路4003到达支路4005依次经过的第三节点为节点3、节点(3+1)……节点(3+前述跨度2),即节点3、节点4、节点5。
步骤204,确定依次经过第一节点、第三节点、第二节点的路径为待移动设备的移动路径。
在本实施例中,电子设备接着可以确定依次经过前述第一节点、第三节点、第二节点的路径为待移动设备的移动路径。即待移动设备的移动路径依次经过当前支路、主干线、目标支路。以前述示例为例,电子设备确定的待移动设备从节点310到节点520的移动路径为依次经过节点310、31、3、4、5、52、520的路径(图4中用加粗箭头表示的路径)。
本实施例以从标号较小的支路向支路标号较大的支路为例进行了说明,反之,若当前位置为节点520处,目标位置为310处,路径确定方法与上述示例类似。其中,不同的是,确定支路4005到达支路4003依次经过的第三节点为节点5、节点(5-1)……节点(5-前述跨度2),即节点5、节点4、节点3。在一些实现中,电子设备可以先判断当前支路与目标支路的标号大小,再确定第三节点,在此不再赘述。
本领域技术人员可以理解,当本实施例中的各节点以数组形式表示时,路径规划可以通过移动指针来实现。例如指针首先指向表示待移动设备的当前位置节点所在的第一支路的数组,并指向数组中存储当前位置节点的地址,接着在数组内依次移动指针至指向数组中的主节点的地址,然后移动指针跳过前述跨度数量的数组,指向表示目标位置节点所在的第二支路的数组中存储主节点的地址,接着在数组内依次移动指针至指向数组中的目标位置节点的地址。
值得说明的是,在本实施例中,虽然以包括多条支路和一条主干 线的道路环境进行详细说明,但是并不以此为限。例如,对于形势复杂的道路环境,可以细化为多个与本实施例中的道路环境相似的道路环境模块,每个道路环境模块适用本实施例的确定待移动设备移动路径的方法,多个道路环境模块间(将每个道路环境模块作为一个作业节点)也可以适用本实施例的确定待移动设备移动路径的方法。
作为一个应用场景,以图1所示的示例型架构100为例,终端设备101、102、103可以是物流领域的搬运机器人(如AGV),服务器104中预先存储有道路环境105,服务器104可以根据作业需求确定目标作业位置,并根据搬运机器人的当前作业状态(如是否在作业中、搬运货品数量等等)选择完成目标作业的终端设备作为待移动设备,对待移动设备执行本申请的确定设备移动路径的方法确定出待移动设备在道路环境105中的移动路径,并向待移动设备发送移动路径信息或移动指令。在另一个应用场景中,例如待移动设备可以是清洁类电子设备(如清扫机器人),清洁类电子设备中可以预先存储有道路环境,当接收到作业需求信息时,清洁类电子设备可以根据作业需求信息确定目标作业位置执行本申请的确定设备移动路径的方法确定出其在预先存储的道路环境中的移动路径,并根据所确定的移动路径进行移动。
本实施例的确定待移动设备的移动路径的方法,通过简化的道路环境,能根据待移动设备的当前位置和目标位置灵活确定移动路径,从而可以提高路径规划的有效性。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种确定设备移动路径的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于电子设备中。
如图5所示,本实施例所述的确定设备移动路径的装置500包括:获取模块501、支路节点确定模块502、主干线节点确定模块503和移动路径确定模块504。其中,获取模块501可以配置用于获取待移动设备的当前位置信息及目标位置信息;支路节点确定模块502可以配置用于通过当前位置信息确定待移动设备的当前位置所在的第一支路以及从当前位置到达主干线依次经过的第一节点,通过目标位置信息确定待移动设备的目标位置所在的第二支路以及从主干线到达目标位 置至少依次经过的第二节点;主干线节点确定模块503可以配置用于通过当前位置信息以及目标位置信息确定第一支路到达第二支路依次经过的第三节点,其中,第三节点为主干线上的主节点,主节点包括各条支路与主干线相交的节点;移动路径确定模块504可以配置用于确定依次经过第一节点、第三节点、第二节点的路径为待移动设备的移动路径。
在本实施例的一些可选实现方式中,各条支路上的节点的节点标记的位数从主节点向末端呈依次递增排列,且后一标记的高位与前一标记相同。在一些实现中,支路节点确定模块还可以包括第一支路节点确定单元(未示出)和第二支路节点确定单元(未示出)。当当前位置信息包括当前节点标记时,第一支路节点确定单元可以通过当前节点标记最高位确定第一支路;按照位数递减依次从当前节点标记的高位取值,确定第一节点。当目标位置信息包括目标节点标记时,第二支路节点确定单元可以通过目标节点标记最高位确定第二支路;按照位数递增依次从目标节点标记的高位取值,确定第二节点。
在本实施例的一些可选实现方式中,每条支路上的节点以数组形式存储。例如,每条支路上的节点标记存储为一个数组。
在本实施例的一些可选实现方式中,主干线上的各节点以数组形式存储。
值得说明的是,确定设备移动路径的装置500中记载的诸模块或单元与参考图2描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于确定设备移动路径的装置500及其中包含的模块或单元,在此不再赘述。
本领域技术人员可以理解,上述确定设备移动路径的装置500还包括一些其他公知结构,例如处理器、存储器等,为了不必要地模糊本公开的实施例,这些公知的结构在图5中未示出。
下面参考图6,其示出了适于用来实现本申请实施例的电子设备的计算机系统600的结构示意图。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分508 加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件可以连接至I/O接口605:包括诸如键盘、按钮等之类的输入部分606;包括诸如扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网、射频信号等的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、支路节点确定模块、主干线节点确定模块和移动路径确定模块。其中这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块还可以被描述为“配置用于获取待移动设备的当前位置信息及目标位置信息的模块”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,当所述程序被一个或者一个以上的处理器执行时,使得所述设备:获取待 移动设备的当前位置信息及目标位置信息;通过所述当前位置信息确定所述待移动设备的当前位置所在的第一支路以及从当前位置到达主干线依次经过的第一节点,通过所述目标位置信息确定所述待移动设备的目标位置所在的第二支路以及从主干线到达目标位置至少依次经过的第二节点;通过所述当前位置信息以及所述目标位置信息确定所述第一支路到达所述第二支路依次经过的第三节点,其中,所述第三节点为主干线上的主节点,所述主节点包括各条支路与所述主干线相交的节点;确定依次经过所述第一节点、所述第三节点、所述第二节点的路径为所述待移动设备的移动路径。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

  1. 一种确定设备移动路径的方法,其特征在于,所述方法包括:
    获取待移动设备的当前位置信息及目标位置信息;
    通过所述当前位置信息确定所述待移动设备的当前位置所在的第一支路以及从当前位置到达主干线依次经过的第一节点,通过所述目标位置信息确定所述待移动设备的目标位置所在的第二支路以及从主干线到达目标位置至少依次经过的第二节点;
    通过所述当前位置信息以及所述目标位置信息确定所述第一支路到达所述第二支路依次经过的第三节点,其中,所述第三节点为主干线上的主节点,所述主节点包括各条支路与所述主干线相交的节点;
    确定依次经过所述第一节点、所述第三节点、所述第二节点的路径为所述待移动设备的移动路径。
  2. 根据权利要求1所述的方法,其特征在于,各条支路上的节点的节点标记的位数从所述主节点向末端呈依次递增排列,且后一标记的高位与前一标记相同。
  3. 根据权利要求2所述的方法,其特征在于,所述当前位置信息包括当前节点标记,所述目标位置信息包括目标节点标记;以及
    所述通过所述当前位置信息确定所述待移动设备的当前位置所在的第一支路以及当前位置到达主干线依次经过的第一节点包括:
    通过所述当前节点标记最高位确定所述第一支路;
    按照位数递减依次从所述当前节点标记的高位取值,确定所述第一节点;以及
    所述通过所述目标位置信息确定所述待移动设备的目标位置所在的第二支路以及主干线到达目标位置至少依次经过的第二节点包括:
    通过所述目标节点标记最高位确定所述第二支路;
    按照位数递增依次从所述目标节点标记的高位取值,确定所述第二节点。
  4. 根据权利要求1-3中任一所述的方法,其特征在于,每条支路上的节点以数组形式存储。
  5. 根据权利要求4所述的方法,其特征在于,所述主干线上的各节点以数组形式存储。
  6. 一种确定设备移动路径的装置,其特征在于,所述装置包括:
    获取模块,配置用于获取待移动设备的当前位置信息及目标位置信息;
    支路节点确定模块,配置用于通过所述当前位置信息确定所述待移动设备的当前位置所在的第一支路以及从当前位置到达主干线依次经过的第一节点,通过所述目标位置信息确定所述待移动设备的目标位置所在的第二支路以及从主干线到达目标位置至少依次经过的第二节点;
    主干线节点确定模块,配置用于通过所述当前位置信息以及所述目标位置信息确定所述第一支路到达所述第二支路依次经过的第三节点,其中,所述第三节点为主干线上的主节点,所述主节点包括各条支路与所述主干线相交的节点;
    移动路径确定模块,配置用于确定依次经过所述第一节点、所述第三节点、所述第二节点的路径为所述待移动设备的移动路径。
  7. 根据权利要求6所述的装置,其特征在于,各条支路上的节点的节点标记的位数从所述主节点向末端呈依次递增排列,且后一标记的高位与前一标记相同。
  8. 根据权利要求7所述的装置,其特征在于,所述当前位置信息包括当前节点标记,所述目标位置信息包括目标节点标记;以及
    所述支路节点确定模块包括第一支路节点确定单元和第二支路节点确定单元,其中:
    所述第一支路节点确定单元配置用于:通过所述当前节点标记最高位确定所述第一支路;按照位数递减依次从所述当前节点标记的高位取值,确定所述第一节点;以及
    所述第二支路节点确定单元配置用于:通过所述目标节点标记最高位确定所述第二支路;按照位数递增依次从所述目标节点标记的高位取值,确定所述第二节点。
  9. 根据权利要求6-8中任一所述的装置,其特征在于,每条支路上的节点以数组形式存储。
  10. 根据权利要求9所述的装置,其特征在于,所述主干线上的各节点以数组形式存储。
  11. 一种设备,包括:
    处理器;和
    存储器,
    所述存储器中存储有能够被所述处理器执行的计算机可读指令,在所述计算机可读指令被执行时,所述处理器执行如权利要求1-5中任一项所述的方法。
  12. 一种非易失性计算机存储介质,所述计算机存储介质存储有能够被处理器执行的计算机可读指令,当所述计算机可读指令被处理器执行时,所述处理器执行如权利要求1-5中任一项所述的方法。
PCT/CN2017/105518 2016-10-26 2017-10-10 确定设备移动路径的方法和装置 Ceased WO2018077024A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610946903.8 2016-10-26
CN201610946903.8A CN106547272B (zh) 2016-10-26 2016-10-26 确定设备移动路径的方法和装置

Publications (1)

Publication Number Publication Date
WO2018077024A1 true WO2018077024A1 (zh) 2018-05-03

Family

ID=58393844

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/105518 Ceased WO2018077024A1 (zh) 2016-10-26 2017-10-10 确定设备移动路径的方法和装置

Country Status (2)

Country Link
CN (1) CN106547272B (zh)
WO (1) WO2018077024A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597263A (zh) * 2019-09-25 2019-12-20 福州大学 一种无人餐厅自动送餐路径规划方法
CN111062075A (zh) * 2019-12-11 2020-04-24 三一筑工科技有限公司 一种梁柱一比箍的模型生成方法、装置及计算设备

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106547272B (zh) * 2016-10-26 2019-12-03 北京京东尚科信息技术有限公司 确定设备移动路径的方法和装置
CN107677285B (zh) * 2017-04-11 2019-05-28 平安科技(深圳)有限公司 机器人的路径规划系统及方法
CN108820769B (zh) * 2018-07-23 2019-11-29 宁夏力成电气集团有限公司 一种基于物流装置定位控制的系统及方法
CN110274604B (zh) * 2018-11-06 2021-11-02 北京京东乾石科技有限公司 用于生成路径信息的方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040008895A1 (en) * 2000-07-07 2004-01-15 Matthias Hessling Method and system for encoding, decoding and/or for transmitting locating information
CN101694749A (zh) * 2009-08-25 2010-04-14 北京世纪高通科技有限公司 一种路径推测方法及装置
JP4998379B2 (ja) * 2008-06-13 2012-08-15 株式会社デンソー ナビゲーション装置およびナビゲーション装置用のプログラム
CN104422460A (zh) * 2013-09-06 2015-03-18 上海博泰悦臻电子设备制造有限公司 一种导航方法及导航装置
CN106547272A (zh) * 2016-10-26 2017-03-29 北京京东尚科信息技术有限公司 确定设备移动路径的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103134506A (zh) * 2011-11-24 2013-06-05 北京千橡网景科技发展有限公司 路径导航方法和装置
CN103427902A (zh) * 2013-04-09 2013-12-04 北京半导体照明科技促进中心 利用可见光传输信息的方法、装置和系统以及光源
CN103292805B (zh) * 2013-05-28 2016-05-04 武汉理工大学 一种室内导航系统及其室内导航方法
CN103336527A (zh) * 2013-06-07 2013-10-02 湖南科技学院 节点编队方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040008895A1 (en) * 2000-07-07 2004-01-15 Matthias Hessling Method and system for encoding, decoding and/or for transmitting locating information
JP4998379B2 (ja) * 2008-06-13 2012-08-15 株式会社デンソー ナビゲーション装置およびナビゲーション装置用のプログラム
CN101694749A (zh) * 2009-08-25 2010-04-14 北京世纪高通科技有限公司 一种路径推测方法及装置
CN104422460A (zh) * 2013-09-06 2015-03-18 上海博泰悦臻电子设备制造有限公司 一种导航方法及导航装置
CN106547272A (zh) * 2016-10-26 2017-03-29 北京京东尚科信息技术有限公司 确定设备移动路径的方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597263A (zh) * 2019-09-25 2019-12-20 福州大学 一种无人餐厅自动送餐路径规划方法
CN110597263B (zh) * 2019-09-25 2021-11-26 福州大学 一种无人餐厅自动送餐路径规划方法
CN111062075A (zh) * 2019-12-11 2020-04-24 三一筑工科技有限公司 一种梁柱一比箍的模型生成方法、装置及计算设备

Also Published As

Publication number Publication date
CN106547272B (zh) 2019-12-03
CN106547272A (zh) 2017-03-29

Similar Documents

Publication Publication Date Title
WO2018077024A1 (zh) 确定设备移动路径的方法和装置
US20220374018A1 (en) Method and apparatus for controlling automated guided vehicle
CN110858075B (zh) 一种移动机器人跨区域方法、装置、调度系统
US8880340B2 (en) Augmented mobile platform localization
US9396640B2 (en) RFID active child tracker
CN109000647B (zh) 机器人室内导航方法、装置、系统、设备和介质
CN110989633A (zh) 一种机器人控制方法、装置、计算机设备及存储介质
AU2017345227B2 (en) Method and system for generating navigation data transporting object
CN112197763B (zh) 地图构建方法、装置、设备和存储介质
CN110162058A (zh) Agv规划方法及装置
CN113009908A (zh) 一种无人设备的运动控制方法、装置、设备及存储介质
US20220122283A1 (en) Decentralized location determination systems and methods
CN106774393A (zh) 一种任务进度计算方法、装置及无人机
KR101401311B1 (ko) 복수의 이동체의 경로를 계획하는 장치 및 방법
CN111126536A (zh) 储位点信息生成方法、设备及存储介质
CN115293678A (zh) 任务处理方法、电子设备和计算机可读介质
CN110659752A (zh) 用于确定移动路径的方法和装置
CN113778073A (zh) 应用于室内场景的机器人行驶方法、装置以及系统
EP3758324A1 (en) Method for pushing information, method for controlling presentation of content, and apparatuses therefor
CN110377019B (zh) 一种路由生成方法和装置
CN118056232A (zh) 管理系统及管理方法
CN114863300A (zh) 一种最短路径生成方法及装置
JP6305612B1 (ja) 情報処理装置、および情報処理方法、プログラム
CN113642742A (zh) 拣货任务组合的方法和装置
JP7111159B2 (ja) 情報共有装置、情報共有方法および情報共有プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17865102

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC , EPO FORM 1205A DATED 14.08.2019.

122 Ep: pct application non-entry in european phase

Ref document number: 17865102

Country of ref document: EP

Kind code of ref document: A1