CN111781919A - Driving method and device for multiple automatic driving devices to share map - Google Patents

Driving method and device for multiple automatic driving devices to share map Download PDF

Info

Publication number
CN111781919A
CN111781919A CN201910293038.5A CN201910293038A CN111781919A CN 111781919 A CN111781919 A CN 111781919A CN 201910293038 A CN201910293038 A CN 201910293038A CN 111781919 A CN111781919 A CN 111781919A
Authority
CN
China
Prior art keywords
code
point
axis
code point
range
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.)
Pending
Application number
CN201910293038.5A
Other languages
Chinese (zh)
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 Qianshi 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
Priority to CN201910293038.5A priority Critical patent/CN111781919A/en
Publication of CN111781919A publication Critical patent/CN111781919A/en
Pending 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/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4189Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the transport system
    • G05B19/41895Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the transport system using automatic guided vehicles [AGV]
    • 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/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The invention discloses a driving method and a driving device for multiple automatic driving devices to share a map, and relates to the technical field of computers. One embodiment of the method comprises: receiving a lock point request of each automatic driving device; determining a first lock point range corresponding to a first driving code point of each automatic driving device and a second lock point range corresponding to a second driving code point according to the unit driving length of each automatic driving device; preempting each code point in a first lock point range and a second lock point range of each dynamic driving device; after successfully seizing all code points in the first lock point range and the second lock point range of the automatic driving equipment, all the code points are locked, and a driving instruction from the first driving code point to the second driving code point of the automatic driving equipment is issued to the automatic driving equipment. According to the embodiment, different types of automatic driving equipment can share the map for driving, so that the cooperative work among the different types of automatic driving equipment is realized, and the automation degree is improved.

Description

