wikillm

Paper · 2024-12-04 · cs.RO

Design and Control of an Ultra-Slender Push-Pull Multisection Continuum Manipulator for In-Situ Inspection of Aeroengine

A tendon-driven continuum manipulator with three push-pull sections and nine tendons, for inspecting aeroengine blades through one port. Each section uses a constant-curvature kinematic map, a coordinate rotation decouples the tendon groups, and a PID tension term keeps tendons taut. Author-reported: length-to-diameter ratio up to 62.75; qualitative decoupling and inspection results only.

Piecewise constant curvature (PCC)Teleoperationcontinuum-robottendon-drivenkinematicsdecoupling-controlinspection

arXivPDFMarkdown11 min read

AI-compiled by claude-haiku-5-5 on 2026-10-25, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.

In plain words

Engines such as jet engines are inspected by pushing a camera on a thin, bendy tube through a small hole in the casing. A plain endoscope sags and bends wherever it touches the engine, so it cannot reach every blade stage, and mechanics often have to take the engine apart.

This paper builds a thinner, bendier tube. It has three connected parts, each bent by pulling wires (tendons) that run back to motors. The tube can also be pushed or pulled in length, so it can slide between blade stages. Because the three parts pull on each other's wires, the paper shows how to split the control so that bending one part does not disturb the others. The control runs fast enough on small computers, and an operator steers the tip with a joystick. A prototype with a camera at the tip shows images of blade surfaces on a 3D-printed engine model.

TL;DR

A nine-tendon, three-section continuum manipulator with push-pull length change. Each section is modelled as a circular arc, and the tendon lengths follow from the arc's length, curvature and bending plane §III-B. A coordinate rotation of 40° maps the tendons of the outer sections onto the inner ones, so the three sections can be commanded separately §III-C. A PID term on tendon tension keeps the tendons taut §III-D. Results are a prototype with an overall length-to-diameter ratio of 20 to 62.75 tab. 2 and qualitative decoupling and inspection experiments §IV. No quantitative tracking error is reported.

Problem

  • Industrial endoscopes bend passively on contact, so they cannot traverse several blade stages through one inspection port without disassembling the engine or using several operators §I.
  • Long, flexible, tendon-driven manipulators with more than one section have coupled tendons: the tendons of a distal section pass through the proximal section and change its shape §III-B.
  • Full continuum mechanics (Cosserat, Kirchhoff, Euler-Bernoulli) is accurate but expensive. The paper uses a simplified kinematic model that is valid only in steady state and when external loads, friction and tendon hysteresis are small §III-A.
  • Assumptions stated: piecewise constant curvature per section §III-A; no autonomous planning, because the engine interior is not known in advance, so an operator teleoperates §III-A; tendons are slack under open-loop control and need tension feedback §III-D.
  • Scope: the decoupling is shown only for steady postures; the paper does not analyse dynamics §III-A, §V.

Method

Hardware (Section II)

  • Three sections of Ni-Ti hollow tube backbone, each with spaced resin guide disks §II-B, §II-C, tab. 2. The distal section is the smallest and longest, the proximal the largest tab. 2. Guide disks alternate left- and right-hand springs between them to reduce torsion §II-B.
  • Tendon count per section, from distal to proximal: 3, 6 and 9 §II-B. The tendons of an outer section pass through all guide disks of the inner section §II-B, fig. 3.
  • Each tendon is driven by its own stepper motor (1.5 N·m) with a tension sensor §II-B, §II-C.
  • Backbone actuation uses four pneumatic grippers. Grippers a, b and c clamp the three section backbones. Gripper d sits on a motor-driven ball screw and can clamp in one of three areas, which lets a single backbone be pushed or pulled §II-B, tab. 1, fig. 4. Only the gripper states in tab. 1 are valid §II-B.
  • Gripper clamp pressure is 6 MPa §II-C. A custom camera (1280×720, 30 FPS, 120° view, 10–120 mm depth of field) sits at the tip, with its cables inside the hollow backbone §II-C, fig. 5.

