The information provided in this section is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
The present disclosure relates to systems and methods for identifying and alerting of footprint over-cycle risks on multi-product general assembly lines.
An assembly line may include multiple conveyors that advance vehicles or vehicle subassemblies through footprints in unison and at a constant speed. Each footprint of the assembly lines represents a location where, over a period of time, one or more tasks are completed in assembling vehicle content (e.g., a cycle) before the vehicle advances. This equates to a cycle time per footprint. If the tasks of assembling the vehicle content at one of the footprints of a conveyor is not finished within its cycle time, an over-cycle event occurs. In connection therewith, an alarm may be manually and/or automatically activated to notify supervisors, other workers, etc. of the over-cycle event or a possibility of an over-cycle event. If the alarm is not cleared, the conveyor (and possibly other upstream and/or downstream conveyors) stop.
A method is disclosed for identifying over-cycle risks associated with an assembly line including at least one conveyor configured to move vehicles through a plurality of footprints in unison. Each footprint represents a location where vehicle content is assembled. The method includes receiving historical data; for each footprint of the conveyor, and identifying vehicle groups having different vehicle characteristics and over-cycle distributions for each vehicle group or a back-to-back sequence of any given vehicle group by calculating, based on the received historical data, for each vehicle characteristic of the different vehicle characteristics, an over-cycle distribution for a first vehicle group having the vehicle characteristic and an over-cycle distribution for a second vehicle group not having the vehicle characteristic, determining whether either the number of vehicles in the first or second vehicle group or a difference between the over-cycle distributions for the first and second vehicle groups satisfies a threshold condition, and in response to satisfying the threshold condition, cease identifying the vehicle groups. The method further includes receiving an actual vehicle sequence for the assembly line, and identifying, for the actual vehicle sequence for the assembly line, over-cycle risks based on the identified vehicle groups and the over-cycle distributions for each vehicle group or a back-to-back sequence of any given vehicle group.
In other features, the method includes, in response to not satisfying the threshold condition, selecting the vehicle characteristic having the largest over-cycle distribution difference, and calculating, for a vehicle group having the selected vehicle characteristic, an over-cycle distribution for a first subset of the vehicle group having another vehicle characteristic of the different vehicle characteristics and an over-cycle distribution for a second subset of the vehicle group not having the other vehicle characteristic.
In other features, calculating the over-cycle distributions for the first and second subsets of the vehicle group includes calculating the over-cycle distributions with the Kaplan-Meier method.
In other features, the method includes determining whether either the number of vehicles in the first or second subset of the vehicle group or a difference between the over-cycle distributions for the first and second subsets of the vehicle group satisfies the threshold condition, and cease identifying the vehicle groups includes cease identifying the vehicle groups in response to either the number of vehicles in the first or second subset of the vehicle group or the difference between the over-cycle distributions for the first and second subsets of the vehicle group satisfying the threshold condition.
In other features, calculating, for each vehicle characteristic, the over-cycle distribution for the first vehicle group and the over-cycle distribution for the second vehicle group includes calculating the over-cycle distribution for the first vehicle group and the over-cycle distribution for the second vehicle group with the Kaplan-Meier method.
In other features, the method includes generating and transmitting an alert signal indicating the over-cycle risks.
In other features, the over-cycle risks include probabilities of different over-cycle times at a footprint of the assembly line.
In other features, transmitting the alert signal includes transmitting the alert signal to a supervisor control module.
A system for identifying over-cycle risks associated with an assembly line is disclosed. The assembly line includes at least one conveyor configured to move vehicles through a plurality of footprints in unison. Each footprint represents a location where vehicle content is assembled. The system includes a computing module configured to receive historical data, and for each footprint of the conveyor, identify vehicle groups having different vehicle characteristics and over-cycle distributions for each vehicle group or a back-to-back sequence of any given vehicle group by calculating, based on the received historical data, for each vehicle characteristic of the different vehicle characteristics, an over-cycle distribution for a first vehicle group having the vehicle characteristic and an over-cycle distribution for a second vehicle group not having the vehicle characteristic, determining whether either the number of vehicles in the first or second vehicle group or a difference between the over-cycle distributions for the first and second vehicle groups satisfies a threshold condition, and in response to satisfying the threshold condition, cease identifying the vehicle groups. The computing module is further configured to receive an actual vehicle sequence for the assembly line, and identify, for the actual vehicle sequence for the assembly line, over-cycle risks based on the identified vehicle groups and the over-cycle distributions for each vehicle group or a back-to-back sequence of any given vehicle group.
In other features, the computing module is configured, in response to not satisfying the threshold condition, to select the vehicle characteristic having the largest over-cycle distribution difference, and calculate, for a vehicle group having the selected vehicle characteristic, an over-cycle distribution for a first subset of the vehicle group having another vehicle characteristic of the different vehicle characteristics and an over-cycle distribution for a second subset of the vehicle group not having the other vehicle characteristic.
In other features, the computing module is configured to calculate the over-cycle distributions for the first and second subsets of the vehicle group with the Kaplan-Meier method.
In other features, the computing module is configured to determine whether either the number of vehicles in the first or second subset of the vehicle group or a difference between the over-cycle distributions for the first and second subsets of the vehicle group satisfies the threshold condition, and in response to either the number of vehicles in the first or second subset of the vehicle group or the difference between the over-cycle distributions for the first and second subsets of the vehicle group satisfying the threshold condition, cease identifying the vehicle groups.
In other features, the computing module is configured to calculate the over-cycle distributions for the first and second vehicle groups with the Kaplan-Meier method.
In other features, the computing module is configured to generate and transmit an alert signal indicating the over-cycle risks.
In other features, the over-cycle risks include probabilities of different over-cycle times at a footprint of the assembly line.
In other features, the computing module is configured to transmit the alert signal to a supervisor control module.
Further areas of applicability of the present disclosure will become apparent from the detailed description, the claims and the drawings. The detailed description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the disclosure.
The present disclosure will become more fully understood from the detailed description and the accompanying drawings, wherein:
In the drawings, reference numbers may be reused to identify similar and/or identical elements.
An assembly line includes multiple conveyors that advance vehicles through footprints. As the vehicles advance along the assembly line, each footprint has its own task list of one or more tasks to be performed on each vehicle based on the vehicle's characteristics (e.g., options, body style, etc.). The task list for each footprint may vary (sometimes significantly) from vehicle to vehicle based on each particular vehicle and its characteristics. The amount of work required in each footprint varies based on the vehicle's characteristics. As such, the time per footprint required to complete tasks varies. For example, the same task at a footprint for a truck may take 10 seconds, but 15 seconds for a van. Additionally, the time per footprint required to complete tasks may vary due to a sequence of consecutive vehicles. For instance, a task at a footprint for a vehicle may be completed in an allotted time, and the same or a different task at the same footprint for another vehicle may be completed in an allotted time if the vehicles are not back-to-back. However, if the vehicles are back-to-back, the task at the footprint for the second vehicle (of the back-to-back vehicles) may take more than its allotted time. If the tasks of assembling the vehicle content at one of the footprints of a conveyor is not finished within the cycle time, the conveyor (and possibly other upstream and/or downstream conveyors) may stop. As such, engineers seek to order vehicles entering the assembly line in an attempt to avoid back-to-back worst-case work demands (e.g., having two or more vans in a sequence according to the example above). However, this may be impossible due to errors, random chance, different vehicle blends, etc.
The systems and methods according to the present disclosure provide mechanisms for extracting performance profiles for defined groups of vehicles at given footprints and then leveraging the performance profiles to forecast over-cycle risks in real-time at each footprint on an assembly line for any given vehicle sequence. As such, supervisors may be alerted in advance of the over-cycle risks as vehicles move through the assembly line, and take measures (e.g., change staffing at a particular footprint, etc.) to avert the risks and conveyor stoppages. As a result, over cycle stops are reduced and production throughput of the assembly line is increased.
Referring now to
In the example of
The stop history build module 104 categorizes information specific to over-cycle events and then stores the information in the over-cycle database 118. The stop history build module 104 may do so based on data from one or more inputs (collectively shown as 130), data from the cycle definition database 116, etc. For example, the stop history build module 104 may receive target cycle times for each conveyor, actual over-cycle data (e.g., durations of over-cycles, locations of over-cycles, etc.), the conveyor cycle definitions, etc. Based on the collected data, the stop history build module 104 may categorize a conveyor cycle with over-cycle events per footprint for each conveyor of the assembly line. The information stored in the cycle definition database 116 and the over-cycle database 118 may form, at least in part, historical data representing vehicle-footprint performance.
The grouping module 106 identifies vehicles groups having different vehicle characteristics based on the vehicle-footprint performance, as further explained below. For example, and as shown in
The performance profile module 108 determines performance profiles (e.g., over-cycle distributions) of the vehicle groups identified by the grouping module 106, as further explained below. To determine performance profiles, the performance profile module 108 receives data from the cycle definition database 116 and the over-cycle database 118, and data (e.g., the identified vehicles groups) from the vehicle group definitions database 122. The performance profiles are then stored in the performance profiles database 124.
The vehicle sequence controller 110 controls the actual sequence of vehicles passing through the assembly line. Once the vehicles enter the assembly line, the sequence is fixed. The actual vehicle sequence may be controlled based on, for example, vehicle history data (e.g., past vehicle sequences of entering the assembly line, time stamps of the vehicle sequences, etc.) stored vehicle history entries database 126.
As shown in
In the example of
Then, historical cycle times for the conveyor may be collected (e.g., from the databases 118, 122 of
Then, vehicle group definitions may be identified and over-cycle distributions for each group at each footprint may be calculated. For example,
In the example of
In this manner, the cycle time distributions of each vehicle group with a vehicle characteristic (truck, black, etc.) and without the vehicle characteristic (not truck, not black, etc.) may be calculated. While
Then, the identifying of vehicle groups may cease if a threshold condition is satisfied. For example, a determination may be made (e.g., by the grouping module 106 and/or the performance profile module 108 of
Otherwise, the identifying of vehicle groups may continue. In such scenarios, the vehicle characteristic having the largest over-cycle distribution difference may be selected. For example, and with reference to the example of
For example,
After the additional vehicle groups are identified (e.g., black trucks 602 and black not trucks 604), the identifying of additional vehicle groups may cease if a threshold condition is satisfied, as explained above. For example, if the number of vehicles in a particular set of vehicle groups is below a threshold value (e.g., 100 vehicles, etc.) or the difference between the over-cycle distributions for a particular set of groups is below a threshold value (e.g., 5%, 10%, etc.), the identifying of additional vehicle groups may cease. If not, the identifying of vehicle groups may continue by again selecting the vehicle characteristics having the largest over-cycle distribution difference and calculating cycle time distributions for identified subsets of the vehicle group for all other vehicle characteristics, as explained above. Such actions may be performed on each subset (e.g., each split) of the group.
With continued reference to the example above,
Table 2 below shows the groups identified in
Additionally, in some embodiments, the identifying of vehicle groups (e.g., by the grouping module 106) may consider the combinations of vehicle characteristics in pairs of vehicles in the sequence. For example, it may be known that the sequence of two vehicles of the same or different groups passing through a particular footprint (e.g., the footprint 304, etc.) is problematic. As such, the sequence of repeating vehicles (e.g., vans) with the same vehicle characteristic (e.g., six-speed transmission option), the sequence of one vehicle with a particular vehicle characteristic followed by another vehicle with another particular vehicle characteristic, etc. can be an issue. In such examples, over-cycle distributions for pairs of vehicles in the sequence may be calculated (e.g., by the performance profile module 108 of
As shown in
At 806, control determines whether a threshold condition associated with the identified vehicles groups or calculated over-cycle distributions is satisfied. For example, the grouping module 106 may determine whether the number of vehicles in an identified vehicle group is below a threshold value or the performance profile module 108 may determine whether a difference between the over-cycle distributions for a particular set of groups is below a threshold value, as explained above. If no at 806, control proceeds to 808 where control determines whether all possible characteristics (e.g., options) are exhausted. If no at 808, control proceeds to 810 where the process of identifying vehicles groups and calculating over-cycle distributions is continued, and then returns to 806. If yes at 806 or 808, control proceeds to 812 where the process of identifying vehicles groups and calculating over-cycle distributions is ceased (e.g., stopped, discontinued, etc.).
Control then proceeds to 814. At 814, control determines whether an actual (e.g., in progress, etc.) vehicle sequence is received. If no, control ends as shown in
At 816, control determines whether any over-cycle risk is identified for the received actual vehicle sequence. For example, the alert generation module 112 may identify, for the actual vehicle sequence, one or more over-cycle risks specific to one or more footprints of the conveyor. If no at 816, control ends as shown in
At 818, control generates and transmits an alert signal. For example, the alert generation module 112 may generate and transmit the alert signal indicating probabilities of over-cycles and their durations (e.g., collectively, over-cycle risks) specific to a particular footprint. In various embodiments, the alert signal may be transmitted to, for example, the supervisor control module 114 of
As shown in
At 904, control determines a threshold condition associated with the identified vehicles groups or calculated over-cycle distributions is satisfied, as explained above. If no, control proceeds to 906. Otherwise, control ends.
At 906, control selects the vehicle characteristic having the largest over-cycle distribution difference. For example, and as explained above, control may select the vehicle characteristic of black vehicles vs not black vehicles (or another vehicle characteristic) having the largest over-cycle distribution difference among the other over-cycle distributions. Then, subsets of the vehicle group having the selected vehicle characteristic are identified. Control then proceeds to 908.
At 908, control calculates, for subset of vehicle groups having the selected vehicle characteristics, over-cycle distributions for all other vehicle characteristics. For example, and as explained above, if the vehicle characteristic of black vs not black is selected (e.g., by the grouping module 106), control calculates over-cycle distributions for black vehicles having another vehicle characteristic (e.g., black truck) and black vehicles not having the other vehicle characteristic (e.g., black non-truck). The over-cycle distributions may be calculated with the performance profile module 108 as explained above (e.g., relying on the adaptation of the Kaplan-Meier method), for all other vehicle characteristics, and for each footprint of each conveyor in an assembly line. Control then returns to 904.
The foregoing description is merely illustrative in nature and is in no way intended to limit the disclosure, its application, or uses. The broad teachings of the disclosure can be implemented in a variety of forms. Therefore, while this disclosure includes particular examples, the true scope of the disclosure should not be so limited since other modifications will become apparent upon a study of the drawings, the specification, and the following claims. It should be understood that one or more steps within a method may be executed in different order (or concurrently) without altering the principles of the present disclosure. Further, although each of the embodiments is described above as having certain features, any one or more of those features described with respect to any embodiment of the disclosure can be implemented in and/or combined with features of any of the other embodiments, even if that combination is not explicitly described. In other words, the described embodiments are not mutually exclusive, and permutations of one or more embodiments with one another remain within the scope of this disclosure.
Spatial and functional relationships between elements (for example, between modules, circuit elements, semiconductor layers, etc.) are described using various terms, including “connected,” “engaged,” “coupled,” “adjacent,” “next to,” “on top of,” “above,” “below,” and “disposed.” Unless explicitly described as being “direct,” when a relationship between first and second elements is described in the above disclosure, that relationship can be a direct relationship where no other intervening elements are present between the first and second elements, but can also be an indirect relationship where one or more intervening elements are present (either spatially or functionally) between the first and second elements. As used herein, the phrase at least one of A, B, and C should be construed to mean a logical (A OR B OR C), using a non-exclusive logical OR, and should not be construed to mean “at least one of A, at least one of B, and at least one of C.”
In the figures, the direction of an arrow, as indicated by the arrowhead, generally demonstrates the flow of information (such as data or instructions) that is of interest to the illustration. For example, when element A and element B exchange a variety of information but information transmitted from element A to element B is relevant to the illustration, the arrow may point from element A to element B. This unidirectional arrow does not imply that no other information is transmitted from element B to element A. Further, for information sent from element A to element B, element B may send requests for, or receipt acknowledgements of, the information to element A.
In this application, including the definitions below, the term “module” or the term “controller” may be replaced with the term “circuit.” The term “module” may refer to, be part of, or include: an Application Specific Integrated Circuit (ASIC); a digital, analog, or mixed analog/digital discrete circuit; a digital, analog, or mixed analog/digital integrated circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor circuit (shared, dedicated, or group) that executes code; a memory circuit (shared, dedicated, or group) that stores code executed by the processor circuit; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip.
The module may include one or more interface circuits. In some examples, the interface circuits may include wired or wireless interfaces that are connected to a local area network (LAN), the Internet, a wide area network (WAN), or combinations thereof. The functionality of any given module of the present disclosure may be distributed among multiple modules that are connected via interface circuits. For example, multiple modules may allow load balancing. In a further example, a server (also known as remote, or cloud) module may accomplish some functionality on behalf of a client module.
The term code, as used above, may include software, firmware, and/or microcode, and may refer to programs, routines, functions, classes, data structures, and/or objects. The term shared processor circuit encompasses a single processor circuit that executes some or all code from multiple modules. The term group processor circuit encompasses a processor circuit that, in combination with additional processor circuits, executes some or all code from one or more modules. References to multiple processor circuits encompass multiple processor circuits on discrete dies, multiple processor circuits on a single die, multiple cores of a single processor circuit, multiple threads of a single processor circuit, or a combination of the above. The term shared memory circuit encompasses a single memory circuit that stores some or all code from multiple modules. The term group memory circuit encompasses a memory circuit that, in combination with additional memories, stores some or all code from one or more modules.
The term memory circuit is a subset of the term computer-readable medium. The term computer-readable medium, as used herein, does not encompass transitory electrical or electromagnetic signals propagating through a medium (such as on a carrier wave); the term computer-readable medium may therefore be considered tangible and non-transitory. Non-limiting examples of a non-transitory, tangible computer-readable medium are nonvolatile memory circuits (such as a flash memory circuit, an erasable programmable read-only memory circuit, or a mask read-only memory circuit), volatile memory circuits (such as a static random access memory circuit or a dynamic random access memory circuit), magnetic storage media (such as an analog or digital magnetic tape or a hard disk drive), and optical storage media (such as a CD, a DVD, or a Blu-ray Disc).
The apparatuses and methods described in this application may be partially or fully implemented by a special purpose computer created by configuring a general purpose computer to execute one or more particular functions embodied in computer programs. The functional blocks, flowchart components, and other elements described above serve as software specifications, which can be translated into the computer programs by the routine work of a skilled technician or programmer.
The computer programs include processor-executable instructions that are stored on at least one non-transitory, tangible computer-readable medium. The computer programs may also include or rely on stored data. The computer programs may encompass a basic input/output system (BIOS) that interacts with hardware of the special purpose computer, device drivers that interact with particular devices of the special purpose computer, one or more operating systems, user applications, background services, background applications, etc.
The computer programs may include: (i) descriptive text to be parsed, such as HTML (hypertext markup language), XML (extensible markup language), or JSON (JavaScript Object Notation) (ii) assembly code, (iii) object code generated from source code by a compiler, (iv) source code for execution by an interpreter, (v) source code for compilation and execution by a just-in-time compiler, etc. As examples only, source code may be written using syntax from languages including C, C++, C#, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, Javascript®, HTML5 (Hypertext Markup Language 5th revision), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, MATLAB, SIMULINK, and Python®.