Patent Description:
The present specification generally relates to systems and methods for providing and updating localization for industrial vehicles based on a racking system in a warehouse environment and, more specifically, to systems and methods for utilization of a rack leg imaging module on an industrial vehicle and upright rack leg rails of the racking system to track and update the location of the industrial vehicle in an aisle of the warehouse based on a rack leg identification associated with the aisle.

In order to move items about an industrial environment, workers often utilize industrial vehicles, including for example, forklift trucks, hand and motor driven pallet trucks, and/or other materials handling vehicles. The industrial vehicles can be configured as an automated guided vehicle that navigates through the industrial environment or a manually guided vehicle that knows its location within the industrial environment. In order to facilitate automated guidance, navigation, or both, the industrial vehicle may be adapted for localization within the environment. That is the industrial vehicle can be adapted with sensors and processors for determining the location of the industrial vehicle within the environment such as, for example, pose and position of the industrial vehicle.

<CIT> - in the name of Symbotic LLC - relates to "storage and retrieval systems and, more particularly, to autonomous transports of the storage and retrieval systems" (according to paragraph [<NUM>] thereof).

<CIT>- relates to "locating and navigating a robotic device within a warehouse environment" (according to paragraph [<NUM>] thereof).

<CIT> - relates to a "device for positioning a vehicle. in particular for positioning storage and retrieval machines on shelving systems" (according to a machine translation of paragraphs [<NUM>] and [<NUM>] thereof).

<CIT>- relates to "industrial vehicles and, more specifically, to industrial vehicle control, monitoring, or navigation utilizing radio frequency identification tags, or other similar tag reading technology while accounting for malfunctioning tags in a tag layout" (according to paragraph [<NUM>] thereof).

<CIT> - relates to the "field of robotics, and more particularly to a method, device and system for navigation of an autonomous supply chain node vehicle in a storage center using virtual image-code tape" (according to paragraph [<NUM>] thereof).

According to the subject matter of the present disclosure, and in a first aspect, a materials handling vehicle comprises a camera, an odometry module, a vehicle position calibration processor, and a drive mechanism configured to move the materials handling vehicle along an inventory transit surface. The camera is configured to capture images of (i) an aisle entry identifier for a racking system aisle of a multilevel warehouse racking system and (ii) at least a portion of a rack leg positioned in the racking system aisle. The odometry module is configured to generate materials handling vehicle odometry data. The vehicle position calibration processor is configured to use the aisle entry identifier to generate racking system information indicative of at least (i) a position of an initial rack leg of the racking system aisle along the inventory transit surface and (ii) rack leg spacing in the racking system aisle, generate an initial position of the materials handling vehicle along the inventory transit surface using the position of the initial rack leg, and generate an odometry-based position of the materials handling vehicle along the inventory transit surface in the racking system aisle using the odometry data and the initial position of the materials handling vehicle. The vehicle position calibration processor is further configured to detect a subsequent rack leg using a captured image of at least a portion of the subsequent rack leg, correlate the detected subsequent rack leg with an expected position of the materials handling vehicle in the racking system aisle using rack leg spacing from the racking system information, generate an odometry error signal based on a difference between the expected position and the odometry-based position, and update the odometry-based position of the materials handling vehicle using the odometry error signal for navigation of the materials handling vehicle along the inventory transit surface.

In a second aspect, the materials handling vehicle of the first aspect, wherein the aisle entry identifier comprises a Quick Response (QR) code configured to store and provide the racking system information.

In a third aspect, the materials handling vehicle of the second aspect, wherein the position of the initial rack leg of the racking system aisle along the inventory transit surface is stored in a warehouse map.

In a fourth aspect, the materials handling vehicle of any of the preceding aspects, wherein the racking system information further comprises: information about a hole pattern associated with a set of rack legs of the racking system aisle of the multilevel warehouse racking system, the set of rack legs including the initial rack leg, information about distances between adjacent rack legs of the set of rack legs, distance of a rack face of the racking system aisle of the multilevel warehouse racking system to a guidance wire in the racking system aisle, a number of rack legs of the set of rack legs of the racking system aisle of the multilevel warehouse racking system, or combinations thereof.

In a fifth aspect, the materials handling vehicle of the fourth aspect, wherein the information about the hole pattern comprises distances between rows of holes and distances between columns of holes of each rack leg of the racking system aisle of the multilevel warehouse racking system.

In a sixth aspect, the materials handling vehicle of any of the preceding aspects, wherein the camera is configured to capture images to detect the subsequent rack leg based on a trigger, the trigger comprising the expected position at which the subsequent rack leg is expected based on the racking system information generated from the aisle entry identifier.

In a seventh aspect, the materials handling vehicle of any of the preceding aspects, wherein the aisle entry identifier comprises a QR code, an RFID tag of a tag layout of the racking system aisle, or combinations thereof.

In an eighth aspect, the materials handling vehicle of any of the preceding aspects, wherein the racking system information further comprises information regarding a distance between rack legs in the racking system aisle, and the expected position is calculated by adding the distance between rack legs in the racking system aisle to a previous distance associated with a previously detected rack leg.

In a ninth aspect, the materials handling vehicle of any of the preceding aspects, further comprising a rack leg imaging module, the camera communicatively coupled to the rack leg imaging module, the rack leg imaging module further comprising a plurality of illuminators.

In a tenth aspect, the materials handling vehicle of the ninth aspect, wherein the rack leg imaging module is disposed on a lateral side of the materials handling vehicle configured to laterally face the rack legs of the racking system aisle of the multilevel warehouse racking system.

In an eleventh aspect, the materials handling vehicle of the ninth aspect or the tenth aspect, wherein the rack leg imaging module comprises an infrared (IR) bandpass filter, the camera comprises a lens, and the plurality of illuminators comprise a vertically oriented array of IR illuminators, and the IR bandpass filter is configured to operate with the plurality of illuminators to filter external warehouse lighting surrounding a detected rack leg from the images.

In a twelfth aspect, the materials handling vehicle of the eleventh aspect, wherein the lens of the camera comprises a wide angle lens, a fish eye lens, or a narrow angle lens.

In a thirteenth aspect, the materials handling vehicle of the eleventh aspect or the twelfth aspect, wherein each distributed IR LED comprises a narrow beam reflector lens.

In a fourteenth aspect, the materials handling vehicle of any of the preceding aspects, wherein a warehouse environment map comprises a warehouse map of the multilevel warehouse racking system in a warehouse environment, the warehouse map comprising the position of each initial rack leg of the racking system aisle along the inventory transit surface at each end of the racking system aisle.

In a fifteenth aspect, the materials handling vehicle of any of the preceding aspects, wherein each initial rack leg at each end of the racking system aisle comprises a respective aisle entry identifier, each aisle entry identifier comprising respective racking system information.

