master | dev |
---|---|
Give a description...
- ocra
- wocra
- gocra
- hocra (coming soon)
- solvers
- quadprog
- qpoases
(O.C.R.A.) Optimization-based Control for Robotics Applications
(W.O.C.R.A.) Weighted Optimization-based Control for Robotics Applications
(H.O.C.R.A.) Hierarchical Optimization-based Control for Robotics Applications
Ultimately our goal is to implement the most recent convex solvers so we can mix and match control problem formulations with different solver algorithms. Right now we have only implemented a slightly modified version of QuadProg.
This library is a QP (Quadratic Program) based on the QuadProg++ project (http://quadprog.sourceforge.net/) which has been slightly modified. In this version, vector and matrix classes are replaced by Eigen classes, in order to use the same definitions as the ocra libraries.
Exploits the open-source C++ library qpOASES, which is an implementation of the recently proposed online active set strategy, which was inspired by important observations from the field of parametric quadratic programming (QP). It has several theoretical features that make it particularly suited for model predictive control (MPC) applications but also as a QP solver. (ref)
- Boost (
filesystem
) - Eigen 3.2.0 (note: We have issues with later versions of eigen so please do not use the current build - install via apt-get.)
- EigenLgsm
- TinyXML
- YARP
Boost, Eigen 3.2.0 & TinyXML
sudo apt-get install libboost-dev libtinyxml-dev libeigen3-dev
git clone https://github.com/ocra-recipes/eigen_lgsm.git
cd eigen_lgsm
mkdir build
cd build
cmake ..
sudo make install
Please follow the instructions here: http://www.yarp.it/install_yarp_linux.html
WARNING This is an experimental set of libs and there are no guarantees that they will not do damage to your computer. We take no responsibility for what happens if you install them. That being said, if you follow these instructions you should be fine.
Okay that's out of the way... phew!
Install to /usr/local
git clone https://github.com/ocra-recipes/ocra-recipes.git
cd ocra-recipes
mkdir build
cd build
cmake ..
sudo make install
Install to custom location (example: /home/user/Install)
git clone https://github.com/ocra-recipes/ocra-recipes.git
cd ocra-recipes
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=home/user/Install ..
make install
Note: If you do the install this way then you must update your environment variables in your .bashrc
file.
In .bashrc
# ocra-recipes install
export OCRA_INSTALL=/home/user/Install
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${OCRA_INSTALL}/lib
export LIBRARY_PATH=${LIBRARY_PATH}:${OCRA_INSTALL}/lib
export PATH=${PATH}:${OCRA_INSTALL}/bin
- Ubuntu 12.04
- Ubuntu 14.04
- Debian 7
- OS X
In theory any linux distro should work if the dependencies are met and don't conflict with any system libs/headers. If you manage to build, install and use OCRA in any other platform please let us know and we can add it to the list with any helpful notes you provide along with it.
Well now that you have ocra-core
up and running, you probably want to try it out n'est pas? Well mosey on over to the ocra-wbi-plugins repo and follow the instructions.
Want to contribute? Maybe build a plugin or two? Read the Contributing section for details on how to interface with OCRA and use it for world domination.
OCRA_ICUB_ENABLE_RPATH
is OFF
. Change it by configuring ocra-wbi-plugins
as: cmake -DOCRA_ICUB_ENABLE_PATH=ON ./
. Once we're sure this ''always'' works it will be ON
by default. Therefore, if you encounter error messages such as:
dyld library not loaded @rpath/libYarpMath.dylib
Most likely this variable is still OFF
.
Build Settings
of your project, searching for C++ Language Dialect
and changing it to C++11 [-std=c++11]
Give a description...
To build the documentation for orca-recipes
you will need doxygen
. To install doxygen
on linux run sudo apt-get install doxygen
.
In your build/
directory (if you have already run cmake ..
simply run:
make doc
**
If you run this right now you must ignore the latex errors due to the missing .sty
files by just holding down enter
until they are past.
**
HTML and LaTeX files will be generated in the build/docs/
directory. Open the file, index.html
.
###Authors
####current developers
####past developers