# Kinetica Collision Check > Robot pose + obstacles → collisions, minimum clearance and self-collision between links. Checks a robot configuration against box, sphere and capsule obstacles and against itself. Robot links are modelled as capsules and boxes; the tool reports every pair closer than the safety margin, the minimum clearance and the closest pair, using exact segment–segment distances and an exact convex search for capsule–box distances. Part of usefulweb.site (https://usefulweb.site/). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://kineticacollisioncheck.usefulweb.site/ (interactive tool at https://kineticacollisioncheck.usefulweb.site/tool) - JSON API: POST https://kineticacollisioncheck.usefulweb.site/api/v1/calculate with a JSON object of inputs (schema: https://kineticacollisioncheck.usefulweb.site/api/v1/tool) - OpenAPI: https://kineticacollisioncheck.usefulweb.site/openapi.json - MCP (Streamable HTTP): https://kineticacollisioncheck.usefulweb.site/mcp - tool `kinetica_collision_check` ## Inputs - robot (select): Robot - A library robot, or choose a custom DH table, URDF or Kinetica robot JSON. - convention (select): DH convention (custom table) - dh (table): DH table (custom) - One row per joint. Lengths in mm, angles in degrees. For revolute joints θ is the zero offset, for prismatic joints d is. - robotText (textarea): URDF or robot JSON - Used when Robot is “URDF” or “Kinetica robot JSON”. URDF subset: links with box/cylinder/sphere, revolute/continuous/prismatic/fixed joints. - tool (text): Tool offset (TCP) - x, y, z (mm), roll, pitch, yaw (deg) in the flange frame, e.g. “0, 0, 150, 0, 0, 0”. Empty = robot default. - joints (text): Joint values - Degrees / mm. Empty = home pose. - obstacles (table): Obstacles - Box: centre x, y, z and size sx, sy, sz. Sphere: centre and r. Capsule: start x, y, z, end x2, y2, z2 (in the size columns) and r. All in mm, world frame. - self (boolean): Check self-collision - margin (number): Safety margin ## Method - Robot links are capsules (segment + radius) and oriented boxes attached to the link frames; library robots generate capsules along the kinematic skeleton, URDF boxes/cylinders/spheres are imported (cylinders become capsules with caps ending at the cylinder faces; flat discs become an equal-area square prism). - Capsule–capsule: closest points between two segments minus both radii. Capsule–box: the squared distance from the segment to the box is convex in the segment parameter, so a 64-step golden-section search finds the minimum. Box–box: separating-axis test for overlap, else the minimum of the 24 edge-to-box distances. - Self-collision skips adjacent links, user-listed pairs and pairs that already touch in the robot’s home pose (as in MoveIt’s allowed-collision matrix); the static base link is not checked against the environment. - A pair counts as a contact when its clearance is below the safety margin. ## Limits - Kinematic simulation for planning and teaching. It is not a certified safety function: verify every program on the real controller with reduced speed and the cell safety system active. Geometry is a simplified envelope of the real robot.