In a sixteenth aspect, the materials handling vehicle of any of the preceding aspects, further comprising a materials handling mechanism configured to place goods on and retrieve goods from the multilevel warehouse racking system of a warehouse environment, wherein the vehicle control architecture is in communication with the materials handling mechanism.

In a seventeenth aspect, the materials handling vehicle of any of the first aspect through the fifteenth aspect, wherein the vehicle control architecture is configured to track the navigation of the materials handling vehicle along the inventory transit surface of the racking system aisle, navigate the materials handling vehicle along the inventory transit surface in at least a partially automated manner, or both, using the updated odometry-based position.

The embodiments described herein generally relate to localization techniques for extracting features from rack leg features through use of one or more rack leg imaging modules as described herein. Localization is utilized herein to refer to any of a variety of system configurations that enable active tracking of a vehicle location in a warehouse, industrial or commercial facility, or other environment. For the purposes of defining and describing the concepts and scope of the present disclosure, it is noted that a "warehouse" encompasses any indoor or outdoor industrial facility in which materials handling vehicles transport goods including, but not limited to, indoor or outdoor industrial facilities that are intended primarily for the storage of goods, such as those where multi-level racks are arranged in aisles, and manufacturing facilities where goods are transported about the facility by materials handling vehicles for use in one or more manufacturing processes. The concepts of the present disclosure are not limited to any particular localization system configuration and are deemed to be applicable to any of a variety of conventional localization systems. Such localizations systems may include those described in <CIT>, entitled LOST VEHICLE RECOVERY UTILIZING ASSOCIATED FEATURE PAIRS, and <CIT>, entitled VEHICLE POSITIONING OR NAVIGATION UTILIZING ASSOCIATED FEATURE PAIRS.

The localization systems may be used to localize and/or navigate an industrial vehicle through an warehouse environment <NUM> (<FIG>) that includes a racking structure, which may be a warehouse, stock yard, or the like. Suitably, the rack leg features may be utilized by a rack leg imaging module to capture images of the rack leg features to initialize localization and update accumulated odometry as described herein. In some embodiments, the rack leg imaging module including a camera can be mounted to an industrial vehicle (e.g., automated guided vehicle or a manually guided vehicle) that navigates through a warehouse. The input image can be any image captured from the camera prior to extracting features from the image.

Referring now to <FIG>, a materials handling vehicle <NUM> can be configured to navigate through a warehouse environment <NUM> (<FIG>) such as a warehouse <NUM>. The materials handling vehicle <NUM> can comprise a drive mechanism configured to move the materials handling vehicle <NUM> along an inventory transit surface <NUM>, a materials handling mechanism configured to place good on and/or retrieve goods from a storage bay of a multilevel warehouse racking system <NUM> in the warehouse <NUM> of the warehouse environment <NUM>, and vehicle control architecture in communication with the drive and materials handling mechanisms. In an embodiment, the materials handling mechanism is configured to move materials along a vertically-oriented materials handling axis.

The materials handling vehicle <NUM> can comprise an industrial vehicle for lifting and moving a payload such as, for example, a forklift truck, a reach truck, a turret truck, a walkie stacker truck, a tow tractor, a pallet truck, a high/low, a stacker-truck, trailer loader, a sideloader, a fork hoist, or the like. The industrial vehicle can be configured to automatically or manually navigate an inventory transit surface <NUM> of the warehouse <NUM> along a desired path. Accordingly, the materials handling vehicle <NUM> can be directed forwards and backwards by rotation of one or more wheels <NUM>. Additionally, the materials handling vehicle <NUM> can be caused to change direction by steering the one or more wheels <NUM>. Optionally, the vehicle can comprise operator controls for controlling functions of the vehicle such as, but not limited to, the speed of the wheels <NUM>, the orientation of the wheels <NUM>, or the like. The operator controls can comprise controls that are assigned to the functions of the materials handling vehicle <NUM> such as, for example, switches, buttons, levers, handles, pedals, input/output device, or the like. It is noted that the term "navigate" as used herein means movement control or route planning of a vehicle from one place to another including, but not limited to, plotting a graphical path for a manual vehicle operation, providing a set of turn by turn instructions for manual operation, or providing an automated control guiding the vehicle along a travel path that may include such turn by turn instructions for automated operation.

The warehouse <NUM> may include the warehouse racking system <NUM> having a plurality of racks <NUM> including a plurality of shelves defined between a set of upright rails <NUM> of a rack <NUM>. Each upright rail <NUM> of the rack <NUM> has a rack leg <NUM> configured to be disposed on and support the upright rail <NUM> with respect to the inventory transit surface <NUM>. A racking system aisle <NUM>' for navigation of the materials handling vehicle <NUM> on the inventory transit surface <NUM> may be defined between a pair of opposing upright rails <NUM> of racks <NUM>. Alternatively, the racking system aisle <NUM>' or portions of the racking system aisle <NUM>' may be defined by at least one rack <NUM> and an opposite defining component such as, but not limited to, one or more pallet stacks, a mezzanine, a virtually defined aisle boundary, or the like. Each end of the pair of opposing upright rails <NUM> is configured to act as an entrance end or an exit end for the materials handling vehicle <NUM> into the racking system aisle <NUM>'. Aisle entry identifiers <NUM> may be disposed on the rack legs <NUM> of at least the exit and entrance ends of the pair of opposing upright rails <NUM> that form a racking system aisle <NUM>'. The aisle entry identifiers <NUM> may include, but are not limited to, stickers or other adhesive or attachable components that include unique codes such as Quick Response (QR) codes. The QR codes may store and provide information about a rack leg <NUM> including, but not limited to, a position of the rack leg <NUM> within the warehouse <NUM> as stored in a warehouse map <NUM>, described in greater detail below. The aisle entry identifier <NUM> may include a QR code configured to store and provide the racking system information, which may include information about a hole pattern associated with a set of rack legs <NUM> of the racking system aisle <NUM>' of the multilevel warehouse racking system <NUM>, the set of rack legs <NUM> including the initial rack leg <NUM>, information about distances between adjacent rack legs <NUM> of the set of rack legs <NUM>, distance of a rack face of the racking system aisle <NUM>' of the multilevel warehouse racking system <NUM> to a guidance wire in the racking system aisle <NUM>', a number of rack legs <NUM> of the set of rack legs <NUM> of the racking system aisle <NUM>' of the multilevel warehouse racking system <NUM>, or combinations thereof. In embodiments, the information about the hole pattern may include distances between rows of holes and distances between columns of holes of each rack leg <NUM> of the racking system aisle <NUM>' of the multilevel warehouse racking system <NUM>. The racking system information may further include information regarding a distance between rack legs <NUM> in the racking system aisle <NUM>', and the expected position is calculated by adding the distance between rack legs <NUM> in the racking system aisle <NUM>' to a previous distance associated with a previously detected rack leg <NUM>.

