如何对齐换行文本

如何对齐换行文本

我对 LaTeX 还很陌生,不幸的是,我一开始的任务相当艰巨。我正在用 LaTeX 写论文……

您能帮我解答以下问题吗?

我有一张图像,图像右侧有一些文本扭曲了。我的问题是图像附近的文本没有对齐。所有文档都对齐了,但图像附近的文本却没有对齐。另外,您能告诉我如何才能稍微提高图像吗?

图像和其上方的文字之间有很多空白……

我的代码:

    Mindenképp ismernünk kell a robot hajtókerekeinek az átmérőjét ($R$)és a robot nyomtávolságát ($L$) is.
\end{justify}

\begin{wrapfigure}{r}{0.4\textwidth}
\centering
\includegraphics[width=0.25\textwidth]{Kepek/3.1_Dif_robot/robot_sajat.png}
\caption{\label{fig:diff hajtasu robot}Differenciális meghajtású robot.}
\end{wrapfigure}


A kerekek forgási sebessége határozza meg a robot haladási sebességét ($v_{L}$) és ($v_{R}$) és hogy milyen irányba halad.

预先感谢您的帮助!

请参阅我的起始代码(不是 MWE):

\documentclass[12pt]{article}
\usepackage{graphicx}




\usepackage[utf8]{inputenc}
\usepackage{blindtext} % kamuszoveget ad
\usepackage{hyperref} % ez csinal linket a contentsbol
\usepackage{geometry} % ez a margin beallitasokat
\usepackage{fancyhdr} %ez az oldalszamozast csinalja
\usepackage{mathptmx} % ez a times new roman
\usepackage{etoolbox}
\usepackage{sectsty}
\usepackage[document]{ragged2e} %justification left/right
\usepackage{titlesec}
\usepackage{wrapfig}
\usepackage{graphicx}
\usepackage{multicol}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[ceqn]{nccmath}
%\usepackage[fleqn]{nccmath}
\usepackage{mwe} %kepek egymas mellett
\usepackage{color,soul} %sorkiemelő
\usepackage{xcolor} %sorkiemelő
\usepackage{todonotes} %todo buborekok 
\usepackage{verbatim} %a kikommenteleshez
\usepackage{epigraph} %idezet az elso oldalon
\usepackage{mathtools}


\pagestyle{fancy}
\fancyfoot{}
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}
\fancyhead[C]{\thepage}
%\pagenumbering{arabic}


\allsectionsfont{\centering}
\subsectionfont{\normalsize\bfseries}
\renewcommand{\baselinestretch}{1.5}


\makeatletter
% \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
\patchcmd{\@makechapterhead}{\huge}{\large}{\center}{}% for \chapter
\patchcmd{\@makechapterhead}{\Huge}{\large}{\center}{}% for \chapter
\patchcmd{\@makeschapterhead}{\Huge}{\large}{\center}{}% for \chapter*
\makeatother

\allsectionsfont{\centering}
\subsectionfont{\normalsize\bfseries}
\subsubsectionfont{\normalsize\bfseries}
\renewcommand{\baselinestretch}{1.5}
\renewcommand{\figurename}{Ábra}



\geometry{a4paper, left=35mm, right=20mm, top=40mm, bottom=40mm}



\title{Diplomamunka}
\date{}
\author{Zsarnowszky Loránt}



\begin{document}


\maketitle
\newpage


\tableofcontents

\clearpage
%\justify

\section{Bevezetés}
%ez itt egy komment

%\epigraph{Bip bip bee bee bip}{\textit{R2-D2}}

\begin{justify}
Alapvetően három különböző típusú robotot különböztetünk meg: a vezérelt robot, az automatizált robot és az autonóm azaz önálló robot.\\ 
A vezérelt robotok esetében mindenképp szükség van emberi üzemeltetésre. Ezek jellemzően olyan robotok melyek teljes mértékben függnek az emberi irányítástól, önállóan semmilyen feladatot, tevékenységet nem végeznek. Vezérelt robotokat gyakran alkalmaznak orvosi műtétek során illetve katonai akciók, bombák hatástalanítása alkalmából.

在此处输入图片描述

答案1

根据你问题中的 MWE论文中的几个 latex 问题\usepackage[document]{ragged2e}只需简单删除序言中的错误调用,您就可以获得图 6 周围的合理换行文本。

请参阅此代码片段(我添加了在我看来更好的显示图像的方法figure):

\subsection{A differenciális meghajtású robot}
%\begin{justify}
Ahhoz, hogy vezérelni tudjunk egy differenciális meghajtású robotot, rendelkeznünk kell pár alapvető fizikai tulajdonságával. 
Mindenképp ismernünk kell a robot hajtókerekeinek az átmérőjét ($R$)és a robot nyomtávolságát ($L$) is.
%\end{justify}

