Simulation for Robotics Test Automation: Developer Perspectives

Simulation for Robotics Test Automation: Developer Perspectives

Simulation for Robotics Test Automation: Developer Perspectives Afsoon Afzal,1 Deborah S. Katz,1 Claire Le Goues, and Christopher S. Timperley Carnegie Mellon University, Pittsburgh, PA Email: [email protected], [email protected], [email protected], [email protected] Abstract—Robotics simulation plays an important role in the design, development, and verification and validation of robotics systems. Simulation represents a potentially cheaper, safer, and more reliable alternative to the widely used practice of manual field testing, and introduces valuable opportunities for extensive test automation. The goal of this paper is to develop a principled understanding of the ways robotics developers use simulation in their testing processes and the challenges they face in doing so. This understanding can guide the improvement of simulators and testing techniques for modern robotics development. To that end, we conduct a survey of 82 robotics developers from a diversity of backgrounds, addressing the current capabilities and limits of simulation in practice. We find that simulation is used by 84% of our participants for testing, and that many participants want to use simulation as part of their test automa- tion. Using qualitative and quantitative research methods, we identify 10 high-level challenges that impede developers from using simulation for manual and automated testing and in Fig. 1. A simulation of an unmanned ground vehicle, Jackal, in the Gazebo general. These challenges include the gap between simulation simulator [Source: http://www.clearpathrobotics.com]. and reality, a lack of reproducibility, and considerable resource costs associated with simulation. Finally, we outline ways in which simulators can be improved for use as a means of verification and validation and ways that the software engineering community can to be tested in a realistic and inherently complex environment. contribute to these improvements. However, field testing is time consuming and expensive, not Index Terms—robotics simulation challenges; robotics testing; scalable, error-prone and potentially dangerous, and can only simulation testing; testing challenges; empirical study; practi- be performed at the later stages of development when both the tioner survey software stack and hardware platform have reached maturity. Simulation-based testing, in which the robot controller is I. INTRODUCTION tested in a simulated environment, such as in Figure 1, is a From autonomously driving trucks and cars to packaging promising method for testing robotics systems that is cheaper, and shipping goods, robotics and autonomous systems are safer, and more scalable than the manual process of field set to play an important role in our lives for the indefinite testing, with significant potential for test automation [14]–[17]. future [1]–[3]. Such systems have the potential to automate Researchers have used simulation to effectively and au- or assist many dull, dirty, dangerous, and difficult jobs. In re- tomatically discover bugs in a variety of robot application sponse to the COVID-19 crisis, for example, robots have been domains [18]–[21] and have shown that even cheaper, less- used to deliver food to quarantined patients, disinfect public realistic simulations are capable of revealing many bugs [15]. places, and cope with increased supply chain demands [4]– Numerous companies in the autonomy sector, such as [7]. However, these systems also present new and unexpected Uber [22], NVIDIA [23], and Waymo [24], use simulation opportunities for catastrophic failure, resulting in tremendous on a large scale to develop, train, and test their algorithms. economic and human damage [8]–[11]. Given the considerable potential of simulation-based testing, It is therefore vital that we continue to develop effective we set out to understand the extent to which simulation is used quality assurance techniques for robotics and autonomous sys- for testing in practice and identify the barriers that prevent tems. Presently, the predominant means of quality assurance wider use. Prior studies have examined technical features of for robotics is field testing — testing robots in a physical particular robotics simulators [25]–[27] but paid little attention environment resembling the intended deployment [12], [13]. to their role in quality assurance or the challenges developers Field testing allows both the robot hardware and software stack face when using them. Instead, prior work on the challenges of testing in robotics [13], [28] and cyber-physical systems 1The first two authors contributed equally to this work. (CPSs) in general [12] broadly identifies simulation as a key element of testing that requires improvement. We conduct a study of robotics developers to understand Sensing how they perceive simulation-based testing and what chal- lenges they face when using simulators. Through a survey of 82 robotics developers, we find that simulation is used Controller Software extensively for manual testing, especially during early stages Sensors of design and development, but that simulation is rarely Environment used for automated testing. By analyzing participant responses using grounded theory and other qualitative and quantitative methods, we identified 10 challenges that make it difficult for Actuating developers to use simulation in general (i.e., for any purpose), for testing, and specifically for automated testing. The chal- Actuators lenges include a lack of realism, a lack of reproducibility, and the absence of automation features. The full list of challenges Fig. 2. The high-level architecture of a robotics system interacting with the is presented in Section IV (Results) in Figure 5. environment, which may be physical or simulated. The controller software Study results can inform the construction of a new gener- receives and processes input from its sensors (e.g., camera, GPS), and responds by actuating using its actuators (e.g., wheel motors). ation of software-based simulators, designed to better accom- modate developers’ needs for robotics testing. In particular, we show how several key barriers that impede or prevent scenarios, sometimes loosely specified, that fall within the simulation-based testing are incidental software engineering robot’s expected operating situations and informally evaluate challenges, such as the need for languages and tools to whether the robot does anything unexpected, often by visually construct test scenarios and environments. The software engi- inspecting the robot or its logs. Field testing is constrained by neering and testing communities are well positioned to study the physical robot hardware and environments available, and and address these challenges of testability. as a result is not scalable. It can also be extremely expensive Overall, we make the following contributions: and dangerous [11], [13], and is vulnerable to human error. • We conduct a study of 82 robotics developers from In simulation, on the other hand, the robots’ software a variety of organizations and with diverse levels of stack and, optionally, the hardware platform, are replicated by experience in robotics. connecting input-output channels (i.e., sensors and actuators) • We find that developers are using simulation extensively to a virtual robot embodied in a simulated world. Simulation- for testing their robots and that many developers want to based testing encompasses a range of testing approaches incorporate simulation into their test automation. conducted in the simulated environment, including everything • We identify and explore ten key challenges that impede from mimicking informal field testing in simulation, to creat- or prevent developers from using simulation in general ing a rigorous set of scenario inputs and using the simulator’s and for manual and automated testing. logging outputs to determine whether the simulated robot ad- • We suggest ways in which the software engineering heres to specific expectations for its behavior in each scenario. community can help to lower or eliminate barriers to Robotics testing approaches that have used simulation include: simulation-based testing. model-based testing [30], metamorphic testing [31], property- • We provide our survey materials and additional results to based testing [32], and robustness testing [33], [34]. Because allow the community to build on our research at https: robot simulation does not require robotics hardware, it has //doi.org/10.5281/zenodo.4444256. broader possibilities for use cases. For example, a simulated II. ROBOTICS TESTING AND SIMULATION robot can be tested in an environment, such as the surface of Robots are CPSs that sense, process, and physically react to Mars, that is unavailable to the tester in reality. information from the real world [29]. The robot controller gets Simulation-based testing uses a virtual world produced by information about the environment through a collection of sen- a simulator that models the physical aspects of the robot sors. As Figure 2 illustrates, the robot controller continuously (e.g., kinematics), its operating environment (e.g., terrain, processes its sensor inputs and interacts with its environment obstacles, lighting, weather), and the interaction between them. through a series of actuators, thereby forming a control loop. As illustrated in Figure 2, the simulator provides synthetic End-to-end testing of robot controllers takes place in either sensor readings to the robot controller at a fixed interval and a physical, real-world environment as part

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    12 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us