ajout cascaded_loop
This commit is contained in:
parent
077af49282
commit
a4dd4f290f
8 changed files with 136 additions and 65 deletions
BIN
Article_Scientifique/Figures/Motor_currents.pdf
Normal file
BIN
Article_Scientifique/Figures/Motor_currents.pdf
Normal file
Binary file not shown.
BIN
Article_Scientifique/Figures/Schema_Autom_PIR.pdf
Normal file
BIN
Article_Scientifique/Figures/Schema_Autom_PIR.pdf
Normal file
Binary file not shown.
Binary file not shown.
|
|
@ -80,19 +80,28 @@
|
|||
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Closed-loop model of the bicycle-cargo system with PI control.}}{5}{figure.1}\protected@file@percent }
|
||||
\newlabel{fig:simulink-closedloop}{{1}{5}{Closed-loop model of the bicycle-cargo system with PI control}{figure.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {VIII-C}}Control Architecture Exploration}{5}{subsection.8.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {IX}Results}{5}{section.9}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {IX-A}}FOC Controller Validation}{5}{subsection.9.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\mbox {IX-A}1}Current Status Summary}{5}{subsubsection.9.1.1}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {II}{\ignorespaces FOC controller development status}}{5}{table.2}\protected@file@percent }
|
||||
\newlabel{tab:foc_status}{{II}{5}{FOC controller development status}{table.2}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {IX-B}}Bicycle-Cargo System Control Results}{5}{subsection.9.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\mbox {IX-B}1}Simulation Results}{5}{subsubsection.9.2.1}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Position tracking error between bicycle and cargo cart.}}{6}{figure.2}\protected@file@percent }
|
||||
\newlabel{fig:tracking-error}{{2}{6}{Position tracking error between bicycle and cargo cart}{figure.2}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Cascaded control architecture for the bicycle-cargo system.}}{6}{figure.2}\protected@file@percent }
|
||||
\newlabel{fig:cascaded-loop}{{2}{6}{Cascaded control architecture for the bicycle-cargo system}{figure.2}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {IX}Results}{6}{section.9}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {IX-A}}FOC Controller Validation}{6}{subsection.9.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\mbox {IX-A}1}Current Status Summary}{6}{subsubsection.9.1.1}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {II}{\ignorespaces FOC controller development status}}{6}{table.2}\protected@file@percent }
|
||||
\newlabel{tab:foc_status}{{II}{6}{FOC controller development status}{table.2}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {IX-B}}Bicycle-Cargo System Control Results}{6}{subsection.9.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\mbox {IX-B}1}Simulation Results}{6}{subsubsection.9.2.1}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Position tracking error between bicycle and cargo cart.}}{6}{figure.3}\protected@file@percent }
|
||||
\newlabel{fig:tracking-error}{{3}{6}{Position tracking error between bicycle and cargo cart}{figure.3}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\mbox {IX-B}2}Experimental Load Characterization}{6}{subsubsection.9.2.2}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Measured motor current under three loading conditions.}}{6}{figure.3}\protected@file@percent }
|
||||
\newlabel{fig:motor-currents}{{3}{6}{Measured motor current under three loading conditions}{figure.3}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {X}Discussion}{6}{section.10}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Measured motor current under three loading conditions.}}{6}{figure.4}\protected@file@percent }
|
||||
\newlabel{fig:motor-currents}{{4}{6}{Measured motor current under three loading conditions}{figure.4}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {IX-C}}FOC Controller Validation}{7}{subsection.9.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\mbox {IX-C}1}Current Status Summary}{7}{subsubsection.9.3.1}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {III}{\ignorespaces FOC controller development status}}{7}{table.3}\protected@file@percent }
|
||||
\newlabel{tab:foc_status}{{III}{7}{FOC controller development status}{table.3}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {X}Discussion}{7}{section.10}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {XI}Perspectives and Future Work}{7}{section.11}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {XI-A}}Hardware Completion and Testing}{7}{subsection.11.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {XII}Conclusion/Summary}{7}{section.12}\protected@file@percent }
|
||||
\bibstyle{IEEEtran}
|
||||
\bibdata{PIR_MadMax3}
|
||||
\bibcite{patil_analysis_2025}{1}
|
||||
|
|
@ -105,8 +114,5 @@
|
|||
\bibcite{lee_advanced_2001}{8}
|
||||
\bibcite{b1}{9}
|
||||
\bibcite{b2}{10}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {XI}Perspectives and Future Work}{7}{section.11}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {XI-A}}Hardware Completion and Testing}{7}{subsection.11.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {XII}Conclusion/Summary}{7}{section.12}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{References}{7}{section*.3}\protected@file@percent }
|
||||
\gdef \@abspage@last{7}
|
||||
\@writefile{toc}{\contentsline {section}{References}{8}{section*.3}\protected@file@percent }
|
||||
\gdef \@abspage@last{8}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2022/dev/Debian) (preloaded format=pdflatex 2026.3.16) 13 MAY 2026 19:57
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2022/dev/Debian) (preloaded format=pdflatex 2026.3.16) 14 MAY 2026 15:24
|
||||
entering extended mode
|
||||
restricted \write18 enabled.
|
||||
%&-line parsing enabled.
|
||||
|
|
@ -459,7 +459,11 @@ Package xcolor Info: Model `wave' substituted by `hsb' on input line 1375.
|
|||
)
|
||||
Package translations Info: No language package found. I am going to use `englis
|
||||
h' as default language. on input line 19.
|
||||
(./main.aux)
|
||||
(./main.aux
|
||||
|
||||
LaTeX Warning: Label `tab:foc_status' multiply defined.
|
||||
|
||||
)
|
||||
\openout1 = `main.aux'.
|
||||
|
||||
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 19.
|
||||
|
|
@ -533,13 +537,13 @@ Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
|
|||
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
|
||||
e
|
||||
))
|
||||
LaTeX Font Info: Trying to load font information for U+msa on input line 124
|
||||
LaTeX Font Info: Trying to load font information for U+msa on input line 122
|
||||
.
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd
|
||||
File: umsa.fd 2013/01/14 v3.01 AMS symbols A
|
||||
)
|
||||
LaTeX Font Info: Trying to load font information for U+msb on input line 124
|
||||
LaTeX Font Info: Trying to load font information for U+msb on input line 122
|
||||
.
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd
|
||||
|
|
@ -553,28 +557,31 @@ Underfull \hbox (badness 1509) in paragraph at lines 432--439
|
|||
[]
|
||||
|
||||
[4]
|
||||
<./Figures/sys_dyn_matlab.png, id=253, 430.2474pt x 226.6869pt>
|
||||
<./Figures/sys_dyn_matlab.png, id=261, 430.2474pt x 226.6869pt>
|
||||
File: ./Figures/sys_dyn_matlab.png Graphic file (type png)
|
||||
<use ./Figures/sys_dyn_matlab.png>
|
||||
Package pdftex.def Info: ./Figures/sys_dyn_matlab.png used on input line 520.
|
||||
(pdftex.def) Requested size: 252.0pt x 132.77559pt.
|
||||
<./Figures/error_fig.png, id=258, 509.7444pt x 328.5876pt>
|
||||
[5 <./Figures/sys_dyn_matlab.png>]
|
||||
<./Figures/Schema_Autom_PIR.pdf, id=272, 610.21573pt x 143.36761pt>
|
||||
File: ./Figures/Schema_Autom_PIR.pdf Graphic file (type pdf)
|
||||
<use ./Figures/Schema_Autom_PIR.pdf>
|
||||
Package pdftex.def Info: ./Figures/Schema_Autom_PIR.pdf used on input line 557
|
||||
.
|
||||
(pdftex.def) Requested size: 252.0pt x 59.20549pt.
|
||||
<./Figures/error_fig.png, id=277, 509.7444pt x 328.5876pt>
|
||||
File: ./Figures/error_fig.png Graphic file (type png)
|
||||
<use ./Figures/error_fig.png>
|
||||
Package pdftex.def Info: ./Figures/error_fig.png used on input line 573.
|
||||
Package pdftex.def Info: ./Figures/error_fig.png used on input line 620.
|
||||
(pdftex.def) Requested size: 252.0pt x 162.44328pt.
|
||||
|
||||
|
||||
LaTeX Warning: `!h' float specifier changed to `!ht'.
|
||||
|
||||
[5 <./Figures/sys_dyn_matlab.png>]
|
||||
<./Figures/Motor_currents.png, id=271, 499.6266pt x 328.1058pt>
|
||||
File: ./Figures/Motor_currents.png Graphic file (type png)
|
||||
<use ./Figures/Motor_currents.png>
|
||||
Package pdftex.def Info: ./Figures/Motor_currents.png used on input line 595.
|
||||
(pdftex.def) Requested size: 252.0pt x 165.48434pt.
|
||||
[6 <./Figures/error_fig.png (PNG copy)> <./Figures/Motor_currents.png (PNG cop
|
||||
y)>] (./main.bbl
|
||||
<./Figures/Motor_currents.pdf, id=279, 501.875pt x 329.23pt>
|
||||
File: ./Figures/Motor_currents.pdf Graphic file (type pdf)
|
||||
<use ./Figures/Motor_currents.pdf>
|
||||
Package pdftex.def Info: ./Figures/Motor_currents.pdf used on input line 642.
|
||||
(pdftex.def) Requested size: 252.0pt x 165.31287pt.
|
||||
[6 <./Figures/Schema_Autom_PIR.pdf> <./Figures/error_fig.png (PNG copy)> <./Fi
|
||||
gures/Motor_currents.pdf>] [7]
|
||||
(./main.bbl
|
||||
Underfull \hbox (badness 1490) in paragraph at lines 97--99
|
||||
[]\OT1/ptm/m/n/8 ------, ``lispbm in vesc,'' []$https : / / github . com / vedd
|
||||
erb / bldc / tree / master /
|
||||
|
|
@ -592,35 +599,44 @@ Before submitting the final camera ready copy, remember to:
|
|||
uses only Type 1 fonts and that every step in the generation
|
||||
process uses the appropriate paper size.
|
||||
|
||||
[7] (./main.aux)
|
||||
[8
|
||||
|
||||
] (./main.aux)
|
||||
|
||||
LaTeX Warning: There were multiply-defined labels.
|
||||
|
||||
Package rerunfilecheck Info: File `main.out' has not changed.
|
||||
(rerunfilecheck) Checksum: D428FCA31372168544B7CCCCB9675B0D;9238.
|
||||
(rerunfilecheck) Checksum: 4DF27D054EB6179EF4DF0FC61FEDCAAE;9611.
|
||||
)
|
||||
Here is how much of TeX's memory you used:
|
||||
14909 strings out of 478287
|
||||
283324 string characters out of 5849289
|
||||
567540 words of memory out of 5000000
|
||||
32854 multiletter control sequences out of 15000+600000
|
||||
14924 strings out of 478287
|
||||
283713 string characters out of 5849289
|
||||
567663 words of memory out of 5000000
|
||||
32863 multiletter control sequences out of 15000+600000
|
||||
508470 words of font info for 101 fonts, out of 8000000 for 9000
|
||||
1141 hyphenation exceptions out of 8191
|
||||
70i,10n,79p,470b,753s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||
70i,10n,79p,470b,830s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||
{/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/share/texliv
|
||||
e/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb></usr/share/texlive/texm
|
||||
f-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/texlive/texmf-dist
|
||||
/fonts/type1/public/amsfonts/cm/cmmi7.pfb></usr/share/texlive/texmf-dist/fonts/
|
||||
type1/public/amsfonts/cm/cmmi8.pfb></usr/share/texlive/texmf-dist/fonts/type1/p
|
||||
ublic/amsfonts/cm/cmr10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/a
|
||||
msfonts/cm/cmr7.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/
|
||||
cm/cmr8.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy1
|
||||
0.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb><
|
||||
/usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmb8a.pfb></usr/share/texl
|
||||
ive/texmf-dist/fonts/type1/urw/times/utmbi8a.pfb></usr/share/texlive/texmf-dist
|
||||
/fonts/type1/urw/times/utmr8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/ur
|
||||
w/times/utmri8a.pfb>
|
||||
Output written on main.pdf (7 pages, 348774 bytes).
|
||||
/fonts/type1/public/amsfonts/cm/cmmi6.pfb></usr/share/texlive/texmf-dist/fonts/
|
||||
type1/public/amsfonts/cm/cmmi7.pfb></usr/share/texlive/texmf-dist/fonts/type1/p
|
||||
ublic/amsfonts/cm/cmmi8.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/a
|
||||
msfonts/cm/cmmi9.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts
|
||||
/cm/cmr10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr
|
||||
6.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb></
|
||||
usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb></usr/shar
|
||||
e/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr9.pfb></usr/share/texliv
|
||||
e/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texm
|
||||
f-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb></usr/share/texlive/texmf-dist/
|
||||
fonts/type1/public/amsfonts/cm/cmti8.pfb></usr/share/texlive/texmf-dist/fonts/t
|
||||
ype1/urw/times/utmb8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/times/
|
||||
utmbi8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmr8a.pfb></u
|
||||
sr/share/texlive/texmf-dist/fonts/type1/urw/times/utmri8a.pfb>
|
||||
Output written on main.pdf (8 pages, 676579 bytes).
|
||||
PDF statistics:
|
||||
372 PDF objects out of 1000 (max. 8388607)
|
||||
329 compressed objects within 4 object streams
|
||||
71 named destinations out of 1000 (max. 500000)
|
||||
384 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||
455 PDF objects out of 1000 (max. 8388607)
|
||||
392 compressed objects within 4 object streams
|
||||
76 named destinations out of 1000 (max. 500000)
|
||||
405 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||
|
||||
|
|
|
|||
|
|
@ -39,8 +39,10 @@
|
|||
\BOOKMARK [2][-]{subsection.9.2}{\376\377\000B\000i\000c\000y\000c\000l\000e\000-\000C\000a\000r\000g\000o\000\040\000S\000y\000s\000t\000e\000m\000\040\000C\000o\000n\000t\000r\000o\000l\000\040\000R\000e\000s\000u\000l\000t\000s}{section.9}% 39
|
||||
\BOOKMARK [3][-]{subsubsection.9.2.1}{\376\377\000S\000i\000m\000u\000l\000a\000t\000i\000o\000n\000\040\000R\000e\000s\000u\000l\000t\000s}{subsection.9.2}% 40
|
||||
\BOOKMARK [3][-]{subsubsection.9.2.2}{\376\377\000E\000x\000p\000e\000r\000i\000m\000e\000n\000t\000a\000l\000\040\000L\000o\000a\000d\000\040\000C\000h\000a\000r\000a\000c\000t\000e\000r\000i\000z\000a\000t\000i\000o\000n}{subsection.9.2}% 41
|
||||
\BOOKMARK [1][-]{section.10}{\376\377\000D\000i\000s\000c\000u\000s\000s\000i\000o\000n}{}% 42
|
||||
\BOOKMARK [1][-]{section.11}{\376\377\000P\000e\000r\000s\000p\000e\000c\000t\000i\000v\000e\000s\000\040\000a\000n\000d\000\040\000F\000u\000t\000u\000r\000e\000\040\000W\000o\000r\000k}{}% 43
|
||||
\BOOKMARK [2][-]{subsection.11.1}{\376\377\000H\000a\000r\000d\000w\000a\000r\000e\000\040\000C\000o\000m\000p\000l\000e\000t\000i\000o\000n\000\040\000a\000n\000d\000\040\000T\000e\000s\000t\000i\000n\000g}{section.11}% 44
|
||||
\BOOKMARK [1][-]{section.12}{\376\377\000C\000o\000n\000c\000l\000u\000s\000i\000o\000n\000/\000S\000u\000m\000m\000a\000r\000y}{}% 45
|
||||
\BOOKMARK [1][-]{section*.3}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000e\000s}{}% 46
|
||||
\BOOKMARK [2][-]{subsection.9.3}{\376\377\000F\000O\000C\000\040\000C\000o\000n\000t\000r\000o\000l\000l\000e\000r\000\040\000V\000a\000l\000i\000d\000a\000t\000i\000o\000n}{section.9}% 42
|
||||
\BOOKMARK [3][-]{subsubsection.9.3.1}{\376\377\000C\000u\000r\000r\000e\000n\000t\000\040\000S\000t\000a\000t\000u\000s\000\040\000S\000u\000m\000m\000a\000r\000y}{subsection.9.3}% 43
|
||||
\BOOKMARK [1][-]{section.10}{\376\377\000D\000i\000s\000c\000u\000s\000s\000i\000o\000n}{}% 44
|
||||
\BOOKMARK [1][-]{section.11}{\376\377\000P\000e\000r\000s\000p\000e\000c\000t\000i\000v\000e\000s\000\040\000a\000n\000d\000\040\000F\000u\000t\000u\000r\000e\000\040\000W\000o\000r\000k}{}% 45
|
||||
\BOOKMARK [2][-]{subsection.11.1}{\376\377\000H\000a\000r\000d\000w\000a\000r\000e\000\040\000C\000o\000m\000p\000l\000e\000t\000i\000o\000n\000\040\000a\000n\000d\000\040\000T\000e\000s\000t\000i\000n\000g}{section.11}% 46
|
||||
\BOOKMARK [1][-]{section.12}{\376\377\000C\000o\000n\000c\000l\000u\000s\000i\000o\000n\000/\000S\000u\000m\000m\000a\000r\000y}{}% 47
|
||||
\BOOKMARK [1][-]{section*.3}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000e\000s}{}% 48
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -279,7 +279,7 @@ assistance based on system dynamics.
|
|||
microcontroller.
|
||||
|
||||
The initial idea was to make this tile \textit{pluggable} into our
|
||||
carrier board, similar to an Arduino shield. This would allow :
|
||||
carrier board, similar to an Arduino shield. This would allow:
|
||||
\begin{itemize}
|
||||
\item Easy replacement of the computing core without re-soldering.
|
||||
\item Modular upgrades of the microcontroller.
|
||||
|
|
@ -525,6 +525,53 @@ where $e_{\text{ref}} = \SI{-0.5}{\meter}$ represents the desired equilibrium of
|
|||
|
||||
|
||||
\subsection{Control Architecture Exploration}
|
||||
Beyond the standard PI control structure simulated in the previous sections, this project explores a more sophisticated
|
||||
control law: the Cascaded Loop Architecture. This approach is envisioned as a high-level software enhancement to meet
|
||||
the robustness and safety requirements inherent to electric cargo mobility. This means that our control law includes two
|
||||
feedback loops that use two different physical parameters.
|
||||
|
||||
The selected cascaded structure is a well-established industry standard, particularly in high-performance motion control
|
||||
and robotics. Similar architectures are widely employed in Automated Guided Vehicles (AGVs) and platooning systems,
|
||||
where a “follower” unit must synchronize its dynamics with a “leader” unit through precise feedback loops.
|
||||
|
||||
The proposed approach decomposes the complex task of “cart following” into manageable sub-tasks by nesting control
|
||||
loops:
|
||||
\begin{itemize}
|
||||
\item Outer loop: Position control layer.
|
||||
Using a linear encoder or distance sensor mounted on the trailer’s hitch, the system measures the relative
|
||||
displacement (error) between the bicycle and the cargo cart. This error is processed by a Proportional (P)
|
||||
Controller. The primary goal of this stage is to translate physical distance into a target velocity setpoint. By
|
||||
saturating the output of this loop, we can prevent the cargo cart from ever exceeding the bicycle’s speed, thereby
|
||||
ensuring it never “pushes” the cyclist.
|
||||
|
||||
\item Inner loop: Velocity control layer.
|
||||
The velocity setpoint generated by the outer loop is fed into this internal layer, the inner loop is responsible for
|
||||
commanding the motor torque directly to compensate for immediate mechanical disturbances. Because this loop operates
|
||||
at a higher frequency, it can reject disturbances such as sudden changes in rolling resistance or friction, before
|
||||
they significantly impact the overall position error.
|
||||
\end{itemize}
|
||||
|
||||
\begin{figure}[!h]
|
||||
|
||||
\centering
|
||||
\includegraphics[width=\linewidth]{./Figures/Schema_Autom_PIR.pdf}
|
||||
\caption{Cascaded control architecture for the bicycle-cargo system.}
|
||||
\label{fig:cascaded-loop}
|
||||
|
||||
\end{figure}
|
||||
|
||||
Fig.~\ref{fig:cascaded-loop} illustrates the cascade architecture for the dynamics of the cargo bike.
|
||||
An outer Proportional Controller $K_{p,x}$ converts the position error $e_x = x_{\text{ref}} - x$ into a velocity
|
||||
reference $v_{\text{ref}}$, which serves as the set-point for the inner loop.
|
||||
The inner Proportional Controller $K_{p,v}$ then transforms the velocity error $e_v = v_{\text{ref}} - v$ into a
|
||||
torque reference $\tau_{\text{ref}}$.
|
||||
This command is processed by the motor/actuator block, which delivers the actual torque $\tau$.
|
||||
The model of the plant maps this torque to velocity $v$, and the integrator $1/s$ reconstructs the position $x$.
|
||||
|
||||
The adoption of a cascaded loop architecture offers decisive advantages but comes with disadvantages. This precision
|
||||
introduces increased complexity: the multiplication of tuning parameters and the requirement for high-resolution
|
||||
feedback sensors, such as encoders, raise hardware costs and must come with high-performance software. These technical
|
||||
constraints represent a significant challenge and may raise other issues.
|
||||
|
||||
|
||||
% ******************************** RESULTS **************************************************************************
|
||||
|
|
@ -592,7 +639,7 @@ cargo cart. The motor current measured during these experiments is shown in Fig.
|
|||
|
||||
\begin{figure}[!h]
|
||||
\centering
|
||||
\includegraphics[width=\linewidth]{./Figures/Motor_currents.png}
|
||||
\includegraphics[width=\linewidth]{./Figures/Motor_currents.pdf}
|
||||
\caption{Measured motor current under three loading conditions.}
|
||||
\label{fig:motor-currents}
|
||||
\end{figure}
|
||||
|
|
|
|||
Loading…
Reference in a new issue