METHODS AND SYSTEMS FOR PATHING GENERATION FOR A VEHICLE

20250348074 ยท 2025-11-13

Assignee

Inventors

Cpc classification

International classification

Abstract

A vehicle system includes a vehicle, one or more input devices, and one or more memory devices storing instructions thereon. When executed by one or more processors, the instructions cause the one or more processors to retrieve, from the one or more memory devices, a floorplan of a production system, receive a current position of the vehicle, and receive, from the one or more input devices, one or more inputs. The one or more inputs include one or more of one or more locations in the production system, a footprint of the vehicle, or one or more obstacles. The instructions also cause the one or more processors to generate a route for the vehicle from the current position of the vehicle to the one or more locations based on the one or more inputs.

Claims

1. A vehicle system, comprising: a vehicle; and one or more memory devices storing instructions thereon, that, when executed by one or more processors, cause the one or more processors to: obtain a floorplan of a production system and a current position of the vehicle; receive one or more inputs comprising a plurality of locations and an order of the plurality of locations; generate, based on the floorplan of the production system and a footprint of the vehicle, a route for the vehicle from the current position of the vehicle to the plurality of locations in the order.

2. The vehicle system of claim 1, wherein generating the route for the vehicle comprises determining a plurality of possible paths from the current position to the plurality of locations in the order and selecting a desired path for the vehicle from the plurality of paths as the route.

3. The vehicle system of claim 2, wherein selecting the desired path for the vehicle comprises selecting a shortest path or a fastest path from the plurality of paths.

4. The vehicle system of claim 1, wherein generating the route for the vehicle comprises determining the route for the vehicle based on the floorplan and the footprint of the vehicle such that the vehicle avoids one or more obstacles indicated by the floorplan or indicated by sensor data obtained from a sensor of the vehicle.

5. The vehicle system of claim 1, wherein the footprint of the vehicle comprises a base footprint or a load footprint, the base footprint reflecting the footprint of the vehicle, and the load footprint reflecting the footprint of the vehicle when carrying one or more loads, the route generated based on the base footprint or the load footprint such that the footprint of the vehicle does not contact obstacles along the route.

6. The vehicle system of claim 1, wherein the footprint of the vehicle is obtained as a predetermined footprint by the one or more processors or determined by the one or more processors based on sensor data.

7. The vehicle system of claim 1, wherein the instructions further cause the one or more processors to determine a recommended change to the floorplan and operate a display to provide the recommended change to the floorplan to a user.

8. The vehicle system of claim 7, wherein the recommended change to the floorplan comprises at least one of a recommended arrangement of obstacles, target locations, or egress points of the floorplan such that the recommended change to the floorplan would result in reduced travel time for the vehicle, the recommended change determined based on an identification of one or more locations in the floorplan at which the vehicle becomes trapped.

9. A method, comprising: obtaining a floorplan of a production system and a current position of a vehicle; receiving one or more inputs comprising a plurality of locations and an order of the plurality of locations; and generating, based on the floorplan of the production system and a footprint of the vehicle, a route for the vehicle from the current position of the vehicle to the plurality of locations in the order.

10. The method of claim 9, wherein generating the route for the vehicle further comprises determining a plurality of possible paths from the current position to the plurality of locations in the order and selecting a desired path for the vehicle from the plurality of paths as the route.

11. The method of claim 10, wherein generating the route for the vehicle comprises determining the route for the vehicle based on the floorplan and the footprint of the vehicle such that the vehicle avoids one or more obstacles indicated by the floorplan or indicated by sensor data obtained from a sensor of the vehicle.

12. The method of claim 10, wherein selecting the desired path for the vehicle comprises selecting a shortest path or a fastest path from the plurality of paths.

13. The method of claim 9, wherein receiving, from the one or more input device, the input comprising the footprint of the vehicle comprises receiving a base footprint or a load footprint, the base footprint reflecting the footprint of the vehicle, and the load footprint reflecting the footprint of the vehicle when carrying one or more loads, the route generated based on the base footprint or the load footprint such that the footprint of the vehicle does not contact obstacles along the route.

14. The method of claim 13, wherein the footprint of the vehicle is obtained as a predetermined footprint by the one or more processors or determined by the one or more processors based on sensor data.

15. The method of claim 9, further comprising determining a recommended change to the floorplan and operating a display to provide the recommended change to the floorplan to a user.

16. The method of claim 15, wherein determining the recommended change to the floorplan comprises determining at least one of a recommended arrangement of obstacles, target locations, or egress points of the floorplan such that the recommended change to the floorplan would result in reduced travel time for the vehicle, the recommended change determined based on an identification of one or more locations in the floorplan at which the vehicle becomes trapped.

17. A pathing generation system, comprising: one or more memory devices storing instructions thereon, that, when executed by one or more processors, cause the one or more processors to: obtain a floorplan of a production system and a current position of a vehicle; receive one or more inputs comprising a plurality of locations and an order of the locations; and generate, based on the floorplan of the production system and a footprint of the vehicle, a route for the vehicle from the current position of the vehicle to the plurality of locations in the order.

18. The pathing generation system of claim 17, wherein generating the route for the vehicle comprises determining a plurality of possible paths from the current position to the plurality of locations in the order and selecting a desired path for the vehicle from the plurality of paths as the route.

19. The pathing generation system of claim 17, wherein the footprint of the vehicle comprises a base footprint or a load footprint, the base footprint reflecting the footprint of the vehicle, and the load footprint reflecting the footprint of the vehicle when carrying one or more loads, the route generated based on the base footprint or the load footprint such that the footprint of the vehicle does not contact obstacles along the route.

20. The pathing generation system of claim 17, wherein the instructions further cause the one or more processors to determine a recommended change to the floorplan and operate a display to provide the recommended change to the floorplan to a user.

Description

BRIEF DESCRIPTION OF THE FIGURES

[0007] The disclosure will become more fully understood from the following detailed description, taken in conjunction with the accompanying figures, wherein like reference numerals refer to like elements, in which:

[0008] FIG. 1 is a perspective view of a vehicle, according to an exemplary embodiment;

[0009] FIG. 2 is a top view of the vehicle of FIG. 1;

[0010] FIG. 3 is a perspective view of the vehicle of FIG. 1 equipped with a lifting implement, according to an exemplary embodiment;

[0011] FIG. 4 is a perspective view of the vehicle of FIG. 3 and another vehicle cooperating to support a telehandler, according to an exemplary embodiment;

[0012] FIG. 5 is a perspective view of the vehicle of FIG. 1 equipped with a cart implement, according to an exemplary embodiment;

[0013] FIG. 6 is a perspective view of the vehicle of FIG. 3 interfacing with a cart supporting a boom assembly, according to an exemplary embodiment;

[0014] FIG. 7 is a block diagram of a control system for the vehicle of FIG. 1;

[0015] FIG. 8 is a top view of a production system including the vehicle of FIG. 1, according to an exemplary embodiment;

