diff --git a/cart__pos__ctrl__dynamic_8cpp.html b/cart__pos__ctrl__dynamic_8cpp.html new file mode 100644 index 00000000..c0a23a85 --- /dev/null +++ b/cart__pos__ctrl__dynamic_8cpp.html @@ -0,0 +1,123 @@ + + + + + + + +wbc: tutorials/kuka_iiwa/cart_pos_ctrl_dynamic.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
wbc +
+
+
+ + + + + + + +
+
+
+Functions
+
cart_pos_ctrl_dynamic.cpp File Reference
+
+
+
#include <robot_models/pinocchio/RobotModelPinocchio.hpp>
+#include <solvers/qpoases/QPOasesSolver.hpp>
+#include <scenes/acceleration_tsid/AccelerationSceneTSID.hpp>
+#include <tools/JointIntegrator.hpp>
+#include <controllers/CartesianPosPDController.hpp>
+#include <unistd.h>
+
+ + + +

+Functions

int main ()
 
+

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + +
int main ()
+
+

Acceleration-based example, Cartesian position control of the KUKA iiwa robot (fixed base, no contacts). In the example the following problem is solved:

+\[ + \begin{array}{ccc} + minimize & \| \mathbf{J}\ddot{\mathbf{q}} - \dot{\mathbf{v}}_d + \dot{\mathbf{J}}\dot{\mathbf{q}}\|_2\\ + \mathbf{\ddot{q}},\mathbf{\tau} & & \\ + s.t. & \mathbf{H}\mathbf{\ddot{q}} - \mathbf{\tau} - \mathbf{J}_{c,i}^T\mathbf{f} = -\mathbf{h}, \, \forall i & \\ + & \mathbf{\tau}_m \leq \mathbf{\tau} \leq \mathbf{\tau}_M& \\ + \end{array} + \] +

+

where

+\[ + \dot{\mathbf{v}}_d = \dot{\mathbf{v}}_r + \mathbf{K}_d(\mathbf{v}_r-\mathbf{v}) + \mathbf{K}_p(\mathbf{x}_r-\mathbf{x}) + \] +

+

\(\ddot{\mathbf{q}}\) - Vector of robot joint accelerations
+ \(\dot{\mathbf{v}}_{d}\) - desired spatial acceleration / controller output
+ \(\mathbf{\tau}\) - actuation forces/torques
+ \(\mathbf{J}\) - task Jacobian
+ \(\mathbf{H}\) - Joint space inertia matrix
+ \(\mathbf{h}\) - bias forces/torques
+ \(\mathbf{\tau}_m,\mathbf{\tau}_M\) - Joint force/torque limits
+ \(\mathbf{x}_r, \mathbf{x}\) - Reference pose, actual pose
+ \(\mathbf{v}_r, \mathbf{v}\) - Reference spatial velocity, actual spatial velocity
+ \(\dot{\mathbf{v}}_r\) - Reference spatial acceleration (feed forward)
+ \(\mathbf{K}_p, \mathbf{K}_d\) - Proportional, derivative gain matrix
+

+

The end effector is supposed to follow a sinusoidal trajectory. The solver computes the joint accelerations and forces/torques required to generate the desired spatial accelerations given by the Cartesian controller.

+ +
+
+
+ + + + diff --git a/dir_5d45abd4863d15c2c47de1951180b2a2.html b/dir_5d45abd4863d15c2c47de1951180b2a2.html index 2a4dea35..9e5e29dc 100644 --- a/dir_5d45abd4863d15c2c47de1951180b2a2.html +++ b/dir_5d45abd4863d15c2c47de1951180b2a2.html @@ -57,6 +57,8 @@ + + diff --git a/doxygen_crawl.html b/doxygen_crawl.html index 1395d47b..23b284b3 100644 --- a/doxygen_crawl.html +++ b/doxygen_crawl.html @@ -212,6 +212,7 @@ + diff --git a/files.html b/files.html index e24a5c6a..fc4f9044 100644 --- a/files.html +++ b/files.html @@ -233,10 +233,11 @@ - - - - + + + + + diff --git a/globals.html b/globals.html index 6e0b5cfd..fad55f84 100644 --- a/globals.html +++ b/globals.html @@ -76,7 +76,7 @@

- j -

Files

 cart_pos_ctrl_dynamic.cpp
 
 cart_pos_ctrl_hls.cpp
 
 cart_pos_ctrl_hls_hierarchies.cpp
  tutorials
  kuka_iiwa
  rh5