Thus, the QR codes may further store and provide information including, but not limited to, information about a hole pattern associated with a set of rack legs <NUM> of a rack <NUM> defining an outer aisle boundary, distances between rack legs <NUM> of the rack <NUM> referable to herein as a "tick" distance, the rack <NUM> defining the outer aisle boundary, distance from a rack face of the rack <NUM> to a guidance wire for a given racking system aisle <NUM>', and decoding data configured to permit decoding of a localization target string into a target pose. The hole pattern information may include, for example, distances between rows and distances between columns of holes of a rack leg <NUM>. The QR codes may further store and provide information about a number of rack legs <NUM> in a given racking system aisle <NUM>' based on information associated with an observed rack leg <NUM>. Thus, the QR codes may contain data about a rack leg pattern, rack leg spacing, number of rack legs, and rack distance from a materials handling vehicle <NUM> centerline along with a guidance wire on the inventory transit surface <NUM> in a racking system aisle <NUM>' for a plurality of rack legs <NUM> associated with the racking system aisle <NUM>' to allow for subsequent use of the plurality of rack legs <NUM> associated with the racking system aisle <NUM>' for localization of the materials handling vehicle <NUM>. The materials handling vehicle <NUM> may be configured to be disposed on a guidance system, such as the guidance wire that may be utilized as a wire guidance for vehicle navigation on the inventory transit surface <NUM>, a guidance rail utilized for vehicle navigation on the inventory transit surface <NUM>, or the like. It is contemplated within the scope of this disclosure that the embodiments described herein may be utilized with such types of guidance systems as described or yet-to-be-developed. In embodiments, different racking system aisles <NUM>' in the warehouse may have different spacing between upright rails <NUM> of a rack <NUM> and different types of racking of racks <NUM> in the racking system <NUM>.

Referring to <FIG>, the warehouse environment <NUM>, which may be the warehouse <NUM> (<FIG>), may include the aisle entry identifiers <NUM> on a rack <NUM> and/or tag reading technology associated with path defining components <NUM> such as pallets and/or racks <NUM>. The tag reading technology may include, for example, a tag layout <NUM> in a single aisle path <NUM> (<FIG>) of a racking system aisle <NUM>' (<FIG>), an example of which is described in <CIT>. The tag layout <NUM> can be constructed to comprise individual tags, such as radio frequency identification (RFID) tags, that are positioned such that the materials handling vehicle <NUM> will operate under a defined set of vehicle functionality (e.g., vehicle function data) and/or tag-dependent position data that will endure until the materials handling vehicle <NUM> identifies another individual tag of the tag layout <NUM> with a new correlation of vehicle functionality. Information about a first rack leg <NUM> may be stored in, or accessible from, a table using an individual tag associated with the first rack leg <NUM> such as an RFID tag disposed in a floor surface at the beginning of a racking system aisle <NUM>', where the first rack leg <NUM> may be placed at the beginning of the racking system aisle <NUM>' or further down the racking system aisle <NUM>'. As a non-limiting example, a set of pallets may be placed in an aisle prior to a rack <NUM> including the first rack leg <NUM>, and the RFID tag may be placed at the beginning of the aisle to contain information about the first rack leg <NUM> and the rack <NUM>.

In operation, by way of example and not as a limitation, the tag layout <NUM> may be utilized with respect to a tag reader <NUM> and the reader module <NUM> of the materials handling vehicle <NUM> (<FIG>), examples of which are also described in <CIT>. The reader module <NUM> may include a reader memory coupled to a reader processor. The tag reader <NUM> and the reader module <NUM> may cooperate to identify individual tags of a tag layout <NUM>. Each individual tag of the tag layout <NUM> may correspond to a unique identification code, such as a code including rack leg information of a rack leg <NUM> associated with an individual tag at the beginning of the aisle path <NUM> of the racking system aisle <NUM>', for example. Each unique identification code corresponds to a memory location in the reader memory of the reader module <NUM>, which memory location includes at least one of indexing data, operational data, and tag position data. As a non-limiting example, the tag reader <NUM> and the reader module <NUM> cooperate to determine vehicle functionality by identifying an individual tag of the tag layout <NUM> and associating the identified tag with a memory location in the reader memory to retrieve at least one of indexing data, operational data, and tag position data. The individual tags comprise a plurality of zone identification tags <NUM> and a plurality of zone tags <NUM>. Each zone identification tag <NUM> occupies a position in the tag layout <NUM> that corresponds to a unique set of zone tags <NUM> that each comprise a plurality of zone tags <NUM>. In one embodiment, each unique set of zone tags <NUM> comprises a plurality of zone tags <NUM>, one or more function tags <NUM>, one or more aisle extension tags <NUM>, one or more aisle entry tags <NUM>, or combinations thereof. For example, and not by way of limitation, respective zone tags <NUM> of the unique set of zone tags <NUM> that are the furthest from a midpoint <NUM> of the aisle path <NUM> of the racking system aisle <NUM>' may comprise both vehicle functionality and end-of-aisle vehicle functionality.

As a non-limiting example, the individual tags of the tag layout <NUM> may comprise a plurality of aisle entry tags <NUM> that are positioned along an aisle path <NUM> between vehicle entry or vehicle exit portions <NUM> of the aisle path <NUM>. A reader module <NUM> on the materials handling vehicle <NUM> (<FIG>), an example of which is also described in <CIT>, may discriminate between the aisle entry tags <NUM> and the individual tags of the tag layout <NUM> along the aisle path <NUM> and correlate end-of-aisle vehicle functionality with an identified aisle entry tag <NUM>. A vehicle controller may control operational functions of the industrial vehicle hardware of the materials handling vehicle <NUM> in response to the correlation of end-of-aisle vehicle functionality with an identified aisle entry tag <NUM>. In this manner, a tag layout <NUM> can be constructed to comprise aisle entry tags <NUM> that are positioned within an aisle path <NUM> of the racking system aisle <NUM>' such that particular end-of-aisle vehicle functionality can be implemented as an industrial vehicle <NUM>, traveling within an aisle path <NUM> of the racking system aisle <NUM>', approaches the vehicle entry or vehicle exit portion <NUM> of the aisle path <NUM>. The exit portion distance is a quantity of length measured between a current position of the materials handling vehicle <NUM> and the end point <NUM> of respective aisle paths <NUM>. The reader module <NUM> may discriminate between the outer end-cap tag and the inner end-cap tag of the end-cap pair <NUM> and correlate an identified outer end-cap tag with exit-specific vehicle functionality and correlate an identified inner end-cap tag with entry-specific vehicle functionality. In one embodiment, the tag layout <NUM> may comprise one or more end-cap rows <NUM> which comprise a plurality of end-cap pairs <NUM>. The one or more end-cap rows <NUM> are spaced across respective end points <NUM> of an aisle path <NUM> such that an industrial vehicle entering or exiting the aisle path <NUM> will identify the individual tags of the end-cap row <NUM> regardless of where the materials handling vehicle <NUM> crosses the end-cap row <NUM> within the vehicle entry or vehicle exit portion <NUM> of the aisle path <NUM>.

