Memory Subsystem for Autonomous Vehicle Positioning

By using multiple position indicators and laser signals in an indoor environment, combined with machine learning, the vehicle positioning problem of GPS signals being unavailable is solved, and precise positioning and path adjustment are achieved.

CN114252072BActive Publication Date: 2025-09-02MICRON TECHNOLOGY INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202111086876.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-09-24
Filing Date
2021-09-16
Publication Date
2025-09-02
Estimated Expiration
2041-09-16

AI Technical Summary

Technical Problem

In the existing technology, due to signal interference and satellite signal loss in indoor environments, global positioning system (GPS) data cannot be used effectively, resulting in difficulty in positioning vehicles.

Method used

Using multiple position indicators, such as mirrors, by sending and receiving laser signals, combined with machine learning, the position of the vehicle in the indoor facility and adjusting the direction to travel along a predetermined path.

Benefits of technology

In the absence of GPS signals, the precise positioning and path adjustment of the vehicle in the indoor environment are realized, avoiding the influence of signal interference.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114252072B_ABST
    Figure CN114252072B_ABST
Patent Text Reader

Abstract

The present application relates to a memory subsystem for autonomous vehicle positioning. A method may include sending, via a processing device, a signal from an autonomous vehicle in motion and transporting equipment or passengers to at least two of a plurality of position indicators. The method may further include receiving the signal from the at least two position indicators. The method may further include determining a position of the autonomous vehicle within an indoor facility based on the received signal. The method may further include comparing the determined position to a corresponding predetermined position. The method may further include adjusting the direction of the autonomous vehicle along a predetermined path within the indoor facility in response to the determined position being different from the predetermined position.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure relate generally to memory subsystems, and more particularly to localization of autonomous vehicles. Background Art

[0002] The memory subsystem may include one or more memory devices that store data. The memory devices may be, for example, non-volatile memory devices and volatile memory devices. Generally speaking, a host system may utilize the memory subsystem to store data at and retrieve data from the memory devices.

[0003] Vehicles are increasingly relying on memory subsystems to provide storage for components that were previously mechanical, independent, or nonexistent. A vehicle may include a computing system, which may host the memory subsystem. The computing system may run applications that provide component functionality. Vehicles may be driver-operated, unmanned (autonomous), and / or partially autonomous. Memory devices may be used extensively by the computing system in the vehicle. Summary of the Invention

[0004] One aspect of the present application provides a method for operating an autonomous vehicle within an indoor facility, wherein the method includes: sending a signal from the autonomous vehicle in motion and transporting equipment or passengers to at least two of a plurality of position indicators via a processing device; receiving signals from the at least two position indicators; determining the position of the autonomous vehicle within the indoor facility based on the received signals; and comparing the determined position with a corresponding predetermined position; and in response to the determined position being different from the predetermined position, adjusting the direction of the autonomous vehicle along a predetermined path within the indoor facility.

[0005] Another aspect of the present application provides a system for transporting equipment or passengers using an autonomous vehicle, wherein the system includes: a memory device within the autonomous vehicle for transporting equipment or passengers; and a processing device coupled to the memory device, the processing device being configured to: select a predetermined path for the autonomous vehicle along a path in an indoor facility; determine expected positions of a plurality of position indicators based on the selected predetermined path before the autonomous vehicle passes through the predetermined path, wherein the plurality of position indicators are intermittently positioned along the predetermined path; send a signal from the autonomous vehicle in motion along the predetermined path to at least one of the plurality of position indicators; receive a signal from the at least one position indicator; and compare the expected position of the at least one of the plurality of position indicators with the real-time position of the at least one of the plurality of position indicators based on the received signal.

[0006] Another aspect of the present application provides a non-transitory machine-readable medium storing instructions for autonomous vehicle positioning, the instructions being executable to: select a predetermined path for the autonomous vehicle; receive, as the autonomous vehicle traverses the predetermined path, from a road component: an indication that two position indicators of a plurality of position indicators are approaching, wherein the two position indicators are separated by a specific distance; and an expected position of each of the two position indicators; send a signal to each of the two position indicators; receive a signal from each of the two position indicators; and compare, based on the received signals, the expected position of each of the two position indicators with a real-time position of each of the two position indicators; wherein: the comparison is performed in the absence of Global Positioning System (GPS) data; and the comparison is based on the specific distance between the two position indicators and the distance from each of the two position indicators to the autonomous vehicle. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] The present disclosure will be more fully understood from the detailed description given below and from the accompanying drawings of various embodiments of the present disclosure.

[0008] Figure 1 An example computing system including a memory subsystem according to some embodiments of the present disclosure is described.

[0009] Figure 2A is a flow chart of vehicles, paths, and sensors for autonomous vehicle localization according to some embodiments of the present disclosure.

[0010] Figure 2B is a flow chart of predetermined paths, real-time paths, and sensors for autonomous vehicle positioning according to some embodiments of the present disclosure.

[0011] Figure 3 is a flow chart of an example method for autonomous vehicle localization according to some embodiments of the present disclosure.

[0012] Figure 4 is a flowchart corresponding to a method for autonomous vehicle localization according to some embodiments of the present disclosure.

[0013] Figure 5 is a flowchart corresponding to a method for autonomous vehicle localization according to some embodiments of the present disclosure.

[0014] Figure 6 An example of a system including a computing system in a vehicle according to some embodiments of the present disclosure is described.

[0015] Figure 7 is a block diagram of an example computer system in which embodiments of the present disclosure may operate. DETAILED DESCRIPTION