Single-section kinematics (Section III-B)

  • The shape of one section is a planar arc, described by curvature κ, bending plane φ and arc length s. Three tendon lengths (l_1, l_2, l_3) fix these values §III-A, §III-B, fig. 7.
  • Forward map, from tendon lengths to shape, with l_m = √(l_1² + l_2² + l_3² − l_1 l_2 − l_2 l_3 − l_1 l_3) and l_c = l_1 + l_2 + l_3 − 3nh eq. 1.
  • Inverse map, from shape to tendon lengths, with K = 2n·sin(κ(s − nh)/(2n)) eq. 2.
  • Symbols: n is the number of segments between guide disks, d the spacing between tendon and backbone, h the guide disk height §III-B. The paper gives no numeric values for n or d in the active text; tab. 2 gives h = 3 ± 0.1 mm.

Multisection decoupling (Section III-C)

  • Tendon groups: A = L1–L3, B = L4–L6, C = L7–L9 eq. 3, eq. 4, fig. 7d.
  • The total tendon length is the sum of the parts each section contributes: L = L^in + L^mid + L^out. A tendon that does not pass through a section contributes zero length to that section eq. 3.
  • The distal section (in) depends only on group C; its share of groups A and B is obtained by rotating the frame about the backbone axis eq. 4.
  • Rotation rule: g_2(κ, φ, s) = f⁻¹(κ, φ + 40°, s) and g_1(κ, φ, s) = g_2(κ, φ + 40°, s). Arc length and curvature do not change under rotation, so only the plane angle changes §III-C, eq. 4.
  • Full mapping eq. 4:
    • group A = g_1(C_in) + g_2(C_mid) + f⁻¹(C_out);
    • group B = g_2(C_in) + f⁻¹(C_mid);
    • group C = f⁻¹(C_in).
  • Differential form: L̇ = J_multi⁻¹ Ċ, a 9 × 9 block matrix whose entries are the derivatives of g_1, g_2 and J⁻¹ eq. 5. The paper writes J⁻¹ only as a symbol and gives no explicit form.

Closed-loop control (Section III-D, Algorithm 1)

  • Inputs: desired configuration rates Ċ of the three sections, initial tendon lengths L, and tension reference F_ref alg. 1.
  • Each loop iteration runs, in the algorithm's order alg. 1:
    1. Compute the distal configuration from L7–L9 and its passive shares of L1–L6.
    2. Compute the middle configuration from the remaining tendons, then the proximal configuration from what is left.
    3. Compute the kinematic tendon rate L̇_IK = J_multi⁻¹ Ċ.
    4. Compute a PID tension term L̇_c = K_p (F_t − F_ref) + K_i F_i + K_d F_d.
    5. Update the integral and differential terms of the tension error. The update rule is not stated.
    6. Command L̇ = L̇_IK + L̇_c.
  • The loop runs while time t < T and each section's κ and s stay within their ranges alg. 1. The range limits are not given numerically.
Pseudocode
# Closed-loop decoupled tendon velocity  [alg. 1] [eq. 4]
# Input:  c_dot: desired config rates, 3 sections x 3  # (9,)
#         lengths: tendon lengths L1..L9 as a flat array  # (9,)
#         tension: measured tendon tensions F_t  # (9,)
# Output: lengths_dot: tendon velocities  # (9,)

def tendon_velocity(c_dot, lengths, tension, pid):
    # Distal section from its own group C (L7..L9)  [eq. 4]
    c_in = forward(lengths[6:9])
    # Shares that the distal section takes from groups A and B  [eq. 4]
    share_a_in = g1(c_in)
    share_b_in = g2(c_in)
    # Middle section from group B, after removing the distal share  [eq. 4]
    c_mid = forward(lengths[3:6] - share_b_in)
    # Share that the middle section takes from group A  [eq. 4]
    share_a_mid = g2(c_mid)
    # Proximal section from group A, after removing both shares  [eq. 4]
    c_out = forward(lengths[0:3] - share_a_in - share_a_mid)
    # Kinematic tendon rate from the stacked Jacobian  [eq. 5] [alg. 1]
    rate_ik = inverse_jacobian_multi(c_in, c_mid, c_out) @ c_dot
    # Tension error and its PID terms  [alg. 1]
    error = tension - tension_ref
    # Integral and derivative update rules are not stated in the paper
    compensation = (kp * error + ki * pid.integral + kd * pid.derivative)
    # Total command: kinematic rate plus tension compensation  [alg. 1]
    return rate_ik + compensation