The materials handling vehicle <NUM> can further comprise a rack leg imaging module <NUM> including a camera <NUM> (<FIG>) for capturing images such as input images of rack leg features. The camera <NUM> can be any device capable of capturing the visual appearance of an object and transforming the visual appearance into an image. Accordingly, the camera <NUM> can comprise an image sensor such as, for example, a charge coupled device, complementary metal-oxide-semiconductor sensor, or functional equivalents thereof. In some embodiments, the materials handling vehicle <NUM> can be located within the warehouse <NUM> and be configured to capture images of a rack leg <NUM> of an upright rail <NUM> of a rack <NUM> in the warehouse <NUM>. In order to capture rack leg images, the camera <NUM> can be mounted to at least one lateral side <NUM> of the materials handling vehicle <NUM> and have a field of view laterally focused toward the rack leg <NUM>, as described in greater detail below. For the purpose of defining and describing the present disclosure, the term "image" as used herein can mean a representation of the appearance of a detected object. The image can be provided in a variety of machine readable representations such as, for example, JPEG, JPEG <NUM>, Exif, TIFF, raw image formats, GIF, BMP, PNG, Netpbm format, WEBP, raster formats, vector formats, or any other format suitable for capturing rack leg uprights.

The materials handling vehicle <NUM> includes a vehicle body <NUM>. The vehicle body <NUM> may include a fork side <NUM> and a power unit side <NUM>. In embodiments, the fork side <NUM> may define a front of the materials handling vehicle <NUM> configured to move in a forward direction along an inventory transit surface <NUM> that is horizontally-oriented, and the power unit side <NUM> may define a rear of the materials handling vehicle <NUM> configured to move in a reverse direction along the inventory transit surface <NUM>. The fork side <NUM> may include a pair of fork tines <NUM>. In embodiments, the vehicle body <NUM> may include a fork carriage assembly <NUM> positioned at the fork side <NUM> that may be movably coupled to a mast assembly <NUM>. The fork carriage assembly <NUM> may be vertically movable along the mast assembly <NUM> to retrieve or deposit a tote <NUM>' with respect to a rack <NUM>, which may be a multilevel rack in a very narrow aisle (VNA) warehouse. The materials handling vehicle <NUM> may include a sensor location on the fork side <NUM>, the power unit side <NUM>, or both to facilitate autonomous or semiautonomous vehicle travel. The materials handling vehicle <NUM> may also comprise an operator compartment <NUM> that may also be movably coupled to the mast assembly <NUM>. This operator compartment <NUM> may be positioned between the fork carriage assembly <NUM> and the power unit side <NUM> of the vehicle body <NUM>. The vehicle body <NUM> may also include a pair of lateral sides <NUM> extending between the fork side <NUM> and the power unit side <NUM> of the vehicle body <NUM>. The pair of lateral sides <NUM> thus extend between the front and rear of the materials handling vehicle <NUM>. The pair of lateral sides <NUM> may define a width W<NUM>. In VNA environments, a warehouse aisle such as a racking system aisle <NUM>' in which the materials handling vehicle <NUM> may be positioned may be characterized by an aisle width W<NUM>, where W<NUM>- W<NUM> <W inches and W is in a range of from about <NUM> inches to about <NUM> inches (and W<NUM>> W<NUM>).

The embodiments described herein can comprise a system <NUM> including one or more vehicular processors such as processors <NUM> (<FIG>) communicatively coupled to the camera <NUM> and a memory. In embodiments, the processors <NUM> may include a vehicle position calibration processor and/or an image capture processor. A network interface hardware <NUM> may facilitate communications over a network <NUM> via wires, a wide area network, a local area network, a personal area network, a cellular network, a satellite network, and the like. Suitable personal area networks may include wireless technologies such as, for example, IrDA, Bluetooth, Wireless USB, Z-Wave, ZigBee, and/or other near field communication protocols. Suitable personal area networks may similarly include wired computer buses such as, for example, USB and FireWire. Suitable cellular networks include, but are not limited to, technologies such as LTE, WiMAX, UMTS, CDMA, and GSM. The network interface hardware <NUM> can be communicatively coupled to any device capable of transmitting and/or receiving data via the network <NUM>. Accordingly, the network interface hardware <NUM> can include a communication transceiver for sending and/or receiving any wired or wireless communication. For example, the network interface hardware <NUM> may include an antenna, a modem, LAN port, Wi-Fi card, WiMax card, mobile communications hardware, near-field communication hardware, satellite communication hardware and/or any wired or wireless hardware for communicating with other networks and/or devices.

The one or more processors <NUM> can execute machine readable instructions to implement any of the methods or functions described herein automatically. Memory as at least one of non-volatile memory <NUM> or volatile memory <NUM> in a computer readable medium <NUM> (e.g., memory) for storing machine readable instructions can be communicatively coupled to the one or more processors <NUM>, the camera <NUM>, or any combination thereof. The one or more processors <NUM> can comprise a processor, an integrated circuit, a microchip, a computer, or any other computing device capable of executing machine readable instructions or that has been configured to execute functions in a manner analogous to machine readable instructions. The computer readable medium <NUM> can comprise RAM, ROM, a flash memory, a hard drive, or any non-transitory device capable of storing machine readable instructions.

The one or more processors <NUM> and the memory may be integral with the camera <NUM>. Alternatively or additionally, each of the one or more processors <NUM> and the memory can be integral with the materials handling vehicle <NUM>. Moreover, each of the one or more processors <NUM> and the memory can be separated from the materials handling vehicle <NUM> and the camera <NUM>. For example, a management server, server, or a mobile computing device can comprise the one or more processors <NUM>, the memory, or both. It is noted that the one or more processors <NUM>, the memory, and the camera <NUM> may be discrete components communicatively coupled with one another without departing from the scope of the present disclosure. Accordingly, in some embodiments, components of the one or more processors <NUM>, components of the memory, and components of the camera <NUM> can be physically separated from one another. The phrase "communicatively coupled," as used herein, means that components are capable of exchanging data signals with one another such as, for example, electrical signals via conductive medium, electromagnetic signals via air, optical signals via optical waveguides, or the like.

Thus, embodiments of the present disclosure may comprise logic or an algorithm written in any programming language of any generation (e.g., 1GL, 2GL, 3GL, 4GL, or 5GL). The logic or an algorithm can be written as machine language that may be directly executed by the processor, or assembly language, object-oriented programming (OOP), scripting languages, microcode, etc., that may be compiled or assembled into machine readable instructions and stored on a machine readable medium such as computer readable medium <NUM>. Alternatively or additionally, the logic or algorithm may be written in a hardware description language (HDL). Further, the logic or algorithm can be implemented via either a field-programmable gate array (FPGA) configuration or an application-specific integrated circuit (ASIC), or their equivalents.