[0016] Aspects of the present disclosure relate to positioning of a vehicle, such as an autonomous vehicle. The vehicle may include a memory subsystem, such as a solid-state drive (SSD), a flash drive, a universal serial bus (USB) flash drive, an embedded multimedia controller (eMMC) drive, a universal flash storage (UFS) drive, a secure digital (SD) card, and a hard disk drive (HDD). The memory subsystem may be used to determine a position and / or path along a vehicle path. An example of such determination may include sending a signal from a moving vehicle to at least two of a plurality of sensors. The example may include receiving signals from at least two sensors and determining the position of the vehicle based on the signals from the at least two sensors. The determined position may be compared to a corresponding predetermined position. In response to the determined position being different from the predetermined position, the direction of the vehicle may be adjusted.

[0017] In some previous methods, global positioning system (GPS) data or other similar data may be used to determine the location and / or path of a vehicle's travel. However, this type of GPS or similar data may be limited due to signal interference, loss of satellite signals, passage through underpasses, generator interference, and the like. Furthermore, methods using this type of GPS or other similar data may involve more complex analysis than embodiments of the present disclosure. As described below, it may be desirable to use methods that are operable and functional even in the presence of the interference described above (e.g., the absence of GPS) to locate a vehicle and / or determine a vehicle's path.

[0018] The figures herein follow a numbering convention in which the first digit or digits correspond to the figure number of the drawing and the remaining digits identify the element or component in the drawing. Similar elements or components between different figures may be identified by using similar numerals. For example, 106 may refer to Figure 1 Component "06" in the , and similar components can be found in Figure 4 406 in FIG. Similar elements within the figures may be referred to by a hyphen and an additional number or letter. Such similar elements may generally be referred to without the hyphen and additional number or letter. For example, Figure 4 444-1, 444-2, ..., 444-N in the drawings may be collectively referred to as elements 444. As used herein, particularly with respect to reference numbers in the drawings, the designator "N" indicates that a number of the particular feature so designated may be included. As will be appreciated, elements shown in the various embodiments herein may be added, interchanged, and / or eliminated to provide several additional embodiments of the present disclosure. Additionally, as will be appreciated, the proportions and relative scales of the elements provided in the drawings are intended to illustrate certain embodiments of the present disclosure and should not be construed in a limiting sense.

[0019] Figure 1An example computing system 100 including a memory subsystem 104 according to some embodiments of the present disclosure is illustrated. The memory subsystem 104 may include media such as one or more volatile memory devices 114, one or more non-volatile memory devices 116, or a combination thereof. The volatile memory device 114 may be, but is not limited to, a random access memory (RAM), such as dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), and resistive DRAM (RDRAM).

[0020] The storage subsystem 104 can be a storage device, a memory module, or a hybrid of a storage device and a memory module. Examples of storage devices include SSDs, flash drives, universal serial bus (USB) flash drives, embedded multimedia controller (eMMC) drives, universal flash storage (UFS) drives, secure digital (SD) cards, and hard disk drives (HDDs). Examples of memory modules include dual inline memory modules (DIMMs), small outline DIMMs (SO-DIMMs), and various types of non-volatile dual inline memory modules (NVDIMMs).

[0021] The computing system 100 may be a computing device such as a desktop computer, a laptop computer, a network server, a mobile device, a vehicle (e.g., an airplane, drone, train, car, or other transportation), an Internet of Things (IoT)-enabled device, an embedded computer (e.g., a computer included in a vehicle, industrial equipment, or networked commercial device), or such a computing device that includes a memory and a processing device.

[0022] Computing system 100 includes a host system 102 coupled to one or more memory subsystems 104. Host system 102 may be a computing system included in a vehicle. The computing system may run applications that provide component functionality for the vehicle. In some embodiments, host system 102 is coupled to different types of memory subsystems 104. Figure 1 An example of a host system 102 coupled to a memory subsystem 104 is illustrated. As used herein, "coupled to" or "coupled with" generally refers to a connection between components, which can be an indirect communication connection or a direct communication connection (e.g., without intervening components), whether wired or wireless, including, for example, electrical, optical, magnetic, etc.

[0023] Host system 102 includes or is coupled to processing resources, memory resources, and network resources. As used herein, a "resource" is a physical or virtual component with limited availability within computing system 100. For example, processing resources include a processing device, memory resources include a memory subsystem 104 for secondary storage and a main memory device (not specifically described) for primary storage, and network resources include a network interface (not specifically described). The processing device may be one or more processor chipsets that can execute a software stack. The processing device may include one or more cores, one or more caches, a memory controller (e.g., an NVDIMM controller), and a storage protocol controller (e.g., a PCIe controller, a SATA controller, etc.). Host system 102 uses memory subsystem 104, for example, to write data to and read data from memory subsystem 104.

[0024] The host system 102 can be coupled to the memory subsystem 104 via a physical host interface. Examples of the physical host interface include, but are not limited to, a Serial Advanced Technology Attachment (SATA) interface, a PCIe interface, a Universal Serial Bus (USB) interface, Fibre Channel, Serial Attached SCSI (SAS), a Small Computer System Interface (SCSI), a Double Data Rate (DDR) memory bus, a Dual In-line Memory Module (DIMM) interface (e.g., a DIMM slot interface supporting Double Data Rate (DDR)), an Open NAND Flash Interface (ONFI), Double Data Rate (DDR), Low Power Double Data Rate (LPDDR), or any other interface. The physical host interface can be used to transfer data between the host system 102 and the memory subsystem 104. When the memory subsystem 104 is coupled to the host system 102 via the PCIe interface, the host system 102 can further utilize an NVM Express (NVMe) interface to access the non-volatile memory device 116. The physical host interface may provide an interface for passing control, address, data, and other signals between the memory subsystem 104 and the host system 102. As an example, Figure 1 Memory subsystem 104 is illustrated. In general, host system 102 can access multiple memory subsystems via the same communication connection, multiple separate communication connections, and / or a combination of communication connections.