[0016] FIG. 9 is a block diagram of a control system for the vehicle of FIG. 7, with a pathing generation system, according to an exemplary embodiment;

[0017] FIG. 10 is a top down view of a production system including a vehicle with the pathing generation system of FIG. 9, according to an exemplary embodiment;

[0018] FIG. 11 is a top down view of a production system including a vehicle with the pathing generation system of FIG. 9, according to an exemplary embodiment;

[0019] FIG. 12 is a top down view of a production system including a vehicle with the pathing generation system of FIG. 9, according to an exemplary embodiment;

[0020] FIG. 13 is a top down view of a production system including a vehicle with the pathing generation system of FIG. 9, according to an exemplary embodiment;

[0021] FIG. 14 is a top down view of a production system including a vehicle with the pathing generation system of FIG. 9, according to an exemplary embodiment; and

[0022] FIG. 15 is a flow diagram of a process of the pathing generation system of FIGS. 9-14, according to an embodiment.

DETAILED DESCRIPTION

[0023] Before turning to the figures, which illustrate certain exemplary embodiments in detail, it should be understood that the present disclosure is not limited to the details or methodology set forth in the description or illustrated in the figures. It should also be understood that the terminology used herein is for the purpose of description only and should not be regarded as limiting.

[0024] Referring generally to the figures, a system includes a vehicle, one or more input devices, and one or more memory devices storing instructions thereon. When executed by one or more processors, the instructions cause the one or more processors to retrieve, from the one or more memory devices, a floorplan of a production system, receive a current position of the vehicle, and receive, from the one or more input devices, one or more inputs. The one or more inputs include one or more of one or more locations in the production system, a footprint of the vehicle, or one or more obstacles. The instructions also cause the one or more processors to generate a route for the vehicle from the current position of the vehicle to the one or more locations based on the one or more inputs.

Overall Vehicle

[0025] Referring to FIGS. 1 and 2, a machine, vehicle, trolley, transport, hauler, mule, or tug, is shown as vehicle 10 according to an exemplary embodiment. The vehicle 10 may be configured to support, push, pull, turn, or otherwise facilitate movement of a product or components of a product throughout a manufacturing environment. By way of example, the vehicle 10 may move a product (e.g., another vehicle or machine) along a manufacturing line as the product is assembled. The vehicle 10 may move the product between stations where different assembly operations are performed. Additionally or alternatively, the vehicle 10 may be used to move parts or subassemblies (e.g., booms, engines, tires, etc.) throughout the manufacturing environment (e.g., to the product, to a storage area, etc.).

[0026] The vehicle 10 may be manually controlled, partially autonomous, or fully autonomous. In some embodiments, the vehicle 10 is configured as a semi-automated guided vehicle (SGV). When configured as an SGV, the vehicle 10 may be manually operated by an operator (e.g., through a wireless or tethered user interface). By way of example, the operator may manually control the steering of the vehicle 10. In some embodiments, the vehicle 10 is configured as an automated guided vehicle (AGV). When configured as an AGV, the vehicle 10 may navigate along a predefined route (e.g., using a magnetic strip or other fixed navigation element). If the vehicle 10 configured as an AGV encounters an obstacle, the vehicle 10 may rely on manual intervention from an operator (e.g., through a user interface) to correct course and navigate around the obstacle. In some embodiments, the vehicle 10 is configured as an autonomous mobile robot (AMR). When configured as an AMR, the vehicle 10 may autonomously navigate through an area without requiring a predefined path. The vehicle 10 configured as an AMR may avoid obstacles without manual intervention by an operator.

[0027] The vehicle 10 includes a chassis, shown as frame 12, that supports the other components of the vehicle 10. In some embodiments, the frame 12 defines an enclosure that contains one or more components of the vehicle 10. The frame 12 includes a pair of side portions, shown as drive modules 14, a central portion, shown as controls enclosure 16, and a lateral member, shown as back plate 18. The drive modules 14 each extend longitudinally along the vehicle 10 and are laterally offset from one another. The controls enclosure 16 and the back plate 18 each extend laterally between the drive modules 14, fixedly coupling the drive modules 14 to one another. The controls enclosure 16 and the back plate 18 are longitudinally offset from one another, such that a recess or passage, shown as implement recess 20, is defined between the controls enclosure 16, the back plate 18, and the drive modules 14.

[0028] The drive modules 14 may contain components that facilitate propulsion of the vehicle (e.g., the drivetrain 40). The drive modules 14 may include one or more removable or repositionable panels, shown as drive module doors 24, that facilitate access to components within the drive modules 14 from outside of the vehicle 10. The controls enclosure 16 may contain components that facilitate powering or control over the vehicle (e.g., the controller 102, the batteries 110). The controls enclosure 16 includes a removable or repositionable panel, shown as controls enclosure door 22, that facilitates access to components within the controls enclosure 16 from outside of the vehicle 10. In other embodiments, the vehicle 10 includes a separate housing, body, or enclosure that is coupled to the frame 12 and contains one or more components of the vehicle.

[0029] The frame 12 defines a top surface 30, a front surface 32, a rear surface 34, and a pair of side surfaces 36 of the vehicle 10. The top surface 30 extends substantially horizontally across the drive modules 14 and the controls enclosure 16. A distance from the top surface 30 to the ground beneath the vehicle 10 may define a height of the vehicle 10. The front surface 32 is positioned at a front end portion of the frame 12 and extends substantially vertically and laterally across the drive modules 14 and the controls enclosure 16. The rear surface 34 is positioned at a rear end portion of the frame 12 and extends substantially vertically and laterally across the drive modules 14 and the back plate 18. The side surfaces 40 each extend longitudinally along one of the drive modules 14, between the front surface 32 and the rear surface 34.

[0030] The vehicle 10 includes a drive system or driveline, shown as drivetrain 40, that is configured to propel and steer the vehicle 10. The driveline includes a pair of actuators or motors (e.g., hydraulic motors, pneumatic motors, electric motors, etc.), shown as drive motors 42. In some embodiments, the drive motors 42 are electric motors powered by an electrical energy source (e.g., the batteries 110, energy from a power grid external to the vehicle 10, etc.). The drive motors 42 are each configured to provide rotational mechanical energy to drive rotation of one or more tractive elements 44 (e.g., wheel and tire assemblies). In some embodiments, the drive motors 42 drive the left and right sides of the drivetrain 40 independently, facilitating skid steer operation of the vehicle 10. By way of example, the tractive elements 44 may be driven at the same speed and in the same direction to travel straight. By way of another example, the tractive elements 44 may be driven at different directions and/or at different speeds to turn the vehicle 10. By driving the tractive elements 44 at the same speed and in opposite directions, the drivetrain 40 may rotate the vehicle 10 about a substantially vertical axis, shown as central axis 46, that is substantially centered relative to the frame 12. Rotation of the vehicle 10 about the central axis 46 may facilitate reorienting the vehicle 10 without changing position (i.e., turning in place).