In embodiments, one or more warehouse maps <NUM> described herein may be stored in the memory. The system <NUM> can include one or more displays and/or output devices <NUM> such as monitors, speakers, headphones, projectors, wearable-displays, holographic displays, and/or printers, for example. Output devices <NUM> may be configured to output audio, visual, and/or tactile signals and may further include, for example, audio speakers, devices that emit energy (radio, microwave, infrared, visible light, ultraviolet, x-ray and gamma ray), electronic output devices (Wi-Fi, radar, laser, etc.), audio (of any frequency), etc..

The system <NUM> may further include one or more input devices <NUM> which can include, by way of example, any type of mouse, keyboard, disk/media drive, memory stick/thumb-drive, memory card, pen, touch-input device, biometric scanner, voice/auditory input device, motion-detector, camera, scale, and the like. Input devices <NUM> may further include cameras (with or without audio recording), such as digital and/or analog cameras, still cameras, video cameras, thermal imaging cameras, infrared cameras, cameras with a charge-couple display, night-vision cameras, three dimensional cameras, webcams, audio recorders, and the like. For example, an input device <NUM> may include the camera <NUM> described herein. As a non-limiting example, the input device <NUM> may be communicatively coupled to a rack leg imaging module system <NUM> including the camera <NUM> of the rack leg imaging module <NUM> as described herein.

Referring to <FIG>, the rack leg imaging module system <NUM> includes communicatively coupled components including, but not limited to, an odometry module <NUM>, a hardware control box <NUM>, a control module <NUM>, an infrared (IR) illumination module <NUM>, an IR camera module <NUM>, and a battery <NUM>. In embodiments, the battery <NUM> may be a vehicle battery of the materials handling vehicle <NUM> or a separate battery dedicated to the rack leg imaging module system <NUM>. The hardware control box <NUM> may include an internal layout with a light emitting diode (LED) driver to regulate electrical current to a plurality of LEDs as a plurality of illuminators <NUM>, a microcontroller to count ticks of the odometry module <NUM>, and a DC-DC converter to power the camera <NUM>. The odometry module <NUM> may be any conventional odometry module configured to generate materials handling vehicle odometry data, such as via a wheel encoder of the materials handling vehicle <NUM>.

The IR illumination module <NUM> may comprise the plurality of illuminators <NUM> of the rack leg imaging module <NUM> as described herein, and the IR camera module <NUM> may comprise the camera <NUM> of the rack leg imaging module <NUM> as described herein. As a non-limiting example and embodiment, the rack leg imaging module system <NUM> includes the rack leg imaging module <NUM> including the camera <NUM> and the plurality of illuminators <NUM>, LED drivers including an on/off digital control configured to control the plurality of illuminators <NUM>, an odometry module <NUM>, the control module <NUM>, and DC-DC converters to power from the battery <NUM> the connected hardware. The control module <NUM> is configured to trigger image capture by the camera <NUM>, accumulate encoder ticks as described in greater detail below, and report tick information to the one or more processors <NUM> through serial communication. The control module <NUM> may further be configured to operate in two modes, a QR initialization mode to initialize an initial position of the materials handling vehicle <NUM> in an aisle entrance of a racking system aisle <NUM>' in the warehouse <NUM> and a position maintenance mode to maintain and update the position of the materials handling vehicle <NUM> in the racking system aisle <NUM>' during travel on the inventory transit surface <NUM>, as described in greater detail below. Modes and parameters of the rack leg imaging module system <NUM> may be set by sending serial commands to the control module <NUM>, which may operate as one of the one or more processors <NUM> of the system <NUM>.

The rack leg imaging module system <NUM> may be communicatively coupled to a controller access network (CAN) bus of the materials handling vehicle <NUM> and may utilize an associated wire guidance or rail guidance signal of the materials handling vehicle <NUM> for localization. The rack leg imaging module system <NUM> may further make use of CAN odometry data associated with the materials handling vehicle <NUM>, and publish the position to CAN, for automatic positioning system and navigation use. The rack leg imaging module system <NUM> may operate with the CAN interface of the materials handling vehicle <NUM> to provide rack leg imaging to the materials handling vehicle <NUM>. The rack leg imaging module system <NUM> may further maintain position of the materials handling vehicle <NUM> in an onboard memory, even when power of the materials handling vehicle <NUM> is turned off.

As is noted above and referring again to <FIG>, the materials handling vehicle <NUM> can comprise or be communicatively coupled with the one or more processors <NUM>. Accordingly, the one or more processors <NUM> can execute machine readable instructions to operate or replace the function of the operator controls. The machine readable instructions can be stored upon the memory. Accordingly, in some embodiments, the materials handling vehicle <NUM> can be navigated automatically by the one or more processors <NUM> executing the machine readable instructions. In some embodiments, the location of the vehicle can be monitored by the localization system as the materials handling vehicle <NUM> is navigated.

For example, the materials handling vehicle <NUM> can automatically navigate along the inventory transit surface <NUM> of the warehouse <NUM> along a desired path to a desired position based upon a localized position of the materials handling vehicle <NUM>. In some embodiments, the materials handling vehicle <NUM> can determine the localized position of the materials handling vehicle <NUM> with respect to the warehouse <NUM>. The determination of the localized position of the materials handling vehicle <NUM> can be performed by comparing image data to map data. The map data can be stored locally in the memory as one or more warehouse maps <NUM>, which can be updated periodically, or map data provided by a server or the like. In embodiments, an industrial facility map comprises a mapping of the racking system features, such as each end rack leg <NUM> of each upright rail <NUM> of a rack <NUM> of the racking system <NUM> at each aisle end, where each end rack leg <NUM> is associated with a unique code, including but not limited to codes such as QR codes on aisle entry identifiers <NUM> including rack leg identification information as described herein. Given the localized position and the desired position, a travel path can be determined for the materials handling vehicle <NUM>. Once the travel path is known, the materials handling vehicle <NUM> can travel along the travel path to navigate the inventory transit surface <NUM> of the warehouse <NUM>. Specifically, the one or more processors <NUM> can execute machine readable instructions to perform localization system functions and operate the materials handling vehicle <NUM>. In one embodiment, the one or more processors <NUM> can adjust the steering of the wheels <NUM> and control the throttle to cause the materials handling vehicle <NUM> to navigate the inventory transit surface <NUM>.