[0025] The host system 102 may send a request to the memory subsystem 104, for example, to store data in the memory subsystem 104 or to read data from the memory subsystem 104. For example, the host system 102 may use the memory subsystem 104 to provide navigation and location data to the host 102 and / or other memory devices. The data to be written or read, as specified by the host request, is referred to as "host data." The host request may include logical address information. The logical address information may be a logical block address (LBA), which may include or be accompanied by a partition number. The logical address information is the location that the host system associates with the host data. The logical address information may be part of the metadata for the host data. The LBA may also correspond to (e.g., be dynamically mapped to) a physical address, such as a physical block address (PBA), that indicates the physical location where the host data is stored in memory.

[0026] Examples of non-volatile memory device 116 include NAND-type flash memory. NAND-type flash memory includes, for example, two-dimensional NAND (2D NAND) and three-dimensional NAND (3D NAND). Non-volatile memory device 116 may be other types of non-volatile memory, such as read-only memory (ROM), phase-change memory (PCM), auto-select memory, other chalcogenide-based memories, ferroelectric transistor random access memory (FeTRAM), ferroelectric random access memory (FeRAM), magnetic random access memory (MRAM), spin transfer torque (STT)-MRAM, conductive bridging RAM (CBRAM), resistive random access memory (RRAM), oxide-based RRAM (OxRAM), NOR flash memory, electrically erasable programmable read-only memory (EEPROM), and three-dimensional cross-point memory. A cross-point array of non-volatile memory can perform bit storage based on changes in bulk resistance in conjunction with a stackable cross-grid data access array. Additionally, in contrast to many flash-based memories, cross-point non-volatile memories can perform write-in-place operations, where non-volatile memory cells can be programmed without first erasing the non-volatile memory cells.

[0027] Each of the non-volatile memory devices 116 may include one or more memory cell arrays. One type of memory cell, such as a single-level cell (SLC), may store one bit per cell. Other types of memory cells, such as a multi-level cell (MLC), a triple-level cell (TLC), a quad-level cell (QLC), and a quintuple-level cell (PLC), may store multiple bits per cell. In some embodiments, each of the non-volatile memory devices 116 may include one or more memory cell arrays, such as SLC, MLC, TLC, QLC, or any combination thereof. In some embodiments, a particular memory device may include an SLC portion, an MLC portion, a TLC portion, a QLC portion, or a PLC portion of memory cells. The memory cells of the non-volatile memory devices 116 may be grouped into pages, which may refer to a logical unit of the memory device for storing data. For some types of memory (e.g., NAND), pages may be grouped to form blocks.

[0028] The memory subsystem controller 106 (or, for simplicity, the controller 106) can communicate with the non-volatile memory device 116 to perform operations such as reading data, writing data, erasing data, and other such operations at the non-volatile memory device 116. The memory subsystem controller 106 can include hardware such as one or more integrated circuits and / or discrete components, buffer memory, or a combination thereof. The hardware can include digital circuitry with dedicated (i.e., hard-coded) logic to perform the operations described herein. The memory subsystem controller 106 can be a microcontroller, dedicated logic circuitry (e.g., a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), etc.), or other suitable circuitry.

[0029] The memory subsystem controller 106 may include a processing device 108 (e.g., a processor) configured to execute instructions stored in a local memory 110. In the illustrated example, the local memory 110 of the memory subsystem controller 106 is an embedded memory configured to store instructions for executing various processes, operations, logic flows, and routines that control the operation of the memory subsystem 104, including handling communications between the memory subsystem 104 and the host system 102.

[0030] In some embodiments, local memory 110 may include memory registers for storing memory pointers, fetch data, etc. For example, local memory 110 may also include ROM for storing microcode. Figure 1The example memory subsystem 104 in FIG has been described as including a memory subsystem controller 106, but in another embodiment of the present disclosure, the memory subsystem 104 does not include a memory subsystem controller 106 and may instead rely on external control (e.g., provided by an external host, or by a processor or controller separate from the memory subsystem 104).

[0031] In general, the memory subsystem controller 106 can receive information or operations from the host system 102 and can convert the information or operations into instructions or appropriate information to achieve the desired access to the non-volatile memory device 116 and / or the volatile memory device 114. The memory subsystem controller 106 can be responsible for other operations, such as wear leveling operations, error detection and / or correction operations, encryption operations, cache operations, and address translation between logical addresses (e.g., logical block addresses) and physical addresses (e.g., physical block addresses) associated with the non-volatile memory device 116. The memory subsystem controller 106 can further include host interface circuitry to communicate with the host system 102 via a physical host interface. The host interface circuitry can convert queries received from the host system 102 into commands to access the non-volatile memory device 116 and / or the volatile memory device 114 and convert responses associated with the non-volatile memory device 116 and / or the volatile memory device 114 into information for the host system 102.

[0032] In some embodiments, the memory subsystem 104 may be a managed NAND (MNAND) device, in which an external controller (e.g., controller 106) is packaged together with one or more NAND dies (e.g., non-volatile memory device 116). In a MNAND device, the external controller 106 may handle high-level memory management functions such as media management, and the local media controller 118 may manage some lower-level memory processes, such as when to perform programming operations.

[0033] In at least one embodiment, the positioning circuitry 112 is an ASIC configured to perform the examples described herein. For example, the positioning circuitry 112 can locate a vehicle at a specific location along a route and / or monitor vehicles along the route. In some embodiments, the local media controller 118 of the non-volatile memory device 116 includes at least a portion of the positioning circuitry 112. For example, the local media controller 118 may include a processor (e.g., a processing device) configured to execute instructions stored on the volatile memory device 114 to perform the operations described herein. In some embodiments, the positioning circuitry 112 is part of the host system 102 or an operating system. In at least one embodiment, the positioning circuitry 112 represents data or instructions stored in the memory subsystem 104. The functionality described with respect to the positioning circuitry 112 may be embodied in machine-readable and executable instructions stored in a tangible, machine-readable medium.

