Skip to content

In this project i will try to describe as a tutorial my learning with the coal-library from how to load to visualize collisions

Notifications You must be signed in to change notification settings

SrKastros/coal_Learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

coal_Learning

In this project i will try to describe as a tutorial my learning with the coal-library from how to load to visualize collisions


the first step is to prepare the models that we are going to be using in this case is going to be a mustard bottle form ycb dataset 003_cracker_box and 011_banana and a robot description like (robotniq)

coal uses under the hood assimp and has already develop a mesh loader and makes use of and internal class to handle the data BVH_model

what are BVH model?

A Bounding Volume Hierarchy is a tree built over your mesh/point cloud where each node stores a simple “bounding volume” (BV) enclosing a bunch of primitives. Queries (collision, distance, ray cast) walk this tree to prune big chunks fast, so you only do expensive checks on a few leaves. In FCL/Coal this is the templated BVHModel type (e.g., BVHModel or BVHModel).

  • AABB — Axis-Aligned Bounding Box Box edges are aligned with world axes. Super cheap to test, but can fit loosely when objects are rotated. Great for broad-phase pruning. (Supported as a node type in Coal.)

  • OBB — Oriented Bounding Box A box with its own rotation, so it wraps geometry more tightly than AABB. Intersection tests are a bit costlier than AABB but give fewer false positives. (Coal has an OBB class.)

  • RSS — Rectangular Swept Sphere A rectangle “inflated” by a sphere (Minkowski sum of a rectangle and a sphere). It tends to give tight bounds and very efficient distance lower bounds between volumes—handy for closest-distance queries.

  • OBBRSS — a composite BV that stores both an OBB and an RSS The idea: use the OBB part for fast, accurate collision culling and the RSS part for strong distance bounds, in a single hierarchy. Coal (and FCL) provide specialized traversal for this BV type. In Coal’s docs it’s described as “Class merging the OBB and RSS, can handle collision and distance simultaneously.”

When to pick what (rule of thumb)

Broad-phase: AABB (fastest, simplest).

Narrow-phase collision on triangle meshes: OBB or OBBRSS (tighter fit → fewer leaf checks).

Closest-distance / continuous checks: RSS or OBBRSS (good distance bounds). Coal supports all of these as BVH node types.

About

In this project i will try to describe as a tutorial my learning with the coal-library from how to load to visualize collisions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published