Efficient Maintenance and Self-Collision Testing for Kinematic Chains Itay Lotan Fabian Schwarzer Dan Halperin Jean-Claude Latombe.

Slides:



Advertisements
Similar presentations
Collision Detection CSCE /60 What is Collision Detection?  Given two geometric objects, determine if they overlap.  Typically, at least one of.
Advertisements

Collision Detection and Resolution Zhi Yuan Course: Introduction to Game Development 11/28/
Computer graphics & visualization Collisions. computer graphics & visualization Simulation and Animation – SS07 Jens Krüger – Computer Graphics and Visualization.
Geometric Representations & Collision Detection Kris Hauser I400/B659: Intelligent Robotics Spring 2014.
Visibility Culling. Back face culling View-frustrum culling Detail culling Occlusion culling.
Week 14 - Monday.  What did we talk about last time?  Bounding volume/bounding volume intersections.
Iterative Relaxation of Constraints (IRC) Can’t solve originalCan solve relaxed PRMs sample randomly but… start goal C-obst difficult to sample points.
Geometric Algorithms for Conformational Analysis of Long Protein Loops J. Cortess, T. Simeon, M. Remaud- Simeon, V. Tran.
FASTCD: Fracturing-Aware Stable Collision Detection Jae-Pil Heo 1, Joon-Kyung Seong 1, Duksu Kim 1, Miguel A. Otaduy 2, Jeong-Mo Hong 3, Min Tang 4, and.
Algorithmic Robotics and Motion Planning Dan Halperin Tel Aviv University Fall 2006/7 Dynamic Maintenance and Self-Collision Testing for Large Kinematic.
Bio-CS Exploration of Molecular Conformational Spaces Jean-Claude Latombe Computer Science Department Robotics Laboratory & Bio-X Clark Center.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Collision Detection and Distance Computation: Feature Tracking Methods.
Bounding Volume Hierarchy “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presented by Mathieu Brédif.
1 1 Static & Dynamic Maintenance of Kinematic Structures Spheres, Molecules, and Hidden Surface Removal D. Halperin and M-H. Overmars Dynamic Maintenance.
Self-Collision Detection and Prevention for Humonoid Robots Paper by James Kuffner et al. Presented by David Camarillo.
Adaptive Dynamic Collision Checking for Many Moving Bodies Mitul Saha Department of Computer Science, Stanford University. NSF-ITR Workshop Collaborators:
Self-Collision Detection and Prevention for Humonoid Robots Paper by James Kuffner et al. Jinwhan Kim.
Wrapped Bounding Sphere Hierarchy for Necklaces Fixed hierarchical structure SOCG 2002.
Adapted from: CULLIDE: Interactive Collision Detection Between Complex Models in Large Environments using Graphics Hardware Naga K. Govindaraju, Stephane.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Collision Detection and Distance Computation: Feature Tracking Methods.
Exact Collision Checking of Robot Paths Fabian Schwarzer Mitul Saha Jean-Claude Latombe Computer Science Department Stanford University.
Robotics Algorithms for the Study of Protein Structure and Motion Jean-Claude Latombe Computer Science Department Stanford University.
Dynamic Maintenance and Self Collision Testing for Large Kinematic Chains Lotan, Schwarzer, Halperin, Latombe.
Self-Collision Detection and Prevention for Humanoid Robots James Kuffner et al. presented by Jinsung Kwon.
Ray Tracing Dynamic Scenes using Selective Restructuring Sung-eui Yoon Sean Curtis Dinesh Manocha Univ. of North Carolina at Chapel Hill Lawrence Livermore.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Collision Detection and Distance Computation.
OBBTree: A Hierarchical Structure for Rapid Interference Detection Gottschalk, M. C. Lin and D. ManochaM. C. LinD. Manocha Department of Computer Science,
Kinetic Data Structures and their Application in Collision Detection Sean Curtis COMP 768 Oct. 16, 2007.
Algorithm for Fast MC Simulation of Proteins Itay Lotan Fabian Schwarzer Dan Halperin Jean-Claude Latombe.
Robotics Algorithms for the Study of Protein Structure and Motion Based on Itay Lotan’s PhD Jean-Claude Latombe Computer Science Department Stanford University.
Haptic Cloth Rendering 6th Dutch-Belgian Haptics Meeting TUDelft, 21 st June 2006 Lode Vanacken Expertise centre for Digital Media (EDM) Hasselt University.
Bounding Volume Hierarchies and Spatial Partitioning Kenneth E. Hoff III COMP-236 lecture Spring 2000.
Proximity and Deformation Leonidas Guibas Stanford University “Tutto cambia perchè nulla cambi” T. di Lampedusa, Il Gattopardo (1860+)
Efficient Distance Computation between Non-Convex Objects by Sean Quinlan presented by Teresa Miller CS 326 – Motion Planning Class.
Collision Detection and Distance Computation CS 326A: Motion Planning.
Efficient Distance Computation between Non-Convex Objects By Sean Quinlan Presented by Sean Augenstein and Nicolas Lee.
CS 326A: Motion Planning ai.stanford.edu/~latombe/cs326/2007/index.htm Collision Detection and Distance Computation.
Algorithmic Robotics and Molecular Modeling Dan Halperin School of Computer Science Tel Aviv University June 2007.
CS 326A: Motion Planning ai.stanford.edu/~latombe/cs326/2007/index.htm Collision Detection and Distance Computation.
Collision Detection David Johnson Cs6360 – Virtual Reality.
CS B659: Principles of Intelligent Robot Motion Collision Detection.
Inverse Kinematics for Molecular World Sadia Malik April 18, 2002 CS 395T U.T. Austin.
CSE 381 – Advanced Game Programming Quickhull and GJK.
Efficient Maintenance and Self- Collision Testing for Kinematic Chains Itay Lotan Fabian Schwarzer Dan Halperin Jean-Claude Latombe.
GRAVIR / IMAG, Grenoble, FRANCE A joint lab of CNRS, INPG, INRIA and UJF June 12, 2003IS4TM, Juan-Les-Pins, FRANCE Real-time Simulation of Self-Collisions.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Collisions & Contact.
Rotamer Packing Problem: The algorithms Hugo Willy 26 May 2010.
CS B659: Principles of Intelligent Robot Motion Rigid Transformations and Collision Detection.
Collision and Proximity Queries Dinesh Manocha Department of Computer Science University of North Carolina
Click to edit Master title style HCCMeshes: Hierarchical-Culling oriented Compact Meshes Tae-Joon Kim 1, Yongyoung Byun 1, Yongjin Kim 2, Bochang Moon.
Deterministic Sampling Methods for Spheres and SO(3) Anna Yershova Steven M. LaValle Dept. of Computer Science University of Illinois Urbana, IL, USA.
Stabbing balls and simplifying proteins Ovidiu Daescu and Jun Luo Department of Computer Science University of Texas at Dallas Richardson, TX
1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.
Flexible Spanners: A Proximity and Collision Detection Tool for Molecules and Other Deformable Objects Jie Gao, Leonidas Guibas, An Nguyen Computer Science.
Chapter 11 Collision Detection 가상현실 입문 그래픽스 연구실 민성환.
A stochastic approach for collision detection in a highly deformable surface Laks Raghupati, Vincent Cantin, François Faure, Marie-Paule Cani EVASION-GRAVIR.
Presented by Paul Phipps
Modeling Protein Flexibility with Spatial and Energetic Constraints Yi-Chieh Wu 1, Amarda Shehu 2, Lydia Kavraki 2,3  Provided an approach to generating.
Dynamic Maintenance of Molecular Surfaces under Conformational Changes Eran Eyal and Dan Halperin Tel-Aviv University.
Interactive Continuous Collision Detection for Polygon Soups Xin Huang 11/20/2007.
Autonomous Robots Robot Path Planning (2) © Manfred Huber 2008.
Minkowski Sums and Distance Computation Eric Larsen COMP
Fast Collision Detection for Deformable Models using Representative-Triangles Presented by Marcus Parker By Sean Curtis, Rasmus Tamstorf and Dinesh Manocha.
Bounding Volume Hierarchies and Spatial Partitioning
Distance Computation “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presentation by Julie Letchner.
Bounding Volume Hierarchies and Spatial Partitioning
C-obstacle Query Computation for Motion Planning
Efficient Energy Computation for Monte Carlo Simulation of Proteins
Computer Animation Algorithms and Techniques
David Johnson Cs6360 – Virtual Reality
Presentation transcript:

