testing robotic systems a new battlefield
play

Testing Robotic Systems: A New Battlefield ! Arnaud Gotlieb Simula - PowerPoint PPT Presentation

Testing Robotic Systems: A New Battlefield ! Arnaud Gotlieb Simula Research Laboratory Norway RoboSoft Wed, 13-14 November 2019 Royal Academy of Engineering Industrial Robotics Evolves Very Fast! Industrial robots are now complex


  1. Testing Robotic Systems: A New Battlefield ! Arnaud Gotlieb Simula Research Laboratory Norway RoboSoft – Wed, 13-14 November 2019 – Royal Academy of Engineering

  2. Industrial Robotics Evolves Very Fast! Industrial robots are now complex cyber-physical systems (motion control and perception systems, multi-robots sync., remote control, Inter- connected for predictive maintenance, …) They are used to perform safety-critical tasks in complete autonomy (high-voltage component, on-demand painting with color/brush change, ..) And they collaborate with human co-workers 2

  3. Testing Robotic Systems is Crucial and Challenging • The validation of industrial robots still involve too much human labour • “ Hurry-up, the robots are uncaged! ”: Failures are not anymore handled using fences • Robot behaviour evolves with changing requirements • Today, industrial robots can be taught by-imitation. More Tomorrow, they will learn by themselves automation in testing More diversity in testing More efficiency in testing 3

  4. How Software Development of Industrial Robots Has Evolved... To… From…. Single-core, single application system Multi-core, complex distributed system All source code maintained by a small team Subsystems developed by distinct teams located at the same place located at distinct places in the world Manual system testing only handled in a Automated software testing handled in single place, on actual robots continuous integration, on virtual controllers

  5. A Typical Cycle of Continuous Integration: Timeline Developer commit Test Case Selection/Generation Software Test Suite Reduction building Developer feedback Test Case Prioritization Software Deployment Test Execution Scheduling Software Testing + Test Execution

  6. Deployment of “Intelligent” Continuous Testing at ABB Robotics 2. Test Constraint Programming Constraint-based Scheduling 1. Test Suite Execution Reduction Scheduling 3. Test of Intelligent Constraint Optimization Global Constraints Systems

  7. Deployment of “Intelligent” Continuous Testing at ABB Robotics 2. Test Constraint Programming Constraint-based Scheduling 1. Test Suite Execution Reduction Scheduling 3. Test of Intelligent Constraint Optimization Global Constraints Systems 7

  8. Test Selection and Test Suite Reduction From a concrete set up: Test Case Repository: ~10,000 Test Cases (TC) ~25 distinct Test Robots ~500 distinct features 10..30 code changes per day → Select, schedule and execute about 150 TC per CI cycle

  9. Optimal Test Suite Reduction TC 1 F i : Requirements TC: Test Cases F 1 TC 2 Optimally Reduced Test Suite TC 3 F 2 TC 4 F 3 TC 5 Similar to the Vertex NP-hard Cover problem in a problem! TC 6 bipartite graph

  10. Constraint Programming (CP) Constraint Domain • Routinely used in Validation & Verification, Propagation Filtering CP handles efficiently hundreds of thousands Variable of constraints and variables Labeling • CP is versatile: user-defined constraints, dedicated solvers, programming search heuristics but it is not a silver bullet (developing efficient CP models and heuristics requires expertise) → Global constraints : relations over a non-fixed number of variables, implementing dedicated filtering algorithms

  11. The nvalue global constraint [Pachet Roy 1999, Beldiceanu 01] nvalue (N, V) Where: N is a finite-domain variable V = [ V 1 , …, V k ] is a vector of variables nvalue (N, V) holds iff N = 𝑑𝑏𝑠𝑒( V i 𝑗 𝑗𝑜 1. . 𝑙 ) nvalue (N, [3, 1, 3]) entails N = 2 nvalue (3, [X 1 , X 2 ]) fails nvalue (1, [X 1 , X 2, X 3 ]) entails X 1 = X 2 = X 3 N in 1..2 , nvalue (N, [4, 7,X 3 ]) entails X 3 in {4,7}, N=2

  12. Optimal Test Suite Reduction with nvalue TC 1 F 1 TC 2 However, TC 3 F 2 only F 1 , F 2 , F 3 are available TC 4 for labeling! F 3 TC 5 Sol: F 1 = 2, F 2 = 3, F 3 = 2 Optimally Reduced Test Suite TC 6 F 1 in {1, 2, 6}, F 2 in {3, 4}, F 3 in {2, 5} nvalue ( MaxNvalue, [F 1 , F 2 , F 3 ] ) Minimize( MaxNvalue )

  13. The global_cardinality constraint ( gcc ) [Regin AAAI’96] gcc (T, d, V) Where T = [T 1 , …, T N ] is a vector of N variables d = [d 1 , …., d k ] is a vector of k values V = [V 1 , …, V k ] is a vector of k variables ∀𝑗 𝑗𝑜 1. . 𝑙, gcc (T, d, V) holds iff V i = card({j | T j =di}) Filtering algorithms for gcc are based on max-flow computations

  14. Example TC1 F 1 TC2 gcc( [F 1 , F 2 , F 3 ], [1,2,3,4,5,6], [V 1 ,V 2 ,V 3 ,V 4 ,V 5 ,V 6 ]) TC3 means that: F 2 TC4 TC1 covers exactly V 1 features in [F 1 , F 2 , F 3 ] F 3 TC5 TC2 ‘’ V 2 ‘’ TC3 ‘’ V 3 ‘’ TC6 ... F 1 in {1, 2, 6}, F 2 in {3, 4}, F 3 in {2, 5} V 1 in {0, 1}, V 2 in {0, 1, 2}, V 3 in {0, 1}, V 4 in {0, 1}, V 5 in {0, 1}, V 6 in {0, 1} Here, V 1 =1, V 2 =1, V 3 =1, V 4 =0, V 5 =0, V 6 =0 is a feasible solution But, not an optimal solution!

  15. Mixt model using gcc and nvalue TC1 F1 TC2 TC3 F2 TC4 F3 TC5 TC6 F 1 in {1, 2, 6}, F 2 in {3, 4}, F 3 in {2, 5} gcc ( [F 1 , F 2 , F 3 ], [1,2,3,4,5,6], [V 1 , V 2 , V 3 , V 4 , V 5 , V 6 ] ) nvalue (MaxNvalue, [F 1 , F 2 , F 3 ]) Minimize(MaxNvalue)

  16. Model pre-processing TC1 F 1 in {1, 2, 6} → F 1 = 2 F 1 TC 2 as cov(TC 1 )  cov(TC 2 ) and cov(TC 6 )  cov(TC 2 ) withdraw TC 1 and TC 6 TC 3 F 2 F 3 is covered → withdraw TC 5 TC4 F 3 TC5 F 2 in {3,4} → e.g., F 2 = 3, withdraw TC 4 TC6 Pre-processing rules can be expressed once and then applied iteratively

  17. Comparison with CPLEX, MiniSAT, Greedy (uniform costs) (Reduced Test Suite percentage in 60 sec)

  18. Other criteria to minimize 1 min TC1 Requirement coverage is always a prerequiste F1 5 min TC2 Optimally Reduced Test Suite TC3 3 min F2 TC4 3 min F3 TC5 1 min TC6 1 min Execution time!

  19. Optimal Test Suite Reduction with Constraint Programming (CP) NP-hard problem! CP with global constraints (nvalue, gcc) and search heuristic and presolve Time-contract solving of the multi-criteria optimisation problem A. Gotlieb and D. Marijan - FLOWER: Optimal Test Suite Reduction As a Network Maximum Flow – ACM Int. Symp. on Soft. Testing and Analysis (ISSTA'14), San José, CA, Jul. 2014. M. Mossige, A. Gotlieb and H. Meling - Generating Tests for Robotized Painting Using Constraint Programming - In Int. Joint Conf. on Artificial Intelligence (IJCAI-16) - Sister Conference Best Paper Track. New York City, 2016. A. Gotlieb and D. Marijan - Using Global Constraints to Automate Regression Testing - AI Magazine 38, no. Spring (2017).

  20. Variability model to IRB 580 IRB 5500 IRB 5400 -22 IRB 540 describe a product line IRB 5400 -12 IRB 58 IRB 52 Rail sys Optimized (reduced) Unoptimized test suite test suite Diagnostic views, feature coverage S. Wang, S. Ali and A. Gotlieb - Cost-Effective Test Suite Minimization in Product Lines Using Search Techniques -Journal of Systems and Software 103 (2015): 370-391. A. Gotlieb, M. Carlsson, D. Marijan and A. Petillon - A New Approach to Feature-based Test Suite Reduction in Software Product Line Testing - In ICSOFT-EA 2016, 11th Int. Conf. on Sof. Eng. and Applications, Lisbon, July 2016, Best Paper Award . INSTICC Press, 2016. D. Marijan, A. Gotlieb, M. Liaaen, S. Sen and C. Ieva - TITAN: Test Suite Optimization for Highly Configurable Software - In International Conference on Software Testing, Verification and Validation (ICST 2017) . IEEE, 2017.

  21. Deployment of “Intelligent” Continuous Testing at ABB Robotics 2. Test Constraint Programming Constraint-based Scheduling 1. Test Suite Execution Reduction Scheduling 3. Test of Intelligent Constraint Optimization Global Constraints Systems

  22. Assignment of Tasks to Agents such that: Constraint-Based Scheduling 1. Task execution is not interrupted or paused; 2. Agents are well occupied; 3. Tasks sharing a global resource are not Tasks executed at the same time; with distinct 4. Diversity of assignment of tasks to agents is characteristics ensured; Schedule Agents Goal: with limited time or Schedule as much tasks as possible on available agents resources capacity such that the overall execution time is minimized

  23. Test Case Execution Scheduling (T, M, G, d, g, f) Disjunctive scheduling, T : a set of Test Cases non-preemptive, M : a set of Machines, e.g., robots non-shareable resources, G : a set of (non-shareable) resources machine-independant execution time d: T → N estimated duration g: T → 2 G usage of global resources f: T → 2 M possible machines Function to optimize: TimeSpan: the overall duration of test execution T E (in order to minimize the round-trip time) In practice, global optimality is desired but not mandatory, it’s more important to control T S w.r.t T E → Time-contract global optimization

  24. d f g m3 A simple example m2 m1 Test Cases : t1, t2, t3, t4, t5, t6, t7, t8, t9, t9, t10 r1

  25. The C UMULATIVE global constraint [Aggoun & Beldiceanu AAAI’93] C UMULATIVE ( t, d, r, m) Where t = (t 1 , …, t N ) is a vector of tasks, each t i in S i .. E i d = (d 1 , …., d N ) is a vector of task duration r = (r 1 , …, r N ) is a vector of resource consumption rates m is a scalar 𝑂 ෍ 𝑠 𝑗 ≤ 𝑛 C UMULATIVE (t, d, r, m) holds iff 𝑗=1 t i ≤ t ≤ t i + d i

Recommend


More recommend