[0034] The controller 106 may be configured to select a predetermined path for the vehicle along a route. The controller may be configured to determine expected positions of a plurality of position indicators based on the selected predetermined path before the vehicle traverses the predetermined path. The controller 106 may be configured to send a signal to at least one of the plurality of position indicators and receive a signal back from at least one of the plurality of position indicators. The controller 106 may be configured to compare the determined expected position of at least one position indicator with the real-time position of the position indicator based on the received signal.

[0035] Figure 2A FIG220 is a flow chart illustrating a vehicle (e.g., an autonomous vehicle) 222, a path 227, and position indicators 224-1, 224-2, and 224-3 for positioning, according to some embodiments of the present disclosure. Position indicator 224 may be at a predetermined or known location. The predetermined or known location of position indicator 224 may be used to determine the location of vehicle 222.

[0036] For example, vehicle 222 may move along path 227. Vehicle 222 may be an automobile (e.g., a car, van, truck, etc.), a connected vehicle (e.g., a vehicle with computing capabilities for communicating with an external server), an autonomous vehicle (e.g., a vehicle with automated capabilities such as self-driving), a drone, an airplane, a ship, and / or any other device used to transport people and / or items. Vehicle 222 may travel within an indoor facility or enclosed structure. Vehicle 222 may transport items, equipment, cargo, passengers, etc. within an indoor facility or enclosed structure. Path 227 may be the path that vehicle 222 takes while transporting items, equipment, cargo, passengers, etc., avoiding other obstacles, objects, people, etc.

[0037] In some embodiments, path 227 may take vehicle 222 to a location where a global positioning system (GPS) may not be operational or GPS data may not be received or transmitted due to signal interference, loss of satellite signals, passage through an underpass, generator interference, signal obstructions, etc. To determine the location of vehicle 222 in the absence of GPS or other similar technologies where its signals may be blocked or interfered with, methods described below may be used.

[0038] Vehicle 222 can use multiple position indicators 224-1, 224-2, and 224-3 (hereinafter collectively referred to as multiple position indicators 224) to locate its position along path 227. In one example, multiple position indicators 224 can be multiple reflectors. Vehicle 222 can send a signal, such as a laser signal, to position indicator 224-1, and position indicator 224-1 can send back a signal 226-1, such as a reflected laser signal. Sensor 228-1 on vehicle 222 can receive signal 226-1 from position indicator 224-1. In addition to a specific position along path 227, received signal 226-1 can also indicate a specific distance between vehicle 222 and position indicator 224-1.

[0039] In some embodiments, vehicle 222 may send a signal to additional position indicator 224-2. Additional position indicator 224-2 may be located a specific distance 231 from position indicator 224-1. Additional position indicator 224-2 may send a signal 226-2 back to vehicle 222. Vehicle 222 may use the two signals 226-1, 226-2 sent from position indicator 224-1 and additional position indicator 224-2, along with specific distance 231, to determine the specific location of vehicle 222 along path 227. In some embodiments, further position indicator 224-3 may be used, and received signal 226-3 from further position indicator 224-3 returned to sensor 228-2 of vehicle 222 may be used individually or in combination with other received signals 226-1, 226-2. In this manner, multiple position indicators 224 may be used to determine the location of vehicle 222.

[0040] In response to vehicle 222 being in a position that is incorrect or diverts vehicle 222 from an expected or desired path (e.g., path 227) or being a particular distance from position indicator 224, vehicle 222 may adjust its direction and / or position and may repeat the position determination using at least one of plurality of position indicators 224. In at least one example, the direction of vehicle 222 may be adjusted based on a previous determination of the position of vehicle 222 along path 227. For example, a previous iteration of traveling along path 227 may include vehicle 222 determining that the vehicle is at a particular location along path 227. During a subsequent travel of path 227, vehicle 222 may use the previous determination of position and learn where vehicle 222 was based on the position of position indicator 224 during a first pass through path 227 and use that position data during a second pass through path 227. This use of position data may include using a machine learning process to determine the position during the second pass. Each iteration of driving along path 227 can be used in subsequent machine learning operations during subsequent driving along path 227 to use position indicator 224 to more quickly and efficiently locate vehicle 222.

[0041] Path 227 may refer to a predetermined path. For example, path 227 may be a desired path for vehicle 222 to traverse. In this manner, path 227 may be a target path for vehicle 222 to traverse, and when vehicle 222 departs from path 227, vehicle 222 adjusts its direction to return to the desired path. In this example, the path is not a fixed path, such as a road or track, but rather a desired path across or through a room, building, floor, etc., without designated signs, tracks, or indicators that specify the location along which vehicle 222 should move. Therefore, position indicator 224 indicates to vehicle 222 where to go or whether vehicle 222 is in the correct position while moving.

[0042] In some embodiments, vehicle 222 is traveling along path 227 within an indoor facility or enclosed structure, such as a warehouse, office building, storage facility, etc. The indoor facility or enclosed structure may contain storage equipment, boxes, objects, and / or people that vehicle 222 may need to avoid or navigate around in order to move from a starting point along path 227 to an end point along the path. In this example, when something or someone blocks the normal path that vehicle 222 would traverse, vehicle 222 may need to adjust its movement along the path (e.g., depart from the intended or predetermined path) and use position indicator 224 to return to the predetermined path.

[0043] Vehicle 222 may include a memory subsystem, such as memory subsystem 104, that performs operations for determining the location and / or distance of vehicle 222. For example, in this example, positioning circuitry 112 may perform several operations, including analyzing received signals from multiple position indicators 224, and determine the location and / or distance of vehicle 222 based on data from reflected laser signals. While laser signals are used to describe the method for determining location, embodiments are not limited thereto. For example, any number of active or passive devices may be used. Passive devices may include mirrors, magnetic identification (ID) devices, radio frequency identification (RFID) devices, light emitting diode (LED) devices, and the like. Active devices may include Bluetooth devices, infrared (IR) devices, modulated light source devices, sonar devices, and the like.

