There are quite a few technologies that can be used, though I'm not sure about the impact of some of your conditions (e.g. weather) on their operation. Here are a few:
Laser time-of-flight. Sends a laser pulse, checks how long it takes to come back, and tell you the distance between the sensor and the object. Very narrow beam.
Ultrasonic time-of-flight. Similar, but uses (inaudible) sound. Has a slightly wider beam.
Doppler radar. Similar, but in addition to distance, it also measures the difference between the frequency of the pulse sent and that of the echo received, which tells you the relative speed (in the direction of the signal).
Video camera with shape recognition. Probably doesn't qualify for cheap.
You can of course derive speed from the variations in distance for the first two, but it probably won't be as precise and quick.
You can find many of such sensors on Adafruit, Sparkfun, etc, and they are relatively cheap. But I have no idea what the impact of rain or fog may be on them. Note that they are all "active" sensors, which need power to transmit a signal before then receiving a response back, so battery operation may raise its own challenges.