{{<figuresrc="/ox-hugo/li01_flexure_hexapod_model.png"caption="<span class=\"figure-number\">Figure 1: </span>A flexure jointed hexapod. {P} is a cartesian coordinate frame located at, and rigidly attached to the payload's center of mass. {B} is the frame attached to the base, and {U} is a universal inertial frame of reference">}}
{{<figuresrc="/ox-hugo/li01_quet_dirty_box.png"caption="<span class=\"figure-number\">Figure 2: </span>(left) Vibration machinery must be isolated from a precision bus. (right) A precision paylaod must be manipulated in the presence of base vibrations and/or exogenous forces.">}}
Since only small movements are considered in flexure jointed hexapod, the Jacobian matrix, which relates changes in the Cartesian pose to changes in the strut lengths, can be considered constant.
Thus a static kinematic decoupling algorithm can be implemented for both vibration isolation and pointed controls on flexible jointed hexapods.
On the other hand, the flexures add some complexity to the hexapod dynamics.
Although the flexure joints do eliminate friction and backlash, they add spring dynamics and severely limit the workspace.
Moreover, base and/or payload vibrations become significant contributors to the motion.
{{<figuresrc="/ox-hugo/li01_stewart_platform.png"caption="<span class=\"figure-number\">Figure 3: </span>Flexure jointed Stewart platform used for analysis and control">}}
where (see Figure [1](#figure--fig:li01-flexure-hexapod-model)) \\(p\_i\\) denotes the payload attachment point of strut \\(i\\), the prescripts denote the frame of reference, and \\(\hat{u}\_i\\) denotes a unit vector along strut \\(i\\).
- \\({}^PM\_x\\) is the 6x6 mass/inertia matrix of the payload, found with respect to the payload frame {P}, whose origin is at the hexapod payload's center of mass
- \\({}^U\_BR\\) is the 6x6 rotation matrix from the base frame {B} to the inertial frame of reference {U} (it consists of two identical 3x3 rotation matrices forming a block diagonal 6x6 matrix).
Similarly, \\({}^B\_PR\\) is the rotation matrix from the payload frame to the base frame, and \\({}^U\_PR = {}^U\_BR {}^B\_PR\\)
- \\(J\\) is the 6x6 Jacobian matrix relating payload cartesian movements to strut length changes
- \\(M\_s\\) is a diagonal 6x6 matrix containing the moving mass of each strut
- \\(l\\) is the 6x1 vector of strut lengths
- \\(B\\) and \\(K\\) are 6x6 diagonal matrices containing the damping and stiffness, respectively, of each strut
- \\(l\_r\\) is the constant vector of relaxed strut lengths
- \\(f\_m\\) is the vector of strut motor force
- \\(J\_c\\) and \\(J\_b\\) are 6x6 Jacobian matrices capturing base motion
- \\(\ddot{q}\_u\\) is a 6x1 vector of base acceleration along each strut
- \\(\mathcal{F}\_r\\) is a vector of payload exogenous generalized forces
- \\(\mathcal{C}\\) is a vector containing all the Coriolis and centripetal terms
- \\(\mathcal{G}\\) is a vector containing all gravity terms
If the hexapod is designed such that the payload mass/inertia matrix written in the base frame (\\(^BM\_x = {}^B\_PR \cdot {}^PM\_x \cdot {}^B\_PR\_T\\)) and \\(J^T J\\) are diagonal, the dynamics from \\(u\_1\\) to \\(y\\) are decoupled (Figure [4](#figure--fig:li01-decoupling-conf)).
{{<figuresrc="/ox-hugo/li01_decoupling_conf.png"caption="<span class=\"figure-number\">Figure 4: </span>Decoupling the dynamics of the Stewart Platform using the Jacobians">}}
{{<figuresrc="/ox-hugo/li01_decoupling_conf_bis.png"caption="<span class=\"figure-number\">Figure 5: </span>Decoupling the dynamics of the Stewart Platform using the Jacobians">}}
1. the payload mass/inertia matrix must be diagonal (the CoM is coincident with the origin of frame \\(\\{P\\}\\))
2. the geometry of the hexapod and the attachment of the payload to the hexapod must be carefully chosen
For instance, if the hexapod has a mutually orthogonal geometry (cubic configuration), the payload's center of mass must coincide with the center of the cube formed by the orthogonal struts.
The system is decoupled into six independent SISO subsystems using the architecture shown in Figure [6](#figure--fig:li01-vibration-isolation-control).
{{<figuresrc="/ox-hugo/li01_vibration_control_plant.png"caption="<span class=\"figure-number\">Figure 7: </span>Plant transfer function of one of the SISO subsystem for Vibration Control">}}
A typical compensator consists of the following elements:
- first order lag-lead filter to provide adequate phase margin a the low frequency crossover
- a second order lag-lead filter to increase the gain between crossovers and provide adequate phase margin at the high frequency crossover
- a second order notch filter to cancel the mode at 150Hz
- a second order low pass filter to provide steep roll-off and gain stabilize the plant at high frequency
- a first order high pass filter to eliminate DC signals
The unity control bandwidth of the isolation loop is designed to be from **5Hz to 50Hz**, so the vibration isolation loop works as a band-pass filter.
<divclass="important">
Despite a reasonably good match between the modeled and the measured transfer functions, the model based decoupling algorithm does not produce the expected decoupling.
Only about 20 dB separation is achieve between the diagonal and off-diagonal responses.
{{<figuresrc="/ox-hugo/li01_transfer_function_angle.png"caption="<span class=\"figure-number\">Figure 9: </span>Experimentally measured plant transfer function of \\(\theta\_x/\theta\_{x\_d}\\)">}}
1.**Closing the vibration isolation loop first**: Design and implement the vibration isolation control first, identify the pointing plant when the isolation loops are closed, then implement the pointing compensators.
2.**Closing the pointing loop first**: Reverse order.
Figure [11](#figure--fig:li01-parallel-control) shows a parallel control structure where \\(G\_1(s)\\) is the dynamics from input force to output strut length.
- Affect the closed loop transmission of the loop first closed (see Figures [12](#figure--fig:li01-closed-loop-pointing) and [13](#figure--fig:li01-closed-loop-vibration))
{{<figuresrc="/ox-hugo/li01_closed_loop_pointing.png"caption="<span class=\"figure-number\">Figure 12: </span>Closed-loop transfer functions \\(\theta\_y/\theta\_{y\_d}\\) of the pointing loop before and after the vibration isolation loop is closed">}}
{{<figuresrc="/ox-hugo/li01_closed_loop_vibration.png"caption="<span class=\"figure-number\">Figure 13: </span>Closed-loop transfer functions of the vibration isolation loop before and after the pointing control loop is closed">}}
From the analysis above, it is hard to say which loop has more significant affect on the other loop, but the isolation loop adds a second resonance peak at its high frequency crossover in the pointing closed loop transfer function, which may cause instability.
Thus, it is recommended to design and implement the isolation control system first, and then identify the pointing plant with the isolation loop closed.
Using the vibration isolation control alone, no attenuation is achieved below 1Hz as shown in figure [15](#figure--fig:li01-vibration-isolation-control-results).
- it provide simultaneous pointing and isolation control
- it can also be used to expand the bandwidth of the isolation control to low frequencies because the pointing loops suppress pointing errors due to both base vibrations and tracking
The results of simultaneous control is shown in Figure [16](#figure--fig:li01-simultaneous-control-results) where the bandwidth of the isolation control is expanded to very low frequency.
### Summary and Conclusion {#summary-and-conclusion}
<divclass="sum">
A parallel control scheme is proposed in this chapters.
This scheme is suitable for simultaneous vibration isolation and pointing control.
Part of this scheme involves closing one loop first, then re-identifying and designing the new control before closed the other loop.
An investigation into the interaction between loops shows that the order of closing loops is not important.
However, only two channels need to be re-designed or adjusted for the pointing loop if the isolation loop is closed first.
Experiments show that this scheme takes advantage of the bandwidths of both pointing and vibration sensors, and provides vibration isolation and pointing controls over a broad band.
The base dynamics is here neglected since the movements of the base are very small.
The base dynamics could be measured by mounting accelerometers at the bottom of each strut or by using force sensors.
It then could be included in the feedforward path.
-**Robust control and MIMO design**
-**New decoupling method**:
The proposed decoupling algorithm do not produce the expected decoupling, despite a reasonably good match between the modeled and the measured transfer functions.
Incomplete decoupling increases the difficulty in designing the controller.
New decoupling methods are needed.
These methods must be static in order to be implemented practically on precision hexapods
-**Identification**:
Many advanced control methods require a more accurate model or identified plant.
A closed-loop identification method is propose to solve some problems with the current identification methods used.
-**Other possible sensors**:
Many sensors can be used to expand the utility of the Stewart platform:
-**3-axis load cells** to investigate the Coriolis and centripetal terms and new decoupling methods
-**LVDT** to provide differential position of the hexapod payload with respect to the base
-**Geophones** to provide payload and base velocity information
<divclass="csl-entry"><aid="citeproc_bib_item_1"></a>Li, Xiaochun. 2001. “Simultaneous, Fault-Tolerant Vibration Isolation and Pointing Control of Flexure Jointed Hexapods.” University of Wyoming.</div>