\begin{wrapfigure}{r}{0.4\textwidth}
\centering
\includegraphics[width=0.25\textwidth]{Kepek/3.1_Dif_robot/robot_sajat.png}
\caption{Differenciális meghajtású robot.}\label{fig:diff hajtasu robot}
\end{wrapfigure}
%\begin{figure}[!ht]
%\centering
%\includegraphics[width=0.25\textwidth]{Kepek/3.1_Dif_robot/robot_sajat.png}
%\caption{Differenciális meghajtású robot.}\label{fig:diff hajtasu robot}
%\end{figure}


Ahhoz, hogy a vezérlés irányítani tudja a robotot a bemeneti jelet - mely jelenleg a sebesség - valahogy össze kell kötnünk a robot pozíciójával és haladási irányával. Ebben pedig a differenciális meghajtású robot kinematikája segít:

及其结果:

包裹的图形

请看两条红线:它们标记了换行的实际问题。图像应该更高(这样第一条红线就消失了),第二条红线应该包含文本。

wrapfigure将其与我注释和取消注释的结果进行比较figure

在此处输入图片描述

完整的 MWE:

\documentclass[12pt]{article} % report

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} % <============================================
\usepackage{mathptmx} % ez a times new roman

\usepackage{fancyhdr} %ez az oldalszamozast csinalja

\usepackage[hungarian]{babel}

\usepackage[demo]{graphicx} % <=========================================

\usepackage{blindtext} % kamuszoveget ad
%\usepackage{mwe} %kepek egymas mellett

\usepackage{geometry} % ez a margin beallitasokat


\usepackage{etoolbox}
\usepackage{sectsty}
%\usepackage{ragged2e} %justification left/right
\usepackage{titlesec}
\usepackage{wrapfig}

\usepackage{multicol}

\usepackage{mathtools} % loads amsmath <================================
\usepackage[ceqn]{nccmath}
%\usepackage[fleqn]{nccmath}
\usepackage{amssymb}

\usepackage{soul} %sorkiemelő
\usepackage{xcolor} %sorkiemelő
\usepackage[disable]{todonotes} %todo buborekok 
\usepackage{verbatim} %a kikommenteleshez
\usepackage{epigraph} %idezet az elso oldalon

\usepackage[unicode]{hyperref} % ez csinal linket a contentsbol <================

\pagestyle{fancy}
\fancyfoot{}
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}
\fancyhead[C]{\thepage}
\setlength{\headheight}{15pt} % <=======================================

\allsectionsfont{\centering}
\subsectionfont{\normalsize\bfseries}
\renewcommand{\baselinestretch}{1.5}

\makeatletter
% \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
\patchcmd{\@makechapterhead}{\huge}{\large}{\center}{}% for \chapter
\patchcmd{\@makechapterhead}{\Huge}{\large}{\center}{}% for \chapter
\patchcmd{\@makeschapterhead}{\Huge}{\large}{\center}{}% for \chapter*
\makeatother

\allsectionsfont{\centering}
\subsectionfont{\normalsize\bfseries}
\subsubsectionfont{\normalsize\bfseries}
\renewcommand{\baselinestretch}{1.5}

\renewcommand{\figurename}{Ábra}

\geometry{a4paper, left=35mm, right=20mm, top=40mm, bottom=40mm}

\title{Diplomamunka}
\date{}
\author{Zsarnowszky Loránt}

% for hungarian blindtext
\makeatletter
\def\blindtext@hungarian{}
\blind@addtext{hungarian}{%
\def\blindtext@text{%
Alapvetően három különböző típusú robotot különböztetünk meg: a 
vezérelt robot, az automatizált robot és az autonóm azaz önálló 
robot\blindtext@endsentence
A vezérelt robotok esetében mindenképp szükség van emberi 
üzemeltetésre\blindtext@endsentence Ezek jellemzően olyan robotok 
melyek \blindmarkup{all letters of the alphabet} teljes mértékben 
függnek az emberi irányítástól, önállóan semmilyen feladatot, 
tevékenységet nem végeznek\blindtext@endsentence 
Vezérelt robotokat gyakran alkalmaznak orvosi műtétek során illetve 
katonai akciók, bombák hatástalanítása alkalmából\blindtext@endsentence
Az autonóm robotok lehetőséget adnak arra, hogy óriási mértében növeljük 
a termelés minőségét és hatékonyságát\blindtext@endsentence Csak, hogy 
megemlítsek egy pár ilyen területet a teljesség igénye nélkül: 
csomagszállítás, logisztika, takarítás, mezőgazdaság\blindmarkup{like this}, 
földművelés\blindtext@endsentence
}% \blindtext@text
}
\makeatother