Efficient Maintenance and Self-Collision Testing for Kinematic Chains Itay Lotan Fabian Schwarzer Dan Halperin Jean-Claude Latombe

Motivation Robotics: Snake-like robots Biology: Motion of macro-molecules (Mark Yim) protein backbone

Properties of Kinematic Chains In a kinematic chain – local changes have global effects. One change may cause O(N) links to move When few changes are applied to the chain, large pieces of it remain rigid

Problem Description Update the chain at each time-step to reflect the changes Assuming no self-collisions at previous time-step, find self-collisions caused by latest changes Given a chain of N links which deforms over time through changes to its DOFs:

Existing Techniques UpdatingSelf-collisions I-COLLIDE (Cohen et al ’95) GRID (e.g. Halperin and Overmars ’98) BV Hierarchies (Quinlan ’94, Gottschalk et al ’96, van den Bergen ’97, Klosowski et al ’98) Dynamic Kinematic Structures (Halperin et al ’96)

Our Algorithm updating per time-step worst-case self-collision detection per time-step. Much faster in practice Novel chain representation based on: Transformations hierarchy to approximate the kinematics at different resolutions OBB hierarchy to approximate the geometry at different resolutions

Chain Representation A Sequence of reference frames (links) connected by rigid-body transformations (joints) TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) TT(R,t)TT(R,t) Hierarchy of “shortcut” transformations

