1932

Abstract

Robotics is powered by software. Software tools control the rate of innovation in robotics research, drive the growth of the robotics industry, and power the education of future innovators and developers. Nearly 900,000 open-source repositories on GitHub are tagged with the keyword robotics—a potentially vast resource, but only a fraction of those are truly accessible in terms of quality, licensability, understandability, and total cost of ownership. The challenge is to match this resource to the needs of students, researchers, and companies to power cutting-edge research and real-world industrial solutions. This article reviews software tools for robotics, including both those created by the community at large and those created by the authors, as well as their impact on education, research, and industry.

Loading

Article metrics loading...

/content/journals/10.1146/annurev-control-061323-095841
2024-07-10
2024-10-06
Loading full text...

Full text loading...

/deliver/fulltext/control/7/1/annurev-control-061323-095841.html?itemId=/content/journals/10.1146/annurev-control-061323-095841&mimeType=html&fmt=ahah

Literature Cited

  1. 1.
    Synopsys. 2023.. 2023 open source security and risk analysis report. Rep. , Synopsys, Sunnyvale, CA:. https://www.synopsys.com/blogs/software-security/open-source-trends-ossra-report
    [Google Scholar]
  2. 2.
    Quigley M, Conley K, Gerkey B, Faust J, Foote T, et al. 2009.. ROS: an open-source Robot Operating System. Paper presented at the Workshop on Open Source Software , IEEE International Conference on Robotics and Automation, Kobe, Jpn.:, May 12–17. http://robotics.stanford.edu/∼mquigley/papers/icra2009-ros.pdf
    [Google Scholar]
  3. 3.
    Harris CR, Millman KJ, Van Der Walt SJ, Gommers R, Virtanen P, et al. 2020.. Array programming with NumPy. . Nature 585:(7825):35762
    [Crossref] [Google Scholar]
  4. 4.
    Virtanen P, Gommers R, Oliphant TE, Haberland M, Reddy T, et al. 2020.. SciPy 1.0: fundamental algorithms for scientific computing in Python. . Nat. Methods 17:(3):26172
    [Crossref] [Google Scholar]
  5. 5.
    Corke P, Haviland J. 2021.. Not your grandmother's toolbox – the Robotics Toolbox reinvented for Python. . In 2021 IEEE International Conference on Robotics and Automation (ICRA), pp. 1135763 Piscataway, NJ:: IEEE
    [Google Scholar]
  6. 6.
    Ernst HA. 1961.. MH-1, a computer-operated mechanical hand. PhD Thesis , Mass. Inst. Technol., Cambridge, MA:
    [Google Scholar]
  7. 7.
    Whitney DE. 1969.. Resolved motion rate control of manipulators and human prostheses. . IEEE Trans. Man-Mach. Syst. 10:(2):4753
    [Crossref] [Google Scholar]
  8. 8.
    Paul R. 1972.. Modelling, trajectory calculation and servoing of a computer controlled arm. PhD Thesis , Stanford Univ., Stanford, CA:
    [Google Scholar]
  9. 9.
    Paul RP. 1977.. WAVE: a model based language for manipulator control. . Ind. Robot 4:(1):1017
    [Crossref] [Google Scholar]
  10. 10.
    Takase K, Paul RP, Berg EJ. 1981.. A structured approach to robot programming and teaching. . IEEE Trans. Syst. Man Cybernet. 11:(4):27489
    [Crossref] [Google Scholar]
  11. 11.
    Paul R. 1985.. The early stages of robotics. . IEEE Control Syst. Mag. 5:(1):2731
    [Crossref] [Google Scholar]
  12. 12.
    Paul RP. 1981.. Robot Manipulators: Mathematics, Programming, and Control. Cambridge, MA:: MIT Press
    [Google Scholar]
  13. 13.
    Hayward V, Paul RP. 1986.. Robot manipulator control under Unix RCCL: a robot control ``C'' library. . Int. J. Robot. Res. 5:(4):94111
    [Crossref] [Google Scholar]
  14. 14.
    Corke P, Kirkham R. 1993.. The ARCL robot programming system. . In Proceedings of the International Conference of the Australian Robot Association, pp. 48493 London:: Mech. Eng. Publ.
    [Google Scholar]
  15. 15.
    Loffler M, Dawson D, Zergeroglu E, Costescu N. 2001.. Object-oriented techniques in robot manipulator control software development. . In Proceedings of the 2001 American Control Conference 6, pp. 452025 Piscataway, NJ:: IEEE
    [Google Scholar]
  16. 16.
    Corke P. 1996.. A robotics toolbox for MATLAB. . IEEE Robot. Autom. Mag. 3:(1):2432
    [Crossref] [Google Scholar]
  17. 17.
    Corke P. 2005.. The Machine Vision Toolbox: a MATLAB toolbox for vision and vision-based control. . IEEE Robot. Autom. Mag. 12:(4):1625
    [Crossref] [Google Scholar]
  18. 18.
    Gonzalez RC, Woods RE, Eddins SL. 2020.. Digital Image Processing Using MATLAB. Knoxville, TN:: Gatesmark, 3rd ed.
    [Google Scholar]
  19. 19.
    Eaton JW. 2001.. Octave: past, present and future. . In Proceedings of the 2nd International Workshop on Distributed Statistical Computing, ed. K Hornik, F Leisch . N.p.:: R Proj. https://www.r-project.org/conferences/DSC-2001/Proceedings/Eaton.pdf
    [Google Scholar]
  20. 20.
    Bilancia P, Schmidt J, Raffaeli R, Peruzzini M, Pellicciari M. 2023.. An overview of industrial robots control and programming approaches. . Appl. Sci. 13:(4):2582
    [Crossref] [Google Scholar]
  21. 21.
    Gruver WA, Soroka BI, Craig JJ, Turner TL. 1984.. Industrial robot programming languages: a comparative evaluation. . IEEE Trans. Syst. Man Cybernet. SMC-14:(4):56570
    [Crossref] [Google Scholar]
  22. 22.
    Shimano B. 1979.. VAL: a versatile robot programming and control system. . In Proceedings of the IEEE Computer Society's Third International Computer Software and Applications Conference (COMPSAC79), pp. 87883 Piscataway, NJ:: IEEE
    [Google Scholar]
  23. 23.
    Hunter JD. 2007.. Matplotlib: a 2D graphics environment. . Comput. Sci. Eng. 9:(3):9095
    [Crossref] [Google Scholar]
  24. 24.
    Meurer A, Smith CP, Paprocki M, Čertík O, Kirpichev SB, et al. 2017.. SymPy: symbolic computing in Python. . PeerJ Comput. Sci. 3::e103
    [Crossref] [Google Scholar]
  25. 25.
    Perez F, Granger BE. 2015.. Project Jupyter: computational narratives as the engine of collaborative data science. . Jupyter Blog, July 7. https://blog.jupyter.org/project-jupyter-computational-narratives-as-the-engine-of-collaborative-data-science-2b5fb94c3c58
    [Google Scholar]
  26. 26.
    Paszke A, Gross S, Massa F, Lerer A, Bradbury J, et al. 2019.. PyTorch: an imperative style, high-performance deep learning library. . In Advances in Neural Information Processing Systems 32, ed. H Wallach, H Larochelle, A Beygelzimer, F d'Alché-Buc, E Fox, R Garnett , pp. 802435 Red Hook, NY:: Curran
    [Google Scholar]
  27. 27.
    Abadi M. 2016.. TensorFlow: learning functions at scale. . In Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming, p. 1. New York:: ACM (Abstr
    [Google Scholar]
  28. 28.
    Haviland J, Corke P. 2023.. Manipulator differential kinematics – part 1: kinematics, velocity, and applications. . IEEE Robot. Autom. Mag. https://doi.org/10.1109/MRA.2023.3270228
    [Google Scholar]
  29. 29.
    Haviland J, Corke P. 2023.. Manipulator differential kinematics – part 2: acceleration and advanced applications. . IEEE Robot. Autom. Mag. https://doi.org/10.1109/MRA.2023.3270221
    [Google Scholar]
  30. 30.
    Moler C, Little J. 2020.. A history of MATLAB. . Proc. ACM Program. Lang. 4:(HOPL):81
    [Crossref] [Google Scholar]
  31. 31.
    Corke P. 2017.. Robot manipulator capability in MATLAB: a tutorial on using the Robotics System Toolbox. . IEEE Robot. Autom. Mag. 24:(3):16566
    [Crossref] [Google Scholar]
  32. 32.
    Taylor RH. 1976.. A synthesis of manipulator control programs from task-level specifications. PhD Thesis , Stanford Univ., Stanford, CA:
    [Google Scholar]
  33. 33.
    Gini G, Gini M. 1983.. Explicit programming languages in industrial robots. . J. Manuf. Syst. 2:(1):5360
    [Crossref] [Google Scholar]
  34. 34.
    Taylor RH. 1979.. Planning and execution of straight line manipulator trajectories. . IBM J. Res. Dev. 23:(4):42436
    [Crossref] [Google Scholar]
  35. 35.
    Devol GC Jr. 1954.. Programmed article transfer. US Patent 2,988,237
    [Google Scholar]
  36. 36.
    Goertz RC. 1952.. A force-reflecting positional servomechanism. . Nucleonics 10:(11):4345
    [Google Scholar]
  37. 37.
    Goertz RC, Thompson WM, Olsen RA. 1954.. Electronic master slave manipulator. US Patent 2,846,084
    [Google Scholar]
  38. 38.
    Pease W. 1952.. An automatic machine tool. . Sci. Am. 187:(3):10115
    [Crossref] [Google Scholar]
  39. 39.
    Ross DT. 1978.. Origins of the APT language for automatically programmed tools. . In History of Programming Languages, ed. RL Wexelblat , pp. 279338 New York:: ACM
    [Google Scholar]
  40. 40.
    Brooks R. 2021.. The origin of robot arm programming languages. . Rodney Brooks, Feb. 14. https://rodneybrooks.com/the-origin-of-robot-arm-programming-languages
    [Google Scholar]
  41. 41.
    Foote T. 2013.. tf: the transform library. . In 2013 IEEE Conference on Technologies for Practical Robot Applications (TePRA). Piscataway, NJ:: IEEE. https://doi.org/10.1109/TePRA.2013.6556373
    [Google Scholar]
  42. 42.
    Lozano-Pérez T. 1983.. Robot programming. . Proc. IEEE 71:(7):82141
    [Crossref] [Google Scholar]
  43. 43.
    Brooks RA. 1991.. Intelligence without representation. . Artif. Intell. 47:(1–3):13959
    [Crossref] [Google Scholar]
  44. 44.
    Arkin RC. 1998.. Behavior-Based Robotics. Cambridge, MA:: MIT Press
    [Google Scholar]
  45. 45.
    Hutchinson S, Hager GD, Corke PI. 1996.. A tutorial on visual servo control. . IEEE Trans. Robot. Autom. 12:(5):65170
    [Crossref] [Google Scholar]
  46. 46.
    Fabre R, Rouxel Q, Passault G, N'Guyen S, Ly O. 2017.. Dynaban, an open-source alternative firmware for Dynamixel servo-motors. . In RoboCup 2016: Robot World Cup XX, ed. S Behnke, R Sheh, S Sarel, DD Lee , pp. 16977 Cham, Switz:.: Springer
    [Google Scholar]
  47. 47.
    Bestmann M, Güldenstein J, Zhang J. 2019.. High-frequency multi bus servo and sensor communication using the Dynamixel protocol. . In RoboCup 2019: Robot World Cup XXIII, ed. S Chalup, T Niemueller, J Suthakorn, MA Williams , pp. 1629 Cham, Switz:.: Springer
    [Google Scholar]
  48. 48.
    Rao AZ. 2016.. Realization of Dynamixel servo plant parameters to improve admittance control for a compliant human-robot interaction. MS Thesis , N.J. Inst. Technol., Newark:
    [Google Scholar]
  49. 49.
    Corke P. 2023.. Robotics, Vision and Control: Fundamental Algorithms in Python. Cham, Switz:.: Springer, 3rd ed.
    [Google Scholar]
  50. 50.
    Fuller SB, Greiner B, Moore J, Murray R, van Paassen R, Yorke R. 2021.. The Python Control Systems Library (python-control). . In 2021 60th IEEE Conference on Decision and Control (CDC), pp. 487581 Piscataway, NJ:: IEEE
    [Google Scholar]
  51. 51.
    Giftthaler M, Neunert M, Stauble M, Buchli J. 2018.. The Control Toolbox – an open-source C++ library for robotics, optimal and model predictive control. . In 2018 IEEE International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR), pp. 12329 Piscataway, NJ:: IEEE
    [Google Scholar]
  52. 52.
    Raghunathan AU, Jha DK, Romeres D. 2021.. PyRoboCOP: Python-based Robotic Control & Optimization Package for manipulation and collision avoidance. . arXiv:2106.03220 [cs.RO]
  53. 53.
    Hoyo Á, Guzmán JL, Moreno JC, Berenguel M. 2015.. Teaching control engineering concepts using open source tools on a Raspberry Pi board. . IFAC-PapersOnLine 48:(29):99104
    [Crossref] [Google Scholar]
  54. 54.
    Tan C. 2021.. Raspberry Pi Real-Time OS (RTOS): which to choose?. All3DP, June 9. https://all3dp.com/2/rtos-raspberry-pi-real-time-os
    [Google Scholar]
  55. 55.
    Hamilton WR. 1866.. Elements of Quaternions. London:: Longmans, Green, & Co.
    [Google Scholar]
  56. 56.
    Shoemake K. 1985.. Animating rotation with quaternion curves. . In Proceedings of the 12th Annual Conference on Computer Graphics and Interactive Techniques, pp. 24554 New York:: ACM
    [Google Scholar]
  57. 57.
    Vince J. 2011.. Quaternions for Computer Graphics. London:: Springer
    [Google Scholar]
  58. 58.
    Kuipers JB. 1999.. Quaternions and Rotation Sequences: A Primer with Applications to Orbits, Aerospace, and Virtual Reality. Princeton, NJ:: Princeton Univ. Press
    [Google Scholar]
  59. 59.
    Siciliano B, Sciavicco L, Villani L, Oriolo G. 2009.. Robotics: Modelling, Planning and Control. Heidelberg, Ger:.: Springer
    [Google Scholar]
  60. 60.
    Solà J. 2017.. Quaternion kinematics for the error-state Kalman filter. . arXiv:1711.02508 [cs.RO]
  61. 61.
    Terzakis G, Lourakis M, Ait-Boudaoud D. 2018.. Modified Rodrigues parameters: an efficient representation of orientation in 3D vision and graphics. . J. Math. Imaging Vis. 60::42242
    [Crossref] [Google Scholar]
  62. 62.
    Spong MW, Hutchinson S, Vidyasagar M. 2006.. Robot Modeling and Control. New York:: Wiley, 3rd ed.
    [Google Scholar]
  63. 63.
    Corke P, Jachimczyk W, Pillat R. 2023.. Robotics, Vision and Control: Fundamental Algorithms in MATLAB. Cham, Switz:.: Springer, 3rd ed.
    [Google Scholar]
  64. 64.
    Denavit J, Hartenberg R. 1955.. A kinematic notation for lower-pair mechanisms based on matrices. . Trans. ASME J. Appl. Mech. 22:(1):21521
    [Crossref] [Google Scholar]
  65. 65.
    Pieper D. 1968.. The kinematics of manipulators under computer control. PhD Thesis , Stanford Univ., Stanford, CA:
    [Google Scholar]
  66. 66.
    Roberts LG. 1963.. Machine perception of three-dimensional solids. PhD Thesis , Mass. Inst. Technol., Cambridge, MA:
    [Google Scholar]
  67. 67.
    Ball RS. 1900.. A Treatise on the Theory of Screws. Cambridge, UK:: Cambridge Univ. Press
    [Google Scholar]
  68. 68.
    Hunt KH. 1978.. Kinematic Geometry of Mechanisms. Oxford, UK:: Oxford Univ. Press
    [Google Scholar]
  69. 69.
    Brockett RW. 2005.. Robotic manipulators and the product of exponentials formula. . In Mathematical Theory of Networks and Systems: Proceedings of the MTNS-83 International Symposium Beer Sheva, Israel, June 20–24, 1983, ed. PA Fuhrmann , pp. 12029 Berlin:: Springer
    [Google Scholar]
  70. 70.
    Murray RM, Li Z, Sastry SS. 1994.. A Mathematical Introduction to Robotic Manipulation. Boca Raton, FL:: CRC
    [Google Scholar]
  71. 71.
    Lynch KM, Park FC. 2017.. Modern Robotics. Cambridge, UK:: Cambridge Univ. Press
    [Google Scholar]
  72. 72.
    Selig JM. 2005.. Geometric Fundamentals of Robotics. New York:: Springer
    [Google Scholar]
  73. 73.
    Solà J, Deray J, Atchuthan D. 2018.. A micro Lie theory for state estimation in robotics. . arXiv:1812.01537 [cs.RO]
  74. 74.
    Eade E. 2017.. Lie groups for 2D and 3D transformations. Work. Pap. http://ethaneade.com/lie.pdf
    [Google Scholar]
  75. 75.
    Kenwright B. 2012.. Dual-quaternions: from classical mechanics to computer graphics and beyond. Work. Pap. https://xbdev.net/misc_demos/demos/dual_quaternions_beyond/paper.pdf
    [Google Scholar]
  76. 76.
    Adorno BV, Marinho MM. 2020.. DQ robotics: a library for robot modeling and control. . IEEE Robot. Autom. Mag. 28:(3):10216
    [Crossref] [Google Scholar]
  77. 77.
    Corke P. 2018.. Understanding URDF with MATLAB. . PeterCorke.com, Nov. 5. https://petercorke.com/matlab/understanding-urdf-with-matlab
    [Google Scholar]
  78. 78.
    Tola D, Corke P. 2023.. Understanding URDF: a survey based on user experience. . In 2023 IEEE 19th International Conference on Automation Science and Engineering (CASE). Piscataway, NJ:: IEEE. Forthcoming
    [Google Scholar]
  79. 79.
    Corke PI. 2007.. A simple and systematic approach to assigning Denavit–Hartenberg parameters. . IEEE Trans. Robot. 23:(3):59094
    [Crossref] [Google Scholar]
  80. 80.
    Featherstone R. 2010.. A beginner's guide to 6-D vectors (part 1). . IEEE Robot. Autom. Mag. 17:(3):8394
    [Crossref] [Google Scholar]
  81. 81.
    Featherstone R. 2010.. A beginner's guide to 6-D vectors (part 2) [tutorial]. . IEEE Robot. Autom. Mag. 17:(4):8899
    [Crossref] [Google Scholar]
  82. 82.
    Malzahn J, Roozing W, Tsagarakis N. 2019.. The Compliant Joint Toolbox for MATLAB: an introduction with examples. . IEEE Robot. Autom. Mag. 26:(3):5263
    [Crossref] [Google Scholar]
  83. 83.
    Lloyd J, Hayward V. 1993.. Trajectory generation for sensor-driven and time-varying tasks. . Int. J. Robot. Res. 12:(4):38093
    [Crossref] [Google Scholar]
  84. 84.
    Lloyd JE, Hayward V. 2001.. Singularity-robust trajectory generation. . Int. J. Robot. Res. 20:(1):3856
    [Crossref] [Google Scholar]
  85. 85.
    Pham H, Pham QC. 2018.. A new approach to time-optimal path parameterization based on reachability analysis. . IEEE Trans. Robot. 34:(3):64559
    [Crossref] [Google Scholar]
  86. 86.
    Macenski S, Moore T, Lu D, Merzlyakov A, Ferguson M. 2023.. From the desks of ROS maintainers: a survey of modern & capable mobile robotics algorithms in the Robot Operating System 2. . arXiv:2307.15236 [cs.RO]
  87. 87.
    Sakai A, Ingram D, Dinius J, Chawla K, Raffin A, Paques A. 2018.. PythonRobotics: a Python code collection of robotics algorithms. . arXiv:1808.10703 [cs.RO]
  88. 88.
    Şucan IA, Moll M, Kavraki LE. 2012.. The Open Motion Planning Library. . IEEE Robot. Autom. Mag. 19:(4):7282
    [Crossref] [Google Scholar]
  89. 89.
    Chitta S, Şucan I, Cousins S. 2012.. MoveIt! [ROS topics]. . IEEE Robot. Autom. Mag. 19:(1):1819
    [Crossref] [Google Scholar]
  90. 90.
    Haviland J, Corke P. 2021.. NEO: a novel expeditious optimisation algorithm for reactive motion control of manipulators. . IEEE Robot. Autom. Lett. 6:(2):104350
    [Crossref] [Google Scholar]
  91. 91.
    Haviland J, Sünderhauf N, Corke P. 2022.. A holistic approach to reactive mobile manipulation. . IEEE Robot. Autom. Lett. 7:(2):312229
    [Crossref] [Google Scholar]
  92. 92.
    Foehn P, Kaufmann E, Romero A, Penicka R, Sun S, et al. 2022.. Agilicious: open-source and open-hardware agile quadrotor for vision-based flight. . Sci. Robot. 7:(67):eabl6259
    [Crossref] [Google Scholar]
  93. 93.
    Toyama K, Hager GD, Wang J. 1996.. SERVOMATIC: a modular system for robust positioning using stereo visual servoing. . In Proceedings of IEEE International Conference on Robotics and Automation 3, pp. 263642 Piscataway, NJ:: IEEE
    [Google Scholar]
  94. 94.
    Corke P. 2007.. MATLAB toolboxes: robotics and vision for students and teachers. . IEEE Robot. Autom. Mag. 14:(4):1617
    [Crossref] [Google Scholar]
  95. 95.
    Kaehler A, Bradski G. 2016.. Learning OpenCV 3: computer vision in C++ with the OpenCV library. Sebastopol, CA:: O'Reilly Media
    [Google Scholar]
  96. 96.
    Zhou QY, Park J, Koltun V. 2018.. Open3D: a modern library for 3D data processing. . arXiv:1801.09847 [cs.CV]
  97. 97.
    Marchand E, Spindler F, Chaumette F. 2005.. ViSP for visual servoing: a generic software platform with a wide class of robot control skills. . IEEE Robot. Autom. Mag. 12:(4):4052
    [Crossref] [Google Scholar]
  98. 98.
    Bommasani R, Hudson DA, Adeli E, Altman R, Arora S, et al. 2021.. On the opportunities and risks of foundation models. . arXiv:2108.07258 [cs.LG]
  99. 99.
    Metta G, Fitzpatrick P, Natale L. 2006.. YARP: Yet Another Robot Platform. . Int. J. Adv. Robot. Syst. 3:(1). https://doi.org/10.5772/5761
    [Crossref] [Google Scholar]
  100. 100.
    Newman PM. 2008.. MOOS – Mission Orientated Operating Suite. Work. Pap. , Dep. Ocean Eng., Mass. Inst. Technol., Cambridge, MA:. https://www.robots.ox.ac.uk/∼pnewman/papers/MOOS.pdf
    [Google Scholar]
  101. 101.
    Corke P, Sikka P, Roberts J, Duff E. 2004.. DDX: a distributed software architecture for robotic systems. . In Proceedings of the Australasian Conference of Robotics and Automation 2004, pp. 15561 Canberra, Aust.:: Australas. Robot. Assoc. http://www.araa.asn.au/acra/acra2004/papers/corke.pdf
    [Google Scholar]
  102. 102.
    Brugali D, Broten GS, Cisternino A, Colombo D, Fritsch J, et al. 2007.. Trends in robotic software frameworks. . In Software Engineering for Experimental Robotics, ed. D Brugali , pp. 25966 Berlin:: Springer
    [Google Scholar]
  103. 103.
    Kluyver T, Ragan-Kelley B, Pérez F, Granger BE, Bussonnier M, et al. 2016.. Jupyter Notebooks: a publishing format for reproducible computational workflows. . In Positioning and Power in Academic Publishing: Players, Agents and Agendas, ed. F Loizides, B Schmidt , pp. 8790 Amsterdam:: IOS
    [Google Scholar]
  104. 104.
    Perez F, Granger BE. 2007.. IPython: a system for interactive scientific computing. . Comput. Sci. Eng. 9:(3):2129
    [Crossref] [Google Scholar]
  105. 105.
    Valentine DT, Hahn B. 2022.. Essential MATLAB for Engineers and Scientists. San Diego, CA:: Academic
    [Google Scholar]
  106. 106.
    Donoghue T, Voytek B, Ellis S. 2022.. Course materials for data science in practice. . J. Open Source Educ. 5:(51):121
    [Crossref] [Google Scholar]
  107. 107.
    Arribas-Bel D. 2019.. A course on geographic data science. . J. Open Source Educ. 2:(16):42
    [Crossref] [Google Scholar]
  108. 108.
    Barba LA, Mesnard O. 2019.. Aero Python: classical aerodynamics of potential flow using Python. . J. Open Source Educ. 2:(16):45
    [Crossref] [Google Scholar]
  109. 109.
    Fischer T, Vollprecht W, Traversaro S, Yen S, Herrero C, Milford M. 2021.. A RoboStack tutorial: using the Robot Operating System alongside the Conda and Jupyter data science ecosystems. . IEEE Robot. Autom. Mag. 29:(2):6574
    [Crossref] [Google Scholar]
  110. 110.
    Brooks R. 1986.. A robust layered control system for a mobile robot. . IEEE J. Robot. Autom. 2:(1):1423
    [Crossref] [Google Scholar]
  111. 111.
    Kavraki L, Svestka P, Latombe JC, Overmars M. 1996.. Probabilistic roadmaps for path planning in high-dimensional configuration spaces. . IEEE Trans. Robot. Autom. 12:(4):56680
    [Crossref] [Google Scholar]
  112. 112.
    Cheifet B. 2021.. Promoting reproducibility with Code Ocean. . Genome Biol. 22::65
    [Crossref] [Google Scholar]
  113. 113.
    Merkel D. 2014.. Docker: lightweight Linux containers for consistent development and deployment. . Linux J. 2014:(239):2
    [Google Scholar]
  114. 114.
    Zakai A. 2011.. Emscripten: an LLVM-to-JavaScript compiler. . In Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion, pp. 30112 New York:: ACM
    [Google Scholar]
  115. 115.
    Bisong E. 2019.. Google Colaboratory. . In Building Machine Learning and Deep Learning Models on Google Cloud Platform: A Comprehensive Guide for Beginners, pp. 5964 Berkeley, CA:: Apress
    [Google Scholar]
  116. 116.
    Ragan-Kelley B, Willing C, Akici F, Lippa D, Niederhut D, Pacer M. 2018.. Binder 2.0 – reproducible, interactive, sharable environments for science at scale. . In Proceedings of the 17th Python in Science Conference, ed. F Akici, D Lippa, D Niederhut, M Pacer , pp. 11320 N.p.:: ScyPy.org. https://doi.org/10.25080/Majora-4af1f417-011
    [Crossref] [Google Scholar]
  117. 117.
    Gallant G. 2019.. WebAssembly in Action: With Examples Using C++ and Emscripten. Shelter Island, NY:: Manning
    [Google Scholar]
  118. 118.
    Radford A, Narasimhan K, Salimans T, Sutskever I. 2018.. Improving language understanding by generative pre-training. Work. Pap. , OpenAI, San Francisco:. https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf
    [Google Scholar]
  119. 119.
    Vaswani A, Shazeer N, Parmar N, Uszkoreit J, Jones L, et al. 2017.. Attention is all you need. . In Advances in Neural Information Processing Systems 30, ed. I Guyon, U Von Luxburg, S Bengio, H Wallach, R Fergus, et al. , pp. 59996009 Red Hook, NY:: Curran
    [Google Scholar]
  120. 120.
    OpenAI. 2023.. GPT-4 technical report. . arXiv:2303.08774 [cs.CL]
  121. 121.
    Chowdhery A, Narang S, Devlin J, Bosma M, Mishra G, et al. 2022.. PaLM: scaling language modeling with pathways. . arXiv:2204.02311 [cs.CL]
  122. 122.
    Thoppilan R, De Freitas D, Hall J, Shazeer N, Kulshreshtha A, et al. 2022.. LaMDA: Language Models for Dialog Applications. . arXiv:2201.08239 [cs.CL]
  123. 123.
    Dakhel AM, Majdinasab V, Nikanjam A, Khomh F, Desmarais MC, Jiang ZM. 2023.. Github Copilot AI pair programmer: asset or liability?. J. Syst. Softw. 203::111734
    [Crossref] [Google Scholar]
  124. 124.
    Duolingo Team. 2023.. Introducing Duolingo Max, a learning experience powered by GPT-4. . Duolingo Blog, Mar. 14. https://blog.duolingo.com/duolingo-max
    [Google Scholar]
  125. 125.
    Khan Labs. 2023.. World-class AI for education. . Khan Labs. https://www.khanacademy.org/khan-labs
    [Google Scholar]
  126. 126.
    Spitale G, Biller-Andorno N, Germani F. 2023.. AI model GPT-3 (dis)informs us better than humans. . Sci. Adv. 9:(26):eadh1850
    [Crossref] [Google Scholar]
  127. 127.
    Rana K, Haviland J, Garg S, Abou-Chakra J, Reid I, Suenderhauf N. 2023.. SayPlan: grounding large language models using 3D scene graphs for scalable task planning. . arXiv:2307.06135 [cs.RO]
  128. 128.
    Vemprala S, Bonatti R, Bucker A, Kapoor A. 2023.. ChatGPT for robotics: design principles and model abilities. . arXiv:2306.17582 [cs.AI]
  129. 129.
    Ahn M, Brohan A, Brown N, Chebotar Y, Cortes O, et al. 2022.. Do as I can, not as I say: grounding language in robotic affordances. . arXiv:2204.01691 [cs.RO]
  130. 130.
    Driess D, Xia F, Sajjadi MS, Lynch C, Chowdhery A, et al. 2023.. PaLM-E: an embodied multimodal language model. . arXiv:2303.03378 [cs.LG]
/content/journals/10.1146/annurev-control-061323-095841
Loading
/content/journals/10.1146/annurev-control-061323-095841
Loading

Data & Media loading...

  • Article Type: Review Article
This is a required field
Please enter a valid email address
Approval was a Success
Invalid data
An Error Occurred
Approval was partially successful, following selected items could not be processed due to error