spatial datastructures for robotics - uni-hamburg.de · spatial data structures is a huge field....
TRANSCRIPT
Spatial Datastructures for Robotics
Parth Sarthi Pandey
University of Hamburg
Faculty of Mathematics, Informatics and Natural Sciences
Department of Informatics
05. December 20161
Outline
1. Motivation
2. Spatial Datastructures
KD-Trees
Range Trees
Quad Trees
Octrees
3. Applications
Collision Avoidance
N-objects Octrees – as solution
Other technologies for Collision Avoidance
4. Conclusion
5. References
2
Motivation
Efficient data representation - Necessity for
algorithmic development
Each data structure serves a specific purpose.
Crucial to choose the most appropriate.
3
KD Trees
Space partitioning data structure for organizing points in a k-dimensional
space.
A Binary Tree.
Every node is a k-dimensional point.
4
KD Trees
Building a KD-tree
{(1,9), (2,3), (4,1),
(3.7), (5,4), (6,8),
(7,2), (8,8), (7,9),
(9,6)}
Pick random
dimension, find
median, split data,
repeat.
5
[2] [3]
KD Trees
Nearest-Neighbor-
Queries
NN for point (7,4)
Build time: O(nlogn)
Query time: O(√n+k)
6
[2] [3]
KD Trees
Nearest-Neighbor-Queries
7
[10]
Range Trees
Query time:
Space:
Recursively defined
multi-level binary
search tree.
Range Queries
8
[4]
Quad-Trees
Tree Data Structure.
Partitions 2D space.
Recursively subdivides
into four quadrants or
regions.
9
[11]
Octree
3D equivalent of Quad-
tree.
Each node subdivides
the space into
eight octants.
Decomposition Rule.
Region Octree.
N-object Octree.
10
[1]
Collision Avoidance
The Problem ?
Robot Arm Collision.
N-object Octree as a solution.
The Experiment: [1]
Maintain a model of the robots’ workspace.
Update and evaluate the model to detect imminent
collisions.
11
Collision Avoidance using N-
object Octree
World modelled by solid
primitives.
Representing complex
objects as the union of
simpler primitives.
2 types:
Cylspheres
Rectangular solids
12
[1]
Collision Avoidance using N-
object Octree
OCTREE GENERATION
Decomposition for sample
environment using a five-
object quadtrce.
Starts with a cube containing
all the objects.
Splits when the no. of objects
in a node is greater than N.
(e.g N = 5)
13
[1]
Collision Avoidance using N-
object Octree
OCTREE UPDATION
3 approaches:
Completely rebuild the octree for each cycle.
Delete and reinsert moving primitives.
Changes the structure of the octree when :
Primitive exits a node.
Primitive moves into a new node.
14
Collision Avoidance using N-
object Octree
Raise an Alarm
Not for - Compatible primitives
Safety buffer
Extended Primitive
Thumb Rule:
Two extended primitives may intersect only if they share a
node in the N-objects octree
15
Experimental Results
Naïve Algorithm:
Checks for possible
intersections with all
other primitives in the
world.
Octree Algorithm:
Checks for possible
intersections with
primitives sharing one
node.
16
[1]
Other Technologies for
Collision Avoidance
Sensors
[5] – Capacitive Sensor as Whiskers
[7] – Capacitive Sensor as Sensitive Skin
[9] – A Ring of Proximity Sensors
Laser Based Range Scanner [8]
Dijkstra’s & A* Algorithms [6]
Path finding & Traversals
17
Conclusion
Spatial data structures is a huge field.
Its applications include collision avoidance, path
planning, trajectory optimization, mapping etc.
KD Trees – nearest neighbor search.
Range Trees – shortest path searches.
Quad & Octrees – collision avoidance.
N-object Octree used for robot arm collision
avoidance.
We Cannot Understand the Present Until we Know the
Past. [A Wise Man]
18
References
[1] Clifford A. Shaffer, Member, IEEE, and Gregory M. Herb “A Real-Time Robot Arm Collision Avoidance System ” IEEE TRANSATIONS ON ROBOTICS AND AUTOMATION. VOL X. NO 2 APRIL 1992
[2] Andrew W. Moore “Efficient Memory-based Learning for Robot Control“ PhD. Thesis; Technical Report No. 209, Computer Laboratory, University of Cambridge. 1991
[3] Victor Lavrenko -https://www.youtube.com/watch?v=TLxWtXEbtFE
[4] M. de Berg, O. Cheong, M. van Kreveld, M. Overmars, Computational Geometry: Algorithms and Applications: 5. Orthogonal Range Searching, Springer, 3rd edition, 2008
[5] Thomas Schlegl , Torsten Kroger , Andre Gaschler , Oussama Khatib and Hubert Zangl “Virtual Whiskers —Highly Responsive Robot Collision Avoidance” 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) November 3-7, 2013. Tokyo, Japan
19
References (contd..)
[6] Jur van den Berg, Dave Ferguson and James Kuffner “Anytime Path Planning and Replanning in Dynamic Environments” Proceedings of the 2006 IEEE International Conference on Robotics and Automation Orlando, Florida - May 2006
[7] Tin Lun Lam, Hoi Wut Yip, Huihuan Qian and Yangsheng Xu“Collision Avoidance of Industrial Robot Arms using an Invisible Sensitive Skin” 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems October 7-12, 2012. Vilamoura, Algarve, Portugal
[8] Andrea Cherubini and François Chaumette ‘Visual navigation of a mobile robot with laser-based collision avoidance’ The International Journal of Robotics Research 32(2) 189–205 © The Author(s) 2013
[9] Angel Soriano, Enrique J. Bernabeu, Angel Valera, and Marina Vallés “Collision Avoidance of Mobile Robots Using Multi-Agent Systems ” Instituto U. de Automática e Informática Industrial, Universitat Politècnica de Valencia, Camino de Vera s/n 46022 Valencia, Spain
[10] https://en.wikipedia.org/wiki/K-d_tree
[11] https://en.wikipedia.org/wiki/Quadtree
20