Pictorial representation of using Lie theory to move across the Lie group using the corresponding Lie algebra. The motion in between each point on the Lie group (manifold) can be represented as a motion on the corresponding Lie algebra (tangent surface).
We present SLITHERS (State planner using LIe THEory for RoboticS), a Lie theory based optimization approach for state planning of mobile manipulators. Given the sequence of end effector poses, SLITHERS solves for the joint values incrementally using kinematic constraints found through Lie theory. The joint state values are estimated by solving a constrained optimization problem which yields the sequence of states given the current pose and desired pose. In this study, our contribution is three-folds:
- Firstly, we successfully developed a new state planner given unrestricted motion in high degrees of freedom,
- SLITHERS is generalizable and can be easily adjusted for mobile manipulators of multiple degrees of freedom,
- and lastly SLITHERS guarantees smoothness in the joint states with unified motion between the base and manipulator.
The framework of SLITHERS which takes in a set of desired end effector poses, computes the desired state based off of an objective function, and executes the motion to achieve the desired states.
The lie_theory directory contains the main files and functions for solving inverse kinematics. The main functionality of the repository is located here.
The coppeliasim directory contains the files and scenes to run simulations with the tested robot models. The code for simulations is set up to run open loop by precomputing the states and playing them back.
The coppeliasim directory contains the robot model files (urdf, dae, stl, etc).
The kinematics directory contains the orginal code and inspiration for shifting to the Lie Theory based optimization.
The export_fig directory contains a copy of export_fig for generating figures.
Test paths used for the simulated experiment with the colored axes representing the desired pose of the end effector. The red, blue, and green axes represent the x, y, and z axes, respectively.
The error of the end effector on each of the different paths for both the position and orientation when using a non-holonomic mobile platform and computed by the proposed method. The computed angular and linear velocity for the mobile manipulator with a non-holonomic base using the proposed method. The computed joint states for the robotic manipulator mounted on the non-holonomic base using the proposed method. The error of the end effector on each of the different paths for both the position and orientation when using a holonomic mobile platform and computed by the proposed method. The computed angular and linear velocities for the mobile manipulator with a holonomic base using the proposed method. The forward and translational velocities represent the velocities in the x and y direction with respect to the base frame, respectively. The computed joint states for the robotic manipulator mounted on the holonomic base using the proposed method.| Mobile Base Configuration | Non-holonomic | Holonomic | ||||
|---|---|---|---|---|---|---|
| Trajectories | Vertical Helix | Sine Wave | Horizontal Helix | Vertical Helix | Sine Wave | Horizontal Helix |
| Position RMSE (m) | 0.0415 | 0.0299 | 0.0031 | 0.0472 | 0.0147 | 0.0094 |
| Rotation RMSE (rad) | 0.0214 | 0.0159 | 0.0016 | 0.0199 | 0.2841 | 0.0011 |
| Computation Time (s) | 0.1862 | 0.1092 | 0.1216 | 0.1572 | 0.1075 | 0.1312 |
| Max Forward Velocity (m/s) | 0.8317 | 0.3004 | 3.6881 | 2.0000 | 1.4923 | 0.5514 |
| Max Translation Velocity (m/s) | - | - | - | 0.9933 | 0.9028 | 0.9650 |
| Max Angular Velocity (rad/s) | 2.5299 | 1.7195 | 0.6449 | 3.1416 | 2.4128 | 0.4185 |
| Max Forward Acceleration (m/s$^2$) | 1.1774 | 0.5491 | 1.1238 | 3.4888 | 3.1030 | 1.2341 |
| Max Translation Acceleration (m/s$^2$) | - | - | - | 0.6746 | 0.5749 | 0.4107 |
| Max Ang Accel (rad/s$^2$) | 5.8892 | 4.2186 | 1.2413 | 6.1535 | 5.1969 | 1.0681 |
| Max Forward Jerk (m/s$^3$) | 5.8309 | 1.5568 | 3.4703 | 24.6442 | 15.3703 | 11.4400 |
| Max Translation Jerk (m/s$^3$) | - | - | - | 1.1581 | 0.6296 | 0.3900 |
| Max Angular Jerk (rad/s$^3$) | 23.7865 | 19.4592 | 6.7439 | 36.1791 | 25.6212 | 3.4932 |
| Max Joint Velocity (rad/s) | 1.7848 | 1.8732 | 1.0609 | 6.1663 | 1.2688 | 2.6576 |
| Max Joint Acceleration (rad/s$^2$) | 1.9905 | 2.5079 | 1.1399 | 5.4608 | 1.4042 | 1.8988 |
| Max Joint Jerk (rad/s$^3$) | 10.0259 | 7.9320 | 2.6727 | 9.6929 | 2.7737 | 3.4553 |
Lie theory is useful to model manipulator kinematics and dynamics due to is generic format and wide applications.
A twist,
where
A prismatic joint (
The defined screw coordinates can then be used to compute the forward and inverse kinematics from the fundamentals of Lie theory using the product of exponentials.
In the case of a three dimensional rigid body transformation,
The Lie algebra,
where
The matrix exponential is used to map
where
where













