This commit is contained in:
Pünkösd Marcell 2021-05-22 00:06:03 +02:00
parent 00e67ab6cd
commit e02ddd9fb0
2 changed files with 77 additions and 15 deletions

View File

@ -325,8 +325,41 @@
} }
@misc{ur3_specs, @misc{ur3_specs,
author = {Universal Robots},
title = {UR3 Technical Specifications}, title = {UR3 Technical Specifications},
howpublished = {\url{https://www.universal-robots.com/media/240736/ur3_en.pdf}}, howpublished = {\url{https://www.universal-robots.com/media/240736/ur3_en.pdf}},
note = {Hozzáférve: 2021-05-21} note = {Hozzáférve: 2021-05-21}
}
,
@misc{rg2datasheet,
author = {OnRobot},
title = {RG2 Gripper Datasheet},
howpublished = {\url{https://onrobot.com/sites/default/files/documents/Datasheet_RG2_v1.0_EN.pdf}},
note = {Hozzáférve: 2021-05-21}
}
@misc{rg2tftdatasheet,
author = {OnRobot},
title = {RG2-FT Gripper Datasheet},
howpublished = {\url{https://onrobot.com/sites/default/files/documents/Datasheet_RG2-FT_v1.0_EN.pdf}},
note = {Hozzáférve: 2021-05-21}
}
@misc{whatisindustry4,
author = {Epicor},
title = {What is Industry 4.0—the Industrial Internet of Things (IIoT)?},
howpublished = {\url{https://www.epicor.com/en/resource-center/articles/what-is-industry-4-0/}},
note = {Hozzáférve: 2021-05-21}
}
@misc{robot_client_interfaces,
author = {Universal Robots},
title = {Overview of Client Interfaces},
howpublished = {\url{https://www.universal-robots.com/articles/ur/interface-communication/overview-of-client-interfaces/}},
note = {Hozzáférve: 2021-05-21}
} }

View File

@ -5,18 +5,21 @@
%---------------------------------------------------------------------------- %----------------------------------------------------------------------------
% Ipar 4.0 ??? % Ipar 4.0 ???
% Szóval van ezt a 4. ipari forradalom
% itt irodalom kutatjuk, hogy hogy jön ez össze a cloudból irányitott dolgokkal
% Leírom hogy a peremhálózatok itt mennyire király módon tudnak a segítségünkre válni
% mert az fellendíti, meg nagyon felhő
% 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
\cite{whatisindustry4}
Ez az alkalmazás a peremhálózati rendszerek alacsony késleltetését aknázza ki. Hiszen a robotika vezérlésnél fontos a precíz irányítás, úgy vélem itt különösen jól alkalmazható ez a technológia. A peremhálózati rendszereknek hála tovább csökkenthetővé válik a gyárakban helyben telepített informatikai infrastruktúra mértéke, hiszen több alkalmazás válik \gls{felho}be "költöztethetővé" és ezáltal annak előnyeit is nagyobb mértékben lesznek képesek kihasználni a gyártósorok.
Ebben a feladatban egy már rendelkezésre álló demót alakítottam át úgy, hogy az kihasználja a peremhálózati rendszerek adta lehetőségeket.
\section{Környezet ismertetése} % Általánosan a robotkar cumók ismertetése \section{Környezet ismertetése} % Általánosan a robotkar cumók ismertetése
A feladat megkezdésekor rendelkezésemre állt egy gondosan megtervezett demó szcenárió, amely kifejezetten a hálózati késleltetés jelentőségének bemutatására lett tervezve. Ez a szcenárió magában foglalja mind a szoftveres és a hardveres megoldást. A kettőt összekötő hálózatot és még egyedileg 3D nyomtatott munkadarabokat is.
% Ide leírom, hogy mi volt kész, amivel dolgozni tudtam
% Itt leírom hogy mi volt meg mielőtt nekiálltam
% Mivel ezt a dipterv alatt csináltam, ezért részletesebben fogok írni róla
\subsection{Universal Robots} \subsection{Universal Robots}
% Általános leírás a robotkarokról, meg hogy ezek a csávók gyártanak ilyeneket % Általános leírás a robotkarokról, meg hogy ezek a csávók gyártanak ilyeneket
@ -24,27 +27,51 @@
\subsubsection{Fizikai jellemzők} \subsubsection{Fizikai jellemzők}
A használt robotok Jellemzően többfajta felépítésű robotkar létezik. A demó során használt mindkettő robotkar csuklós felépítésű, azaz a az emberi karhoz hasonlóan hajlatokkal (joint) rendelkezik a merev tagok között.
A használt robotkarok hat darab ilyen hajlattal rendelkeznek, amely kellő szabadságot nyújt nekik a mozgás terén. A hat jointból ötöt +/- 360$\deg$ lehet elforgatni, az utolsót amely a robotkar "csuklóját" adja pedig végtelenszer lehet körbeforgatni. Egy ilyen robotkar képes fél méteres (500mm) körön belül mozgásokat végezni, és három kilogramm hasznos terhet mozgatni. Maga a robotkar saját súlya 11 kilogramm\cite{ur3_specs}.
A két robotkar végére két különböző gripper van telepítve, mindkettő \textit{OnRobot} gyártmány, viszont az egyik egy \textit{rg2} a másik pedig \textit{rg2-ft}. Fizikai jellemzőit tekintve a két gripper hasonló: mindkettő képes legalább 100mm-re kinyílni és 2 kilogramm erővel vízszintesen tömeget megemelni. A szorításra maximum 40 Newton erőt képesek kifejteni\cite{rg2datasheet,rg2tftdatasheet}. A fő különbséget a gripperek kommunikációs interfésze nyújtja.
\cite{ur3_specs}
% Ide majd keresek valamit, lehet átnevezem valami okosra a címét
\subsubsection{Kommunikációs interfész} \subsubsection{Kommunikációs interfész}
% RTDE Interface % RTDE Interface
\cite{robot_client_interfaces}
\begin{itemize}
\item \textbf{Primary/Secondary Interfaces}
\item \textbf{Real-time Interfaces}
\item \textbf{Dashboard Server}
\item \textbf{Socket Communication}
\item \textbf{XML-RPC}
\item \textbf{\acrfull{rtde}}
\end{itemize}
% Említeni a grippereket is
\subsubsection{Szimulátor} \subsubsection{Szimulátor}
% Dockursim % Dockursim
Természetesen a tanszéken csak kettő robotkar van, amelyek nem állnak mindig készen a tesztelésre. A fejlesztés és a tesztelés megkönnyítésére több szimulátor is megvizsgálásra került a Demót összeállító csapat által. Végül a leghatékonyabban használhatónak a \textit{DockURSim}\footnote{\url{https://github.com/ahobsonsayers/DockURSim}} bizonyult.
Lényegében a \textit{DockURSim} a robotkarokat közvetlenül irányító, a \textit{Teach Pendanton} futó szoftver becsomagolva egy \textit{Docker} konténerbe. Konkrét robotkart nem irányít, de a kommunikációs interfészeket és azok funkcionalitását teljes mértékben implementálja. Lehetőségünk van a grafikus felületet kezelni és ott meg tudjuk figyelni a robotkar mozgását.
Egyetlen hátránya ennek a megoldásnak, hogy a robotkarokat önállóan egy izolált környezetben tudja csak szimulálni, így a környezet fizikai hatásai, a gripperek működése és a robotkarok egymással való találkozását nem képes modellezni.
\subsection{Demó} \subsection{Demó}
A megvalósított demó egy általános összeszerelési szcenáriót mintáz. Ebben a szcenárióban a két robotkar egyenként felemelnek egy-egy munkadarabot. Ezeket a levegőben összeillesztik, majd ezután az egyik robotkar elengedi, a másik pedig leteszi.
Bár egyszerűnek tűnik, ebben a szcenárióban nagy hangsúly helyezkedik a hálózat pontos időzítésérére. Hiszen a kritikus ponton, amikor a két robotkar össze illeszti a munkadarabot kiemelten fontos, hogy egyszerre mozogjanak, hiszen ha ez nem sikerül, akkor összeillesztés helyett eltörik a munkadarabot.
A következőkben részletesen bemutatom a demó felépítését és működését.
\subsubsection{Környezet} \subsubsection{Környezet}
% Mindenképp meg kell említeni hogy találó neveket adtak nekik A demó szcenáriót lejátszó robotkarok egy asztalon kerültek telepítésre. Két oldalt a két robotkar helyezkedik el. A robotkaroknak a szcenáriót tervező csapat találó módon az Erik és a Fred neveket adták. Az Erik nevezetű robotkaron található az \textit{rg2-ft} típusú gripper, amely önállóan csatlakozik a hálózatra, ezzel szemben a Fred nevezetű robotkaron lévő gripper a robotkar kommunikációs interfészén keresztül kapja az információt.
% 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!] \begin{figure}[h!]
\centering \centering
@ -53,6 +80,8 @@ A használt robotok
\label{fig:work_table} \label{fig:work_table}
\end{figure} \end{figure}
Az asztalon a két munkadarabnak kijelölt helye van, ahonnan a robotkarok felemelik, az összeillesztés az asztal közepénél történik, majd valahol itt is helyezi el a kész darabot. A környezet vizuális bemutatásául \aref{fig:work_table}.\ ábra szolgál.
\subsubsection{Vezérlés} \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 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