Tutorial PROTO
En este tutorial se presentan los pasos a seguir para crear un archivo PROTO. Los PROTO nos ayudarán a introducir robots ya generados en proyectos anteriores a diferentes escenarios, sin la necesidad de tener que copiar todo el árbol de diseño.
Supplies
Webots 2022b
Origen Del Robot
Abrimos el “mundo” donde se encuentre el robot que queremos generar en PROTO (en este caso generaremos el carro de cuatro llantas que creamos en la práctica 2 en Webots). Es importante mencionar que lo abriremos en un editor de texto, en este caso lo abriremos con bloc de notas como se muestra en la Figura 1.
Creación Del PROTO
Creamos un bloc de notas (o un archivo de texto de su preferencia) dentro del folder de “Protos” que se encuentra en las carpetas que se generan por cada proyecto, a este archivo se le llamara “FourWheelsRobot.proto” es importante que a la hora de crear este archivo se seleccione el formato de “Todos los archivos” para el “Tipo”, Mantener ambos archivos abiertos.
Cualquier archivo tipo “PROTO” tendrá la siguiente estructura de programación:
PROTO protoName [
protoFields
]
{
protoBody
}
En la cual “protoName” será el nombre robot del archivo en el que se está trabajando, en este ejemplo tendrá el nombre de “FourWheelsRobot”.
“protoFields” define los campos modificables del nodo de PROTO.
“protoBody” es toda la definición exacta del robot
Ejecución Del PROTO
Una vez conociendo todo esto, abrimos ambos archivos. En el documento del PROTO generamos la estructura básica con el nombre correcto del PROTO y en el archivo del programa en forma de texto buscamos el nodo del robot, con el título “ROBOT”, copiamos toda su estructura y lo pegamos en el otro documento, como se muestra en la Figura 3.
Dos cosas importantes, en el documento del PROTO si copias la estructura general es importante borrar los títulos de “protoFields” y “protoBody” porque si no generaremos un problema y no se ejecutará de manera correcta el código, y al momento de copiar todo el nodo de “ROBOT” asegúrate que solo que sea hasta el último corchete del área del robot “}”.
PROTO En Webots
Desde este momento ya es posible insertar el PROTO a nuestro mundo de Webots, para eso abriremos el mundo de manera normal e insertamos un objeto y en la pestaña de “PROTO nodes (Current Project)” se encuentra nuestro Robot listo para ser importado. Si se importa desde este momento no tendrá la posibilidad de moverlo o de rotarlo por lo cual tenemos que seguir editando el documento de PROTO.
Agregar Traslación, Rotación Y Masa
Editaremos el documento PROTO para que nos sea posible moverlo y rotarlo, para esto necesitamos editar el campo que se encuentra entre corchetes “[ ]” y agregaremos translación, rotación y masa de la siguiente manera:
field SFVec3f translation 0 0 0
field SFRotation rotation 0 0 1 0
field SFFloat bodyMass 1
Ahora hacemos las conexiones del PROTO con el mundo que será importado, lo insertamos debajo del nombre “Robot” después del primer corchete “{”. La conexión entre el robot y el nuevo mundo será posible con la función “IS” esto lo generamos para la translación y la rotación de la siguiente manera:
translation IS translation
rotation IS rotation
Por último, agregamos la masa entre los corchetes de “Physics” (“Physics “normalmente se encuentra hasta casi el final del código) de la siguiente manera:
mass IS bodyMass
Una vez agregado estos parámetros ya se puede mover el robot en los parámetros que quisiéramos, ya sea modificando los parámetros desde el árbol de diseño o con las flechas de 3D.