[0044] Figure 2B FIG221 is a diagram of a predetermined path 229, a real-time path 227, and a position indicator 224 for positioning according to some embodiments of the present disclosure. A vehicle, e.g. Figure 2A The vehicle 222 in FIG. 2 may travel along a path starting from point 223, wherein a real-time path 227 indicates the actual path of the vehicle in real time and a predetermined path 229 (dashed line) indicates the expected path along which the vehicle will travel. Figure 2A As described, the position of the vehicle along real-time path 227 may be determined. The position of the vehicle along real-time path 227 may be compared to the position of the predetermined path 229 to determine whether the vehicle is where it should be. In response to the position of the vehicle being along real-time path 227 and also along predetermined path 229, no adjustments may be made to the position and / or direction of the vehicle. In response to the position of the vehicle along real-time path 227 being different from the position along predetermined path 229, adjustments may be made to the direction and / or position of the vehicle to bring the vehicle back onto predetermined path 229.

[0045] In one embodiment, a vehicle may be at point 225-1 and may use a number of position indicators 224-1, 224-2, and 224-3 to determine the vehicle's position relative to a predetermined path 229. The number of position indicators 224-1, 224-2, and 224-3 may indicate to the vehicle that an upcoming turn exists and the vehicle is informed of the upcoming turn. In this manner, the vehicle may maintain a course along the predetermined path 229 by using the position indicators. The distance 229 between the two position indicators 224-1 and 224-2 may be used to determine the vehicle's position and / or direction along the real-time path 227 and whether the vehicle maintains a course along the predetermined path 229.

[0046] In one example, a previously generated map including the intended path 229 can be used to compare with a map of the current path along the real-time path 227. In this manner, the position indicator 224 not only identifies the vehicle's location and / or orientation, but also provides the ability to compare the previously generated map with the real-time map in order to navigate through the map. In the event that an object, person, structure, etc. blocks the vehicle and the vehicle needs to make a correction to avoid the object, person, structure, etc., the position indicator 224 can be used to redirect the vehicle back onto the intended path 229 and / or through the previously generated map.

[0047] In one embodiment, the vehicle may be approaching position indicators 224-4 and 224-5 and miss a turn along the predetermined path 229. The vehicle may be at point 225-2, which is outside or outside the predetermined path 229 and uses position indicators 224-4 and 224-5 to determine that the vehicle's distance from each of position indicators 224-4 and 224-5 is inappropriate and should be adjusted. Based on signals received from position indicators 224-4, 224-5, such as reflected laser signals, the vehicle may be adjusted to turn right from its current position (at point 225-2) and return to the predetermined path 229. Similarly, the vehicle may be approaching several additional sets of position indicators, such as 224-6, 224-7, and use the set of position indicators 224-6, 224-7 to correct from point 225-3 to return to the predetermined path 229. Additionally, the vehicle may use a set of position indicators 224 - 8 , 224 - 9 further along the real-time path 227 to correct from point 225 - 4 to return to the predetermined path 229 .

[0048] Figure 3 is a flow chart of an example method 303 for operating a memory device according to some embodiments of the present disclosure. The method may be performed by processing logic, which may include hardware (e.g., a processing device, circuitry, dedicated logic, programmable logic, microcode, hardware of a device, integrated circuit, etc.), software (e.g., instructions running or executed on a processing device), or a combination thereof. In some embodiments, the method is performed by or using a processor such as Figure 1 14. The memory subsystem controller 106, processing device 108, positioning circuitry 112, non-volatile memory device 116, and / or volatile memory device 114, and / or local media controller 118 shown in FIG. Although shown in a particular sequence or order, the order of the processes may be modified unless otherwise specified. Therefore, the illustrated embodiments should be understood as examples only, and the illustrated processes may be performed in a different order, and some processes may be performed in parallel. Additionally, one or more processes may be omitted in various embodiments. Therefore, not all processes are required in every embodiment. Other process flows are also possible.

[0049] exist Figure 3 At block 339 in the example method 303 of , a signal may be sent from an autonomous (e.g., self-driving) vehicle in motion and transporting equipment or passengers to at least two of the plurality of position indicators via a processing device. The processing device may be Figure 1 The same processing device 108 in FIG. Figure 2A The same signal as the signal 226 in the position indicator group, and at least two position indicators in the position indicator group can be Figure 2A and 2B The position indicators 224-1 and 224-2 in FIG. 2 are the same. The multiple position indicators may include multiple reflectors.

[0050] exist Figure 3 At block 341 in the example method 303 of FIG. 1 , signals may be sent from at least two position indicators. The signals may be laser signals, stationary signals (associated with fixed coordinates), or non-stationary signals (e.g., signals associated with forwarded position data). The signals may be sent to at least two reflectors via a laser mounted to the vehicle. The signals may be sent to the at least two reflectors in response to the vehicle arriving at a predefined location area. At least two of the plurality of position indicators may be positioned at specific locations on a road on which the vehicle is traveling. The signals may be used to establish the position and / or orientation (e.g., position) of the vehicle.

[0051] exist Figure 3 At block 343 of the example method 303 of FIG. 1 , a position of the vehicle within the indoor facility may be determined based on the received signal. The position of the vehicle may be determined in the absence of global positioning system (GPS) data. Determining the position of the vehicle may include determining a predetermined path of the vehicle and predetermined positions of a plurality of position indicators based on the predetermined path.

[0052] exist Figure 3 At block 345 of the example method 303 of FIG, the determined position of the vehicle may be compared to a corresponding predetermined position of the vehicle. Figure 3 At block 347 in the example method 303 of FIG. 1 , a direction of the vehicle along the predetermined path within the indoor facility can be adjusted in response to the determined position being different from the predetermined position of the vehicle.