[0031] The frame 12, the drivetrain 40, and various other components coupled to the frame 12 form a base portion of the vehicle 10, shown as base assembly 48. To facilitate moving a product, the vehicle 10 may include an implement that that selectively couples the base assembly 48 to a product. FIGS. 3 and 4 illustrate a first implement, shown as lifting implement 50, and FIGS. 5 and 6 illustrate a second implement, shown as cart implement 60. Each implement may be received within the implement recess 20 and fixedly coupled to the frame 12. In some embodiments, the implement is removable from the implement recess 20 to facilitate interchanging with another type of implement. By way of example, the lifting implement 50 may be removed and replaced with the cart implement 60. In other embodiments, the implement is permanently installed on the vehicle.

[0032] Referring to FIGS. 3 and 4, the lifting implement 50 includes a product interface, shown as cradle 52, and a lift device or lifting assembly, shown as lift assembly 54. The cradle 52 is configured to receive and directly support a product, shown as telehandler 56. By way of example, the cradle 52 may receive an axle assembly of the telehandler 56. The lift assembly 54 couples the cradle 52 to the frame 12. The lift assembly 54 may be extended to raise the cradle 52 or retracted to lower the cradle 52. Accordingly, the lift assembly 54 may be used to raise or lower the telehandler 56.

[0033] Certain large products, such as the telehandler 56, may be difficult to support with only a single vehicle 10. To facilitate steering the product and spreading out the weight of the product, multiple vehicles 10 may be utilized. In the example shown in FIG. 4, a front axle of the telehandler 56 is supported by one vehicle 10, and a rear axle of the telehandler 56 is supported by another vehicle 10. In some embodiments, the vehicles 10 are independently operable. In other embodiments, operation of one vehicle 10 is dependent upon the other vehicle 10. By way of example, a first vehicle 10 may supply electrical energy to, propel, and/or control operation of the other vehicle 10.

[0034] Referring to FIGS. 5 and 6, the cart implement 60 includes a pair of protruding interface elements (e.g., pins), extending above the top surface 30. Specifically, the cart implement 60 includes a central pin, shown as driving pin 62, and an offset pin, shown as turning pin 64, that can each be selectively raised and lowered by an actuator of the cart implement 60. The driving pin 62 is centered about the central axis 46, and the turning pin 64 is offset from the central axis 46. The driving pin 62 and the turning pin 64 are positioned to a mobile platform, shown as cart 66, that supports a product subassembly, shown as boom assembly 68.

[0035] When extended, the driving pin 62 and the turning pin 64 each engage the cart 66 to limit movement of the cart 66 relative to the base assembly 48. When both the driving pin 62 and the turning pin 64 engage the cart 66, the cart 66 may be fixed to the base assembly 48. When only the driving pin 62 engages the cart 66, the base assembly 48 may rotate freely about the central axis 46 relative to the cart 66, but movement of the vehicle 10 in a particular direction may cause movement of the cart 66 in that same direction. When the driving pin 62 and the turning pin 64 are both retracted away from the cart 66, the vehicle 10 may move freely relative to the cart 66.

[0036] The cart 66 may be equipped with casters or slides to facilitate free movement of the cart 66 along the ground. In some embodiments, the cart 66 supports some or all of the weight of the boom assembly 68. The driving pin 62 and the turning pin 64 may generally push horizontally on the cart 66, such that there may be little or no transmission of vertical forces between the cart implement 60 and the cart 66. Accordingly, the vertical load on the vehicle 10 may be minimized while still permitting the vehicle 10 move the cart 66 and the boom assembly 68 throughout the environment as desired. This reduction in load may reduce the overall cost of the vehicle 10.

[0037] Referring to FIG. 7, the vehicle 10 and a control system 100 for the vehicle 10 are shown according to an exemplary embodiment. The control system 100 may facilitate operation of the vehicle 10 and/or other devices of a production environment. Although certain components are shown as being included in the base assembly 48 and/or the implements 50 and 60, it should be understood that any component may be positioned in the base assembly 48, the lifting implement 50, or the cart implement 60 or duplicated across multiple thereof.

[0038] The vehicle 10 includes a controller 102 that controls operation of the vehicle 10. The controller 102 includes a processing circuit, shown as processor 104, and a memory device, shown as memory 106. The memory 106 may contain one or more instruction that, when executed by the processor 104, cause the processor to perform the various functions described herein.

[0039] The controller 102 further includes a communication interface 108 (e.g., a communication circuit, a network interface, etc.) that facilitates communication with (e.g., to and from) other components of the vehicle 10 and/or the control system 100. The communication interface 108 may facilitate wired communication (e.g., through CAN, Ethernet, communication of power, etc.). Additionally or alternatively, the communication interface 108 may facilitate wireless communication (e.g., through Bluetooth, Wi-Fi, radio transmission, inductive transmission of energy, etc.).

[0040] The base assembly 48 includes one or more energy storage devices, shown as batteries 110. The batteries 110 store energy (e.g., as chemical energy). The batteries 110 may deliver electrical energy to other components of the vehicle 10 to power the vehicle 10. The batteries 110 may be charged by an outside source of energy (e.g., an electrical grid, a wireless charging interface, etc.). In other embodiments, the base assembly 48 includes a different type of energy storage device (e.g., a fuel tank for an internal combustion engine of a generator, a fuel cell, etc.).

[0041] The base assembly 48, the lifting implement 50, and the cart implement 60 may each include one or more sensors 112 operatively coupled to the controller 102. The sensors 112 may provide sensor data describing the current status of the vehicle 10 and/or the surrounding environment. By way of example, the sensors 112 may include mapping or imaging sensors (e.g., LIDAR sensors, light curtains, cameras, ultrasonic sensors, etc.). By way of example, the sensors 112 may include position sensors (e.g., GPS, potentiometers, encoders, etc.). By way of example, the sensors 112 may include orientation or acceleration sensors (e.g., accelerometers, gyroscopic sensors, inertial measurement units, compasses, etc.). By way of example, the sensors 112 may include pressure sensors, flowmeters, buttons, or other types of sensors.

[0042] The base assembly 48 may include one or more operator interface elements (e.g., input devices, output devices, etc.), shown as user interface 114. The user interface 114 may include output devices that provide information to one or more users. By way of example, the user interface 114 may include displays, speakers, lights, haptic feedback (e.g., vibrators, etc.), or other output devices. The user interface 114 may include input devices that receive information (e.g., commands) from one or more users. By way of example, the user interface 114 may include buttons, switches, knobs, touchscreens, microphones, or other input devices.

[0043] The lifting implement 50 and/or the cart implement 60 may include one or more actuators 116 that facilitate controlled movement (e.g., movement of the lifting implement 50 or the cart implement 60). The actuators 116 may include linear actuators (e.g., electric linear actuators, hydraulic cylinders, etc.), motors (e.g., electric motors, hydraulic motors, etc.), or other types of actuators. The actuators 116 may be electrically-powered, hydraulically-powered, or otherwise powered.

