Taking Recoveries to Task: Recovery-Driven Development for Recipe-Based Robot Tasks | SpringerLink
Skip to main content

Taking Recoveries to Task: Recovery-Driven Development for Recipe-Based Robot Tasks

  • Conference paper
  • First Online:
Robotics Research (ISRR 2019)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
¥17,985 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
JPY 3498
Price includes VAT (Japan)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
JPY 22879
Price includes VAT (Japan)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
JPY 28599
Price includes VAT (Japan)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
JPY 28599
Price includes VAT (Japan)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    https://github.com/GT-RAIL/derail-fetchit-public/tree/master/task_execution.

  2. 2.

    http://wiki.ros.org/actionlib.

  3. 3.

    Each module must necessarily provide feedback on its own faults so that the executive level can make relevant recovery decisions.

  4. 4.

    http://wiki.ros.org/rail_segmentation.

  5. 5.

    http://wiki.ros.org/rail_mesh_icp.

  6. 6.

    Available at https://github.com/GT-RAIL/fetch_simple_linear_controller.

  7. 7.

    http://wiki.ros.org/navigation.

  8. 8.

    In complex environments, nav_stack’s global and local planners can be used instead.

  9. 9.

    Stand-alone packages under development at https://github.com/GT-RAIL/assistance_arbitration.

  10. 10.

    For more details, see the README in our Github repository.

  11. 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. 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. 13.

    https://youtu.be/G_ur71h4CNQ.

  14. 14.

    https://opensource.fetchrobotics.com/assets/Rulebook2019.pdf.

  15. 15.

    We also provide an HD version of the video here: https://youtu.be/AcOdT10q_94.

References

  1. 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)

    Google Scholar 

  2. Atkeson, C.G., et al.: No falls, no resets: reliable humanoid behavior in the DARPA robotics challenge. In: Humanoids, pp. 623–630. IEEE (2015)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. Berenz, V., Schaal, S.: The playful software platform: reactive programming for orchestrating robotic behavior. Robot. Autom. Mag. 25(3), 49–60 (2018)

    Article  Google Scholar 

  5. Bohren, J., Cousins, S.: The SMACH high-level executive [ROS news]. Robot. Autom. Mag. 17(4), 18–20 (2010)

    Article  Google Scholar 

  6. Chitta, S., Sucan, I., Cousins, S.: Moveit! [ROS topics]. Robot. Autom. Mag. 19(1), 18–19 (2012)

    Article  Google Scholar 

  7. Crestani, D., Godary-Dejean, K., Lapierre, L.: Enhancing fault tolerance of autonomous mobile robots. Robot. Auton. Syst. 68, 140–155 (2015)

    Article  Google Scholar 

  8. Degroote, A., Lacroix, S.: ROAR: resource oriented agent architecture for the autonomy of robots. In: ICRA, pp. 6090–6095. IEEE (2011)

    Google Scholar 

  9. DRC-Teams: What Happened at the DARPA Robotics Challenge? (2015). www.cs.cmu.edu/~cga/drc/events

  10. Eppner, C., et al.: Lessons from the Amazon picking challenge: four aspects of building robotic systems. In: Robotics: Science and Systems (2016)

    Google Scholar 

  11. Guiochet, J., Machin, M., Waeselynck, H.: Safety-critical advanced robots: a survey. Robot. Auton. Syst. 94, 43–52 (2017)

    Article  Google Scholar 

  12. Kent, D., Toris, R.: Adaptive autonomous grasp selection via pairwise ranking. In: IROS, pp. 2971–2976. IEEE (2018)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. 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

    Chapter  Google Scholar 

  15. Kress-Gazit, H., Fainekos, G., Pappas, G.: Temporal-logic-based reactive mission and motion planning. Trans. Robot. 25(6), 1370–1381 (2009)

    Article  Google Scholar 

  16. Lemaignan, S., Hosseini, A., Dillenbourg, P.: PYROBOTS, a toolset for robot executive control. In: IROS, pp. 2848–2853. IEEE (2015)

    Google Scholar 

  17. 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

    Chapter  Google Scholar 

  18. 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)

    Google Scholar 

  19. Rusu, R.B., Cousins, S.: Point cloud library (PCL). In: ICRA, pp. 1–4 (2011)

    Google Scholar 

  20. 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)

    Article  Google Scholar 

  21. 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)

    Article  Google Scholar 

  22. 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)

    Google Scholar 

  23. Wohlkinger, W., Vincze, M.: Ensemble of shape functions for 3D object classification. In: International Conference on Robotics and Biomimetics, pp. 2987–2992. IEEE (2011)

    Google Scholar 

  24. 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)

    Google Scholar 

Download references

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

Authors

Corresponding authors

Correspondence to Siddhartha Banerjee , Angel Daruna , David Kent or Weiyu Liu .

Editor information

Editors and Affiliations

1 Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary material 1 (zip 5832 KB)

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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

Publish with us

Policies and ethics