End effector commissioning ========================== The Franka Operating System allows the commissioning of custom end effectors. In order to configure and interact with a new end effector a new *end effector device* must be added to the system. This can be done by uploading a suitable *end effector archive* via the end effector page of the Franka UI Settings. An archive must adhere to the following constraints: * The archive *must* contain a JSON file called `endeffector-config.json` which specifies the following values: +----------------+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | field name | type | description | +================+==========+=====================================================================================================================================================================+ | id | string | Identifier used to internally distinguish end effector devices, must not be prefixed by 'ee-' and must be a valid URI reference (no spaces, no special characters). | +----------------+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | string | Display name used in Franka UI Settings. | +----------------+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | color | string | Display color used for the display icon (see below) in Franka UI Settings. | +----------------+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | mass | double | Default mass of the end effector device. | +----------------+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | centerOfMass | [double] | Default center of mass of the end effector device (must consist of three coordinates x,y and z. | +----------------+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | transformation | [double] | Default transformation of the end effector device with respect to flange (must contain 16 entries representing a be a column based 4 * 4 transformation matrix). | +----------------+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | inertia | [double] | Default inertia of the end effector device (must contain 9 entries representing a column based symmetric 3 * 3 inertia tensor). | +----------------+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ * The archive *may* specify visual data for the end effector device. This data will be used to visualize the device along with configured mechanical data such as transformation and center of mass. If no visual data is specified, then only the mechanical data is visualized. If visual data is specified, then the archive *must* contain a urdf file called `endeffector.urdf` which *must* be located at the root of the archive. The archive *must not* contain any other `.urdf` file. Additional `.dae` files *may* be located in any subfolder of the archive and *must* be linked accordingly in the `.urdf file`. Note that the package name will be ignored, e.g., the file `meshes/visuals/gripper.dae` *must* be linked in the `.urdf` with `package:///meshes/visual/hand.dae`, where `` can be replaced with any name. * The archive *may* specify a display icon. The icon is used to create a tile highlighted by the color mentioned above. This tile is used to display all available devices. If no icon is specified then a default icon is used. If a display icon is specified then the archive *must* contain a file called `endeffector.svg`. The archive *must not* contain any other `.svg` files. * The archive may contain more files and data, however, only the `.json`, `.urdf`, `.dae` (along with corresponding subfolder structure), and `.svg` will be considered. * The uncompressed archive size must be less than 20MB. * The archive must be compressed using gzip.