Driving method and device for multiple automatic driving devices to share map
Technical Field
The invention relates to the technical field of computers, in particular to a driving method and a driving device for multiple automatic driving devices to share a map.
Background
Along with the rapid development of the fields of electronic commerce and the like in the modern society, the size of an e-commerce warehouse is larger and larger, and a highly automated unmanned warehouse is more and more appeared. At present, maps in an unmanned warehouse adopt a paving mode of equal-interval ground codes, so that automatic traveling equipment of the same type can only be used, and when an AGV (automatic guided vehicle) is used as an example, the AGV and an AGV are used for carrying, and the AGV travel according to different code intervals, the two types of AGV cannot use the same map to cooperatively operate, and therefore the automation degree is seriously influenced.
In the process of implementing the invention, the inventor finds that at least the following problems exist in the prior art:
the different types of automatic driving equipment cannot share the map for driving, so that the cooperative work among the different types of equipment cannot be realized, and the automation degree is seriously influenced.
Disclosure of Invention
In view of this, embodiments of the present invention provide a driving method and apparatus for sharing a map by multiple automatic driving devices, so that different types of automatic driving devices can share the map for driving, thereby implementing cooperative work among the different types of automatic driving devices, and improving the degree of automation.
To achieve the above object, according to an aspect of an embodiment of the present invention, there is provided a driving method in which a map is shared by a plurality of automatic driving apparatuses.
A travel method in which a map is shared by a plurality of automatic travel apparatuses, comprising: receiving a locking point request of each automatic driving device, wherein the locking point request of each automatic driving device is used for requesting to lock a first driving code point and a second driving code point of the automatic driving device; determining a first lock point range corresponding to a first driving code point of each automatic driving device and a second lock point range corresponding to a second driving code point according to the unit driving length of each automatic driving device, wherein the unit driving length is the length of one-step driving of the automatic driving device; preempting each code point in the first lock point range and the second lock point range of each respective dynamic driving device in a code point preempting mode; after successfully seizing all code points in the first lock point range and the second lock point range of the automatic driving equipment, all the code points are locked, and a driving instruction from the first driving code point to the second driving code point of the automatic driving equipment is issued to the automatic driving equipment.
Optionally, the step of determining, according to the unit travel length of each mobile travel device, a first lock point range corresponding to the first travel code point and a second lock point range corresponding to the second travel code point of each mobile travel device includes: for the automatic running equipment with the unit running length as the minimum code distance, determining a first lock point range corresponding to a first running code point of the automatic running equipment as the first running code point, and determining a second lock point range corresponding to a second running code point of the automatic running equipment as the second running code point; for the automatic driving equipment with the unit driving length being the non-minimum code distance, determining a first locking point range corresponding to a first driving code point and a second locking point range corresponding to a second driving code point by the following method: calculating an x-axis range code point, a y-axis range code point and a diagonal range code point corresponding to the target code point by using a code point range calculation rule; and determining a locking point range corresponding to the target code point according to the x-axis range code point, the y-axis range code point and the diagonal range code point, wherein the target code point represents any one of the first running code point and the second running code point.
Optionally, the step of calculating the x-axis range code point, the y-axis range code point and the diagonal range code point corresponding to the target code point by using the code point range calculation rule includes: segmenting the code of the target code point to obtain an x-axis code and a y-axis code of the target code point; determining code points satisfying the following conditions as the code points of the x-axis range: the y-axis code of the code point is the same as the y-axis code of the target code point, and the x-axis code of the code point is greater than the difference between the x-axis code of the target code point and the code point range interval and less than the sum of the x-axis code of the target code point and the code point range interval; determining code points satisfying the following conditions as the y-axis range code points: the x-axis code of the code point is the same as the x-axis code of the target code point, and the y-axis code of the code point is greater than the difference between the y-axis code of the target code point and the code point range interval and less than the sum of the y-axis code of the target code point and the code point range interval; determining code points satisfying the following conditions as the code points of the diagonal range: the code point is the same as a first coordinate axis code of a first coordinate axis range code point, and a second coordinate axis code of the code point is larger than the difference between a second coordinate axis code of the target code point and the code point range interval and smaller than the sum of the second coordinate axis code of the target code point and the code point range interval, wherein the first coordinate axis is a y axis and the second coordinate axis is an x axis, or the first coordinate axis is an x axis and the second coordinate axis is a y axis; the code point range interval is a code distance between the first travel code point and the second travel code point.
Optionally, the code of the target code point is segmented to obtain an x-axis code and a y-axis code of the target code point as follows: rounding the ratio of the code of the target code point to a preset value to obtain an x-axis code of the target code point; and dividing the code of the target code point by the preset value to obtain a remainder, and obtaining a y-axis code of the target code point, wherein the preset value is determined according to the code length of the target code point.
Optionally, preempting the code points one by one according to a preset sequence.
Optionally, after successfully seizing all code points in the first lock point range and the second lock point range of an automatic traveling device, the step of locking all code points comprises: and storing the all code points successfully preempted and the information of the automatic driving equipment in a cache in an associated manner.
Optionally, after an automatic traveling device reaches its second traveling code point from its first traveling code point according to the issued traveling command, code points within the first lock point range of the automatic traveling device but not within its second lock point range are deleted from the cache.
According to another aspect of the embodiments of the present invention, there is provided a travel apparatus in which a map is shared by a plurality of automatic travel devices.
A travel apparatus for sharing a map by a plurality of automatic travel devices, comprising: the system comprises a locking point request receiving module, a locking point request receiving module and a locking point locking module, wherein the locking point request receiving module is used for receiving locking point requests of respective automatic driving equipment, and the locking point request of each automatic driving equipment is used for requesting to lock a first driving code point and a second driving code point of the automatic driving equipment; the lock point range determining module is used for determining a first lock point range corresponding to a first running code point of each automatic running device and a second lock point range corresponding to a second running code point according to the unit running length of each automatic running device, wherein the unit running length is the length of one step of running of the automatic running device; a code point seizing module, configured to seize, in a code point seizing manner, each code point within the first lock point range and the second lock point range of each respective mobile driving device; and the running instruction issuing module is used for locking all code points in a first lock point range and a second lock point range of the automatic running equipment after the code points are successfully occupied, and issuing a running instruction from the first running code point of the automatic running equipment to the second running code point of the automatic running equipment to the automatic running equipment.
Optionally, the lock point range determining module is further configured to: for the automatic running equipment with the unit running length as the minimum code distance, determining a first lock point range corresponding to a first running code point of the automatic running equipment as the first running code point, and determining a second lock point range corresponding to a second running code point of the automatic running equipment as the second running code point; for the automatic driving equipment with the unit driving length being the non-minimum code distance, determining a first locking point range corresponding to a first driving code point and a second locking point range corresponding to a second driving code point by the following method: calculating an x-axis range code point, a y-axis range code point and a diagonal range code point corresponding to the target code point by using a code point range calculation rule; and determining a locking point range corresponding to the target code point according to the x-axis range code point, the y-axis range code point and the diagonal range code point, wherein the target code point represents any one of the first running code point and the second running code point.
Optionally, the lock point range determining module includes a code point range calculating submodule, configured to: segmenting the code of the target code point to obtain an x-axis code and a y-axis code of the target code point; determining code points satisfying the following conditions as the code points of the x-axis range: the y-axis code of the code point is the same as the y-axis code of the target code point, and the x-axis code of the code point is greater than the difference between the x-axis code of the target code point and the code point range interval and less than the sum of the x-axis code of the target code point and the code point range interval; determining code points satisfying the following conditions as the y-axis range code points: the x-axis code of the code point is the same as the x-axis code of the target code point, and the y-axis code of the code point is greater than the difference between the y-axis code of the target code point and the code point range interval and less than the sum of the y-axis code of the target code point and the code point range interval; determining code points satisfying the following conditions as the code points of the diagonal range: the code point is the same as a first coordinate axis code of a first coordinate axis range code point, and a second coordinate axis code of the code point is larger than the difference between a second coordinate axis code of the target code point and the code point range interval and smaller than the sum of the second coordinate axis code of the target code point and the code point range interval, wherein the first coordinate axis is a y axis and the second coordinate axis is an x axis, or the first coordinate axis is an x axis and the second coordinate axis is a y axis; the code point range interval is a code distance between the first travel code point and the second travel code point.
Optionally, the code point range calculating sub-module includes a code splitting unit, configured to: rounding the ratio of the code of the target code point to a preset value to obtain an x-axis code of the target code point; and dividing the code of the target code point by the preset value to obtain a remainder, and obtaining a y-axis code of the target code point, wherein the preset value is determined according to the code length of the target code point.
Optionally, the code point preemption module preempts the code points one by one according to a preset sequence.
Optionally, the driving instruction issuing module includes a storage submodule configured to: and storing the all code points successfully preempted and the information of the automatic driving equipment in a cache in an associated manner.
Optionally, the system further includes a code point deleting module, configured to: after an automatic driving device reaches a second driving code point of the automatic driving device from a first driving code point of the automatic driving device according to a transmitted driving instruction, code points within a first lock point range of the automatic driving device but not within a second lock point range of the automatic driving device are deleted from the cache.
According to yet another aspect of an embodiment of the present invention, an electronic device is provided.
An electronic device, comprising: one or more processors; a memory for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement a driving method of a map shared by a plurality of automatic driving apparatuses provided by the present invention.
According to yet another aspect of an embodiment of the present invention, a computer-readable medium is provided.
A computer-readable medium on which a computer program is stored, which when executed by a processor, implements a travel method for sharing a map by a plurality of automatic travel apparatuses provided by the present invention.
One embodiment of the above invention has the following advantages or benefits: determining a first lock point range corresponding to a first driving code point of each dynamic driving device and a second lock point range corresponding to a second driving code point according to the unit driving length of each dynamic driving device, and preempting each code point in the first lock point range and the second lock point range of each dynamic driving device in a code point preempting mode; after successfully seizing all code points in the first lock point range and the second lock point range of the automatic driving equipment, all the code points are locked, and a driving instruction from the first driving code point to the second driving code point of the automatic driving equipment is issued to the automatic driving equipment. The automatic driving equipment of different types can drive on the common map, so that the cooperative work among the automatic driving equipment of different types is realized, and the automation degree is improved.
Further effects of the above-mentioned non-conventional alternatives will be described below in connection with the embodiments.
Drawings
The drawings are included to provide a better understanding of the invention and are not to be construed as unduly limiting the invention. Wherein:
fig. 1 is a schematic view of main steps of a travel method in which a map is shared by a plurality of automatic travel apparatuses according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of map code points for multiple AGVs traveling at different code spacings, according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of a locking point of a handling AGV according to one embodiment of the present invention;
FIG. 4 is a schematic diagram of the locking point of a sorting AGV according to another embodiment of the present invention;
FIG. 5 is a schematic diagram of a travel lock point for transporting an AGV according to yet another embodiment of the present invention;
FIG. 6 is a schematic diagram of a locking point for a handling AGV to reach code point 100200100200 in accordance with yet another embodiment of the present invention;
FIG. 7 is a schematic view of a travel lock point of a sorting AGV according to yet another embodiment of the present invention;
fig. 8 is a main block schematic diagram of a travel apparatus in which multiple automatic travel devices share a map according to an embodiment of the present invention;
FIG. 9 is an exemplary system architecture diagram in which embodiments of the present invention may be employed;
fig. 10 is a schematic block diagram of a computer system suitable for use in implementing a terminal device or server according to an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present invention are described below with reference to the accompanying drawings, in which various details of embodiments of the invention are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
As will be appreciated by one skilled in the art, embodiments of the present invention may be embodied as a system, apparatus, device, method, or computer program product. Accordingly, the present disclosure may be embodied in the form of: entirely hardware, entirely software (including firmware, resident software, micro-code, etc.), or a combination of hardware and software.
Fig. 1 is a schematic view of main steps of a travel method in which a map is shared by a plurality of automatic travel apparatuses according to an embodiment of the present invention.
As shown in fig. 1, the driving method for sharing a map by a plurality of automatic driving apparatuses according to the embodiment of the present invention mainly includes steps S101 to S104 as follows.
Step S101: and receiving a locking point request of each automatic driving device, wherein the locking point request of each automatic driving device is used for requesting to lock the first driving code point and the second driving code point of the automatic driving device.
Automatic traveling devices such as AGVs, robots, and the like.
The first and second travel waypoints of an automatic travel device are waypoints on a map to be traveled by the automatic travel device, i.e., waypoints to be subsequently reached by the automatic travel device, wherein the second travel waypoint is a waypoint to be reached by the automatic travel device after the first travel waypoint.
The automatic driving equipment drives in the map according to the landmark two-dimensional code on the map, and the landmark two-dimensional code is a two-dimensional code technology and can be used for the automatic driving equipment to carry out constant speed orientation. The landmark two-dimensional code can be called ground code for short, and each ground code is a code point on the map.
The spacing distance between two code points is the code spacing distance between the two code points, and the spacing distance between two adjacent code points on the map is called the minimum code spacing. The separation distance between two code points refers to the distance actually represented from one code point to the other. Each ground code is parsed to obtain a string of codes, which are codes of the ground code, or codes of the code point.
Step S102: and determining a first locking point range corresponding to the first driving code point of each dynamic driving device and a second locking point range corresponding to the second driving code point according to the unit driving length of each dynamic driving device.
The unit travel length of the automatic travel apparatus is a length over which the automatic travel apparatus travels one step, that is, a minimum movement length of the automatic travel apparatus. Taking the AGV as an example, suppose to divide into letter sorting AGV and transport AGV, letter sorting AGV is the AGV that carries out letter sorting task, transport AGV is the AGV that carries out transport task, the minimum code interval is assumed to be 50cm (centimetre), letter sorting AGV (the AGV that carries out letter sorting task) traveles according to minimum code interval, 50cm travel at every step promptly, its unit length of traveling is 50cm, transport AGV travels according to non-minimum code interval, for example, it travels 1m (meter) at every step, then the unit length of traveling of transporting AGV is 1 m.
The unit travel length of the automatic travel device is related to the size of the automatic travel device, and if the automatic travel device with a large size does not satisfy the condition of traveling according to the minimum code pitch, the automatic travel device is required to travel according to the non-minimum code pitch so as not to collide with other automatic travel devices during steering.
Further, the automatic traveling apparatuses having different unit traveling lengths travel using the same map, and the large-sized automatic traveling apparatus (large unit traveling length) occupies not only the traveling code point of its own but also other code points around the code point so as not to touch the small-sized automatic traveling apparatus (small unit traveling length) at the time of steering. Therefore, it is necessary to determine a first lock point range corresponding to the first travel code point and a second lock point range corresponding to the second travel code point of each mobile travel device according to the unit travel length of each mobile travel device. The code point in the first lock point range of the automatic traveling apparatus is a code point that needs to be locked to avoid collision with other automatic traveling apparatuses when the automatic traveling apparatus travels at the first travel code point. The same applies to code points in the second lock point range.
Step S102 may specifically include: for the automatic running equipment with the unit running length as the minimum code distance, determining a first lock point range corresponding to a first running code point of the automatic running equipment as the first running code point, and determining a second lock point range corresponding to a second running code point of the automatic running equipment as the second running code point;
for the automatic driving equipment with the unit driving length being the non-minimum code distance, determining a first locking point range corresponding to a first driving code point and a second locking point range corresponding to a second driving code point by the following method: calculating an x-axis range code point, a y-axis range code point and a diagonal range code point corresponding to the target code point by using a code point range calculation rule; and determining a locking point range corresponding to the target code point according to the x-axis range code point, the y-axis range code point and the diagonal range code point, wherein the target code point represents any one of the first driving code point and the second driving code point. Both the first lock point range and the second lock point range can be determined by determining the lock point range corresponding to the target code point as described above. It should be noted that the code point in the lock point range corresponding to the target code point includes the target code point itself.
The step of calculating the x-axis range code point, the y-axis range code point and the diagonal range code point corresponding to the target code point by using the code point range calculation rule may specifically include:
the code of the target code point is segmented to obtain the x-axis code and the y-axis code of the target code point, wherein the code of the target code point can be segmented in the following modes: rounding the ratio of the code of the target code point to a preset value to obtain an x-axis code of the target code point; and dividing the code of the target code point by a preset value to obtain a remainder to obtain a y-axis code of the target code point. The preset value is determined according to the coding length of the target code point, specifically, the coding length of the target code point is divided by 2, the quotient is assumed to be K, and the preset value is composed of 1 and K0 s. For example, the code of the code point with 12 bits is segmented, and assuming that the code is 100100100200 and the preset value is 1000000, the rounding of 100100100200/1000000 is calculated to be 100100 in the above manner; 100100100200% 1000000 is 100200, so that 100100100200 is divided into two strings of 6-bit codes 100100 and 100200, and the two 6-bit codes can be regarded as codes corresponding to the horizontal and vertical coordinates of the code point, which are respectively referred to as x-axis code and y-axis code of the code point;
the x-axis range code point, the y-axis range code point and the diagonal range code point corresponding to the target code point are respectively code points in a certain range on the left side and the right side in the transverse direction, code points in a certain range on the lower side in the longitudinal direction and code points in a certain range in the diagonal direction (upper left, lower left, upper right and lower right). The specific determination method of the x-axis range code point, the y-axis range code point and the diagonal range code point is as follows:
determining code points meeting the following conditions as x-axis range code points corresponding to the target code points: the y-axis code of the code point is the same as the y-axis code of the target code point, and the x-axis code of the code point is greater than the difference between the x-axis code of the target code point and the code point range interval and less than the sum of the x-axis code of the target code point and the code point range interval;
determining code points meeting the following conditions as y-axis range code points corresponding to the target code points: the x-axis code of the code point is the same as the x-axis code of the target code point, and the y-axis code of the code point is greater than the difference between the y-axis code of the target code point and the code point range interval and less than the sum of the y-axis code of the target code point and the code point range interval;
determining code points meeting the following conditions as diagonal range code points corresponding to the target code point: the code point is the same as a first coordinate axis code of a first coordinate axis range code point, a second coordinate axis code of the code point is larger than a difference between a second coordinate axis code of the target code point and a code point range interval and is smaller than a sum of the second coordinate axis code of the target code point and the code point range interval, wherein the first coordinate axis is a y axis and the second coordinate axis is an x axis, or the first coordinate axis is the x axis and the second coordinate axis is the y axis.
The code point range interval is a code distance between the first travel code point and the second travel code point, and can be calculated by using the code of the first travel code point and the code of the second travel code point. Specifically, according to the method for splitting the codes of the code points, the codes of the first travel code points and the codes of the second travel code points are split to obtain the x-axis codes and the y-axis codes of the first travel code points and the second travel code points, the difference of the x-axis codes of the two travel code points and the difference of the y-axis codes are respectively compared, a nonzero difference value is obtained through calculation, and the range interval of the code points is the absolute value of the difference value.
For example, the code of the first travel code point is 100100100200, the code of the second travel code point is 100200100200, the x-axis codes of the two travel code points are 100100 and 100200 respectively, and the y-axis codes are 100200,100200 respectively, wherein the y-axis codes are the same, the difference between the x-axis codes is 100, that is, the absolute value of the difference is 100, and the code point range interval is 100.
Step S103: and preempting each code point in the first lock point range and the second lock point range of each dynamic driving device in a code point preempting mode.
And a first locking point range corresponding to the first driving code point of the automatic driving equipment and a second locking point range corresponding to the second driving code point are referred to as the first locking point range and the second locking point range of the automatic driving equipment for short.
The code points can be preempted one by one according to a preset sequence.
For example, when code points within the first lock point range are preempted, a total of 9 code points are assumed to include the first travel code point and the code points located above, below, to the left, to the right, and diagonally adjacent to the first travel code point. During preemption, the code points can be preempted one by one clockwise from the code point on the left of the first travel code point, namely, the code points in the directions of the upper left, the upper right, the left side, the first travel code point, the right side, the lower left, the lower right and the lower right of the first travel code point are preempted one by one.
The method comprises the steps that all code points in a first lock point range of the automatic driving equipment need to be preempted, and a driving instruction can be issued to the automatic driving equipment, if certain or some code points are not preempted successfully, the part of the code points which are preempted successfully are released, and then the code points are preempted again. Therefore, through the ordered preemption mode, after one automatic driving device successfully preempts the upper left code point, other automatic driving devices can not preempt other 8 code points except the upper left code point, so that the situation that all code points in the first lock point range cannot be preempted by the two automatic driving devices due to cross preemption is avoided.
Step S104: after successfully seizing all code points in the first lock point range and the second lock point range of the automatic driving equipment, all the code points are locked, and a driving instruction from the first driving code point to the second driving code point of the automatic driving equipment is issued to the automatic driving equipment.
All code points are locked, and all code points which are successfully preempted and the information of the automatic driving equipment are stored in a cache in an associated mode. Specifically, the entire code points may be stored in the cache in association with the information of the automatic traveling apparatus with the codes of the entire code points as keys and the information of the automatic traveling apparatus as values.
The cache of the embodiment of the present invention may be a distributed cache, such as a redis. The information of the automatic traveling apparatus is, for example, a serial number of the automatic traveling apparatus.
After an automatic driving device reaches a second driving code point from a first driving code point of the automatic driving device according to a transmitted driving instruction, code points which are within a first lock point range of the automatic driving device but not within a second lock point range of the automatic driving device are deleted from the buffer memory, so that code points which do not need to be occupied any more within the first lock point range are released, and other automatic driving devices can preempt the released code points. However, if there is a code point in the first lock point range and the code point is also in the second lock point range, the code point cannot be released in order to avoid the automatic driving equipment from touching other automatic driving equipment when the automatic driving equipment drives at the second driving code point.
The driving method of the map shared by multiple automatic driving devices, provided by the embodiment of the invention, can be used for an automatic unmanned warehouse and a scene that multiple AGVs share the map to drive, and can also be used for driving of multiple robots sharing the map or driving scenes of other multiple automatic driving devices sharing the map.
The ground codes with different code intervals are used in the same map area (for example, the transporting AGV travels according to the code interval of 1m, and the sorting AGV travels according to the code interval of 50 cm), and different locking point strategies are used to achieve the effect of cooperative work of various automatic devices.
Next, a travel method in which a plurality of automatic travel devices share a map according to an embodiment of the present invention will be described in detail, taking an example in which the automatic travel device is an AGV.
FIG. 2 is a schematic diagram of map code points for multiple AGVs traveling at different code spacings, according to an embodiment of the present invention.
The minimum code distance in the map shown in fig. 2 is 50cm, and two kinds of AGVs are assumed to run by using the code points of the map, namely, a sorting AGV and a transporting AGV, the sorting AGV runs according to the minimum code distance, namely, the unit running length is 50cm, and the transporting AGV runs according to the non-minimum code distance, namely, the unit running length is 1 m.
Grey code point is used for carrying the AGV and uses, and white code point is used for sorting the AGV and uses, and wherein letter sorting AGV also can use grey code point, but carries the AGV and can not use white code point. Because transport AGV automobile body is great, its length of traveling an automobile body arrives next grey yard point promptly, consequently it can stop at grey yard point, but can not stop at white yard point, and letter sorting AGV automobile body is less, and it can stop at grey yard point and white yard point.
And, when carrying the AGV and berthhing at grey yard point, occupy the white yard point around this grey yard point because of the great needs of automobile body to touch letter sorting AGV (the automobile body is less) when preventing the automobile body from turning to. Therefore, when determining a lock point range corresponding to a certain travel code point of the transport AGV, the lock point range needs to include code points around the travel code point, and a travel command for the transport AGV to travel to the travel code point can be issued after all the code points are locked.
As shown in fig. 3, fig. 3 is a schematic diagram of the locking points of the transporting AGV according to an embodiment of the present invention, and in fig. 3, the transporting AGV stops or travels at the gray code points in the dashed box, and all of the 9 code points in the dashed box need to be occupied.
And sorting AGV because the automobile body is less, when driving or berthhing at certain code point, only need occupy this code point, and need not occupy the code point around this code point. Fig. 4 shows a schematic diagram of a lock point of a sorting AGV according to an embodiment of the present invention, where the sorting AGV in fig. 4 stops (or runs) at a gray code point in a dashed frame, and the code point in the dashed frame needs to be occupied.
FIG. 5 is a schematic diagram of a travel lock point for transporting an AGV according to another embodiment of the present invention.
The method of transporting an AGV according to an embodiment of the present invention will be described with reference to fig. 5.
First, a lock point request for requesting locking of two code points, 100100100200 (corresponding to the first travel code point) and 100200100200 (corresponding to the second travel code point) in fig. 5, is received by the transporting AGV. The unit travel length of the AGV is a non-minimum code distance (1m), and the code point range interval is calculated to be 100 according to the method for calculating the code point range interval described above.
Respectively calculating an x-axis range code point, a y-axis range code point and a diagonal range code point corresponding to the 100100100200 code point and the 100200100200 code point:
slicing 100100100200 and 100200100200, respectively, to obtain x-axis codes as:
100100100200/1000000 round to 100100;
100200100200/1000000 round to 100200;
the y-axis codes obtained by slicing 100100100200 and 100200100200 respectively are:
100100100200% 1000000 is 100200;
100200100200% 1000000 is 100200;
respectively calculating an x-axis range code point, a y-axis range code point and a diagonal range code point corresponding to the 100100100200 code point and the 100200100200 code point, wherein:
calculating the x-axis range code points of the two code points (the y-axis code is unchanged, the x-axis code is greater than the difference between the x-axis code of the target code point and the code point range interval and is less than the sum of the x-axis code of the target code point and the code point range interval), namely:
100000100200<100100100200<100200100200;
100100100200<100200100200<100300100200;
obtaining the code points of the x-axis range of the two code points: 100150100200, 100250100200
Calculating y-axis range code points of the two code points (x-axis code is unchanged, y-axis code is greater than the difference between the y-axis code of the target code point and the code point range interval, and is less than the sum of the y-axis code of the target code point and the code point range interval), namely:
100100100100<100100100200<100100100300,
100200100100<100200100200<100200100300
obtaining the y-axis range code points of the two code points: 100100100150, 100100100250, 100200100150, 100200100250
Diagonal range code points of two code points: searching diagonal range code points according to the obtained y-axis range code points 100100100100150, 100100100100100100250, 100200100150 and 100200100250 by using the x-axis range code point calculation method, wherein the y-axis codes of the diagonal range code points and the y-axis range code points of the target code points are the same, and the x-axis code is larger than the difference between the x-axis code of the target code points and the code point range interval and smaller than the sum of the x-axis code of the target code points and the code point range interval,
obtaining the code points of the diagonal range of the two code points: 100150100150, 100150100250, 100250100150, 100250100250.
The target codepoints in this embodiment refer to 100100100200 and 100200100200 codepoints.
According to the x-axis range code point, the y-axis range code point and the diagonal range code point, the lock point ranges corresponding to 100100100200 and 100200100200 are determined, and it should be noted that the code point in the lock point range corresponding to each code point also includes the code point itself. The locking point range corresponding to 100100100200 is each code point in the dashed line box b, the locking point range corresponding to 100200100200 is each code point in the dashed line box c, and the total locking point range corresponding to 100100100200 and 100200100200 is each code point in the dashed line box a.
Through the code point preemption mode, preempt each code point in the above-mentioned lock point range of this transport AGV, can begin from code point 100100100250 above 100100100200 code point, preempt according to clockwise one by one, namely the order of preemption is 100100100100250, 100150100100100250, 100200100250, 100250100250, 100100100100100100100100100100100100100100100200, 100200100100200, 100100100100100100100100100150, 100200100100150, 100250100150. During preemption, it is determined whether each code point is in redis according to the preemption sequence, and if 12 code points are not in redis, 100150100200, 100250100200, 100100100100100100100100100100150, 100100100100100100100100100200100150, 100200100100100250, 100150100150100100150100100100100250, 100250100250, 100100100100100100200 and 100200100100200 are keys, and the AGV transport vehicle number is value, and the key is stored in redis, so that all the code points are locked, that is, all the code points in the dashed line frame a are locked. Then, a travel command is issued from 100100100200 to 100200100200 to the transporting AGV, and the travel path is shown by an arrow in fig. 5.
When the transport AGV reaches 100200100200 yard point, 100100100200 yard point and related lock point range data in redis deleted, which means that yard point in the lock point range corresponding to 100100100200 but not in the lock point range corresponding to 100200100200, i.e. 100100100100250 and 100100100100100150 data in redis deleted. Fig. 6 shows a schematic diagram of lock points when the transport AGB reaches 100200100200 in this embodiment, and each code point in the dashed box in fig. 6 is a lock point range when the transport AGB reaches 100200100200.
FIG. 7 is a schematic diagram of the travel lock point of a sorting AGV according to yet another embodiment of the present invention.
The sorting AGV needs lock points 100150100100 and 100200100100, and is different from the transporting AGV in that the unit travel length of the sorting AGV is the minimum code distance, the lock point range corresponding to 100150100100 is determined to be the 100150100100 code points, the lock point range corresponding to 100200100100 is the 100200100100 code points, and the total lock point ranges of 100150100100 and 100200100100 are the code points in the dashed line frame in fig. 7.
And judging whether the redis contains 100150100100 and 100200100100 data, if the two code point data are not in the redis, storing the two code points into the redis by taking 100150100100 and 100200100100 as keys and the AGV number as value, and locking the two code points.
Then, a travel command is issued for sorting AGVs from 100150100100 to 100200100100, the travel path being shown by the arrow in FIG. 7.
When the sorting AGV reaches 100200100100 yards, the 100150100100 yards of data in the redis are deleted.
It should be noted that, the AGV needs to lock all code points within the lock point range of the travel code point at a time, and if all code points cannot be locked, abandons the currently locked code point, and continues to perform preemption, for example, after the transport AGV of fig. 5 requests to lock 100100100200 and 100200100200, all code points within the lock point range corresponding to the lock points 100100100200 and 100200100200, that is, all code points in the dashed line box a of fig. 5, if all code points cannot be locked, abandons the locked code point, continues to perform preemption, and until after the full code points are preempted, the travel command from 100100100200 to 100200100200 cannot be issued. The sorting AGV of FIG. 7 is similar and will not be described in further detail.
In addition, in the running process of the AGV, a running instruction of a plurality of lock points (locked running code points) can be issued at one time, for example, a running instruction of 5 lock points can be issued at one time, in order to avoid the deceleration of the AGV during running, when the AGV does not run to the 5 th lock point, a running instruction of a subsequent lock point can be issued in advance, for example, when the AGV runs to the 3 rd lock point, running instructions of the 6 th and 7 th lock points are issued, so that the total amount of the currently non-running lock points is kept at 5, the total amount can be set to different values according to different automatic running equipment, for example, the transporting AGV can be set to 5 (since the speed of transporting the AGV is 1 m/s), and the sorting AGV can be set to 13 (since the speed of sorting AGV is 2 m/s).
Fig. 8 is a schematic block diagram of a main part of a travel apparatus in which a map is shared by a plurality of automatic travel devices according to an embodiment of the present invention.
The driving device 800 for sharing a map by a plurality of automatic driving apparatuses according to an embodiment of the present invention mainly includes: a lock point request receiving module 801, a lock point range determining module 802, a code point preemption module 803, and a driving instruction issuing module 804.
A lock point request receiving module 801, configured to receive a lock point request of each automatic traveling device, where the lock point request of each automatic traveling device is used to request locking of a first traveling code point and a second traveling code point of the automatic traveling device.
The lock point range determining module 802 is configured to determine, according to a unit travel length of each mobile travel device, a first lock point range corresponding to a first travel code point of each mobile travel device and a second lock point range corresponding to a second travel code point, where the unit travel length is a length of one step of travel of the automatic travel device.
The lock point range determination module 802 may be specifically configured to:
for the automatic running equipment with the unit running length as the minimum code distance, determining a first lock point range corresponding to a first running code point of the automatic running equipment as the first running code point, and determining a second lock point range corresponding to a second running code point of the automatic running equipment as the second running code point;
for the automatic driving equipment with the unit driving length being the non-minimum code distance, determining a first locking point range corresponding to a first driving code point and a second locking point range corresponding to a second driving code point by the following method: calculating an x-axis range code point, a y-axis range code point and a diagonal range code point corresponding to the target code point by using a code point range calculation rule; and determining a locking point range corresponding to the target code point according to the x-axis range code point, the y-axis range code point and the diagonal range code point, wherein the target code point represents any one of the first driving code point and the second driving code point.
The lock point range determination module 802 may include a code point range calculation sub-module to:
segmenting the code of the target code point to obtain an x-axis code and a y-axis code of the target code point;
determining code points satisfying the following conditions as x-axis range code points: the y-axis code of the code point is the same as the y-axis code of the target code point, and the x-axis code of the code point is greater than the difference between the x-axis code of the target code point and the code point range interval and less than the sum of the x-axis code of the target code point and the code point range interval;
determining code points satisfying the following conditions as y-axis range code points: the x-axis code of the code point is the same as the x-axis code of the target code point, and the y-axis code of the code point is greater than the difference between the y-axis code of the target code point and the code point range interval and less than the sum of the y-axis code of the target code point and the code point range interval;
determining code points satisfying the following conditions as diagonal range code points: the code point is the same as a first coordinate axis code of a first coordinate axis range code point, a second coordinate axis code of the code point is larger than the difference between a second coordinate axis code of the target code point and a code point range interval and is smaller than the sum of the second coordinate axis code of the target code point and the code point range interval, wherein the first coordinate axis is a y axis and the second coordinate axis is an x axis, or the first coordinate axis is the x axis and the second coordinate axis is the y axis;
the code point range interval is a code distance between the first travel code point and the second travel code point.
The code point range calculation submodule comprises a code segmentation unit, and can be used for: rounding the ratio of the code of the target code point to a preset value to obtain an x-axis code of the target code point; and dividing the code of the target code point by the preset value to obtain the remainder, thereby obtaining the y-axis code of the target code point, wherein the preset value is determined according to the code length of the target code point.
And a code point preemption module 803, configured to preempt, in a code point preemption manner, each code point in the first lock point range and the second lock point range of each active driving device. The code point preemption module 803 can preempt each code point one by one according to a preset sequence.
The driving instruction issuing module 804 is configured to lock all code points in a first lock point range and a second lock point range of an automatic driving device after successfully seizing all code points, and issue a driving instruction from the first driving code point of the automatic driving device to the second driving code point of the automatic driving device to the automatic driving device.
The driving instruction issuing module 804 may include a storage submodule configured to: and storing all code points successfully preempted and the information of the automatic driving equipment in a cache in an associated manner.
The driving apparatus 800 for sharing a map by multiple automatic driving devices further includes a code point deleting module for: after an automatic driving device reaches a second driving code point of the automatic driving device from a first driving code point of the automatic driving device according to a transmitted driving instruction, code points which are within a first lock point range of the automatic driving device but not within a second lock point range of the automatic driving device are deleted from the cache.
In addition, in the embodiment of the present invention, the specific implementation of the driving apparatus in which multiple automatic driving devices share a map is described in detail in the above driving method in which multiple automatic driving devices share a map, and therefore, the repeated description is omitted here.
Fig. 9 shows an exemplary system architecture 900 of a travel method in which a map is shared by multiple automatic travel devices or a travel apparatus in which a map is shared by multiple automatic travel devices, to which an embodiment of the present invention can be applied.
As shown in fig. 9, the system architecture 900 may include end devices 901, 902, 903, a network 904, and a server 905. Network 904 is the medium used to provide communication links between terminal devices 901, 902, 903 and server 905. Network 904 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
A user may use the terminal devices 901, 902, 903 to interact with a server 905 over a network 904 to receive or send messages and the like. The terminal devices 901, 902, 903 may have installed thereon various messenger client applications such as, for example only, a shopping-like application, a web browser application, a search-like application, an instant messaging tool, a mailbox client, social platform software, etc.
The terminal devices 901, 902, 903 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like.
The server 905 may be a server providing various services, such as a backend management server (for example only) providing support for websites browsed by users using the terminal devices 901, 902, 903. The backend management server may analyze and perform other processing on the received data such as the product information query request, and feed back a processing result (for example, product information — just an example) to the terminal device.
It should be noted that the driving method for sharing a map by multiple automatic driving apparatuses according to the embodiment of the present invention is generally executed by the server 905, and accordingly, the driving device for sharing a map by multiple automatic driving apparatuses is generally provided in the server 905.
It should be understood that the number of terminal devices, networks, and servers in fig. 9 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Referring now to FIG. 10, a block diagram of a computer system 1000 suitable for implementing a terminal device or server of an embodiment of the present application is shown. The terminal device or the server shown in fig. 10 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. 10, the computer system 1000 includes a Central Processing Unit (CPU)1001 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)1002 or a program loaded from a storage section 1008 into a Random Access Memory (RAM) 1003. In the RAM 1003, various programs and data necessary for the operation of the system 1000 are also stored. The CPU 1001, ROM 1002, and RAM 1003 are connected to each other via a bus 1004. An input/output (I/O) interface 1005 is also connected to bus 1004.
The following components are connected to the I/O interface 1005: an input section 1006 including a keyboard, a mouse, and the like; an output section 1007 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage portion 1008 including a hard disk and the like; and a communication section 1009 including a network interface card such as a LAN card, a modem, or the like. The communication section 1009 performs communication processing via a network such as the internet. The driver 1010 is also connected to the I/O interface 1005 as necessary. A removable medium 1011 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 1010 as necessary, so that a computer program read out therefrom is mounted into the storage section 1008 as necessary.
In particular, according to embodiments of the present disclosure, the processes described above with reference to the main step schematic may be implemented as computer software programs. For example, the disclosed embodiments of the invention 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 shown in the main step diagram. In such an embodiment, the computer program may be downloaded and installed from a network through the communication part 1009 and/or installed from the removable medium 1011. The computer program executes the above-described functions defined in the system of the present application when executed by the Central Processing Unit (CPU) 1001.
It should be noted that the computer readable medium shown in the present invention 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.
The principal step diagrams 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 main step diagrams 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 or block diagrams, and combinations of blocks in the block diagrams or block diagrams, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules described in the embodiments of the present invention may be implemented by software or hardware. The described modules may also be provided in a processor, which may be described as: a processor comprises a lock point request receiving module, a lock point range determining module, a code point preempting module and a running instruction issuing module. The names of these modules do not in some cases form a limitation on the modules themselves, and for example, the lock point request receiving module may also be described as a "module for receiving a lock point request of each autonomous driving apparatus".
As another aspect, the present invention also provides a computer-readable medium that may be contained in the apparatus described in the above embodiments; or may be separate and not incorporated into the device. The computer readable medium carries one or more programs which, when executed by a device, cause the device to comprise: receiving a locking point request of each automatic driving device, wherein the locking point request of each automatic driving device is used for requesting to lock a first driving code point and a second driving code point of the automatic driving device; determining a first lock point range corresponding to a first driving code point of each automatic driving device and a second lock point range corresponding to a second driving code point according to the unit driving length of each automatic driving device, wherein the unit driving length is the length of one-step driving of the automatic driving device; preempting each code point in the first lock point range and the second lock point range of each respective dynamic driving device in a code point preempting mode; after successfully seizing all code points in the first lock point range and the second lock point range of the automatic driving equipment, all the code points are locked, and a driving instruction from the first driving code point to the second driving code point of the automatic driving equipment is issued to the automatic driving equipment.
According to the technical scheme of the embodiment of the invention, a first lock point range corresponding to a first running code point of each running device and a second lock point range corresponding to a second running code point are determined according to the unit running length of each running device, and each code point in the first lock point range and the second lock point range of each running device is preempted in a code point preemption mode; after successfully seizing all code points in the first lock point range and the second lock point range of the automatic driving equipment, all the code points are locked, and a driving instruction from the first driving code point to the second driving code point of the automatic driving equipment is issued to the automatic driving equipment. The automatic driving equipment of different types can drive on the common map, so that the cooperative work among the automatic driving equipment of different types is realized, and the automation degree is improved.
The above-described embodiments should not be construed as limiting the scope of the invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions can occur, depending on design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (16)

