Sensing different objects on the basis of material

Is there any sensor that can sense objects and give input based on what material it is? Or do I require different sensors for this purpose?

If this type of sensing is not possible, is there any alternate method to find what the material is?

The reason is because I planned to create a robot that picks plastic using a hydraulic crane and an ultrasonic sensor. If there is an alternate method to detect if it its plastic, please post it down.. It would be very helpful

Is this for rubbish recycling where you need to separate plastic, paper and metal?

Yes.. It just picks the waste and goes back to the place where it started from

There are no cheap sensors that can reliably distinguish plastic from paper. On an industrial scale companies use expensive infrared spectrophotometers.

Perhaps make your task easier by separating something like steel paper clips from plastic using an electromagnet.

Added complication in case of rubbish is of course the fact that many of the objects are not a single material. Do you want tetrapak to be sorted as plastic, paper or metal?