Template is a template repository for C++ projects. It provides a basic structure for C++ projects, including a CMake build system, a basic directory structure.
cmake >= 3.21
The following binary packages are required: eigen3.
These binary packages can be installed via:
sudo apt-get install libeigen3-devThe following custom packages are required: imc.
These packages need to be obtained from the IRMV Lab.
cmake -B build . -DCMAKE_BUILD_TYPE=Release
cmake --build buildYou can install the provided package directly:
cd build && sudo make installor you can create a Debian package and install it for convenient deployment:
cd build && cpack
sudo dpkg -i template-xxxx.debwe need to install irmv_core, and some setting:
sudo ln -s /usr/local/include/irmv/third_party/plog /usr/local/include/plogc++ usage example can be found at test/test_example.cpp
One can compile own code via:
find_package(template REQUIRED)
add_executable(example example.cpp)
target_link_libraries(example template_interface)We provide a Python interface for the trajectory generator. Users should first install the Python package (Pybind11 are required):
One can get the Pybind11 package via:
git submodule update --init --recursiveThen, users can install the Python package via
Notice that python install must be done after the build and install process, and the term "template" below should be replaced with your own project name
cd build && cmake .. -DCMAKE_BUILD_TYPE=Release -DCOMPILE_template_PYBINDING=ON
make -j$(nproc) && sudo make installpip install .Then, users can use the Python interface according to example/example.py
If you use this code in your research, please cite the us as follows:
@misc{ZHOU2024template
title={{TEMPLATE: IRMV CMAKE Template}},
author={Zhou, Yixuan, and Wang, Hesheng},
year={2024},
url={https://github.com/IRMV-Manipulation-Group/TEMPLATE}
}