Planning With Nonholonomic Constraints By Jeroen Resoort & Ronald Treur.

Slides:



Advertisements
Verwante presentaties
Waarom Amsterdam niet zonder topologie kan.
Advertisements

1 Motion Planning (simpel) •Gegeven een “robot” A in een ruimte W, een verzameling obstakels B, en een start en doel positie, bepaal een beweging voor.
FLL Robot tips Hoe bouw ik een robot? Hoe programmeer ik een robot?
Minimum Spanning Tree. Wat is MST? • Minimum spanning tree • De meest efficiënte manier vinden om een verbonden netwerk op te bouwen.
Robcad Hands On Workshop
Hoofdstukken 15 en 16.  als spelers meer keuze hebben kunnen nieuwe verhalen ontstaan. Hoe kan ik meer keuzes brengen?  Conflicten leiden tot meerdere.
Dynamische tijdbalk Een dynamische tijdbalk geeft een uitvergroot deel van de algemene tijdbalk weer. Hij heet dynamisch omdat hij er voor elke periode.
VBS De Bron Meester Ronny Marc Horst
Klassificatie Divisief Opsplitsen van totale groep stalen in
Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.
Labo 03 Tree: Parent Child Mesh
Advanced Algorithms Groep: EII7AAb
Graph Begrippen: knoop, vertices kant, zijde, edge
Motion Planning in Games Pathfinding with A * Ronald Treur.
1 Indeling Inleiding Opbouw van potentiaalvelden Pathplanning in potentiaalvelden Alternatieve potentiaalvelden Gerandomiseerde pathplanning.
1 Datastructuren Zoekbomen II Invoegen en weglaten.
Kinematic Constraints Door Ronald Treur en Jeroen Resoort.
Coordinated path planning for Multiple Robots Siu-Siu Ha.
Visibility-based Probabilistic Roadmaps for Motion Planning Tim Schlechter 13 februari 2003.
Oplossen van een doolhof
Rick van den Dobbelsteen Lloyd Fasting
Fast and Effective Query Refinement B. Velez, R. Weiss, M.A. Sheldon, D.K. Gifford SIGIR 1997.
Approximate Cell Decomposition
Vision-based robot motion planning using a topology representing neural network Gebaseerd op onderzoek verricht door Prof. M. Zeller et al. (1997), verbonden.
1 Complexiteit Bij motion planning is er sprake van drie typen van complexiteit –Complexiteit van de obstakels (aantal, aantal hoekpunten, algebraische.
Netwerk Algorithms: Shortest paths1 Shortest paths II Network Algorithms 2004.
Movable Objects Richard Jacobs Robin Langerak. Movable Objects Introductie en definities Aanpak Aangepaste algoritmen Grasp planning Assembly planning.
Motion planning with complete knowledge using a colored SOM Jules Vleugels, Joost N. Kok, & Mark Overmars Presentatie: Richard Jacobs.
Indeling Inleiding op PRM-planners & Medial Axis Retraction van configuraties op de Medial Axis Verbetering van retraction Verbetering van sampling Expliciete.
Spatial subgroup mining
Path planning voor elastische objecten Robin Langerak Planning paths for elastic objects under manipulation constraints LamirauxKavraki.
Lokale zoekmethoden Goed in de praktijk:
Geometrie en topologie Rob Kromwijk, 26 juli 2012.
S.O.R. Strategische Oriëntatie Ronde
havo/vwo D Samenvatting Hoofdstuk 4
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 3.
Schimmels.
4T Nask1 Hoofdstuk 5 Kracht en beweging
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 3 Cees Witteveen.
Lokaliseren en volgen van personen en objecten met behulp van camera’s Informatie Scriptieprijs November 2007 Sofie De Cooman.
1 Jeroen de Vries Topologie. 2  Historische basis  Belangrijkste concepten  Topologie in de praktijk Inhoud:
Welkom bij de cursus SketchUp 2014
Intermezzo: Queries op zoekbomen Datastructuren. Queries: hoe op te lossen We hebben: – Een zoekboom (gewoon, rood-zwart, AVL,…) – Een vraag / querie.
BEGINNERS EV3 PROGRAMMEER LEssen
Zwaartekrachtenergie contra Bewegingsenergie
Unfold your potential Excellente Excel-tips Februari 2015.
Genetisch Algoritme 1 Voordeel  GAs kunnen snel goede oplossingen leveren, zelfs voor moeilijke oplossingsruimten. Nadeel  GAs vinden niet gegarandeerd.
Grafentheorie Graaf Verzameling knopen al dan niet verbonden door takken, bijv:
Recursie…. De Mandelbrot Fractal De werking… De verzameling natuurlijke getallen… 0 ∞-∞
Tactiek (en Strategie)
Tentamen Data Mining Voorbereiding. Tentamen  4 januari 2016  14:00 – 17:00  zaal
Landmeten, hulpmiddelen en afstanden meten
Doorzoeken van grafen Algoritmiek. Algoritmiek: Divide & Conquer2 Vandaag Methoden om door grafen te wandelen –Depth First Search –Breadth First Search.
Datastructuren voor grafen Algoritmiek. 2 Grafen Model van o.a.: –Wegennetwerk –Elektrische schakeling –Structuur van een programma –Computernetwerk –…
Proportionele Besturing
BEGINNER EV3 PROGRAMMEER Les
Training : 9 Teamfunctie : Verdedigen Doelstelling technisch
IJsster maken.
Datum : Teamfunctie : Verdedigen Doelstelling technisch
Het virtuele punt Stel je voor, je bent een hele grote kaart;
havo A Samenvatting Hoofdstuk 10
Modderdorp UNPLUGGED Bron: csunplugged.org.
De grafiek van een lineair verband is ALTIJD een rechte lijn.
Modderdorp UNPLUGGED Bron: csunplugged.org.
Methoden om te werken aan continue verbetering
Kiezen met Kaarten.
Tools en key-ins uit het duistere verleden van MicroStation
Doolhof. doolhof doolhof Maak een routine die de ‘hekken’ tussen de cellen weghaalt Maak een 2-dimensionale array met kolommen en rijen aangeklikt.
Leren programmeren met Scratch
Wi-fi Dwv 2.0 Ip instellingen
Transcript van de presentatie:

Planning With Nonholonomic Constraints By Jeroen Resoort & Ronald Treur

Adjustments to Previous Methods Methode #1: Construeer een vrij pad terwijl je de nonholonomic constraints negeert Transformeer het pad in een equivalent pad dat wel voldoet aan de nonholonomic constraints Nadeel: Het gegenereerde pad kan veel meer ‘reversals’ bevatten dan noodzakelijk en/of gewild is

Adjustments to Previous Methods Methode #2: Deel de workspace op in rijbanen Gebruik een lokale techniek om draaiingen op kruispunten te construeren Nadeel: Moeilijk om goede rijbanen te maken en de combinatie van technieken kan leiden tot zeer inefficiente paden

A New Way of Doing Things Verdeel de configuratieruimte in kleine rectangloids Maak een directed graph wiens nodes de rectangloids zijn Verbind twee nodes als er een vrij pad tussen de twee configuraties is Is alleen praktisch als de configuratieruimte niet te groot is

Graph Construction (1/2) Voorbeeld met auto: Gegeven een configuratie: genereer ten hoogste zes volgende posities Check voor elke positie of deze mogelijk is (niet intersect met een object) Link de node die de initiele configuratie bevat met de nodes die de 6 overige bevatten als ze bereikbaar zijn

Graph Construction (2/2)

Pathfinding (1/2) Twee nodelists worden bijgehouden CLOSED: Nodes die al gechecked zijn OPEN: Nodes die nog niet gechecked zijn (gerepresenteerd dmv een balanced tree) Zet q init in OPEN

Pathfinding (2/2) Elke iteratie: Selecteer een configuratie uit OPEN en verplaats deze naar CLOSED Bereken zijn ‘opvolgers’ en bepaal in welke cellen deze vallen Als de cel in CLOSED voorkomt negeer deze, zo niet onthoud de configuratie en zet hem in OPEN Stop als we de cel die q goal bevat hebben bereikt of OPEN geen nodes meer bevat

Some notes Als er een hogere precisie nodig is om q goal te bereiken: Verdeel de cel waar q goal in is bevat in kleinere rectangloids. Voer algoritme op deze opdeling uit Tractor-Trailer Robot Gaat idem als met Auto Robot Berekenen van ‘opvolgers’ is ietsjes gecompliceerder

Point with Bounded Turning Radius Representeer de robot door een punt Maak een representatie van objecten door ze te laten groeien met de ‘radius’ van de oorspronkelijke robot Reversals zijn niet toegestaan

Jumps (1/5) In dit algoritme worden paden opgedeeld in ‘jumps’. Jumps zijn subpaden die bestaan uit een draai, een recht pad en weer een draai Er zijn maximaal 4 soorten jumps mogelijk Er is bewezen dat er enkel een pad kan bestaan tussen q init en q goal als er een jump tussen q init en q goal bestaat of als er een eindige concatenatie van jumps tussen deze bestaat

Jumps (2/5) Left-left (LL)

Jumps (3/5) Left-right (LR)

Jumps (4/5) Left-right (RL)

Jumps (5/5) Left-right (RR)

Path improving (1/2) Als er ergens een draaing voorkomt van minder dan 180 graden: Elimineer die draaiboog en beweeg het punt in de richting van de rechte lijnen tot de boundary of een object geraakt wordt.

Path improving (2/2)

Path Creation (1/3) Construeer een graaf G Deel de oriëntaties van de robot op in een aantal delen i Genereer voor elke vertex van een obstakel 2*Pi / i nodes, die elk een oriëntatie voorstellen

Path Creation (2/3) Deel elke edge van elk object op in een aantal punten Voor elk van deze punten maken we twee nodes voor G Deze nodes bevatten de twee orientaties waarin de auto langs de edge kan rijden Verbind nodes als er een jump tussen mogelijk is

Path Creation (3/3) Verbind nu q init met q goal en ga over op het pad om de objecten heen zodra deze worden gesneden

Path Example