\begin{document}
\pagenumbering{roman} % <===============================================

\maketitle
\thispagestyle{empty} % <===============================================
\newpage

\tableofcontents

\clearpage
%\justify
\pagenumbering{arabic} % <==============================================
\section{Bevezetés}
%ez itt egy komment

%\epigraph{Bip bip bee bee bip}{\textit{R2-D2}}

Alapvetően három különböző típusú robotot különböztetünk meg: a vezérelt 
robot, az automatizált robot és az autonóm azaz önálló robot.

A vezérelt robotok esetében mindenképp szükség van emberi üzemeltetésre. 
Ezek jellemzően olyan robotok melyek teljes mértékben függnek az emberi 
irányítástól, önállóan semmilyen feladatot, tevékenységet nem végeznek. 
Vezérelt robotokat gyakran alkalmaznak orvosi műtétek során illetve 
katonai akciók, bombák hatástalanítása alkalmából.

%\begin{wrapfigure}{r}{0.4\textwidth}
%\centering
%\includegraphics[width=0.25\textwidth]{kiva_robot.png}
%\caption{Az Amazon által alkalmazott Kiva robot.}\label{fig:kiva robot} % <==========================
%\end{wrapfigure}
\begin{figure}[!hb]
\centering
\includegraphics[width=0.25\textwidth]{kiva_robot.png}
\caption{Az Amazon által alkalmazott Kiva robot.}\label{fig:kiva robot} % <==========================
\end{figure}

\todo{Megoldani az ábra feliratot..szám az ábra elé}
Az autonóm robotok lehetőséget adnak arra, hogy óriási mértében növeljük a termelés minőségét és hatékonyságát. Csak, hogy megemlítsek egy pár ilyen területet a teljesség igénye nélkül: csomagszállítás, logisztika, takarítás, mezőgazdaság, földművelés.

\subsection{A szakdolgozat tartalmi összefoglalása}
%\begin{justify}
A szakdolgozatom első részében a mobil robot megvalósításának elméleti hátteréről értékezek.

\subsection{A virtuális környezet}

Az elméleti kidolgozás során az amerikai Georgia Institute of Technology (Georgia Tech) egyetem által fejlesztett sim.I.am mobil robot szimulátort fogom használni.     

\subsubsection{A sim.I.am könyvtérszerkezet bemutatása}
A sim.I.am 


\subsection{A gyakorlati kivitelezés}
A gyakorlati kivitelezés részben beszámolok az általam épített robot tapasztalatairól.A robot programkódját \todo{itt majd megadni hogy miben írtam meg a kódot } Python/Matlab/C nyelven írtam. Az általam írt programot részletesen ismertetem a gyakorlati kivitelezés részben.


\subsection{Célkitűzés}
A szakdolgozat célja, hogy bemutassa egy autonóm mobil robot irányítástechnikájának az elméleti hátterét, figyelembe véve az inputokat, outputokat és a visszacsatolást.


\subsection{A szakdolgozat fő fejezeteinek tartalma}
A szakdolgozat első fejezete a bevezető rész. Ez a fejezet tartalmaz egy rövid összefoglalót a mobil robotok típusairól, egy kis ismertetőt a szakdolgozat elméleti kidolgozásához alkalmazott szimulátorról illetve gyakorlati megvalósításról és a szakdolgozat célkitűzését.
%\end{justify}

\clearpage
\section{A PID típusú szabályzó}
%itt irok a PID vezérlésről

\subsection{Egy egyszerű vezérlés}
%\begin{justify}
A vezérlés feladata, hogy az általunk irányított járművet, vagy adott esetben robotot, egy - általunk megadott - sebességen tartson. Azaz indulásnál felgyorsítson egészen a megadott sebességig majd ezt a sebességet tartsa egészen addig amíg eltérő jelzést, azaz újabb referenciaértéket nem kap. 


Ezen információk rendelkezésre állása segít abban, hogy levezessem az alábbi egyenletet:

\begin{ceqn}
\begin{equation*}
\dot{v} = a \Rightarrow m \cdot \dot{v} = c \cdot u \Rightarrow \dot{v} = \frac{c}{m} \cdot u
\end{equation*}
\end{ceqn}

