Is there any way of estimation the battery life from pwm outputs which goes to motors in microcontroller level. I'm planning to estimate path range with this. Microcontroller, sensor and other electronic device should be neglected.
Battery life is generally measured in amp hours. From a PWM perspective, you are pulsing current at a constant voltage, so you could estimate current output to be (duty cycle)*(rated current) where rated current is the nominal current draw at your operating voltage. Remember too that P=IV, so you could get a rated current by dividing rated power by operating voltage.
So now that you have an estimate for current draw, you can do a simplistic state of charge estimate called "Coulomb counting", which is just current integration.
This means that you take your current and multiply it by whatever your sample time interval is, then add it to the previous measurement.
spentCapacity = spentCapacity + (dutyCycle*maxCurrent)*dT
In this manner you accumulate how much current you have "spent" and can compare that to how much you started with.
This is not super accurate by any means, but if you're interested in a basic setup that will get you in the right ballpark this is it.
If you go this route, better current measurements are an easy way to improve accuracy, but Texas Instruments makes some "battery fuel gage" chips that are pretty slick too.