Dc motor with encoder

Hi,

I am confuse about using what type of motor for my mini project. I Wanted to use a motor that allows me to know the position of my robot. Is there any suggestion?

Dc motor with encoder using arduino? But I using 9V battery to operate the motor

Very few motors are low powered enough to run from a small 9V battery - perhaps fix that issue first?

Typically people get motor/gear/wheel/encoder assemblies which do everything you need in one unit. Normally motors come in 3V, 6V, 12V, 18V ratings, and for a small robot 6V is a reasonable compromise, although that's a rather low voltage for darlington motor drivers which waste 2 to 3V.

A stepper motor allows precise positioning but normally does not have feedback. Nearly all consumer 3D printers work this way. There are large NEMA style motors that require driver boards, but there are also some very cheap and very slow stepper motors with driver board available on the internet.

Also if you can find an old broken Roomba, their wheels were DC motors with encoders. =D