Fast and accurate inspection of elevated structures is imperative for sustaining the increasing traffic flow on deteriorating bridges. Despsite their importance, today's inspection processes still require dedicated equipment, impact traffic flow, and expose inspection personnel to safety concerns. The advent of Unmanned Aerial Vehicles (UAVs) and the ability to position a camera close to elevated highway structures presents an opportunity to perform inspections quickly, safely and effectively. Towards this goal, we present an end-to-end system for robotic bridge inspection. Our system is structured around integrated methods to (a) create UAV flight missions; (b) evaluate accuracy and completeness of data collection plans; (c) generate 3D models of the structures of interest; (d) detect surface distresses in 3D; and (e) generate inspection reports in compliance with the requirements of highway agencies. We present results on validating each algorithm and the system as a whole. We also share lessons learned from an owner's perspective on deploying this system for bridge inspection in Japan particularly around procedures for documenting, communicating, and following up on bridge inspectors' recommendations.