el sensor para las ruedas lo puedes construir facilmente usando los sensores que tienes, pero mejor te recomendaria que compres los motores ya con encoder, no son muy caros (70-100 pesos mexicanos), en cuanto al sensor para obstaculos tienes varias opciones:
1.- sensor ultrasonico.- te da una gran distancia aunque es algo caro
2.- sensor infrarrojo.- la idea es la misma que con tu sensor cny, solo que uses un led IR (de 5 mm) como emisor y un fotodiodo como receptor, la distancia aumenta como a unso 10 cm
3.- sensor IR con frecuencia.- esta creo que es la mejor opcion, usar un led ir como el que dije arriba pero lo haces parpadear a cierta frecuencia (38KHz comunmente), y usas un sensor como los de las televisiones tsop1738 o alguno parecido, el cual solo detecta esa frecuencia y por lo tanto te evitas el ruido de cualquier otra fuente de luz