Note: the pseudocode follows eq. 4 for the group B indices. alg. 1 lists the same share as L5–L7; see Pitfalls.

Hyperparameters

NameValueWhereNotes
Backbone outer / inner diameter, distal0.90 / 0.56 mmtab. 2Ni-Ti
Backbone outer / inner diameter, middle1.17 / 1.05 mmtab. 2Ni-Ti
Backbone outer / inner diameter, proximal1.44 / 1.32 mmtab. 2Ni-Ti
Backbone length, distal / middle / proximal975 / 678 / 380 mmtab. 2
Backbone mass, distal / middle / proximal1.85 / 1.20 / 1.14 gtab. 2
Guide disk tube hole, distal / middle / proximal1.05 / 1.32 / 1.59 mmtab. 2Resin
Guide disk tendon hole1 ± 0.1 mmtab. 2
Guide disk outer diameter8 ± 0.05 mmtab. 2
Guide disk height h3 ± 0.1 mmtab. 2
Guide disk mass, distal / middle / proximal0.14 / 0.17 / 0.19 gtab. 2
TendonUHMWPE, 0.3 mm, 3 plied yarns, 200 Ndentab. 2
Tendons per section, distal / middle / proximal3 / 6 / 9§II-B
Stepper motor torque1.5 N·m§II-C
Tendon tension in useup to 65 N§II-CStated as the operating limit, not measured
Initial tendon length (test)1125 mm§II-C
Tendon elongation (test)1.408 % at 4 kg§II-COnly one load case
Gripper clamp pressure6 MPa§II-C
Camera1280×720, 30 FPS, 120° view, 10–120 mm DoF§II-C
Manipulator length range l_min / l_max160 / 502 mmtab. 2
Length-to-diameter ratio, whole / sections20 to 62.75tab. 2Intro says 62.5; see Pitfalls
Bending capability, wholeover 180°tab. 2
Bending capability, proximal / middle / distalabout 75° / 75° / 85°tab. 2
Section mass, distal / middle / proximal5.440 / 3.960 / 3.976 gtab. 2Whole: 13.376 g
Section length range, proximal / middle / distal38–162 / 44–158 / 78–182 mmtab. 2
Rotation between tendon groups40°§III-C, eq. 4Counter-clockwise
Angle offsets in inverse map60°, 30°eq. 2
Tendon group spacing, other anglesnot stated
PID gains K_p, K_i, K_dnot statedalg. 1
Reference tension F_refnot statedalg. 1
Segment count n, spacing dnot stated§III-B
Curvature and length rangesnot statedalg. 1
Control periodnot stated

Results

Author-reported. Setup: a prototype with a 3D-printed aeroengine platform and a joystick teleoperation interface on an industrial PC fig. 8. The inspection experiment uses a small simulation platform built from real engine data, not a real engine §I, §IV-B.

SettingMetricBaselineThis paperSource
Length-to-diameter ratioratioprior work 56.3 (cited)up to 62.75 (table), 62.5 (intro)tab. 2 §I
Decoupling testCurvature deviation from expectednonedeviation "at most moments", attributed to tendon slack; trends consistentfig. 9 §IV-A
Decoupling testEnd-effector rotationnoneover 180° in plane after sequential bendingfig. 9b
InspectionBlade image through the tip cameranoneimages of blade surfaces; feasibility onlyfig. 10 §IV-B

No tracking error, control latency, force or repeatability figures are reported. The paper does not compare the controller against any baseline.

Paper vs code

No official code.

Searched: the arXiv abstract and TeX source had no code link, the paper has no project page, and GitHub searches for "push-pull continuum manipulator", "multisection continuum", "aeroengine continuum", and "Yuancan Huang continuum" returned no repository from the authors. A user search for "Weiheng Zhong" found one account with no name, which could not be tied to the authors, so it was not used.

