Realtime Debugging for Robotics Software

Conventional software debugging constructs are insucient for debugging robotic software due primarily to the assumption of a deterministic, suspendable environment. What is needed is a method to extract and report information about robotic software execution while continuing execution in the real world environment. A previously theorized debugging construct called a tracepoint has been implemented within both a C and a Python debugger. The NetBeans IDE was modied to provide an extensible user interface. A plugin-based visualisation system for rendering trace data has also been implemented. Presently, plugins for the visualisation system have been created for rendering laser and ultrasonic rangender data from the Player robot library. Benchmark tests show that although there is still signicant room for improvement, in one typical use case the system adds less than 1% overhead.

[1]  Eric G. Manning,et al.  A framework for distributed debugging , 1990, IEEE Software.

[2]  Richard H. Crawford,et al.  Semantic Issues in the Design of Languages for Debugging , 1995, Comput. Lang..

[3]  Colin Allison,et al.  Debugging and dynamic modification of embedded systems , 1996, Proceedings of HICSS-29: 29th Hawaii International Conference on System Sciences.

[4]  Oscar N. Garcia,et al.  Cognitive activities and support in debugging , 1998, Proceedings Fourth Annual Symposium on Human Interaction with Complex Systems.

[5]  Hans A. Hansson,et al.  Using deterministic replay for debugging of distributed real-time systems , 2000, Proceedings 12th Euromicro Conference on Real-Time Systems. Euromicro RTS 2000.

[6]  Daniel Sundmark,et al.  Replay debugging of real-time systems using time machines , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[7]  Reid G. Simmons,et al.  A Suite of Tools for Debugging Distributed Autonomous Systems , 2004, Formal Methods Syst. Des..

[8]  Adrian Pop,et al.  Debugging natural semantics specifications , 2005, AADEBUG'05.

[9]  Koen De Bosschere,et al.  Backtracking and dynamic patching for free , 2005, AADEBUG'05.

[10]  B. MacDonald,et al.  Development of an Integrated Robotic Programming Environment , 2005 .

[11]  Bruce A. MacDonald,et al.  A Dynamics Simulation Architecture for Robotic Systems , 2005, Proceedings of the 2005 IEEE International Conference on Robotics and Automation.

[12]  Steven Hand,et al.  On the design of a pervasive debugger , 2005, AADEBUG'05.

[13]  Yasushi Saito,et al.  Jockey: a user-space library for record-replay debugging , 2005, AADEBUG'05.

[14]  T. Suehiro,et al.  RT(Robot Technology)-Component and its Standardization - Towards Component Based Networked Robot Systems Development , 2006, 2006 SICE-ICASE International Joint Conference.

[15]  Takayuki Kanda,et al.  Accelerating Robot Development Through Integral Analysis of Human–Robot Interaction , 2007, IEEE Transactions on Robotics.

[16]  Todd C. Mowry,et al.  Integrated Debugging of Large Modular Robot Ensembles , 2007, Proceedings 2007 IEEE International Conference on Robotics and Automation.