Testing Robotized Paint System Using Constraint Programming: An Industrial Case Study
Advanced industrial robots are composed of several independent control systems. Particularly, robots that perform process-intensive tasks such as painting, gluing, and sealing have dedicated process control systems that are more or less loosely coupled with the motion control system. Validating software for such robotic systems is challenging. A major reason for this is that testing the software for such systems requires access to physical systems to test many of their characteristics.
In this paper, we present a method, developed at ABB Robotics in collaboration with SIMULA, for automated testing of such process control systems. Our approach draws on previous work from continuous integration and the use of well-established constraint-based testing and optimization techniques. We present a constraint-based model for automatically generating test sequences where we both generate and execute the tests as part of a continuous integration process. We also present results from a pilot installation at ABB Robotic where ABB’s Integrated Process Control system has been tested. The results show that the model is both able to discover completely new errors and to detect old reintroduced errors. From this experience, we report on lessons learned from implementing an automatic test generation and execution process for a distributed control system for industrial robots.
KeywordsConstraint Programming Test Engineer Process Control System Robot Controller Proximity Sensor
Unable to display preview. Download preview PDF.
- 1.Fowler, M., Foemmel, M.: Continuous integration (2006) (accessed August 13, 2013)Google Scholar
- 2.Mossige, M., Gotlieb, A., Meling, H.: Poster: Test generation for robotized paint systems using constraint programming in a continuous integration environment. In: 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation (ICST), pp. 489–490 (2013)Google Scholar
- 3.Carlsson, M., Ottosson, G., Carlson, B.: An open-ended finite domain constraint solver. In: Hartel, P.H., Kuchen, H. (eds.) PLILP 1997. LNCS, vol. 1292, pp. 191–206. Springer, Heidelberg (1997)Google Scholar
- 4.Di Alesio, S., Nejati, S., Briand, L., Gotlieb, A.: Stress testing of task deadlines: A constraint programming approach. In: 2013 IEEE 24th International Symposium on Software Reliability Engineering (ISSRE), pp. 158–167. IEEE (2013)Google Scholar
- 5.Balck, K., Pearson, J., Grinchtein, O.: Model-based protocol log generation for testing a telecommunication test harness using clp. In: Proceedings of DATE 2014, the 3rd International Conference on Design, Automation, & Test in Europe. IEEE Computer Society (2014)Google Scholar
- 6.Van Hentenryck, P.: Constraint Satisfaction in Logic Programming. MIT Press (1989)Google Scholar
- 7.Gotlieb, A.: TCAS Software Verification using Constraint Programming. The Knowledge Engineering Review 27(3), 343–360 (2012)Google Scholar
- 8.Rossum, G.: Python reference manual. Technical report, Amsterdam, The Netherlands, The Netherlands (1995)Google Scholar
- 10.de la Banda, M.G., Stuckey, P.J., Van Hentenryck, P., Wallace, M.: The future of optimization technology. Constraints, 1–13 (2013)Google Scholar
- 11.Marriott, K., Stuckey, P.J.: Programming with constraints: an introduction. MIT press (1998)Google Scholar