ERSP

From ImageWiki

Revision as of 19:19, 21 August 2006 by Hauberg (Talk | contribs)
Jump to: navigation, search

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