Skip to content

mindThomas/Kugle-Misc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kugle-Misc

This repository contains code, libraries and other tools built for the Kugle robot project as part of the master thesis work described in Kugle - Modelling and Control of a Ball-balancing Robot, that does not fit in the other repositories, eg. log-processing, periphiral drivers/interfaces, startup scripts etc.

Most importantly this repository includes the real-time test code for the MPC library including obstacle avoidance in MPC_Test.

How to build

mkdir build
cd build
cmake ..
make

ACADO dependency

To build and run the mpc_code_generation executable ACADO is needed. If not already installed, ACADO Toolkit will automatically be downloaded and compiled by running cmake, however ACADO will only be stored in /tmp why it will be removed if the PC is restarted.

Alternatively it is recommended to download, compile and install ACADO manually into your home folder:

cd ~
git clone https://github.com/acado/acado.git -b stable ACADOtoolkit
cd ~/ACADOtoolkit
git checkout b4e28f3131f79cadfd1a001e9fff061f361d3a0f
mkdir build
cmake -DCMAKE_BUILD_TYPE="Release" ..
echo 'source acado_env.sh' >> ~/.bashrc 
source acado_env.sh

Note that a more recent branch from November 2018 has been chosen and used for all tests. The stable branch is not compatible with the MATLAB interface due to a change in the MEX Code generation script related to the info return struct.

MPC simulation

This repository includes tests for the shape-accelerated model predictive controller including obstacle avoidance. The MPC can be simulated (faster than real-time) with a predefined trajectory and visualized with a 2D top-down view. Random obstacles will be generated during simulation. Run the simulation from the build folder after compiling.

./MPC_Test

A video of the C++ MPC simulation is shown in the video here: https://www.youtube.com/watch?v=BJ4jbo7n7VY
Path-following MPC with Obstacle avoidance of random obstacles

About

Code, libraries and other tools built for the Kugle robot project but does not fit in the other repositories, eg. log-processing, periphiral drivers/interfaces, startup scripts etc.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors