# HG changeset patch # User schnalke@localhost.localdomain # Date 1210256963 -7200 # Node ID 5bb81f96e7db0d7b0182d5f9be90254442bc72d7 # Parent 185816ea2c0ba75b2848c3cf3d4a1826d46eeec9 added more picture about the project diff -r 185816ea2c0b -r 5bb81f96e7db das-projekt.tex --- a/das-projekt.tex Wed May 07 16:45:05 2008 +0200 +++ b/das-projekt.tex Thu May 08 16:29:23 2008 +0200 @@ -21,32 +21,25 @@ \section{Zielsetzung} -% FIXME: refactor that text -Momentan werden in der Industrie Roboter über DSPs angesteuert, welche nur schwierig programmiert werden können, da spezielle Kenntnisse nötig sind. Grundgedanke dieses Projektes ist es, dieses Manko durch den Einsatz der SPUs des Cell- Prozessors aufzuheben. Da die Cell-Architektur die Programmiersprache C und Linux unterstützt, können so auf einfachem Wege schnell Robotersteuerungen entwickelt werden ohne spezielle DSP und FPGA Entwicklung zu betreiben. Dies würde den Zeitfaktor neuer Entwicklung dramatisch senken. -Ein weiterer Aspekt der Cell-Architektur ist die extrem hohe Skalierbarkeit und die äußerst geringe Latenz dank mehrerer Prozessorelemente auf einem Chip. Da eine SPU das vielfache eines DSPs leistet und bis zu acht SPUs auf einem Cell-Core Platz finden ist es denkbar komplette Fertigungsstraßen durch dieses System zu ersetzen. -Kombiniert man nun beide Welten, DSP und Standard Computer, erhält man DSP-ähnliche Applikationen unter einem Linux Betriebssystem gekoppelt mit einer enormen Rechenleistung der nächsten Generation. +Ziel des Projekts ist es, ein Robotsteuerungs Framework zu erstellen, das auf der Cell/B.E. basiert. +Üblicherweise werden Roboter momentan über DSPs\footnote{Digitale Signalprozessoren} gesteuert. Diese erfordern spezielle Fachkenntnisse in der Programmierung. Mit Hilfe der Cell-Architektur soll eine Alternative geschaffen werden, die es ermöglicht auf einfache Weise Robotersteuerungen zu entwickeln. Als Werkzeuge sollen die Programmiersprache \emph{C} und das Betriebssystem \emph{GNU/Linux} zum Einsatz kommen, da diese vom Cell unterstützt werden und zudem in der Industrie bekannt sind. -Im Laufe des Praktikums soll ein Roboter Controller Framework entstehen, welches auf der Cell- -Architektur von IBM basieren soll. Momentan werden in der Industrie Roboter über DSPs -angesteuert, welche nur schwierig programmiert werden können, da spezielle Kenntnisse nötig sind. -Grundgedanke dieses Projektes ist es, dieses Manko durch den Einsatz der SPUs des Cell- -Prozessors aufzuheben. Da die Cell-Architektur die Programmiersprache C und Linux unterstützt, -können so auf einfachem Wege schnell Robotersteuerungen entwickelt werden ohne spezielle DSP -und FPGA Entwicklung zu betreiben. Dies würde den Zeitfaktor neuer Entwicklung dramatisch -senken. -Ein weiterer Aspekt der Cell-Architektur ist die extrem hohe Skalierbarkeit und die äußerst geringe -Latenz dank mehrerer Prozessorelemente auf einem Chip. Da eine SPU das vielfache eines DSPs -leistet und bis zu acht SPUs auf einem Cell-Core Platz finden ist es denkbar komplette -Fertigungsstraßen durch dieses System zu ersetzen. -Kombiniert man nun beide Welten, DSP und Standard Computer, erhält man DSP-ähnliche -Applikationen unter einem Linux Betriebssystem gekoppelt mit einer enormen Rechenleistung der -nächsten Generation. +Die Echtzeitfähigkeit die bisher für DSPs sprach kann mit dem Cell-Prozessor ebenso erreicht werden. Seine hohe Skalierbarkeit und die geringen Latenzen ermöglichen es dann sogar eine Vielzahl von Robotern, eventuell sogar ganze Fertigungsstraßen, mit nur einem Cell zu steuern. + +Dass dies realistische Vorstellungen sind, soll nun gezeigt werden, indem ein Showcase mit vier Robotern und einer visuellen Komponente an einem System erstellt wird. \section{Verwendete Technologie} -Unser Entwicklungssystem war ein angepasster IBM \emph{QS21}\footnote{beherbergt zwei Cell-Prozessoren mit je einem Gigabyte Arbeitsspeicher} Cell/B.E. Blade-Server. An diesem waren vier Lynx6-Roboterarme von Lynxmotion\footnote{http://lynxmotion.com} angeschlossen, und außer dem noch eine \emph{mvBlueFOX} Kamera von \emph{Matrix Vision}\footnote{http://matrix-vision.com}. Als Betriebsystem lief ein \emph{Fedora 7}\footnote{http://fedoraproject.org}. +Unser Entwicklungssystem war ein angepasster IBM \emph{QS21}\footnote{beherbergt zwei Cell-Prozessoren mit je einem Gigabyte Arbeitsspeicher} Cell/B.E. Blade-Server. An diesem waren vier Lynx6-Roboterarme von Lynxmotion\footnote{http://lynxmotion.com} angeschlossen, und außer dem noch eine \emph{mvBlueFOX} Kamera von \emph{Matrix Vision}\footnote{http://matrix-vision.com}. Als Betriebsystem lief ein auf den Cell portiertes \emph{Fedora\ 7}\footnote{http://fedoraproject.org} GNU/Linux. + +\begin{figure}[hbt] + \centering + \label{fig:qs21} + \includegraphics[width=0.6\textwidth]{pics/qs21.jpg} + \caption{Ein QS21 Blade-Server mit zwei Cell-Prozessoren} +\end{figure} \subsection{Cell-Prozessor} @@ -71,6 +64,12 @@ \caption{Schematischer Aufbau der Cell/B.E.} \end{figure} +\begin{figure}[hbt] + \centering + \includegraphics[width=0.8\textwidth]{pics/cellbe-ppe-spe.png} + \caption{Schematischer Aufbau von PPE und SPE} +\end{figure} + Üblicherweise übernimmt die PPE die Kontrolle und verteilt die Arbeit auf die einzelnen SPEs die dann unabhängig von einander arbeiten. Die Ergebnisse fließen dann an die PPE zurück. Zur Kommunikation zwischen den einzelnen Kernen stehen drei verschiedene Kommunikationsarten zur Verfügung, welche alle über den Element Interconnect Bus (EIB) abgewickelt werden. @@ -93,7 +92,7 @@ -\subsection{Roboterarme} \label{robotarme} +\subsection{Roboterarm} \label{robotarme} Die von uns verwendeten Roboterarme sind das Modell \emph{Lynx6} vom Hersteller Lynxmotion. Die Roboter sind aus Lexan gefertigt und werden als Bausatz geliefert. Sie sind etwa 20 Zentimeter hoch und 40 lang.