RoboSoft is a Python library designed for forward kinematics (FK), inverse kinematics (IK), and trajectory planning specifically tailored for soft robot manipulators. Unlike their conventional rigid counterparts, soft robots possess inherent flexibility. They are composed of several so-called continuous joints that can bend.
A soft robot manipulator
A conventional manipulator
Soft robots primarily utilize pneumatic actuators and lightweight materials, rendering them safer compared to rigid industrial robots. Moreover, their cost-effective manufacturing and high level of customization make them ideal for a wide range of tasks. RoboSoft encompasses a diverse array of such robots, typically characterized by one or multiple continuous joints, each comprising a base, a flexible spine, and a top section, such as the manipulator below.
A soft robot manipulator composed of three continuous joints
Given the distinctive nature of these robots compared to traditional industrial models, a unique parameterization is essential to describing their kinematics. Once this parameter set, denoted by $\vec{q}$, is established, both FK and IK can be effectively solved. The FK equation can be expressed as
where $\vec{r}_e$ is the end-effector's position. Note that in the FK the ultimate goal is to find the position of the end-effector given the input set of parameters. FK routines are fast and determinate. IK is the inverse of FK where the goal is to find the set of state variables that makes the end-effector reach the given desired position. Thus, it can be mathematically put as
in which $\vec{q}$ is the unknown to be solved. Often times, this equations 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 solution are shown.
Four solutions of an IK example
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.
IK with joints’ torque minimization as the optimality criterion
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, and 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.
Trajectory planning for a soft robot manipulator
Below is a list of my publications on this topic:
Cheong, H., Ebrahimi, M. and Duggan, T., 2021. Optimal design of continuum robots with reachability constraints. IEEE Robotics and Automation Letters, 6(2), pp. 3902-3909.
Cheong, H. and Ebrahimi, M., Autodesk Inc, 2022. Generative design techniques for soft robot manipulators. U.S. Patent Application 17/344,710.
Ebrahimi, M., Cheong, H. and Butscher, A., Autodesk Inc, 2022. Singularity-free kinematic parameterization of soft robot manipulators. U.S. Patent Application 17/319,502.