Rework multi sensor control
This commit is contained in:
parent
5deb60043a
commit
d02e8f8034
436
nass-control.org
436
nass-control.org
@ -103,6 +103,27 @@ Discussion about:
|
|||||||
- *Control optimization*
|
- *Control optimization*
|
||||||
|
|
||||||
** Unused
|
** Unused
|
||||||
|
*** Table with multi sensor control
|
||||||
|
|
||||||
|
#+name: tab:detail_control_sensor_review
|
||||||
|
#+caption: Review of Stewart platforms integrating multiple sensors
|
||||||
|
#+attr_latex: :environment tabularx :width 0.9\linewidth :align Xcccc
|
||||||
|
#+attr_latex: :center t :booktabs t :font \scriptsize
|
||||||
|
| | *Actuators* | *Sensors* | *Control* | Main Object | *Reference* |
|
||||||
|
|---+------------------+---------------------------------------------------+---------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| X | Magnetostrictive | Force (collocated), Accelerometers | Two layers: Decentralized IFF, Robust Adaptive Control | Two layer control for active damping and vibration isolation | [[cite:&geng95_intel_contr_system_multip_degree]] |
|
||||||
|
| X | Voice Coil | Accelerometer (collocated), ext. Rx/Ry sensors | Cartesian acceleration feedback (isolation) + 2DoF pointing control (external sensor) | Decoupling, both vibration + pointing control | [[cite:&li01_simul_vibrat_isolat_point_contr]] |
|
||||||
|
| | Voice Coil | Geophone + Eddy Current (Struts, collocated) | Decentralized (Sky Hook) + Centralized (modal) Control | | [[cite:&pu11_six_degree_of_freed_activ]] |
|
||||||
|
| X | Piezoelectric | Force Sensor + Accelerometer | HAC-LAC (IFF + FxLMS) | Dynamic Model + Vibration Control | [[cite:&wang16_inves_activ_vibrat_isolat_stewar]] |
|
||||||
|
| X | Voice Coil | Force sensors (strus) + accelerometer (cartesian) | Decentralized Force Feedback + Centralized H2 control based on accelerometers | | [[cite:&xie17_model_contr_hybrid_passiv_activ]] |
|
||||||
|
|---+------------------+---------------------------------------------------+---------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| X | Voice Coil | Force (HF) and Inertial (LF) | *Sensor Fusion*, *Two Sensor Control* | | [[cite:&tjepkema12_activ_ph;&tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip]] |
|
||||||
|
| X | Voice Coil | Force (HF) and Inertial (LF) | *Sensor Fusion*, LQG, Decentralized | Combine force/inertial sensors. Comparison of force sensor and inertial sensors. Issue on non-minimum phase zero | [[cite:&hauge04_sensor_contr_space_based_six]] |
|
||||||
|
| X | Voice Coil | Force, LVDT, Geophones | *two sensor control* LQG, Force + geophones for vibration, LVDT for pointing | Centralized control is no better than decentralized. Geophone + Force MISO control is good | cite:&thayer98_stewar;&thayer02_six_axis_vibrat_isolat_system |
|
||||||
|
|---+------------------+---------------------------------------------------+---------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| X | Piezoelectric | Force, Position | Vibration isolation, Model-Based, Modal control: 6x PI controllers | Stiffness of flexible joints is compensated using feedback, then the system is decoupled in the modal space | [[cite:&yang19_dynam_model_decoup_contr_flexib]] |
|
||||||
|
| | Voice Coil | Force | IFF, centralized (decouple) + decentralized (coupled) | Specific geometry: decoupled force plant. Better perf with centralized IFF | [[cite:&mcinroy99_dynam;&mcinroy99_precis_fault_toler_point_using_stewar_platf;&mcinroy00_desig_contr_flexur_joint_hexap]] |
|
||||||
|
|
||||||
*** "Closed-Loop" complementary filters
|
*** "Closed-Loop" complementary filters
|
||||||
<<ssec:detail_control_closed_loop_complementary_filters>>
|
<<ssec:detail_control_closed_loop_complementary_filters>>
|
||||||
|
|
||||||
@ -822,12 +843,16 @@ CLOSED: [2025-04-05 Sat 17:43]
|
|||||||
|
|
||||||
Could be due to symmetry in the system.
|
Could be due to symmetry in the system.
|
||||||
|
|
||||||
** TODO [#B] Rename figures/sections/equations to have more clear separation between the three sections
|
** DONE [#B] Rename figures/sections/equations to have more clear separation between the three sections
|
||||||
|
CLOSED: [2025-04-08 Tue 10:46]
|
||||||
|
|
||||||
Prefixes:
|
Prefixes:
|
||||||
- =detail_control_sensor_fusion=
|
- =detail_control_sensor=
|
||||||
- =detail_control_decoupling=
|
- =detail_control_decoupling=
|
||||||
- =detail_control_??=
|
- =detail_control_cf=
|
||||||
|
|
||||||
|
** TODO [#A] Finish writing "multiple sensor" control section
|
||||||
|
SCHEDULED: <2025-04-08 Tue>
|
||||||
|
|
||||||
** TODO [#B] Review of control for Stewart platforms?
|
** TODO [#B] Review of control for Stewart platforms?
|
||||||
|
|
||||||
@ -866,35 +891,14 @@ Several considerations:
|
|||||||
# [[file:~/Cloud/research/papers/dehaeze21_desig_compl_filte/journal/dehaeze21_desig_compl_filte.org][file:~/Cloud/research/papers/dehaeze21_desig_compl_filte/journal/dehaeze21_desig_compl_filte.org]]
|
# [[file:~/Cloud/research/papers/dehaeze21_desig_compl_filte/journal/dehaeze21_desig_compl_filte.org][file:~/Cloud/research/papers/dehaeze21_desig_compl_filte/journal/dehaeze21_desig_compl_filte.org]]
|
||||||
# [[file:~/Cloud/research/papers/dehaeze20_optim_robus_compl_filte/matlab/dehaeze22_optim_robus_compl_filte_matlab.org]]
|
# [[file:~/Cloud/research/papers/dehaeze20_optim_robus_compl_filte/matlab/dehaeze22_optim_robus_compl_filte_matlab.org]]
|
||||||
|
|
||||||
** TODO Introduction :ignore:
|
** Introduction :ignore:
|
||||||
|
|
||||||
*Look at what was done in the introduction [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A0-nass-introduction/nass-introduction.org::*Stewart platforms: Control architecture][Stewart platforms: Control architecture]]*
|
As was shown during the literature review of Stewart platforms, there is a large diversity of designs and included sensors and actuators.
|
||||||
|
Depending on the control objectives, which may include active damping, vibration isolation, or precise positioning, different sensor configurations are implemented.
|
||||||
|
The specific selection of the sensors, whether inertial sensors, force sensors, or relative position sensors, is heavily influenced by the control requirements of the system.
|
||||||
|
|
||||||
Different control objectives:
|
In cases where multiple control objectives must be achieved simultaneously, as is the case for the Nano Active Stabilization System (NASS) where the Stewart platform must both position the sample and provide isolation from micro-station vibrations, combining multiple sensors within the control architecture has been demonstrated to yield significant performance benefits.
|
||||||
- Vibration Control
|
From the literature, three principal approaches for combining sensors have been identified: High Authority Control-Low Authority Control (HAC-LAC), sensor fusion, and two-sensor control architectures.
|
||||||
- Position Control
|
|
||||||
|
|
||||||
Sometimes, the two objectives are simultaneous, as is the case for the NASS, in that case it is usually beneficial to combine multiple sensors in the control architecture.
|
|
||||||
|
|
||||||
Explain why multiple sensors are sometimes beneficial:
|
|
||||||
- collocated sensor that guarantee stability, but is still useful to damp modes outside the bandwidth of the controller using sensor measuring the performance objective
|
|
||||||
- Noise optimization
|
|
||||||
|
|
||||||
Several architectures (Figure ref:fig:detail_control_control_multiple_sensors):
|
|
||||||
- HAC-LAC (Figure ref:fig:detail_control_sensor_arch_hac_lac)
|
|
||||||
[[cite:&geng95_intel_contr_system_multip_degree;&preumont18_vibrat_contr_activ_struc_fourt_edition;&wang16_inves_activ_vibrat_isolat_stewar;&li01_simul_vibrat_isolat_point_contr;&pu11_six_degree_of_freed_activ;&xie17_model_contr_hybrid_passiv_activ]]
|
|
||||||
- Sensor Fusion (Figure ref:fig:detail_control_sensor_arch_sensor_fusion)
|
|
||||||
[[cite:&tjepkema12_activ_ph;&tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip;&hauge04_sensor_contr_space_based_six]]
|
|
||||||
- Two Sensor control (Figure ref:fig:detail_control_sensor_arch_two_sensor_control)
|
|
||||||
[[cite:&hauge04_sensor_contr_space_based_six;&tjepkema12_activ_ph;&beijen14_two_sensor_contr_activ_vibrat;&yong16_high_speed_vertic_posit_stage]]
|
|
||||||
|
|
||||||
- [ ] Explain basic idea for three strategies:
|
|
||||||
- HAC-LAC: sequential control.
|
|
||||||
- Sensor Fusion: use different sensors in different frequency regions for different reasons: noise, robustness, ...
|
|
||||||
- Two sensor control: idea is to have the maximum control on how both sensors are utilized. Theoretically, this could give the best performances (as sensor fusion is a special case of two sensor control).
|
|
||||||
But it may be more complex to tune and analyze.
|
|
||||||
|
|
||||||
Comparison between "two sensor control" and "sensor fusion" is given in [[cite:&beijen14_two_sensor_contr_activ_vibrat]].
|
|
||||||
|
|
||||||
#+begin_src latex :file detail_control_sensor_arch_hac_lac.pdf
|
#+begin_src latex :file detail_control_sensor_arch_hac_lac.pdf
|
||||||
\begin{tikzpicture}
|
\begin{tikzpicture}
|
||||||
@ -996,13 +1000,13 @@ Comparison between "two sensor control" and "sensor fusion" is given in [[cite:&
|
|||||||
#+caption: Different control strategies when using multiple sensors. High Authority Control / Low Authority Control (\subref{fig:detail_control_sensor_arch_hac_lac}). Sensor Fusion (\subref{fig:detail_control_sensor_arch_sensor_fusion}). Two-Sensor Control (\subref{fig:detail_control_sensor_arch_two_sensor_control})
|
#+caption: Different control strategies when using multiple sensors. High Authority Control / Low Authority Control (\subref{fig:detail_control_sensor_arch_hac_lac}). Sensor Fusion (\subref{fig:detail_control_sensor_arch_sensor_fusion}). Two-Sensor Control (\subref{fig:detail_control_sensor_arch_two_sensor_control})
|
||||||
#+attr_latex: :options [htbp]
|
#+attr_latex: :options [htbp]
|
||||||
#+begin_figure
|
#+begin_figure
|
||||||
#+attr_latex: :caption \subcaption{\label{fig:detail_control_sensor_arch_hac_lac} HAC-LAC}
|
#+attr_latex: :caption \subcaption{\label{fig:detail_control_sensor_arch_hac_lac}HAC LAC}
|
||||||
#+attr_latex: :options {0.48\textwidth}
|
#+attr_latex: :options {0.48\textwidth}
|
||||||
#+begin_subfigure
|
#+begin_subfigure
|
||||||
#+attr_latex: :scale 1
|
#+attr_latex: :scale 1
|
||||||
[[file:figs/detail_control_sensor_arch_hac_lac.png]]
|
[[file:figs/detail_control_sensor_arch_hac_lac.png]]
|
||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
#+attr_latex: :caption \subcaption{\label{fig:detail_control_sensor_arch_two_sensor_control} Two Sensor Control}
|
#+attr_latex: :caption \subcaption{\label{fig:detail_control_sensor_arch_two_sensor_control}Two Sensor Control}
|
||||||
#+attr_latex: :options {0.48\textwidth}
|
#+attr_latex: :options {0.48\textwidth}
|
||||||
#+begin_subfigure
|
#+begin_subfigure
|
||||||
#+attr_latex: :scale 1
|
#+attr_latex: :scale 1
|
||||||
@ -1010,7 +1014,7 @@ Comparison between "two sensor control" and "sensor fusion" is given in [[cite:&
|
|||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
|
|
||||||
\bigskip
|
\bigskip
|
||||||
#+attr_latex: :caption \subcaption{\label{fig:detail_control_sensor_arch_sensor_fusion} Sensor Fusion}
|
#+attr_latex: :caption \subcaption{\label{fig:detail_control_sensor_arch_sensor_fusion}Sensor Fusion}
|
||||||
#+attr_latex: :options {0.95\textwidth}
|
#+attr_latex: :options {0.95\textwidth}
|
||||||
#+begin_subfigure
|
#+begin_subfigure
|
||||||
#+attr_latex: :scale 1
|
#+attr_latex: :scale 1
|
||||||
@ -1018,86 +1022,87 @@ Comparison between "two sensor control" and "sensor fusion" is given in [[cite:&
|
|||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
#+end_figure
|
#+end_figure
|
||||||
|
|
||||||
The use of multiple sensors have already been used for the Stewart platform.
|
The HAC-LAC approach, used during the conceptual phase, represents a dual-loop control strategy where two control loops utilize different sensors for different purposes (Figure ref:fig:detail_control_sensor_arch_hac_lac).
|
||||||
Table ref:tab:detail_control_sensor_review
|
In [[cite:&li01_simul_vibrat_isolat_point_contr]], vibration isolation is provided by accelerometers collocated with the voice coil actuators, while external rotational sensors are utilized to achieve pointing control.
|
||||||
|
In [[cite:&geng95_intel_contr_system_multip_degree]], force sensors collocated with the magnetostrictive actuators are used for active damping using decentralized IFF, and subsequently accelerometers are employed for adaptive vibration isolation.
|
||||||
|
Similarly, in [[cite:&wang16_inves_activ_vibrat_isolat_stewar]], piezoelectric actuators with collocated force sensors are used in a decentralized manner to provide active damping while accelerometers are implemented in an adaptive feedback loop to suppress periodic vibrations.
|
||||||
|
In [[cite:&xie17_model_contr_hybrid_passiv_activ]], force sensors are integrated in the struts for decentralized force feedback while accelerometers fixed to the top platform are employed for centralized control.
|
||||||
|
|
||||||
#+name: tab:detail_control_sensor_review
|
Sensor fusion, the second approach (illustrated in Figure ref:fig:detail_control_sensor_arch_sensor_fusion), involves filtering signals from two sensors using complementary filters[fn:detail_control_1] that are subsequently summed to obtain an improved sensor signal.
|
||||||
#+caption: Review of Stewart platforms integrating multiple sensors
|
In [[cite:&hauge04_sensor_contr_space_based_six]], geophones (used at low frequency) are merged with force sensors (used at high frequency).
|
||||||
#+attr_latex: :environment tabularx :width 0.9\linewidth :align Xcccc
|
It is demonstrated that combining both sensors using sensor fusion can improve performance compared to using the individual sensors independently.
|
||||||
#+attr_latex: :center t :booktabs t :font \scriptsize
|
In [[cite:&tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip]], sensor fusion architecture is implemented with an accelerometer and a force sensor.
|
||||||
| *Actuators* | *Sensors* | *Control* | Main Object | *Reference* |
|
This implementation is shown to simultaneously achieve high damping of structural modes (through the force sensors) while maintaining very low vibration transmissibility (through the accelerometers).
|
||||||
|------------------+---------------------------------------------------+---------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------|
|
|
||||||
| Magnetostrictive | Force (collocated), Accelerometers | Two layers: Decentralized IFF, Robust Adaptive Control | Two layer control for active damping and vibration isolation | [[cite:&geng95_intel_contr_system_multip_degree]] |
|
|
||||||
| Piezoelectric | Force Sensor + Accelerometer | HAC-LAC (IFF + FxLMS) | Dynamic Model + Vibration Control | [[cite:&wang16_inves_activ_vibrat_isolat_stewar]] |
|
|
||||||
| Voice Coil | Accelerometer (collocated), ext. Rx/Ry sensors | Cartesian acceleration feedback (isolation) + 2DoF pointing control (external sensor) | Decoupling, both vibration + pointing control | [[cite:&li01_simul_vibrat_isolat_point_contr]] |
|
|
||||||
| Voice Coil | Geophone + Eddy Current (Struts, collocated) | Decentralized (Sky Hook) + Centralized (modal) Control | | [[cite:&pu11_six_degree_of_freed_activ]] |
|
|
||||||
| Voice Coil | Force sensors (strus) + accelerometer (cartesian) | Decentralized Force Feedback + Centralized H2 control based on accelerometers | | [[cite:&xie17_model_contr_hybrid_passiv_activ]] |
|
|
||||||
|------------------+---------------------------------------------------+---------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------|
|
|
||||||
| Voice Coil | Force (HF) and Inertial (LF) | *Sensor Fusion*, *Two Sensor Control* | | [[cite:&tjepkema12_activ_ph;&tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip]] |
|
|
||||||
| Voice Coil | Force (HF) and Inertial (LF) | *Sensor Fusion*, LQG, Decentralized | Combine force/inertial sensors. Comparison of force sensor and inertial sensors. Issue on non-minimum phase zero | [[cite:&hauge04_sensor_contr_space_based_six]] |
|
|
||||||
|------------------+---------------------------------------------------+---------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------|
|
|
||||||
| Piezoelectric | Force, Position | Vibration isolation, Model-Based, Modal control: 6x PI controllers | Stiffness of flexible joints is compensated using feedback, then the system is decoupled in the modal space | [[cite:&yang19_dynam_model_decoup_contr_flexib]] |
|
|
||||||
| Voice Coil | Force, LVDT, Geophones | LQG, Force + geophones for vibration, LVDT for pointing | Centralized control is no better than decentralized. Geophone + Force MISO control is good | cite:&thayer98_stewar;&thayer02_six_axis_vibrat_isolat_system |
|
|
||||||
| Voice Coil | Force | IFF, centralized (decouple) + decentralized (coupled) | Specific geometry: decoupled force plant. Better perf with centralized IFF | [[cite:&mcinroy99_dynam;&mcinroy99_precis_fault_toler_point_using_stewar_platf;&mcinroy00_desig_contr_flexur_joint_hexap]] |
|
|
||||||
|
|
||||||
|
In [[cite:&beijen14_two_sensor_contr_activ_vibrat]], the performance of sensor fusion is compared with the more general case of "two-sensor control" (illustrated in Figure ref:fig:detail_control_sensor_arch_two_sensor_control).
|
||||||
|
It is highlighted that "two-sensor control" provides greater control freedom, potentially enhancing performance.
|
||||||
|
In [[cite:&thayer02_six_axis_vibrat_isolat_system]], the use of force sensors and geophones is compared for vibration isolation purposes.
|
||||||
|
Geophones are shown to provide better isolation performance than load cells but suffer from poor robustness.
|
||||||
|
Conversely, the controller based on force sensors exhibited inferior performance (due to the presence of a pair of low frequency zeros), but demonstrated better robustness properties.
|
||||||
|
A "two-sensor control" approach was proven to perform better than controllers based on individual sensors while maintaining better robustness.
|
||||||
|
A Linear Quadratic Regulator (LQG) was employed to optimize the two-input/one-output controller.
|
||||||
|
|
||||||
Cascaded control / HAC-LAC Architecture was already discussed during the conceptual phase.
|
Beyond these three main approaches, other control architectures have been proposed for different purposes.
|
||||||
This is a very comprehensive approach that proved to give good performances.
|
In [[cite:&yang19_dynam_model_decoup_contr_flexib]], a first control loop utilizes force sensors and relative motion sensors to compensate for parasitic stiffness of the flexible joints.
|
||||||
|
Subsequently, the system is decoupled in the modal space (facilitated by the removal of parasitic stiffness) and accelerometers are employed for vibration isolation.
|
||||||
|
|
||||||
On the other hand of the spectrum, the two sensor approach yields to more control design freedom.
|
The HAC-LAC architecture was previously investigated during the conceptual phase and successfully implemented to validate the NASS concept, demonstrating excellent performance.
|
||||||
But it is also more complex.
|
At the other end of the spectrum, the two-sensor approach yields greater control design freedom but introduces increased complexity in tuning, and thus was not pursued in this study.
|
||||||
|
This work instead focuses on sensor fusion, which represents a promising middle ground between the proven HAC-LAC approach and the more complex two-sensor control strategy.
|
||||||
|
|
||||||
In this section, we wish to study if sensor fusion can be an option for multi-sensor control:
|
A review of sensor fusion is first presented (Section ref:ssec:detail_control_sensor_review), followed by an examination of the fundamental theoretical concepts (Section ref:ssec:detail_control_sensor_fusion_requirements).
|
||||||
- may be used to optimize the noise characteristics
|
In this section, both the robustness of the fusion and the noise characteristics of the resulting "super sensor" are derived and expressed as functions of the complementary filters' norms.
|
||||||
- optimize the dynamical uncertainty
|
A synthesis method for designing complementary filters that allow to shape their norms is proposed (Section ref:ssec:detail_control_sensor_hinf_method).
|
||||||
|
The investigation is then extended beyond the conventional two-sensor scenario, demonstrating how the proposed complementary filter synthesis can be generalized for applications requiring the fusion of three or more sensors (Section ref:ssec:detail_control_sensor_hinf_three_comp_filters).
|
||||||
|
|
||||||
** Sensor fusion - Introduction
|
** Review of Sensor Fusion
|
||||||
|
<<ssec:detail_control_sensor_review>>
|
||||||
|
|
||||||
Measuring a physical quantity using sensors is always subject to several limitations.
|
Measuring a physical quantity using sensors is always subject to several limitations.
|
||||||
First, the accuracy of the measurement is affected by several noise sources, such as electrical noise of the conditioning electronics being used.
|
First, the accuracy of the measurement is affected by various noise sources, such as electrical noise from the conditioning electronics.
|
||||||
Second, the frequency range in which the measurement is relevant is bounded by the bandwidth of the sensor.
|
Second, the frequency range in which the measurement is relevant is bounded by the bandwidth of the sensor.
|
||||||
One way to overcome these limitations is to combine several sensors using a technique called "sensor fusion" [[cite:&bendat57_optim_filter_indep_measur_two]].
|
One way to overcome these limitations is to combine several sensors using a technique called "sensor fusion" [[cite:&bendat57_optim_filter_indep_measur_two]].
|
||||||
Fortunately, a wide variety of sensors exists, each with different characteristics.
|
Fortunately, a wide variety of sensors exists, each with different characteristics.
|
||||||
By carefully choosing the fused sensors, a so called "super sensor" is obtained that can combines benefits of the individual sensors.
|
By carefully selecting the sensors to be fused, a "super sensor" is obtained that combines the benefits of the individual sensors.
|
||||||
|
|
||||||
In some situations, sensor fusion is used to increase the bandwidth of the measurement [[cite:&shaw90_bandw_enhan_posit_measur_using_measur_accel;&zimmermann92_high_bandw_orien_measur_contr;&min15_compl_filter_desig_angle_estim]].
|
In some applications, sensor fusion is employed to increase measurement bandwidth [[cite:&shaw90_bandw_enhan_posit_measur_using_measur_accel;&zimmermann92_high_bandw_orien_measur_contr;&min15_compl_filter_desig_angle_estim]].
|
||||||
For instance, in [[cite:&shaw90_bandw_enhan_posit_measur_using_measur_accel]] the bandwidth of a position sensor is increased by fusing it with an accelerometer providing the high frequency motion information.
|
For instance, in [[cite:&shaw90_bandw_enhan_posit_measur_using_measur_accel]], the bandwidth of a position sensor is extended by fusing it with an accelerometer that provides high-frequency motion information.
|
||||||
For other applications, sensor fusion is used to obtain an estimate of the measured quantity with lower noise [[cite:&hua05_low_ligo;&hua04_polyp_fir_compl_filter_contr_system;&plummer06_optim_compl_filter_their_applic_motion_measur;&robert12_introd_random_signal_applied_kalman]].
|
In other applications, sensor fusion is utilized to obtain an estimate of the measured quantity with reduced noise [[cite:&hua05_low_ligo;&hua04_polyp_fir_compl_filter_contr_system;&plummer06_optim_compl_filter_their_applic_motion_measur;&robert12_introd_random_signal_applied_kalman]].
|
||||||
More recently, the fusion of sensors measuring different physical quantities has been proposed to obtain interesting properties for control [[cite:&collette15_sensor_fusion_method_high_perfor;&yong16_high_speed_vertic_posit_stage]].
|
More recently, the fusion of sensors measuring different physical quantities has been proposed to enhance control properties [[cite:&collette15_sensor_fusion_method_high_perfor;&yong16_high_speed_vertic_posit_stage]].
|
||||||
In [[cite:&collette15_sensor_fusion_method_high_perfor]], an inertial sensor used for active vibration isolation is fused with a sensor collocated with the actuator for improving the stability margins of the feedback controller.
|
In [[cite:&collette15_sensor_fusion_method_high_perfor]], an inertial sensor used for active vibration isolation is fused with a sensor collocated with the actuator to improve the stability margins of the feedback controller.
|
||||||
|
|
||||||
Practical applications of sensor fusion are numerous.
|
On top of Stewart platforms, practical applications of sensor fusion are numerous.
|
||||||
It is widely used for the attitude estimation of several autonomous vehicles such as unmanned aerial vehicle [[cite:&baerveldt97_low_cost_low_weigh_attit;&corke04_inert_visual_sensin_system_small_auton_helic;&jensen13_basic_uas]] and underwater vehicles [[cite:&pascoal99_navig_system_desig_using_time;&batista10_optim_posit_veloc_navig_filter_auton_vehic]].
|
It is widely implemented for attitude estimation in autonomous vehicles such as unmanned aerial vehicles [[cite:&baerveldt97_low_cost_low_weigh_attit;&corke04_inert_visual_sensin_system_small_auton_helic;&jensen13_basic_uas]] and underwater vehicles [[cite:&pascoal99_navig_system_desig_using_time;&batista10_optim_posit_veloc_navig_filter_auton_vehic]].
|
||||||
Naturally, it is of great benefits for high performance positioning control as shown in [[cite:&shaw90_bandw_enhan_posit_measur_using_measur_accel;&zimmermann92_high_bandw_orien_measur_contr;&min15_compl_filter_desig_angle_estim;&yong16_high_speed_vertic_posit_stage]].
|
Sensor fusion offers significant benefits for high-performance positioning control as demonstrated in [[cite:&shaw90_bandw_enhan_posit_measur_using_measur_accel;&zimmermann92_high_bandw_orien_measur_contr;&min15_compl_filter_desig_angle_estim;&yong16_high_speed_vertic_posit_stage]].
|
||||||
Sensor fusion was also shown to be a key technology to improve the performance of active vibration isolation systems [[cite:&tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip]].
|
It has also been identified as a key technology for improving the performance of active vibration isolation systems [[cite:&tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip]].
|
||||||
Emblematic examples are the isolation stages of gravitational wave detectors [[cite:&collette15_sensor_fusion_method_high_perfor;&heijningen18_low]] such as the ones used at the LIGO [[cite:&hua05_low_ligo;&hua04_polyp_fir_compl_filter_contr_system]] and at the Virgo [[cite:&lucia18_low_frequen_optim_perfor_advan]].
|
Emblematic examples include the isolation stages of gravitational wave detectors [[cite:&collette15_sensor_fusion_method_high_perfor;&heijningen18_low]] such as those employed at LIGO [[cite:&hua05_low_ligo;&hua04_polyp_fir_compl_filter_contr_system]] and Virgo [[cite:&lucia18_low_frequen_optim_perfor_advan]].
|
||||||
|
|
||||||
There are mainly two ways to perform sensor fusion: either using a set of complementary filters [[cite:&anderson53_instr_approac_system_steer_comput]] or using Kalman filtering [[cite:&brown72_integ_navig_system_kalman_filter]].
|
Two principal methods are employed to perform sensor fusion: using complementary filters [[cite:&anderson53_instr_approac_system_steer_comput]] or using Kalman filtering [[cite:&brown72_integ_navig_system_kalman_filter]].
|
||||||
For sensor fusion applications, both methods are sharing many relationships [[cite:&brown72_integ_navig_system_kalman_filter;&higgins75_compar_compl_kalman_filter;&robert12_introd_random_signal_applied_kalman;&fonseca15_compl]].
|
For sensor fusion applications, these methods share many relationships [[cite:&brown72_integ_navig_system_kalman_filter;&higgins75_compar_compl_kalman_filter;&robert12_introd_random_signal_applied_kalman;&fonseca15_compl]].
|
||||||
However, for Kalman filtering, assumptions must be made about the probabilistic character of the sensor noises [[cite:&robert12_introd_random_signal_applied_kalman]] whereas it is not the case with complementary filters.
|
However, Kalman filtering requires assumptions about the probabilistic characteristics of sensor noise [[cite:&robert12_introd_random_signal_applied_kalman]], whereas complementary filters do not impose such requirements.
|
||||||
Furthermore, the advantages of complementary filters over Kalman filtering for sensor fusion are their general applicability, their low computational cost [[cite:&higgins75_compar_compl_kalman_filter]], and the fact that they are intuitive as their effects can be easily interpreted in the frequency domain.
|
Furthermore, complementary filters offer advantages over Kalman filtering for sensor fusion through their general applicability, low computational cost [[cite:&higgins75_compar_compl_kalman_filter]], and intuitive nature, as their effects can be readily interpreted in the frequency domain.
|
||||||
|
|
||||||
A set of filters is said to be complementary if the sum of their transfer functions is equal to one at all frequencies.
|
A set of filters is considered complementary if the sum of their transfer functions equals one at all frequencies.
|
||||||
In the early days of complementary filtering, analog circuits were employed to physically realize the filters [[cite:&anderson53_instr_approac_system_steer_comput]].
|
In early implementations of complementary filtering, analog circuits were used to physically realize the filters [[cite:&anderson53_instr_approac_system_steer_comput]].
|
||||||
Analog complementary filters are still used today [[cite:&yong16_high_speed_vertic_posit_stage;&moore19_capac_instr_sensor_fusion_high_bandw_nanop]], but most of the time they are now implemented digitally as it allows for much more flexibility.
|
While analog complementary filters remain in use today [[cite:&yong16_high_speed_vertic_posit_stage;&moore19_capac_instr_sensor_fusion_high_bandw_nanop]], digital implementation is now more common as it provides greater flexibility.
|
||||||
|
|
||||||
Several design methods have been developed over the years to optimize complementary filters.
|
Various design methods have been developed to optimize complementary filters.
|
||||||
The easiest way to design complementary filters is to use analytical formulas.
|
The most straightforward approach utilizes analytical formulas.
|
||||||
Depending on the application, the formulas used are of first order [[cite:&corke04_inert_visual_sensin_system_small_auton_helic;&yeh05_model_contr_hydraul_actuat_two;&yong16_high_speed_vertic_posit_stage]], second order [[cite:&baerveldt97_low_cost_low_weigh_attit;&stoten01_fusion_kinet_data_using_compos_filter;&jensen13_basic_uas]] or even higher orders [[cite:&shaw90_bandw_enhan_posit_measur_using_measur_accel;&zimmermann92_high_bandw_orien_measur_contr;&stoten01_fusion_kinet_data_using_compos_filter;&collette15_sensor_fusion_method_high_perfor;&matichard15_seism_isolat_advan_ligo]].
|
Depending on the application, these formulas may be of first order [[cite:&corke04_inert_visual_sensin_system_small_auton_helic;&yeh05_model_contr_hydraul_actuat_two;&yong16_high_speed_vertic_posit_stage]], second order [[cite:&baerveldt97_low_cost_low_weigh_attit;&stoten01_fusion_kinet_data_using_compos_filter;&jensen13_basic_uas]], or higher orders [[cite:&shaw90_bandw_enhan_posit_measur_using_measur_accel;&zimmermann92_high_bandw_orien_measur_contr;&stoten01_fusion_kinet_data_using_compos_filter;&collette15_sensor_fusion_method_high_perfor;&matichard15_seism_isolat_advan_ligo]].
|
||||||
|
|
||||||
As the characteristics of the super sensor depends on the proper design of the complementary filters [[cite:&dehaeze19_compl_filter_shapin_using_synth]], several optimization techniques have been developed.
|
Since the characteristics of the super sensor depend on the proper design of complementary filters [[cite:&dehaeze19_compl_filter_shapin_using_synth]], several optimization techniques have been developed.
|
||||||
Some are based on the finding of optimal parameters of analytical formulas [[cite:&jensen13_basic_uas;&min15_compl_filter_desig_angle_estim;&fonseca15_compl]], while other are using convex optimization tools [[cite:&hua04_polyp_fir_compl_filter_contr_system;&hua05_low_ligo]] such as linear matrix inequalities [[cite:&pascoal99_navig_system_desig_using_time]].
|
Some approaches focus on finding optimal parameters for analytical formulas [[cite:&jensen13_basic_uas;&min15_compl_filter_desig_angle_estim;&fonseca15_compl]], while others employ convex optimization tools [[cite:&hua04_polyp_fir_compl_filter_contr_system;&hua05_low_ligo]] such as linear matrix inequalities [[cite:&pascoal99_navig_system_desig_using_time]].
|
||||||
As shown in [[cite:&plummer06_optim_compl_filter_their_applic_motion_measur]], the design of complementary filters can also be linked to the standard mixed-sensitivity control problem.
|
As demonstrated in [[cite:&plummer06_optim_compl_filter_their_applic_motion_measur]], complementary filter design can be linked to the standard mixed-sensitivity control problem.
|
||||||
Therefore, all the powerful tools developed for the classical control theory can also be used for the design of complementary filters.
|
Consequently, the powerful tools developed for classical control theory can be applied to complementary filter design.
|
||||||
For instance, in [[cite:&jensen13_basic_uas]] the two gains of a Proportional Integral (PI) controller are optimized to minimize the noise of the super sensor.
|
For example, in [[cite:&jensen13_basic_uas]], the two gains of a Proportional Integral (PI) controller are optimized to minimize super sensor noise.
|
||||||
|
|
||||||
The common objective of all these complementary filters design methods is to obtain a super sensor that has desired characteristics, usually in terms of noise and dynamics.
|
All these complementary filter design methods share the common objective of creating a super sensor with desired characteristics, typically in terms of noise and dynamics.
|
||||||
Moreover, as reported in [[cite:&zimmermann92_high_bandw_orien_measur_contr;&plummer06_optim_compl_filter_their_applic_motion_measur]], phase shifts and magnitude bumps of the super sensors dynamics can be observed if either the complementary filters are poorly designed or if the sensors are not well calibrated.
|
As reported in [[cite:&zimmermann92_high_bandw_orien_measur_contr;&plummer06_optim_compl_filter_their_applic_motion_measur]], phase shifts and magnitude bumps in the super sensor dynamics may occur if complementary filters are poorly designed or if sensors are improperly calibrated.
|
||||||
Hence, the robustness of the fusion is also of concern when designing the complementary filters.
|
Therefore, the robustness of the fusion must be considered when designing complementary filters.
|
||||||
Although many design methods of complementary filters have been proposed in the literature, no simple method that allows to specify the desired super sensor characteristic while ensuring good fusion robustness has been proposed.
|
Despite the numerous design methods proposed in the literature, a simple approach that specifies desired super sensor characteristics while ensuring good fusion robustness has been lacking.
|
||||||
|
|
||||||
Fortunately, both the robustness of the fusion and the super sensor characteristics can be linked to the magnitude of the complementary filters [[cite:&dehaeze19_compl_filter_shapin_using_synth]].
|
Fortunately, both fusion robustness and super sensor characteristics can be linked to complementary filter magnitude [[cite:&dehaeze19_compl_filter_shapin_using_synth]].
|
||||||
Based on that, this work introduces a new way to design complementary filters using the $\mathcal{H}_\infty$ synthesis which allows to shape the complementary filters' magnitude in an easy and intuitive way.
|
Based on this relationship, the present work introduces an approach to designing complementary filters using $\mathcal{H}_\infty$ synthesis, which enables intuitive shaping of complementary filter magnitude in a straightforward manner.
|
||||||
|
|
||||||
** Matlab Init :noexport:ignore:
|
** Matlab Init :noexport:ignore:
|
||||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
@ -1125,20 +1130,11 @@ freqs = logspace(-1, 3, 1000);
|
|||||||
|
|
||||||
** Sensor Fusion and Complementary Filters Requirements
|
** Sensor Fusion and Complementary Filters Requirements
|
||||||
<<ssec:detail_control_sensor_fusion_requirements>>
|
<<ssec:detail_control_sensor_fusion_requirements>>
|
||||||
**** Introduction :ignore:
|
**** Sensor Fusion Architecture :ignore:
|
||||||
|
|
||||||
Complementary filtering provides a framework for fusing signals from different sensors.
|
A general sensor fusion architecture using complementary filters is shown in Figure ref:fig:detail_control_sensor_fusion_overview, where multiple sensors (in this case two) measure the same physical quantity $x$.
|
||||||
As the effectiveness of the fusion depends on the proper design of the complementary filters, they are expected to fulfill certain requirements.
|
The sensor output signals $\hat{x}_1$ and $\hat{x}_2$ represent estimates of $x$.
|
||||||
These requirements are discussed in this section.
|
These estimates are filtered by complementary filters and combined to form a new estimate $\hat{x}$.
|
||||||
|
|
||||||
**** Sensor Fusion Architecture
|
|
||||||
|
|
||||||
A general sensor fusion architecture using complementary filters is shown in Figure ref:fig:detail_control_sensor_fusion_overview where several sensors (here two) are measuring the same physical quantity $x$.
|
|
||||||
The two sensors output signals $\hat{x}_1$ and $\hat{x}_2$ are estimates of $x$.
|
|
||||||
These estimates are then filtered out by complementary filters and combined to form a new estimate $\hat{x}$.
|
|
||||||
|
|
||||||
The resulting sensor, termed as "super sensor", can have larger bandwidth and better noise characteristics in comparison to the individual sensors.
|
|
||||||
This means that the super sensor provides an estimate $\hat{x}$ of $x$ which can be more accurate over a larger frequency band than the outputs of the individual sensors.
|
|
||||||
|
|
||||||
#+begin_src latex :file detail_control_sensor_fusion_overview.pdf
|
#+begin_src latex :file detail_control_sensor_fusion_overview.pdf
|
||||||
\tikzset{block/.default={0.8cm}{0.8cm}}
|
\tikzset{block/.default={0.8cm}{0.8cm}}
|
||||||
@ -1181,8 +1177,7 @@ This means that the super sensor provides an estimate $\hat{x}$ of $x$ which can
|
|||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:figs/detail_control_sensor_fusion_overview.png]]
|
[[file:figs/detail_control_sensor_fusion_overview.png]]
|
||||||
|
|
||||||
The complementary property of filters $H_1(s)$ and $H_2(s)$ implies that the sum of their transfer functions is equal to one eqref:eq:detail_control_sensor_comp_filter.
|
The complementary property of filters $H_1(s)$ and $H_2(s)$ requires that the sum of their transfer functions equals one at all frequencies eqref:eq:detail_control_sensor_comp_filter.
|
||||||
That is, unity magnitude and zero phase at all frequencies.
|
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_comp_filter}
|
\begin{equation}\label{eq:detail_control_sensor_comp_filter}
|
||||||
H_1(s) + H_2(s) = 1
|
H_1(s) + H_2(s) = 1
|
||||||
@ -1190,15 +1185,15 @@ That is, unity magnitude and zero phase at all frequencies.
|
|||||||
|
|
||||||
**** Sensor Models and Sensor Normalization
|
**** Sensor Models and Sensor Normalization
|
||||||
|
|
||||||
In order to study such sensor fusion architecture, a model for the sensors is required.
|
To analyze sensor fusion architectures, appropriate sensor models are required.
|
||||||
Such model is shown in Figure ref:fig:detail_control_sensor_model and consists of a linear time invariant (LTI) system $G_i(s)$ representing the sensor dynamics and an input $n_i$ representing the sensor noise.
|
The model shown in Figure ref:fig:detail_control_sensor_model consists of a linear time invariant (LTI) system $G_i(s)$ representing the sensor dynamics and an input $n_i$ representing sensor noise.
|
||||||
The model input $x$ is the measured physical quantity and its output $\tilde{x}_i$ is the "raw" output of the sensor.
|
The model input $x$ is the measured physical quantity, and its output $\tilde{x}_i$ is the "raw" output of the sensor.
|
||||||
|
|
||||||
Before filtering the sensor outputs $\tilde{x}_i$ by the complementary filters, the sensors are usually normalized to simplify the fusion.
|
Prior to filtering the sensor outputs $\tilde{x}_i$ with complementary filters, the sensors are typically normalized to simplify the fusion process.
|
||||||
This normalization consists of using an estimate $\hat{G}_i(s)$ of the sensor dynamics $G_i(s)$, and filtering the sensor output by the inverse of this estimate $\hat{G}_i^{-1}(s)$ as shown in Figure ref:fig:detail_control_sensor_model_calibrated.
|
This normalization involves using an estimate $\hat{G}_i(s)$ of the sensor dynamics $G_i(s)$, and filtering the sensor output by the inverse of this estimate $\hat{G}_i^{-1}(s)$, as shown in Figure ref:fig:detail_control_sensor_model_calibrated.
|
||||||
It is here supposed that the sensor inverse $\hat{G}_i^{-1}(s)$ is proper and stable.
|
It is assumed that the sensor inverse $\hat{G}_i^{-1}(s)$ is proper and stable.
|
||||||
This way, the units of the estimates $\hat{x}_i$ are equal to the units of the physical quantity $x$.
|
This approach ensures that the units of the estimates $\hat{x}_i$ match the units of the physical quantity $x$.
|
||||||
The sensor dynamics estimate $\hat{G}_i(s)$ can be a simple gain or a more complex transfer function.
|
The sensor dynamics estimate $\hat{G}_i(s)$ may be a simple gain or a more complex transfer function.
|
||||||
|
|
||||||
#+begin_src latex :file detail_control_sensor_model.pdf
|
#+begin_src latex :file detail_control_sensor_model.pdf
|
||||||
\tikzset{block/.default={0.8cm}{0.8cm}}
|
\tikzset{block/.default={0.8cm}{0.8cm}}
|
||||||
@ -1264,7 +1259,7 @@ The sensor dynamics estimate $\hat{G}_i(s)$ can be a simple gain or a more compl
|
|||||||
#+end_figure
|
#+end_figure
|
||||||
|
|
||||||
Two normalized sensors are then combined to form a super sensor as shown in Figure ref:fig:detail_control_sensor_fusion_super_sensor.
|
Two normalized sensors are then combined to form a super sensor as shown in Figure ref:fig:detail_control_sensor_fusion_super_sensor.
|
||||||
The two sensors are measuring the same physical quantity $x$ with dynamics $G_1(s)$ and $G_2(s)$, and with /uncorrelated/ noises $n_1$ and $n_2$.
|
The two sensors measure the same physical quantity $x$ with dynamics $G_1(s)$ and $G_2(s)$, and with uncorrelated noises $n_1$ and $n_2$.
|
||||||
The signals from both normalized sensors are fed into two complementary filters $H_1(s)$ and $H_2(s)$ and then combined to yield an estimate $\hat{x}$ of $x$.
|
The signals from both normalized sensors are fed into two complementary filters $H_1(s)$ and $H_2(s)$ and then combined to yield an estimate $\hat{x}$ of $x$.
|
||||||
The super sensor output $\hat{x}$ is therefore described by eqref:eq:detail_control_sensor_comp_filter_estimate.
|
The super sensor output $\hat{x}$ is therefore described by eqref:eq:detail_control_sensor_comp_filter_estimate.
|
||||||
|
|
||||||
@ -1327,50 +1322,50 @@ The super sensor output $\hat{x}$ is therefore described by eqref:eq:detail_cont
|
|||||||
|
|
||||||
**** Noise Sensor Filtering
|
**** Noise Sensor Filtering
|
||||||
|
|
||||||
First, suppose that all the sensors are perfectly normalized eqref:eq:detail_control_sensor_perfect_dynamics.
|
First, consider the case where all sensors are perfectly normalized eqref:eq:detail_control_sensor_perfect_dynamics.
|
||||||
The effect of a non-perfect normalization will be discussed afterwards.
|
The effects of imperfect normalization will be addressed subsequently.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_perfect_dynamics}
|
\begin{equation}\label{eq:detail_control_sensor_perfect_dynamics}
|
||||||
\frac{\hat{x}_i}{x} = \hat{G}_i(s) G_i(s) = 1
|
\frac{\hat{x}_i}{x} = \hat{G}_i(s) G_i(s) = 1
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
Provided eqref:eq:detail_control_sensor_perfect_dynamics is verified, the super sensor output $\hat{x}$ is then equal to $x$ plus the filtered noise of both sensors eqref:eq:detail_control_sensor_estimate_perfect_dyn.
|
In that case, the super sensor output $\hat{x}$ equals $x$ plus the filtered noise from both sensors eqref:eq:detail_control_sensor_estimate_perfect_dyn.
|
||||||
From eqref:eq:detail_control_sensor_estimate_perfect_dyn, the complementary filters $H_1(s)$ and $H_2(s)$ are shown to only operate on the noise of the sensors.
|
From this equation, it is evident that the complementary filters $H_1(s)$ and $H_2(s)$ operate solely on the sensor noise.
|
||||||
Thus, this sensor fusion architecture permits to filter the noise of both sensors without introducing any distortion in the physical quantity to be measured.
|
Thus, this sensor fusion architecture allows filtering of sensor noise without introducing distortion in the measured physical quantity.
|
||||||
This is why the two filters must be complementary.
|
This fundamental property necessitates that the two filters must be complementary.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_estimate_perfect_dyn}
|
\begin{equation}\label{eq:detail_control_sensor_estimate_perfect_dyn}
|
||||||
\hat{x} = x + H_1(s) n_1 + H_2(s) n_2
|
\hat{x} = x + H_1(s) n_1 + H_2(s) n_2
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
The estimation error $\delta x$, defined as the difference between the sensor output $\hat{x}$ and the measured quantity $x$, is computed for the super sensor eqref:eq:detail_control_sensor_estimate_error.
|
The estimation error $\epsilon_x$, defined as the difference between the sensor output $\hat{x}$ and the measured quantity $x$, is computed for the super sensor eqref:eq:detail_control_sensor_estimate_error.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_estimate_error}
|
\begin{equation}\label{eq:detail_control_sensor_estimate_error}
|
||||||
\delta x \triangleq \hat{x} - x = H_1(s) n_1 + H_2(s) n_2
|
\epsilon_x \triangleq \hat{x} - x = H_1(s) n_1 + H_2(s) n_2
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
As shown in eqref:eq:detail_control_sensor_noise_filtering_psd, the Power Spectral Density (PSD) of the estimation error $\Phi_{\delta x}$ depends both on the norm of the two complementary filters and on the PSD of the noise sources $\Phi_{n_1}$ and $\Phi_{n_2}$.
|
As shown in eqref:eq:detail_control_sensor_noise_filtering_psd, the Power Spectral Density (PSD) of the estimation error $\Phi_{\epsilon_x}$ depends both on the norm of the two complementary filters and on the PSD of the noise sources $\Phi_{n_1}$ and $\Phi_{n_2}$.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_noise_filtering_psd}
|
\begin{equation}\label{eq:detail_control_sensor_noise_filtering_psd}
|
||||||
\Phi_{\delta x}(\omega) = \left|H_1(j\omega)\right|^2 \Phi_{n_1}(\omega) + \left|H_2(j\omega)\right|^2 \Phi_{n_2}(\omega)
|
\Phi_{\epsilon_x}(\omega) = \left|H_1(j\omega)\right|^2 \Phi_{n_1}(\omega) + \left|H_2(j\omega)\right|^2 \Phi_{n_2}(\omega)
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
If the two sensors have identical noise characteristics, $\Phi_{n_1}(\omega) = \Phi_{n_2}(\omega)$, a simple averaging ($H_1(s) = H_2(s) = 0.5$) is what would minimize the super sensor noise.
|
If the two sensors have identical noise characteristics ($\Phi_{n_1}(\omega) = \Phi_{n_2}(\omega)$), simple averaging ($H_1(s) = H_2(s) = 0.5$) would minimize the super sensor noise.
|
||||||
This is the simplest form of sensor fusion with complementary filters.
|
This represents the simplest form of sensor fusion using complementary filters.
|
||||||
|
|
||||||
However, the two sensors have usually high noise levels over distinct frequency regions.
|
However, sensors typically exhibit high noise levels in different frequency regions.
|
||||||
In such case, to lower the noise of the super sensor, the norm $|H_1(j\omega)|$ has to be small when $\Phi_{n_1}(\omega)$ is larger than $\Phi_{n_2}(\omega)$ and the norm $|H_2(j\omega)|$ has to be small when $\Phi_{n_2}(\omega)$ is larger than $\Phi_{n_1}(\omega)$.
|
In such cases, to reduce the noise of the super sensor, the norm $|H_1(j\omega)|$ should be minimized when $\Phi_{n_1}(\omega)$ exceeds $\Phi_{n_2}(\omega)$, and the norm $|H_2(j\omega)|$ should be minimized when $\Phi_{n_2}(\omega)$ exceeds $\Phi_{n_1}(\omega)$.
|
||||||
Hence, by properly shaping the norm of the complementary filters, it is possible to minimize the noise of the super sensor.
|
Therefore, by appropriately shaping the norm of the complementary filters, the noise of the super sensor can be minimized.
|
||||||
|
|
||||||
**** Sensor Fusion Robustness
|
**** Sensor Fusion Robustness
|
||||||
|
|
||||||
In practical systems the sensor normalization is not perfect and condition eqref:eq:detail_control_sensor_perfect_dynamics is not verified.
|
In practical systems, sensor normalization is rarely perfect, and condition eqref:eq:detail_control_sensor_perfect_dynamics is not fully satisfied.
|
||||||
|
|
||||||
In order to study such imperfection, a multiplicative input uncertainty is added to the sensor dynamics (Figure ref:fig:detail_control_sensor_model_uncertainty).
|
To analyze such imperfections, a multiplicative input uncertainty is incorporated into the sensor dynamics (Figure ref:fig:detail_control_sensor_model_uncertainty).
|
||||||
The nominal model is the estimated model used for the normalization $\hat{G}_i(s)$, $\Delta_i(s)$ is any stable transfer function satisfying $|\Delta_i(j\omega)| \le 1,\ \forall\omega$, and $w_i(s)$ is a weighting transfer function representing the magnitude of the uncertainty.
|
The nominal model is the estimated model used for normalization $\hat{G}_i(s)$, $\Delta_i(s)$ is any stable transfer function satisfying $|\Delta_i(j\omega)| \le 1,\ \forall\omega$, and $w_i(s)$ is a weighting transfer function representing the magnitude of uncertainty.
|
||||||
The weight $w_i(s)$ is chosen such that the real sensor dynamics $G_i(j\omega)$ is contained in the uncertain region represented by a circle in the complex plane, centered on $1$ and with a radius equal to $|w_i(j\omega)|$.
|
The weight $w_i(s)$ is selected such that the actual sensor dynamics $G_i(j\omega)$ remains within the uncertain region represented by a circle in the complex plane, centered on $1$ with a radius equal to $|w_i(j\omega)|$.
|
||||||
|
|
||||||
As the nominal sensor dynamics is taken as the normalized filter, the normalized sensor can be further simplified as shown in Figure ref:fig:detail_control_sensor_model_uncertainty_simplified.
|
Since the nominal sensor dynamics is taken as the normalized filter, the normalized sensor model can be further simplified as shown in Figure ref:fig:detail_control_sensor_model_uncertainty_simplified.
|
||||||
|
|
||||||
#+begin_src latex :file detail_control_sensor_model_uncertainty.pdf
|
#+begin_src latex :file detail_control_sensor_model_uncertainty.pdf
|
||||||
\tikzset{block/.default={0.8cm}{0.8cm}}
|
\tikzset{block/.default={0.8cm}{0.8cm}}
|
||||||
@ -1449,6 +1444,11 @@ As the nominal sensor dynamics is taken as the normalized filter, the normalized
|
|||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
#+end_figure
|
#+end_figure
|
||||||
|
|
||||||
|
The sensor fusion architecture incorporating sensor models with dynamical uncertainty is illustrated in Figure ref:fig:detail_control_sensor_fusion_dynamic_uncertainty.
|
||||||
|
The super sensor dynamics eqref:eq:detail_control_sensor_super_sensor_dyn_uncertainty is no longer unity but depends on the sensor dynamical uncertainty weights $w_i(s)$ and the complementary filters $H_i(s)$.
|
||||||
|
The dynamical uncertainty of the super sensor can be graphically represented in the complex plane by a circle centered on $1$ with a radius equal to $|w_1(j\omega) H_1(j\omega)| + |w_2(j\omega) H_2(j\omega)|$ (Figure ref:fig:detail_control_sensor_uncertainty_set_super_sensor).
|
||||||
|
|
||||||
|
|
||||||
The sensor fusion architecture with the sensor models including dynamical uncertainty is shown in Figure ref:fig:detail_control_sensor_fusion_dynamic_uncertainty.
|
The sensor fusion architecture with the sensor models including dynamical uncertainty is shown in Figure ref:fig:detail_control_sensor_fusion_dynamic_uncertainty.
|
||||||
The super sensor dynamics eqref:eq:detail_control_sensor_super_sensor_dyn_uncertainty is no longer equal to $1$ and now depends on the sensor dynamical uncertainty weights $w_i(s)$ as well as on the complementary filters $H_i(s)$.
|
The super sensor dynamics eqref:eq:detail_control_sensor_super_sensor_dyn_uncertainty is no longer equal to $1$ and now depends on the sensor dynamical uncertainty weights $w_i(s)$ as well as on the complementary filters $H_i(s)$.
|
||||||
The dynamical uncertainty of the super sensor can be graphically represented in the complex plane by a circle centered on $1$ with a radius equal to $|w_1(j\omega) H_1(j\omega)| + |w_2(j\omega) H_2(j\omega)|$ (Figure ref:fig:detail_control_sensor_uncertainty_set_super_sensor).
|
The dynamical uncertainty of the super sensor can be graphically represented in the complex plane by a circle centered on $1$ with a radius equal to $|w_1(j\omega) H_1(j\omega)| + |w_2(j\omega) H_2(j\omega)|$ (Figure ref:fig:detail_control_sensor_uncertainty_set_super_sensor).
|
||||||
@ -1570,31 +1570,24 @@ The dynamical uncertainty of the super sensor can be graphically represented in
|
|||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
#+end_figure
|
#+end_figure
|
||||||
|
|
||||||
The super sensor dynamical uncertainty, and hence the robustness of the fusion, clearly depends on the complementary filters' norm.
|
The super sensor dynamical uncertainty, and consequently the robustness of the fusion, clearly depends on the complementary filters' norm.
|
||||||
For instance, the phase $\Delta\phi(\omega)$ added by the super sensor dynamics at frequency $\omega$ is bounded by $\Delta\phi_{\text{max}}(\omega)$ which can be found by drawing a tangent from the origin to the uncertainty circle of the super sensor (Figure ref:fig:detail_control_sensor_uncertainty_set_super_sensor) and that is mathematically described by eqref:eq:detail_control_sensor_max_phase_uncertainty.
|
As it is generally desired to limit the dynamical uncertainty of the super sensor, the norm of the complementary filter $|H_i(j\omega)|$ should be made small when $|w_i(j\omega)|$ is large, i.e., at frequencies where the sensor dynamics is uncertain.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_max_phase_uncertainty}
|
|
||||||
\Delta\phi_\text{max}(\omega) = \arcsin\big( |w_1(j\omega) H_1(j\omega)| + |w_2(j\omega) H_2(j\omega)| \big)
|
|
||||||
\end{equation}
|
|
||||||
|
|
||||||
As it is generally desired to limit the maximum phase added by the super sensor, $H_1(s)$ and $H_2(s)$ should be designed such that $\Delta \phi$ is bounded to acceptable values.
|
|
||||||
Typically, the norm of the complementary filter $|H_i(j\omega)|$ should be made small when $|w_i(j\omega)|$ is large, i.e., at frequencies where the sensor dynamics is uncertain.
|
|
||||||
|
|
||||||
** Complementary Filters Shaping
|
** Complementary Filters Shaping
|
||||||
<<ssec:detail_control_sensor_hinf_method>>
|
<<ssec:detail_control_sensor_hinf_method>>
|
||||||
**** Introduction :ignore:
|
**** Introduction :ignore:
|
||||||
|
|
||||||
As shown in Section ref:ssec:detail_control_sensor_fusion_requirements, the noise and robustness of the super sensor are a function of the complementary filters' norm.
|
As demonstrated in Section ref:ssec:detail_control_sensor_fusion_requirements, both the noise characteristics and robustness of the super sensor are functions of the complementary filters' norm.
|
||||||
Therefore, a synthesis method of complementary filters that allows to shape their norm would be of great use.
|
Consequently, a synthesis method that enables precise shaping of complementary filter norms would provide significant practical benefits.
|
||||||
In this section, such synthesis is proposed by writing the synthesis objective as a standard $\mathcal{H}_\infty$ optimization problem.
|
In this section, such a synthesis approach is developed by formulating the design objective as a standard $\mathcal{H}_\infty$ optimization problem.
|
||||||
As weighting functions are used to represent the wanted complementary filters' shape during the synthesis, their proper design is discussed.
|
The proper design of weighting functions, which are used to specify the desired complementary filter shapes during synthesis, is discussed in detail.
|
||||||
Finally, the synthesis method is validated on an simple example.
|
Finally, the efficacy of the proposed synthesis method is validated through a simple example.
|
||||||
|
|
||||||
**** Synthesis Objective
|
**** Synthesis Objective
|
||||||
|
|
||||||
The synthesis objective is to shape the norm of two filters $H_1(s)$ and $H_2(s)$ while ensuring their complementary property eqref:eq:detail_control_sensor_comp_filter.
|
The primary objective is to shape the norms of two filters $H_1(s)$ and $H_2(s)$ while ensuring they maintain their complementary property as defined in eqref:eq:detail_control_sensor_comp_filter.
|
||||||
This is equivalent as to finding proper and stable transfer functions $H_1(s)$ and $H_2(s)$ such that conditions eqref:eq:detail_control_sensor_hinf_cond_complementarity, eqref:eq:detail_control_sensor_hinf_cond_h1 and eqref:eq:detail_control_sensor_hinf_cond_h2 are satisfied.
|
This is equivalent to finding proper and stable transfer functions $H_1(s)$ and $H_2(s)$ that satisfy conditions eqref:eq:detail_control_sensor_hinf_cond_complementarity, eqref:eq:detail_control_sensor_hinf_cond_h1, and eqref:eq:detail_control_sensor_hinf_cond_h2.
|
||||||
$W_1(s)$ and $W_2(s)$ are two weighting transfer functions that are carefully chosen to specify the maximum wanted norm of the complementary filters during the synthesis.
|
The functions $W_1(s)$ and $W_2(s)$ represent weighting transfer functions that are carefully selected to specify the maximum desired norm of the complementary filters during synthesis.
|
||||||
|
|
||||||
\begin{subequations}\label{eq:detail_control_sensor_comp_filter_problem_form}
|
\begin{subequations}\label{eq:detail_control_sensor_comp_filter_problem_form}
|
||||||
\begin{align}
|
\begin{align}
|
||||||
@ -1606,8 +1599,8 @@ $W_1(s)$ and $W_2(s)$ are two weighting transfer functions that are carefully ch
|
|||||||
|
|
||||||
**** Shaping of Complementary Filters using $\mathcal{H}_\infty$ synthesis
|
**** Shaping of Complementary Filters using $\mathcal{H}_\infty$ synthesis
|
||||||
|
|
||||||
The synthesis objective can be easily expressed as a standard $\mathcal{H}_\infty$ optimization problem and therefore solved using convenient tools readily available.
|
The synthesis objective can be readily expressed as a standard $\mathcal{H}_\infty$ optimization problem and solved using widely available computational tools.
|
||||||
Consider the generalized plant $P(s)$ shown in Figure ref:fig:detail_control_sensor_h_infinity_robust_fusion_plant and mathematically described by eqref:eq:detail_control_sensor_generalized_plant.
|
Consider the generalized plant $P(s)$ illustrated in Figure ref:fig:detail_control_sensor_h_infinity_robust_fusion_plant and mathematically described by eqref:eq:detail_control_sensor_generalized_plant.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_generalized_plant}
|
\begin{equation}\label{eq:detail_control_sensor_generalized_plant}
|
||||||
\begin{bmatrix} z_1 \\ z_2 \\ v \end{bmatrix} = P(s) \begin{bmatrix} w\\u \end{bmatrix}; \quad P(s) = \begin{bmatrix}W_1(s) & -W_1(s) \\ 0 & \phantom{+}W_2(s) \\ 1 & 0 \end{bmatrix}
|
\begin{bmatrix} z_1 \\ z_2 \\ v \end{bmatrix} = P(s) \begin{bmatrix} w\\u \end{bmatrix}; \quad P(s) = \begin{bmatrix}W_1(s) & -W_1(s) \\ 0 & \phantom{+}W_2(s) \\ 1 & 0 \end{bmatrix}
|
||||||
@ -1693,13 +1686,13 @@ Consider the generalized plant $P(s)$ shown in Figure ref:fig:detail_control_sen
|
|||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
#+end_figure
|
#+end_figure
|
||||||
|
|
||||||
Applying the standard $\mathcal{H}_\infty$ synthesis to the generalized plant $P(s)$ is then equivalent as finding a stable filter $H_2(s)$ which based on $v$, generates a signal $u$ such that the $\mathcal{H}_\infty$ norm of the system in Figure ref:fig:detail_control_sensor_h_infinity_robust_fusion_fb from $w$ to $[z_1, \ z_2]$ is less than one eqref:eq:detail_control_sensor_hinf_syn_obj.
|
Applying standard $\mathcal{H}_\infty$ synthesis to the generalized plant $P(s)$ is equivalent to finding a stable filter $H_2(s)$ that, based on input $v$, generates an output signal $u$ such that the $\mathcal{H}_\infty$ norm of the system shown in Figure ref:fig:detail_control_sensor_h_infinity_robust_fusion_fb from $w$ to $[z_1, \ z_2]$ does not exceed unity, as expressed in eqref:eq:detail_control_sensor_hinf_syn_obj.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_hinf_syn_obj}
|
\begin{equation}\label{eq:detail_control_sensor_hinf_syn_obj}
|
||||||
\left\|\begin{matrix} \left(1 - H_2(s)\right) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1
|
\left\|\begin{matrix} \left(1 - H_2(s)\right) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
By then defining $H_1(s)$ to be the complementary of $H_2(s)$ eqref:eq:detail_control_sensor_definition_H1, the $\mathcal{H}_\infty$ synthesis objective becomes equivalent to eqref:eq:detail_control_sensor_hinf_problem which ensures that eqref:eq:detail_control_sensor_hinf_cond_h1 and eqref:eq:detail_control_sensor_hinf_cond_h2 are satisfied.
|
By defining $H_1(s)$ as the complement of $H_2(s)$ (eqref:eq:detail_control_sensor_definition_H1), the $\mathcal{H}_\infty$ synthesis objective becomes equivalent to eqref:eq:detail_control_sensor_hinf_problem, ensuring that conditions eqref:eq:detail_control_sensor_hinf_cond_h1 and eqref:eq:detail_control_sensor_hinf_cond_h2 are satisfied.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_definition_H1}
|
\begin{equation}\label{eq:detail_control_sensor_definition_H1}
|
||||||
H_1(s) \triangleq 1 - H_2(s)
|
H_1(s) \triangleq 1 - H_2(s)
|
||||||
@ -1709,25 +1702,25 @@ By then defining $H_1(s)$ to be the complementary of $H_2(s)$ eqref:eq:detail_co
|
|||||||
\left\|\begin{matrix} H_1(s) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1
|
\left\|\begin{matrix} H_1(s) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
Therefore, applying the $\mathcal{H}_\infty$ synthesis to the standard plant $P(s)$ eqref:eq:detail_control_sensor_generalized_plant will generate two filters $H_2(s)$ and $H_1(s) \triangleq 1 - H_2(s)$ that are complementary eqref:eq:detail_control_sensor_comp_filter_problem_form and such that there norms are bellow specified bounds eqref:eq:detail_control_sensor_hinf_cond_h1, eqref:eq:detail_control_sensor_hinf_cond_h2.
|
Therefore, applying $\mathcal{H}_\infty$ synthesis to the standard plant $P(s)$ (eqref:eq:detail_control_sensor_generalized_plant) generates two filters, $H_2(s)$ and $H_1(s) \triangleq 1 - H_2(s)$, that are complementary as required by eqref:eq:detail_control_sensor_comp_filter_problem_form, with norms bounded by the specified constraints in eqref:eq:detail_control_sensor_hinf_cond_h1 and eqref:eq:detail_control_sensor_hinf_cond_h2.
|
||||||
|
|
||||||
Note that there is only an implication between the $\mathcal{H}_\infty$ norm condition eqref:eq:detail_control_sensor_hinf_problem and the initial synthesis objectives eqref:eq:detail_control_sensor_hinf_cond_h1 and eqref:eq:detail_control_sensor_hinf_cond_h2 and not an equivalence.
|
It should be noted that there exists only an implication (not an equivalence) between the $\mathcal{H}_\infty$ norm condition in eqref:eq:detail_control_sensor_hinf_problem and the initial synthesis objectives in eqref:eq:detail_control_sensor_hinf_cond_h1 and eqref:eq:detail_control_sensor_hinf_cond_h2.
|
||||||
Hence, the optimization may be a little bit conservative with respect to the set of filters on which it is performed, see [[cite:&skogestad07_multiv_feedb_contr,Chap. 2.8.3]].
|
Consequently, the optimization may be somewhat conservative with respect to the set of filters on which it operates (see [[cite:&skogestad07_multiv_feedb_contr,Chap. 2.8.3]]).
|
||||||
|
|
||||||
**** Weighting Functions Design
|
**** Weighting Functions Design
|
||||||
|
|
||||||
Weighting functions are used during the synthesis to specify the maximum allowed complementary filters' norm.
|
Weighting functions play a crucial role during synthesis by specifying the maximum allowable norms for the complementary filters.
|
||||||
The proper design of these weighting functions is of primary importance for the success of the presented $\mathcal{H}_\infty$ synthesis of complementary filters.
|
The proper design of these weighting functions is essential for the successful implementation of the proposed $\mathcal{H}_\infty$ synthesis approach.
|
||||||
|
|
||||||
First, only proper and stable transfer functions should be used.
|
Three key considerations should guide the design of weighting functions.
|
||||||
Second, the order of the weighting functions should stay reasonably small in order to reduce the computational costs associated with the solving of the optimization problem and for the physical implementation of the filters (the synthesized filters' order being equal to the sum of the weighting functions' order).
|
First, only proper and stable transfer functions should be employed.
|
||||||
Third, one should not forget the fundamental limitations imposed by the complementary property eqref:eq:detail_control_sensor_comp_filter.
|
Second, the order of the weighting functions should remain reasonably small to minimize computational costs associated with solving the optimization problem and to facilitate practical implementation of the filters (as the order of the synthesized filters equals the sum of the weighting functions' orders).
|
||||||
This implies for instance that $|H_1(j\omega)|$ and $|H_2(j\omega)|$ cannot be made small at the same frequency.
|
Third, the fundamental limitations imposed by the complementary property (eqref:eq:detail_control_sensor_comp_filter) must be respected, which implies that $|H_1(j\omega)|$ and $|H_2(j\omega)|$ cannot both be made small at the same frequency.
|
||||||
|
|
||||||
When designing complementary filters, it is usually desired to specify their slopes, their "blending" frequency and their maximum gains at low and high frequency.
|
When designing complementary filters, it is typically desirable to specify their slopes, "blending" frequency, and maximum gains at low and high frequencies.
|
||||||
To easily express these specifications, formula eqref:eq:detail_control_sensor_weight_formula is proposed to help with the design of weighting functions.
|
To facilitate the expression of these specifications, formula eqref:eq:detail_control_sensor_weight_formula is proposed for the design of weighting functions.
|
||||||
The parameters in formula eqref:eq:detail_control_sensor_weight_formula are $G_0 = \lim_{\omega \to 0} |W(j\omega)|$ the low frequency gain, $G_\infty = \lim_{\omega \to \infty} |W(j\omega)|$ the high frequency gain, $G_c = |W(j\omega_c)|$ the gain at a specific frequency $\omega_c$ in $\si{rad/s}$ and $n$ the slope between high and low frequency, which also corresponds to the order of the weighting function.
|
The parameters in this formula are $G_0 = \lim_{\omega \to 0} |W(j\omega)|$ (the low-frequency gain), $G_\infty = \lim_{\omega \to \infty} |W(j\omega)|$ (the high-frequency gain), $G_c = |W(j\omega_c)|$ (the gain at a specific frequency $\omega_c$ in $\si{rad/s}$), and $n$ (the slope between high and low frequency, which also corresponds to the order of the weighting function).
|
||||||
The typical magnitude of a weighting function generated using eqref:eq:detail_control_sensor_weight_formula is shown in Figure ref:fig:detail_control_sensor_weight_formula.
|
The typical magnitude response of a weighting function generated using eqref:eq:detail_control_sensor_weight_formula is illustrated in Figure ref:fig:detail_control_sensor_weight_formula.
|
||||||
|
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
%% Weighting Function Design
|
%% Weighting Function Design
|
||||||
@ -1795,18 +1788,16 @@ exportFig('figs/detail_control_sensor_weight_formula.pdf', 'width', 'half', 'hei
|
|||||||
|
|
||||||
**** Validation of the proposed synthesis method
|
**** Validation of the proposed synthesis method
|
||||||
|
|
||||||
The proposed methodology for the design of complementary filters is now applied on a simple example.
|
The proposed methodology for designing complementary filters is now applied to a simple example.
|
||||||
Let's suppose two complementary filters $H_1(s)$ and $H_2(s)$ have to be designed such that:
|
Consider the design of two complementary filters $H_1(s)$ and $H_2(s)$ with the following requirements:
|
||||||
- the blending frequency is around $\SI{10}{Hz}$.
|
- The blending frequency should be approximately $\SI{10}{Hz}$
|
||||||
- the slope of $|H_1(j\omega)|$ is $+2$ below $\SI{10}{Hz}$.
|
- The slope of $|H_1(j\omega)|$ should be $+2$ below $\SI{10}{Hz}$, with a low-frequency gain of $10^{-3}$
|
||||||
Its low frequency gain is $10^{-3}$.
|
- The slope of $|H_2(j\omega)|$ should be $-3$ above $\SI{10}{Hz}$, with a high-frequency gain of $10^{-3}$
|
||||||
- the slope of $|H_2(j\omega)|$ is $-3$ above $\SI{10}{Hz}$.
|
|
||||||
Its high frequency gain is $10^{-3}$.
|
|
||||||
|
|
||||||
The first step is to translate the above requirements by properly designing the weighting functions.
|
The first step involves translating these requirements by appropriately designing the weighting functions.
|
||||||
The proposed formula eqref:eq:detail_control_sensor_weight_formula is here used for such purpose.
|
The formula proposed in eqref:eq:detail_control_sensor_weight_formula is employed for this purpose.
|
||||||
Parameters used are summarized in Table ref:tab:detail_control_sensor_weights_params.
|
The parameters used are summarized in Table ref:tab:detail_control_sensor_weights_params.
|
||||||
The inverse magnitudes of the designed weighting functions, which are representing the maximum allowed norms of the complementary filters, are shown by the dashed lines in Figure ref:fig:detail_control_sensor_hinf_filters_results.
|
The inverse magnitudes of the designed weighting functions, which represent the maximum allowable norms of the complementary filters, are depicted by the dashed lines in Figure ref:fig:detail_control_sensor_hinf_filters_results.
|
||||||
|
|
||||||
#+begin_src matlab
|
#+begin_src matlab
|
||||||
%% Synthesis of Complementary Filters using H-infinity synthesis
|
%% Synthesis of Complementary Filters using H-infinity synthesis
|
||||||
@ -1872,24 +1863,24 @@ exportFig('figs/detail_control_sensor_hinf_filters_results.pdf', 'width', 'half'
|
|||||||
[[file:figs/detail_control_sensor_hinf_filters_results.png]]
|
[[file:figs/detail_control_sensor_hinf_filters_results.png]]
|
||||||
#+end_minipage
|
#+end_minipage
|
||||||
|
|
||||||
The standard $\mathcal{H}_\infty$ synthesis is then applied to the generalized plant of Figure ref:fig:detail_control_sensor_h_infinity_robust_fusion_plant.
|
Standard $\mathcal{H}_\infty$ synthesis is then applied to the generalized plant shown in Figure ref:fig:detail_control_sensor_h_infinity_robust_fusion_plant.
|
||||||
The filter $H_2(s)$ that minimizes the $\mathcal{H}_\infty$ norm between $w$ and $[z_1,\ z_2]^{\intercal}$ is obtained.
|
This yields the filter $H_2(s)$ that minimizes the $\mathcal{H}_\infty$ norm from input $w$ to outputs $[z_1,\ z_2]^{\intercal}$.
|
||||||
The $\mathcal{H}_\infty$ norm is here found to be close to one which indicates that the synthesis is succescful: the complementary filters norms are below the maximum specified upper bounds.
|
The resulting $\mathcal{H}_\infty$ norm is found to be close to unity, indicating successful synthesis: the norms of the complementary filters remain below the specified upper bounds.
|
||||||
This is confirmed by the bode plots of the obtained complementary filters in Figure ref:fig:detail_control_sensor_hinf_filters_results.
|
This is confirmed by the Bode plots of the obtained complementary filters in Figure ref:fig:detail_control_sensor_hinf_filters_results.
|
||||||
This simple example illustrates the fact that the proposed methodology for complementary filters shaping is easy to use and effective.
|
This straightforward example demonstrates that the proposed methodology for shaping complementary filters is both simple and effective.
|
||||||
|
|
||||||
** Synthesis of a set of three complementary filters
|
** Synthesis of a set of three complementary filters
|
||||||
<<sec:detail_control_sensor_hinf_three_comp_filters>>
|
<<ssec:detail_control_sensor_hinf_three_comp_filters>>
|
||||||
|
|
||||||
Some applications may require to merge more than two sensors [[cite:&stoten01_fusion_kinet_data_using_compos_filter;&fonseca15_compl]].
|
Some applications require merging more than two sensors [[cite:&stoten01_fusion_kinet_data_using_compos_filter;&fonseca15_compl]].
|
||||||
For instance at the LIGO, three sensors (an LVDT, a seismometer and a geophone) are merged to form a super sensor [[cite:&matichard15_seism_isolat_advan_ligo]].
|
For instance, at LIGO, three sensors (an LVDT, a seismometer, and a geophone) are merged to form a super sensor [[cite:&matichard15_seism_isolat_advan_ligo]].
|
||||||
|
|
||||||
When merging $n>2$ sensors using complementary filters, two architectures can be used as shown in Figure ref:fig:detail_control_sensor_fusion_three.
|
When merging $n>2$ sensors using complementary filters, two architectures can be employed as shown in Figure ref:fig:detail_control_sensor_fusion_three.
|
||||||
The fusion can either be done in a "sequential" way where $n-1$ sets of two complementary filters are used (Figure ref:fig:detail_control_sensor_fusion_three_sequential), or in a "parallel" way where one set of $n$ complementary filters is used (Figure ref:fig:detail_control_sensor_fusion_three_parallel).
|
The fusion can be performed either in a "sequential" manner where $n-1$ sets of two complementary filters are used (Figure ref:fig:detail_control_sensor_fusion_three_sequential), or in a "parallel" manner where one set of $n$ complementary filters is used (Figure ref:fig:detail_control_sensor_fusion_three_parallel).
|
||||||
|
|
||||||
In the first case, typical sensor fusion synthesis techniques can be used.
|
In the sequential approach, typical sensor fusion synthesis techniques can be applied.
|
||||||
However, when a parallel architecture is used, a new synthesis method for a set of more than two complementary filters is required as only simple analytical formulas have been proposed in the literature [[cite:&stoten01_fusion_kinet_data_using_compos_filter;&fonseca15_compl]].
|
However, when a parallel architecture is implemented, a new synthesis method for a set of more than two complementary filters is required, as only simple analytical formulas have been proposed in the literature [[cite:&stoten01_fusion_kinet_data_using_compos_filter;&fonseca15_compl]].
|
||||||
A generalization of the proposed synthesis method of complementary filters is presented in this section.
|
A generalization of the proposed complementary filter synthesis method is presented in this section.
|
||||||
|
|
||||||
#+begin_src latex :file detail_control_sensor_fusion_three_sequential.pdf
|
#+begin_src latex :file detail_control_sensor_fusion_three_sequential.pdf
|
||||||
\tikzset{block/.default={0.8cm}{0.8cm}}
|
\tikzset{block/.default={0.8cm}{0.8cm}}
|
||||||
@ -1986,7 +1977,7 @@ A generalization of the proposed synthesis method of complementary filters is pr
|
|||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
#+end_figure
|
#+end_figure
|
||||||
|
|
||||||
The synthesis objective is to compute a set of $n$ stable transfer functions $[H_1(s),\ H_2(s),\ \dots,\ H_n(s)]$ such that conditions eqref:eq:detail_control_sensor_hinf_cond_compl_gen and eqref:eq:detail_control_sensor_hinf_cond_perf_gen are satisfied.
|
The synthesis objective is to compute a set of $n$ stable transfer functions $[H_1(s),\ H_2(s),\ \dots,\ H_n(s)]$ that satisfy conditions eqref:eq:detail_control_sensor_hinf_cond_compl_gen and eqref:eq:detail_control_sensor_hinf_cond_perf_gen.
|
||||||
|
|
||||||
\begin{subequations}\label{eq:detail_control_sensor_hinf_problem_gen}
|
\begin{subequations}\label{eq:detail_control_sensor_hinf_problem_gen}
|
||||||
\begin{align}
|
\begin{align}
|
||||||
@ -1995,10 +1986,10 @@ The synthesis objective is to compute a set of $n$ stable transfer functions $[H
|
|||||||
\end{align}
|
\end{align}
|
||||||
\end{subequations}
|
\end{subequations}
|
||||||
|
|
||||||
$[W_1(s),\ W_2(s),\ \dots,\ W_n(s)]$ are weighting transfer functions that are chosen to specify the maximum complementary filters' norm during the synthesis.
|
The transfer functions $[W_1(s),\ W_2(s),\ \dots,\ W_n(s)]$ are weights selected to specify the maximum complementary filters' norm during synthesis.
|
||||||
|
|
||||||
Such synthesis objective is closely related to the one described in Section ref:ssec:detail_control_sensor_hinf_method, and indeed the proposed synthesis method is a generalization of the one previously presented.
|
This synthesis objective is closely related to the one described in Section ref:ssec:detail_control_sensor_hinf_method, and the proposed synthesis method represents a generalization of the approach previously presented.
|
||||||
A set of $n$ complementary filters can be shaped by applying the standard $\mathcal{H}_\infty$ synthesis to the generalized plant $P_n(s)$ described by eqref:eq:detail_control_sensor_generalized_plant_n_filters.
|
A set of $n$ complementary filters can be shaped by applying standard $\mathcal{H}_\infty$ synthesis to the generalized plant $P_n(s)$ described by eqref:eq:detail_control_sensor_generalized_plant_n_filters.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_generalized_plant_n_filters}
|
\begin{equation}\label{eq:detail_control_sensor_generalized_plant_n_filters}
|
||||||
\begin{bmatrix} z_1 \\ \vdots \\ z_n \\ v \end{bmatrix} = P_n(s) \begin{bmatrix} w \\ u_1 \\ \vdots \\ u_{n-1} \end{bmatrix}; \quad
|
\begin{bmatrix} z_1 \\ \vdots \\ z_n \\ v \end{bmatrix} = P_n(s) \begin{bmatrix} w \\ u_1 \\ \vdots \\ u_{n-1} \end{bmatrix}; \quad
|
||||||
@ -2012,24 +2003,24 @@ A set of $n$ complementary filters can be shaped by applying the standard $\math
|
|||||||
\end{bmatrix}
|
\end{bmatrix}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
If the synthesis if succescful, a set of $n-1$ filters $[H_2(s),\ H_3(s),\ \dots,\ H_n(s)]$ are obtained such that eqref:eq:detail_control_sensor_hinf_syn_obj_gen is verified.
|
If the synthesis is successful, a set of $n-1$ filters $[H_2(s),\ H_3(s),\ \dots,\ H_n(s)]$ is obtained such that eqref:eq:detail_control_sensor_hinf_syn_obj_gen is satisfied.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_hinf_syn_obj_gen}
|
\begin{equation}\label{eq:detail_control_sensor_hinf_syn_obj_gen}
|
||||||
\left\|\begin{matrix} \left(1 - \left[ H_2(s) + H_3(s) + \dots + H_n(s) \right]\right) W_1(s) \\ H_2(s) W_2(s) \\ \vdots \\ H_n(s) W_n(s) \end{matrix}\right\|_\infty \le 1
|
\left\|\begin{matrix} \left(1 - \left[ H_2(s) + H_3(s) + \dots + H_n(s) \right]\right) W_1(s) \\ H_2(s) W_2(s) \\ \vdots \\ H_n(s) W_n(s) \end{matrix}\right\|_\infty \le 1
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
$H_1(s)$ is then defined using eqref:eq:detail_control_sensor_h1_comp_h2_hn which is ensuring the complementary property for the set of $n$ filters eqref:eq:detail_control_sensor_hinf_cond_compl_gen.
|
$H_1(s)$ is then defined using eqref:eq:detail_control_sensor_h1_comp_h2_hn, which ensures the complementary property for the set of $n$ filters eqref:eq:detail_control_sensor_hinf_cond_compl_gen.
|
||||||
Condition eqref:eq:detail_control_sensor_hinf_cond_perf_gen is satisfied thanks to eqref:eq:detail_control_sensor_hinf_syn_obj_gen.
|
Condition eqref:eq:detail_control_sensor_hinf_cond_perf_gen is satisfied through eqref:eq:detail_control_sensor_hinf_syn_obj_gen.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_h1_comp_h2_hn}
|
\begin{equation}\label{eq:detail_control_sensor_h1_comp_h2_hn}
|
||||||
H_1(s) \triangleq 1 - \big[ H_2(s) + H_3(s) + \dots + H_n(s) \big]
|
H_1(s) \triangleq 1 - \big[ H_2(s) + H_3(s) + \dots + H_n(s) \big]
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
An example is given to validate the proposed method for the synthesis of a set of three complementary filters.
|
To validate the proposed method for synthesizing a set of three complementary filters, an example is provided.
|
||||||
The sensors to be merged are a displacement sensor from DC up to $\SI{1}{Hz}$, a geophone from $1$ to $\SI{10}{Hz}$ and an accelerometer above $\SI{10}{Hz}$.
|
The sensors to be merged are a displacement sensor (effective from DC up to $\SI{1}{Hz}$), a geophone (effective from $1$ to $\SI{10}{Hz}$), and an accelerometer (effective above $\SI{10}{Hz}$).
|
||||||
Three weighting functions are designed using formula eqref:eq:detail_control_sensor_weight_formula and their inverse magnitude are shown in Figure ref:fig:detail_control_sensor_three_complementary_filters_results (dashed curves).
|
Three weighting functions are designed using formula eqref:eq:detail_control_sensor_weight_formula, and their inverse magnitudes are shown in Figure ref:fig:detail_control_sensor_three_complementary_filters_results (dashed curves).
|
||||||
|
|
||||||
Consider the generalized plant $P_3(s)$ shown in Figure ref:fig:detail_control_sensor_comp_filter_three_hinf_fb which is also described by eqref:eq:detail_control_sensor_generalized_plant_three_filters.
|
Consider the generalized plant $P_3(s)$ shown in Figure ref:fig:detail_control_sensor_comp_filter_three_hinf_fb, which is also described by eqref:eq:detail_control_sensor_generalized_plant_three_filters.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_generalized_plant_three_filters}
|
\begin{equation}\label{eq:detail_control_sensor_generalized_plant_three_filters}
|
||||||
\begin{bmatrix} z_1 \\ z_2 \\ z_3 \\ v \end{bmatrix} = P_3(s) \begin{bmatrix} w \\ u_1 \\ u_2 \end{bmatrix}; \quad P_3(s) = \begin{bmatrix}W_1(s) & -W_1(s) & -W_1(s) \\ 0 & \phantom{+}W_2(s) & 0 \\ 0 & 0 & \phantom{+}W_3(s) \\ 1 & 0 & 0 \end{bmatrix}
|
\begin{bmatrix} z_1 \\ z_2 \\ z_3 \\ v \end{bmatrix} = P_3(s) \begin{bmatrix} w \\ u_1 \\ u_2 \end{bmatrix}; \quad P_3(s) = \begin{bmatrix}W_1(s) & -W_1(s) & -W_1(s) \\ 0 & \phantom{+}W_2(s) & 0 \\ 0 & 0 & \phantom{+}W_3(s) \\ 1 & 0 & 0 \end{bmatrix}
|
||||||
@ -2119,7 +2110,6 @@ Consider the generalized plant $P_3(s)$ shown in Figure ref:fig:detail_control_s
|
|||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
#+name: fig:detail_control_sensor_comp_filter_three_hinf
|
#+name: fig:detail_control_sensor_comp_filter_three_hinf
|
||||||
#+caption: Architecture for the $\mathcal{H}_\infty$ synthesis of three complementary filters (\subref{fig:detail_control_sensor_comp_filter_three_hinf_fb}). Bode plot of the inverse weighting functions and of the three obtained complementary filters (\subref{fig:detail_control_sensor_three_complementary_filters_results})
|
#+caption: Architecture for the $\mathcal{H}_\infty$ synthesis of three complementary filters (\subref{fig:detail_control_sensor_comp_filter_three_hinf_fb}). Bode plot of the inverse weighting functions and of the three obtained complementary filters (\subref{fig:detail_control_sensor_three_complementary_filters_results})
|
||||||
#+attr_latex: :options [htbp]
|
#+attr_latex: :options [htbp]
|
||||||
@ -2138,15 +2128,15 @@ Consider the generalized plant $P_3(s)$ shown in Figure ref:fig:detail_control_s
|
|||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
#+end_figure
|
#+end_figure
|
||||||
|
|
||||||
The standard $\mathcal{H}_\infty$ synthesis is performed on the generalized plant $P_3(s)$.
|
Standard $\mathcal{H}_\infty$ synthesis is performed on the generalized plant $P_3(s)$.
|
||||||
Two filters $H_2(s)$ and $H_3(s)$ are obtained such that the $\mathcal{H}_\infty$ norm of the closed-loop transfer from $w$ to $[z_1,\ z_2,\ z_3]$ of the system in Figure ref:fig:detail_control_sensor_comp_filter_three_hinf_fb is less than one.
|
Two filters, $H_2(s)$ and $H_3(s)$, are obtained such that the $\mathcal{H}_\infty$ norm of the closed-loop transfer from $w$ to $[z_1,\ z_2,\ z_3]$ of the system in Figure ref:fig:detail_control_sensor_comp_filter_three_hinf_fb is less than one.
|
||||||
Filter $H_1(s)$ is defined using eqref:eq:detail_control_sensor_h1_compl_h2_h3 thus ensuring the complementary property of the obtained set of filters.
|
Filter $H_1(s)$ is defined using eqref:eq:detail_control_sensor_h1_compl_h2_h3, thus ensuring the complementary property of the obtained set of filters.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_h1_compl_h2_h3}
|
\begin{equation}\label{eq:detail_control_sensor_h1_compl_h2_h3}
|
||||||
H_1(s) \triangleq 1 - \big[ H_2(s) + H_3(s) \big]
|
H_1(s) \triangleq 1 - \big[ H_2(s) + H_3(s) \big]
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
Figure ref:fig:detail_control_sensor_three_complementary_filters_results displays the three synthesized complementary filters (solid lines) which confirms that the synthesis is succescful.
|
Figure ref:fig:detail_control_sensor_three_complementary_filters_results displays the three synthesized complementary filters (solid lines), confirming the successful synthesis.
|
||||||
|
|
||||||
#+begin_src matlab
|
#+begin_src matlab
|
||||||
%% Synthesis of a set of three complementary filters
|
%% Synthesis of a set of three complementary filters
|
||||||
@ -2194,24 +2184,18 @@ leg.ItemTokenSize(1) = 18;
|
|||||||
exportFig('figs/detail_control_sensor_three_complementary_filters_results.pdf', 'width', 'half', 'height', 'normal');
|
exportFig('figs/detail_control_sensor_three_complementary_filters_results.pdf', 'width', 'half', 'height', 'normal');
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** TODO Conclusion
|
** Conclusion
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:UNNUMBERED: t
|
:UNNUMBERED: t
|
||||||
:END:
|
:END:
|
||||||
|
|
||||||
A new method for designing complementary filters using the $\mathcal{H}_\infty$ synthesis has been proposed.
|
A new method for designing complementary filters using the $\mathcal{H}_\infty$ synthesis has been proposed.
|
||||||
It allows to shape the magnitude of the filters by the use of weighting functions during the synthesis.
|
This approach allows shaping of the filter magnitudes through the use of weighting functions during synthesis.
|
||||||
This is very valuable in practice as the characteristics of the super sensor are linked to the complementary filters' magnitude.
|
This capability is particularly valuable in practice since the characteristics of the super sensor are directly linked to the complementary filters' magnitude.
|
||||||
Therefore typical sensor fusion objectives can be translated into requirements on the magnitudes of the filters.
|
Consequently, typical sensor fusion objectives can be effectively translated into requirements on the magnitudes of the filters.
|
||||||
Several examples were used to emphasize the simplicity and the effectiveness of the proposed method.
|
|
||||||
|
|
||||||
However, the shaping of the complementary filters' magnitude does not allow to directly optimize the super sensor noise and dynamical characteristics.
|
For the Nano Active Stabilization System (NASS), the High Authority Control-Integral Force Feedback (HAC-IFF) strategy was found to perform well and to offer the advantages of being both intuitive to understand and straightforward to tune.
|
||||||
Future work will aim at developing a complementary filter synthesis method that minimizes the super sensor noise while ensuring the robustness of the fusion.
|
Looking forward, it would be interesting to investigate how sensor fusion (particularly between the force sensor and external metrology) compares to the HAC-IFF approach in terms of performance and robustness.
|
||||||
|
|
||||||
- Talk about the possibility to use H2 to minimize the RMS value of the super sensor noise? (or maybe make a section about that?)
|
|
||||||
There is a draft paper about that.
|
|
||||||
- For the NASS, it was shown that the HAC-IFF strategy works fine and is easy to understand and tune
|
|
||||||
- It would be very interesting to see how sensor fusion (probably between the force sensor and the external metrology) compares in term of performance and robustness
|
|
||||||
|
|
||||||
* Decoupling
|
* Decoupling
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
@ -4551,3 +4535,7 @@ addpath('./src/'); % Path for functions
|
|||||||
%% Colors for the figures
|
%% Colors for the figures
|
||||||
colors = colororder;
|
colors = colororder;
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
* Footnotes
|
||||||
|
|
||||||
|
[fn:detail_control_1]A set of two complementary filters are two transfer functions that sum to one.
|
||||||
|
BIN
nass-control.pdf
BIN
nass-control.pdf
Binary file not shown.
473
nass-control.tex
473
nass-control.tex
@ -1,4 +1,4 @@
|
|||||||
% Created 2025-04-07 Mon 23:14
|
% Created 2025-04-08 Tue 23:15
|
||||||
% Intended LaTeX compiler: pdflatex
|
% Intended LaTeX compiler: pdflatex
|
||||||
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
|
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
|
||||||
|
|
||||||
@ -8,13 +8,6 @@
|
|||||||
\author{Dehaeze Thomas}
|
\author{Dehaeze Thomas}
|
||||||
\date{\today}
|
\date{\today}
|
||||||
\title{Control Optimization}
|
\title{Control Optimization}
|
||||||
\hypersetup{
|
|
||||||
pdfauthor={Dehaeze Thomas},
|
|
||||||
pdftitle={Control Optimization},
|
|
||||||
pdfkeywords={},
|
|
||||||
pdfsubject={},
|
|
||||||
pdfcreator={Emacs 30.1 (Org mode 9.7.26)},
|
|
||||||
pdflang={English}}
|
|
||||||
\usepackage{biblatex}
|
\usepackage{biblatex}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
@ -44,54 +37,25 @@ Several considerations:
|
|||||||
\chapter{Multiple Sensor Control}
|
\chapter{Multiple Sensor Control}
|
||||||
\label{sec:detail_control_sensor}
|
\label{sec:detail_control_sensor}
|
||||||
|
|
||||||
\textbf{Look at what was done in the introduction \href{file:///home/thomas/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A0-nass-introduction/nass-introduction.org}{Stewart platforms: Control architecture}}
|
As was shown during the literature review of Stewart platforms, there is a large diversity of designs and included sensors and actuators.
|
||||||
|
Depending on the control objectives, which may include active damping, vibration isolation, or precise positioning, different sensor configurations are implemented.
|
||||||
|
The specific selection of the sensors, whether inertial sensors, force sensors, or relative position sensors, is heavily influenced by the control requirements of the system.
|
||||||
|
|
||||||
Different control objectives:
|
In cases where multiple control objectives must be achieved simultaneously, as is the case for the Nano Active Stabilization System (NASS) where the Stewart platform must both position the sample and provide isolation from micro-station vibrations, combining multiple sensors within the control architecture has been demonstrated to yield significant performance benefits.
|
||||||
\begin{itemize}
|
From the literature, three principal approaches for combining sensors have been identified: High Authority Control-Low Authority Control (HAC-LAC), sensor fusion, and two-sensor control architectures.
|
||||||
\item Vibration Control
|
|
||||||
\item Position Control
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
Sometimes, the two objectives are simultaneous, as is the case for the NASS, in that case it is usually beneficial to combine multiple sensors in the control architecture.
|
|
||||||
|
|
||||||
Explain why multiple sensors are sometimes beneficial:
|
|
||||||
\begin{itemize}
|
|
||||||
\item collocated sensor that guarantee stability, but is still useful to damp modes outside the bandwidth of the controller using sensor measuring the performance objective
|
|
||||||
\item Noise optimization
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
Several architectures (Figure \ref{fig:detail_control_control_multiple_sensors}):
|
|
||||||
\begin{itemize}
|
|
||||||
\item HAC-LAC (Figure \ref{fig:detail_control_sensor_arch_hac_lac})
|
|
||||||
\cite{geng95_intel_contr_system_multip_degree,preumont18_vibrat_contr_activ_struc_fourt_edition,wang16_inves_activ_vibrat_isolat_stewar,li01_simul_vibrat_isolat_point_contr,pu11_six_degree_of_freed_activ,xie17_model_contr_hybrid_passiv_activ}
|
|
||||||
\item Sensor Fusion (Figure \ref{fig:detail_control_sensor_arch_sensor_fusion})
|
|
||||||
\cite{tjepkema12_activ_ph,tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip,hauge04_sensor_contr_space_based_six}
|
|
||||||
\item Two Sensor control (Figure \ref{fig:detail_control_sensor_arch_two_sensor_control})
|
|
||||||
\cite{hauge04_sensor_contr_space_based_six,tjepkema12_activ_ph,beijen14_two_sensor_contr_activ_vibrat,yong16_high_speed_vertic_posit_stage}
|
|
||||||
|
|
||||||
\item[{$\square$}] Explain basic idea for three strategies:
|
|
||||||
\begin{itemize}
|
|
||||||
\item HAC-LAC: sequential control.
|
|
||||||
\item Sensor Fusion: use different sensors in different frequency regions for different reasons: noise, robustness, \ldots{}
|
|
||||||
\item Two sensor control: idea is to have the maximum control on how both sensors are utilized. Theoretically, this could give the best performances (as sensor fusion is a special case of two sensor control).
|
|
||||||
But it may be more complex to tune and analyze.
|
|
||||||
\end{itemize}
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
Comparison between ``two sensor control'' and ``sensor fusion'' is given in \cite{beijen14_two_sensor_contr_activ_vibrat}.
|
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\begin{subfigure}{0.48\textwidth}
|
\begin{subfigure}{0.48\textwidth}
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\includegraphics[scale=1,scale=1]{figs/detail_control_sensor_arch_hac_lac.png}
|
\includegraphics[scale=1,scale=1]{figs/detail_control_sensor_arch_hac_lac.png}
|
||||||
\end{center}
|
\end{center}
|
||||||
\subcaption{\label{fig:detail_control_sensor_arch_hac_lac} HAC-LAC}
|
\subcaption{\label{fig:detail_control_sensor_arch_hac_lac}HAC LAC}
|
||||||
\end{subfigure}
|
\end{subfigure}
|
||||||
\begin{subfigure}{0.48\textwidth}
|
\begin{subfigure}{0.48\textwidth}
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\includegraphics[scale=1,scale=1]{figs/detail_control_sensor_arch_two_sensor_control.png}
|
\includegraphics[scale=1,scale=1]{figs/detail_control_sensor_arch_two_sensor_control.png}
|
||||||
\end{center}
|
\end{center}
|
||||||
\subcaption{\label{fig:detail_control_sensor_arch_two_sensor_control} Two Sensor Control}
|
\subcaption{\label{fig:detail_control_sensor_arch_two_sensor_control}Two Sensor Control}
|
||||||
\end{subfigure}
|
\end{subfigure}
|
||||||
|
|
||||||
\bigskip
|
\bigskip
|
||||||
@ -99,110 +63,96 @@ Comparison between ``two sensor control'' and ``sensor fusion'' is given in \cit
|
|||||||
\begin{center}
|
\begin{center}
|
||||||
\includegraphics[scale=1,scale=1]{figs/detail_control_sensor_arch_sensor_fusion.png}
|
\includegraphics[scale=1,scale=1]{figs/detail_control_sensor_arch_sensor_fusion.png}
|
||||||
\end{center}
|
\end{center}
|
||||||
\subcaption{\label{fig:detail_control_sensor_arch_sensor_fusion} Sensor Fusion}
|
\subcaption{\label{fig:detail_control_sensor_arch_sensor_fusion}Sensor Fusion}
|
||||||
\end{subfigure}
|
\end{subfigure}
|
||||||
\caption{\label{fig:detail_control_control_multiple_sensors}Different control strategies when using multiple sensors. High Authority Control / Low Authority Control (\subref{fig:detail_control_sensor_arch_hac_lac}). Sensor Fusion (\subref{fig:detail_control_sensor_arch_sensor_fusion}). Two-Sensor Control (\subref{fig:detail_control_sensor_arch_two_sensor_control})}
|
\caption{\label{fig:detail_control_control_multiple_sensors}Different control strategies when using multiple sensors. High Authority Control / Low Authority Control (\subref{fig:detail_control_sensor_arch_hac_lac}). Sensor Fusion (\subref{fig:detail_control_sensor_arch_sensor_fusion}). Two-Sensor Control (\subref{fig:detail_control_sensor_arch_two_sensor_control})}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
The use of multiple sensors have already been used for the Stewart platform.
|
The HAC-LAC approach, used during the conceptual phase, represents a dual-loop control strategy where two control loops utilize different sensors for different purposes (Figure \ref{fig:detail_control_sensor_arch_hac_lac}).
|
||||||
Table \ref{tab:detail_control_sensor_review}
|
In \cite{li01_simul_vibrat_isolat_point_contr}, vibration isolation is provided by accelerometers collocated with the voice coil actuators, while external rotational sensors are utilized to achieve pointing control.
|
||||||
|
In \cite{geng95_intel_contr_system_multip_degree}, force sensors collocated with the magnetostrictive actuators are used for active damping using decentralized IFF, and subsequently accelerometers are employed for adaptive vibration isolation.
|
||||||
|
Similarly, in \cite{wang16_inves_activ_vibrat_isolat_stewar}, piezoelectric actuators with collocated force sensors are used in a decentralized manner to provide active damping while accelerometers are implemented in an adaptive feedback loop to suppress periodic vibrations.
|
||||||
|
In \cite{xie17_model_contr_hybrid_passiv_activ}, force sensors are integrated in the struts for decentralized force feedback while accelerometers fixed to the top platform are employed for centralized control.
|
||||||
|
|
||||||
\begin{table}[htbp]
|
Sensor fusion, the second approach (illustrated in Figure \ref{fig:detail_control_sensor_arch_sensor_fusion}), involves filtering signals from two sensors using complementary filters\footnote{A set of two complementary filters are two transfer functions that sum to one.} that are subsequently summed to obtain an improved sensor signal.
|
||||||
\caption{\label{tab:detail_control_sensor_review}Review of Stewart platforms integrating multiple sensors}
|
In \cite{hauge04_sensor_contr_space_based_six}, geophones (used at low frequency) are merged with force sensors (used at high frequency).
|
||||||
\centering
|
It is demonstrated that combining both sensors using sensor fusion can improve performance compared to using the individual sensors independently.
|
||||||
\scriptsize
|
In \cite{tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip}, sensor fusion architecture is implemented with an accelerometer and a force sensor.
|
||||||
\begin{tabularx}{0.9\linewidth}{Xcccc}
|
This implementation is shown to simultaneously achieve high damping of structural modes (through the force sensors) while maintaining very low vibration transmissibility (through the accelerometers).
|
||||||
\toprule
|
|
||||||
\textbf{Actuators} & \textbf{Sensors} & \textbf{Control} & Main Object & \textbf{Reference}\\
|
|
||||||
\midrule
|
|
||||||
Magnetostrictive & Force (collocated), Accelerometers & Two layers: Decentralized IFF, Robust Adaptive Control & Two layer control for active damping and vibration isolation & \cite{geng95_intel_contr_system_multip_degree}\\
|
|
||||||
Piezoelectric & Force Sensor + Accelerometer & HAC-LAC (IFF + FxLMS) & Dynamic Model + Vibration Control & \cite{wang16_inves_activ_vibrat_isolat_stewar}\\
|
|
||||||
Voice Coil & Accelerometer (collocated), ext. Rx/Ry sensors & Cartesian acceleration feedback (isolation) + 2DoF pointing control (external sensor) & Decoupling, both vibration + pointing control & \cite{li01_simul_vibrat_isolat_point_contr}\\
|
|
||||||
Voice Coil & Geophone + Eddy Current (Struts, collocated) & Decentralized (Sky Hook) + Centralized (modal) Control & & \cite{pu11_six_degree_of_freed_activ}\\
|
|
||||||
Voice Coil & Force sensors (strus) + accelerometer (cartesian) & Decentralized Force Feedback + Centralized H2 control based on accelerometers & & \cite{xie17_model_contr_hybrid_passiv_activ}\\
|
|
||||||
\midrule
|
|
||||||
Voice Coil & Force (HF) and Inertial (LF) & \textbf{Sensor Fusion}, \textbf{Two Sensor Control} & & \cite{tjepkema12_activ_ph,tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip}\\
|
|
||||||
Voice Coil & Force (HF) and Inertial (LF) & \textbf{Sensor Fusion}, LQG, Decentralized & Combine force/inertial sensors. Comparison of force sensor and inertial sensors. Issue on non-minimum phase zero & \cite{hauge04_sensor_contr_space_based_six}\\
|
|
||||||
\midrule
|
|
||||||
Piezoelectric & Force, Position & Vibration isolation, Model-Based, Modal control: 6x PI controllers & Stiffness of flexible joints is compensated using feedback, then the system is decoupled in the modal space & \cite{yang19_dynam_model_decoup_contr_flexib}\\
|
|
||||||
Voice Coil & Force, LVDT, Geophones & LQG, Force + geophones for vibration, LVDT for pointing & Centralized control is no better than decentralized. Geophone + Force MISO control is good & \cite{thayer98_stewar,thayer02_six_axis_vibrat_isolat_system}\\
|
|
||||||
Voice Coil & Force & IFF, centralized (decouple) + decentralized (coupled) & Specific geometry: decoupled force plant. Better perf with centralized IFF & \cite{mcinroy99_dynam,mcinroy99_precis_fault_toler_point_using_stewar_platf,mcinroy00_desig_contr_flexur_joint_hexap}\\
|
|
||||||
\bottomrule
|
|
||||||
\end{tabularx}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
|
In \cite{beijen14_two_sensor_contr_activ_vibrat}, the performance of sensor fusion is compared with the more general case of ``two-sensor control'' (illustrated in Figure \ref{fig:detail_control_sensor_arch_two_sensor_control}).
|
||||||
|
It is highlighted that ``two-sensor control'' provides greater control freedom, potentially enhancing performance.
|
||||||
|
In \cite{thayer02_six_axis_vibrat_isolat_system}, the use of force sensors and geophones is compared for vibration isolation purposes.
|
||||||
|
Geophones are shown to provide better isolation performance than load cells but suffer from poor robustness.
|
||||||
|
Conversely, the controller based on force sensors exhibited inferior performance (due to the presence of a pair of low frequency zeros), but demonstrated better robustness properties.
|
||||||
|
A ``two-sensor control'' approach was proven to perform better than controllers based on individual sensors while maintaining better robustness.
|
||||||
|
A Linear Quadratic Regulator (LQG) was employed to optimize the two-input/one-output controller.
|
||||||
|
|
||||||
Cascaded control / HAC-LAC Architecture was already discussed during the conceptual phase.
|
Beyond these three main approaches, other control architectures have been proposed for different purposes.
|
||||||
This is a very comprehensive approach that proved to give good performances.
|
In \cite{yang19_dynam_model_decoup_contr_flexib}, a first control loop utilizes force sensors and relative motion sensors to compensate for parasitic stiffness of the flexible joints.
|
||||||
|
Subsequently, the system is decoupled in the modal space (facilitated by the removal of parasitic stiffness) and accelerometers are employed for vibration isolation.
|
||||||
|
|
||||||
On the other hand of the spectrum, the two sensor approach yields to more control design freedom.
|
The HAC-LAC architecture was previously investigated during the conceptual phase and successfully implemented to validate the NASS concept, demonstrating excellent performance.
|
||||||
But it is also more complex.
|
At the other end of the spectrum, the two-sensor approach yields greater control design freedom but introduces increased complexity in tuning, and thus was not pursued in this study.
|
||||||
|
This work instead focuses on sensor fusion, which represents a promising middle ground between the proven HAC-LAC approach and the more complex two-sensor control strategy.
|
||||||
|
|
||||||
In this section, we wish to study if sensor fusion can be an option for multi-sensor control:
|
A review of sensor fusion is first presented (Section \ref{ssec:detail_control_sensor_review}), followed by an examination of the fundamental theoretical concepts (Section \ref{ssec:detail_control_sensor_fusion_requirements}).
|
||||||
\begin{itemize}
|
In this section, both the robustness of the fusion and the noise characteristics of the resulting ``super sensor'' are derived and expressed as functions of the complementary filters' norms.
|
||||||
\item may be used to optimize the noise characteristics
|
A synthesis method for designing complementary filters that allow to shape their norms is proposed (Section \ref{ssec:detail_control_sensor_hinf_method}).
|
||||||
\item optimize the dynamical uncertainty
|
The investigation is then extended beyond the conventional two-sensor scenario, demonstrating how the proposed complementary filter synthesis can be generalized for applications requiring the fusion of three or more sensors (Section \ref{ssec:detail_control_sensor_hinf_three_comp_filters}).
|
||||||
\end{itemize}
|
\section{Review of Sensor Fusion}
|
||||||
\section{Sensor fusion - Introduction}
|
\label{ssec:detail_control_sensor_review}
|
||||||
|
|
||||||
Measuring a physical quantity using sensors is always subject to several limitations.
|
Measuring a physical quantity using sensors is always subject to several limitations.
|
||||||
First, the accuracy of the measurement is affected by several noise sources, such as electrical noise of the conditioning electronics being used.
|
First, the accuracy of the measurement is affected by various noise sources, such as electrical noise from the conditioning electronics.
|
||||||
Second, the frequency range in which the measurement is relevant is bounded by the bandwidth of the sensor.
|
Second, the frequency range in which the measurement is relevant is bounded by the bandwidth of the sensor.
|
||||||
One way to overcome these limitations is to combine several sensors using a technique called ``sensor fusion'' \cite{bendat57_optim_filter_indep_measur_two}.
|
One way to overcome these limitations is to combine several sensors using a technique called ``sensor fusion'' \cite{bendat57_optim_filter_indep_measur_two}.
|
||||||
Fortunately, a wide variety of sensors exists, each with different characteristics.
|
Fortunately, a wide variety of sensors exists, each with different characteristics.
|
||||||
By carefully choosing the fused sensors, a so called ``super sensor'' is obtained that can combines benefits of the individual sensors.
|
By carefully selecting the sensors to be fused, a ``super sensor'' is obtained that combines the benefits of the individual sensors.
|
||||||
|
|
||||||
In some situations, sensor fusion is used to increase the bandwidth of the measurement \cite{shaw90_bandw_enhan_posit_measur_using_measur_accel,zimmermann92_high_bandw_orien_measur_contr,min15_compl_filter_desig_angle_estim}.
|
In some applications, sensor fusion is employed to increase measurement bandwidth \cite{shaw90_bandw_enhan_posit_measur_using_measur_accel,zimmermann92_high_bandw_orien_measur_contr,min15_compl_filter_desig_angle_estim}.
|
||||||
For instance, in \cite{shaw90_bandw_enhan_posit_measur_using_measur_accel} the bandwidth of a position sensor is increased by fusing it with an accelerometer providing the high frequency motion information.
|
For instance, in \cite{shaw90_bandw_enhan_posit_measur_using_measur_accel}, the bandwidth of a position sensor is extended by fusing it with an accelerometer that provides high-frequency motion information.
|
||||||
For other applications, sensor fusion is used to obtain an estimate of the measured quantity with lower noise \cite{hua05_low_ligo,hua04_polyp_fir_compl_filter_contr_system,plummer06_optim_compl_filter_their_applic_motion_measur,robert12_introd_random_signal_applied_kalman}.
|
In other applications, sensor fusion is utilized to obtain an estimate of the measured quantity with reduced noise \cite{hua05_low_ligo,hua04_polyp_fir_compl_filter_contr_system,plummer06_optim_compl_filter_their_applic_motion_measur,robert12_introd_random_signal_applied_kalman}.
|
||||||
More recently, the fusion of sensors measuring different physical quantities has been proposed to obtain interesting properties for control \cite{collette15_sensor_fusion_method_high_perfor,yong16_high_speed_vertic_posit_stage}.
|
More recently, the fusion of sensors measuring different physical quantities has been proposed to enhance control properties \cite{collette15_sensor_fusion_method_high_perfor,yong16_high_speed_vertic_posit_stage}.
|
||||||
In \cite{collette15_sensor_fusion_method_high_perfor}, an inertial sensor used for active vibration isolation is fused with a sensor collocated with the actuator for improving the stability margins of the feedback controller.
|
In \cite{collette15_sensor_fusion_method_high_perfor}, an inertial sensor used for active vibration isolation is fused with a sensor collocated with the actuator to improve the stability margins of the feedback controller.
|
||||||
|
|
||||||
Practical applications of sensor fusion are numerous.
|
On top of Stewart platforms, practical applications of sensor fusion are numerous.
|
||||||
It is widely used for the attitude estimation of several autonomous vehicles such as unmanned aerial vehicle \cite{baerveldt97_low_cost_low_weigh_attit,corke04_inert_visual_sensin_system_small_auton_helic,jensen13_basic_uas} and underwater vehicles \cite{pascoal99_navig_system_desig_using_time,batista10_optim_posit_veloc_navig_filter_auton_vehic}.
|
It is widely implemented for attitude estimation in autonomous vehicles such as unmanned aerial vehicles \cite{baerveldt97_low_cost_low_weigh_attit,corke04_inert_visual_sensin_system_small_auton_helic,jensen13_basic_uas} and underwater vehicles \cite{pascoal99_navig_system_desig_using_time,batista10_optim_posit_veloc_navig_filter_auton_vehic}.
|
||||||
Naturally, it is of great benefits for high performance positioning control as shown in \cite{shaw90_bandw_enhan_posit_measur_using_measur_accel,zimmermann92_high_bandw_orien_measur_contr,min15_compl_filter_desig_angle_estim,yong16_high_speed_vertic_posit_stage}.
|
Sensor fusion offers significant benefits for high-performance positioning control as demonstrated in \cite{shaw90_bandw_enhan_posit_measur_using_measur_accel,zimmermann92_high_bandw_orien_measur_contr,min15_compl_filter_desig_angle_estim,yong16_high_speed_vertic_posit_stage}.
|
||||||
Sensor fusion was also shown to be a key technology to improve the performance of active vibration isolation systems \cite{tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip}.
|
It has also been identified as a key technology for improving the performance of active vibration isolation systems \cite{tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip}.
|
||||||
Emblematic examples are the isolation stages of gravitational wave detectors \cite{collette15_sensor_fusion_method_high_perfor,heijningen18_low} such as the ones used at the LIGO \cite{hua05_low_ligo,hua04_polyp_fir_compl_filter_contr_system} and at the Virgo \cite{lucia18_low_frequen_optim_perfor_advan}.
|
Emblematic examples include the isolation stages of gravitational wave detectors \cite{collette15_sensor_fusion_method_high_perfor,heijningen18_low} such as those employed at LIGO \cite{hua05_low_ligo,hua04_polyp_fir_compl_filter_contr_system} and Virgo \cite{lucia18_low_frequen_optim_perfor_advan}.
|
||||||
|
|
||||||
There are mainly two ways to perform sensor fusion: either using a set of complementary filters \cite{anderson53_instr_approac_system_steer_comput} or using Kalman filtering \cite{brown72_integ_navig_system_kalman_filter}.
|
Two principal methods are employed to perform sensor fusion: using complementary filters \cite{anderson53_instr_approac_system_steer_comput} or using Kalman filtering \cite{brown72_integ_navig_system_kalman_filter}.
|
||||||
For sensor fusion applications, both methods are sharing many relationships \cite{brown72_integ_navig_system_kalman_filter,higgins75_compar_compl_kalman_filter,robert12_introd_random_signal_applied_kalman,fonseca15_compl}.
|
For sensor fusion applications, these methods share many relationships \cite{brown72_integ_navig_system_kalman_filter,higgins75_compar_compl_kalman_filter,robert12_introd_random_signal_applied_kalman,fonseca15_compl}.
|
||||||
However, for Kalman filtering, assumptions must be made about the probabilistic character of the sensor noises \cite{robert12_introd_random_signal_applied_kalman} whereas it is not the case with complementary filters.
|
However, Kalman filtering requires assumptions about the probabilistic characteristics of sensor noise \cite{robert12_introd_random_signal_applied_kalman}, whereas complementary filters do not impose such requirements.
|
||||||
Furthermore, the advantages of complementary filters over Kalman filtering for sensor fusion are their general applicability, their low computational cost \cite{higgins75_compar_compl_kalman_filter}, and the fact that they are intuitive as their effects can be easily interpreted in the frequency domain.
|
Furthermore, complementary filters offer advantages over Kalman filtering for sensor fusion through their general applicability, low computational cost \cite{higgins75_compar_compl_kalman_filter}, and intuitive nature, as their effects can be readily interpreted in the frequency domain.
|
||||||
|
|
||||||
A set of filters is said to be complementary if the sum of their transfer functions is equal to one at all frequencies.
|
A set of filters is considered complementary if the sum of their transfer functions equals one at all frequencies.
|
||||||
In the early days of complementary filtering, analog circuits were employed to physically realize the filters \cite{anderson53_instr_approac_system_steer_comput}.
|
In early implementations of complementary filtering, analog circuits were used to physically realize the filters \cite{anderson53_instr_approac_system_steer_comput}.
|
||||||
Analog complementary filters are still used today \cite{yong16_high_speed_vertic_posit_stage,moore19_capac_instr_sensor_fusion_high_bandw_nanop}, but most of the time they are now implemented digitally as it allows for much more flexibility.
|
While analog complementary filters remain in use today \cite{yong16_high_speed_vertic_posit_stage,moore19_capac_instr_sensor_fusion_high_bandw_nanop}, digital implementation is now more common as it provides greater flexibility.
|
||||||
|
|
||||||
Several design methods have been developed over the years to optimize complementary filters.
|
Various design methods have been developed to optimize complementary filters.
|
||||||
The easiest way to design complementary filters is to use analytical formulas.
|
The most straightforward approach utilizes analytical formulas.
|
||||||
Depending on the application, the formulas used are of first order \cite{corke04_inert_visual_sensin_system_small_auton_helic,yeh05_model_contr_hydraul_actuat_two,yong16_high_speed_vertic_posit_stage}, second order \cite{baerveldt97_low_cost_low_weigh_attit,stoten01_fusion_kinet_data_using_compos_filter,jensen13_basic_uas} or even higher orders \cite{shaw90_bandw_enhan_posit_measur_using_measur_accel,zimmermann92_high_bandw_orien_measur_contr,stoten01_fusion_kinet_data_using_compos_filter,collette15_sensor_fusion_method_high_perfor,matichard15_seism_isolat_advan_ligo}.
|
Depending on the application, these formulas may be of first order \cite{corke04_inert_visual_sensin_system_small_auton_helic,yeh05_model_contr_hydraul_actuat_two,yong16_high_speed_vertic_posit_stage}, second order \cite{baerveldt97_low_cost_low_weigh_attit,stoten01_fusion_kinet_data_using_compos_filter,jensen13_basic_uas}, or higher orders \cite{shaw90_bandw_enhan_posit_measur_using_measur_accel,zimmermann92_high_bandw_orien_measur_contr,stoten01_fusion_kinet_data_using_compos_filter,collette15_sensor_fusion_method_high_perfor,matichard15_seism_isolat_advan_ligo}.
|
||||||
|
|
||||||
As the characteristics of the super sensor depends on the proper design of the complementary filters \cite{dehaeze19_compl_filter_shapin_using_synth}, several optimization techniques have been developed.
|
Since the characteristics of the super sensor depend on the proper design of complementary filters \cite{dehaeze19_compl_filter_shapin_using_synth}, several optimization techniques have been developed.
|
||||||
Some are based on the finding of optimal parameters of analytical formulas \cite{jensen13_basic_uas,min15_compl_filter_desig_angle_estim,fonseca15_compl}, while other are using convex optimization tools \cite{hua04_polyp_fir_compl_filter_contr_system,hua05_low_ligo} such as linear matrix inequalities \cite{pascoal99_navig_system_desig_using_time}.
|
Some approaches focus on finding optimal parameters for analytical formulas \cite{jensen13_basic_uas,min15_compl_filter_desig_angle_estim,fonseca15_compl}, while others employ convex optimization tools \cite{hua04_polyp_fir_compl_filter_contr_system,hua05_low_ligo} such as linear matrix inequalities \cite{pascoal99_navig_system_desig_using_time}.
|
||||||
As shown in \cite{plummer06_optim_compl_filter_their_applic_motion_measur}, the design of complementary filters can also be linked to the standard mixed-sensitivity control problem.
|
As demonstrated in \cite{plummer06_optim_compl_filter_their_applic_motion_measur}, complementary filter design can be linked to the standard mixed-sensitivity control problem.
|
||||||
Therefore, all the powerful tools developed for the classical control theory can also be used for the design of complementary filters.
|
Consequently, the powerful tools developed for classical control theory can be applied to complementary filter design.
|
||||||
For instance, in \cite{jensen13_basic_uas} the two gains of a Proportional Integral (PI) controller are optimized to minimize the noise of the super sensor.
|
For example, in \cite{jensen13_basic_uas}, the two gains of a Proportional Integral (PI) controller are optimized to minimize super sensor noise.
|
||||||
|
|
||||||
The common objective of all these complementary filters design methods is to obtain a super sensor that has desired characteristics, usually in terms of noise and dynamics.
|
All these complementary filter design methods share the common objective of creating a super sensor with desired characteristics, typically in terms of noise and dynamics.
|
||||||
Moreover, as reported in \cite{zimmermann92_high_bandw_orien_measur_contr,plummer06_optim_compl_filter_their_applic_motion_measur}, phase shifts and magnitude bumps of the super sensors dynamics can be observed if either the complementary filters are poorly designed or if the sensors are not well calibrated.
|
As reported in \cite{zimmermann92_high_bandw_orien_measur_contr,plummer06_optim_compl_filter_their_applic_motion_measur}, phase shifts and magnitude bumps in the super sensor dynamics may occur if complementary filters are poorly designed or if sensors are improperly calibrated.
|
||||||
Hence, the robustness of the fusion is also of concern when designing the complementary filters.
|
Therefore, the robustness of the fusion must be considered when designing complementary filters.
|
||||||
Although many design methods of complementary filters have been proposed in the literature, no simple method that allows to specify the desired super sensor characteristic while ensuring good fusion robustness has been proposed.
|
Despite the numerous design methods proposed in the literature, a simple approach that specifies desired super sensor characteristics while ensuring good fusion robustness has been lacking.
|
||||||
|
|
||||||
Fortunately, both the robustness of the fusion and the super sensor characteristics can be linked to the magnitude of the complementary filters \cite{dehaeze19_compl_filter_shapin_using_synth}.
|
Fortunately, both fusion robustness and super sensor characteristics can be linked to complementary filter magnitude \cite{dehaeze19_compl_filter_shapin_using_synth}.
|
||||||
Based on that, this work introduces a new way to design complementary filters using the \(\mathcal{H}_\infty\) synthesis which allows to shape the complementary filters' magnitude in an easy and intuitive way.
|
Based on this relationship, the present work introduces an approach to designing complementary filters using \(\mathcal{H}_\infty\) synthesis, which enables intuitive shaping of complementary filter magnitude in a straightforward manner.
|
||||||
\section{Sensor Fusion and Complementary Filters Requirements}
|
\section{Sensor Fusion and Complementary Filters Requirements}
|
||||||
\label{ssec:detail_control_sensor_fusion_requirements}
|
\label{ssec:detail_control_sensor_fusion_requirements}
|
||||||
Complementary filtering provides a framework for fusing signals from different sensors.
|
A general sensor fusion architecture using complementary filters is shown in Figure \ref{fig:detail_control_sensor_fusion_overview}, where multiple sensors (in this case two) measure the same physical quantity \(x\).
|
||||||
As the effectiveness of the fusion depends on the proper design of the complementary filters, they are expected to fulfill certain requirements.
|
The sensor output signals \(\hat{x}_1\) and \(\hat{x}_2\) represent estimates of \(x\).
|
||||||
These requirements are discussed in this section.
|
These estimates are filtered by complementary filters and combined to form a new estimate \(\hat{x}\).
|
||||||
\subsubsection{Sensor Fusion Architecture}
|
|
||||||
|
|
||||||
A general sensor fusion architecture using complementary filters is shown in Figure \ref{fig:detail_control_sensor_fusion_overview} where several sensors (here two) are measuring the same physical quantity \(x\).
|
|
||||||
The two sensors output signals \(\hat{x}_1\) and \(\hat{x}_2\) are estimates of \(x\).
|
|
||||||
These estimates are then filtered out by complementary filters and combined to form a new estimate \(\hat{x}\).
|
|
||||||
|
|
||||||
The resulting sensor, termed as ``super sensor'', can have larger bandwidth and better noise characteristics in comparison to the individual sensors.
|
|
||||||
This means that the super sensor provides an estimate \(\hat{x}\) of \(x\) which can be more accurate over a larger frequency band than the outputs of the individual sensors.
|
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\centering
|
\centering
|
||||||
@ -210,23 +160,22 @@ This means that the super sensor provides an estimate \(\hat{x}\) of \(x\) which
|
|||||||
\caption{\label{fig:detail_control_sensor_fusion_overview}Schematic of a sensor fusion architecture using complementary filters.}
|
\caption{\label{fig:detail_control_sensor_fusion_overview}Schematic of a sensor fusion architecture using complementary filters.}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
The complementary property of filters \(H_1(s)\) and \(H_2(s)\) implies that the sum of their transfer functions is equal to one \eqref{eq:detail_control_sensor_comp_filter}.
|
The complementary property of filters \(H_1(s)\) and \(H_2(s)\) requires that the sum of their transfer functions equals one at all frequencies \eqref{eq:detail_control_sensor_comp_filter}.
|
||||||
That is, unity magnitude and zero phase at all frequencies.
|
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_comp_filter}
|
\begin{equation}\label{eq:detail_control_sensor_comp_filter}
|
||||||
H_1(s) + H_2(s) = 1
|
H_1(s) + H_2(s) = 1
|
||||||
\end{equation}
|
\end{equation}
|
||||||
\subsubsection{Sensor Models and Sensor Normalization}
|
\paragraph{Sensor Models and Sensor Normalization}
|
||||||
|
|
||||||
In order to study such sensor fusion architecture, a model for the sensors is required.
|
To analyze sensor fusion architectures, appropriate sensor models are required.
|
||||||
Such model is shown in Figure \ref{fig:detail_control_sensor_model} and consists of a linear time invariant (LTI) system \(G_i(s)\) representing the sensor dynamics and an input \(n_i\) representing the sensor noise.
|
The model shown in Figure \ref{fig:detail_control_sensor_model} consists of a linear time invariant (LTI) system \(G_i(s)\) representing the sensor dynamics and an input \(n_i\) representing sensor noise.
|
||||||
The model input \(x\) is the measured physical quantity and its output \(\tilde{x}_i\) is the ``raw'' output of the sensor.
|
The model input \(x\) is the measured physical quantity, and its output \(\tilde{x}_i\) is the ``raw'' output of the sensor.
|
||||||
|
|
||||||
Before filtering the sensor outputs \(\tilde{x}_i\) by the complementary filters, the sensors are usually normalized to simplify the fusion.
|
Prior to filtering the sensor outputs \(\tilde{x}_i\) with complementary filters, the sensors are typically normalized to simplify the fusion process.
|
||||||
This normalization consists of using an estimate \(\hat{G}_i(s)\) of the sensor dynamics \(G_i(s)\), and filtering the sensor output by the inverse of this estimate \(\hat{G}_i^{-1}(s)\) as shown in Figure \ref{fig:detail_control_sensor_model_calibrated}.
|
This normalization involves using an estimate \(\hat{G}_i(s)\) of the sensor dynamics \(G_i(s)\), and filtering the sensor output by the inverse of this estimate \(\hat{G}_i^{-1}(s)\), as shown in Figure \ref{fig:detail_control_sensor_model_calibrated}.
|
||||||
It is here supposed that the sensor inverse \(\hat{G}_i^{-1}(s)\) is proper and stable.
|
It is assumed that the sensor inverse \(\hat{G}_i^{-1}(s)\) is proper and stable.
|
||||||
This way, the units of the estimates \(\hat{x}_i\) are equal to the units of the physical quantity \(x\).
|
This approach ensures that the units of the estimates \(\hat{x}_i\) match the units of the physical quantity \(x\).
|
||||||
The sensor dynamics estimate \(\hat{G}_i(s)\) can be a simple gain or a more complex transfer function.
|
The sensor dynamics estimate \(\hat{G}_i(s)\) may be a simple gain or a more complex transfer function.
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\begin{subfigure}{0.48\textwidth}
|
\begin{subfigure}{0.48\textwidth}
|
||||||
@ -245,7 +194,7 @@ The sensor dynamics estimate \(\hat{G}_i(s)\) can be a simple gain or a more com
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
Two normalized sensors are then combined to form a super sensor as shown in Figure \ref{fig:detail_control_sensor_fusion_super_sensor}.
|
Two normalized sensors are then combined to form a super sensor as shown in Figure \ref{fig:detail_control_sensor_fusion_super_sensor}.
|
||||||
The two sensors are measuring the same physical quantity \(x\) with dynamics \(G_1(s)\) and \(G_2(s)\), and with \emph{uncorrelated} noises \(n_1\) and \(n_2\).
|
The two sensors measure the same physical quantity \(x\) with dynamics \(G_1(s)\) and \(G_2(s)\), and with uncorrelated noises \(n_1\) and \(n_2\).
|
||||||
The signals from both normalized sensors are fed into two complementary filters \(H_1(s)\) and \(H_2(s)\) and then combined to yield an estimate \(\hat{x}\) of \(x\).
|
The signals from both normalized sensors are fed into two complementary filters \(H_1(s)\) and \(H_2(s)\) and then combined to yield an estimate \(\hat{x}\) of \(x\).
|
||||||
The super sensor output \(\hat{x}\) is therefore described by \eqref{eq:detail_control_sensor_comp_filter_estimate}.
|
The super sensor output \(\hat{x}\) is therefore described by \eqref{eq:detail_control_sensor_comp_filter_estimate}.
|
||||||
|
|
||||||
@ -258,51 +207,51 @@ The super sensor output \(\hat{x}\) is therefore described by \eqref{eq:detail_c
|
|||||||
\includegraphics[scale=1]{figs/detail_control_sensor_fusion_super_sensor.png}
|
\includegraphics[scale=1]{figs/detail_control_sensor_fusion_super_sensor.png}
|
||||||
\caption{\label{fig:detail_control_sensor_fusion_super_sensor}Sensor fusion architecture with two normalized sensors.}
|
\caption{\label{fig:detail_control_sensor_fusion_super_sensor}Sensor fusion architecture with two normalized sensors.}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\subsubsection{Noise Sensor Filtering}
|
\paragraph{Noise Sensor Filtering}
|
||||||
|
|
||||||
First, suppose that all the sensors are perfectly normalized \eqref{eq:detail_control_sensor_perfect_dynamics}.
|
First, consider the case where all sensors are perfectly normalized \eqref{eq:detail_control_sensor_perfect_dynamics}.
|
||||||
The effect of a non-perfect normalization will be discussed afterwards.
|
The effects of imperfect normalization will be addressed subsequently.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_perfect_dynamics}
|
\begin{equation}\label{eq:detail_control_sensor_perfect_dynamics}
|
||||||
\frac{\hat{x}_i}{x} = \hat{G}_i(s) G_i(s) = 1
|
\frac{\hat{x}_i}{x} = \hat{G}_i(s) G_i(s) = 1
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
Provided \eqref{eq:detail_control_sensor_perfect_dynamics} is verified, the super sensor output \(\hat{x}\) is then equal to \(x\) plus the filtered noise of both sensors \eqref{eq:detail_control_sensor_estimate_perfect_dyn}.
|
In that case, the super sensor output \(\hat{x}\) equals \(x\) plus the filtered noise from both sensors \eqref{eq:detail_control_sensor_estimate_perfect_dyn}.
|
||||||
From \eqref{eq:detail_control_sensor_estimate_perfect_dyn}, the complementary filters \(H_1(s)\) and \(H_2(s)\) are shown to only operate on the noise of the sensors.
|
From this equation, it is evident that the complementary filters \(H_1(s)\) and \(H_2(s)\) operate solely on the sensor noise.
|
||||||
Thus, this sensor fusion architecture permits to filter the noise of both sensors without introducing any distortion in the physical quantity to be measured.
|
Thus, this sensor fusion architecture allows filtering of sensor noise without introducing distortion in the measured physical quantity.
|
||||||
This is why the two filters must be complementary.
|
This fundamental property necessitates that the two filters must be complementary.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_estimate_perfect_dyn}
|
\begin{equation}\label{eq:detail_control_sensor_estimate_perfect_dyn}
|
||||||
\hat{x} = x + H_1(s) n_1 + H_2(s) n_2
|
\hat{x} = x + H_1(s) n_1 + H_2(s) n_2
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
The estimation error \(\delta x\), defined as the difference between the sensor output \(\hat{x}\) and the measured quantity \(x\), is computed for the super sensor \eqref{eq:detail_control_sensor_estimate_error}.
|
The estimation error \(\epsilon_x\), defined as the difference between the sensor output \(\hat{x}\) and the measured quantity \(x\), is computed for the super sensor \eqref{eq:detail_control_sensor_estimate_error}.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_estimate_error}
|
\begin{equation}\label{eq:detail_control_sensor_estimate_error}
|
||||||
\delta x \triangleq \hat{x} - x = H_1(s) n_1 + H_2(s) n_2
|
\epsilon_x \triangleq \hat{x} - x = H_1(s) n_1 + H_2(s) n_2
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
As shown in \eqref{eq:detail_control_sensor_noise_filtering_psd}, the Power Spectral Density (PSD) of the estimation error \(\Phi_{\delta x}\) depends both on the norm of the two complementary filters and on the PSD of the noise sources \(\Phi_{n_1}\) and \(\Phi_{n_2}\).
|
As shown in \eqref{eq:detail_control_sensor_noise_filtering_psd}, the Power Spectral Density (PSD) of the estimation error \(\Phi_{\epsilon_x}\) depends both on the norm of the two complementary filters and on the PSD of the noise sources \(\Phi_{n_1}\) and \(\Phi_{n_2}\).
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_noise_filtering_psd}
|
\begin{equation}\label{eq:detail_control_sensor_noise_filtering_psd}
|
||||||
\Phi_{\delta x}(\omega) = \left|H_1(j\omega)\right|^2 \Phi_{n_1}(\omega) + \left|H_2(j\omega)\right|^2 \Phi_{n_2}(\omega)
|
\Phi_{\epsilon_x}(\omega) = \left|H_1(j\omega)\right|^2 \Phi_{n_1}(\omega) + \left|H_2(j\omega)\right|^2 \Phi_{n_2}(\omega)
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
If the two sensors have identical noise characteristics, \(\Phi_{n_1}(\omega) = \Phi_{n_2}(\omega)\), a simple averaging (\(H_1(s) = H_2(s) = 0.5\)) is what would minimize the super sensor noise.
|
If the two sensors have identical noise characteristics (\(\Phi_{n_1}(\omega) = \Phi_{n_2}(\omega)\)), simple averaging (\(H_1(s) = H_2(s) = 0.5\)) would minimize the super sensor noise.
|
||||||
This is the simplest form of sensor fusion with complementary filters.
|
This represents the simplest form of sensor fusion using complementary filters.
|
||||||
|
|
||||||
However, the two sensors have usually high noise levels over distinct frequency regions.
|
However, sensors typically exhibit high noise levels in different frequency regions.
|
||||||
In such case, to lower the noise of the super sensor, the norm \(|H_1(j\omega)|\) has to be small when \(\Phi_{n_1}(\omega)\) is larger than \(\Phi_{n_2}(\omega)\) and the norm \(|H_2(j\omega)|\) has to be small when \(\Phi_{n_2}(\omega)\) is larger than \(\Phi_{n_1}(\omega)\).
|
In such cases, to reduce the noise of the super sensor, the norm \(|H_1(j\omega)|\) should be minimized when \(\Phi_{n_1}(\omega)\) exceeds \(\Phi_{n_2}(\omega)\), and the norm \(|H_2(j\omega)|\) should be minimized when \(\Phi_{n_2}(\omega)\) exceeds \(\Phi_{n_1}(\omega)\).
|
||||||
Hence, by properly shaping the norm of the complementary filters, it is possible to minimize the noise of the super sensor.
|
Therefore, by appropriately shaping the norm of the complementary filters, the noise of the super sensor can be minimized.
|
||||||
\subsubsection{Sensor Fusion Robustness}
|
\paragraph{Sensor Fusion Robustness}
|
||||||
|
|
||||||
In practical systems the sensor normalization is not perfect and condition \eqref{eq:detail_control_sensor_perfect_dynamics} is not verified.
|
In practical systems, sensor normalization is rarely perfect, and condition \eqref{eq:detail_control_sensor_perfect_dynamics} is not fully satisfied.
|
||||||
|
|
||||||
In order to study such imperfection, a multiplicative input uncertainty is added to the sensor dynamics (Figure \ref{fig:detail_control_sensor_model_uncertainty}).
|
To analyze such imperfections, a multiplicative input uncertainty is incorporated into the sensor dynamics (Figure \ref{fig:detail_control_sensor_model_uncertainty}).
|
||||||
The nominal model is the estimated model used for the normalization \(\hat{G}_i(s)\), \(\Delta_i(s)\) is any stable transfer function satisfying \(|\Delta_i(j\omega)| \le 1,\ \forall\omega\), and \(w_i(s)\) is a weighting transfer function representing the magnitude of the uncertainty.
|
The nominal model is the estimated model used for normalization \(\hat{G}_i(s)\), \(\Delta_i(s)\) is any stable transfer function satisfying \(|\Delta_i(j\omega)| \le 1,\ \forall\omega\), and \(w_i(s)\) is a weighting transfer function representing the magnitude of uncertainty.
|
||||||
The weight \(w_i(s)\) is chosen such that the real sensor dynamics \(G_i(j\omega)\) is contained in the uncertain region represented by a circle in the complex plane, centered on \(1\) and with a radius equal to \(|w_i(j\omega)|\).
|
The weight \(w_i(s)\) is selected such that the actual sensor dynamics \(G_i(j\omega)\) remains within the uncertain region represented by a circle in the complex plane, centered on \(1\) with a radius equal to \(|w_i(j\omega)|\).
|
||||||
|
|
||||||
As the nominal sensor dynamics is taken as the normalized filter, the normalized sensor can be further simplified as shown in Figure \ref{fig:detail_control_sensor_model_uncertainty_simplified}.
|
Since the nominal sensor dynamics is taken as the normalized filter, the normalized sensor model can be further simplified as shown in Figure \ref{fig:detail_control_sensor_model_uncertainty_simplified}.
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\begin{subfigure}{0.58\textwidth}
|
\begin{subfigure}{0.58\textwidth}
|
||||||
@ -320,6 +269,11 @@ As the nominal sensor dynamics is taken as the normalized filter, the normalized
|
|||||||
\caption{\label{fig:detail_control_sensor_models_uncertainty}Sensor models with dynamical uncertainty}
|
\caption{\label{fig:detail_control_sensor_models_uncertainty}Sensor models with dynamical uncertainty}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
The sensor fusion architecture incorporating sensor models with dynamical uncertainty is illustrated in Figure \ref{fig:detail_control_sensor_fusion_dynamic_uncertainty}.
|
||||||
|
The super sensor dynamics \eqref{eq:detail_control_sensor_super_sensor_dyn_uncertainty} is no longer unity but depends on the sensor dynamical uncertainty weights \(w_i(s)\) and the complementary filters \(H_i(s)\).
|
||||||
|
The dynamical uncertainty of the super sensor can be graphically represented in the complex plane by a circle centered on \(1\) with a radius equal to \(|w_1(j\omega) H_1(j\omega)| + |w_2(j\omega) H_2(j\omega)|\) (Figure \ref{fig:detail_control_sensor_uncertainty_set_super_sensor}).
|
||||||
|
|
||||||
|
|
||||||
The sensor fusion architecture with the sensor models including dynamical uncertainty is shown in Figure \ref{fig:detail_control_sensor_fusion_dynamic_uncertainty}.
|
The sensor fusion architecture with the sensor models including dynamical uncertainty is shown in Figure \ref{fig:detail_control_sensor_fusion_dynamic_uncertainty}.
|
||||||
The super sensor dynamics \eqref{eq:detail_control_sensor_super_sensor_dyn_uncertainty} is no longer equal to \(1\) and now depends on the sensor dynamical uncertainty weights \(w_i(s)\) as well as on the complementary filters \(H_i(s)\).
|
The super sensor dynamics \eqref{eq:detail_control_sensor_super_sensor_dyn_uncertainty} is no longer equal to \(1\) and now depends on the sensor dynamical uncertainty weights \(w_i(s)\) as well as on the complementary filters \(H_i(s)\).
|
||||||
The dynamical uncertainty of the super sensor can be graphically represented in the complex plane by a circle centered on \(1\) with a radius equal to \(|w_1(j\omega) H_1(j\omega)| + |w_2(j\omega) H_2(j\omega)|\) (Figure \ref{fig:detail_control_sensor_uncertainty_set_super_sensor}).
|
The dynamical uncertainty of the super sensor can be graphically represented in the complex plane by a circle centered on \(1\) with a radius equal to \(|w_1(j\omega) H_1(j\omega)| + |w_2(j\omega) H_2(j\omega)|\) (Figure \ref{fig:detail_control_sensor_uncertainty_set_super_sensor}).
|
||||||
@ -344,27 +298,20 @@ The dynamical uncertainty of the super sensor can be graphically represented in
|
|||||||
\caption{\label{fig:detail_control_sensor_uncertainty}Sensor fusion architecture with sensor dynamics uncertainty (\subref{fig:detail_control_sensor_fusion_dynamic_uncertainty}). Uncertainty region (\subref{fig:detail_control_sensor_uncertainty_set_super_sensor}) of the super sensor dynamics in the complex plane (grey circle). The contribution of both sensors 1 and 2 to the total uncertainty are represented respectively by a blue circle and a red circle. The frequency dependency \(\omega\) is here omitted.}
|
\caption{\label{fig:detail_control_sensor_uncertainty}Sensor fusion architecture with sensor dynamics uncertainty (\subref{fig:detail_control_sensor_fusion_dynamic_uncertainty}). Uncertainty region (\subref{fig:detail_control_sensor_uncertainty_set_super_sensor}) of the super sensor dynamics in the complex plane (grey circle). The contribution of both sensors 1 and 2 to the total uncertainty are represented respectively by a blue circle and a red circle. The frequency dependency \(\omega\) is here omitted.}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
The super sensor dynamical uncertainty, and hence the robustness of the fusion, clearly depends on the complementary filters' norm.
|
The super sensor dynamical uncertainty, and consequently the robustness of the fusion, clearly depends on the complementary filters' norm.
|
||||||
For instance, the phase \(\Delta\phi(\omega)\) added by the super sensor dynamics at frequency \(\omega\) is bounded by \(\Delta\phi_{\text{max}}(\omega)\) which can be found by drawing a tangent from the origin to the uncertainty circle of the super sensor (Figure \ref{fig:detail_control_sensor_uncertainty_set_super_sensor}) and that is mathematically described by \eqref{eq:detail_control_sensor_max_phase_uncertainty}.
|
As it is generally desired to limit the dynamical uncertainty of the super sensor, the norm of the complementary filter \(|H_i(j\omega)|\) should be made small when \(|w_i(j\omega)|\) is large, i.e., at frequencies where the sensor dynamics is uncertain.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_max_phase_uncertainty}
|
|
||||||
\Delta\phi_\text{max}(\omega) = \arcsin\big( |w_1(j\omega) H_1(j\omega)| + |w_2(j\omega) H_2(j\omega)| \big)
|
|
||||||
\end{equation}
|
|
||||||
|
|
||||||
As it is generally desired to limit the maximum phase added by the super sensor, \(H_1(s)\) and \(H_2(s)\) should be designed such that \(\Delta \phi\) is bounded to acceptable values.
|
|
||||||
Typically, the norm of the complementary filter \(|H_i(j\omega)|\) should be made small when \(|w_i(j\omega)|\) is large, i.e., at frequencies where the sensor dynamics is uncertain.
|
|
||||||
\section{Complementary Filters Shaping}
|
\section{Complementary Filters Shaping}
|
||||||
\label{ssec:detail_control_sensor_hinf_method}
|
\label{ssec:detail_control_sensor_hinf_method}
|
||||||
As shown in Section \ref{ssec:detail_control_sensor_fusion_requirements}, the noise and robustness of the super sensor are a function of the complementary filters' norm.
|
As demonstrated in Section \ref{ssec:detail_control_sensor_fusion_requirements}, both the noise characteristics and robustness of the super sensor are functions of the complementary filters' norm.
|
||||||
Therefore, a synthesis method of complementary filters that allows to shape their norm would be of great use.
|
Consequently, a synthesis method that enables precise shaping of complementary filter norms would provide significant practical benefits.
|
||||||
In this section, such synthesis is proposed by writing the synthesis objective as a standard \(\mathcal{H}_\infty\) optimization problem.
|
In this section, such a synthesis approach is developed by formulating the design objective as a standard \(\mathcal{H}_\infty\) optimization problem.
|
||||||
As weighting functions are used to represent the wanted complementary filters' shape during the synthesis, their proper design is discussed.
|
The proper design of weighting functions, which are used to specify the desired complementary filter shapes during synthesis, is discussed in detail.
|
||||||
Finally, the synthesis method is validated on an simple example.
|
Finally, the efficacy of the proposed synthesis method is validated through a simple example.
|
||||||
\subsubsection{Synthesis Objective}
|
\paragraph{Synthesis Objective}
|
||||||
|
|
||||||
The synthesis objective is to shape the norm of two filters \(H_1(s)\) and \(H_2(s)\) while ensuring their complementary property \eqref{eq:detail_control_sensor_comp_filter}.
|
The primary objective is to shape the norms of two filters \(H_1(s)\) and \(H_2(s)\) while ensuring they maintain their complementary property as defined in \eqref{eq:detail_control_sensor_comp_filter}.
|
||||||
This is equivalent as to finding proper and stable transfer functions \(H_1(s)\) and \(H_2(s)\) such that conditions \eqref{eq:detail_control_sensor_hinf_cond_complementarity}, \eqref{eq:detail_control_sensor_hinf_cond_h1} and \eqref{eq:detail_control_sensor_hinf_cond_h2} are satisfied.
|
This is equivalent to finding proper and stable transfer functions \(H_1(s)\) and \(H_2(s)\) that satisfy conditions \eqref{eq:detail_control_sensor_hinf_cond_complementarity}, \eqref{eq:detail_control_sensor_hinf_cond_h1}, and \eqref{eq:detail_control_sensor_hinf_cond_h2}.
|
||||||
\(W_1(s)\) and \(W_2(s)\) are two weighting transfer functions that are carefully chosen to specify the maximum wanted norm of the complementary filters during the synthesis.
|
The functions \(W_1(s)\) and \(W_2(s)\) represent weighting transfer functions that are carefully selected to specify the maximum desired norm of the complementary filters during synthesis.
|
||||||
|
|
||||||
\begin{subequations}\label{eq:detail_control_sensor_comp_filter_problem_form}
|
\begin{subequations}\label{eq:detail_control_sensor_comp_filter_problem_form}
|
||||||
\begin{align}
|
\begin{align}
|
||||||
@ -373,10 +320,10 @@ This is equivalent as to finding proper and stable transfer functions \(H_1(s)\)
|
|||||||
& |H_2(j\omega)| \le \frac{1}{|W_2(j\omega)|} \quad \forall\omega \label{eq:detail_control_sensor_hinf_cond_h2}
|
& |H_2(j\omega)| \le \frac{1}{|W_2(j\omega)|} \quad \forall\omega \label{eq:detail_control_sensor_hinf_cond_h2}
|
||||||
\end{align}
|
\end{align}
|
||||||
\end{subequations}
|
\end{subequations}
|
||||||
\subsubsection{Shaping of Complementary Filters using \(\mathcal{H}_\infty\) synthesis}
|
\paragraph{Shaping of Complementary Filters using \(\mathcal{H}_\infty\) synthesis}
|
||||||
|
|
||||||
The synthesis objective can be easily expressed as a standard \(\mathcal{H}_\infty\) optimization problem and therefore solved using convenient tools readily available.
|
The synthesis objective can be readily expressed as a standard \(\mathcal{H}_\infty\) optimization problem and solved using widely available computational tools.
|
||||||
Consider the generalized plant \(P(s)\) shown in Figure \ref{fig:detail_control_sensor_h_infinity_robust_fusion_plant} and mathematically described by \eqref{eq:detail_control_sensor_generalized_plant}.
|
Consider the generalized plant \(P(s)\) illustrated in Figure \ref{fig:detail_control_sensor_h_infinity_robust_fusion_plant} and mathematically described by \eqref{eq:detail_control_sensor_generalized_plant}.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_generalized_plant}
|
\begin{equation}\label{eq:detail_control_sensor_generalized_plant}
|
||||||
\begin{bmatrix} z_1 \\ z_2 \\ v \end{bmatrix} = P(s) \begin{bmatrix} w\\u \end{bmatrix}; \quad P(s) = \begin{bmatrix}W_1(s) & -W_1(s) \\ 0 & \phantom{+}W_2(s) \\ 1 & 0 \end{bmatrix}
|
\begin{bmatrix} z_1 \\ z_2 \\ v \end{bmatrix} = P(s) \begin{bmatrix} w\\u \end{bmatrix}; \quad P(s) = \begin{bmatrix}W_1(s) & -W_1(s) \\ 0 & \phantom{+}W_2(s) \\ 1 & 0 \end{bmatrix}
|
||||||
@ -398,13 +345,13 @@ Consider the generalized plant \(P(s)\) shown in Figure \ref{fig:detail_control_
|
|||||||
\caption{\label{fig:detail_control_sensor_h_infinity_robust_fusion}Architecture for the \(\mathcal{H}_\infty\) synthesis of complementary filters}
|
\caption{\label{fig:detail_control_sensor_h_infinity_robust_fusion}Architecture for the \(\mathcal{H}_\infty\) synthesis of complementary filters}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
Applying the standard \(\mathcal{H}_\infty\) synthesis to the generalized plant \(P(s)\) is then equivalent as finding a stable filter \(H_2(s)\) which based on \(v\), generates a signal \(u\) such that the \(\mathcal{H}_\infty\) norm of the system in Figure \ref{fig:detail_control_sensor_h_infinity_robust_fusion_fb} from \(w\) to \([z_1, \ z_2]\) is less than one \eqref{eq:detail_control_sensor_hinf_syn_obj}.
|
Applying standard \(\mathcal{H}_\infty\) synthesis to the generalized plant \(P(s)\) is equivalent to finding a stable filter \(H_2(s)\) that, based on input \(v\), generates an output signal \(u\) such that the \(\mathcal{H}_\infty\) norm of the system shown in Figure \ref{fig:detail_control_sensor_h_infinity_robust_fusion_fb} from \(w\) to \([z_1, \ z_2]\) does not exceed unity, as expressed in \eqref{eq:detail_control_sensor_hinf_syn_obj}.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_hinf_syn_obj}
|
\begin{equation}\label{eq:detail_control_sensor_hinf_syn_obj}
|
||||||
\left\|\begin{matrix} \left(1 - H_2(s)\right) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1
|
\left\|\begin{matrix} \left(1 - H_2(s)\right) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
By then defining \(H_1(s)\) to be the complementary of \(H_2(s)\) \eqref{eq:detail_control_sensor_definition_H1}, the \(\mathcal{H}_\infty\) synthesis objective becomes equivalent to \eqref{eq:detail_control_sensor_hinf_problem} which ensures that \eqref{eq:detail_control_sensor_hinf_cond_h1} and \eqref{eq:detail_control_sensor_hinf_cond_h2} are satisfied.
|
By defining \(H_1(s)\) as the complement of \(H_2(s)\) (\eqref{eq:detail_control_sensor_definition_H1}), the \(\mathcal{H}_\infty\) synthesis objective becomes equivalent to \eqref{eq:detail_control_sensor_hinf_problem}, ensuring that conditions \eqref{eq:detail_control_sensor_hinf_cond_h1} and \eqref{eq:detail_control_sensor_hinf_cond_h2} are satisfied.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_definition_H1}
|
\begin{equation}\label{eq:detail_control_sensor_definition_H1}
|
||||||
H_1(s) \triangleq 1 - H_2(s)
|
H_1(s) \triangleq 1 - H_2(s)
|
||||||
@ -414,24 +361,24 @@ By then defining \(H_1(s)\) to be the complementary of \(H_2(s)\) \eqref{eq:deta
|
|||||||
\left\|\begin{matrix} H_1(s) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1
|
\left\|\begin{matrix} H_1(s) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
Therefore, applying the \(\mathcal{H}_\infty\) synthesis to the standard plant \(P(s)\) \eqref{eq:detail_control_sensor_generalized_plant} will generate two filters \(H_2(s)\) and \(H_1(s) \triangleq 1 - H_2(s)\) that are complementary \eqref{eq:detail_control_sensor_comp_filter_problem_form} and such that there norms are bellow specified bounds \eqref{eq:detail_control_sensor_hinf_cond_h1}, \eqref{eq:detail_control_sensor_hinf_cond_h2}.
|
Therefore, applying \(\mathcal{H}_\infty\) synthesis to the standard plant \(P(s)\) (\eqref{eq:detail_control_sensor_generalized_plant}) generates two filters, \(H_2(s)\) and \(H_1(s) \triangleq 1 - H_2(s)\), that are complementary as required by \eqref{eq:detail_control_sensor_comp_filter_problem_form}, with norms bounded by the specified constraints in \eqref{eq:detail_control_sensor_hinf_cond_h1} and \eqref{eq:detail_control_sensor_hinf_cond_h2}.
|
||||||
|
|
||||||
Note that there is only an implication between the \(\mathcal{H}_\infty\) norm condition \eqref{eq:detail_control_sensor_hinf_problem} and the initial synthesis objectives \eqref{eq:detail_control_sensor_hinf_cond_h1} and \eqref{eq:detail_control_sensor_hinf_cond_h2} and not an equivalence.
|
It should be noted that there exists only an implication (not an equivalence) between the \(\mathcal{H}_\infty\) norm condition in \eqref{eq:detail_control_sensor_hinf_problem} and the initial synthesis objectives in \eqref{eq:detail_control_sensor_hinf_cond_h1} and \eqref{eq:detail_control_sensor_hinf_cond_h2}.
|
||||||
Hence, the optimization may be a little bit conservative with respect to the set of filters on which it is performed, see \cite[,Chap. 2.8.3]{skogestad07_multiv_feedb_contr}.
|
Consequently, the optimization may be somewhat conservative with respect to the set of filters on which it operates (see \cite[,Chap. 2.8.3]{skogestad07_multiv_feedb_contr}).
|
||||||
\subsubsection{Weighting Functions Design}
|
\paragraph{Weighting Functions Design}
|
||||||
|
|
||||||
Weighting functions are used during the synthesis to specify the maximum allowed complementary filters' norm.
|
Weighting functions play a crucial role during synthesis by specifying the maximum allowable norms for the complementary filters.
|
||||||
The proper design of these weighting functions is of primary importance for the success of the presented \(\mathcal{H}_\infty\) synthesis of complementary filters.
|
The proper design of these weighting functions is essential for the successful implementation of the proposed \(\mathcal{H}_\infty\) synthesis approach.
|
||||||
|
|
||||||
First, only proper and stable transfer functions should be used.
|
Three key considerations should guide the design of weighting functions.
|
||||||
Second, the order of the weighting functions should stay reasonably small in order to reduce the computational costs associated with the solving of the optimization problem and for the physical implementation of the filters (the synthesized filters' order being equal to the sum of the weighting functions' order).
|
First, only proper and stable transfer functions should be employed.
|
||||||
Third, one should not forget the fundamental limitations imposed by the complementary property \eqref{eq:detail_control_sensor_comp_filter}.
|
Second, the order of the weighting functions should remain reasonably small to minimize computational costs associated with solving the optimization problem and to facilitate practical implementation of the filters (as the order of the synthesized filters equals the sum of the weighting functions' orders).
|
||||||
This implies for instance that \(|H_1(j\omega)|\) and \(|H_2(j\omega)|\) cannot be made small at the same frequency.
|
Third, the fundamental limitations imposed by the complementary property (\eqref{eq:detail_control_sensor_comp_filter}) must be respected, which implies that \(|H_1(j\omega)|\) and \(|H_2(j\omega)|\) cannot both be made small at the same frequency.
|
||||||
|
|
||||||
When designing complementary filters, it is usually desired to specify their slopes, their ``blending'' frequency and their maximum gains at low and high frequency.
|
When designing complementary filters, it is typically desirable to specify their slopes, ``blending'' frequency, and maximum gains at low and high frequencies.
|
||||||
To easily express these specifications, formula \eqref{eq:detail_control_sensor_weight_formula} is proposed to help with the design of weighting functions.
|
To facilitate the expression of these specifications, formula \eqref{eq:detail_control_sensor_weight_formula} is proposed for the design of weighting functions.
|
||||||
The parameters in formula \eqref{eq:detail_control_sensor_weight_formula} are \(G_0 = \lim_{\omega \to 0} |W(j\omega)|\) the low frequency gain, \(G_\infty = \lim_{\omega \to \infty} |W(j\omega)|\) the high frequency gain, \(G_c = |W(j\omega_c)|\) the gain at a specific frequency \(\omega_c\) in \(\si{rad/s}\) and \(n\) the slope between high and low frequency, which also corresponds to the order of the weighting function.
|
The parameters in this formula are \(G_0 = \lim_{\omega \to 0} |W(j\omega)|\) (the low-frequency gain), \(G_\infty = \lim_{\omega \to \infty} |W(j\omega)|\) (the high-frequency gain), \(G_c = |W(j\omega_c)|\) (the gain at a specific frequency \(\omega_c\) in \(\si{rad/s}\)), and \(n\) (the slope between high and low frequency, which also corresponds to the order of the weighting function).
|
||||||
The typical magnitude of a weighting function generated using \eqref{eq:detail_control_sensor_weight_formula} is shown in Figure \ref{fig:detail_control_sensor_weight_formula}.
|
The typical magnitude response of a weighting function generated using \eqref{eq:detail_control_sensor_weight_formula} is illustrated in Figure \ref{fig:detail_control_sensor_weight_formula}.
|
||||||
|
|
||||||
\begin{minipage}[]{0.49\linewidth}
|
\begin{minipage}[]{0.49\linewidth}
|
||||||
\begin{center}
|
\begin{center}
|
||||||
@ -449,22 +396,20 @@ The typical magnitude of a weighting function generated using \eqref{eq:detail_c
|
|||||||
}\right)^n
|
}\right)^n
|
||||||
\end{equation}
|
\end{equation}
|
||||||
\end{minipage}
|
\end{minipage}
|
||||||
\subsubsection{Validation of the proposed synthesis method}
|
\paragraph{Validation of the proposed synthesis method}
|
||||||
|
|
||||||
The proposed methodology for the design of complementary filters is now applied on a simple example.
|
The proposed methodology for designing complementary filters is now applied to a simple example.
|
||||||
Let's suppose two complementary filters \(H_1(s)\) and \(H_2(s)\) have to be designed such that:
|
Consider the design of two complementary filters \(H_1(s)\) and \(H_2(s)\) with the following requirements:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item the blending frequency is around \(\SI{10}{Hz}\).
|
\item The blending frequency should be approximately \(\SI{10}{Hz}\)
|
||||||
\item the slope of \(|H_1(j\omega)|\) is \(+2\) below \(\SI{10}{Hz}\).
|
\item The slope of \(|H_1(j\omega)|\) should be \(+2\) below \(\SI{10}{Hz}\), with a low-frequency gain of \(10^{-3}\)
|
||||||
Its low frequency gain is \(10^{-3}\).
|
\item The slope of \(|H_2(j\omega)|\) should be \(-3\) above \(\SI{10}{Hz}\), with a high-frequency gain of \(10^{-3}\)
|
||||||
\item the slope of \(|H_2(j\omega)|\) is \(-3\) above \(\SI{10}{Hz}\).
|
|
||||||
Its high frequency gain is \(10^{-3}\).
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
The first step is to translate the above requirements by properly designing the weighting functions.
|
The first step involves translating these requirements by appropriately designing the weighting functions.
|
||||||
The proposed formula \eqref{eq:detail_control_sensor_weight_formula} is here used for such purpose.
|
The formula proposed in \eqref{eq:detail_control_sensor_weight_formula} is employed for this purpose.
|
||||||
Parameters used are summarized in Table \ref{tab:detail_control_sensor_weights_params}.
|
The parameters used are summarized in Table \ref{tab:detail_control_sensor_weights_params}.
|
||||||
The inverse magnitudes of the designed weighting functions, which are representing the maximum allowed norms of the complementary filters, are shown by the dashed lines in Figure \ref{fig:detail_control_sensor_hinf_filters_results}.
|
The inverse magnitudes of the designed weighting functions, which represent the maximum allowable norms of the complementary filters, are depicted by the dashed lines in Figure \ref{fig:detail_control_sensor_hinf_filters_results}.
|
||||||
|
|
||||||
\begin{minipage}[b]{0.44\linewidth}
|
\begin{minipage}[b]{0.44\linewidth}
|
||||||
\begin{center}
|
\begin{center}
|
||||||
@ -490,23 +435,23 @@ Parameter & \(W_1(s)\) & \(W_2(s)\)\\
|
|||||||
\end{center}
|
\end{center}
|
||||||
\end{minipage}
|
\end{minipage}
|
||||||
|
|
||||||
The standard \(\mathcal{H}_\infty\) synthesis is then applied to the generalized plant of Figure \ref{fig:detail_control_sensor_h_infinity_robust_fusion_plant}.
|
Standard \(\mathcal{H}_\infty\) synthesis is then applied to the generalized plant shown in Figure \ref{fig:detail_control_sensor_h_infinity_robust_fusion_plant}.
|
||||||
The filter \(H_2(s)\) that minimizes the \(\mathcal{H}_\infty\) norm between \(w\) and \([z_1,\ z_2]^{\intercal}\) is obtained.
|
This yields the filter \(H_2(s)\) that minimizes the \(\mathcal{H}_\infty\) norm from input \(w\) to outputs \([z_1,\ z_2]^{\intercal}\).
|
||||||
The \(\mathcal{H}_\infty\) norm is here found to be close to one which indicates that the synthesis is succescful: the complementary filters norms are below the maximum specified upper bounds.
|
The resulting \(\mathcal{H}_\infty\) norm is found to be close to unity, indicating successful synthesis: the norms of the complementary filters remain below the specified upper bounds.
|
||||||
This is confirmed by the bode plots of the obtained complementary filters in Figure \ref{fig:detail_control_sensor_hinf_filters_results}.
|
This is confirmed by the Bode plots of the obtained complementary filters in Figure \ref{fig:detail_control_sensor_hinf_filters_results}.
|
||||||
This simple example illustrates the fact that the proposed methodology for complementary filters shaping is easy to use and effective.
|
This straightforward example demonstrates that the proposed methodology for shaping complementary filters is both simple and effective.
|
||||||
\section{Synthesis of a set of three complementary filters}
|
\section{Synthesis of a set of three complementary filters}
|
||||||
\label{sec:detail_control_sensor_hinf_three_comp_filters}
|
\label{ssec:detail_control_sensor_hinf_three_comp_filters}
|
||||||
|
|
||||||
Some applications may require to merge more than two sensors \cite{stoten01_fusion_kinet_data_using_compos_filter,fonseca15_compl}.
|
Some applications require merging more than two sensors \cite{stoten01_fusion_kinet_data_using_compos_filter,fonseca15_compl}.
|
||||||
For instance at the LIGO, three sensors (an LVDT, a seismometer and a geophone) are merged to form a super sensor \cite{matichard15_seism_isolat_advan_ligo}.
|
For instance, at LIGO, three sensors (an LVDT, a seismometer, and a geophone) are merged to form a super sensor \cite{matichard15_seism_isolat_advan_ligo}.
|
||||||
|
|
||||||
When merging \(n>2\) sensors using complementary filters, two architectures can be used as shown in Figure \ref{fig:detail_control_sensor_fusion_three}.
|
When merging \(n>2\) sensors using complementary filters, two architectures can be employed as shown in Figure \ref{fig:detail_control_sensor_fusion_three}.
|
||||||
The fusion can either be done in a ``sequential'' way where \(n-1\) sets of two complementary filters are used (Figure \ref{fig:detail_control_sensor_fusion_three_sequential}), or in a ``parallel'' way where one set of \(n\) complementary filters is used (Figure \ref{fig:detail_control_sensor_fusion_three_parallel}).
|
The fusion can be performed either in a ``sequential'' manner where \(n-1\) sets of two complementary filters are used (Figure \ref{fig:detail_control_sensor_fusion_three_sequential}), or in a ``parallel'' manner where one set of \(n\) complementary filters is used (Figure \ref{fig:detail_control_sensor_fusion_three_parallel}).
|
||||||
|
|
||||||
In the first case, typical sensor fusion synthesis techniques can be used.
|
In the sequential approach, typical sensor fusion synthesis techniques can be applied.
|
||||||
However, when a parallel architecture is used, a new synthesis method for a set of more than two complementary filters is required as only simple analytical formulas have been proposed in the literature \cite{stoten01_fusion_kinet_data_using_compos_filter,fonseca15_compl}.
|
However, when a parallel architecture is implemented, a new synthesis method for a set of more than two complementary filters is required, as only simple analytical formulas have been proposed in the literature \cite{stoten01_fusion_kinet_data_using_compos_filter,fonseca15_compl}.
|
||||||
A generalization of the proposed synthesis method of complementary filters is presented in this section.
|
A generalization of the proposed complementary filter synthesis method is presented in this section.
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\begin{subfigure}{0.58\textwidth}
|
\begin{subfigure}{0.58\textwidth}
|
||||||
@ -524,7 +469,7 @@ A generalization of the proposed synthesis method of complementary filters is pr
|
|||||||
\caption{\label{fig:detail_control_sensor_fusion_three}Possible sensor fusion architecture when more than two sensors are to be merged}
|
\caption{\label{fig:detail_control_sensor_fusion_three}Possible sensor fusion architecture when more than two sensors are to be merged}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
The synthesis objective is to compute a set of \(n\) stable transfer functions \([H_1(s),\ H_2(s),\ \dots,\ H_n(s)]\) such that conditions \eqref{eq:detail_control_sensor_hinf_cond_compl_gen} and \eqref{eq:detail_control_sensor_hinf_cond_perf_gen} are satisfied.
|
The synthesis objective is to compute a set of \(n\) stable transfer functions \([H_1(s),\ H_2(s),\ \dots,\ H_n(s)]\) that satisfy conditions \eqref{eq:detail_control_sensor_hinf_cond_compl_gen} and \eqref{eq:detail_control_sensor_hinf_cond_perf_gen}.
|
||||||
|
|
||||||
\begin{subequations}\label{eq:detail_control_sensor_hinf_problem_gen}
|
\begin{subequations}\label{eq:detail_control_sensor_hinf_problem_gen}
|
||||||
\begin{align}
|
\begin{align}
|
||||||
@ -533,10 +478,10 @@ The synthesis objective is to compute a set of \(n\) stable transfer functions \
|
|||||||
\end{align}
|
\end{align}
|
||||||
\end{subequations}
|
\end{subequations}
|
||||||
|
|
||||||
\([W_1(s),\ W_2(s),\ \dots,\ W_n(s)]\) are weighting transfer functions that are chosen to specify the maximum complementary filters' norm during the synthesis.
|
The transfer functions \([W_1(s),\ W_2(s),\ \dots,\ W_n(s)]\) are weights selected to specify the maximum complementary filters' norm during synthesis.
|
||||||
|
|
||||||
Such synthesis objective is closely related to the one described in Section \ref{ssec:detail_control_sensor_hinf_method}, and indeed the proposed synthesis method is a generalization of the one previously presented.
|
This synthesis objective is closely related to the one described in Section \ref{ssec:detail_control_sensor_hinf_method}, and the proposed synthesis method represents a generalization of the approach previously presented.
|
||||||
A set of \(n\) complementary filters can be shaped by applying the standard \(\mathcal{H}_\infty\) synthesis to the generalized plant \(P_n(s)\) described by \eqref{eq:detail_control_sensor_generalized_plant_n_filters}.
|
A set of \(n\) complementary filters can be shaped by applying standard \(\mathcal{H}_\infty\) synthesis to the generalized plant \(P_n(s)\) described by \eqref{eq:detail_control_sensor_generalized_plant_n_filters}.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_generalized_plant_n_filters}
|
\begin{equation}\label{eq:detail_control_sensor_generalized_plant_n_filters}
|
||||||
\begin{bmatrix} z_1 \\ \vdots \\ z_n \\ v \end{bmatrix} = P_n(s) \begin{bmatrix} w \\ u_1 \\ \vdots \\ u_{n-1} \end{bmatrix}; \quad
|
\begin{bmatrix} z_1 \\ \vdots \\ z_n \\ v \end{bmatrix} = P_n(s) \begin{bmatrix} w \\ u_1 \\ \vdots \\ u_{n-1} \end{bmatrix}; \quad
|
||||||
@ -550,24 +495,24 @@ A set of \(n\) complementary filters can be shaped by applying the standard \(\m
|
|||||||
\end{bmatrix}
|
\end{bmatrix}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
If the synthesis if succescful, a set of \(n-1\) filters \([H_2(s),\ H_3(s),\ \dots,\ H_n(s)]\) are obtained such that \eqref{eq:detail_control_sensor_hinf_syn_obj_gen} is verified.
|
If the synthesis is successful, a set of \(n-1\) filters \([H_2(s),\ H_3(s),\ \dots,\ H_n(s)]\) is obtained such that \eqref{eq:detail_control_sensor_hinf_syn_obj_gen} is satisfied.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_hinf_syn_obj_gen}
|
\begin{equation}\label{eq:detail_control_sensor_hinf_syn_obj_gen}
|
||||||
\left\|\begin{matrix} \left(1 - \left[ H_2(s) + H_3(s) + \dots + H_n(s) \right]\right) W_1(s) \\ H_2(s) W_2(s) \\ \vdots \\ H_n(s) W_n(s) \end{matrix}\right\|_\infty \le 1
|
\left\|\begin{matrix} \left(1 - \left[ H_2(s) + H_3(s) + \dots + H_n(s) \right]\right) W_1(s) \\ H_2(s) W_2(s) \\ \vdots \\ H_n(s) W_n(s) \end{matrix}\right\|_\infty \le 1
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
\(H_1(s)\) is then defined using \eqref{eq:detail_control_sensor_h1_comp_h2_hn} which is ensuring the complementary property for the set of \(n\) filters \eqref{eq:detail_control_sensor_hinf_cond_compl_gen}.
|
\(H_1(s)\) is then defined using \eqref{eq:detail_control_sensor_h1_comp_h2_hn}, which ensures the complementary property for the set of \(n\) filters \eqref{eq:detail_control_sensor_hinf_cond_compl_gen}.
|
||||||
Condition \eqref{eq:detail_control_sensor_hinf_cond_perf_gen} is satisfied thanks to \eqref{eq:detail_control_sensor_hinf_syn_obj_gen}.
|
Condition \eqref{eq:detail_control_sensor_hinf_cond_perf_gen} is satisfied through \eqref{eq:detail_control_sensor_hinf_syn_obj_gen}.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_h1_comp_h2_hn}
|
\begin{equation}\label{eq:detail_control_sensor_h1_comp_h2_hn}
|
||||||
H_1(s) \triangleq 1 - \big[ H_2(s) + H_3(s) + \dots + H_n(s) \big]
|
H_1(s) \triangleq 1 - \big[ H_2(s) + H_3(s) + \dots + H_n(s) \big]
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
An example is given to validate the proposed method for the synthesis of a set of three complementary filters.
|
To validate the proposed method for synthesizing a set of three complementary filters, an example is provided.
|
||||||
The sensors to be merged are a displacement sensor from DC up to \(\SI{1}{Hz}\), a geophone from \(1\) to \(\SI{10}{Hz}\) and an accelerometer above \(\SI{10}{Hz}\).
|
The sensors to be merged are a displacement sensor (effective from DC up to \(\SI{1}{Hz}\)), a geophone (effective from \(1\) to \(\SI{10}{Hz}\)), and an accelerometer (effective above \(\SI{10}{Hz}\)).
|
||||||
Three weighting functions are designed using formula \eqref{eq:detail_control_sensor_weight_formula} and their inverse magnitude are shown in Figure \ref{fig:detail_control_sensor_three_complementary_filters_results} (dashed curves).
|
Three weighting functions are designed using formula \eqref{eq:detail_control_sensor_weight_formula}, and their inverse magnitudes are shown in Figure \ref{fig:detail_control_sensor_three_complementary_filters_results} (dashed curves).
|
||||||
|
|
||||||
Consider the generalized plant \(P_3(s)\) shown in Figure \ref{fig:detail_control_sensor_comp_filter_three_hinf_fb} which is also described by \eqref{eq:detail_control_sensor_generalized_plant_three_filters}.
|
Consider the generalized plant \(P_3(s)\) shown in Figure \ref{fig:detail_control_sensor_comp_filter_three_hinf_fb}, which is also described by \eqref{eq:detail_control_sensor_generalized_plant_three_filters}.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_generalized_plant_three_filters}
|
\begin{equation}\label{eq:detail_control_sensor_generalized_plant_three_filters}
|
||||||
\begin{bmatrix} z_1 \\ z_2 \\ z_3 \\ v \end{bmatrix} = P_3(s) \begin{bmatrix} w \\ u_1 \\ u_2 \end{bmatrix}; \quad P_3(s) = \begin{bmatrix}W_1(s) & -W_1(s) & -W_1(s) \\ 0 & \phantom{+}W_2(s) & 0 \\ 0 & 0 & \phantom{+}W_3(s) \\ 1 & 0 & 0 \end{bmatrix}
|
\begin{bmatrix} z_1 \\ z_2 \\ z_3 \\ v \end{bmatrix} = P_3(s) \begin{bmatrix} w \\ u_1 \\ u_2 \end{bmatrix}; \quad P_3(s) = \begin{bmatrix}W_1(s) & -W_1(s) & -W_1(s) \\ 0 & \phantom{+}W_2(s) & 0 \\ 0 & 0 & \phantom{+}W_3(s) \\ 1 & 0 & 0 \end{bmatrix}
|
||||||
@ -589,31 +534,23 @@ Consider the generalized plant \(P_3(s)\) shown in Figure \ref{fig:detail_contro
|
|||||||
\caption{\label{fig:detail_control_sensor_comp_filter_three_hinf}Architecture for the \(\mathcal{H}_\infty\) synthesis of three complementary filters (\subref{fig:detail_control_sensor_comp_filter_three_hinf_fb}). Bode plot of the inverse weighting functions and of the three obtained complementary filters (\subref{fig:detail_control_sensor_three_complementary_filters_results})}
|
\caption{\label{fig:detail_control_sensor_comp_filter_three_hinf}Architecture for the \(\mathcal{H}_\infty\) synthesis of three complementary filters (\subref{fig:detail_control_sensor_comp_filter_three_hinf_fb}). Bode plot of the inverse weighting functions and of the three obtained complementary filters (\subref{fig:detail_control_sensor_three_complementary_filters_results})}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
The standard \(\mathcal{H}_\infty\) synthesis is performed on the generalized plant \(P_3(s)\).
|
Standard \(\mathcal{H}_\infty\) synthesis is performed on the generalized plant \(P_3(s)\).
|
||||||
Two filters \(H_2(s)\) and \(H_3(s)\) are obtained such that the \(\mathcal{H}_\infty\) norm of the closed-loop transfer from \(w\) to \([z_1,\ z_2,\ z_3]\) of the system in Figure \ref{fig:detail_control_sensor_comp_filter_three_hinf_fb} is less than one.
|
Two filters, \(H_2(s)\) and \(H_3(s)\), are obtained such that the \(\mathcal{H}_\infty\) norm of the closed-loop transfer from \(w\) to \([z_1,\ z_2,\ z_3]\) of the system in Figure \ref{fig:detail_control_sensor_comp_filter_three_hinf_fb} is less than one.
|
||||||
Filter \(H_1(s)\) is defined using \eqref{eq:detail_control_sensor_h1_compl_h2_h3} thus ensuring the complementary property of the obtained set of filters.
|
Filter \(H_1(s)\) is defined using \eqref{eq:detail_control_sensor_h1_compl_h2_h3}, thus ensuring the complementary property of the obtained set of filters.
|
||||||
|
|
||||||
\begin{equation}\label{eq:detail_control_sensor_h1_compl_h2_h3}
|
\begin{equation}\label{eq:detail_control_sensor_h1_compl_h2_h3}
|
||||||
H_1(s) \triangleq 1 - \big[ H_2(s) + H_3(s) \big]
|
H_1(s) \triangleq 1 - \big[ H_2(s) + H_3(s) \big]
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
Figure \ref{fig:detail_control_sensor_three_complementary_filters_results} displays the three synthesized complementary filters (solid lines) which confirms that the synthesis is succescful.
|
Figure \ref{fig:detail_control_sensor_three_complementary_filters_results} displays the three synthesized complementary filters (solid lines), confirming the successful synthesis.
|
||||||
\section*{Conclusion}
|
\section*{Conclusion}
|
||||||
A new method for designing complementary filters using the \(\mathcal{H}_\infty\) synthesis has been proposed.
|
A new method for designing complementary filters using the \(\mathcal{H}_\infty\) synthesis has been proposed.
|
||||||
It allows to shape the magnitude of the filters by the use of weighting functions during the synthesis.
|
This approach allows shaping of the filter magnitudes through the use of weighting functions during synthesis.
|
||||||
This is very valuable in practice as the characteristics of the super sensor are linked to the complementary filters' magnitude.
|
This capability is particularly valuable in practice since the characteristics of the super sensor are directly linked to the complementary filters' magnitude.
|
||||||
Therefore typical sensor fusion objectives can be translated into requirements on the magnitudes of the filters.
|
Consequently, typical sensor fusion objectives can be effectively translated into requirements on the magnitudes of the filters.
|
||||||
Several examples were used to emphasize the simplicity and the effectiveness of the proposed method.
|
|
||||||
|
|
||||||
However, the shaping of the complementary filters' magnitude does not allow to directly optimize the super sensor noise and dynamical characteristics.
|
For the Nano Active Stabilization System (NASS), the High Authority Control-Integral Force Feedback (HAC-IFF) strategy was found to perform well and to offer the advantages of being both intuitive to understand and straightforward to tune.
|
||||||
Future work will aim at developing a complementary filter synthesis method that minimizes the super sensor noise while ensuring the robustness of the fusion.
|
Looking forward, it would be interesting to investigate how sensor fusion (particularly between the force sensor and external metrology) compares to the HAC-IFF approach in terms of performance and robustness.
|
||||||
|
|
||||||
\begin{itemize}
|
|
||||||
\item Talk about the possibility to use H2 to minimize the RMS value of the super sensor noise? (or maybe make a section about that?)
|
|
||||||
There is a draft paper about that.
|
|
||||||
\item For the NASS, it was shown that the HAC-IFF strategy works fine and is easy to understand and tune
|
|
||||||
\item It would be very interesting to see how sensor fusion (probably between the force sensor and the external metrology) compares in term of performance and robustness
|
|
||||||
\end{itemize}
|
|
||||||
\chapter{Decoupling}
|
\chapter{Decoupling}
|
||||||
\label{sec:detail_control_decoupling}
|
\label{sec:detail_control_decoupling}
|
||||||
|
|
||||||
@ -820,7 +757,7 @@ Depending on the symmetry in the system, some diagonal elements may be equal (su
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
\section{Jacobian Decoupling}
|
\section{Jacobian Decoupling}
|
||||||
\label{ssec:detail_control_decoupling_jacobian}
|
\label{ssec:detail_control_decoupling_jacobian}
|
||||||
\subsubsection{Jacobian Matrix}
|
\paragraph{Jacobian Matrix}
|
||||||
|
|
||||||
As already explained, the Jacobian matrix can be used to both convert strut velocity \(\dot{\mathcal{L}}\) to payload velocity and angular velocity \(\dot{\bm{\mathcal{X}}}_{\{O\}}\) and Convert actuators forces \(\bm{\tau}\) to forces/torque applied on the payload \(\bm{\mathcal{F}}_{\{O\}}\) \eqref{eq:detail_control_decoupling_jacobian}.
|
As already explained, the Jacobian matrix can be used to both convert strut velocity \(\dot{\mathcal{L}}\) to payload velocity and angular velocity \(\dot{\bm{\mathcal{X}}}_{\{O\}}\) and Convert actuators forces \(\bm{\tau}\) to forces/torque applied on the payload \(\bm{\mathcal{F}}_{\{O\}}\) \eqref{eq:detail_control_decoupling_jacobian}.
|
||||||
|
|
||||||
@ -850,7 +787,7 @@ The obtained plan (Figure \ref{fig:detail_control_jacobian_decoupling_arch}) has
|
|||||||
The frame \(\{O\}\) can be any chosen frame, but the decoupling properties depends on the chosen frame \(\{O\}\).
|
The frame \(\{O\}\) can be any chosen frame, but the decoupling properties depends on the chosen frame \(\{O\}\).
|
||||||
There are two natural choices: the center of mass \(\{M\}\) and the center of stiffness \(\{K\}\).
|
There are two natural choices: the center of mass \(\{M\}\) and the center of stiffness \(\{K\}\).
|
||||||
Note that the Jacobian matrix is only based on the geometry of the system and does not depend on the physical properties such as mass and stiffness.
|
Note that the Jacobian matrix is only based on the geometry of the system and does not depend on the physical properties such as mass and stiffness.
|
||||||
\subsubsection{Center Of Mass}
|
\paragraph{Center Of Mass}
|
||||||
|
|
||||||
If the center of mass is chosen as the decoupling frame.
|
If the center of mass is chosen as the decoupling frame.
|
||||||
The Jacobian matrix and its inverse are expressed in \eqref{eq:detail_control_decoupling_jacobian_CoM_inverse}.
|
The Jacobian matrix and its inverse are expressed in \eqref{eq:detail_control_decoupling_jacobian_CoM_inverse}.
|
||||||
@ -913,7 +850,7 @@ this is illustrated in Figure \ref{fig:detail_control_decoupling_model_test_CoM}
|
|||||||
\end{subfigure}
|
\end{subfigure}
|
||||||
\caption{\label{fig:detail_control_jacobian_decoupling_plant_CoM_results}Plant decoupled using the Jacobian matrix expresssed at the center of mass (\subref{fig:detail_control_decoupling_jacobian_plant_CoM}). The physical reason for low frequency coupling is illustrated in (\subref{fig:detail_control_decoupling_model_test_CoM}).}
|
\caption{\label{fig:detail_control_jacobian_decoupling_plant_CoM_results}Plant decoupled using the Jacobian matrix expresssed at the center of mass (\subref{fig:detail_control_decoupling_jacobian_plant_CoM}). The physical reason for low frequency coupling is illustrated in (\subref{fig:detail_control_decoupling_model_test_CoM}).}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\subsubsection{Center Of Stiffness}
|
\paragraph{Center Of Stiffness}
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\includegraphics[scale=1]{figs/detail_control_decoupling_control_jacobian_CoK.png}
|
\includegraphics[scale=1]{figs/detail_control_decoupling_control_jacobian_CoK.png}
|
||||||
@ -1037,7 +974,7 @@ I think so
|
|||||||
Are they orthogonal?
|
Are they orthogonal?
|
||||||
\item[{$\square$}] Say that the obtained plant are second order systems
|
\item[{$\square$}] Say that the obtained plant are second order systems
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\subsubsection{Example}
|
\paragraph{Example}
|
||||||
|
|
||||||
From the mass matrix \(\bm{M}_{\{M\}}\) and stiffness matrix \(\bm{K}_{\{M\}}\) expressed at the center of mass, the eigenvectors of \(\bm{M}_{\{M\}}^{-1}\bm{K}_{\{M\}}\) are computed.
|
From the mass matrix \(\bm{M}_{\{M\}}\) and stiffness matrix \(\bm{K}_{\{M\}}\) expressed at the center of mass, the eigenvectors of \(\bm{M}_{\{M\}}^{-1}\bm{K}_{\{M\}}\) are computed.
|
||||||
|
|
||||||
@ -1104,7 +1041,7 @@ Eigenvectors are arranged for increasing eigenvalues (i.e. resonance frequencies
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
\section{SVD Decoupling}
|
\section{SVD Decoupling}
|
||||||
\label{ssec:detail_control_decoupling_svd}
|
\label{ssec:detail_control_decoupling_svd}
|
||||||
\subsubsection{Singular Value Decomposition}
|
\paragraph{Singular Value Decomposition}
|
||||||
|
|
||||||
Singular Value Decomposition (SVD)
|
Singular Value Decomposition (SVD)
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
@ -1128,7 +1065,7 @@ The idea to use Singular Value Decomposition as a way to decouple a plant is not
|
|||||||
\item[{$\square$}] Quick review of SVD controllers
|
\item[{$\square$}] Quick review of SVD controllers
|
||||||
\cite[, chapt. 3.5.4]{skogestad07_multiv_feedb_contr}
|
\cite[, chapt. 3.5.4]{skogestad07_multiv_feedb_contr}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\subsubsection{Decoupling using the SVD}
|
\paragraph{Decoupling using the SVD}
|
||||||
|
|
||||||
\textbf{Procedure}:
|
\textbf{Procedure}:
|
||||||
Identify the dynamics of the system from inputs to outputs (can be obtained experimentally)
|
Identify the dynamics of the system from inputs to outputs (can be obtained experimentally)
|
||||||
@ -1170,7 +1107,7 @@ The inputs and outputs are ordered from higher gain to lower gain at the chosen
|
|||||||
\item[{$\square$}] Do we loose any physical meaning of the obtained inputs and outputs?
|
\item[{$\square$}] Do we loose any physical meaning of the obtained inputs and outputs?
|
||||||
\item[{$\square$}] Can we take advantage of the fact that U and V are unitary?
|
\item[{$\square$}] Can we take advantage of the fact that U and V are unitary?
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\subsubsection{Example}
|
\paragraph{Example}
|
||||||
|
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
@ -1405,7 +1342,7 @@ In this paper, we propose a new controller synthesis method
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
\section{Control Architecture}
|
\section{Control Architecture}
|
||||||
\label{ssec:detail_control_cf_control_arch}
|
\label{ssec:detail_control_cf_control_arch}
|
||||||
\subsubsection{Virtual Sensor Fusion}
|
\paragraph{Virtual Sensor Fusion}
|
||||||
|
|
||||||
Let's consider the control architecture represented in Figure \ref{fig:detail_control_cf_arch} where \(G^\prime\) is the physical plant to control, \(G\) is a model of the plant, \(k\) is a gain, \(H_L\) and \(H_H\) are complementary filters (\(H_L(s) + H_H(s) = 1\)).
|
Let's consider the control architecture represented in Figure \ref{fig:detail_control_cf_arch} where \(G^\prime\) is the physical plant to control, \(G\) is a model of the plant, \(k\) is a gain, \(H_L\) and \(H_H\) are complementary filters (\(H_L(s) + H_H(s) = 1\)).
|
||||||
The signals are the reference signal \(r\), the output perturbation \(d_y\), the measurement noise \(n\) and the control input \(u\).
|
The signals are the reference signal \(r\), the output perturbation \(d_y\), the measurement noise \(n\) and the control input \(u\).
|
||||||
@ -1448,7 +1385,7 @@ The dynamics of the system can be rewritten \eqref{eq:detail_control_cf_sf_cl_tf
|
|||||||
u &= \frac{-K H_L}{1+G^{\prime} K H_L} dy &&+ \frac{K}{1+G^{\prime} K H_L} r &&- \frac{K H_L}{1+G^{\prime} K H_L} n
|
u &= \frac{-K H_L}{1+G^{\prime} K H_L} dy &&+ \frac{K}{1+G^{\prime} K H_L} r &&- \frac{K H_L}{1+G^{\prime} K H_L} n
|
||||||
\end{alignat}
|
\end{alignat}
|
||||||
\end{subequations}
|
\end{subequations}
|
||||||
\subsubsection{Asymptotic behavior}
|
\paragraph{Asymptotic behavior}
|
||||||
|
|
||||||
Let's take the extreme case of very high values for \(k\).
|
Let's take the extreme case of very high values for \(k\).
|
||||||
In that case \(K(s)\) converges to plant inverse multiply by the inverse of the high pass filter \eqref{eq:detail_control_cf_high_k}.
|
In that case \(K(s)\) converges to plant inverse multiply by the inverse of the high pass filter \eqref{eq:detail_control_cf_high_k}.
|
||||||
@ -1497,13 +1434,13 @@ The process of designing a controller \(K(s)\) in order to obtain the desired sh
|
|||||||
|
|
||||||
The equations \eqref{eq:detail_control_cf_cl_system_y} and \eqref{eq:detail_control_cf_cl_system_u} describing the dynamics of the studied feedback architecture are not written in terms of the controller \(K(s)\) but in terms of the complementary filters \(H_L(s)\) and \(H_H(s)\).
|
The equations \eqref{eq:detail_control_cf_cl_system_y} and \eqref{eq:detail_control_cf_cl_system_u} describing the dynamics of the studied feedback architecture are not written in terms of the controller \(K(s)\) but in terms of the complementary filters \(H_L(s)\) and \(H_H(s)\).
|
||||||
The typical specifications are then translated into the desired shapes of the complementary filters.
|
The typical specifications are then translated into the desired shapes of the complementary filters.
|
||||||
\subsubsection{Nominal Stability (NS)}
|
\paragraph{Nominal Stability (NS)}
|
||||||
The closed-loop system is stable if all its elements are stable (\(K\), \(G^\prime\) and \(H_L\)) and if the sensitivity function (\(S = \frac{1}{1 + G^\prime K H_L}\)) is stable.
|
The closed-loop system is stable if all its elements are stable (\(K\), \(G^\prime\) and \(H_L\)) and if the sensitivity function (\(S = \frac{1}{1 + G^\prime K H_L}\)) is stable.
|
||||||
For the nominal system (\(G^\prime = G\)), the sensitivity transfer function is equal to the high pass filter: \(S(s) = H_H(s)\).
|
For the nominal system (\(G^\prime = G\)), the sensitivity transfer function is equal to the high pass filter: \(S(s) = H_H(s)\).
|
||||||
|
|
||||||
Nominal stability is then guaranteed if \(H_L\), \(H_H\) and \(G\) are stable and if \(G\) and \(H_H\) are minimum phase (to have \(K\) stable).
|
Nominal stability is then guaranteed if \(H_L\), \(H_H\) and \(G\) are stable and if \(G\) and \(H_H\) are minimum phase (to have \(K\) stable).
|
||||||
Therefore stable and minimum phase complementary filters need to be used.
|
Therefore stable and minimum phase complementary filters need to be used.
|
||||||
\subsubsection{Nominal Performance (NP)}
|
\paragraph{Nominal Performance (NP)}
|
||||||
Two performance weights \(w_H\) and \(w_L\) are here defined in such a way that performance specifications are satisfied is \eqref{eq:detail_control_cf_weights} is satisfied.
|
Two performance weights \(w_H\) and \(w_L\) are here defined in such a way that performance specifications are satisfied is \eqref{eq:detail_control_cf_weights} is satisfied.
|
||||||
|
|
||||||
\begin{subequations}\label{eq:detail_control_cf_weights}
|
\begin{subequations}\label{eq:detail_control_cf_weights}
|
||||||
@ -1535,7 +1472,7 @@ Classical stability margins (gain and phase margins) can also be linked to the m
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
Typically, having \(|S|_{\infty} \le 2\) guarantees a gain margin of at least \(2\) and a phase margin of at least \(\SI{29}{\degree}\).
|
Typically, having \(|S|_{\infty} \le 2\) guarantees a gain margin of at least \(2\) and a phase margin of at least \(\SI{29}{\degree}\).
|
||||||
\subsubsection{Response time to change of reference signal}
|
\paragraph{Response time to change of reference signal}
|
||||||
For the nominal system, the model is accurate and the transfer function from reference signal \(r\) to output \(y\) is \(1\) \eqref{eq:detail_control_cf_cl_performance_y} and does not depends of the complementary filters.
|
For the nominal system, the model is accurate and the transfer function from reference signal \(r\) to output \(y\) is \(1\) \eqref{eq:detail_control_cf_cl_performance_y} and does not depends of the complementary filters.
|
||||||
|
|
||||||
However, one can add a pre-filter as shown in Figure \ref{fig:detail_control_cf_arch_class_prefilter}.
|
However, one can add a pre-filter as shown in Figure \ref{fig:detail_control_cf_arch_class_prefilter}.
|
||||||
@ -1552,7 +1489,7 @@ Typically, \(K_r\) is a low pass filter of the form
|
|||||||
K_r(s) = \frac{1}{1 + \tau s}
|
K_r(s) = \frac{1}{1 + \tau s}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
with \(\tau\) corresponding to the desired response time.
|
with \(\tau\) corresponding to the desired response time.
|
||||||
\subsubsection{Input usage}
|
\paragraph{Input usage}
|
||||||
Input usage due to disturbances \(d_y\) and measurement noise \(n\) is determined by \(\big|\frac{u}{d_y}\big| = \big|\frac{u}{n}\big| = \big|G^{-1}H_L\big|\).
|
Input usage due to disturbances \(d_y\) and measurement noise \(n\) is determined by \(\big|\frac{u}{d_y}\big| = \big|\frac{u}{n}\big| = \big|G^{-1}H_L\big|\).
|
||||||
Thus it can be limited by setting an upper bound on \(|H_L|\).
|
Thus it can be limited by setting an upper bound on \(|H_L|\).
|
||||||
|
|
||||||
@ -1560,7 +1497,7 @@ Thus it can be limited by setting an upper bound on \(|H_L|\).
|
|||||||
Input usage due to reference signal \(r\) is determined by \(\big|\frac{u}{r}\big| = \big|G^{-1} K_r\big|\) when using a pre-filter (Figure \ref{fig:detail_control_cf_arch_class_prefilter}) and \(\big|\frac{u}{r}\big| = \big|G^{-1}\big|\) otherwise.
|
Input usage due to reference signal \(r\) is determined by \(\big|\frac{u}{r}\big| = \big|G^{-1} K_r\big|\) when using a pre-filter (Figure \ref{fig:detail_control_cf_arch_class_prefilter}) and \(\big|\frac{u}{r}\big| = \big|G^{-1}\big|\) otherwise.
|
||||||
|
|
||||||
Proper choice of \(|K_r|\) is then useful to limit input usage due to change of reference signal.
|
Proper choice of \(|K_r|\) is then useful to limit input usage due to change of reference signal.
|
||||||
\subsubsection{Robust Stability (RS)}
|
\paragraph{Robust Stability (RS)}
|
||||||
|
|
||||||
Robustness stability represents the ability of the control system to remain stable even though there are differences between the actual system \(G^\prime\) and the model \(G\) that was used for the design of the controller.
|
Robustness stability represents the ability of the control system to remain stable even though there are differences between the actual system \(G^\prime\) and the model \(G\) that was used for the design of the controller.
|
||||||
These differences can have various origins such as unmodelled dynamics or non-linearities.
|
These differences can have various origins such as unmodelled dynamics or non-linearities.
|
||||||
@ -1602,7 +1539,7 @@ After some algebraic manipulations, robust stability is then guaranteed by havin
|
|||||||
\begin{equation}\label{eq:detail_control_cf_condition_robust_stability}
|
\begin{equation}\label{eq:detail_control_cf_condition_robust_stability}
|
||||||
\boxed{\text{RS} \Longleftrightarrow |w_I(j\omega) H_L(j\omega)| \le 1 \quad \forall \omega}
|
\boxed{\text{RS} \Longleftrightarrow |w_I(j\omega) H_L(j\omega)| \le 1 \quad \forall \omega}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
\subsubsection{Robust Performance (RP)}
|
\paragraph{Robust Performance (RP)}
|
||||||
Robust performance is a property for a controlled system to have its performance guaranteed even though the dynamics of the plant is changing within specified bounds.
|
Robust performance is a property for a controlled system to have its performance guaranteed even though the dynamics of the plant is changing within specified bounds.
|
||||||
|
|
||||||
For robust performance, we then require to have the performance condition valid for all possible plants in the defined uncertainty set \eqref{eq:detail_control_cf_robust_perf_S}.
|
For robust performance, we then require to have the performance condition valid for all possible plants in the defined uncertainty set \eqref{eq:detail_control_cf_robust_perf_S}.
|
||||||
@ -1687,7 +1624,7 @@ Such filters can also be implemented in the digital domain with analytical formu
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
\section{Numerical Example}
|
\section{Numerical Example}
|
||||||
\label{ssec:detail_control_cf_simulations}
|
\label{ssec:detail_control_cf_simulations}
|
||||||
\subsubsection{Procedure}
|
\paragraph{Procedure}
|
||||||
|
|
||||||
In order to apply this control technique, we propose the following procedure:
|
In order to apply this control technique, we propose the following procedure:
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
@ -1699,7 +1636,7 @@ If the synthesis fails to give filters satisfying the upper bounds previously de
|
|||||||
For simple cases, analytical formulas of complementary filters given in Section \ref{ssec:detail_control_cf_analytical_complementary_filters} can be used.
|
For simple cases, analytical formulas of complementary filters given in Section \ref{ssec:detail_control_cf_analytical_complementary_filters} can be used.
|
||||||
\item If \(K(s) = \left( G(s) H_H(s) \right)^{-1}\) is not proper, low pass filters should be added high a high corner frequency
|
\item If \(K(s) = \left( G(s) H_H(s) \right)^{-1}\) is not proper, low pass filters should be added high a high corner frequency
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
\subsubsection{Plant}
|
\paragraph{Plant}
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item To test this control architecture, a simple test model is used (Figure \ref{fig:detail_control_cf_test_model}).
|
\item To test this control architecture, a simple test model is used (Figure \ref{fig:detail_control_cf_test_model}).
|
||||||
@ -1742,7 +1679,7 @@ The nominal plant dynamics as well as the entire set of possible plants \(\Pi_i\
|
|||||||
\end{subfigure}
|
\end{subfigure}
|
||||||
\caption{\label{fig:detail_control_cf_test_model_plant}Schematic of the test system (\subref{fig:detail_control_cf_test_model}). Bode plot of the transfer function \(G(s)\) from \(F\) to \(y\) and the associated uncertainty set (\subref{fig:detail_control_cf_bode_plot_mech_sys}).}
|
\caption{\label{fig:detail_control_cf_test_model_plant}Schematic of the test system (\subref{fig:detail_control_cf_test_model}). Bode plot of the transfer function \(G(s)\) from \(F\) to \(y\) and the associated uncertainty set (\subref{fig:detail_control_cf_bode_plot_mech_sys}).}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\subsubsection{Requirements and choice of complementary filters}
|
\paragraph{Requirements and choice of complementary filters}
|
||||||
|
|
||||||
As explained in Section \ref{ssec:detail_control_cf_trans_perf}, nominal performance requirements can be expressed as upper bounds on the complementary filter shapes.
|
As explained in Section \ref{ssec:detail_control_cf_trans_perf}, nominal performance requirements can be expressed as upper bounds on the complementary filter shapes.
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
@ -1781,7 +1718,7 @@ While the \(\mathcal{H}_\infty\) synthesis of complementary filters could be use
|
|||||||
|
|
||||||
For this simple example, analytical formulas proposed to have +2 and -2 slopes \eqref{eq:detail_control_cf_2nd_order} were used.
|
For this simple example, analytical formulas proposed to have +2 and -2 slopes \eqref{eq:detail_control_cf_2nd_order} were used.
|
||||||
\(\alpha = 1\) and \(\omega_0 = 2\pi \cdot 20\) were used.
|
\(\alpha = 1\) and \(\omega_0 = 2\pi \cdot 20\) were used.
|
||||||
\subsubsection{Controller analysis}
|
\paragraph{Controller analysis}
|
||||||
|
|
||||||
The controller to be implemented is \(K(s) = \tilde{G}^{-1}(s) H_H^{-1}(s)\), with \(\tilde{G}^{-1}(s)\) is the plant inverse which needs to be stable and proper.
|
The controller to be implemented is \(K(s) = \tilde{G}^{-1}(s) H_H^{-1}(s)\), with \(\tilde{G}^{-1}(s)\) is the plant inverse which needs to be stable and proper.
|
||||||
Therefore, some low pass filters are added at high frequency \eqref{eq:detail_control_cf_test_plant_inverse}.
|
Therefore, some low pass filters are added at high frequency \eqref{eq:detail_control_cf_test_plant_inverse}.
|
||||||
@ -1796,7 +1733,7 @@ The obtained bode plot of the controller times the complementary high pass filte
|
|||||||
\item a notch is located at the plant resonance (inverse)
|
\item a notch is located at the plant resonance (inverse)
|
||||||
\item a lead is added near the bandwidth around \(\SI{20}{Hz}\)
|
\item a lead is added near the bandwidth around \(\SI{20}{Hz}\)
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\subsubsection{Robustness and Performance analysis}
|
\paragraph{Robustness and Performance analysis}
|
||||||
The robust stability can be access on the Nyquist plot (Figure \ref{fig:detail_control_cf_nyquist_robustness}).
|
The robust stability can be access on the Nyquist plot (Figure \ref{fig:detail_control_cf_nyquist_robustness}).
|
||||||
Even when considering all the possible plants in the uncertainty set, the nyquist plot stays away from the unstable point, indicating good robustness.
|
Even when considering all the possible plants in the uncertainty set, the nyquist plot stays away from the unstable point, indicating good robustness.
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user