A célsebesség értékét $r$ jelöli és az eltérés mértékét - az angol error szó után - $e$ betűvel jelölöm. Ebből adódik, hogy: $e = r - v$.
A vezérlés gyakorlati megtervezése előtt, fontos rögzíteni azokat a 
tulajdonságot melyekkel rendelkeznie kell:
\begin{itemize}
\item kis eltérési érték esetén ($e$) a korrekciónak ($u$) is kicsinek kell lennie
\item a célérték ($u$) nem "ugrálhat" nagy mértékben (azaz a hirtelen gyorsulás/lassítás nem haladhat meg egy megadott értéket)
\item a céltérték nem lehet az átviteli koefficiens ($c$) illetve a gépjármű vagy robot tömegének ($m$) a függvénye
\end{itemize}
Az utolsó pont valójában azt jelenti, hogy a robot vezérlője, a különböző paraméterek (mint például tömeg vagy átviteli veszteségek) ismerete nélkül is képes kell legyen egy megadott sebességen tartani a robotot.

    Tehát ha az eltérés pozitív akkor a maximális bemeneti értéket határozok meg, ha az eltérés negatív (azaz a valós sebesség nagyobb mint a referencia sebesség) akkor minimális (negatív) bemeneti értékkel számolok, nulla eltérés esetén pedig a bemeneti érték is nulla.
%\end{justify}

\begin{equation}
    u=
    \begin{cases}
      u_{max}, & \text{ha}\ e > 0 \\
      -u_{max}, & \text{ha}\ e < 0 \\
      0, & \text{ha}\ e = 0
    \end{cases}
  \end{equation}

%\begin{justify}
A két grafikon megmutatja, hogy pontosan mi a gond a fenti elképzeléssel.
%\end{justify}

\begin{figure}
    \centering
    \begin{minipage}{0.45\textwidth}
        \centering
        \includegraphics[width=0.99\textwidth]{Bev_PID_vez_1.PNG} % first figure itself
        \caption{a robot sebességgörbéje}\label{fig:sebesseg_ido_norm_vezerl} % <==============
    \end{minipage}\hfill
    \begin{minipage}{0.45\textwidth}
        \centering
        \includegraphics[width=0.99\textwidth]{Bev_PID_vez_2.PNG} % second figure itself
        \caption{a bemeneti jel értékei}\label{fig:bem_jel_norm_vezerl} % <==============
    \end{minipage}
\end{figure}

\todo{Betenni a saját grafikonokat}

%\begin{justify}
A bal oldali grafikon mutatja a robot sebességét az eltelt idő függvényében. Ezen az látható hogy a robot egészen addig gyorsul amíg eléri a referencia értéket, majd ezt tartja. A problémát a bal jobb oldali ábra jelenti. Ez az ábra tartalmazza a bemeneti jel értékeit az eltelt idő függvényében. Ez a grafikon azt jelzi hogy a bemeneti érték folyamatosan 100\% és -100\% között ugrál. 
Összefoglalásképp megállapítható, hogy az első próbálkozás a fent említett okok miatt nem járt sikerrel így el kellett vetnem.
%\end{justify}


\subsection{P szabályzó}
%\begin{justify}
Amint az láthattuk az első robotvezérlő modellem nem vált be. A probléma fő oka az volt, hogy az \textit{error}, azaz a referencia sebesség és valós sebesség eltérésének bármilyen értékére a bemeneti jel mely vezérli a robot sebességet azonnal maximális gyorsulással vagy maximális tolatással reagál.
%\end{justify}  

\begin{figure}[ht]
\centering
\includegraphics[width=0.5\textwidth]{Kepek/2.1_Bev_a_vezerlesbe/P_regulator.PNG}
\caption{A P szabályzó sebesség/idő görbéje}\label{fig:seb_ido_P_szab} % <==============
\end{figure}

\todo{betenni a saját P szabályzó grafikont}
%\begin{justify}
Ugyanakkor az ábrán azt is hamar észre lehet venni, hogy a valós sebesség nem éri el a referenciajelet. Ebben az esetben a modell matematikai leírása az alábbiak szerint alakul:
%\end{justify}
\begin{ceqn}
\begin{equation*}
\dot{v} = \dfrac{c}{m} \cdot u - \gamma \cdot v
\end{equation*}
\end{ceqn}
%\begin{justify}
A $\gamma$ ebben az esetben a légellenállási tényezőt jelöli és a sebesség függvénye. Ha jobban megvizsgáljuk ezt a képletet akkor hamar megállapíthatjuk hogy állandó sebesség esetén - azaz ha a rendszer nem gyorsul vagy lassul - a jármű soha nem tudja elérni a referenciaértéket ($r$).
%\end{justify}
Tehát:
\begin{ceqn}
\begin{equation*}
\dot{v} = 0 = \dfrac{c}{m} \cdot u - \gamma \cdot v
\end{equation*}
\end{ceqn}
Mivel tudjuk hogy a P szabályozó esetében $u = k(r-v)$, ezt behelyettesítve az alábbi egyenletet kapjuk:

