ERSP

From ImageWiki

Revision as of 09:52, 30 August 2007 by Msiebuhr (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++.

Dokumentation

Dokumentationen til ERSP er generelt ganske god. Specielt kan det anbefales at blive fortrolig med den Doxygen genererede dokumentation. P� DIKU's UNIX system findes dokumentationen i kataloget

~image/doc/ERSP/

og p� de b?rbare computere til Scorpion robotterne findes den i kataloget

/opt/evolution-robotics/doc/

Vi har desv?rre ikke lov til at opbevare dokumentationen offentligt (s� som p� wiki'en) da Evolution godt kan lide at holde deres kort yderst t?t til kroppen.

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