[0044] The lifting implement 50 and/or the cart implement 60 may include a hydraulic system 120. The hydraulic system 120 may supply pressurized hydraulic fluid (e.g., hydraulic oil) to facilitate operation of other components of the vehicle 10. By way of example, the hydraulic system 120 may supply pressurized hydraulic fluid to an actuator 116. In some embodiments, the hydraulic system 120 forms a self-contained hydraulic loop with one or more actuators 116.

[0045] The hydraulic system 120 includes a low-pressure reservoir, shown as tank 122, that stores a volume of hydraulic fluid at a low pressure. A pump 124 receives electrical energy from the batteries 110, draws hydraulic fluid from the tank 122, and supplies a flow of pressurized hydraulic fluid. One or more valves 126 (e.g., solenoid valves, directional control valves, etc.) control the flow of the hydraulic fluid from the pump 124. By way of example, the valves 126 may control the flow rate, direction, and destination of hydraulic fluid flowing throughout the hydraulic system 120. The controller 102 may control operation of the actuators 116 by controlling the valves 126.

[0046] The control system 100 further includes additional devices in communication with the vehicle 10. The devices may communicate with the vehicle 10 directly or through a network 130 (e.g., a local area network, a wide area network, the Internet, etc.). The network 130 may utilize wireless and/or wired communication. In some embodiments, the network 130 is a mesh network formed between multiple devices of the control system 100 (e.g., permitting indirect communication between two devices through a third device).

[0047] The control system 100 may include multiple vehicles 10. A vehicle 10 may communicate with other vehicles 10 to share information and facilitate operation. By way of example, a vehicle 10 may provide commands to another vehicle 10 to coordinate transportation of a large item that is carried by both of the vehicles 10. By way of another example, a vehicle 10 may provide its location to another vehicle 10 to facilitate path generation and avoid collisions.

[0048] The control system 100 may include one or more user devices 132 (e.g., smartphones, tablets, laptops, desktop computers, etc.). The user devices 132 may facilitate a user monitoring and/or controlling operation of the vehicles 10. By way of example, the user devices 132 may indicate statuses of the vehicles 10 (e.g., positions, whether maintenance is needed, if any errors are occurring, what task a vehicle 10 is assigned, etc.). By way of example, the user devices 132 may permit a user to command a vehicle 10 to travel to a different place or to assign a vehicle 10 to a particular production line.

[0049] The control system may include one or more remote devices 134 (e.g., servers). In some embodiments, a remote device 134 functions as a production manager that controls various operations throughout a manufacturing environment. The production manager may receive requests for production of certain equipment (e.g., fifteen telehandlers are requested for production by Apr. 12, 2025, etc.). The production manager may monitor the statuses of vehicles 10, personnel, equipment, and raw materials. By way of example, the vehicles 10 may provide sensor data from the sensors 112 to a remote device 134 for storage and/or analysis. Based on the available data, the production manager may generate assignments for vehicles 10, personnel, equipment, and raw materials to meet the production requests. The production manager may adapt to changes in availability (e.g., by reassigning a vehicle 10 to a different task or area in response to a failure of one of the vehicles 10). The assignments for a vehicle 10 may include a path along which the vehicle 10 should travel, a desired configuration of the vehicle 10 (e.g., the type of implement available to the vehicle 10), an amount of time that the vehicle 10 should wait at a given station, etc.

[0050] Referring to FIG. 8, a manufacturing environment or production system 150 is shown according to an exemplary embodiment. The production system 150 may include a series of vehicles 10 that move a product 152 and a subassembly 154 through various stages of assembly (e.g., as controlled by a remote device 134). The vehicles 10 move the product 152 along a first path, shown as manufacturing line 156, and the vehicles 10 move the subassembly 154 along a second path, shown as manufacturing line 158. A series of manufacturing or assembly stations, shown as stations 160, are spaced at regular intervals along the manufacturing lines 156 and 158. Each station 160 may be associated with a different manufacturing or assembly process that is performed there. By way of example, there may be stations 160 for attaching components to a product 152, coupling components with hoses or wires, confirming that certain functions are operating properly, etc.

[0051] Initially the product 152 and the subassembly 154 move along separate manufacturing lines 156 and 158. After the last station 160 needed to prepare the subassembly 154, the manufacturing line 158 intersects the manufacturing line 156, and the subassembly 154 is attached to the product 152. The product 152 and the subassembly 154 then move together along the manufacturing line 156. This proceeds until the product 152 is fully assembled and removed from the vehicles 10. The vehicles 10 may then return to collect another product that requires assembly, and the manufacturing process is repeated.

[0052] In some embodiments, the product 152 assembled by the production system is a vehicle or work machine. By way of example, the product 152 may be a lift device, such as a telehandler, a scissor lift, a boom lift, a vertical lift, an aerial work platform, or another type of lift device. By way of another example, the product 152 may be a fire truck, an aircraft rescue and firefighting apparatus (ARFF) truck, a refuse vehicle, a concrete mixing truck, a tow truck, a broadcast van, a military vehicle, a robot, a truck, a van, a passenger vehicle, or another type of vehicle. In other embodiments, the product 152 is not a vehicle (e.g., is a stationary piece of equipment).

Pathing Generation System

[0053] Referring now to FIG. 9, the vehicle 10 and the various components and systems of the vehicle 10 may include a pathing generation system, shown as pathing generation system 1600. Turning now to FIG. 10, the vehicle 10 is shown in a manufacturing environment or production system 1601. Prior to operation of the vehicle 10, a floorplan 1602 (e.g., a layout, etc.) of the production system 1601 may be uploaded to the pathing generation system 1600, such as to the memory 106. A target location 1604 is also shown within the production system. The target location 1604 may be a station (e.g., the station 160) or another area to which the vehicle 10 may need to travel, referred to herein as a target location. The floorplan 1602 may include one or more of the target locations 1604, as well as any other relevant details regarding the layout of the production system 1601. An outer boundary of the floorplan 1602, as depicted in FIGS. 10-15, may serve to represent one or more walls of the production system 1601, another boundary such as an operational boundary of the vehicle 10, or may not have any such bounding significance.

