Robotic applications are evolving to a paradigm of collaborative robotics, where human workers and compliant robots work together to solve complex tasks, until now done fully manually. These tasks also present another challenging issue for the use of robotics, variability in part and tool positions, in robot placement and even in the targets for the robot operation. To comply with all this uncertainties while solving the work efficiently, the robot needs to be equipped with sensors that allow it perceive the environment. For this, machine vision techniques in all its variants (2D, 3D, point clouds) becomes fundamental. This paper outlines a real industrial case of collaborative robotics, and the details of use of machine vision techniques to cope with variability and uncertainties. The industrial case presented has been developed as part of the EuRoC European project, under the 7th European Framework.