Bounding Volume Hierarchy Chain-aligned: bottom-up, along the chain Each BV encloses its two children in the hierarchy Shortcuts allow to efficiently compute relative position of BVs At each time step only BVs that contain the changed joints need to be recomputed

Self-Collision Detection Test the hierarchy against itself to find collisions. But … Do not test inside BVs that were not updated after the last set of changes Benefits: Many unnecessary overlap tests are avoided No leaf node tested against itself

Self-Collision: Example

Experimental Results We tested our algorithm (dubbed ChainTree) against three others: Grid – Collisions detected by indexing into a 3D grid using a hash table 1-OBBTree – An OBB hierarchy is created from scratch after each change and then tested against itself for collisions K-OBBTree – After each change an OBB hierarchy is built for each rigid piece of the chain. Each pair of hierarchies is tested for collisions

Results: Extended Chain (1) Single Joint Change

Results: Extended Chain (2) 100 Joint Changes

Protein Backbones 1SHG (171 atoms) 1B4E (969 atoms) 1LOX (1941 atoms)

Results: Protein Backbones (1) Single Joint Change

Results: Protein Backbones (2) 10 Joint Changes

Analysis – Updating For each joint change: shortcut transformations need to be recomputed BVs need to be recomputed For k simultaneous changes time, but never more than Previous BV hierarchies required O(N log N) updating time

Upper bound is stable - holds for “not so tight” hierarchies like ours Lower bound is stable for any convex BV Slightly worse than bound we prove for a regular hierarchy If topology of regular hierarchy is not updated, can deteriorate to in the worst case Analysis – Collision Detection

OBBs are larger than tight bounding spheres by a constant factor at each level This factor is fixed for all levels of the hierarchy Will the bound hold for a “not so tight” hierarchy like ours? Proof of Upper Bound YES!

Proof of Lower Bound 3d links form a unit d/8 units shifted by 1 along X and -Y form a layer d/8 layers shifted by 1 along –Y and Z form a chain [chain] [layer] Convex hull of all units overlaps! P=[2(d-1),d-1,(d-1)/4]

Conclusions We presented an algorithm for efficient maintenance and self-collision detection of kinematic chains update time and detection time in the worst case It is very fast in practice Most efficient when k << N

Current Work Applying the algorithm to Monte-Carlo simulation of proteins Allow tree-like structure with short branches to model side-chains Replace collision detection with distance computation Efficiently compute internal energy by reusing unchanged terms