1. A travel method in which a map is shared by a plurality of automatic travel apparatuses, characterized by comprising:
receiving a locking point request of each automatic driving device, wherein the locking point request of each automatic driving device is used for requesting to lock a first driving code point and a second driving code point of the automatic driving device;
determining a first lock point range corresponding to a first driving code point of each automatic driving device and a second lock point range corresponding to a second driving code point according to the unit driving length of each automatic driving device, wherein the unit driving length is the length of one-step driving of the automatic driving device;
preempting each code point in the first lock point range and the second lock point range of each respective dynamic driving device in a code point preempting mode;
after successfully seizing all code points in the first lock point range and the second lock point range of the automatic driving equipment, all the code points are locked, and a driving instruction from the first driving code point to the second driving code point of the automatic driving equipment is issued to the automatic driving equipment.
2. The method of claim 1, wherein the step of determining a first lock point range corresponding to a first travel code point and a second lock point range corresponding to a second travel code point of each mobile travel device according to a unit travel length of each mobile travel device comprises:
for the automatic running equipment with the unit running length as the minimum code distance, determining a first lock point range corresponding to a first running code point of the automatic running equipment as the first running code point, and determining a second lock point range corresponding to a second running code point of the automatic running equipment as the second running code point;
for the automatic driving equipment with the unit driving length being the non-minimum code distance, determining a first locking point range corresponding to a first driving code point and a second locking point range corresponding to a second driving code point by the following method: calculating an x-axis range code point, a y-axis range code point and a diagonal range code point corresponding to the target code point by using a code point range calculation rule; and determining a locking point range corresponding to the target code point according to the x-axis range code point, the y-axis range code point and the diagonal range code point, wherein the target code point represents any one of the first running code point and the second running code point.
3. The method of claim 2, wherein the step of calculating the x-axis range code points, the y-axis range code points and the diagonal range code points corresponding to the target code point using the code point range calculation rule comprises:
segmenting the code of the target code point to obtain an x-axis code and a y-axis code of the target code point;
determining code points satisfying the following conditions as the code points of the x-axis range: the y-axis code of the code point is the same as the y-axis code of the target code point, and the x-axis code of the code point is greater than the difference between the x-axis code of the target code point and the code point range interval and less than the sum of the x-axis code of the target code point and the code point range interval;
determining code points satisfying the following conditions as the y-axis range code points: the x-axis code of the code point is the same as the x-axis code of the target code point, and the y-axis code of the code point is greater than the difference between the y-axis code of the target code point and the code point range interval and less than the sum of the y-axis code of the target code point and the code point range interval;
determining code points satisfying the following conditions as the code points of the diagonal range: the code point is the same as a first coordinate axis code of a first coordinate axis range code point, and a second coordinate axis code of the code point is larger than the difference between a second coordinate axis code of the target code point and the code point range interval and smaller than the sum of the second coordinate axis code of the target code point and the code point range interval, wherein the first coordinate axis is a y axis and the second coordinate axis is an x axis, or the first coordinate axis is an x axis and the second coordinate axis is a y axis;
the code point range interval is a code distance between the first travel code point and the second travel code point.
4. The method of claim 3, wherein the code of the target codepoint is sliced to obtain x-axis and y-axis codes of the target codepoint by:
rounding the ratio of the code of the target code point to a preset value to obtain an x-axis code of the target code point;
and dividing the code of the target code point by the preset value to obtain a remainder, and obtaining a y-axis code of the target code point, wherein the preset value is determined according to the code length of the target code point.
5. The method of claim 1, wherein the code points are preempted one by one in a predetermined order.
6. The method of claim 1, wherein the step of locking all code points within the first lock point range and the second lock point range of an autonomous driving device after successfully preempting the all code points comprises:
and storing the all code points successfully preempted and the information of the automatic driving equipment in a cache in an associated manner.
7. The method according to claim 1, characterized in that code points within the first lock point range of an automatic travel device, but not within the second lock point range thereof, are deleted from the buffer memory after the automatic travel device reaches its second travel code point from its first travel code point in accordance with a delivered travel command.
8. A travel apparatus in which a map is shared by a plurality of automatic travel devices, comprising:
the system comprises a locking point request receiving module, a locking point request receiving module and a locking point locking module, wherein the locking point request receiving module is used for receiving locking point requests of respective automatic driving equipment, and the locking point request of each automatic driving equipment is used for requesting to lock a first driving code point and a second driving code point of the automatic driving equipment;
the lock point range determining module is used for determining a first lock point range corresponding to a first running code point of each automatic running device and a second lock point range corresponding to a second running code point according to the unit running length of each automatic running device, wherein the unit running length is the length of one step of running of the automatic running device;
a code point seizing module, configured to seize, in a code point seizing manner, each code point within the first lock point range and the second lock point range of each respective mobile driving device;
and the running instruction issuing module is used for locking all code points in a first lock point range and a second lock point range of the automatic running equipment after the code points are successfully occupied, and issuing a running instruction from the first running code point of the automatic running equipment to the second running code point of the automatic running equipment to the automatic running equipment.
9. The apparatus of claim 8, wherein the lock point range determination module is further configured to:
for the automatic running equipment with the unit running length as the minimum code distance, determining a first lock point range corresponding to a first running code point of the automatic running equipment as the first running code point, and determining a second lock point range corresponding to a second running code point of the automatic running equipment as the second running code point;
for the automatic driving equipment with the unit driving length being the non-minimum code distance, determining a first locking point range corresponding to a first driving code point and a second locking point range corresponding to a second driving code point by the following method: calculating an x-axis range code point, a y-axis range code point and a diagonal range code point corresponding to the target code point by using a code point range calculation rule; and determining a locking point range corresponding to the target code point according to the x-axis range code point, the y-axis range code point and the diagonal range code point, wherein the target code point represents any one of the first running code point and the second running code point.
10. The apparatus of claim 9, wherein the lock point range determination module comprises a code point range calculation sub-module configured to:
segmenting the code of the target code point to obtain an x-axis code and a y-axis code of the target code point;
determining code points satisfying the following conditions as the code points of the x-axis range: the y-axis code of the code point is the same as the y-axis code of the target code point, and the x-axis code of the code point is greater than the difference between the x-axis code of the target code point and the code point range interval and less than the sum of the x-axis code of the target code point and the code point range interval;
determining code points satisfying the following conditions as the y-axis range code points: the x-axis code of the code point is the same as the x-axis code of the target code point, and the y-axis code of the code point is greater than the difference between the y-axis code of the target code point and the code point range interval and less than the sum of the y-axis code of the target code point and the code point range interval;
determining code points satisfying the following conditions as the code points of the diagonal range: the code point is the same as a first coordinate axis code of a first coordinate axis range code point, and a second coordinate axis code of the code point is larger than the difference between a second coordinate axis code of the target code point and the code point range interval and smaller than the sum of the second coordinate axis code of the target code point and the code point range interval, wherein the first coordinate axis is a y axis and the second coordinate axis is an x axis, or the first coordinate axis is an x axis and the second coordinate axis is a y axis;
the code point range interval is a code distance between the first travel code point and the second travel code point.
11. The apparatus of claim 10, wherein the code point range calculation sub-module comprises a code slicing unit configured to:
rounding the ratio of the code of the target code point to a preset value to obtain an x-axis code of the target code point;
and dividing the code of the target code point by the preset value to obtain a remainder, and obtaining a y-axis code of the target code point, wherein the preset value is determined according to the code length of the target code point.
12. The apparatus of claim 8, wherein said code point preemption module preempts said code points one by one in a predetermined order.
13. The apparatus of claim 8, wherein the driving instruction issuing module comprises a storage submodule configured to:
and storing the all code points successfully preempted and the information of the automatic driving equipment in a cache in an associated manner.
14. The apparatus of claim 8, further comprising a codepoint removal module configured to:
after an automatic driving device reaches a second driving code point of the automatic driving device from a first driving code point of the automatic driving device according to a transmitted driving instruction, code points within a first lock point range of the automatic driving device but not within a second lock point range of the automatic driving device are deleted from the cache.
15. An electronic device, comprising:
one or more processors;
a memory for storing one or more programs,
the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the method recited in any of claims 1-7.
16. A computer-readable medium, on which a computer program is stored, which, when being executed by a processor, carries out the method according to any one of claims 1-7.
CN201910293038.5A 2019-04-12 2019-04-12 Driving method and device for multiple automatic driving devices to share map Pending CN111781919A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910293038.5A CN111781919A (en) 2019-04-12 2019-04-12 Driving method and device for multiple automatic driving devices to share map

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910293038.5A CN111781919A (en) 2019-04-12 2019-04-12 Driving method and device for multiple automatic driving devices to share map