[0054] The production system 1601 may include one or more obstacles (e.g., shown in FIG. 10 as obstacle 1606a) such as another station, an object, a machine, a person, an egress point, a staircase, etc. The obstacle 1606a may be in a direct path between the vehicle 10 and the location 1604. As such, the vehicle 10 may need to travel in a path around the obstacle 1606a. The obstacle 1606a may be included in the floorplan 1602 provided to the vehicle 10. In some embodiments, the vehicle 10 may detect the obstacle 1606a (and the target location 1604) via the sensors 112. Once the floorplan 1602 of the production system 1601 is retrieved from the memory 106, the pathing generation system 1600 may generate one or more possible paths for the vehicle 10 to take from an initial location of the vehicle 10 to the location 1604. The pathing generation system 1600 may be in communication with one or more input devices. An operator may use the input device to view and edit the possible paths generated by the pathing generation system 1600 for the vehicle 10 or one or more characteristics of the possible paths such as start points, milestones, and endpoints. For example, the generated possible paths may not take into account the obstacle 1606a, for various reasons. The obstacle 1606a may be movable or not permanent, and therefore may not always be in the same current location. The operator can edit the floorplan 1602 to include one or more of the obstacles 1606a if the obstacle 1606a is not already accounted for in the floorplan 1602.

[0055] Once the operator has edited the floorplan 1602 to include the obstacle 1606a, if necessary, the pathing generation system 1600 may generate one or more routes, such as route 1608a and route 1608b, of possible paths from the current location 1603 of the vehicle 10 to the target location 1604. As shown in FIG. 10, there may be one or more paths that the vehicle 10 could take to circumvent the obstacle 1606a. In some embodiments, there may be only on possible path for the vehicle 10, or in other embodiments, there may be many possible paths for the vehicle 10. In the embodiment of FIG. 10, the route 1608a and the route 1608b are substantially the same. For example, the route 1608a and the route 1608b may be substantially the same distance, it may take the vehicle 10 substantially the same amount of time to traverse the route 1608a and the route 1608b, the route 1608a and the route 1608b may have substantially the same rate of efficiency, etc. In such a scenario, it may not matter whether the vehicle 10 travels the route 1608a or the route 1608b. The pathing generation system 1600 may automatically pick either the route 1608a or the route 1608b, or the operator may manually choose between the route 1608a or the route 1608b. In some embodiments, one or more characteristics of the route 1608a may be different from one or more characteristics of the route 1608b, and the pathing generation system 1600 may compare one or more characteristics of the route 1608a may be different from one or more characteristics of the route 1608b to select a preferred route. The one or more characteristics may include a travel time, a distance, a number of obstacles along the route, a number of waypoints along the route, a number of required changes in direction along the route, and/or a factor of safety along the route. The factor of safety may be a metric based on a footprint of the vehicle 10 and any load it may be moving as compared to the maximum allowable dimension of the route. A route with a higher factor of safety may have a greater difference between the maximum footprint of the vehicle 10 and/or any load it may be moving and the maximum allowable dimensions of the route, such that vehicle 10 can travel along a route with a lower likely of accidentally contact with obstacles 1606a in along the route.

[0056] As shown in FIG. 11, in some embodiments, the production system 1601 may include a feature 1620. The feature 1620 may be, for example, an egress point, a staircase, a window, a sign, a wall marking, a person, etc. While it may be difficult for the vehicle 10 to run into, run over, or become blocked by the feature 1620, it may nevertheless be desirable to prevent the vehicle 10 from traveling near or in close proximity to the feature 1620 for various reasons, for example, to avoid blocking an egress point, a staircase, a window, a sign, a wall marking, etc., or to avoid the vehicle 10 getting in the way of a person. Similar to the process for the obstacle 1606a, an operator may add the feature 1620 to the floorplan 1602 if the feature 1620 is not already accounted for in the floorplan 1602, or the features 1620 may be sensed by the sensors 112 of the vehicle 10. In the embodiment of FIG. 11, although the route 1608a and the route 1608b are still substantially the same, the route 1608a may be less preferable because it passes near the feature 1620. As such, the pathing generation system 1600 may be configured to automatically prefer the route 1608b to avoid any potential issues with the feature 1620, or the operator may manually choose the route 1608b.

[0057] In the embodiment of FIG. 12, an obstacle 1606b is shown within the production system 1601. As previously discussed, the obstacle 1606b may already appear in the floorplan 1602 retrieved by the pathing generation system 1600, or an operator may add the obstacle 1606b into the floorplan 1602, or the obstacle may be sensed by the sensors 112. The pathing generation system 1600 may generate a route 1650a and a route 1650b. As shown in FIG. 12, the route 1650a may be at least somewhat longer in distance and/or more cumbersome for the vehicle 10 than the route 1650b, resulting in lower efficiency. As such, the route 1650b may be preferable over the route 1650a. The route 1650a may also enter the target location 1604 at a different point than the route 1650b, which may result in further inefficiencies, or may not matter in some situations. The pathing generation system 1600 may be configured to automatically prefer the most efficient route (e.g., the shortest or fastest route, etc.), for example, the route 1650b, or the operator may manually choose the route 1650b.

[0058] Turning now to FIG. 13, an exemplary embodiment of the production system 1601 is shown. It should be noted that the components and systems as shown in FIG. 13 serve to provide only a non-limiting example and that configurations of the production system 1601 may be utilized. The production system 1601 may include a target location 1700a, a target location 1700b, and a target location 1700c. An operator may use the input device to provide an indication of which locations the vehicle 10 should visit, and in which order. The indications may be saved into a plan which may be uploaded to the memory 106 for future use. An operator may be able to access saved plans for reuse with the floorplan 1602. The pathing generation system 1600 may then generate possible paths for the vehicle 10, and the operator may view and edit the possible paths.

[0059] As described further herein, route 1704a, route 1708b, and route 1712a depict the most efficient path (e.g., the shortest or fastest path, etc.) between two points (e.g., the vehicle 10 and a location), without regard to any potential obstacles between the two points. The route 1704a, the route 1708b, and the route 1712a are depicted as dashed lines to indicate a reference path for greater understanding of the embodiments disclosed herein, although the route 1704a, the route 1708b, and the route 1712a may not appear as possible paths or generated routes on the user interface or to an operator of the pathing generation system 1600.

[0060] The pathing generation system 1600 may generate the routes 1704 based one or more characteristics of the vehicle 10 and/or the load being moved by the vehicle 10. The one or more characteristics can include a capacity of the vehicle 10, a weight of the vehicle 10 and/or the load, a size or envelope of the vehicle 10, a size of the load (e.g., telehandler 56), a desired distance between the vehicle 10 or the load and an obstacle, or other characteristics of the vehicle 10 and/or the load. The size or footprint of the vehicle 10 (e.g., a length, width, and height) which defines outer boundaries of the vehicle 10 may be predetermined or may be measured by one or more sensors. For example, the vehicle 10 may be a predetermined and is known to the pathing generation system 1600. In some embodiments, the footprint of the vehicle 10 may be monitored and/or measured by one or more cameras, sensors, etc., during various stages of operation of the vehicle 10 within the production system 1601. In some embodiments, the footprint of the vehicle 10 may be determined based on a current stage of assembly of the product being moved by the vehicle 10. The current stage can be determined by a weight of the product, tracking waypoints at each stage of manufacturing the product, a location of the vehicle 10 and/or the product in the production system 1601, by an input from an operator, or by one or more sensors monitoring the product and/or the production system 1601. As such, the footprint of the vehicle 10 may be automatically communicated to the pathing generation system 1600 at various stages of operation. The vehicle 10 may have a base footprint of the vehicle 10 alone, or the vehicle 10 may have a load footprint when the vehicle 10 is carrying one or more loads, such as a component of a product assembly, a part, a machine, a tool, etc. The footprint of the vehicle 10 may be taken into account by the pathing generation system 1600 when the pathing generation system 1600 is determining one or more possible paths the vehicle 10 could take. The vehicle 10 may not be able to travel in a substantially straight path from a current location of the vehicle 10 to the target location 1700a, for example along route 1704a, due to the footprint of the vehicle 10 and the obstacle 1702a. Instead, the pathing generation system 1600 may generate a route 1704b, which avoids the obstacle 1702a.

