Molecular chemisorption of oxygen on Cu(100), Ni(100) and Pt(111)