Entorno de creación y edición de Mundos
El entorno de creación y edición de mundos (solo disponible en la versión PRO), presenta diferentes elementos que permiten editar los parámetros del mundo, gestionarlo, colocar nuevos elementos y editar estos mismos.
Navegación
En el entorno de simulación, la cámara se mueve con los siguientes controles:
● Click Derecho y arrastre: Rotación de la cámara sobre el robot o sobre el punto fijo deseado.
● Click Central y arrastre: En el modo de cámara no centrada sobre el robot, permite desplazarla cámara libremente. También puede controlarse manteniendo la tecla Shift mientras searrastra con el click derecho.
● Scroll con la rueda: Permite hacer zoom en la simulación, acercando o alejando la cámara
según se requiera.
● Click Izquierdo corto: Selecciona un objeto de la escena.
● Click Derecho corto: Deselecciona el objeto actualmente seleccionado.
Iconos
Al igual que en el entorno de simulación, todos los botones cuentan con una ayuda que indica su nombre y función al pasar el ratón sobre cada uno de ellos, pero se detalla su funcionamiento deizquierda a derecha:
• Atrás: (A) Cierra el editor y vuelve a la selección de mundo. Cuenta con un aviso de confirmación antes de salir para evitar perder cambios no guardados.
• Ajustes: (B) Permite acceder al panel de ajustes del mundo que se está editando. Este panel es similar al de creación de mundo (ver sección 1.4.3.2 «Mundos Custom») salvo por la ausencia del campo de nombre del mundo. En caso de querer renombrar el mundo, se puede hacer mediante el botón «Guardar Como» o mediante el renombrado en el menú de selección de mundo.
• Guardar Como/Guardar: (C) Permiten confirmar y guardar los cambios realizados en el mundo que se está editando. Guardar sólo está habilitado cuando haya cambios pendientes mientras que Guardar Como siempre está habilitado y permite crear un duplicado del mundo con un nombre diferente. Especialmente útil en caso de necesitar guardar múltiples copias o variaciones de un mismo entorno.
• Captura de Pantalla: (D) Permite tomar una instantánea de lo que está visualizando el usuario en este momento en el editor de mundos y asignarla como la imagen de vista previa que usará el simulador a la hora de presentar el mundo en el menú de selección de mundos custom.
• Deshacer/Rehacer: (E) Permite deshacer o rehacer los últimos cambios realizados sobre el mundo. Estos botones se habilitan y deshabilitan en función de si la acción de Deshacer o Rehacer está disponible en cada momento.
• Play: (F) Guarda el mundo y arranca la simulación del mismo en el estado actual en el que se encuentre, permite, junto con el botón de edición presente en la barra de botones de los mundos custom, alternar entre editor y simulación con rapidez para probar los cambios a medida que el usuario crea o edita el mundo.
Adicionalmente existen algunos comandos de teclado que permiten acceder a estas funcionalidades, junto con otros que permiten hacer acciones que ayudan al flujo más rápido y eficiente del trabajo de creación y edición de mundos.
• Ctrl/Cmd + S: Guarda el estado actual del mundo
• Ctrl/Cmd + Z: Deshace la última acción realizada por el usuario
• Ctrl/Cmd + Y: Rehace la última acción realizada por el usuario
• Ctrl/Cmd + D: Duplica el objeto seleccionado actualmente
• Delete/Suprimir: Elimina el objeto seleccionado actualmente
Panel de Terreno y Objetos
En la zona inferior del editor se presenta la paleta de terreno básico y objetos que el usuario puede colocar en el escenario. Cada uno de estos objetos presenta su nombre al pasar el ratón por encima de su icono. Al hacer click en ellos, el objeto queda seleccionado y moviendo el ratón sin necesidad de arrastrarlo, se puede colocar el objeto en la escena. El objeto se puede soltar en el entorno con un clickizquierda o deseleccionar con un click derecho.
El editor permite cierta libertad a la hora de colocar los objetos y los ajusta a un sistema de casillas de 5cm de lado para facilitar la ubicación y perfecto posicionamiento de los objetos. No obstante, aunque el editor ayuda a ubicar los objetos poniendo unos encima de otros de forma inteligente, no impide el solapamiento o posicionamiento inconsistente de los mismos en todos los casos, quedando a discreción del usuario crear y editar sus mundos de forma apropiada.
Terreno
En terreno se cuentan con elementos básicos como bloques, rampas o paredes, pero adicionalmente existen dos zonas especiales:
• Load & Unload Zone: Utilizada en entornos pensados para AGVobo, permite colocar zonas de carga y descarga similares a las presentes en los mundos estándar.
• Object Spawn Zone: Permite hacer aparecer elementos aleatorios en la escena en un área delimitada por el usuario. La textura del objeto es sólo visible durante la edición y en simulación desaparece, dejando solo el objeto correspondiente.
Objetos
Los objetos que presenta el panel son los diferentes objetos presentes en los mundos standard de Robobo y AGVobo, tales como cilindros, cilindros con bola o elementos de reciclaje. Adicionalmente se presentan también algunos elementos más personalizables:
• Robot Spawn: Punto de inicio de Robot, permite escoger qué tipo de Robot y qué módulos opcionales debe utilizar el Robot en la escena. Es necesario colocar al menos uno de estos elementos en la escena para poder tener un robot que programar y con el que trabajar, pero se permiten múltiples.
• QR Tag / Aruco Tag: Etiquetas QR y Aruco para colocar en las paredes o bloques del entorno, permiten cambiar el valor que leerán los robots al visualizarlos y aspecto.
• Señales: Categorizadas por tipos (Velocidad, Información, Stop, Ceda y Precaución), permiten escoger si la señal contará con un QR o un Aruco, así como cambiar su aspecto y el tipo de señal, por ejemplo, el valor del límite de velocidad.
Edición de Objetos
Según el tipo de objeto seleccionado, el editor presenta diferentes conjuntos de controles, pero de modo general los controles disponibles son:
• Flechas de control: Clicando y arrastrando en ellas permiten mover el objeto exclusivamente en esa dirección sin afectar a las demás.
• Planos de control: Situados entre las flechas de control, clicando y arrastrando en ellas permiten mover el objeto exclusivamente en ese plano de movimiento sin afectar a los demás.
• Agarradores de escala: Los cubos al final de cada una de las flechas de control permiten, haciendo click y arrastrando de ellos, incrementar o decrementar la escala del objeto en esa dirección, sólo los elementos de terreno cuentan con ellos ya que los objetos interactivos no se pueden re-escalar.
• Flechas de rotación: Haciendo click sobre ellas se puede rotar el objeto 90 grados en sentido horario u antihorario.
Panel de Propiedades
Tanto los elementos de terreno como los objetos interactivos muestran un panel de propiedades contextual al objeto actualmente seleccionado. Cada uno de ellos tiene sus propios elementos de configuración, pero a modo general todos presentan una sección «Transform» que permite cambiar la posición y escala de forma numérica, recomendable en caso de necesitar precisión a la hora de ubicar los elementos en la escena. Si el objeto no puede re-escalarse, sólo mostrará los valores de posición.
Adicionalmente algunos elementos permiten cambiar su material y aspecto mediante la sección de materiales. Otros, más complejos en aspecto o de aspecto predefinido, no cuentan con esta sección.
A continuación, se detallan las propiedades de cada uno de los elementos disponibles en el editor:
• Cubo, Rampa y Pared: Transform con posición y escala. Selección de material.
• Load & Unload Zone: Transform con posición y escala. Casillas para definir la zona como exclusivamente de carga (naranja), exclusivamente de descarga (azul) o ambas (verde). El caso por defecto al no seleccionar ningun tipo es «ambas».
• Object Spawn Zone: Transform con posición y escala. Sección de selección múltiple de objetos entre los que la zona escogerá a la hora de iniciar la simulación. El primero seleccionado se asigna como objeto por defecto y puede cambiarse haciendo click derecho en cualquier otro objeto de la sección. La sección de materiales permite a la zona escoger un material para el objeto que coloque al arrancar la simulación, funciona de forma similar a la selección de objetos. La posición, tipo y material se escogen de forma aleatoria si el usuario tiene seleccionado el comportamiento aleatorio de los mundos en el menú de Opciones y si no, se coloca el objeto por defecto con el material por defecto en el centro del área definida.
• Robot Spawner: Transform con posición. Permite seleccionar en un desplegable el robot a emplear en el mundo. El desplegable muestra únicamente aquellos robots que se han definido como posibles robots del mundo en los ajustes. Si se selecciona «Default Robot» el mundo se arrancará con el modelo de robot escogido en el menú de Opciones, mientras que, si se escoge uno concreto, el mundo usará siempre ese tipo de robot, independientemente de la configuración del simulador. Cuenta con una sección para activar o desactivar módulos opcionales de los robots a cargar en el mundo, por ahora sólo permitiendo activar el elemento empujador o empujador de objetos en el modelo Robobo.
• Etiqueta QR: Transform con posición. Permite cambiar el texto representado por la etiqueta que leerá el robot al visualizarla.
• Etiqueta Aruco: Transform con posición. Permite cambiar el tipo de etiqueta Aruco entre muchos de los modelos soportados por los robots.
• Señales de Tráfico: Transform con posición. Permite alternar entre la etiqueta QR y la etiqueta Aruco. Así como cambiar el tipo de señal, cambiando al mismo tiempo el valor de la etiqueta de forma automática.
• Cilindros y elementos reciclables: Transform con posición. Algunos de ellos además cuentan con selección de material para cambiar su color y aspecto.