Skip to main content

LUP Student Papers

LUND UNIVERSITY LIBRARIES

Study of an automated testing procedure with dynamic job scheduling and automatic error handling

Andersson, Tom LU (2021) In CODEN:LUTEDX/TEIE EIEM01 20202
Industrial Electrical Engineering and Automation
Abstract
During the production of Axis's cameras, the optics modules have to do a number of tests and calibrations that are performed in different test stations. The test and calibration sequence differs between different models. This has so far been done manually by having operators move the units between test stations. However, Axis are planning to automate the procedure by having an industrial robot move test units between the different test stations. The scope of this thesis is to come up with a concept for the control of the system, including the flow of information and the job scheduling, and implement a simulation program where production sequences can be evaluated. The thesis is divided into four parts, specifying the system requirements,... (More)
During the production of Axis's cameras, the optics modules have to do a number of tests and calibrations that are performed in different test stations. The test and calibration sequence differs between different models. This has so far been done manually by having operators move the units between test stations. However, Axis are planning to automate the procedure by having an industrial robot move test units between the different test stations. The scope of this thesis is to come up with a concept for the control of the system, including the flow of information and the job scheduling, and implement a simulation program where production sequences can be evaluated. The thesis is divided into four parts, specifying the system requirements, concept generation, scheduling analysis, and implementation of simulations.

The requirements of the system were formulated by discussing the vision of the system with the project team at Axis. The essential requirements can be summarized as follows. The throughput of the system and the utilization of the different test stations should be as high as possible. It should be possible to connect and disconnect test stations during production, without interrupting the rest of the system. The system should be able to automatically handle unexpected states, such as test units being moved, having units already within the system upon start up, test stations which break during production etc. The system should handle potential deadlock situations to keep the production running. And finally, relevant data concerning tests, test stations and the flow of production should be stored for traceability reasons and visualized to achieve an overview of the production.

During the concept generation two concepts were generated. One concept was based on the initial visions of the project team at Axis. The fundamental idea with this concept is that information which is both generated within the system and is needed further down the test sequence of a specific test unit is stored on an ID-tag, for example an RFID-tag, attached to that test unit. This information is thereafter read when the unit arrives to the different subsystems within the system. The other concept was generated more freely based on the knowledge and experience of the student carrying out the thesis. In this concept, the generated information is instead stored in a database and thereafter accessed by the different subsystems within the system. It was concluded that both concepts offer similar functionalities, but the complexity of the ID-tag concept was lower. However, the project team at Axis was more experienced in working with databases compared to ID-tags and it was assessed that the lower complexity of the ID-tag concept was not significant enough to overlook the experience of the team. Therefore, the database concept was recommended for a future implementation.

To achieve an efficient system, the theories of job shop scheduling are analysed. A framework for dynamic scheduling was studied to get an overview of how job scheduling problems can be solved. For instance, the framework described three different categories of dynamic scheduling approaches: heuristic rules, classical optimization and approaches based on artificial intelligence. Within these categories, a couple of major techniques were analysed namely 12 standardized heuristic rules for different objectives, the classical optimization techniques dynamic programming and branch and bound, A*, as well as the artificial intelligence approaches beam search, genetic algorithms, and tabu search. One technique from each category was also analysed on a deeper level with focus on the system concerned by this thesis. These techniques were a combined heuristic rule focusing on throughput, A*, and beam search, where the last technique, beam search, is a combination of heuristic rules and A*.
The implementation of the simulation was based on the database concept. The user specifies the available test stations, occurrence of breakdowns, buffer size, an incoming rate of test units with a given test cycle, test units already placed inside the system upon start up, etc. The simulation program will then run these sequences using the derived combined heuristic rule as well as specified time durations for tests and the movement of the robot. Once the simulations have completed, the user is presented with relevant data such as total time, throughput, utilization factors etc. Optimally the simulations should also include A* and beam search, but this was not included in the simulations within the scope of the thesis.

