spatial datastructures for robotics - uni-hamburg.de · spatial data structures is a huge field....

20
Spatial Datastructures for Robotics Parth Sarthi Pandey University of Hamburg Faculty of Mathematics, Informatics and Natural Sciences Department of Informatics 05. December 2016 1

Upload: others

Post on 16-Jun-2020

9 views

Category:

Documents


0 download

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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