An algorithm to recover a superquadric surface/primitive from a given point cloud, with good robustness, accuracy and efficiency. The superquadric abstracted from a point cloud provides a concise, volumetric, and geometrically meaningful interpretation of objects and environment. It can work as a low-level volumetric representation, from which higher level tasks, e.g., motion planning, collision detection and robot-environment interaction, can be built up.