The OBD2 shield is an easy way to communicate with multiple vehicles.
It is based on STN1110, a much better than ELM327 chip, that handles all the filtering and initialization of the Arduino with the vehicle's on-board computer.
You need to read vehicles speed? Just send to the serial port the OBD ID of speed.
0x01 0x0d
Then you will have a reply with the vehicles speed. Also it supports OBDuino project, just enable the ELM327 define's on the top.
Here is a reference with OBD2 pids
OBD-II PIDs - Wikipedia, the free encyclopedia
STN1110 website
STN1110 - Multiprotocol OBD Interpreter IC Chip - Low-Cost, High-Performance | OBD Solutions
If you have further questions don't hesitate to ask.
Thank you,
Kostas