World Scientific
  • Search
  •   
Skip main navigation

Cookies Notification

We use cookies on this site to enhance your user experience. By continuing to browse the site, you consent to the use of our cookies. Learn More
×

A Flexible MATLAB/Simulink Simulator for Robotic Floating-base Systems in Contact with the Ground: Theoretical Background and Implementation Details

    https://doi.org/10.1142/S1793351X24300036Cited by:0 (Source: Crossref)

    This paper presents an open-source MATLAB/Simulink physics simulator for rigid-body articulated systems, including manipulators and floating-base robots. Thanks to MATLAB/Simulink features like MATLAB system classes and Simulink Function blocks, the presented simulator combines a programmatic and block-based approach, resulting in a flexible design in the sense that different parts, including its physics engine, robot-ground interaction model, and state evolution algorithm are simply accessible and editable. Moreover, through the use of Simulink dynamic mask blocks, the proposed simulator supports robot models integrating open-chain and closed-chain kinematics with any desired number of links interacting with the ground. This simulator can also integrate second-order actuator dynamics. Furthermore, the simulator benefits from a one-line installation and an easy-to-use Simulink interface.

    References

    • 1. A. Afzal, D. S. Katz, C. L. Goues and C. S. Timperley, A study on the challenges of using robotics simulators for testing, preprint (2020), arXiv:2004.07368. Google Scholar
    • 2. J. Collins, S. Chand, A. Vanderkop and D. Howard , A review of physics simulators for robotic applications, IEEE Access 9 (2021) 51416–51431. CrossrefGoogle Scholar
    • 3. B. Acosta, W. Yang and M. Posa , Validating robotics simulators on real-world impacts, IEEE Rob. Autom. Lett. 7 (2022) 6471–6478. Crossref, Web of ScienceGoogle Scholar
    • 4. F. Nori, S. Traversaro, J. Eljaik, F. Romano, A. Del Prete and D. Pucci , iCub whole-body control through force regulation on rigid non-coplanar contacts, Front. Rob. AI 2 (2015) 6. Google Scholar
    • 5. F. E. Udwadia and R. E. Kalaba , A new perspective on constrained motion, Proc. R. Soc. London A: Math. Phys. Sci. 439 (1906) (1992) 407–410. Google Scholar
    • 6. M. Azad, J. Babič and M. Mistry , Effects of the weighting matrix on dynamic manipulability of robots, Auton. Rob. 43(7) (2019) 1867–1879. Crossref, Web of ScienceGoogle Scholar
    • 7. D. Ferigo, S. Traversaro, F. Romano and D. Pucci , A generic synchronous dataflow architecture to rapidly prototype and deploy robot controllers, Int. J. Adv. Rob. Syst. 17(2) (2020), https://doi.org/10.1177/1729881420921625. Web of ScienceGoogle Scholar
    • 8. N. Guedelha, V. Pasandi, G. L’Erario, S. Traversaro and D. Pucci , A flexible matlab/simulink simulator for robotic floating-base systems in contact with the ground, in 2022 Sixth IEEE Int. Conf. Robotic Computing (IRC), 2022, pp. 53–57. CrossrefGoogle Scholar
    • 9. S. Traversaro, Modelling, estimation and identification of humanoid robots dynamics, PhD thesis, University of Genoa (2017). Google Scholar
    • 10. J. Nocedal and S. J. Wright , Numerical optimization, 2nd edn. (Springer, 2006). Google Scholar
    • 11. D. Stewart and J. C. Trinkle , An implicit time-stepping scheme for rigid body dynamics with coulomb friction, in Proc. 2000 ICRA, Millennium Conf., IEEE Int. Conf. Robotics and Automation, Symp. Proc. (Cat. No. 00CH37065), 2000, pp. 162–169. CrossrefGoogle Scholar
    • 12. Y. Hurmuzlu and D. B. Marghitu , Rigid body collisions of planar kinematic chains with multiple contact points, Int. J. Rob. Res. 13(1) (1994) 82–92. Crossref, Web of ScienceGoogle Scholar
    • 13. P. R. Kraus and V. Kumar , Compliant contact models for rigid body collisions, in Proc. Int. Conf. Robotics and Automation, 1997, pp. 1382–1387. CrossrefGoogle Scholar
    • 14. G. Nava, F. Romano, F. Nori and D. Pucci , Stability analysis and design of momentum-based controllers for humanoid robots, in 2016 IEEE/RSJ Int. Conf. Intelligent Robots and Systems (IROS), 2016, pp. 680–687. CrossrefGoogle Scholar
    • 15. MathWorks, MATLAB system block, 2022, https://it.mathworks.com/help/simulink/ug/what-is-matlab-system-block.html. Google Scholar
    • 16. B. Stellato, G. Banjac, P. Goulart, A. Bemporad and S. Boyd , OSQP: An operator splitting solver for quadratic programs, Math. Program. Comput. 12(4) (2020) 637–672. Crossref, Web of ScienceGoogle Scholar
    • 17. MathWorks, Using buses with MATLAB system blocks, 2022, https://www.mathworks.com/help/simulink/slref/using-buses-with-matlab-system-blocks.html. Google Scholar
    • 18. MathWorks, Simulink.bus: Specify properties of buses, 2022, https://www.mathworks.com/help/simulink/slref/simulink.bus.html. Google Scholar
    • 19. MathWorks, Specify bus properties with Simulink.bus object data types, 2022, https: //www.mathworks.com/help/simulink/ug/when-to-use-bus-objects.html. Google Scholar
    • 20. MathWorks, Dynamic masked subsystem, 2022, https://www.mathworks.com/help/simulink/ug/create-dynamic-masked-subsystems.html. Google Scholar