This thesis provides a foundation for a future implementation of the system. The derived system concept can be used as a base for a future system design and the simulation software can be used to evaluate several production capabilities such as, how many test stations of each type that should be used at a certain production rate. (Less)
Popular Abstract
By concretizing the visions of a project team, a concept for an automatic solution for a manual testing procedure was developed. A solution that included automatic error handling and job scheduling, the technique of choosing the right actions at the right time to maximize the efficiency of the system. The developed concept was then used as a base in the development of a program for simulating production sequences, making it possible to evaluate the job scheduling algorithm and estimate the capacity of different system configurations.
Please use this url to cite or link to this publication:
author
Andersson, Tom LU
supervisor
organization
course
EIEM01 20202
year
type
H3 - Professional qualifications (4 Years - )
subject
keywords
Automation, Testing, Dynamic job scheduling, Automatic error handling, Concept generation, Heuristic rules, Dispatching rules, Branch and bound, A*, Dynamic programming, Beam search, Genetic algorithms, Tabu search, Simulations, C#
publication/series
CODEN:LUTEDX/TEIE
report number
5458
language
English
id
9043142
alternative location
https://www.iea.lth.se/publications/MS-Theses/Full%20document/5458_full_document.pdf
date added to LUP
2021-04-26 13:06:59
date last changed
2021-04-26 13:06:59
@misc{9043142,
  abstract     = {{During the production of Axis's cameras, the optics modules have to do a number of tests and calibrations that are performed in different test stations. The test and calibration sequence differs between different models. This has so far been done manually by having operators move the units between test stations. However, Axis are planning to automate the procedure by having an industrial robot move test units between the different test stations. The scope of this thesis is to come up with a concept for the control of the system, including the flow of information and the job scheduling, and implement a simulation program where production sequences can be evaluated. The thesis is divided into four parts, specifying the system requirements, concept generation, scheduling analysis, and implementation of simulations.

The requirements of the system were formulated by discussing the vision of the system with the project team at Axis. The essential requirements can be summarized as follows. The throughput of the system and the utilization of the different test stations should be as high as possible. It should be possible to connect and disconnect test stations during production, without interrupting the rest of the system. The system should be able to automatically handle unexpected states, such as test units being moved, having units already within the system upon start up, test stations which break during production etc. The system should handle potential deadlock situations to keep the production running. And finally, relevant data concerning tests, test stations and the flow of production should be stored for traceability reasons and visualized to achieve an overview of the production.

During the concept generation two concepts were generated. One concept was based on the initial visions of the project team at Axis. The fundamental idea with this concept is that information which is both generated within the system and is needed further down the test sequence of a specific test unit is stored on an ID-tag, for example an RFID-tag, attached to that test unit. This information is thereafter read when the unit arrives to the different subsystems within the system. The other concept was generated more freely based on the knowledge and experience of the student carrying out the thesis. In this concept, the generated information is instead stored in a database and thereafter accessed by the different subsystems within the system. It was concluded that both concepts offer similar functionalities, but the complexity of the ID-tag concept was lower. However, the project team at Axis was more experienced in working with databases compared to ID-tags and it was assessed that the lower complexity of the ID-tag concept was not significant enough to overlook the experience of the team. Therefore, the database concept was recommended for a future implementation.

To achieve an efficient system, the theories of job shop scheduling are analysed. A framework for dynamic scheduling was studied to get an overview of how job scheduling problems can be solved. For instance, the framework described three different categories of dynamic scheduling approaches: heuristic rules, classical optimization and approaches based on artificial intelligence. Within these categories, a couple of major techniques were analysed namely 12 standardized heuristic rules for different objectives, the classical optimization techniques dynamic programming and branch and bound, A*, as well as the artificial intelligence approaches beam search, genetic algorithms, and tabu search. One technique from each category was also analysed on a deeper level with focus on the system concerned by this thesis. These techniques were a combined heuristic rule focusing on throughput, A*, and beam search, where the last technique, beam search, is a combination of heuristic rules and A*.
The implementation of the simulation was based on the database concept. The user specifies the available test stations, occurrence of breakdowns, buffer size, an incoming rate of test units with a given test cycle, test units already placed inside the system upon start up, etc. The simulation program will then run these sequences using the derived combined heuristic rule as well as specified time durations for tests and the movement of the robot. Once the simulations have completed, the user is presented with relevant data such as total time, throughput, utilization factors etc. Optimally the simulations should also include A* and beam search, but this was not included in the simulations within the scope of the thesis.

This thesis provides a foundation for a future implementation of the system. The derived system concept can be used as a base for a future system design and the simulation software can be used to evaluate several production capabilities such as, how many test stations of each type that should be used at a certain production rate.}},
  author       = {{Andersson, Tom}},
  language     = {{eng}},
  note         = {{Student Paper}},
  series       = {{CODEN:LUTEDX/TEIE}},
  title        = {{Study of an automated testing procedure with dynamic job scheduling and automatic error handling}},
  year         = {{2021}},
}