Skip to content

Quickstart

Markus Giftthaler edited this page Apr 27, 2019 · 4 revisions

Quick-start - Installation and running an example

System requirements

  • Ubuntu 16.04 or 18.04
  • a compiler with C++14 support, e.g. gcc or clang

Installing dependencies and building the library

  • install ROS, please follow the steps in this tutorial for your Linux distribution.

  • install Eigen 3 via
    sudo apt-get update
    sudo apt-get install libeigen3-dev

  • install boost
    sudo apt-get install libboost-all-dev

  • install a build system of your choice, e.g. catkin_tools
    sudo sh -c 'echo deb http://packages.ros.org/ros/ubuntu lsb_release -scmain > /etc/apt/sources.list.d/ros-latest.list'
    wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
    sudo apt-get update
    sudo apt-get install python-catkin-tools

  • create a catkin workspace and initialize it
    mkdir -p ~/catkin_ws/src
    cd ~/catkin_ws
    catkin init

  • clone the kindr library
    cd ~/catkin_ws/src
    git clone https://github.com/ANYbotics/kindr.git

  • finally, clone the control toolbox and build your workspace
    cd ~/catkin_ws/src
    git clone https://github.com/ethz-adrl/control-toolbox.git
    catkin build -DCMAKE_BUILD_TYPE=Release

Run an example

  • if you would like to run an example, build the library with
    cd ~/catkin_ws
    catkin build -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=true

  • Now, try to run the examples, e.g. the optimal control and optimal filtering examples:
    cd ~/catkin_ws
    source devel/setup.bash
    rosrun ct_optcon ex_NLOC
    which will print some iteration output and finally display the following

    These are trajectories for driving a simple mass-spring-damper system to a goal config, optimized using the iLQR algorithm.

    If you are intersted in state estimation, run rosrun ct_optcon ex_KalmanFiltering As a result, you should see this:

    The plot shows state estimates for a simple mass-spring damper system, where given trajectories are disturbed with white noise.

For more detailed examples, visit the getting started section of the documentation.

Clone this wiki locally