-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Adding a New Robot
Fabien Rohrer edited this page Mar 11, 2019
·
23 revisions
In order to guarantee a homogeneous overall quality, several steps have to be fulfilled when adding a new robot to the Webots main repository. This page lists theses steps.
In illustrate this documentation, let say that the fictional robot to be added is named iCobra-22
and is developed by the Snake Logistics
company.
- The new robot should be defined as a PROTO node.
- File and directory names should be written in Snake case.
- PROTO names should be written in Camel case.
- The new directory should be added in the
projects/robots/COMPANY/ROBOT_NAME
directory and fulfill the standard file hierarchy.
For example:
$WEBOTS_HOME/projects/robots/snake_logistics/i_cobra_22/controllers/i_cobra_22/
$WEBOTS_HOME/projects/robots/snake_logistics/i_cobra_22/protos/ICobra22.proto
$WEBOTS_HOME/projects/robots/snake_logistics/i_cobra_22/worlds/i_cobra_22.wbt
- The PROTO header should contain a description of the robot.
For example:
#VRML_SIM R2019a utf8
# license: Copyright Cyberbotics Ltd. Licensed for use only with Webots.
# license url: https://cyberbotics.com/webots_assets_license
# documentation url: https://www.cyberbotics.com/doc/guide/i_cobra_22
# The "iCobra-22" is a robot developed by "Snake Logistics": https://snake-logistics.com/icobra
PROTO ICobra22 [
field SFVec3f translation 0 0 0 # Is `Transform.translation`.
field SFRotation rotation 0 1 0 1.5708 # Is `Transform.rotation`.
field SFString name "" # Is `Solid.name`.
field SFString controller "i_cobra_22" # Is `Robot.controller`.
field SFString controllerArgs "" # Is `Robot.controllerArgs`.
field SFString customData "" # Is `Robot.customData`.
field SFBool supervisor FALSE # Is `Robot.supervisor`.
field SFBool synchronization TRUE # Is `Robot.synchronization`.
]
{
Robot {
translation IS translation
rotation IS rotation
controller IS controller
controllerArgs IS controllerArgs
customData IS customData
supervisor IS supervisor
synchronization IS synchronization
name IS name
model "Snake Logistics iCobra-22"
# ...
}
}
...
...
...
...
...