Referring to <FIG>, a rack leg imaging module <NUM> is shown disposed on a lateral side <NUM> of a materials handling vehicle <NUM> between the power unit side <NUM> and the fork side <NUM>. The rack leg imaging module <NUM> is further shown as including an arrangement of a camera <NUM> and an illumination module including a plurality of illuminators <NUM>. The rack leg imaging module <NUM> may include the camera <NUM> and a vertically oriented array of infrared (IR) illuminators <NUM> and an IR bandpass filter. The vertically-oriented array of IR illuminators may be disposed on at least one of the pair lateral sides <NUM> of the materials handling vehicle <NUM>. The camera <NUM> may be vertically aligned with the vertically oriented array of IR illuminators <NUM> and configured to capture images of at least a portion of a rack leg <NUM> positioned in a racking system aisle <NUM>' of a multilevel warehouse racking system <NUM>. An image capture processor (e.g., of the processors <NUM>) may be configured to generate a filtered IR rack leg image by coordinating to capture of a rack leg image of at least a portion of a rack leg <NUM> with illumination of the rack leg <NUM> by the vertically oriented array of IR illuminators <NUM> and with band pass filtering of external warehouse lighting surrounding the rack leg <NUM> from the rack leg image using the IR bandpass filter. The vehicle control architecture may be configured to navigate the materials handling vehicle <NUM> along the inventory transit surface <NUM> using the filtered IR rack leg image.

In an embodiment, the camera <NUM> may include a lens and the IR bandpass filter. The lens may be, but is not limited to, a wide angle lens, a fish eye lens, a narrow angle lens, or the like. The lens may be dependent on a leg pattern used for a rack leg <NUM> in the warehouse environment <NUM>. The plurality of illuminators <NUM> of the illumination module may include, but are not limited to, a plurality of LEDs or other types of illumination such as incandescent, fluorescent, IR laser diode, and the like. As a non-limiting example, the plurality of illuminators <NUM> of the illumination module may include a vertical series of distributed IR LEDs, each including a narrow beam reflector lens. The rack leg imaging module <NUM> is mounted on at least one lateral side <NUM> of the materials handling vehicle <NUM> and configured to laterally face a rack <NUM> in first lateral direction, such as when the materials handling vehicle <NUM> is on wire guidance or rail guidance on the inventory transit surface <NUM> in a racking system aisle <NUM>' defined by the rack <NUM>. The materials handling vehicle <NUM> may include an opposite rack leg imaging module <NUM> mounted on the opposite lateral side <NUM> of the materials handling vehicle <NUM> and configured to laterally face in a second lateral direction opposite the first lateral direction another rack <NUM> defining another side of the racking system aisle <NUM>'. Two rack leg imaging modules <NUM> mounted on opposite lateral sides <NUM> of the materials handling vehicle <NUM> allows both sides of the racking system aisle <NUM>' to be utilized for localization, as described in greater detail further below.

Along with a unique code associated with a first aisle entry identifier <NUM> and the three-dimensional coordinates of the rack leg <NUM> associated with the first aisle entry identifier <NUM> to indicate location of the rack leg <NUM> in the warehouse environment based on the map, the patterns from an image of the rack leg <NUM> captured by the rack leg imaging module <NUM> are recorded in a localization feature map for use during localization system operation, as described in greater detail below. In an embodiment, mapping of the QR codes associated with rack legs <NUM> of racks <NUM> may occur through manual mapping utilizing a laser tool such as a laser range finder or laser distance meter or other suitable mapping scanning tools. In embodiments, utilized individual tags, such as RFID tags as described herein, may be mapped utilizing same or similar techniques while further using an antenna to identify a location of the individual tag.

The vehicle location of the materials handling vehicle <NUM> may be verified and/or made more accurate based on the rack leg imaging module <NUM> as described herein. For a vehicle that is localized but with low accuracy, for example, use of the rack leg imaging module <NUM> and an aisle entry identifier <NUM> permits an increase in localization accuracy of the materials handling vehicle <NUM> upon successful detection of the aisle entry identifier <NUM>. The aisle entry identifier <NUM> is able to be utilized to initialize a vehicle location or verify the predicted vehicle location and to fix the vehicle localization to a high degree of certainty. Increased uptime in the length of time a materials handling vehicle <NUM> may be localized through the localization system through use of such rack leg imaging modules <NUM> enhances value of the vehicle localization in the uptime and in improving accuracy of the localization. By way of example and not as a limitation, uptime associated with the materials handling vehicle <NUM> references the amount of time the materials handling vehicle <NUM> may be utilizing and not lost, turned off, or otherwise not utilized during periods of downtime. An unknown location of the materials handling vehicle <NUM> results in disruption of uptime associated with the materials handling vehicle <NUM> resulting situations such as inhibited work flow and inefficient vehicle navigation and use. As a non-limiting example, the materials handling vehicle <NUM> will stop if it becomes lost such that the localization is no longer known, navigation could lead to an incorrect target or pick up location if the localization is incorrect, and the like.

The processes of the rack leg imaging module <NUM> is set forth in greater detail in <FIG>. The camera <NUM> and illuminators <NUM> of the rack leg imaging module may capture an image of a rack leg <NUM> that is digitized and may have a stored rack leg pattern superimposed on the digitized image to match the image with a stored rack leg <NUM>.

Referring to <FIG>, the system <NUM> through rack leg imaging module system <NUM> and the camera <NUM> of the rack leg imaging module <NUM> is configured to provide rack leg imaging for one or more vehicles <NUM> that may be disposed on wire guidance or rail guidance in racking system aisles <NUM>' of a warehouse <NUM>. The camera is configured to capture images of (i) an aisle entry identifier <NUM> positioned to correspond with an entrance of a racking system aisle <NUM>' of a multilevel warehouse racking system <NUM> and (ii) at least a portion of a rack leg <NUM> positioned in the racking system aisle <NUM>'. By way of example and not as a limitation, the system <NUM> is configured to use the camera <NUM> of the rack leg imaging module <NUM> to read the aisle entry identifier <NUM> as a unique code associated with a first rack leg <NUM> of a rack <NUM> at an aisle entrance and use odometry data from an odometry module <NUM>, such as a wheel encoder on the materials handling vehicle <NUM>, to keep track of a change in position of the materials handling vehicle <NUM>. The odometry module <NUM> is configured to generate odometry data representing a distance traveled by the materials handling vehicle <NUM> along the inventory transit surface <NUM>. The camera <NUM> is used to continue to identify rack legs <NUM> that are passed by in the racking system aisle <NUM>' and use of the identifying information to correct any accumulated encoder error and thus calibrate odometry information and the updated position of the materials handling vehicle <NUM>. Parameters associated with the system <NUM> may be split between storage onboard the rack leg imaging module <NUM> and storage within each unique code associated with a rack leg <NUM>.