Publications (1)

Publication Number Publication Date
CN111781919A true CN111781919A (en) 2020-10-16

Family

ID=72755439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910293038.5A Pending CN111781919A (en) 2019-04-12 2019-04-12 Driving method and device for multiple automatic driving devices to share map

Country Status (1)

Country Link
CN (1) CN111781919A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929279A (en) * 2012-11-07 2013-02-13 无锡普智联科高新技术有限公司 Multi-robot path planning method based on three-dimensional space intensive storage region
US20150227140A1 (en) * 2014-02-10 2015-08-13 John Bean Technologies Corporation Routing of automated guided vehicles
CN108563219A (en) * 2017-12-29 2018-09-21 青岛海通机器人系统有限公司 A kind of AGV preventing collision methods
CN109229155A (en) * 2018-08-29 2019-01-18 北京交通大学 A kind of method that evading train operation deadlock state and train operation global optimization control method
CN109460039A (en) * 2018-12-26 2019-03-12 芜湖哈特机器人产业技术研究院有限公司 A kind of paths planning method of AGV
CN109558960A (en) * 2017-09-26 2019-04-02 北京京东尚科信息技术有限公司 Paths planning method, device and computer readable storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929279A (en) * 2012-11-07 2013-02-13 无锡普智联科高新技术有限公司 Multi-robot path planning method based on three-dimensional space intensive storage region
US20150227140A1 (en) * 2014-02-10 2015-08-13 John Bean Technologies Corporation Routing of automated guided vehicles
CN109558960A (en) * 2017-09-26 2019-04-02 北京京东尚科信息技术有限公司 Paths planning method, device and computer readable storage medium
CN108563219A (en) * 2017-12-29 2018-09-21 青岛海通机器人系统有限公司 A kind of AGV preventing collision methods
CN109229155A (en) * 2018-08-29 2019-01-18 北京交通大学 A kind of method that evading train operation deadlock state and train operation global optimization control method
CN109460039A (en) * 2018-12-26 2019-03-12 芜湖哈特机器人产业技术研究院有限公司 A kind of paths planning method of AGV

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张峥炜;陈波;陈卫东;: "时间窗约束下的AGV动态路径规划", 微型电脑应用, no. 11 *
邱歌;欧晨曦;韩廷睿;: "基于智能仓储多AGV的地图构建和调度算法研究", 工业控制计算机, no. 12 *