Pitfalls

  • Equation and figure numbers are inferred. The paper's LaTeX has unnumbered section headings and figure floats, so eq. N, fig. N and §-numbers follow source order. Check them against the printed PDF before quoting.
  • Typo in the single-section inputs. The text writes the tendon lengths as (l_1, l_1, l_3); the intended triple is (l_1, l_2, l_3) §III-B.
  • Frame label typo. The frame is written (O_i − X_i Y_i Y_i) §III-B; the intent is X_i Y_i Z_i.
  • Index mismatch in Algorithm 1 vs eq. 4. eq. 4 puts the distal share of group B at tendons 4–6 and the middle section's own group B at 4–6. alg. 1 writes L5^in–L7^in = g_2(C_in) and C_mid = f(L5 − L5^in, …, L7 − L7^in), which uses tendons 5–7. The card's pseudocode follows eq. 4. Confirm with the authors' data before implementing.
  • Length-to-diameter ratio. The intro gives 62.5 §I; tab. 2 gives 62.75 as the maximum (502 / 8 mm). The conclusion says "greater than 60" §V.
  • "Feedforward" is a PID term. The text calls the tension term a feedforward loop §III-D but then uses K_p, K_i, K_d on the tension error inside the command alg. 1. Treat it as feedback on tension.
  • PID details are missing. Gains, the sign convention for F_t − F_ref, the discrete update rules for F_i and F_d, and the sampling period are all unstated alg. 1. Start with small gains and tune on hardware.
  • Jacobian is symbolic. J⁻¹ and J_multi⁻¹ appear in eq. 5 and alg. 1 without an explicit form. An implementer must derive the derivatives of g_1 and g_2 from eq. 1, eq. 2, eq. 4.
  • Tendon angular placement. Only the 40° rotation, the 60° and 30° offsets in eq. 2, and the claim that tendons are spaced evenly are given; the active text does not state the full tendon layout. Fig. 7 is the only source for the angles in the paper.
  • Two-equal-tendon step. The forward map is derived for a posture with two tendons of equal length, then extended by rotation §III-B. The paper does not say how the solver handles postures where this assumption does not hold.
  • Tendon slack and tension limits. The elongation test covers one load (4 kg) on a 1125 mm tendon §II-C. Operating tension of up to 65 N is stated without a measurement §II-C. Permanent backbone deformation and tendon breakage are named as risks, with regular replacement advised §II-C.
  • Calibration by hand. The initial posture is set by constant-force control and manual hand guidance at each power-up §IV. It is not automated.
  • Simplified model. The kinematics hold only in steady state and when external loads and friction are small §III-A. The model omits gravity and tendon hysteresis by assumption §III-A; the measured curvature deviation is attributed to tendon slack §IV-A.
  • Range handling. The control loop exits when a curvature or length leaves its range alg. 1, but the paper does not say what the controller does then.
  • Teleoperation mapping. The joystick-to-Ċ mapping is not described, only that a joystick connected to an industrial PC is used fig. 8.
  • Tension sensor location. Each tendon has a tension-measuring unit §II-B, but the paper does not give its range or accuracy beyond the 65 N limit.

Lineage

  • Builds on: piecewise constant curvature kinematics, see the concept page; the paper cites a review by Webster and Jones for it §III-A.
  • Compared against: the ultra-slender manipulator for aeroengine inspection, cited as [aeroengine2], which the paper says lacks push-pull motion and reaches a length-to-diameter ratio of 56.3 §I. Other aeroengine continuum robots are cited as covering several stages without considering port limits §I.
  • Superseded by: not known from this wiki.

Source and license

Adapted from “Design and Control of an Ultra-Slender Push-Pull Multisection Continuum Manipulator for In-Situ Inspection of Aeroengine” by Weiheng Zhong, Yuancan Huang, Da Hong, Nianfeng Shao (arXiv:2412.03508), used under CC BY 4.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors.