Draw perpendicular segments from O to AB and BC which intersects two sides at point D and E. Apparently, OD and OE are radii of the semicircle.

OR = OE

Connect point O and B. Since \triangle ODB and \triangle OEB are right triangles and there're two pairs of corresponding sides equal,

\triangle ODB \cong \triangle OEB

Then

\angle DBO = \angle EBO

In other words, BO bisects the internal angle DBE of the triangle ABC.

Apply the Angle bisector theorem,

\dfrac{AB}{AO} = \dfrac{BC}{CO}

Then,

\dfrac{AB}{AO} = \dfrac{BC}{AC-AO}

Substitute the values of AB, BC and AC

\dfrac{12}{AO} = \dfrac{18}{25-AO}

Solve for AO

Then, AO = 10