Intro to Robot Simulation, Part 3: Friction
In this post, we will add 1-dimensional coulomb friction to our simulation. First off, we’re going to need to allow movement in the horizontal direction. Our new state-space system will be a 2-dimensional system subject to both horizontal and vertical forces. $$ \begin{equation} \underbrace{\begin{bmatrix} \dot{x} \\ \dot{z} \\ \ddot{x} \\ \ddot{z} \end{bmatrix}}_{\dot{X}} = \underbrace{\begin{bmatrix} 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix}}_A \underbrace{\begin{bmatrix} x \\ z \\ \dot{x} \\ \dot{z} \end{bmatrix}}_X + \underbrace{\begin{bmatrix} 0 & 0 \\ 0 & 0 \\ \frac{1}{m} & 0 \\ 0 & \frac{1}{m} \end{bmatrix}}_B \underbrace{\begin{bmatrix} f_x \\ f_z \end{bmatrix}}_F + \underbrace{\begin{bmatrix} 0 \\ 0 \\ 0 \\ -9.81 \end{bmatrix}}_G \end{equation} $$ Modeling Friction For 1-dimensional Coulomb friction, our friction force, $f_x$, is related to our vertical force $f_z$ by the following equation. ...