ERSP

From ImageWiki

(Difference between revisions)
Jump to: navigation, search
Line 2: Line 2:
== Introduktion til ERSP ==
== Introduktion til ERSP ==
-
ERSP er en software platform til udvikling af robotapplikationer. Generelt er dokumentation temmelig god og det anbefales at have denne ved hnden nr ERSP benyttes. Specielt er den Doxygen-genererede dokumentation yderst anvendelig. Pt. benyttes ERSP p DIKU's [[Scorpion robotterne|Scorpion robotter]]. Der er (noget simplificeret) to tilgange til udvikling med ERSP (beklager terminologimisbruget)
+
ERSP er en software platform til udvikling af robotapplikationer. Generelt er dokumentation temmelig god og det anbefales at have denne ved hnden nr ERSP benyttes. Specielt er den Doxygen-genererede dokumentation yderst anvendelig. Pt. benyttes ERSP p DIKU's [[The Scorpion robots|Scorpion robotter]]. Der er (noget simplificeret) to tilgange til udvikling med ERSP (beklager terminologimisbruget)
* '''Top-down:''' ERSP stiller en rkke 'behaviors' til rdighed, der hver lser en serie hj-niveau opgaver. Disse kan sttes sammen vha. et grafisk vrktj kaldet 'composer' (se lngere nede p siden). Hvis ERSP ikke har de ndvendige 'behaviors' er det muligt at implementere nye i C++.
* '''Top-down:''' ERSP stiller en rkke 'behaviors' til rdighed, der hver lser en serie hj-niveau opgaver. Disse kan sttes sammen vha. et grafisk vrktj kaldet 'composer' (se lngere nede p siden). Hvis ERSP ikke har de ndvendige 'behaviors' er det muligt at implementere nye i C++.
* '''Bottom-up:''' ERSP er lagdelt software, hvilket betyder at det er muligt at starte udviklingen af applikationer fra hardwarelaget. Derved er det muligt at tilg de enkelte dele af robotten direkte fra C++. Dog er API'en prget af at ERSP er designet til Top-down udvikling.
* '''Bottom-up:''' ERSP er lagdelt software, hvilket betyder at det er muligt at starte udviklingen af applikationer fra hardwarelaget. Derved er det muligt at tilg de enkelte dele af robotten direkte fra C++. Dog er API'en prget af at ERSP er designet til Top-down udvikling.

Revision as of 19:19, 21 August 2006

Denne side er samlingspunktet for erfaringer o.lign. med ERSP. P� sigt er det meningen at ERSP skal erstattes af Player/Stage/Gazebo, da det vil v�re fordelagtigt at benytte en mere �ben platform.

Contents

Introduktion til ERSP

ERSP er en software platform til udvikling af robotapplikationer. Generelt er dokumentation temmelig god og det anbefales at have denne ved h�nden n�r ERSP benyttes. Specielt er den Doxygen-genererede dokumentation yderst anvendelig. Pt. benyttes ERSP p� DIKU's Scorpion robotter. Der er (noget simplificeret) to tilgange til udvikling med ERSP (beklager terminologimisbruget)

  • Top-down: ERSP stiller en r�kke 'behaviors' til r�dighed, der hver l�ser en serie h�j-niveau opgaver. Disse kan s�ttes sammen vha. et grafisk v�rkt�j kaldet 'composer' (se l�ngere nede p� siden). Hvis ERSP ikke har de n�dvendige 'behaviors' er det muligt at implementere nye i C++.
  • Bottom-up: ERSP er lagdelt software, hvilket betyder at det er muligt at starte udviklingen af applikationer fra hardwarelaget. Derved er det muligt at tilg� de enkelte dele af robotten direkte fra C++. Dog er API'en pr�get af at ERSP er designet til Top-down udvikling.

Generelt f�s det st�rste udbytte af ERSP n�r Top-down strategien v�lges. Desv�rre er denne strategi ikke s�rlig fleksibel, hvorfor det ofte er n�dvendigt at skrive sine egne 'behaviors', hvilket er n�sten lige s� besv�rligt som at udvikle programmet udelukkende i C++.

ERSP eksempelprogrammer

Her er et par simple eksempelprogrammer til Scorpion robotterne hvor ERSP benyttes.

  • Skabeloner. Et par skabeloner som det kan v�re hensigtsm�ssigt at tage udgangspunkt i n�r ERSP benyttes for f�rste gang.
  • Fin Fejebakkef�lger. Et simpelt program, der f�r en robot til at f�lge et objekt med en karakteristisk farve. Programmet benytter ERSP's billedbehandlingssystem, hvilket g�r programmet un�dvendigt komplekst.
  • Konvertering til OpenCV. Et lille eksempel, der viser hvorledes ERSP kan benytte OpenCV. N�r kun ERSP's hardware lag benyttes er der ingen problemer ved at anvende OpenCV -- problemerne opst�r n�r ERSP's billedbehandlingssystemer benyttes.

Composer

For at f� fuld udbytte af ERSP kan det anbefales at benytte Evolutions grafiske v�rkt�j composer.sh. En kort vejledning i at benytte dette v�rkt�j kan ses her. Desuden anbefales det at l�se Evolutions egne tutorials, da disse g�r mere i dybden med v�rkt�jet.

Fejl i tutorial

I tutorialen (afsnit 2.8) er der omtalt en funktion der hedder 'handle_new_landmark', den er erkl�ret p� f�lgende m�de:

 void SLAMCorrection::handle_new_landmark(const Landmark *landmark)

men i f�lge ERSP-API'en skal den erkl�res p� f�lgende m�de

 void 	handle_new_landmark (Landmark *landmark)

alts� ingen 'const'. For at bruge de eksempler som er med i tutorialen skal man alts� slette 'const', ellers overloader man ikke den funktions erkl�ring som er i superclassen (OdometryCorrector).

Personal tools