A Top-Down Approach to Managing Variability in Robotics Algorithms

One of the defining features of the field of robotics is its breadth and heterogeneity. Unfortunately, despite the availability of several robotics middleware services, robotics software still fails to smoothly handle at least two kinds of variability: algorithmic variability and lower-level variability. The consequence is that implementations of algorithms are hard to understand and impacted by changes to lower-level details such as the choice or configuration of sensors or actuators. Moreover, when several algorithms or algorithmic variants are available it is difficult to compare and combine them. In order to alleviate these problems we propose a top-down approach to express and implement robotics algorithms and families of algorithms so that they are both less dependent on lower-level details and easier to understand and combine. This approach goes top-down from the algorithms and shields them from lower-level details by introducing very high level abstractions atop the intermediate abstractions of robotics middleware. This approach is illustrated on 7 variants of the Bug family that were implemented using both laser and infra-red sensors.

[1]  Tarek M. Sobh,et al.  Robotics Middleware: A Comprehensive Literature Survey and Attribute-Based Bibliography , 2012, J. Robotics.

[2]  Vladimir Lumelsky,et al.  Effect of uncertainty on continuous path planning for an autonomous vehicle , 1984, The 23rd IEEE Conference on Decision and Control.

[3]  Hiroshi Noborio,et al.  A comparative study of sensor-based path-planning algorithms in an unknown maze , 2000, Proceedings. 2000 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2000) (Cat. No.00CH37113).

[4]  Hiroshi Noborio,et al.  Evaluation of path length made in sensor-based path-planning with the alternative following , 2001, Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation (Cat. No.01CH37164).

[5]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[6]  W. Smart Is a Common Middleware for Robotics Possible ? , 2007 .

[7]  M. Vidyasagar,et al.  Path planning for moving a point object amidst unknown obstacles in a plane: a new algorithm and a general theory for algorithm development , 1990, 29th IEEE Conference on Decision and Control.

[8]  V. Lumelsky,et al.  Dynamic path planning for a mobile automaton with limited information on the environment , 1986 .

[9]  Tara Estlin,et al.  CLARAty: Challenges and Steps toward Reusable Robotic Software , 2006 .

[10]  Bruce A. MacDonald,et al.  Player 2.0: Toward a Practical Robot Programming Framework , 2008 .

[11]  Ehud Rivlin,et al.  Sensory-based motion planning with global proofs , 1997, IEEE Trans. Robotics Autom..

[12]  François Michaud,et al.  Robotic Software Integration Using MARIE , 2006 .

[13]  Morgan Quigley,et al.  ROS: an open-source Robot Operating System , 2009, ICRA 2009.

[14]  Thomas Bräunl,et al.  Performance Comparison of Bug Navigation Algorithms , 2007, J. Intell. Robotic Syst..

[15]  Ehud Rivlin,et al.  TangentBug: A Range-Sensor-Based Navigation Algorithm , 1998, Int. J. Robotics Res..

[16]  Kimon P. Valavanis,et al.  A Structured Approach for Modular Design in Robotics and Automation Environments , 2013, J. Intell. Robotic Syst..

[17]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .