This is an experimental repository for exploring optimization algorithms.
The main algorithm is iterative LQR.
Information about how to setup the dev env (on ubuntu).
sudo apt-get install autoconf automake libtool curl make g++ unzip -y
git clone https://github.com/google/protobuf.git
cd protobuf
git submodule update --init --recursive
./autogen.sh
./configure
make
sudo make install
sudo ldconfig
OpenCV was used in this project as visualization tools.
sudo apt update
sudo apt install libopencv-dev python3-opencv
The iterative LQR algorithm should be most interesting, since it optimizes any cost given a initial trajectory. But Pratically applying this algorithm will require some good search output, which serves as the initialization.
Reference:
- Kinematics model: Bycicle model. Original link was broken, but should be easy to find. The author is Jason Kong.
- LQR: pabbeel's lecture
So the optimizer was able to find a proper trajectory to stay away from the objects.
The result trajectory deviates from initial trajectory, since we do not have attractor to the original traj, which is expected.