spatial datastructures for robotics - uni-hamburg.de · spatial data structures is a huge field....
TRANSCRIPT
![Page 1: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/1.jpg)
Spatial Datastructures for Robotics
Parth Sarthi Pandey
University of Hamburg
Faculty of Mathematics, Informatics and Natural Sciences
Department of Informatics
05. December 20161
![Page 2: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/2.jpg)
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
![Page 3: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/3.jpg)
Motivation
Efficient data representation - Necessity for
algorithmic development
Each data structure serves a specific purpose.
Crucial to choose the most appropriate.
3
![Page 4: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/4.jpg)
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
![Page 5: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/5.jpg)
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]
![Page 6: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/6.jpg)
KD Trees
Nearest-Neighbor-
Queries
NN for point (7,4)
Build time: O(nlogn)
Query time: O(√n+k)
6
[2] [3]
![Page 7: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/7.jpg)
KD Trees
Nearest-Neighbor-Queries
7
[10]
![Page 8: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/8.jpg)
Range Trees
Query time:
Space:
Recursively defined
multi-level binary
search tree.
Range Queries
8
[4]
![Page 9: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/9.jpg)
Quad-Trees
Tree Data Structure.
Partitions 2D space.
Recursively subdivides
into four quadrants or
regions.
9
[11]
![Page 10: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/10.jpg)
Octree
3D equivalent of Quad-
tree.
Each node subdivides
the space into
eight octants.
Decomposition Rule.
Region Octree.
N-object Octree.
10
[1]
![Page 11: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/11.jpg)
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
![Page 12: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/12.jpg)
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]
![Page 13: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/13.jpg)
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]
![Page 14: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/14.jpg)
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
![Page 15: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/15.jpg)
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
![Page 16: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/16.jpg)
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]
![Page 17: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/17.jpg)
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
![Page 18: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/18.jpg)
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
![Page 19: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/19.jpg)
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
![Page 20: Spatial Datastructures for Robotics - uni-hamburg.de · Spatial data structures is a huge field. Its applications include collision avoidance, path planning, trajectory optimization,](https://reader033.vdocument.in/reader033/viewer/2022060221/5f07731c7e708231d41d0a30/html5/thumbnails/20.jpg)
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