[0061] In some embodiments, the routes 1704 are generated incrementally, based on the floorplan 1602 and/or the signals from the sensors 112, such that a route to a second target location after a first target location is not determined until after the vehicle 10 is at or near the first target location. In some embodiments, based on signals from the sensors 112, the vehicle 10 may adjust a route 1704 or may switch from one route 1704 to another route 1704.

[0062] Referring still to FIG. 13, at the target location 1700a, the vehicle 10 may receive a first load 1706. The first load 1706 may change the footprint of the vehicle 10. For example, the first load 1706 may change the length, width, and/or height of the outer boundaries of the vehicle 10. The changed footprint may be monitored and or determined by the pathing generation system 1600 which may then adjust the one or more routes 1704 based on the updated footprint, as when the vehicle 10 is carrying the first load 1706, the vehicle 10 may need to operate differently. For example, the vehicle 10 may not be able to travel as closely to obstacles, walls, stations, humans, features, etc. or turn as sharply as the vehicle 10 may be able to without the first load 1706. In the embodiment of FIG. 13, the first load 1706 is configured to change at least the length of the footprint of the vehicle 10.

[0063] Near the exit of the target location 1700a, the production system 1601 may include an obstacle 1702b and an obstacle 1702c. In an embodiment where the vehicle 10 exits the target location 1700a without the first load 1706, the vehicle 10 alone may be able to travel along any number of paths around the obstacle 1702c, including by turning left and traveling between the target location 1700a and the obstacle 1702c, or turning right and passing along a right side portion of the obstacle 1702c. However, due to the change in footprint, when the vehicle 10 exits the target location 1700a with the first load 1706, the vehicle 10 may not be able to turn onto one or more of the possible paths. For example, the vehicle 10 carrying the first load 1706 may have a longer footprint (i.e., a length of the vehicle 10 is increased when the vehicle 10 is carrying the first load 1706). Due to the longer footprint, the vehicle 10 may not be able to make as sharply of a turn as when the vehicle 10 moves throughout the production system 1601 without any load. In some situations, the vehicle 10 could reverse one or more times to move into a position to maneuver a turn (e.g., a three-point turn, etc.). However, due to the longer footprint of the vehicle 10 carrying the first load 1706, the vehicle 10 may no longer be able to reverse to maneuver a turn. For example, as shown in FIG. 13, the obstacle 1702b may prevent the vehicle 10 from reversing due to the longer footprint of the vehicle 10 carrying the first load 1706. As such, the vehicle 10 may not be able to turn sharply enough to turn left and travel around a left side portion of the obstacle 1702c. Therefore, the vehicle 10 may need to travel around the right side portion of the obstacle 1702c by taking a route 1708b rather than the route 1708a or any other route which passes along the left side portion of the obstacle 1702c. It should be understood that reference to any particular arrangement of obstacles or left or right directional terms only serve to illustrate non-limiting examples of the operations of the vehicle 10 within the production system 1601.

[0064] The vehicle 10 may drive along the route 1708b to arrive at the target location 1700b. At the target location 1700b, the vehicle 10 may receive a second load 1710. The second load 1710 may change the footprint of the vehicle 10. For example, the second load 1710 may change the length, width, and/or height of the outer boundaries of the vehicle 10. The target location 1700b may be the next stage in a manufacturing process after the stage at target location 1700a. In some embodiments, the second load 1710 is a modification or addition to the first load 1706 that is added or performed at the target location 1700b. When the vehicle 10 is carrying the first load 1706 and the second load 1710, the vehicle 10 may need to operate differently. For example, the vehicle 10 may not be able to travel as closely to obstacles, walls, stations, humans, features, etc. or turn as sharply as the vehicle 10 may be able to without the second load 1710. In the embodiment of FIG. 13, the second load 1710 is configured to change at least the width of the footprint of the vehicle 10.

[0065] Near the exit of the target location 1700a, the production system 1601 may include an obstacle 1702d. In an embodiment where the vehicle 10 exits the location 170ba without the second load 1710, the vehicle 10 alone may be able to travel along any number of paths around the obstacle 1702d, including by turning right and passing around a left side portion of the obstacle 1702d, or by turning farther right and traveling between the target location 1700b and the obstacle 1702d. However, due to the change in footprint, when the vehicle 10 exits the target location 1700b with the second load 1710, the vehicle 10 may not be able to turn onto one or more of the possible paths. For example, the vehicle 10 carrying the second load 1710 may have a wider footprint (i.e., a width of the vehicle 10 is increased when the vehicle 10 is carrying the second load 1710). Due to the wider footprint, the vehicle 10 may or may not be able to make as sharply of a turn as when the vehicle 10 moves throughout the production system 1601 without any load. In the embodiment of FIG. 13, the vehicle 10 alone without any load, or the vehicle 10 carrying only the first load 1706, may be able to maneuver the turn to pass between the target location 1700b and the obstacle 1702d. However, due to the wider footprint of the vehicle 10 carrying the second load 1710, the second load 1710 may make the footprint too wide for the vehicle 10 carrying the second load 1710 to pass between the target location 1700b and the obstacle 1702d. As shown in FIG. 13, there may be sufficient space to allow the vehicle 10 carrying the first load 1706 and the second load 1710 to travel along a route 1712b between the obstacle 1702d and an obstacle 1702e to the target location 1700c.

[0066] In contrast to the embodiment described with respect to the obstacle 1702b potentially preventing the vehicle 10 from reversing to execute the left turn when exiting the target location 1700a, at the exit of the target location 1700b, in the embodiment of FIG. 13, there may be sufficient space to allow for the vehicle 10 to reverse. For example, the vehicle 10 alone without any load, or the vehicle 10 carrying only the first load 1706, may be able to reverse one or more times to move into a position to maneuver a turn (e.g., a three-point turn, etc.) between the target location 1700b and the obstacle 1702d because the production system 1601 provides sufficient space to accommodate the vehicle 10 reversing one or more times, even if the vehicle 10 is carrying the first load 1706. However, if the vehicle 10 is also carrying the second load 1710, even though the longer footprint will not prevent the vehicle 10 from maneuvering into a position to take a path which passes between the target location 1700b and the obstacle 1702d, the vehicle 10 still may not be able to take the route which passes between the target location 1700b and the obstacle 1702d because of the wider footprint of the vehicle 10 due to the second load 1710. Therefore, the vehicle 10 may need to travel around the left side portion of the obstacle 1702d by taking a route 1712b rather than the route 1712a or any other route which passes along the right side portion of the obstacle 1702d. It should be understood that reference to any particular arrangement of obstacles or left or right directional terms only serve to illustrate non-limiting examples of the operations of the vehicle 10 within the production system 1601.

