diff --git a/nass-control.org b/nass-control.org index a568e0e..7554cfa 100644 --- a/nass-control.org +++ b/nass-control.org @@ -103,6 +103,27 @@ Discussion about: - *Control optimization* ** 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 <> @@ -822,12 +843,16 @@ CLOSED: [2025-04-05 Sat 17:43] 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: -- =detail_control_sensor_fusion= +- =detail_control_sensor= - =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? @@ -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/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: -- Vibration Control -- 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]]. +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. +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. #+begin_src latex :file detail_control_sensor_arch_hac_lac.pdf \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}) #+attr_latex: :options [htbp] #+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} #+begin_subfigure #+attr_latex: :scale 1 [[file:figs/detail_control_sensor_arch_hac_lac.png]] #+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} #+begin_subfigure #+attr_latex: :scale 1 @@ -1010,7 +1014,7 @@ Comparison between "two sensor control" and "sensor fusion" is given in [[cite:& #+end_subfigure \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} #+begin_subfigure #+attr_latex: :scale 1 @@ -1018,86 +1022,87 @@ Comparison between "two sensor control" and "sensor fusion" is given in [[cite:& #+end_subfigure #+end_figure -The use of multiple sensors have already been used for the Stewart platform. -Table ref:tab:detail_control_sensor_review +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). +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 -#+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* | -|------------------+---------------------------------------------------+---------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------| -| 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]] | +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. +In [[cite:&hauge04_sensor_contr_space_based_six]], geophones (used at low frequency) are merged with force sensors (used at high frequency). +It is demonstrated that combining both sensors using sensor fusion can improve performance compared to using the individual sensors independently. +In [[cite:&tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip]], sensor fusion architecture is implemented with an accelerometer and a force sensor. +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). +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. -This is a very comprehensive approach that proved to give good performances. +Beyond these three main approaches, other control architectures have been proposed for different purposes. +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. -But it is also more complex. +The HAC-LAC architecture was previously investigated during the conceptual phase and successfully implemented to validate the NASS concept, demonstrating excellent performance. +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: -- may be used to optimize the noise characteristics -- optimize the dynamical uncertainty +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). +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. +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 +<> 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. 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. -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]]. -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 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]]. -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]]. -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 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 extended by fusing it with an accelerometer that provides high-frequency motion information. +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 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 to improve the stability margins of the feedback controller. -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]]. -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 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]]. -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]]. +On top of Stewart platforms, practical applications of sensor fusion are numerous. +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]]. +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]]. +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 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]]. -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]]. -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. -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. +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, 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, 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, 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. -In the early days of complementary filtering, analog circuits were employed 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. +A set of filters is considered complementary if the sum of their transfer functions equals one at all frequencies. +In early implementations of complementary filtering, analog circuits were used to physically realize the filters [[cite:&anderson53_instr_approac_system_steer_comput]]. +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. -The easiest way to design complementary filters is to use 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]]. +Various design methods have been developed to optimize complementary filters. +The most straightforward approach utilizes analytical formulas. +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. -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]]. -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. -Therefore, all the powerful tools developed for the classical control theory can also be used for the design of complementary filters. -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. +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 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 demonstrated in [[cite:&plummer06_optim_compl_filter_their_applic_motion_measur]], complementary filter design can be linked to the standard mixed-sensitivity control problem. +Consequently, the powerful tools developed for classical control theory can be applied to complementary filter design. +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. -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. -Hence, the robustness of the fusion is also of concern when designing the 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. +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. +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. +Therefore, the robustness of the fusion must be considered when designing complementary filters. +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]]. -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. +Fortunately, both fusion robustness and super sensor characteristics can be linked to complementary filter magnitude [[cite:&dehaeze19_compl_filter_shapin_using_synth]]. +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: #+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 <> -**** Introduction :ignore: +**** Sensor Fusion Architecture :ignore: -Complementary filtering provides a framework for fusing signals from different sensors. -As the effectiveness of the fusion depends on the proper design of the complementary filters, they are expected to fulfill certain requirements. -These requirements are discussed in this section. - -**** 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. +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$. +The sensor output signals $\hat{x}_1$ and $\hat{x}_2$ represent estimates of $x$. +These estimates are filtered by complementary filters and combined to form a new estimate $\hat{x}$. #+begin_src latex :file detail_control_sensor_fusion_overview.pdf \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: [[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. -That is, unity magnitude and zero phase at all frequencies. +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. \begin{equation}\label{eq:detail_control_sensor_comp_filter} 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 -In order to study such sensor fusion architecture, a model for the sensors is 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 input $x$ is the measured physical quantity and its output $\tilde{x}_i$ is the "raw" output of the sensor. +To analyze sensor fusion architectures, appropriate sensor models are required. +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. -Before filtering the sensor outputs $\tilde{x}_i$ by the complementary filters, the sensors are usually normalized to simplify the fusion. -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. -It is here supposed 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$. -The sensor dynamics estimate $\hat{G}_i(s)$ can be a simple gain or a more complex transfer function. +Prior to filtering the sensor outputs $\tilde{x}_i$ with complementary filters, the sensors are typically normalized to simplify the fusion process. +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 assumed that the sensor inverse $\hat{G}_i^{-1}(s)$ is proper and stable. +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)$ may be a simple gain or a more complex transfer function. #+begin_src latex :file detail_control_sensor_model.pdf \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 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 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 -First, suppose that all the sensors are perfectly normalized eqref:eq:detail_control_sensor_perfect_dynamics. -The effect of a non-perfect normalization will be discussed afterwards. +First, consider the case where all sensors are perfectly normalized eqref:eq:detail_control_sensor_perfect_dynamics. +The effects of imperfect normalization will be addressed subsequently. \begin{equation}\label{eq:detail_control_sensor_perfect_dynamics} \frac{\hat{x}_i}{x} = \hat{G}_i(s) G_i(s) = 1 \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. -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. -Thus, this sensor fusion architecture permits to filter the noise of both sensors without introducing any distortion in the physical quantity to be measured. -This is why the two filters must be complementary. +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 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 allows filtering of sensor noise without introducing distortion in the measured physical quantity. +This fundamental property necessitates that the two filters must be complementary. \begin{equation}\label{eq:detail_control_sensor_estimate_perfect_dyn} \hat{x} = x + H_1(s) n_1 + H_2(s) n_2 \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} - \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} -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} - \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} -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. -This is the simplest form of sensor fusion with complementary filters. +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 represents the simplest form of sensor fusion using complementary filters. -However, the two sensors have usually high noise levels over distinct 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)$. -Hence, by properly shaping the norm of the complementary filters, it is possible to minimize the noise of the super sensor. +However, sensors typically exhibit high noise levels in different frequency regions. +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)$. +Therefore, by appropriately shaping the norm of the complementary filters, the noise of the super sensor can be minimized. **** 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). -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 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)|$. +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 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 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 \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_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 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). @@ -1570,31 +1570,24 @@ The dynamical uncertainty of the super sensor can be graphically represented in #+end_subfigure #+end_figure -The super sensor dynamical uncertainty, and hence 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. - -\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. +The super sensor dynamical uncertainty, and consequently the robustness of the fusion, clearly depends on the complementary filters' norm. +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. ** Complementary Filters Shaping <> **** 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. -Therefore, a synthesis method of complementary filters that allows to shape their norm would be of great use. -In this section, such synthesis is proposed by writing the synthesis 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. -Finally, the synthesis method is validated on an simple example. +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. +Consequently, a synthesis method that enables precise shaping of complementary filter norms would provide significant practical benefits. +In this section, such a synthesis approach is developed by formulating the design objective as a standard $\mathcal{H}_\infty$ optimization problem. +The proper design of weighting functions, which are used to specify the desired complementary filter shapes during synthesis, is discussed in detail. +Finally, the efficacy of the proposed synthesis method is validated through a simple example. **** 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. -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. -$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 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 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. +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{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 -The synthesis objective can be easily expressed as a standard $\mathcal{H}_\infty$ optimization problem and therefore solved using convenient tools readily available. -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. +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)$ 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{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_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} \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} -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} 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 \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. -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]]. +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. +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 are used during the synthesis to specify the maximum allowed complementary filters' norm. -The proper design of these weighting functions is of primary importance for the success of the presented $\mathcal{H}_\infty$ synthesis of complementary filters. +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 essential for the successful implementation of the proposed $\mathcal{H}_\infty$ synthesis approach. -First, only proper and stable transfer functions should be used. -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). -Third, one should not forget the fundamental limitations imposed by the complementary property eqref:eq:detail_control_sensor_comp_filter. -This implies for instance that $|H_1(j\omega)|$ and $|H_2(j\omega)|$ cannot be made small at the same frequency. +Three key considerations should guide the design of weighting functions. +First, only proper and stable transfer functions should be employed. +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). +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. -To easily express these specifications, formula eqref:eq:detail_control_sensor_weight_formula is proposed to help with 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 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. +When designing complementary filters, it is typically desirable to specify their slopes, "blending" frequency, and maximum gains at low and high frequencies. +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 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 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 %% Weighting Function Design @@ -1795,18 +1788,16 @@ exportFig('figs/detail_control_sensor_weight_formula.pdf', 'width', 'half', 'hei **** Validation of the proposed synthesis method -The proposed methodology for the design of complementary filters is now applied on a simple example. -Let's suppose two complementary filters $H_1(s)$ and $H_2(s)$ have to be designed such that: -- the blending frequency is around $\SI{10}{Hz}$. -- the slope of $|H_1(j\omega)|$ is $+2$ below $\SI{10}{Hz}$. - Its low frequency gain is $10^{-3}$. -- the slope of $|H_2(j\omega)|$ is $-3$ above $\SI{10}{Hz}$. - Its high frequency gain is $10^{-3}$. +The proposed methodology for designing complementary filters is now applied to a simple example. +Consider the design of two complementary filters $H_1(s)$ and $H_2(s)$ with the following requirements: +- The blending frequency should be approximately $\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}$ +- The slope of $|H_2(j\omega)|$ should be $-3$ above $\SI{10}{Hz}$, with a high-frequency gain of $10^{-3}$ -The first step is to translate the above requirements by properly designing the weighting functions. -The proposed formula eqref:eq:detail_control_sensor_weight_formula is here used for such purpose. -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 first step involves translating these requirements by appropriately designing the weighting functions. +The formula proposed in eqref:eq:detail_control_sensor_weight_formula is employed for this purpose. +The parameters used are summarized in Table ref:tab:detail_control_sensor_weights_params. +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 %% 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]] #+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. -The filter $H_2(s)$ that minimizes the $\mathcal{H}_\infty$ norm between $w$ and $[z_1,\ z_2]^{\intercal}$ is obtained. -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. -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. +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. +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 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 straightforward example demonstrates that the proposed methodology for shaping complementary filters is both simple and effective. ** Synthesis of a set of three complementary filters -<> +<> -Some applications may require to merge 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]]. +Some applications require merging more than two sensors [[cite:&stoten01_fusion_kinet_data_using_compos_filter;&fonseca15_compl]]. +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. -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). +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 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. -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]]. -A generalization of the proposed synthesis method of complementary filters is presented in this section. +In the sequential approach, typical sensor fusion synthesis techniques can be applied. +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 complementary filter synthesis method is presented in this section. #+begin_src latex :file detail_control_sensor_fusion_three_sequential.pdf \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_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{align} @@ -1995,10 +1986,10 @@ The synthesis objective is to compute a set of $n$ stable transfer functions $[H \end{align} \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. -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. +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 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{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{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} \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} -$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. -Condition eqref:eq:detail_control_sensor_hinf_cond_perf_gen is satisfied thanks to eqref:eq:detail_control_sensor_hinf_syn_obj_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 through eqref:eq:detail_control_sensor_hinf_syn_obj_gen. \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] \end{equation} -An example is given to validate the proposed method for the synthesis of a set of three complementary filters. -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}$. -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). +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 (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 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{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_src - #+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}) #+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_figure -The 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. -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. +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. +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} H_1(s) \triangleq 1 - \big[ H_2(s) + H_3(s) \big] \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 %% 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'); #+end_src -** TODO Conclusion +** Conclusion :PROPERTIES: :UNNUMBERED: t :END: 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 is very valuable in practice as the characteristics of the super sensor are linked to the complementary filters' magnitude. -Therefore typical sensor fusion objectives can be translated into requirements on the magnitudes of the filters. -Several examples were used to emphasize the simplicity and the effectiveness of the proposed method. +This approach allows shaping of the filter magnitudes through the use of weighting functions during synthesis. +This capability is particularly valuable in practice since the characteristics of the super sensor are directly linked to the complementary filters' magnitude. +Consequently, typical sensor fusion objectives can be effectively translated into requirements on the magnitudes of the filters. -However, the shaping of the complementary filters' magnitude does not allow to directly optimize the super sensor noise and dynamical characteristics. -Future work will aim at developing a complementary filter synthesis method that minimizes the super sensor noise while ensuring the robustness of the fusion. - -- 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 +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. +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. * Decoupling :PROPERTIES: @@ -4551,3 +4535,7 @@ addpath('./src/'); % Path for functions %% Colors for the figures colors = colororder; #+END_SRC + +* Footnotes + +[fn:detail_control_1]A set of two complementary filters are two transfer functions that sum to one. diff --git a/nass-control.pdf b/nass-control.pdf index 84082a9..b57e387 100644 Binary files a/nass-control.pdf and b/nass-control.pdf differ diff --git a/nass-control.tex b/nass-control.tex index 17b8f15..514c44c 100644 --- a/nass-control.tex +++ b/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 \documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt} @@ -8,13 +8,6 @@ \author{Dehaeze Thomas} \date{\today} \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} \begin{document} @@ -44,54 +37,25 @@ Several considerations: \chapter{Multiple Sensor Control} \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: -\begin{itemize} -\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}. +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. +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. \begin{figure}[htbp] \begin{subfigure}{0.48\textwidth} \begin{center} \includegraphics[scale=1,scale=1]{figs/detail_control_sensor_arch_hac_lac.png} \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} \begin{subfigure}{0.48\textwidth} \begin{center} \includegraphics[scale=1,scale=1]{figs/detail_control_sensor_arch_two_sensor_control.png} \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} \bigskip @@ -99,110 +63,96 @@ Comparison between ``two sensor control'' and ``sensor fusion'' is given in \cit \begin{center} \includegraphics[scale=1,scale=1]{figs/detail_control_sensor_arch_sensor_fusion.png} \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} \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} -The use of multiple sensors have already been used for the Stewart platform. -Table \ref{tab:detail_control_sensor_review} +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}). +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] -\caption{\label{tab:detail_control_sensor_review}Review of Stewart platforms integrating multiple sensors} -\centering -\scriptsize -\begin{tabularx}{0.9\linewidth}{Xcccc} -\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} +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. +In \cite{hauge04_sensor_contr_space_based_six}, geophones (used at low frequency) are merged with force sensors (used at high frequency). +It is demonstrated that combining both sensors using sensor fusion can improve performance compared to using the individual sensors independently. +In \cite{tjepkema12_sensor_fusion_activ_vibrat_isolat_precis_equip}, sensor fusion architecture is implemented with an accelerometer and a force sensor. +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). +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. -This is a very comprehensive approach that proved to give good performances. +Beyond these three main approaches, other control architectures have been proposed for different purposes. +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. -But it is also more complex. +The HAC-LAC architecture was previously investigated during the conceptual phase and successfully implemented to validate the NASS concept, demonstrating excellent performance. +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: -\begin{itemize} -\item may be used to optimize the noise characteristics -\item optimize the dynamical uncertainty -\end{itemize} -\section{Sensor fusion - Introduction} +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}). +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. +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}). +\section{Review of Sensor Fusion} +\label{ssec:detail_control_sensor_review} 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. 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. -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}. -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 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}. -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}. -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 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 extended by fusing it with an accelerometer that provides high-frequency motion information. +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 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 to improve the stability margins of the feedback controller. -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}. -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 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}. -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}. +On top of Stewart platforms, practical applications of sensor fusion are numerous. +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}. +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}. +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 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}. -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}. -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. -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. +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, 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, 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, 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. -In the early days of complementary filtering, analog circuits were employed 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. +A set of filters is considered complementary if the sum of their transfer functions equals one at all frequencies. +In early implementations of complementary filtering, analog circuits were used to physically realize the filters \cite{anderson53_instr_approac_system_steer_comput}. +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. -The easiest way to design complementary filters is to use 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}. +Various design methods have been developed to optimize complementary filters. +The most straightforward approach utilizes analytical formulas. +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. -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}. -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. -Therefore, all the powerful tools developed for the classical control theory can also be used for the design of complementary filters. -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. +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 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 demonstrated in \cite{plummer06_optim_compl_filter_their_applic_motion_measur}, complementary filter design can be linked to the standard mixed-sensitivity control problem. +Consequently, the powerful tools developed for classical control theory can be applied to complementary filter design. +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. -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. -Hence, the robustness of the fusion is also of concern when designing the 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. +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. +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. +Therefore, the robustness of the fusion must be considered when designing complementary filters. +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}. -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. +Fortunately, both fusion robustness and super sensor characteristics can be linked to complementary filter magnitude \cite{dehaeze19_compl_filter_shapin_using_synth}. +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} \label{ssec:detail_control_sensor_fusion_requirements} -Complementary filtering provides a framework for fusing signals from different sensors. -As the effectiveness of the fusion depends on the proper design of the complementary filters, they are expected to fulfill certain requirements. -These requirements are discussed in this section. -\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. +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\). +The sensor output signals \(\hat{x}_1\) and \(\hat{x}_2\) represent estimates of \(x\). +These estimates are filtered by complementary filters and combined to form a new estimate \(\hat{x}\). \begin{figure}[htbp] \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.} \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}. -That is, unity magnitude and zero phase at all frequencies. +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}. \begin{equation}\label{eq:detail_control_sensor_comp_filter} H_1(s) + H_2(s) = 1 \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. -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 input \(x\) is the measured physical quantity and its output \(\tilde{x}_i\) is the ``raw'' output of the sensor. +To analyze sensor fusion architectures, appropriate sensor models are required. +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. -Before filtering the sensor outputs \(\tilde{x}_i\) by the complementary filters, the sensors are usually normalized to simplify the fusion. -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}. -It is here supposed 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\). -The sensor dynamics estimate \(\hat{G}_i(s)\) can be a simple gain or a more complex transfer function. +Prior to filtering the sensor outputs \(\tilde{x}_i\) with complementary filters, the sensors are typically normalized to simplify the fusion process. +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 assumed that the sensor inverse \(\hat{G}_i^{-1}(s)\) is proper and stable. +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)\) may be a simple gain or a more complex transfer function. \begin{figure}[htbp] \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} 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 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} \caption{\label{fig:detail_control_sensor_fusion_super_sensor}Sensor fusion architecture with two normalized sensors.} \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}. -The effect of a non-perfect normalization will be discussed afterwards. +First, consider the case where all sensors are perfectly normalized \eqref{eq:detail_control_sensor_perfect_dynamics}. +The effects of imperfect normalization will be addressed subsequently. \begin{equation}\label{eq:detail_control_sensor_perfect_dynamics} \frac{\hat{x}_i}{x} = \hat{G}_i(s) G_i(s) = 1 \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}. -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. -Thus, this sensor fusion architecture permits to filter the noise of both sensors without introducing any distortion in the physical quantity to be measured. -This is why the two filters must be complementary. +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 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 allows filtering of sensor noise without introducing distortion in the measured physical quantity. +This fundamental property necessitates that the two filters must be complementary. \begin{equation}\label{eq:detail_control_sensor_estimate_perfect_dyn} \hat{x} = x + H_1(s) n_1 + H_2(s) n_2 \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} - \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} -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} - \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} -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. -This is the simplest form of sensor fusion with complementary filters. +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 represents the simplest form of sensor fusion using complementary filters. -However, the two sensors have usually high noise levels over distinct 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)\). -Hence, by properly shaping the norm of the complementary filters, it is possible to minimize the noise of the super sensor. -\subsubsection{Sensor Fusion Robustness} +However, sensors typically exhibit high noise levels in different frequency regions. +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)\). +Therefore, by appropriately shaping the norm of the complementary filters, the noise of the super sensor can be minimized. +\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}). -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 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)|\). +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 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 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{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} \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 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}). @@ -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.} \end{figure} -The super sensor dynamical uncertainty, and hence 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}. - -\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. +The super sensor dynamical uncertainty, and consequently the robustness of the fusion, clearly depends on the complementary filters' norm. +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. \section{Complementary Filters Shaping} \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. -Therefore, a synthesis method of complementary filters that allows to shape their norm would be of great use. -In this section, such synthesis is proposed by writing the synthesis 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. -Finally, the synthesis method is validated on an simple example. -\subsubsection{Synthesis Objective} +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. +Consequently, a synthesis method that enables precise shaping of complementary filter norms would provide significant practical benefits. +In this section, such a synthesis approach is developed by formulating the design objective as a standard \(\mathcal{H}_\infty\) optimization problem. +The proper design of weighting functions, which are used to specify the desired complementary filter shapes during synthesis, is discussed in detail. +Finally, the efficacy of the proposed synthesis method is validated through a simple example. +\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}. -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. -\(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 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 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}. +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{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} \end{align} \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. -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}. +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)\) 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{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} \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} \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} -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} 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 \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. -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}. -\subsubsection{Weighting Functions Design} +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}. +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}). +\paragraph{Weighting Functions Design} -Weighting functions are used during the synthesis to specify the maximum allowed complementary filters' norm. -The proper design of these weighting functions is of primary importance for the success of the presented \(\mathcal{H}_\infty\) synthesis of complementary filters. +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 essential for the successful implementation of the proposed \(\mathcal{H}_\infty\) synthesis approach. -First, only proper and stable transfer functions should be used. -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). -Third, one should not forget the fundamental limitations imposed by the complementary property \eqref{eq:detail_control_sensor_comp_filter}. -This implies for instance that \(|H_1(j\omega)|\) and \(|H_2(j\omega)|\) cannot be made small at the same frequency. +Three key considerations should guide the design of weighting functions. +First, only proper and stable transfer functions should be employed. +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). +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. -To easily express these specifications, formula \eqref{eq:detail_control_sensor_weight_formula} is proposed to help with 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 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}. +When designing complementary filters, it is typically desirable to specify their slopes, ``blending'' frequency, and maximum gains at low and high frequencies. +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 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 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{center} @@ -449,22 +396,20 @@ The typical magnitude of a weighting function generated using \eqref{eq:detail_c }\right)^n \end{equation} \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. -Let's suppose two complementary filters \(H_1(s)\) and \(H_2(s)\) have to be designed such that: +The proposed methodology for designing complementary filters is now applied to a simple example. +Consider the design of two complementary filters \(H_1(s)\) and \(H_2(s)\) with the following requirements: \begin{itemize} -\item the blending frequency is around \(\SI{10}{Hz}\). -\item the slope of \(|H_1(j\omega)|\) is \(+2\) below \(\SI{10}{Hz}\). -Its low frequency gain is \(10^{-3}\). -\item the slope of \(|H_2(j\omega)|\) is \(-3\) above \(\SI{10}{Hz}\). -Its high frequency gain is \(10^{-3}\). +\item The blending frequency should be approximately \(\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}\) +\item The slope of \(|H_2(j\omega)|\) should be \(-3\) above \(\SI{10}{Hz}\), with a high-frequency gain of \(10^{-3}\) \end{itemize} -The first step is to translate the above requirements by properly designing the weighting functions. -The proposed formula \eqref{eq:detail_control_sensor_weight_formula} is here used for such purpose. -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 first step involves translating these requirements by appropriately designing the weighting functions. +The formula proposed in \eqref{eq:detail_control_sensor_weight_formula} is employed for this purpose. +The parameters used are summarized in Table \ref{tab:detail_control_sensor_weights_params}. +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{center} @@ -490,23 +435,23 @@ Parameter & \(W_1(s)\) & \(W_2(s)\)\\ \end{center} \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}. -The filter \(H_2(s)\) that minimizes the \(\mathcal{H}_\infty\) norm between \(w\) and \([z_1,\ z_2]^{\intercal}\) is obtained. -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. -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. +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}. +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 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 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} -\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}. -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}. +Some applications require merging more than two sensors \cite{stoten01_fusion_kinet_data_using_compos_filter,fonseca15_compl}. +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}. -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}). +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 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. -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}. -A generalization of the proposed synthesis method of complementary filters is presented in this section. +In the sequential approach, typical sensor fusion synthesis techniques can be applied. +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 complementary filter synthesis method is presented in this section. \begin{figure}[htbp] \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} \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{align} @@ -533,10 +478,10 @@ The synthesis objective is to compute a set of \(n\) stable transfer functions \ \end{align} \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. -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}. +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 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{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{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} \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} -\(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}. -Condition \eqref{eq:detail_control_sensor_hinf_cond_perf_gen} is satisfied thanks to \eqref{eq:detail_control_sensor_hinf_syn_obj_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 through \eqref{eq:detail_control_sensor_hinf_syn_obj_gen}. \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] \end{equation} -An example is given to validate the proposed method for the synthesis of a set of three complementary filters. -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}\). -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). +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 (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 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{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})} \end{figure} -The 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. -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. +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. +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} H_1(s) \triangleq 1 - \big[ H_2(s) + H_3(s) \big] \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} 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 is very valuable in practice as the characteristics of the super sensor are linked to the complementary filters' magnitude. -Therefore typical sensor fusion objectives can be translated into requirements on the magnitudes of the filters. -Several examples were used to emphasize the simplicity and the effectiveness of the proposed method. +This approach allows shaping of the filter magnitudes through the use of weighting functions during synthesis. +This capability is particularly valuable in practice since the characteristics of the super sensor are directly linked to the complementary filters' magnitude. +Consequently, typical sensor fusion objectives can be effectively translated into requirements on the magnitudes of the filters. -However, the shaping of the complementary filters' magnitude does not allow to directly optimize the super sensor noise and dynamical characteristics. -Future work will aim at developing a complementary filter synthesis method that minimizes the super sensor noise while ensuring the robustness of the fusion. - -\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} +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. +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. \chapter{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} \section{Jacobian Decoupling} \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}. @@ -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\}\). 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. -\subsubsection{Center Of Mass} +\paragraph{Center Of Mass} 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}. @@ -913,7 +850,7 @@ this is illustrated in Figure \ref{fig:detail_control_decoupling_model_test_CoM} \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}).} \end{figure} -\subsubsection{Center Of Stiffness} +\paragraph{Center Of Stiffness} \begin{center} \includegraphics[scale=1]{figs/detail_control_decoupling_control_jacobian_CoK.png} @@ -1037,7 +974,7 @@ I think so Are they orthogonal? \item[{$\square$}] Say that the obtained plant are second order systems \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. @@ -1104,7 +1041,7 @@ Eigenvectors are arranged for increasing eigenvalues (i.e. resonance frequencies \end{figure} \section{SVD Decoupling} \label{ssec:detail_control_decoupling_svd} -\subsubsection{Singular Value Decomposition} +\paragraph{Singular Value Decomposition} Singular Value Decomposition (SVD) \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 \cite[, chapt. 3.5.4]{skogestad07_multiv_feedb_contr} \end{itemize} -\subsubsection{Decoupling using the SVD} +\paragraph{Decoupling using the SVD} \textbf{Procedure}: 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$}] Can we take advantage of the fact that U and V are unitary? \end{itemize} -\subsubsection{Example} +\paragraph{Example} \begin{equation} @@ -1405,7 +1342,7 @@ In this paper, we propose a new controller synthesis method \end{itemize} \section{Control Architecture} \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\)). 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 \end{alignat} \end{subequations} -\subsubsection{Asymptotic behavior} +\paragraph{Asymptotic behavior} 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}. @@ -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 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. 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). 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. \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} 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. 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} \end{equation} 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|\). 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. 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. 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} \boxed{\text{RS} \Longleftrightarrow |w_I(j\omega) H_L(j\omega)| \le 1 \quad \forall \omega} \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. 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} \section{Numerical Example} \label{ssec:detail_control_cf_simulations} -\subsubsection{Procedure} +\paragraph{Procedure} In order to apply this control technique, we propose the following procedure: \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. \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} -\subsubsection{Plant} +\paragraph{Plant} \begin{itemize} \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} \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} -\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. \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. \(\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. 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 lead is added near the bandwidth around \(\SI{20}{Hz}\) \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}). Even when considering all the possible plants in the uncertainty set, the nyquist plot stays away from the unstable point, indicating good robustness.