[0053] In at least one embodiment, method 303 may further include embedding at least two of the plurality of position indicators within a roadway that the vehicle is traveling on. In at least one embodiment, method 303 may further include receiving data from the at least two embedded position indicators indicating expected positions of additional position indicators not embedded in the roadway.

[0054] Figure 4is a flow chart corresponding to a method 450 for operating a memory device according to some embodiments of the present disclosure. The method 450 may be performed by processing logic, which may include hardware (e.g., a processing device, circuitry, dedicated logic, programmable logic, microcode, hardware of a device, an integrated circuit, etc.), software (e.g., instructions run or executed on a processing device), or a combination thereof. In some embodiments, the method 450 is performed by Figure 1 The present invention relates to a method for performing the above-described operations. ... Although shown in a particular sequence or order, the order of the processes may be modified unless otherwise specified. Therefore, the illustrated embodiments should be understood as examples only, and the illustrated processes may be performed in a different order, and some processes may be performed in parallel. In addition, one or more processes may be omitted in various embodiments. Therefore, not all processes are required in every embodiment. Other process flows are also possible.

[0055] At operation 451, a predetermined path for a vehicle to move along a path within an indoor facility may be selected. Selecting the predetermined path may include selecting a map containing the path along which the vehicle will travel. At operation 452, expected positions of a plurality of position indicators may be determined. The expected positions may be relative to the selected predetermined path. For example, the position indicators may be located along or adjacent to the predetermined path.

[0056] At operation 453, a signal may be sent from the vehicle to at least one of the plurality of position indicators. The signal may include a laser signal. The plurality of position indicators may be Figure 2A , a plurality of position indicators 224 in the vehicle. At operation 454, a signal may be received from at least one of the position indicators. The received signal may be received at a sensor located on the vehicle. The sensor may be activated upon receiving the signal. The sensor may be located on the vehicle or at a specific location along or alongside the path. As an example, an active device on the vehicle (e.g., Bluetooth, infrared, modulated light source, or sonar device) may read data from a pre-installed sensor along the path. As an example, a passive device on the vehicle (e.g., a mirror, magnetic ID, RFID, or LED device) may read an active signal from a pre-installed transmitter along the path.

[0057] At operation 455, the expected position of at least one of the plurality of position indicators may be compared to the real-time position of at least one of the plurality of position indicators. At operation 456, a determination may be made as to whether the expected position matches the real-time position. In response to the expected position not matching the real-time position, the position of the vehicle may be adjusted and additional signals may be sent to at least one of the plurality of position indicators, and the process (described as operations 453 through 456) may be repeated until a match is found. In response to the expected position matching the real-time position, the vehicle may continue along the route at operation 457.

[0058] Figure 5is a flow chart corresponding to a method for operating a memory device according to some embodiments of the present disclosure. Method 550 may be performed by processing logic, which may include hardware (e.g., a processing device, circuitry, dedicated logic, programmable logic, microcode, hardware of a device, integrated circuit, etc.), software (e.g., instructions run or executed on a processing device), or a combination thereof. In some embodiments, method 550 is performed by Figure 1 The present invention relates to a method for performing the above-described operations. ... Although shown in a particular sequence or order, the order of the processes may be modified unless otherwise specified. Therefore, the illustrated embodiments should be understood as examples only, and the illustrated processes may be performed in a different order, and some processes may be performed in parallel. In addition, one or more processes may be omitted in various embodiments. Therefore, not all processes are required in every embodiment. Other process flows are also possible.

[0059] At operation 551, a predetermined path for a vehicle to move along a path within an indoor facility may be selected. Selecting the predetermined path may include selecting a map containing the path along which the vehicle will travel. At operation 552, an indication may be received that two location indicators are approaching. This indication may be received in response to the vehicle being within a threshold distance of a location indicator. Several indications may be sent, each indicating a decreasing distance to a location indicator. For example, a first indication may indicate that the vehicle is within 50 feet, a second indication may indicate that the vehicle is within 30 feet, a third indication may indicate that the vehicle is within 10 feet, and so on. In this way, the vehicle can anticipate the approach of the location indicators.

[0060] At operation 553, an expected position of each of the two position indicators may be received. The expected position may be relative to the selected predetermined path. As an example, the position indicator may be located along the predetermined path, or adjacent to the predetermined path.

[0061] At operation 554, a signal may be sent from the vehicle to each of the two position indicators. The signal may include a laser signal. The plurality of position indicators may be Figure 2A 224 in the plurality of position indicators. At operation 555, signals may be received from the two position indicators. The received signal may be received at a sensor positioned on the vehicle. The sensor may be activated upon receiving the signal.

[0062] At operation 556, the expected positions of the two position indicators may be compared to the real-time position of at least one of the plurality of position indicators. The comparison may include a comparison of the distance between the two position indicators. At operation 557, a determination may be made as to whether the expected positions match the real-time positions. In response to the expected positions not matching the real-time positions, the position of the vehicle may be adjusted and additional signals may be sent to at least one of the plurality of position indicators. The process (described as operations 554 through 557) may be repeated until a match is found. In response to the expected positions matching the real-time positions, the vehicle may continue along the route at operation 558.

[0063] Figure 6 An example of a system 646 including a computing system 600 in a vehicle according to some embodiments of the present disclosure is illustrated. The computing system 600 may include a memory subsystem 604, which for simplicity is illustrated as including a controller 606 and a non-volatile memory device 616, but similar to Figure 1 6. The computing system 600, and therefore the host 602, can be coupled directly to a number of sensors 644, as illustrated for sensor 644-4, or to a number of sensors 644 via a transceiver 652, as illustrated for sensors 644-1, 644-2, 644-3, 644-5, 644-6, 644-7, 644-8, ..., 644-N. The transceiver 652 can receive data wirelessly from the sensors 644, for example, via radio frequency communication. In at least one embodiment, each of the sensors 644 can communicate wirelessly with the computing system 600 via the transceiver 652. In at least one embodiment, each of the sensors 644 is directly connected to the computing system 600 (e.g., via wires or optical cables).