\begin{ceqn}
\begin{equation*}
\dot{v} = 0 = \dfrac{c}{m} \cdot u - \gamma \cdot v = \dfrac{c}{m} \cdot k \cdot (r-v) - \gamma \cdot v \Rightarrow (c \cdot k + m \cdot \gamma) \cdot v = c \cdot k \cdot r
\end{equation*}
\end{ceqn}

Ebből pedig v-re rendezve kapjuk, hogy:
\begin{ceqn}
\begin{equation*}
v = \dfrac{c \cdot k}{c \cdot k + m \cdot \gamma} \cdot r 
\end{equation*}
\end{ceqn}
A számlálóban és a nevezőben található tagok miatt könnyen megállapítható, hogy:
\begin{ceqn}
\begin{equation*}
v = \dfrac{c \cdot k}{c \cdot k + m \cdot \gamma} \cdot r < r
\end{equation*}
\end{ceqn}
Ezáltal azt is megállapíthatjuk, hogy a jelen esetben noha a P szabályzó garantálja a rendszer stabilitását de a referenciaérték elérése nem valósul meg, ezért a vezérlésen még kell fejleszteni.

\subsection{I szabályzó}
%\begin{justify}
Amint azt az előző fejezetben levezettem láthattuk, hogy a P szabályzó - noha stabilan tartja a rendszert és alkalmazása megszünteti a bemeneti jel nagymértékű és hirtelen változásait - mindig alacsonyabb marad mint a referenciaérték.
Ennek a képlete:
%\end{justify}

\begin{ceqn}
\begin{equation*}
u(t) = k_{p} \cdot e  +  k_{i}  \cdot \int_{0}^{t} \cdot  e(\tau) \cdot d\tau
\end{equation*}
\end{ceqn}

%\begin{justify}
Ezzel pedig amint azt az alábbi - most már PI szabályozóval kiegészített vezérlő - sebesség-idő grafikon is mutatja megoldottuk a  sebességkülönbség gondját, a vezérlő most már úgy működik, ahogy terveztem.
%\end{justify}

\begin{figure}[ht]
\centering
\includegraphics[width=0.5\textwidth]{Kepek/2.1_Bev_a_vezerlesbe/PI_regulator.PNG}
\caption{A PI szabályzó sebesség/idő görbéje}\label{fig:seb_ido_B}
\end{figure}


\begin{comment}
Ezen probléma megoldása érdekében megváltoztatom a bemeneti érték képletét az alábbi módon:
%\end{justify}

\begin{ceqn}
\begin{equation*}
u = k \cdot (r-v) + \gamma \cdot \dfrac{m}{c} \cdot v
\end{equation*}
\end{ceqn}

%\begin{justify}
Amint látható csupán annyin változtattam, hogy az egyenlethez hozzáadtam a $ \gamma \cdot \dfrac{m}{c} \cdot v$ tagot.
Ezáltal az eredeti egyenlet, mely az alábbiak szerint nézett ki:
%\end{justify}

\begin{ceqn}
\begin{equation*}
\dot{v} = \dfrac{c}{m} \cdot u - \gamma \cdot v
\end{equation*}
\end{ceqn}

máris megváltozik, és azt az egyenletet kapom amit célként fogalmaztam meg, azaz:

\begin{ceqn}
\begin{equation*}
\dot{v} = 0 = \dfrac{c}{m} \cdot u + \gamma \cdot v - \gamma \cdot v  \Rightarrow v = r
\end{equation*}
\end{ceqn}

Könnyen észrevehető, hogy az új bemeneti képlet segített abban, hogy a légellenállás hatását megszüntesse, ezáltal a valós sebesség most már eléri a referencia sebességet.
\end{comment}


\subsection{D szabályzó}
%\begin{justify}
Végezetül kiegészítettem az egyenletet a differenciáló taggal mely amellett, hogy fokozza a folyamat stabilitását, egyúttal csökkenti az integráló tag túllendülését is. Mivel ugyanakkor a jel vagy jelek differenciálása erősíti a zajt kerülni kell a túl magas erősítés instabillá teheti a vezérlést.
%\end{justify}

\subsection{PID szabályzó}
A differenciáló tag kiegészítésével most már teljessé vált a PID szabályzóm:

\begin{ceqn}
\begin{equation*}
u(t) = k_{P} \cdot e  +  k_{I}  \cdot \int_{0}^{t} \cdot  e(\tau) \cdot d\tau  +  k_{D} \cdot \dfrac{de(t)}{dt}
\end{equation*}
\end{ceqn}