As a non-limiting example, the process <NUM> follows instructions to capture image(s) of a rack leg <NUM> at an aisle entrance of a first racking system aisle <NUM>' to initialize a localization position of the materials handling vehicle <NUM> in the warehouse <NUM> with respect to the first racking system aisle <NUM>'. As a non-limiting example, the rack leg <NUM> defines at least a portion of a lateral boundary of the racking system aisle <NUM>' that may be the aisle entrance of the first racking system aisle <NUM>' and includes an aisle entry identifier <NUM>, which may be configured as a sticker on the rack leg <NUM> including the aisle entry identifier <NUM> as a unique QR code. The unique QR code may include localization information with respect to the rack leg <NUM> and information about rack leg patterns associated with the rack legs <NUM> of a rack <NUM>, such as hole patterns, spacing or "tick" patterns between rack legs <NUM> of the rack <NUM>, and the like. A plurality of images are captured at a high rate by the camera <NUM> to read the unique QR code at the aisle entrance, which includes a stored position of the associated rack leg <NUM>, and initialize the position of the materials handling vehicle <NUM> in the warehouse <NUM>.

Thus, in block <NUM>, the aisle entry identifier <NUM> is used to generate racking system information indicative of at least (i) a position of an initial rack leg <NUM> of the racking system aisle <NUM>' along the inventory transit surface <NUM> and (ii) rack leg spacing in the racking system aisle <NUM>'. In block <NUM>, the initial position of the materials handling vehicle <NUM> along the inventory transit surface <NUM> is generated using the position of the initial rack leg <NUM> from the racking system information. It is noted that reference herein to a value or parameter that is "generated" covers calculating, measuring, estimating, or any combination thereof. The rack leg imaging module <NUM> may be commissioned with a known position of the materials handling vehicle <NUM> such that the updated position of the materials handling vehicle <NUM> is calculated based on the retrieved position of the associated rack leg <NUM>. A position of the QR code in the captured image(s) may be used for fine adjustment of the position of the materials handling vehicle <NUM>, given known camera parameters and optionally a distance of the camera <NUM> from the rack <NUM> that may assist, for example, with setting one or more camera parameters based on a the camera distance to capture an optimal, defined image of the rack leg <NUM>.

After initialization in blocks <NUM>-<NUM>, the odometry module <NUM> of the materials handling vehicle <NUM> is used to maintain vehicle position knowledge. In block <NUM>, an odometry-based position of the materials handling vehicle <NUM> along the inventory transit surface <NUM> in the racking system aisle <NUM>' is generated using the odometry data and the initial position of the materials handling vehicle <NUM>. In an embodiment, the rack leg imaging module <NUM> is commissioned with a known distance travelled per tick and a polarity or direction of travel. Such odometry information is used between the rack legs <NUM> and captured images of the rack legs to estimate and maintain vehicle position knowledge from a previous image capture. As a non-limiting example, a last image capture is a foundation upon which the odometry is based until a new image is captured to become the last image capture to continue to maintain the vehicle position knowledge as the materials handling vehicle <NUM> advances along the racking system aisle <NUM>'.

In block <NUM>, a subsequent rack leg <NUM> is detected using a captured image of at least a portion of the subsequent rack leg <NUM>. For example, images continue to be captured by the camera <NUM> as the materials handling vehicle <NUM> travels along the racking system aisle <NUM>' defined by the rack <NUM> to detect the plurality of rack legs <NUM> of the rack <NUM> defining the racking system aisle <NUM>'. Images may be captured by the camera <NUM> at a high rate as the materials handling vehicle <NUM> travels along the racking system aisle <NUM>' defined by a rack <NUM> and including a plurality of rack legs <NUM>. In embodiments, the images may be captured by the camera <NUM> when the rack leg imaging module <NUM> expects a rack leg <NUM> to be in the frame. For example, the camera <NUM> may be triggered to take an image at a position where a rack leg <NUM> is expected to appear in the image, which may reduce image processing requirements and camera interface bandwidth requirements as well as power usage.

In block <NUM>, the detected subsequent rack leg <NUM> is correlated with an expected position of the materials handling vehicle <NUM> in the racking system aisle <NUM>' using rack leg spacing from the racking system information. As a non-limiting example, such data associated with an expected position of the rack leg <NUM> and thus associated with an expected position of the materials handling vehicle <NUM> when at the rack leg <NUM> may be based on information from the unique code, such as the QR code of the aisle entry identifier <NUM> and/or the RFID tag of the tag layout <NUM>. Such data may include information of when to trigger a subsequent image capture to capture an image of a subsequent expected rack leg <NUM> as a next expected data point. A tolerance with respect to that next expected data point may be included as well before and after the data point. In an embodiment, an expected position may be calculated by adding a distance between rack legs <NUM> in a racking system aisle <NUM>' defined by a rack <NUM> in units of ticks to a previous number of ticks associated with when the last rack leg <NUM> was detected. The previous number of ticks may be corrected for offset of the rack leg <NUM> in the image. The camera <NUM> and the plurality of illuminators <NUM> may then be triggered to light and capture an image <NUM> to detect an expected rack leg <NUM> when the number of ticks hits a target tick count threshold number.

Referring to <FIG>, an image <NUM> is captured by the camera <NUM> to show a detected rack leg <NUM>. Circles <NUM> are disposed on detected holes of the detected rack leg <NUM>, and an expected dot pattern <NUM> is matched to those detected holes of the rack leg <NUM> to generate a best-fit centerline <NUM>. In such embodiments, such features of a rack leg <NUM> of a rack <NUM> in the image <NUM> may be used as features to detect and identify the rack leg <NUM> due to a common hole pattern distinguished by a computer vision system of the camera <NUM> and the rack leg imaging module <NUM> and a pre-identified spacing between the rack legs <NUM> of the rack <NUM>, which information may be included in the aisle entry identifier <NUM> of the first rack leg <NUM> of a racking system aisle <NUM>' defined by the rack <NUM> of the multilevel warehouse racking system <NUM>. Use of the plurality of illuminators <NUM> configured to provide flash illumination and the camera <NUM> configured to capture images with short exposure times using, for example, a global shutter camera, allows for features of the detected rack leg <NUM> to be captured and identified in the image <NUM>. Further, such a combination of illumination and image capture provides a high contrast image such as the image <NUM> through illumination of an image foreground and providing a sharp image through prevention of motion blur. Such image characteristics permit image processing that provides reliable and accurate detection of a position of the detected rack leg <NUM>. The IR illumination module <NUM> and the IR bandpass filter on the IR camera module <NUM> of the rack leg imaging module system <NUM> respectively associated with the plurality of illuminators <NUM> and the camera <NUM> of the rack leg imaging module <NUM> operate to permit most of the external lighting extraneous to image capture, such as warehouse lighting, to be ignored and filtered out of the image <NUM>. Further, in embodiments where the rack legs <NUM> are unpainted, are light in color, and/or have a glossy pain coating, a widely spaced vertical array of the plurality of illuminators <NUM> may operate to mitigate the specular reflective nature of rack legs <NUM> to detect a rack leg <NUM> in an image <NUM>. A process of illuminating a rack leg <NUM> through the plurality of illuminators <NUM> for image capture by the camera <NUM> of the rack leg imaging module <NUM> may include illumination of a large vertical area of the rack leg <NUM> to generate a large vertical field of view for the camera <NUM> due to a short range of the camera <NUM> to the rack <NUM> to capture a large area of the rack leg <NUM> in the image <NUM>. Further, the rack legs <NUM> of the rack <NUM> may include highly reflective material, and a distributed light source as provided by the plurality of illuminators <NUM> of the rack leg imaging module <NUM> is configured to mitigate the high reflective nature of the rack leg <NUM> to provide a sharp and reliable image <NUM> of a detected rack leg <NUM>.

