| /*! |
| |
| \page install_guide Installation |
| - \subpage requirements |
| - \subpage install |
| |
| |
| \page requirements Requirements |
| @tableofcontents |
| This library is written in C++11. It is tested under Ubuntu 14.04 and 16.04 with |
| library versions as provided in the package sources. |
| |
| |
| \section dep Dependencies |
| |
| - C++ compiler with C++11 support (we recommend gcc-5.4.1 or greater or clang-3.5 or greater) |
| - <a href="http://eigen.tuxfamily.org/index.php?title=Main_Page">Eigen 3</a> |
| - <a href="http://wiki.ros.org/catkin">catkin</a> (build system, easy to switch to CMakeLists.txt where needed). We recommend using <a href="http://catkin-tools.readthedocs.io/en/latest/verbs/catkin_build.html">catkin_tools</a> |
| - boost 1.54 or greater (soon optional) |
| - <a href="https://github.com/ethz-asl/kindr">kindr</a>, a kinematics library for robotics, |
| which is required for building ct_rbd. Ideally, clone the newest version into your |
| catkin workspace: |
| \code{.sh} |
| $ git clone https://github.com/ethz-asl/kindr.git |
| \endcode |
| |
| |
| \section opt_dep Optional Dependencies and Bindings |
| The following dependencies and bindings are optional but can help to enhance the functionality or performance of the CT |
| |
| - <a href="http://www.netlib.org/lapack/">lapack</a> (enables Schur method as an alternative to iterative method in ct::optcon::LQR) |
| |
| - <a href="https://clang.llvm.org/">clang</a> compiler (faster compilation for large linear models), install from command-line via |
| \code{.sh} $ sudo apt-get install clang-3.5 \endcode |
| |
| - <a href="http://wiki.ros.org/indigo">ROS Indigo</a> or <a href="http://wiki.ros.org/kinetic">Kinetic</a> (for ROS bindings, visualization and extended examples), see <a href="../../../../ct_ros/ct_ros_nodes/doc/html/index.html">ct_ros_nodes</a>, <a href="../../../../ct_ros/ct_ros_nodes/doc/html/index.html">ct_ros_msgs</a> |
| |
| - <a href="https://projects.coin-or.org/Ipopt">IPOPT</a> or <a href="http://www.sbsi-sol-optimize.com/asp/sol_product_snopt.htm">SNOPT</a> |
| (for ct::optcon::SnoptSolver and ct::optcon::IpoptSolver as used by ct::optcon::DMS) |
| |
| - <a href="https://github.com/giaf/blasfeo/releases/tag/ct-v2">blasfeo</a> linear algebra and <a href="https://github.com/giaf/hpipm/releases/tag/ct-v2">HPIPM solver</a> as |
| alternative high-performance (constrained) linear-quadratic optimal control solver. Check out the *ct-v2* tags. Detailed reference |
| about blasefeo can be found <a href="https://arxiv.org/abs/1704.02457">here</a>. |
| Both packages were developed by <a href="https://www.syscop.de/people/dr-gianluca-frison">Gianluca Frison</a>, <a href="https://www.syscop.de/">University of Freiburg</a>. |
| |
| - <a href="http://qwt.sourceforge.net/">Qwt</a> (for basic plotting) |
| |
| - MATLAB (for Matlab logging) |
| |
| - <a href="http://clang.llvm.org/extra/clang-tidy/">clang-tidy</a>, install via |
| \code{.sh} |
| $ sudo apt-get install clang-tidy-3.9 |
| \endcode |
| |
| - <a href="https://clang.llvm.org/docs/ClangFormat.html">clang-format</a>, install via |
| \code{.sh} |
| $ sudo apt-get install clang-format-3.9 |
| \endcode |
| |
| |
| \page install Compile |
| @tableofcontents |
| |
| \section build_lib Build the library |
| |
| In order to build the library, execute the following commands in your terminal |
| \code{.sh} |
| cd catkin_ws/src |
| git clone https://github.com/ethz-asl/kindr.git |
| git clone https://bitbucket.org/adrlab/ct.git |
| catkin build -DCMAKE_BUILD_TYPE=RELEASE |
| \endcode |
| |
| The following additional build flags are available, which can be appended to the build command above |
| |
| Build Flag | Default value | Description |
| ------------- | ------------- | ------------ |
| -DBUILD_EXAMPLES=\<BOOL> | FALSE | Builds examples for all packages |
| -DBUILD_HYQ_FULL=\<FALSE> | FALSE | Build HyQ examples and executables (warning: slow with GCC!) |
| -DUSE_CLANG=\<BOOL> | FALSE | Use CLANG instead of the default compiler |
| -DCLANG_CXX_COMPILER=\<clang-bin> | "/usr/bin/clang++-3.5" | Set clang C++ compiler binary |
| -DCLANG_C_COMPILER=\<clang-bin> | "/usr/bin/clang-3.5" | Set clang C compiler binary |
| -DUSE_INTEL=\<BOOL> | FALSE | Use Intel compiler instead of the default compiler |
| -DINTEL_CXX_COMPILER=\<clang-bin> | "/opt/intel/bin/icc" | Set Intel C++ compiler binary |
| -DINTEL_C_COMPILER=\<clang-bin> | "/opt/intel/bin/icpc" | Set Intel C compiler binary |
| -DHPIPM=\<BOOL> | FALSE | Compile with HPIPM support (set $BLASFEO_DIR and $HPIPM_DIR environment variables) |
| |
| |
| |
| \section build_doc Build this Documentation |
| To build the documentation do |
| \code{.sh} |
| catkin build ct_doc -v --make-args doc # build the doc |
| \endcode |
| This will build the documentation and open it in your browser. |
| |
| |
| \section run_tests Run Unit Tests |
| The unit tests are writte as <a href="http://code.google.com/p/googletest/">Google Tests</a>. |
| To run unit tests and verify operation execute |
| \code{.sh} |
| catkin run_tests |
| \endcode |
| |
| */ |