RoboSoft is a python library for forward kinematics (FK) and inverse kinematics (IK) and trajectory planning of soft robot manipulators. Unlike conventional robot manipulators where they are considered rigid, soft robots are flexible in essence. They are composed of several so-called continuous joints that can bend.

Soft robots are mostly pneumatically actuated and made of lightweight materials, thus safer than rigid industrial robots. Also, soft robots are inexpensive to manufacture and highly customizable making them suitable for diverse sets of tasks. There is a wide variation of such robots. The ones considered in RoboSoft consist of one or multiple continuous joints each having a base, a spine (flexible) and a top section.

Since these robots are different than the well-known industrial ones and have flexible components, a different parametrization is needed to describe their kinematics. Once such a set of parameters is defined forward and inverse kinematics can be solved accordingly. If the set of parameters (a.k.a. state variables) is denoted by \vec{q}, the forward kinematics can be imposed as
\vec{f}(\vec{q}) = \vec{r}_e
where \vec{r}_e is the end-effector position. Note that in an FK problem the ultimate goal is to find the position of the end-effector given the input set of parameters. FK routines are fast and determinate. Inverse kinematics is the inverse of FK where the goal is to find a set of state variables that makes the end-effector to reach the given desired position. Thus it can be put mathematically as
\vec{q} = \vec{f}^{-1} (\vec{r}_e)
in which \vec{q} is the unknown to be solved. Often times, this equation has a singular jacobian and subsequently an infinite number of solutions. Below is an example of an IK problem, solved by RoboSoft, for which four of its solutions are shown.

Subsequently, one can consider an optimality criterion to slice through the space of solutions and pick the one that satisfies some aspects of that performance optimality. Below is an IK example with minimizing the required actuator torques as the objective function.

Another capability of RoboSoft is trajectory planning for soft robot manipulators. In trajectory planning problems, the goal is to find an optimum trajectory for joints’ displacements, velocities, accelerations such that the end-effector passes through a series of desired positions in space and time while satisfying some defined constraints. This can be done through interpolation and optimal control methods. Following is an example of trajectory planning.

If you are interested in learning more about RoboSoft and the techniques used to solve the aforementioned problems, feel free to contact me.