# urdf2webots **Repository Path**: mathematicsX/urdf2webots ## Basic Information - **Project Name**: urdf2webots - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2020-12-17 - **Last Updated**: 2021-11-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # urdf2webots [![Build Status](https://travis-ci.com/cyberbotics/urdf2webots.svg?branch=master)](https://travis-ci.com/cyberbotics/urdf2webots) This tool converts URDF files into Webots PROTO files. ## Install ### From pip ``` pip install urdf2webots ``` On macOS, export the pip binary path to the PATH: `export PATH="/Users/$USER/Library/Python/3.7/bin:$PATH"` ### From Sources ``` git clone https://github.com/cyberbotics/urdf2webots.git cd urdf2webots pip install -r requirements.txt ``` ## Usage ### From pip ``` python -m urdf2webots.importer --input=someRobot.urdf [--output=outputFile] [--box-collision] [--normal] [--disable-mesh-optimization] [--multi-file] [--static-base] [--tool-slot=linkName] [--help] ``` ### From Sources ``` python demo.py --input=someRobot.urdf [--output=outputFile] [--box-collision] [--normal] [--disable-mesh-optimization] [--multi-file] [--static-base] [--tool-slot=linkName] [--help] ``` ### Arguments The script accepts the following arguments: - **-h, --help**: Show the help message and exit. - **--input=INFILE**: Specifies the urdf file to convert. - **--output=OUTFILE**: If set, specifies the path and, if ending in ".proto", name of the resulting PROTO file. The filename minus the .proto extension will be the robot name. - **--normal**: If set, the normals are exported if present in the URDF definition. - **--box-collision**: If set, the bounding objects are approximated using boxes. - **--disable-mesh-optimization**: If set, the duplicated vertices are not removed from the meshes (this can speed up a lot the conversion). - **--multi-file**: If set, the mesh files are exported as separated PROTO files. - **--static-base**: If set, the base link will have the option to be static (disable physics) - **--tool-slot=LinkName**: Specify the link that you want to add a tool slot to (exact link name from urdf). - **--rotation="0 1 0 0"**: Set the rotation field of your PROTO file. If your URDF file uses the z-axis as 'up', use `--rotation="1 0 0 -1.5708"`. - **--init-pos=JointPositions**: Set the initial positions of your robot joints. Example: `--init-pos="[1.2, 0.5, -1.5]"` would set the first 3 joints of your robot to the specified values, and leave the rest with their default value. ### In your Python Code ``` from urdf2webots.importer import convert2urdf convert2urdf('MY_PATH/MY_URDF.urd') ``` ### In-Depth Tutorial Check out [this tutorial](./docs/tutorial.md) for a more in-depth, step by step instruction, on how to: - Generate a URDF file from a ROS repository. - Convert your URDF file to a Webots PROTO file. - Load your converted model into Webots and make final adjustments. ## Notes This tool have been tested using Webots R2020b on Ubuntu16.04 and Windows. You can find the sources of these URDF files here: - universal robot: https://github.com/ros-industrial/universal_robot/tree/kinetic-devel/ur_description - pr2 robot: https://github.com/PR2/pr2_common/tree/kinetic-devel/pr2_description - motoman robot: https://github.com/ros-industrial/motoman/tree/kinetic-devel/motoman_sia20d_support - kinova robot: https://github.com/Kinovarobotics/kinova-ros/tree/kinetic/kinova_description - gait2392 human skeleton: https://github.com/cyberbotics/urdf2webots/tree/master/tests/sources/gait2392_simbody ## Acknowledgement rosin_logo
Supported by ROSIN - ROS-Industrial Quality-Assured Robot Software Components. More information: rosin-project.eu eu_flag This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement no. 732287.