Abstract
Robot task execution when situated in real-world environments is fragile. As such, robot architectures must rely on robust error recovery, adding non-trivial complexity to highly-complex robot systems. To handle this complexity in development, we introduce Recovery-Driven Development (RDD), an iterative task scripting process that facilitates rapid task and recovery development by leveraging hierarchical specification, separation of nominal task and recovery development, and situated testing. We validate our approach with our challenge-winning mobile manipulator software architecture developed using RDD for the FetchIt! Challenge at the IEEE 2019 International Conference on Robotics and Automation. We attribute the success of our system to the level of robustness achieved using RDD, and conclude with lessons learned for developing such systems.
S. Banerjee, A. Daruna, D. Kent and W. Liu—Equal contribution.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
- 3.
Each module must necessarily provide feedback on its own faults so that the executive level can make relevant recovery decisions.
- 4.
- 5.
- 6.
- 7.
- 8.
In complex environments, nav_stack’s global and local planners can be used instead.
- 9.
Stand-alone packages under development at https://github.com/GT-RAIL/assistance_arbitration.
- 10.
For more details, see the README in our Github repository.
- 11.
The system can detect unseen errors in three ways: (1) the behavior level can propagate reported faults (i.e. action servers aborting, nodes crashing, etc.), (2) recipe steps can explicitly check for expected errors, or, in the case of unexpected errors, (3) the developer can stop system execution and write a new error detection module.
- 12.
Resuming execution from arbitrary stopping points in primitive actions is hard [16], but depending on the implementation of the robot system, might be unnecessary.
- 13.
- 14.
- 15.
We also provide an HD version of the video here: https://youtu.be/AcOdT10q_94.
References
Akgun, B., Cakmak, M., Yoo, J.W., Thomaz, A.L.: Trajectories and keyframes for kinesthetic teaching: a human-robot interaction perspective. In: HRI, pp. 391–398. ACM (2012)
Atkeson, C.G., et al.: No falls, no resets: reliable humanoid behavior in the DARPA robotics challenge. In: Humanoids, pp. 623–630. IEEE (2015)
Beetz, M., Mosenlechner, L., Tenorth, M.: CRAM—A Cognitive Robot Abstract Machine for everyday manipulation in human environments. In: International Conference on Intelligent Robots and Systems, pp. 1012–1017. IEEE (2010)
Berenz, V., Schaal, S.: The playful software platform: reactive programming for orchestrating robotic behavior. Robot. Autom. Mag. 25(3), 49–60 (2018)
Bohren, J., Cousins, S.: The SMACH high-level executive [ROS news]. Robot. Autom. Mag. 17(4), 18–20 (2010)
Chitta, S., Sucan, I., Cousins, S.: Moveit! [ROS topics]. Robot. Autom. Mag. 19(1), 18–19 (2012)
Crestani, D., Godary-Dejean, K., Lapierre, L.: Enhancing fault tolerance of autonomous mobile robots. Robot. Auton. Syst. 68, 140–155 (2015)
Degroote, A., Lacroix, S.: ROAR: resource oriented agent architecture for the autonomy of robots. In: ICRA, pp. 6090–6095. IEEE (2011)
DRC-Teams: What Happened at the DARPA Robotics Challenge? (2015). www.cs.cmu.edu/~cga/drc/events
Eppner, C., et al.: Lessons from the Amazon picking challenge: four aspects of building robotic systems. In: Robotics: Science and Systems (2016)
Guiochet, J., Machin, M., Waeselynck, H.: Safety-critical advanced robots: a survey. Robot. Auton. Syst. 94, 43–52 (2017)
Kent, D., Toris, R.: Adaptive autonomous grasp selection via pairwise ranking. In: IROS, pp. 2971–2976. IEEE (2018)
Klotzbücher, M., Soetens, P., Bruyninckx, H.: OROCOS RTT-Lua: an execution environment for building real-time robotic domain specific languages. In: International Workshop on Dynamic Languages for Robotics and Sensors, vol. 8 (2010)
Kortenkamp, D., Simmons, R., Brugali, D.: Robotic systems architectures and programming. In: Siciliano, B., Khatib, O. (eds.) Springer Handbook of Robotics, pp. 283–306. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-32552-1_12
Kress-Gazit, H., Fainekos, G., Pappas, G.: Temporal-logic-based reactive mission and motion planning. Trans. Robot. 25(6), 1370–1381 (2009)
Lemaignan, S., Hosseini, A., Dillenbourg, P.: PYROBOTS, a toolset for robot executive control. In: IROS, pp. 2848–2853. IEEE (2015)
ten Pas, A., Platt, R.: Using geometry to detect grasp poses in 3D point clouds. In: Bicchi, A., Burgard, W. (eds.) Robotics Research. SPAR, vol. 2, pp. 307–324. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-51532-8_19
Quigley, M., et al.: ROS: an open-source robot operating system. In: ICRA Workshop on Open Source Software, Kobe, Japan, vol. 3, p. 5 (2009)
Rusu, R.B., Cousins, S.: Point cloud library (PCL). In: ICRA, pp. 1–4 (2011)
Srinivasa, S.S., et al.: HERB 2.0: lessons learned from developing a mobile manipulator for the home. Proc. IEEE 100(8), 2410–2428 (2012)
Szafir, D., Mutlu, B., Fong, T.: Designing planning and control interfaces to support user collaboration with flying robots. Int. J. Robot. Res. 36(5–7), 514–542 (2017)
Wise, M., Ferguson, M., King, D., Diehr, E., Dymesich, D.: Fetch and freight: standard platforms for service robot applications. In: Workshop on Autonomous Mobile Service Robots (2016)
Wohlkinger, W., Vincze, M.: Ensemble of shape functions for 3D object classification. In: International Conference on Robotics and Biomimetics, pp. 2987–2992. IEEE (2011)
Zaman, S., Steinbauer, G., Maurer, J., Lepej, P., Uran, S.: An integrated model-based diagnosis and repair architecture for ROS-based robot systems. In: ICRA, pp. 482–489. IEEE (2013)
Acknowledgements
This work was supported by an Early Career Faculty grant from NASA’s Space Technology Research Grants Program, NSF IIS 1564080, NSF GRFP DGE-1650044, and ONR N000141612835.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
1 Electronic supplementary material
Below is the link to the electronic supplementary material.
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Banerjee, S. et al. (2022). Taking Recoveries to Task: Recovery-Driven Development for Recipe-Based Robot Tasks. In: Asfour, T., Yoshida, E., Park, J., Christensen, H., Khatib, O. (eds) Robotics Research. ISRR 2019. Springer Proceedings in Advanced Robotics, vol 20. Springer, Cham. https://doi.org/10.1007/978-3-030-95459-8_36
Download citation
DOI: https://doi.org/10.1007/978-3-030-95459-8_36
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-95458-1
Online ISBN: 978-3-030-95459-8
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)