3D terrain perception for mobile robots based on shape and appearance; State-of-the-art, challenges and future trends