Perceiving, Learning, and Recognizing 3D Objects: An Approach to Cognitive Service Robots