[0067] Turning now to FIG. 14, an optimized floorplan 1720 is shown. In some embodiments, the pathing generation system 1600 may generate the optimized floorplan 1720 as a recommended change from a current floorplan. In some embodiments, the pathing generation system 1600 may apply mapping data to optimize the locations 1700 layout in the optimized floorplan 1720. For example, the pathing generation system 1600 may be configured to identify and quantify (i.e., measure) locations 1700, obstacles 1702, the routes 1704 of other vehicles 10, and other areas in the production system 1601. In some embodiments, the pathing generation system 1600 can detect one or more stages of an assembly line and measure an area around the stages to define a target location 1700. The pathing generation system 1600 can analyze data gathered from the sensors 112, various floorplans, possible paths, generated routes, selected routes, traveled routes, locations, sizes, and shapes of obstacles, features, or stations (e.g., locations, etc.), and/or input from an operator or the input device to learn about and/or recognize inefficiencies within the production system 1601, including inefficiencies associated with the vehicle 10 traveling throughout the production system 1601. The pathing generation system 1600 may recommend changes and determine a more optimal configuration or arrangement for the production system 1601 (e.g., of the obstacles 1702, the target locations, the egress points, etc.) such as the optimized floorplan 1720, which optimizes the use of floor space, minimizes travel time for the vehicle 10 and maintains clear paths for vehicles, machines, robots, personnel, etc. The pathing generation system 1600 also records locations where the vehicle 10 becomes trapped and/or unable to move and stores the locations in a database on the memory 106 and in some embodiments also saves and stores the associated route the vehicle 10 was traveling on. A vehicle 10 passing the location where the vehicle 10 or another vehicle 10 was previously trapped or interfered with may adopt a new strategy for traversing around/through the location, such as a new route. The pathing generation system 1600 thus iteratively develops strategies for avoiding obstacles or passing over or around obstacles and determines preferences for successful strategies while avoiding failed strategies.

[0068] In some embodiments, the optimized floorplan 1720 may only be generated once or a small number of times in relation to the regular generation of floorplans by the pathing generation system 1600. In other words, the optimized floorplan 1720 may not be generated each and every time a floorplan is generated by the pathing generation system 1600. For example, the production system 1601 may already be operating under the most efficient possible configuration or arrangement.

[0069] As shown in FIG. 14, the optimized floorplan 1720 includes recommended changes such as a repositioning of one or more locations 1700 and/or obstacles 1702. In some embodiments, certain locations 1700 and/or obstacles 1702 may not be able to be moved or repositioned for various reasons, or it may not be desirable and/or necessary to move or reposition certain locations 1700 and/or obstacles 1702. For example, in the embodiment of FIG. 14, the target location 1700a and the target location 1700c may be moved, while none of the obstacles 1702 may be moved. In other embodiments, only obstacles 1702 may be moved, locations 1700 may not be moved, or both locations 1700 and obstacles 1702 may be moved.

[0070] In the embodiment of FIG. 14, the target location 1700a has been rotated counterclockwise substantially 90 degrees. In some embodiments, in addition to indicating a target location such as target location 1700a, each location 1700 may also include a target entry point into the location 1700 and a target exit point out of the location 1700. As such, with the target location 1700a rotated counterclockwise substantially 90 degrees, the vehicle 10 may exit the target location 1700a at a position that is substantially near the target location 1700b. The obstacle 1702b and the obstacle 1702c may no longer have much of an effect, if any, on the operation of the vehicle 10. The vehicle 10 may be able to travel substantially directly to the target location 1700b along the most efficient possible path (e.g., the shortest or fastest path, etc.), such as a route 1722, regardless of any load carried by the vehicle 10. It should be understood that reference to any particular arrangement of locations or directional terms only serve to illustrate non-limiting examples of the operations of the vehicle 10 within the production system 1601.

[0071] Additionally, the target location 1700c has been moved towards the obstacle 1702d and the obstacle 1702e. The pathing generation system 1600 may determine that, given the footprint of the vehicle 10 at the exit of the target location 1700b (e.g., the vehicle 10 is carrying the second load 1710), any route that passes between the target location 1700b and the obstacle 1702d will not be able to be traveled by the vehicle 10. As such, the pathing generation system 1600 may determine that it is acceptable to move the target location 1700c in a manner which blocks or further hinders a more efficient possible path (e.g., a route that passes between the target location 1700b and the obstacle 1702d) because the vehicle 10 will not take that possible path due to the footprint of the vehicle 10. By moving the target location 1700c towards the obstacle 1702d and the obstacle 1702e, a route 1724 may be able to be generated which shortens the distance and travel time between the target location 1700b and the target location 1700c. It should be understood that reference to any particular arrangement of locations or directional terms only serve to illustrate non-limiting examples of the operations of the vehicle 10 within the production system 1601.

[0072] In an embodiment in which the vehicle 10 exits the target location 1700b without the second load 1710 or without any load, it may still be preferable to move the target location 1700c towards the obstacle 1702d and the obstacle 1702e. Even though moving the target location 1700c towards the obstacle 1702d and the obstacle 1702e may block or further hinder a more efficient possible path (e.g., a route that passes between the target location 1700b and the obstacle 1702d) for the vehicle 10, because the vehicle 10 still has one or more possible paths to the target location 1700c (e.g., the route 1724), moving the target location 1700c towards the obstacle 1702d and the obstacle 1702e opens up a larger amount of space within the production system 1601 (e.g., in the lower right quadrant of the optimized floorplan 1720). An increase in space within the production system 1601 can be beneficial, allowing for better overall use of space within the production system 1601. As real estate generally holds great value, saving floor space and providing for a larger area for additional stations, machines, storage, personnel, etc. results in overall cost savings or greater profits.

[0073] FIG. 15 depicts a process 1750 generally executed by the pathing generation system 1600. At step 1752, a floorplan (e.g., the floorplan 1602) of the production system 1601 may be retrieved by the pathing generation system 1600. The floorplan may be retrieved from a memory device, such as the memory 106 or mapped by the vehicle 10 using the sensors 112 The floorplan may include one or more locations 1700 which may be visited by the vehicle 10 and/or one or more obstacles 1702. At step 1754, the pathing generation system 1600 may receive a current location (e.g., current location 1603) of the vehicle 10. The current location of the vehicle 10 may be somewhere within the floorplan 1602 of the production system 1601. At step 1756, the pathing generation system 1600 may generate one or more possible paths (e.g., route 1704) for the vehicle 10 to visit one or more locations (e.g., locations 1700) throughout the production system 1601, taking into account the footprint of the vehicle 10 and the floorplan. The pathing generation system 1600 may display the one or more possible paths to an operator of the pathing generation system 1600 on the user interface.