Similar Documents

Publication Publication Date Title
US9683852B2 (en) Dispatching map matching tasks by a cluster server
US20070234364A1 (en) Post-processing phase in a distributed computing system
CN110231041B (en) Navigation method and device for lane switching
CN109508326B (en) Method, device and system for processing data
CN110766348B (en) Method and device for combining goods picking tasks
CN114998477B (en) Method, device, equipment and product for drawing center line of lane in U-turn area
CN113223113A (en) Lane line processing method and device, electronic equipment and cloud control platform
CN110703758A (en) Path planning method and device
CN111098842B (en) Vehicle speed control method and related equipment
CN112551015B (en) Method and device for rotating goods shelf in carrying process
CN111781919A (en) Driving method and device for multiple automatic driving devices to share map
CN112180909B (en) Method and device for determining lock point priority in vehicle operation
CN113804208B (en) Unmanned vehicle path optimization method and related equipment
CN114633979A (en) Goods stacking method and device, electronic equipment and computer readable medium
CN112414391B (en) Repositioning method and device for robot
CN113253713A (en) Task execution method and device
CN109976902B (en) Task processing method, system, electronic device and computer readable medium
CN113642742A (en) Method and device for picking task combination
CN113479198B (en) Unmanned vehicle control method and device
CN114323060B (en) Distance determining method and device
CN112697155B (en) Method and device for generating lane boundary line
CN114383600B (en) Processing method and device for map, electronic equipment and storage medium
CN110245026B (en) Information processing method and system
CN113624249B (en) Lock point operation execution method, device, electronic equipment and computer readable medium
CN114579889B (en) Recommendation method, device, equipment and storage medium for order thermodynamic diagrams

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210226

Address after: Room a1905, 19 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Beijing Jingdong Qianshi Technology Co.,Ltd.

Address before: 101, 1st floor, building 2, yard 20, Suzhou street, Haidian District, Beijing 100080

Applicant before: Beijing Jingbangda Trading Co.,Ltd.

Effective date of registration: 20210226

Address after: 101, 1st floor, building 2, yard 20, Suzhou street, Haidian District, Beijing 100080

Applicant after: Beijing Jingbangda Trading Co.,Ltd.

Address before: 100086 8th Floor, 76 Zhichun Road, Haidian District, Beijing

Applicant before: BEIJING JINGDONG SHANGKE INFORMATION TECHNOLOGY Co.,Ltd.

Applicant before: BEIJING JINGDONG CENTURY TRADING Co.,Ltd.