[0064] Vehicle 650 can be an automobile (e.g., a car, van, truck, etc.), a connected vehicle (e.g., a vehicle having computing capabilities to communicate with an external server), an autonomous vehicle (e.g., a vehicle having automated capabilities such as self-driving), a drone, an airplane, a ship, and / or anything used to transport people and / or goods. For example, sensor 644 can be used to Figure 66 are illustrated as including instance attributes. For example, sensors 644-1, 644-2, and 644-3 are cameras collecting data from the front of vehicle 650. Sensors 644-4, 644-5, and 644-6 are microphone sensors collecting data from the front, center, and rear of vehicle 650. Sensors 644-7, 644-8, and 644-N are cameras collecting data from the rear of vehicle 650. As another example, sensors 644-5 and 644-6 are tire pressure sensors. As another example, sensor 644-4 is a navigation sensor, such as a Global Positioning System (GPS) receiver. As another example, sensor 644-6 is a speedometer. As another example, sensor 644-4 represents several engine sensors, such as a temperature sensor, a pressure sensor, a voltmeter, an ammeter, a tachometer, a fuel gauge, and the like. As another example, sensor 644-4 represents a camera. Video data may be received from any of the sensors 644 associated with vehicle 650, including the camera. In at least one embodiment, the video data may be compressed by the host 602 before providing the video data to the memory subsystem 604 .

[0065] The host 602 can execute instructions to provide an overall control system and / or operating system for the vehicle 650. The host 602 can be a controller designed to assist in the automated operation of the vehicle 650. For example, the host 602 can be an advanced driver assistance system controller (ADAS). ADAS can monitor data to prevent accidents and provide warnings of potentially unsafe situations. For example, ADAS can monitor sensors in the vehicle 650 and control the operation of the vehicle 650 to avoid accidents or injuries (for example, to avoid accidents when the vehicle user is incapacitated). The host 602 may need to act quickly and make decisions to avoid accidents. The memory subsystem 604 can store reference data in the non-volatile memory device 616 so that data from the sensor 644 can be compared with the reference data of the host 602 to make quick decisions.

[0066] Figure 7 7 is a block diagram of an example computer system in which embodiments of the present disclosure may operate. Within computing system 700, a set of instructions may be executed to cause the machine to perform one or more of the methods discussed herein. Computing system 700 includes a processing device 708, a main memory 746, a static memory 752 (e.g., flash memory, static random access memory (SRAM), etc.), and a data storage system 704 that communicate with each other via bus 760. Data storage system 704 is similar to Figure 1 The memory subsystem 104 described in .

[0067] The processing device 708 represents one or more general-purpose processing devices, such as a microprocessor, a central processing unit, or the like. More specifically, the processing device may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor that implements other instruction sets, or a processor that implements a combination of instruction sets. The processing device 708 may also be one or more special-purpose processing devices, such as an ASIC, an FPGA, a digital signal processor (DSP), a network processor, or the like. The processing device 708 is configured to execute instructions 750 to perform the operations and steps discussed herein. The computing system 700 may further include a network interface device 756 for communicating over a network 758.

[0068] The data storage system 704 may include a machine-readable storage medium 754 (also referred to as a computer-readable medium) having stored thereon one or more sets of instructions 750 or software embodying one or more of the methodologies or functions described herein. The instructions 750 may also reside, completely or at least partially, within the main memory 746 and / or the processing device 708 during execution by the computing system 700, with the main memory 746 and the processing device 708 also constituting machine-readable storage media.

[0069] In one embodiment, the instructions 750 include instructions for implementing the Figure 1 The instructions for the functionality of the positioning circuit system 112 may include an allocate 712 instruction to allocate a first portion of a plurality of blocks of the memory device to store file system metadata based on the file system and the capacity of the memory device. Although the machine-readable storage medium 754 is shown as a single medium in the example embodiment, the term "machine-readable storage medium" should be understood to include a single medium or multiple media that store one or more sets of instructions. The term "machine-readable storage medium" should also be understood to include a medium capable of storing or encoding a set of instructions that is executed by a machine and causes the machine to perform one or more of the methods of the present disclosure. Therefore, the term "machine-readable storage medium" should be understood to include, but not be limited to, solid-state memory, optical media, and magnetic media.

[0070] Some portions of the foregoing detailed description have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is herein, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Typically, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, combined, compared, and otherwise manipulated. It has proven convenient at times, primarily for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

[0071] It should be remembered, however, that all of these and similar terms are associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. The present disclosure may refer to the actions and processes of a computer system or similar electronic computing device that manipulates and transforms data represented as physical (electronic) quantities within a computer system's registers and memories into other data similarly represented as physical quantities in the computer system's memories or registers or other such information storage systems.

[0072] The present disclosure also relates to an apparatus for performing the operations described herein. This apparatus may be specially constructed for the intended purpose, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. This computer program may be stored on a machine-readable storage medium, such as, but not limited to, several types of magnetic disks, semiconductor-based memories, magnetic or optical cards, or other types of media suitable for storing electronic instructions.

[0073] The present disclosure may be provided as a computer program product or software that may include a machine-readable medium having stored thereon instructions that can be used to program a computer system (or other electronic device) to perform processes according to the present disclosure. A machine-readable medium includes a mechanism for storing information in a form readable by a machine (e.g., a computer).

[0074] In the foregoing description, embodiments of the present disclosure have been described with reference to specific example embodiments thereof. It will be apparent that various modifications may be made thereto without departing from the broader spirit and scope of the embodiments of the present disclosure as set forth in the appended claims. The specification and drawings are, therefore, to be regarded in an illustrative rather than a restrictive sense.

Claims