[0074] At step 1758, the pathing generation system 1600 may receive one or more inputs from the input device. For example, the operator of the pathing generation system 1600 input a series of target locations and/or an order of approaching the target locations for the vehicle 10 throughout the production system 1601. As another example, the operator of the pathing generation system 1600 may edit the floorplan to include one or more of obstacles, locations, or egress points if the obstacle, location, or egress point is not already accounted for in the floorplan.

[0075] At step 1760, the pathing generation system 1600 may determine a desired path for the vehicle 10. For example, the desired path may avoid one or more obstacles. As another example, the desired path may be a most efficient path (e.g., the shortest or fastest path, etc.) for the vehicle 10. In some embodiments, the desired path may be automatically generated by the pathing generation system 1600. In other embodiments, the operator of the pathing generation system 1600 may provide input, such as an input selecting or preferring the desired path over any other possible path.

[0076] At step 1762, a route may be generated for the vehicle 10. The route may be the same as the desired path or it may vary. For example, in some embodiments, the desired path may be generated in combination with the possible paths generated in the step 1756 (e.g., prior to any input from the input device). Subsequent to the one or more inputs from the input device, the route generated for the vehicle 10 at the step 1762 may differ from the desired path. The vehicle 10 may then travel along the route generated at the step 1762. In some embodiments, the route may be updated while the vehicle is traveling along the route based on data from one or more sensors coupled to the vehicle (e.g., the sensors 112).

[0077] At step 1764, an optimized floorplan may be generated. For example, the pathing generation system 1600 may be configured to analyze data gathered from various floorplans, possible paths, generated routes, and/or input from an operator or the input device to learn about and/or recognize inefficiencies within the production system 1601, including inefficiencies associated with the vehicle 10 traveling throughout the production system 1601. In some embodiments, the optimized floorplan may only be generated once or a small number of times in relation to the regular generation of floorplans by the pathing generation system 1600. In other words, the optimized floorplan may not be generated each and every time a floorplan is generated by the pathing generation system 1600. For example, the production system 1601 may already be operating under the most efficient possible configuration or arrangement. Step 1764 is an optional step and may or may not be performed. In some embodiments, step 1764 is performed on its own based on mapping data provided to or obtained by the vehicle 10.

[0078] As utilized herein with respect to numerical ranges, the terms approximately, about, substantially, and similar terms generally mean+/10% of the disclosed values. When the terms approximately, about, substantially, and similar terms are applied to a structural feature (e.g., to describe its shape, size, orientation, direction, etc.), these terms are meant to cover minor variations in structure that may result from, for example, the manufacturing or assembly process and are intended to have a broad meaning in harmony with the common and accepted usage by those of ordinary skill in the art to which the subject matter of this disclosure pertains. Accordingly, these terms should be interpreted as indicating that insubstantial or inconsequential modifications or alterations of the subject matter described and claimed are considered to be within the scope of the disclosure as recited in the appended claims.

[0079] It should be noted that the term exemplary and variations thereof, as used herein to describe various embodiments, are intended to indicate that such embodiments are possible examples, representations, or illustrations of possible embodiments (and such terms are not intended to connote that such embodiments are necessarily extraordinary or superlative examples).

[0080] The term coupled and variations thereof, as used herein, means the joining of two members directly or indirectly to one another. Such joining may be stationary (e.g., permanent or fixed) or moveable (e.g., removable or releasable). Such joining may be achieved with the two members coupled directly to each other, with the two members coupled to each other using a separate intervening member and any additional intermediate members coupled with one another, or with the two members coupled to each other using an intervening member that is integrally formed as a single unitary body with one of the two members. If coupled or variations thereof are modified by an additional term (e.g., directly coupled), the generic definition of coupled provided above is modified by the plain language meaning of the additional term (e.g., directly coupled means the joining of two members without any separate intervening member), resulting in a narrower definition than the generic definition of coupled provided above. Such coupling may be mechanical, electrical, or fluidic.

[0081] References herein to the positions of elements (e.g., top, bottom, above, below) are merely used to describe the orientation of various elements in the FIGURES. It should be noted that the orientation of various elements may differ according to other exemplary embodiments, and that such variations are intended to be encompassed by the present disclosure.

[0082] The hardware and data processing components used to implement the various processes, operations, illustrative logics, logical blocks, modules and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose single- or multi-chip processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, or, any conventional processor, controller, microcontroller, or state machine. A processor also may be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. In some embodiments, particular processes and methods may be performed by circuitry that is specific to a given function. The memory (e.g., memory, memory unit, storage device) may include one or more devices (e.g., RAM, ROM, Flash memory, hard disk storage) for storing data and/or computer code for completing or facilitating the various processes, layers and modules described in the present disclosure. The memory may be or include volatile memory or non-volatile memory, and may include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present disclosure. According to an exemplary embodiment, the memory is communicably connected to the processor via a processing circuit and includes computer code for executing (e.g., by the processing circuit or the processor) the one or more processes described herein.

[0083] The present disclosure contemplates methods, systems and program products on any machine-readable media for accomplishing various operations. The embodiments of the present disclosure may be implemented using existing computer processors, or by a special purpose computer processor for an appropriate system, incorporated for this or another purpose, or by a hardwired system. Embodiments within the scope of the present disclosure include program products comprising machine-readable media for carrying or having machine-executable instructions or data structures stored thereon. Such machine-readable media can be any available media that can be accessed by a general purpose or special purpose computer or other machine with a processor. By way of example, such machine-readable media can comprise RAM, ROM, EPROM, EEPROM, or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer or other machine with a processor. Combinations of the above are also included within the scope of machine-readable media. Machine-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions.

[0084] Although the figures and description may illustrate a specific order of method steps, the order of such steps may differ from what is depicted and described, unless specified differently above. Also, two or more steps may be performed concurrently or with partial concurrence, unless specified differently above. Such variation may depend, for example, on the software and hardware systems chosen and on designer choice. All such variations are within the scope of the disclosure. Likewise, software implementations of the described methods could be accomplished with standard programming techniques with rule-based logic and other logic to accomplish the various connection steps, processing steps, comparison steps, and decision steps.

[0085] It is important to note that the construction and arrangement of the vehicle 10 and the production system as shown in the various exemplary embodiments is illustrative only. Additionally, any element disclosed in one embodiment may be incorporated or utilized with any other embodiment disclosed herein. Although only one example of an element from one embodiment that can be incorporated or utilized in another embodiment has been described above, it should be appreciated that other elements of the various embodiments may be incorporated or utilized with any of the other embodiments disclosed herein.