%\begin{justify}
A PID szabályzó három (arányos, integráló és deriváló) tagja immár megfelelő módon sza-bályozzák a robot sebességét. 
%\end{justify}

\clearpage
\section{A robot hajtása}
%itt majd irok a differenciál meghajtásrol, a szükséges adatokról: kerék átmérő stb
%\begin{justify}
Ahhoz, hogy megtervezhessük egy robot vezérlését tudnunk kell, hogy az 
adott robot hogyan "viselkedik". Mindenekelőtt ismernünk kell a robot 
meghajtását. Alapvetően ez az egyik legfontosabb paraméter, mely nagyban 
meghatározza a robot haladási és kanyarodási tulajdonságait. A kerekes 
mobil robotok esetében több típusú meghajtás és kerékelrendezés is létezik.
%\end{justify}


\subsection{A differenciális meghajtású robot}
%\begin{justify}
Ahhoz, hogy vezérelni tudjunk egy differenciális meghajtású robotot, rendelkeznünk kell pár alapvető fizikai tulajdonságával. 
Mindenképp ismernünk kell a robot hajtókerekeinek az átmérőjét ($R$)és a robot nyomtávolságát ($L$) is.
%\end{justify}

%\begin{wrapfigure}{r}{0.4\textwidth}
%\centering
%\includegraphics[width=0.25\textwidth]{Kepek/3.1_Dif_robot/robot_sajat.png}
%\caption{Differenciális meghajtású robot.}\label{fig:diff hajtasu robot}
%\end{wrapfigure}
\begin{figure}[!ht]
\centering
\includegraphics[width=0.25\textwidth]{Kepek/3.1_Dif_robot/robot_sajat.png}
\caption{Differenciális meghajtású robot.}\label{fig:diff hajtasu robot}
\end{figure}


Ahhoz, hogy a vezérlés irányítani tudja a robotot a bemeneti jelet - mely jelenleg a sebesség - valahogy össze kell kötnünk a robot pozíciójával és haladási irányával. Ebben pedig a differenciális meghajtású robot kinematikája segít:

\begin{ceqn}
\begin{equation*}
\begin{gathered}
\dot{x} = \dfrac{R}{2} \cdot (v_{R} + v_{L}) \cdot \cos(\phi) \\
\dot{y} = \dfrac{R}{2} \cdot (v_{R} + v_{L}) \cdot \sin(\phi) \\
\dot{\phi}= \dfrac{R}{L} \cdot (v_{R} - v_{L})
\end{gathered}
\end{equation*}
\end{ceqn}

%\begin{justify}
Ezen egyenletek segítségével kerekek sebességéből ($v_{R}$,$v_{L}$) ki tudom számolni a robot helyzet- ($\dot{x}$, $\dot{y}$) és irányváltoztatását ($\dot{\phi}$).
Fontos itt megjegyezni, hogy a kerekek sebességét nehézkes lenne megadni, ezért mindenképp egy általánosabb, könnyebben értelmezhető paramétert kell választanom:

\begin{ceqn}
\begin{equation*}
\begin{gathered}
\dot{x} = v \cdot \cos(\phi) \\
\dot{y} = v \cdot \sin(\phi) \\
\dot{\phi}= \omega
\end{gathered}
\end{equation*}
\end{ceqn}

A kanyarodást ugyanúgy mint a differenciális meghajtású robotok esetében $\dot{\phi}$ görög betűvel jelölöm. Az egyenlet jobb oldalán pedig a robot sebességét $v$ illetve szögsebességét - mely megegyezik az irányváltással azaz a szögsebességgel - $\omega$ jelöli. 
A két egyenletet behelyettesítve egymással jutok el végül ahhoz az egyenlethez mely segít a kerekek sebességének a pontos kiszámolásában:

\begin{ceqn}
\begin{equation*}
\begin{gathered}
v_{R} = \dfrac{2 \cdot v + \omega \cdot L}{2R} \\
v_{L} = \dfrac{2 \cdot v - \omega \cdot L}{2R}
\end{gathered}
\end{equation*}
\end{ceqn}

Ez utóbbi két egyenlet így már lehetővé teszi, hogy általánosabb, könnyebben értelmezhető paraméterekből azaz a $v$-vel jelölt sebességből és $\omega$-val jelölt szögsebességből ki tudjam számolni a két kerék sebességét.
%\end{justify}

\clearpage
\section{A mobil robotok érzékelői}
%\begin{justify}
A mobil robotok navigációjához nélkülözhetetlenek az érzékelők vagy más szóval a szenzorok amelyeket a robotot a saját helyzetéről és  illetve a környezetéről tájékoztatják. Ezáltal az érzékelőket két nagy csoportba sorolhatjuk:
\begin{itemize}
\item belső érzékelők: ezen csoport tartalmazza azon érzékelőket mely a robot állapotáról adnak információkat, azaz sebesség, gyorsulás, orientáció
\item külső érzékelők: ebben a csoportba tartoznak azok a szenzorok melyek a robot pozíció-járól, környezetéről azaz információt adnak a külvilágról, esetleges akadályokról
\end{itemize}
%\end{justify}
%\begin{justify}
A szenzorokat továbbá megkülönböztethetjük még aszerint, hogy a aktívak vagy passzívak. Az aktív szenzorok előnyei, hogy jellemzően több adatot szolgáltatnak mint a passzív szenzorok, ugyanakkor a hátrányuk az, hogy magasabb a fogyasztásuk és több szenzor együttes alkalmazása esetén interferencia léphet fel.
%\end{justify}


\subsection{Belső érzékelők}

%\begin{justify}
Mint azt már az előző bekezdésben említettem a belső érzékelők jellemzően a robot saját állapotáról adnak információt. A robot navigáláshoz létszükséges információk például a robot haladási sebessége és iránya. 
      Az általam épített robotnál az egyik leggyakrabban használt sebességérzékelőt, az odo-métert alkalmaztam. Ennek a működési elvéről bővebben a következő bekezdésben írok.
%\end{justify}


\subsubsection{Az optikai inkrementális kódadó}
%\begin{justify}
A mobil robot kerekeinek a forgásának a meghatározására az egyik leggyakrabban alkalmazott megoldás az optikai inkrementális kódadó vagy másik nevén optométer. A vevő érzékeli ezeket a jeleket és elektromos jelekké alakítja.
%\end{justify}

\begin{figure}[ht]
\centering
\includegraphics[width=0.7\textwidth]{Kepek/4.1.1_Optometer/odometer1.png}
\caption{A forgójeladó elvi működése.}\label{fig:seb_ido_C}
\end{figure}

%\begin{justify}
A \ref{fig:seb_ido_C}. ábrán látható forgójeladó esetében a fényforrást 
egy LED biztosítja és a tárcsa ellentétes oldalán pedig egy 
fototranzisztor érzékeli a tárcsa rovátkáin, résein átjutó fényt.  
%\end{justify}

%\begin{wrapfigure}{l}{0.4\textwidth}
%\centering
%\includegraphics[width=0.35\textwidth]{Kepek/4.1.1_Optometer/Absolute_optometer.jpg}
%\caption{Egy abszolút forgójeladó tárcsája.}\label{fig:optometer}
%\end{wrapfigure}
\begin{figure}
\centering
\includegraphics[width=0.35\textwidth]{Kepek/4.1.1_Optometer/Absolute_optometer.jpg}
\caption{Egy abszolút forgójeladó tárcsája.}\label{fig:optometer}
\end{figure}

Sokszor nagyon fontos hogy pontosan ismerjük a gép vagy kerék pontos 
pozícióját akkor is ha például a robotot kikapcsoltuk és újraindítjuk.  
Ennek a képlete:

\begin{ceqn}
\begin{equation*}
D_{c} = \dfrac{D_{r} + D_{l}}{2}
\end{equation*}
\end{ceqn}

A robot helyzetét meghatározó egyenletrendszerbe behelyettesítve kapom meg az új egyenleteket melyek már a forgójeladó értékeik alapján számítja ki a robot új pozícióját:


%\begin{cases} 3x + 5y + z \\ 7x – 2y + 4z \\ -6x + 3y + 2z 
%\end{cases} 
\begin{equation*}
\begin{cases} 
    x^\prime = x + D_{c} \cdot \cos(\phi) \\
    y^\prime = y + D_{c} \cdot \sin(\phi) \\
   \phi^\prime = \phi + \dfrac{D_{r} + D_{l}}{L}
\end{cases} 
\end{equation*}

A forgójeladóból kapott értékek természetesen nem a megtett távolságról adnak információt, hanem arról, hogy a robot elindítása óta (pontosabban a forgójeladó bekapcsolása óta)  a forgójeladó fototranzisztora hányszor érzékelte a fénynyaláb átvilágítását a tárcsa rovátkáin. Mivel pontosan tudjuk, hogy a tárcsán összesen hány rovátka van, minden adat rendelkezésünkre áll hogy kiszámolhassuk a kerék által megtett távolságot:

\[ D = 2 \cdot \pi \cdot R \cdot \dfrac{\Delta \text{számláló}}{N}\]
\begin{align*}
\text{Ahol:}\quad 
\Delta \text{számláló} &= \text{a forgójeladó által mért számláló értékének a változása}\\
R &= \text{a mobil robot kerekének a sugara}\\
N &= \text{a forgójeladó tárcsáján levő  összes rovátka}
\end{align*}

