A little project to show one use of quaternion, different ways to model a ball on a plate and teach a bit of control theory
A little project to show one use of quaternion, different ways to model
a ball on a plate and teach a bit of control theory.
The notation used in this project is
q = [q0, q1, q2, q3] = [q0, qv]
where
q0 = cos(\theta/2)
qv = sin(\theta/2)e
with e the axis of rotation (with a unit norm)
Will soon be described on the draft of my website.
Clone this repository
Make sure you have all the required python and Ubuntu packages then run:python3 main.py
Ball plate dynamics equation: Not started
Adding C\Cpp externals for faster computation: Not started
Tests: On going
The first four are contained in the Anaconda Python 3.5 distribution.
The last one can be obtained by using pip:pip install numpy PyOpenGL PyOpenGL_accelerate
sudo apt-get install build-essential libgl1-mesa-dev libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev
sudo apt-get install python3-pyqt4