1. A method of operating an autonomous vehicle within an indoor facility, comprising: sending, via a processing device, a signal from the autonomous vehicle in motion and transporting equipment or passengers to at least two of a plurality of position indicators; receiving signals from the at least two position indicators during traversal of the first predetermined path; Determining a first position of the autonomous vehicle within the indoor facility based on the received signals, wherein determining the first position of the autonomous vehicle comprises: determining a predetermined path for the autonomous vehicle and determining expected positions of the plurality of position indicators based on the predetermined path; and comparing the expected positions of the plurality of position indicators to real-time positions of the plurality of position indicators based on the received signals; and the method further comprising adjusting movement of the autonomous vehicle based on the comparison; comparing the determined first position to a corresponding first expected position, the first expected position being associated with the first predetermined path; In response to the determined first position being different from the first expected position, adjusting a direction of the autonomous vehicle along the first predetermined path within the indoor facility; and During traversing a second predetermined path, using the determined first position of the first predetermined path to determine a second position of the second predetermined path, wherein determining the second position of the second predetermined path comprises: In an iterative machine learning operation, additional expected positions of at least one of the plurality of position indicators are compared with additional real-time positions of the at least one of the plurality of position indicators based on additional received signals and the comparison of the expected position with the real-time position. The method of claim 1 , wherein the plurality of position indicators comprises a plurality of mirrors. 3 . The method of claim 2 , wherein the plurality of mirrors are movably fixed to specific positions along the first predetermined path and the second predetermined path. 4 . The method of claim 1 , further comprising determining the position of the autonomous vehicle in the absence of Global Positioning System (GPS) data.

5. The method of any one of claims 1-4, further comprising sending the signal to the at least two of the plurality of position indicators via a laser mounted to the autonomous vehicle.

6. The method of any one of claims 1-4, further comprising sending the signal to the at least two of the plurality of position indicators in response to the autonomous vehicle arriving at a predefined position area. 7 . The method of claim 1 , further comprising adjusting the direction of the autonomous vehicle based on previous iterations of determining the position of the autonomous vehicle while traveling along the first predetermined path.

8. A system for transporting equipment or passengers using an autonomous vehicle, comprising: a memory device within the autonomous vehicle for transporting equipment or passengers; and a processing device coupled to the memory device, the processing device configured to: selecting a first predetermined path for the autonomous vehicle along a first path in an indoor facility; determining, before the autonomous vehicle traverses the first predetermined path, expected positions of a plurality of position indicators based on the first predetermined path, wherein the plurality of position indicators are intermittently positioned along the first predetermined path; sending a signal from the autonomous vehicle in motion along the first predetermined path to at least one of the plurality of position indicators; receiving a signal from said at least one of said plurality of position indicators; comparing an expected position of the at least one of the plurality of position indicators with a real-time position of the at least one of the plurality of position indicators based on the received signal; selecting a second predetermined path for the autonomous vehicle along a second path in the indoor facility; and In an iterative machine learning operation, additional expected positions of the at least one of the plurality of position indicators are compared with additional real-time positions of the at least one of the plurality of position indicators based on additional received signals and the comparison of the expected position with the real-time position.

9. The system of claim 8, wherein the processing device is further configured to adjust the direction of the autonomous vehicle along the first predetermined path in response to the expected position of one of the plurality of position indicators being different from the real-time position of the corresponding one of the plurality of position indicators.

10. The system of claim 8, wherein: said at least one of said plurality of position indicators being a reflector; The transmitted signal is a laser signal; and The received signal is the laser signal reflected from the mirror.

11. The system of claim 10, wherein the processing device is further configured to: determining a position of the mirror based on the received signal; In response to the determined position of the mirror being the same position as the expected position of the mirror, confirming the direction of the autonomous vehicle on the first predetermined path; and In response to the determined position of the mirror being different than the expected position of the mirror, adjusting a direction of the autonomous vehicle.

12. A non-transitory machine-readable medium storing instructions for autonomous vehicle localization, the instructions executable to: selecting a first predetermined path for the autonomous vehicle; When the autonomous vehicle traverses the first predetermined path, receiving from a road component: an indication that two position indicators of a plurality of position indicators are approaching, wherein the two position indicators are separated by a particular distance; and an expected position of each of the two position indicators; sending a signal to each of the two position indicators; receiving a signal from each of the two position indicators; comparing the expected position of each of the two position indicators with a real-time position of each of the two position indicators based on received signals; in: The comparison is performed in the absence of Global Positioning System (GPS) data; and The comparison is based on the specific distance between the two position indicators and a distance from each of the two position indicators to the autonomous vehicle; selecting a second predetermined path for the autonomous vehicle along a second path; and In an iterative machine learning operation, additional expected positions for each of the two position indicators are compared with additional real-time positions for each of the two position indicators based on additional received signals and the comparison of the expected positions with the real-time positions.

13. The medium of claim 12, wherein the instructions are further executable to change a position of at least one of the plurality of position indicators.

14. The medium of claim 12, wherein the instructions are further executable to: In response to the expected position being different from the real-time position, adjusting the position of the autonomous vehicle; and An additional signal is sent to each of the two position indicators.

15. The medium of any one of claims 12 to 14, wherein the instructions are further executable to: The sending and receiving of signals from each of the two position indicators is repeated until the expected position and the most recent real-time position are the same position.

16. The medium of any one of claims 12-14, wherein the instructions are further executable to: determining a position of an additional position indicator based on the additional received signal; comparing an expected position of the additional position indicator to a real-time position based on the additional received signal from the additional position indicator; and The comparisons associated with each of the two position indicators and the additional position indicator are combined and a position of the autonomous vehicle is determined.

Citation Information

Patent Citations

  • Apparatus and method for navigation control

    US20180275680A1

  • Navigation techniques for autonomous and semi-autonomous vehicles

    US20190080612A1

  • System and method for determining the position of a vehicle for automated driving on a site

    US20190361448A1