Robotnavigering

En robot är utrustad med en laseravståndsmätare, som kan mäta avståndet till olika föremål i omgivningen. Den har också en vinkelgivare, som mäter laserstrålens riktning relativt roboten. På så sätt kan den skapa en uppsättning data för laserträffar. Men dess girvinkel, Ψ och position, pos är inte kända.

Det totala relationsnätverksfiltret för det här problemet är relativt stort, eftersom det också realiserar en simulering av lasersensorn och svarar för beräkningen av den figur, som visas. Men följande figur visar den del av nätet, som löser själva navigeringsuppgiften.



Hela mönstret med Laserträffar (som är givna i ett fast robotfast koordinatsystem) vrids med en hypotetisk girvinkel, Ψ hos roboten. Därmed befinner sig träffmönstret i ett inertiellt koordinatsystem. Observera att laserträffarna bara är ändarna på laserstrålarna. Detta mönster skall nu kunna translateras till en hypotetisk position hos roboten, och då skall laserträffarna stämma med kartan Karta. Kartan beskriver läget hos ytan hos väggarna plus en viss osäkerhet, men inte tjockleken hos väggarna. I noden pos får man då mängden av translationer, så att lasermätningarna och kartan stämmer överens. Om fel hypotetisk girvinkel har antagits, så blir blir denna mängd tom. Nu konstruerar man grafen för relationen mellan Ψ och pos. Genom projektion till noderna kan man få ut både robotens position estpos och girvinkel estΨ.

Den första bilden visar roboten med laserträffmönster ritad för sig, och kartan med ett hörn mellan två väggar ritad för sig i ett oberoende koordinatsystem. I nästa bild är navigeringen klar, och en robot med rätt girvinkel och kurs visas. I en tredje bild visas ett banplaneringsuppdrag. Roboten skall åka till en punkt strax "norr om" väggen. Resultatet är en polygon i grönt. (En del inre linjer i polygonen är också utritade) För att komma till punkten skall man följa polygonens ytterkontur. Det finns två möjligheter, och det är klart att det är vägen till vänster om hindret, som ger den kortaste resan.

Kör programmet här. Stega fram programmet med returnknappen. Återvänd till huvudsidan genom att klicka på "tillbaka".


tillbaka