TinyURDF 1.0.0
A modern C++ library for parsing and visualizing urdf models
|
A modern, fast, cross-platform, C++17 library for parsing and visualizing urdf model files. TinyURDF is designed to represent custom multibody configurations that existing tools do not support, including parallel multibodies or graph-like robots.The library release has no external dependencies. It aims to provide a stable and simple API to load, visualize, and verify robot models, integrate them into larger programs, and offer a lightweight scripting engine. Part of this project was inspired by and refactored from the packages urdfdom and urdfdom_headers packages however, it does not depend on them now.
officiel documenttaion can be found at link. Alternatively, it can be generated automatically during the library build process using cmake, see the build section for more information.
The library parser currently depends heavily on:
These dependencies are fetched and compiled automatically with the global build process, so no separate installation is required.
However, building the rendering interface requires other third-party software, such as the Visualization Toolkit (VTK), which needs to be built separately. See the INSTALL file for more information.
The library has been successfully built and tested on the following platforms with the corresponding dependencies:
Other platforms or compilers have not yet been tested. Please open an issue on GitHub Issues for any suspected bugs, we recommend using Ninja with Microsoft Visual Studio for faster builds.
run the following commands to build the project:
By default, this will use the MSVC compiler on Windows and the default CMake options. To use a different compiler with Ninja, run:
If you prefer not to use Ninja, you can build the project using Unix Makefiles:
These commands will build and install the static/shared library under the lib/
directory and the include files in the include/
directory of the build folder.
[!NOTE]
This build method is typically slower than the Ninja-based build.
#### Build Configuration Options You can customize the build using the following CMake options:
[!NOTE]
For Python bindings build and installation, enable the-DBUILD_PYTHON3
flag, and run the following command from the root of the project:
pip install --user .Note that Python bindings are not currently tested, many bugs exist. Use them at your own risk, or feel free to contribute
TinyURDF will soon be available for installation via vcpkg, Conan, and CMake FetchContent.
The available documentation does not provide extensive examples.
The examples assume that all installation instructions are followed, and the library is successfully installed.
This will print all model data to the standard output without any formatting or adjustments
The script and the result can be found here: example4, demo
The project is actively in progress, and contributions are welcome. see the CONTRIBUTING file for more information. currently, there are no issue or pull request templates,feel free to open issues or submit pull requests with your ideas and fixes.
See the [LICENSE](LICENSE) file for more information.
If you use this repository in your project, please cite it as follows: