did other stuff

This commit is contained in:
2021-05-21 04:39:17 +02:00
parent 83445c5b7c
commit 00e67ab6cd
9 changed files with 133 additions and 30 deletions

View File

@@ -4,6 +4,13 @@
\label{chapter:ursim}
%----------------------------------------------------------------------------
% Ipar 4.0 ???
% leírni, hogy igazából itt csak egy demót alakítottam át, így kívülről nem fog semmi érdekes látszani
\section{Környezet ismertetése} % Általánosan a robotkar cumók ismertetése
% Ide leírom, hogy mi volt kész, amivel dolgozni tudtam
@@ -11,26 +18,63 @@
% Mivel ezt a dipterv alatt csináltam, ezért részletesebben fogok írni róla
\section{Környezet ismertetése} % Általánosan a robotkar cumók ismertetése
\subsection{Universal Robots}
% Általános leírás a robotkarokról
% Általános leírás a robotkarokról, meg hogy ezek a csávók gyártanak ilyeneket
\subsubsection{Fizikai jellemzők}
A használt robotok
\cite{ur3_specs}
% Ide majd keresek valamit, lehet átnevezem valami okosra a címét
\subsubsection{Kommunikációs interfész}
% URTD Interface
% RTDE Interface
\subsubsection{Szimulátor}
% Dockursim
\subsection{Demo vezérlés}
\subsection{Demó}
\subsubsection{Környezet}
% Mindenképp meg kell említeni hogy találó neveket adtak nekik
% Itt le lehetne írni, hogy hogy is néz ki ez a demo, milyen lépésekből áll és mi a setup
% Ki kell emelni hogy van egy kritikus szinkronizációs pont
\begin{figure}[h!]
\centering
\includegraphics[width=0.6\textwidth]{figures/work_table}
\caption{A demó környezet elemeit tartalmazó asztal alaprajza}
\label{fig:work_table}
\end{figure}
\subsubsection{Vezérlés}
A demo vezérlésére a munkám elején egy monolit Python program állt rendelkezésemre. A program úgy lett tervezve, hogy elindításával csatlakozik mindkettő robotkar \acrshort{rtde} interfészére. Majd sorban elküldi a robotkaroknak a demo végrehajtásához szükséges utasításokat. A % TODO
gripper vezérlését \acrshort{rest} apin keresztül végzi.
A két robotkar vezérlése két külön szálon valósítja meg. Mindkettő szálon egymás után következnek az utasítások, a kritikus szinkronizációs részek egyszerű szál-szinkronizációs primitívekkel vannak megoldva.
A programban több futtatási mód is implementálva van. Egyrészt választani lehet a végrehajtás sebességét gyors és lassú között. Ez a robotkarok mozgási sebességét befolyásolja. Emellett lehetőség van "Jogging" módban futtatni. Ebben a módban a program minden mozdulat végrehajtása előtt várakozik egy gomb lenyomására a további parancsok kiadása előtt. Így lehetőség adódik az esetleges hibás mozgások hibakeresésére illetve a program teljesen automatikus lefuttatása előtt manuális tesztelésre.
A program a konfigurációs beállításait egy \gls{ini} fájlban tárolja. Ezek a konfigurációs beállítások elsősorban a robotkarok és a hozzá tartozó Gripperek hálózati címeit adja meg illetve a konkrét sebesség módokhoz tartozó konfigurációs értékeket.
Az \gls{ini} fájl mellett a program a konkrét lépésekhez tartozó koordinátákat egy \textit{Microsoft Excel} \gls{xlsx} fájlból olvassa ki. Ebben a fájlban mindkét robotkarhoz tartozóan fel vannak sorolva a koordináták mind tool- és joint térben. %TODO verify naming
\section{Tervezés} % Itt foglalom össze, hogy hogy terveztem meg ezt a fost
% funkcionális felbontás
% külön lehet írni a magas szintű tervezésről és egyes szoftverek architektúrájáról
% Itt le lehet írni a controller magas szintű terveit, plugin architektúrát
% tervezés és a nehézségek nem tételesen de hasonlóan struktúrálva
% Illetve a komoly megoldásaim
@@ -40,4 +84,32 @@
% ha nagyon kevés oldal van, akkor itt tudok írni a fejlesztői környezetről is illetve a tesztelésről
% Szinkronizációs protokol lófasznál ne felejtsek el írni az NTP-ről és PTP-től
% Szinkronizációs protokol lófasznál ne felejtsek el írni az NTP-ről és PTP-től
\begin{figure}[h!]
\centering
\includegraphics[width=1\textwidth]{figures/ursim_services_plan-clean}
\caption{A tervezett mikroszolgáltatások a futtatási környezetük szerint csoportosítva}
\label{fig:usrsim_services_plan-clean}
\end{figure}
\section{Implementáció}
% Hát itt kénytelen leszek kódot magyarázni szerintem
% Redis
% Technológia stack
% az egyes mikroszolgáltatások különszedve
% Le lehet írni azt is hogy hogyan extractoltam ki a lépéseket az eredeti kódból, erről egy egész szekciót lehetne írni
% Tiny HTTP Szerver, endpointok felsorolása
% Pluginok compilerekkel
% Esetleg pluginok felsorolással
% A programok felépítéséről is lehet írni