Materials and CAD Files

Structural Components

Electronics and Motors

Hardware

Custom Part Files

Tube Materials

Assembly Guides

Custom Part Manufacturing Guide

Full System Assembly

Cart Assembly

Tube Fabrication

Electronics Setup

Electronics Board Setup

Firmware Installation

Wire Management

Full System Test

Kinematics

Calculating Kinematics of a CTR

Implementing Kinematics

Troubleshooting Kinematics

Experiments

Installing Tubes

Homing the Robot

Graph Paper In-Plane Bending Experiment

Out-of-Plane Rotation Experiment

Introduction to Kinematics

An essential element of any type of robotics is kinematics. Kinematics is the branch of physics that deals with the positions, velocities, and accelerations of moving bodies without considering the forces exerted upon them. In robotics, we typically deal with forward kinematics, inverse kinematics, and velocity kinematics. Forward kinematics determines the end effector position of a robot based on the current joint positions. Inverse kinematics determines the required joint values to achieve a specific end effector pose. Velocity kinematics determines the relationship between the joint velocities and the end effector velocities. Here, we will focus on forward kinematics since it is the most straightforward to work with.

Forward Kinematics of an Industrial Robot

Engineers have been calculating the forward kinematics of conventional serial manipulator robots (think the 6 DOF robotics arms that appear in industrial automation) for decades. These robots have clearly defined joints and links. To calculate the transformation matrix from the base frame to the end effector, you must calculate the transformation matrix between each link. There are several methods to define these transformations. The most widely accepted convention uses DH parameters (wiki, video) to define frames and transformations between links. Another method is to use twists to define the transformations and product of exponentials (wiki) to calculate the final transformation.

Forward Kinematics of Concentric Tube Robots

Concentric tube robots are a type of continuum robot, meaning “continuously flexible” robot. These types of robots do not have the same rigid links as a standard industrial robot, and thus the kinematics for these robots are different.

In an industrial robot, forward and inverse kinematics are inverse operations. Forward kinematics relates joint space (motor or actuator positions) to task space (XYZ Cartesian space), and inverse kinematics relates task space to joint space. For continuum manipulators, we have a third intermediary step: arc parameters.

Arc parameters are the values needed to fully describe a constant curvature arc. These are $s$ (arc length), $\phi$ (angle of rotation about the z axis), and $\kappa$ (curvature, or $\frac{1}{r}$).

Webster, 2010. This image shows the relation between actuator space, arc params, and task space for continuum robots.

Webster, 2010. This image shows the relation between actuator space, arc params, and task space for continuum robots.

Most continuum robots can be modeled using a piecewise constant curvature model. This model divides the continuum robot up into several distinct “links” that are each modeled as a constant curvature arc. This model makes a few essential assumptions:

  1. The length of each tube is significantly greater than the diameter. This allows us to model the tubes as beams.
  2. The cross sections of the tubes are identical in the straight sections and the curved sections.
  3. Torsion and shearing effects are negligible.

These assumptions are simplifications of the actual mechanics behind a CTR, and, in more advanced work, you will find that many of these assumptions are not actually true. However, the piecewise constant curvature kinematics model presents a reasonably accurate kinematics model at a fundamental level. Many of the more advanced kinematics techniques are based heavily on this model with some additional modeling considerations.

Since the piecewise constant curvature kinematic model was the first proposed modeling method for CTRs, we will begin our study here. The next few sections contain a summary of the essential equations for the piecewise constant curvature model, but for the full derivation, review this paper.

Piecewise Constant Curvature Model

The first step in the piecewise constant curvature model is to define the several “constant curves,” or arcs. We define transition points, as shown in the image, as a point where either a) one of the tubes in the link switches from a straight section to a curved section or b) a tube terminates. Below, $T_2$ is where tube 2 switches from the straight section to the curved section. $T_3$ is where tube 1 terminates.

Webster 2009

Webster 2009

The section between each transition point ($T_1$ to $T_2$, $T_2$ to $T_3$, etc.) are called our “links.” You will have a maximum of $2n-1$ links, where $n$ is the number of tubes in your robot. In this exact example above, we define our link lengths as:

$$ l_1 = \rho_2-\rho_1\\ l_2=\rho_1+d_1-\rho_2\\ l_3=\rho_3-\rho_1-d_1\\ l_4=\rho_2+d_2-\rho_3\\ l_5=\rho_3+d_3-\rho_2-d_2 $$

where $\rho$ is the linear translation of each tube, and $d$ is the length of the curved section of each tube.

However, this will no longer be true if we, for example, translate tube 2 such that the straight section extends beyond the terminal end of tube 1. For this reason, it becomes more practical to instead calculate the position of each transition point, sort them, and then subtract each previous value from the next.

Next, we need to calculate the curvature from each link to the next. We can use Bernoulli-Euler beam mechanics to derive an equation that represents the combined curvature of two nested tubes:

$$ \kappa = \frac{E_1I_1k_1+E_2I_2k_2}{E_1I_1+E_2I_2} $$

However, this equation only works if the curvatures of the two tubes are aligned in the same plane. If one tube is rotated with respect to the other, we must calculate the link curvature in multiple steps. First we calculate the $x$ and $y$ components of the curvature as shown below. Here $i$ is used to represent each tube that is present in a link.

$$ \chi=\frac{\Sigma_iE_iI_ik_icos(\theta_i)}{\Sigma_iE_iI_i}\\ \gamma=\frac{\Sigma_iE_iI_ik_isin(\theta_i)}{\Sigma_iE_iI_i} $$