{"id":7867,"date":"2023-11-27T17:20:46","date_gmt":"2023-11-27T17:20:46","guid":{"rendered":"https:\/\/robotica-facil-con-ros2.es\/?p=7867"},"modified":"2023-11-27T17:22:56","modified_gmt":"2023-11-27T17:22:56","slug":"simulacion-con-motores-de-videojuegos-y-ros2","status":"publish","type":"post","link":"https:\/\/robotica-facil-con-ros2.es\/?p=7867","title":{"rendered":"Simulaci\u00f3n con motores de videojuegos y ROS2"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"7867\" class=\"elementor elementor-7867\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-389d1a2 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"389d1a2\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c9c013e\" data-id=\"c9c013e\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c950527 elementor-widget elementor-widget-text-editor\" data-id=\"c950527\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h4 style=\"font-size: 1.33333rem; font-style: normal;\">Introducci\u00f3n<\/h4><p>Para realizar simulaciones en rob\u00f3tica tenemos diferentes entornos que podemos usar con ROS2, como Gazebo, Webots, CoppeliaSim, o Nvidia ISAAC Sim, siendo Gazebo el m\u00e1s usado con diferencia.<\/p><p>\u00a0<\/p><p>Todos ellos est\u00e1n dise\u00f1ados espec\u00edficamente para la simulaci\u00f3n de robots, ofreciendo herramientas y caracter\u00edsticas centradas en la f\u00edsica y din\u00e1mica de los mismos, la interacci\u00f3n con el entorno, la simulaci\u00f3n de sensores y la ejecuci\u00f3n de algoritmos de control.<\/p><p>\u00a0<\/p><p>En estos entornos podemos r\u00e1pidamente crear un prototipo de nuestro robot y probarlo en un mundo virtual.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a667ec4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a667ec4\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d060c07\" data-id=\"d060c07\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9ba5ebd elementor-widget elementor-widget-video\" data-id=\"9ba5ebd\" data-element_type=\"widget\" data-settings=\"{&quot;youtube_url&quot;:&quot;https:\\\/\\\/www.youtube.com\\\/watch?v=2sQuCFNAHe8&quot;,&quot;autoplay&quot;:&quot;yes&quot;,&quot;loop&quot;:&quot;yes&quot;,&quot;lazy_load&quot;:&quot;yes&quot;,&quot;video_type&quot;:&quot;youtube&quot;,&quot;controls&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-wrapper elementor-open-inline\">\n\t\t\t<div class=\"elementor-video\"><\/div>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3cada76 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3cada76\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-347b483\" data-id=\"347b483\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1f86fc2 elementor-widget elementor-widget-text-editor\" data-id=\"1f86fc2\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"text-align: center;\">Simulaci\u00f3n realizada con Open 3D Engine<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-05d6e92 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"05d6e92\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-db1766a\" data-id=\"db1766a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-fbae2c4 elementor-widget elementor-widget-text-editor\" data-id=\"fbae2c4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h4>Por qu\u00e9 usar motores de videojuegos?<\/h4><div><p>Principalmente porque los entornos de simulaci\u00f3n que hemos mencionado no tienen un buen desempe\u00f1o en las siguientes \u00e1reas:<\/p><p>\u00a0<\/p><\/div><ul><li style=\"list-style-type: none;\"><ul><li>Simulaciones en grandes mundos interactivos.\u00a0\u00a0<\/li><li>Renderizado con aspecto fotorrealista.<\/li><li>Generaci\u00f3n datos sint\u00e9ticos.<\/li><li>Simulaciones relacionadas con la conducci\u00f3n aut\u00f3noma.<\/li><\/ul><\/li><\/ul>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3485c32 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3485c32\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-11cf0cf\" data-id=\"11cf0cf\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-71fde6a elementor-widget elementor-widget-text-editor\" data-id=\"71fde6a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Los motores de videojuegos, a diferencia de los entorno de simulaci\u00f3n cl\u00e1sicos, proporcionan herramientas muy sofisticadas para facilitar la creaci\u00f3n de grandes mundos interactivos y permiten la simulaci\u00f3n de grandes \u00e1reas, ofreciendo al mismo tiempo un acabado visual muy superior con renderizados que alcanzan el fotorrealismo. Y todo ello manteniendo un elevado rendimiento de las f\u00edsicas y los sensores.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2dfb53f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2dfb53f\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b2c4f07\" data-id=\"b2c4f07\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-58fe878 elementor-widget elementor-widget-text-editor\" data-id=\"58fe878\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><span style=\"font-size: 13.68px; font-style: inherit; font-weight: inherit; background-color: var(--ast-global-color-5); color: var(--ast-global-color-3);\">Por otro lado, cada vez es m\u00e1s frecuente realizar simulaciones donde el foco no se pone realmente en simular propiamente un robot sino en resolver una aplicaci\u00f3n, con m\u00faltiples robots desplegados en amplios entornos.\u00a0<\/span><span style=\"font-size: 13.68px; font-style: inherit; font-weight: inherit; color: var(--ast-global-color-3); background-color: var(--ast-global-color-5);\">Y en estos casos los motores de juegos pueden ser muy adecuados para simulaciones donde lo que queremos estudiar es la percepci\u00f3n, el comportamiento integrado de robots o la productividad de una implementaci\u00f3n espec\u00edfica de una flota de robots.<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9878f3a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9878f3a\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-31df4f7\" data-id=\"31df4f7\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-af753e4 elementor-widget elementor-widget-text-editor\" data-id=\"af753e4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>En cuanto a sus aplicaciones en la conducci\u00f3n aut\u00f3noma de veh\u00edculos, los motores de videojuegos ya son usados en entornos de simulaci\u00f3n espec\u00edficos como CARLA y OSIM que est\u00e1n construidos sobre Unreal Engine y Unity respectivamente.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b7a78c6 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b7a78c6\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-74c33bd\" data-id=\"74c33bd\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-99e93eb elementor-widget elementor-widget-text-editor\" data-id=\"99e93eb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h4>Qu\u00e9 motores de videojuegos podemos usar con ROS2?<\/h4><div><p>A continuaci\u00f3n vamos a ver los principales motores de videojuegos que podemos usar con ROS2.<\/p><\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a5eac75 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a5eac75\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-bc05011\" data-id=\"bc05011\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f64c6fd elementor-widget elementor-widget-text-editor\" data-id=\"f64c6fd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h5>Unity<\/h5>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-785b2a6 elementor-widget elementor-widget-image\" data-id=\"785b2a6\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"740\" height=\"416\" src=\"https:\/\/robotica-facil-con-ros2.es\/wp-content\/uploads\/2023\/11\/unity-simulation.jpg\" class=\"attachment-large size-large wp-image-7820\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-540963e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"540963e\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8f25d00\" data-id=\"8f25d00\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ab465ee elementor-widget elementor-widget-text-editor\" data-id=\"ab465ee\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Unity es uno de los motores m\u00e1s usados en videojuegos y proporciona soporte oficial de ROS2. Adem\u00e1s dispone del paquete <strong><a href=\"https:\/\/github.com\/Unity-Technologies\/URDF-Importer\">URDF Importer<\/a><\/strong>,\u00a0 que permite importar un robot definido en formato URDF en una escena de Unity. La integraci\u00f3n oficial permite el uso de publicadores, subscriptores y servicios, pero no acciones.\u00a0<\/p><p>\u00a0<\/p><p>Enlaces de inter\u00e9s:<\/p><ul><li style=\"list-style-type: none;\"><ul><li><b><a style=\"background-color: #ffffff; outline: 0px; font-size: 16px;\" href=\"https:\/\/github.com\/Unity-Technologies\/URDF-Importer\">Web de Unity<\/a><a style=\"font-style: inherit;\">\u00a0 \/\u00a0 <\/a><a href=\"https:\/\/unity.com\/download\">Download.<\/a>\u00a0<\/b><\/li><li><a style=\"font-size: 16px; background-color: #ffffff;\" href=\"https:\/\/github.com\/Unity-Technologies\/Unity-Robotics-Hub\"><b>Unity Robotics Hub.<\/b><\/a>\u00a0<\/li><li><b style=\"font-style: inherit;\"><a style=\"background-color: #ffffff; outline: 0px; font-size: 16px;\" href=\"https:\/\/blog.unity.com\/engine-platform\/robotics-simulation-is-easy-as-1-2-3\">Robotics simulation in Unity is easy as 1, 2, 3.<\/a>\u00a0<\/b><\/li><li><a style=\"background-color: #ffffff; outline: 0px; font-size: 16px;\" href=\"https:\/\/learn.unity.com\/\"><b>Aprende Unity<\/b><\/a><\/li><li><a style=\"font-size: 16px; background-color: #ffffff;\" href=\"https:\/\/assetstore.unity.com\/\"><b>Unity Asset Store<\/b><\/a><\/li><\/ul><\/li><\/ul><p>Tambi\u00e9n existen otras alternativas\u00a0 como el paquete <a href=\"https:\/\/github.com\/RobotecAI\/ros2-for-unity\"><strong>ros2-for-Unity<\/strong><\/a> desarrollado por la empresa <strong><a href=\"https:\/\/robotec.ai\/\">RobotecAI. <\/a><\/strong>Es compatible con las versiones Galactic y Humble de ROS2 y al igual que la soluci\u00f3n oficial actualmente no permite el uso de acciones.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-745a7c5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"745a7c5\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8985921\" data-id=\"8985921\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3533239 elementor-widget elementor-widget-text-editor\" data-id=\"3533239\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h5>Unreal Engine<\/h5>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8279f67 elementor-widget elementor-widget-image\" data-id=\"8279f67\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/robotica-facil-con-ros2.es\/wp-content\/uploads\/2023\/11\/unreal-simulation-2-1024x576.jpg\" class=\"attachment-large size-large wp-image-7831\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8924407 elementor-widget elementor-widget-text-editor\" data-id=\"8924407\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Este es probablemente el motor m\u00e1s potente en el mercado actualmente y es empleado en el desarrollo de multitud de juegos AAA. Aunque no proporciona un soporte nativo podemos utilizarlo junto con ROS2 mediante el plugin <b><a href=\"https:\/\/github.com\/rapyuta-robotics\/rclUE\">rclUE<\/a><\/b>\u00a0creado por <a style=\"font-weight: bold;\" href=\"https:\/\/www.rapyuta-robotics.com\/\">Rapyuta Robotics<\/a>,\u00a0que adem\u00e1s cuenta con el paquete RapyutaSimulationPlugins que contiene elementos y herramientas que podemos usar en Unreal Engine.<\/p><p>\u00a0<\/p><p>Enlaces de inter\u00e9s:<\/p><ul><li style=\"list-style-type: none;\"><ul><li><strong><a href=\"https:\/\/github.com\/rapyuta-robotics\/rclUE\">rclUE<\/a>.<\/strong><\/li><li><strong><a href=\"https:\/\/rclue.readthedocs.io\/en\/latest\/\">Documentaci\u00f3n de rclUE<\/a>.<\/strong><\/li><li><strong><a href=\"https:\/\/github.com\/rapyuta-robotics\/RapyutaSimulationPlugins\">RapyutaSimulationPlugins<\/a>.<\/strong><\/li><li><strong><a href=\"https:\/\/rapyutasimulationplugins.readthedocs.io\/en\/devel\/\">Documentaci\u00f3n de RapyutaSimulationPlugins<\/a>.<\/strong><\/li><li><strong><a href=\"https:\/\/github.com\/rapyuta-robotics\/turtlebot3-UE\">Ejemplo de simulaci\u00f3n de Turtlebot3 en Unreal Engine<\/a>.<\/strong><\/li><\/ul><\/li><\/ul>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4512f2c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4512f2c\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-20bcdf9\" data-id=\"20bcdf9\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3b13deb elementor-widget elementor-widget-text-editor\" data-id=\"3b13deb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h5>Open 3D Engine<\/h5>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4408778 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4408778\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-bbc7688\" data-id=\"bbc7688\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-cb4ff66 elementor-widget elementor-widget-image\" data-id=\"cb4ff66\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"480\" src=\"https:\/\/robotica-facil-con-ros2.es\/wp-content\/uploads\/2023\/11\/o3de-simulation-1024x480.jpg\" class=\"attachment-large size-large wp-image-7824\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-24f0d6a elementor-widget elementor-widget-text-editor\" data-id=\"24f0d6a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Open 3D Engine\u00a0es un\u00a0motor de juegos 3D\u00a0gratuito, de dise\u00f1o modular y c\u00f3digo abierto\u00a0desarrollado por Open 3D Foundation, una subsidiaria de\u00a0Linux Foundation. La versi\u00f3n inicial del motor es una versi\u00f3n actualizada del motor de Amazon Lumberyard, y e<span style=\"font-style: inherit; font-weight: inherit; background-color: var(--ast-global-color-5); color: var(--ast-global-color-3);\">ntre sus socios se encuentra Open Robotics, que es la principal mantenedora de ROS2.<\/span><\/p><p>\u00a0<\/p><p><span style=\"font-style: inherit; font-weight: inherit; background-color: var(--ast-global-color-5); color: var(--ast-global-color-3);\">Este motor tiene soporte nativo para ROS2, permitiendo usar publicadores y subscriptores, servicios y tambi\u00e9n acciones. \u00a0Tambi\u00e9n pone a nuestra disposici\u00f3n varios tipos de sensores configurables y extensibles para poder usarlos en las simulaciones, como Lidar (3D y 2D), c\u00e1mara (incluida la de profundidad), IMU, odometr\u00eda, GNSS y de contacto.<\/span><\/p><p>\u00a0<\/p><p>Al igual que Unity, permite importar los robots que tengamos con formato URDF, SDFormat y XACRO.<\/p><p>\u00a0<\/p><p>Adicionalmente proporciona tres plantillas para simulaciones de rob\u00f3tica:<\/p><ul><li style=\"list-style-type: none;\"><ul><li>Proyecto ROS2.<\/li><li>Proyecto de almac\u00e9n.<\/li><li>Proyecto de manipulaci\u00f3n.<\/li><\/ul><\/li><\/ul><p>Enlaces de inter\u00e9s:<\/p><ul><li style=\"list-style-type: none;\"><ul><li><strong><a href=\"https:\/\/o3de.org\/\">Open 3D Engine<\/a>.<\/strong><\/li><li><strong><a href=\"https:\/\/o3d.foundation\/\">Open 3D Foundation<\/a>.<\/strong><\/li><li><strong><a href=\"https:\/\/docs.o3de.org\/docs\/\">O3DE Learn<\/a>.<\/strong><\/li><li><strong><a href=\"https:\/\/docs.o3de.org\/docs\/user-guide\/gems\/reference\/robotics\/ros2\/\">ROS2 Gem<\/a>.<\/strong><\/li><li><strong><a href=\"https:\/\/docs.o3de.org\/docs\/user-guide\/interactivity\/robotics\/\">Robotics in O3DE<\/a>.<\/strong><\/li><\/ul><\/li><\/ul>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n Para realizar simulaciones en rob\u00f3tica tenemos diferentes entornos que podemos usar con ROS2, como Gazebo, Webots, CoppeliaSim, o Nvidia ISAAC Sim, siendo Gazebo el m\u00e1s usado con diferencia. \u00a0 Todos ellos est\u00e1n dise\u00f1ados espec\u00edficamente para la simulaci\u00f3n de robots, ofreciendo herramientas y caracter\u00edsticas centradas en la f\u00edsica y din\u00e1mica de los mismos, la interacci\u00f3n [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7845,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[5,10],"tags":[36,34,35],"class_list":["post-7867","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ros2","category-simulacion","tag-o3de","tag-unity","tag-unreal"],"aioseo_notices":[],"rttpg_featured_image_url":{"full":["https:\/\/robotica-facil-con-ros2.es\/wp-content\/uploads\/2023\/11\/unreal-simulation-3.jpg",1920,1080,false],"landscape":["https:\/\/robotica-facil-con-ros2.es\/wp-content\/uploads\/2023\/11\/unreal-simulation-3.jpg",1920,1080,false],"portraits":["https:\/\/robotica-facil-con-ros2.es\/wp-content\/uploads\/2023\/11\/unreal-simulation-3.jpg",1920,1080,false],"thumbnail":["https:\/\/robotica-facil-con-ros2.es\/wp-content\/uploads\/2023\/11\/unreal-simulation-3-150x150.jpg",150,150,true],"medium":["https:\/\/robotica-facil-con-ros2.es\/wp-content\/uploads\/2023\/11\/unreal-simulation-3-300x169.jpg",300,169,true],"large":["https:\/\/robotica-facil-con-ros2.es\/wp-content\/uploads\/2023\/11\/unreal-simulation-3-1024x576.jpg",1024,576,true],"1536x1536":["https:\/\/robotica-facil-con-ros2.es\/wp-content\/uploads\/2023\/11\/unreal-simulation-3-1536x864.jpg",1536,864,true],"2048x2048":["https:\/\/robotica-facil-con-ros2.es\/wp-content\/uploads\/2023\/11\/unreal-simulation-3.jpg",1920,1080,false]},"rttpg_author":{"display_name":"Jose Enrique Cabrera","author_link":"https:\/\/robotica-facil-con-ros2.es\/?author=1"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/robotica-facil-con-ros2.es\/?cat=5\" rel=\"category\">ROS2<\/a> <a href=\"https:\/\/robotica-facil-con-ros2.es\/?cat=10\" rel=\"category\">SIMULACI\u00d3N<\/a>","rttpg_excerpt":"Introducci\u00f3n Para realizar simulaciones en rob\u00f3tica tenemos diferentes entornos que podemos usar con ROS2, como Gazebo, Webots, CoppeliaSim, o Nvidia ISAAC Sim, siendo Gazebo el m\u00e1s usado con diferencia. \u00a0 Todos ellos est\u00e1n dise\u00f1ados espec\u00edficamente para la simulaci\u00f3n de robots, ofreciendo herramientas y caracter\u00edsticas centradas en la f\u00edsica y din\u00e1mica de los mismos, la interacci\u00f3n&hellip;","_links":{"self":[{"href":"https:\/\/robotica-facil-con-ros2.es\/index.php?rest_route=\/wp\/v2\/posts\/7867","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/robotica-facil-con-ros2.es\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/robotica-facil-con-ros2.es\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/robotica-facil-con-ros2.es\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/robotica-facil-con-ros2.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7867"}],"version-history":[{"count":8,"href":"https:\/\/robotica-facil-con-ros2.es\/index.php?rest_route=\/wp\/v2\/posts\/7867\/revisions"}],"predecessor-version":[{"id":8094,"href":"https:\/\/robotica-facil-con-ros2.es\/index.php?rest_route=\/wp\/v2\/posts\/7867\/revisions\/8094"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/robotica-facil-con-ros2.es\/index.php?rest_route=\/wp\/v2\/media\/7845"}],"wp:attachment":[{"href":"https:\/\/robotica-facil-con-ros2.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7867"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robotica-facil-con-ros2.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7867"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robotica-facil-con-ros2.es\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7867"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}