Fontos megjegyezni azonban hogy a forgójeladó önmagában nem alkalmas a robot pozíciójának  a meghatározásához.
Az általam épített robot esetében egy saját készítésű, egyszerű infravörös jeladóval és érzékelővel működő forgójeladót alkalmaztam, melyről részletesen a gyakorlati megvalósítás fejezetben értekezek.


\subsection{Külső szenzorok}
%\begin{justify}
A külső érzékelők feladata, hogy a robot környezetéről adjanak információt. 
%\end{justify}

\subsection{Infravörös-fényt érzékelő berendezés}

A robotikában távolságméréshez az egyik leggyakrabban alkalmazott szenzor az infravörös távolságmérő. 

A működési elvük alapján ...

Amint azt már a bevezetésben leírtam, a sim.I.am környezetben leprogramozott \textit{Quickbot} virtuális robot öt infravörös távolságmérővel rendelkezik. Ezekből három a robot elején található és kettő pedig a robot jobb illetve bal oldalán. Amint azt az alábbi ábra is mutatja, robot "orrához" képest  $90^{\circ}$, $45^{\circ}$, $0^{\circ}$, $-45^{\circ}$, $-90^{\circ}$ foknál lettek elhelyezve. 

\begin{figure}[ht]
\centering
\includegraphics[width=0.5\textwidth]{Kepek/Infra_voros/quicbot.jpg}
\caption{A Quickbot robot infravörös érzékelői}\label{fig:seb_ido_D}
\end{figure}

\clearpage
\section{Navigáció}
%ide egy rövid osszefolglaó rész hogy, hogyan miert van szukseg kulonboző viselkedésekre, milyenek vannak es a robot hogyan valtogat ezek között; folyamatábrát is kell alkalmazni
\blindtext

\subsection{Viselkedés típusok}
\blindtext

\subsubsection{Célhoz tartó algoritmus}
\blindtext

\subsubsection{Akadálykerülő algoritmus}
\blindtext

\subsubsection{Falkövető algoritmus}
\blindtext

\clearpage
\section{Gyakorlati megvalósítás}
%ezzel itt most nem tudom mi legyen, kellene csinálni valami saját robotot is, mely egyszerűbb mint a szimulacio, arduino board, kevesebb erzekelo, stb
\blindtext

\subsection{A differenciálhajtású mobil robot felépítése}
\blindtext

\subsection{Az alkalmazott aktuátor}
\blindtext

\subsection{Az alkalmazott mikrokontroller}
\blindtext

\subsection{Az alkalmazott szenzorok}
\blindtext
\subsubsection{Ultrahangos távolságmérő}
\blindtext

\subsection{Az alkalmazott algoritmus}
\blindtext

\clearpage
\section{Gyakorlati megvalósítás}
%ezzel itt most nem tudom mi legyen, kellene csinálni valami saját robotot is, mely egyszerűbb mint a szimulacio, arduino board, kevesebb erzekelo, stb
\blindtext

\clearpage
\section{Összehasonlítás, kifejtés, vagy valami hasonló}
\blindtext

\clearpage
\section*{Egyéb}
\blindtext

\clearpage
\section*{Referenciák}
\subsection*{Mindenképp betenni}
\url{https://hu.wikipedia.org/wiki/PID_szab%C3%A1lyoz%C3%B3} \\

- ide még mindenképp jönnek a tanár slidejai

\subsection*{Esetleges, egyáltalán nem biztos}
\url{http://hadmernok.hu/kulonszamok/robothadviseles7/kucsera_rw7.html}

\todo{A nem magyar idézetjeleket magyarosítani}

\clearpage
\listoftodos

\end{document}

举个例子,你必须使用环境选项wrapfigure。如果你使用代码

% \begin{wrapfigure}[number of narrow lines]{placement}[overhang in margins]{width of figure}〈figure〉\end{wrapfigure}
%\begin{wrapfigure}{r}{0.4\textwidth}
\begin{wrapfigure}[8]{r}{0.4\textwidth} % <===================

您定义了图形的长度似乎是8线条(窄线的数量)。这会产生更好的结果:

更好的结果

请将此结果与使用标准命令获得的第一个结果进行比较\begin{wrapfigure}{r}{0.4\textwidth}

对我来说,这是你能从给定情况中得到的最好结果。对于每个其他包裹图,你必须重新测试几个数字,以手动找到更好的结果。

只有在文本修复后才能这样做。

然后开始图1,测试最佳参数来包装它,然后转到图 2,...

相关内容