In the process <NUM>, the odometry-based position of the materials handling vehicle <NUM> is compared with the expected position of the materials handling vehicle <NUM>. In block <NUM>, an odometry error signal is generated based on a difference between the expected position and the odometry-based position. In embodiments indicative of a match between the expected position and the odometry-based position, the odometry error signal may be zero. In block <NUM>, the odometry-based position of the materials handling vehicle <NUM> is updated using the odometry error signal. Thus, the detected rack leg <NUM> is used to update a position of the materials handling vehicle <NUM>. Each frame is processed to detect a rack leg <NUM> and, when the rack leg <NUM> is detected, the frame is processed by a processor <NUM> of the system <NUM> to accurately update the position of the materials handling vehicle <NUM> to prevent accumulated error of odometry data from the estimated maintained position of the materials handling vehicle <NUM> based on the odometry module <NUM> from growing at an unbounded rate. The vehicle control architecture is configured to navigate the materials handling vehicle <NUM> along the inventory transit surface <NUM> using the updated odometry-based position. In embodiments, the vehicle control architecture is configured to track the navigation of the materials handling vehicle <NUM> along the inventory transit surface <NUM> of the racking system aisle <NUM>', navigate the materials handling vehicle <NUM> along the inventory transit surface <NUM> in at least a partially automated manner, or both, using the updated odometry-based position.

In embodiments, through use of detection of rack legs <NUM> in a given racking system aisle <NUM>' to initialize, maintain, and update a position of the materials handling vehicle <NUM> in the given racking system aisle <NUM>' as described herein through the rack leg imaging module <NUM>, commissioning of a system <NUM> to utilize the rack leg imaging module <NUM> involves simple installation and commission. For example, the system <NUM> may only require aisle entry identifiers <NUM> such as QR code stickers to be placed at the entrances of each racking system aisle <NUM>'. Further, the system <NUM> involves a simplified commissioning as information for the aisle entry identifier <NUM> is measured on site, input into a mobile computer, and printed on a mobile sticker printer to generate a mobile sticker with a unique QR code to be placed on an associated first rack leg <NUM> for each racking system aisle entrance in the warehouse <NUM>. Thus, warehouse specific information does not need to be stored on any materials handling vehicle <NUM> for the system <NUM> as described herein to operate, resulting in a reduction in commissioning time over systems in which such warehouse specific information is required to be stored on the materials handling vehicle <NUM>. Further, a close, predictable spacing of rack legs <NUM> in a given racking system aisle <NUM>' relaxes requirements on the accuracy of the odometry module <NUM> as there is less accumulation of encoder error between closely spaced, predicable features of the rack legs <NUM> than there might otherwise be for a system including further spaced and manually placed global features, such as RFID tags in a warehouse floor.

The embodiments and systems described herein permit determination and accurate maintenance of a position of a materials handling vehicle <NUM> with positional accuracy in a racking system aisle <NUM>' of the warehouse <NUM>. Indeed, a combination of use of aisle entry identifiers <NUM> such as QR codes for position initialization of a materials handling vehicle <NUM> at aisle entrances and subsequent use of existing, regularly spaced features of rack legs <NUM> for a given racking system aisle <NUM>' to maintain an accurate position of the materials handling vehicle <NUM> along the racking system aisle <NUM>' permits not requiring use of a QR code on each rack leg <NUM> to maintain and update vehicle position of a materials handling vehicle <NUM> along the given racking system aisle <NUM>'. For example, a given rack <NUM> for a racking system aisle <NUM>' may be over a hundred meters long and may have over <NUM> rack legs <NUM>.

For the purposes of describing and defining the present disclosure, it is noted that reference herein to a variable being a "function" of or "based on" a parameter or another variable is not intended to denote that the variable is exclusively a function of the listed parameter or variable. Rather, reference herein to a variable that is a "function" of or "based on" a listed parameter is intended to be open ended such that the variable may be a function of a single parameter or a plurality of parameters.

It is also noted that recitations herein of "at least one" component, element, etc., should not be used to create an inference that the alternative use of the articles "a" or "an" should be limited to a single component, element, etc..

It is noted that recitations herein of a component of the present disclosure being "configured" in a particular way, to embody a particular property, or to function in a particular manner, are structural recitations, as opposed to recitations of intended use. More specifically, the references herein to the manner in which a component is "configured" denotes an existing physical condition of the component and, as such, is to be taken as a definite recitation of the structural characteristics of the component.

Claim 1:
A materials handling vehicle (<NUM>) comprising
a camera (<NUM>),
an odometry module (<NUM>),
a vehicle position calibration processor (<NUM>), and
a drive mechanism configured to move the materials handling vehicle (<NUM>) along an inventory transit surface (<NUM>), wherein:
the camera (<NUM>) is configured to capture images of (i) an aisle entry identifier (<NUM>) for a racking system aisle (<NUM>') of a multilevel warehouse racking system (<NUM>) and (ii) at least a portion of a rack leg (<NUM>) positioned in the racking system aisle (<NUM>');
the odometry module (<NUM>) is configured to generate materials handling vehicle odometry data; and
the vehicle position calibration processor (<NUM>) is configured to:
use the aisle entry identifier (<NUM>) to generate racking system information indicative of at least (i) a position of an initial rack leg (<NUM>) of the racking system aisle (<NUM>') along the inventory transit surface (<NUM>) and (ii) rack leg spacing in the racking system aisle (<NUM>'),
generate an initial position of the materials handling vehicle (<NUM>) along the inventory transit surface (<NUM>) using the position of the initial rack leg (<NUM>),
generate an odometry-based position of the materials handling vehicle (<NUM>) along the inventory transit surface (<NUM>) in the racking system aisle (<NUM>') using the odometry data and the initial position of the materials handling vehicle (<NUM>),
detect a subsequent rack leg (<NUM>) using a captured image of at least a portion of the subsequent rack leg (<NUM>),
correlate the detected subsequent rack leg (<NUM>) with an expected position of the materials handling vehicle (<NUM>) in the racking system aisle (<NUM>') using rack leg spacing from the racking system information,
generate an odometry error signal based on a difference between the expected position and the odometry-based position, and
update the odometry-based position of the materials handling vehicle (<NUM>) using the odometry error signal for navigation of the materials handling vehicle (<NUM>) along the inventory transit surface (<NUM>).