Distributed Watchpoints: Debugging Large Multi-Robot Systems (original) (raw)
Related papers
Distributed Watchpoints: Debugging Large Modular Robot Systems
The International Journal of Robotics Research, 2008
Distributed systems frequently exhibit properties of interest which span multiple entities. These properties cannot easily be recognized from any single entity, but can be readily detected by combining the knowledge of multiple entities. Testing for distributed properties is especially important in debugging or verifying software for modular robots. We have developed a technique we call distributed watchpoint triggers which can efficiently recognize distributed conditions. Our watchpoint description language can handle a variety of temporal, spatial and logical properties spanning multiple robots. In this paper we present the specification language, describe the distributed online mechanism for detecting distributed conditions in a running system and evaluate the performance of our implementation.
Distributed fault diagnosis for multiple mobile robots using an agent programming language
2015 International Conference on Advanced Robotics (ICAR), 2015
Programming autonomous multi-robot systems can be extremely complex without the use of appropriate software development techniques to abstract the hardware heterogeneity from the complexity of distributed software to coordinate autonomous behavior. Moreover, real environments are dynamic, which can generate unpredictable events that can lead the robots to failure. This paper presents a highly abstract cooperative fault diagnostic method for a team of mobile robots described on a programming environment based on ROS (Robot Operating System) and the Jason multi-agent framework. When a robot detects a failure, it can perform two types of diagnostic methods: a local method executed on the faulty robot itself and a cooperative method where another robot helps the faulty robot to determine the source of failure. A case study demonstrates the success of the approach on two turtlebots.
A Suite of Tools for Debugging Distributed Autonomous Systems
Formal Methods in System Design, 2000
This paper describes a set of tools that enables developers to log and analyze the run-time behavior of autonomous control systems. A feature of the tools is that they can be applied to distributed systems. The logging tools enable developers to instrument C or C++ programs so that data indicating state changes can be logged automatically in a variety of formats. In particular, run-time data from distributed systems can be synchronized into a single relational database. Tools are also provided for visualizing the logged data. Analysis to verify correct program behavior is done using a new interval logic that is described in this paper. The logic enables system engineers to express temporal specifications for the autonomous control program that are then checked against the logged data. The data logging, visualization, and interval logic analysis tools are all fully implemented. Results are given from a NASA distributed autonomous control system application.
Automatic property checking of robotic applications
2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2017
Robot software controllers are often concurrent and time critical, and requires modern engineering approaches for validation and verification. With this motivation, we have developed a tool and techniques for graphical modelling with support for automatic generation of underlying mathematical definitions for model checking. It is possible to check automatically both general properties, like absence of deadlock, and specific application properties. We cater both for timed and untimed modelling and verification. Our approach has been tried in examples used in a variety of robotic applications.
Distributed diagnosis in formations of mobile robots
2007
Abstract Multirobot systems are being increasingly used for a variety of tasks in manufacturing, surveillance, and space exploration. These systems can degrade or develop faults during operation, and, therefore, require online diagnosis algorithms to ensure safe operation.
Programming modular robots with locally distributed predicates
2008
We present a high-level language for programming modular robotic systems, based on locally distributed predicates (LDP), which are distributed conditions that hold for a connected subensemble of the robotic system. An LDP program is a collection of LDPs with associated actions which are triggered on any subensemble that matches the predicate. The result is a reactive programming language which efficiently and concisely supports ensemble-level programming. We demonstrate the utility of LDP by implementing three common, but diverse, modular robotic tasks.
Verifying and Validating Multirobot Missions
We have developed an approach that can be used by mission designers to determine whether or not a performance guarantee for their mission software, when carried out under the uncertain conditions of a real-world environment, will hold within a threshold probability. In this paper we demonstrate its utility for verifying multirobot missions, in particular a bounding overwatch mission.
Diagnosis of multi-robot coordination failures using distributed CSP algorithms
2006
With increasing deployment of systems involving multiple coordinating agents, there is a growing need for diagnosing coordination failures in such systems. Previous work presented centralized methods for coordination failure diagnosis; however, these are not always applicable, due to the significant computational and communication requirements, and the brittleness of a single point of failure. In this paper we propose a distributed approach to model-based coordination failure diagnosis. We model the coordination between the agents as a constraint graph, and adapt several algorithms from the distributed CSP area, to use as the basis for the diagnosis algorithms. We evaluate the algorithms in extensive experiments with simulated and real Sony Aibo robots and show that in general a trade-off exists between the computational requirements of the algorithms, and their diagnosis results. Surprisingly, in contrast to results in distributed CSPs, the asynchronous backtracking algorithm outperforms stochastic local search in terms of both quality and runtime.