Faits: Faits: A. A._, né en 1955, a travaillé en qualité de tôlier-carrossier jusqu'au 30 novembre 1997, date à laquelle il a été licencié pour raisons économiques. Il n'a plus exercé d'activité professionnelle depuis lors. L'assuré a présenté une incapacité de travail totale du 17 août 1998 au 13 janvier 1999 et du 26 mars au 15 août 1999, puis une incapacité de 50 % du 16 au 30 août 1999, attestées par son médecin traitant, le docteur F._. Le 9 septembre 1999, A._ a présenté une demande de prestations de l'assurance-invalidité tendant à l'octroi d'une rente. Il alléguait souffrir principalement du dos et des genoux. Procédant à l'instruction du cas, l'Office de l'assurance-invalidité pour le canton de Vaud (ci-après: l'office AI) a requis l'avis du docteur F._, qui a posé les diagnostics de syndrome lombo-vertébral avec syndrome irritatif L5 droit, de discopathie L5-S1 marquée, de syndrome rotulien principalement à gauche et d'obésité (rapport du 15 mars 2000). Ce praticien a joint à son avis médical les prises de position des docteurs C._ (rapports des 5 juillet et 12 novembre 1999) et R._ (rapport du 18 octobre 1999). Selon ces deux médecins, l'assuré disposait d'une capacité résiduelle de travail réduite d'un tiers dans sa profession de tôlier-carrossier, tandis qu'une pleine capacité était envisageable dans le cadre d'une activité adaptée excluant le port de charges lourdes et permettant l'alternance des positions assise et debout. Dans un rapport du 10 avril 2001, le docteur F._ a indiqué que l'état de santé de son patient s'était aggravé. Celui-ci se plaignait avant tout de douleurs au genou gauche, reléguant les problèmes dorsaux à l'arrière plan. Une arthroscopie diagnostic réalisée par le docteur P._ le 29 janvier 2001 avait mis en évidence des fissures cartilagineuses de la trochlée fémorale interne et du plateau tibial externe, ainsi qu'une synovite probablement réactionnelle au genou gauche. L'office AI a confié au docteur G._, spécialiste en rhumatologie et en médecine interne, la mise en oeuvre d'une expertise médicale. Au terme de son examen, celui-ci a estimé que la capacité de travail de l'assuré dans la profession de tôlier-carrossier était de 50 %. Dans une activité excluant les travaux lourds, le port répétitif de charges supérieures à 15 kilos, les mouvements du rachis en porte-à-faux et permettant l'alternance des positions assise et debout, elle s'élevait à 75 % (rapport du 25 novembre 2002). Par deux décisions des 22 avril et 19 mai 2003, l'office AI a octroyé un quart de rente à l'assuré à partir du 1er août 1999 en se fondant sur un taux d'invalidité de 47 %. A._ a formé opposition contre ces décisions, en produisant un rapport du docteur P._ du 23 juin 2003. Par décision sur opposition du 10 novembre 2003, l'office AI a partiellement admis l'opposition, en ce sens que le montant du quart de rente a été relevé. Par décision du 8 décembre 2003, l'office AI a mis l'assuré au bénéfice d'une demi-rente pour cas pénible avec effet au 1er janvier 2004. Par deux décisions des 22 avril et 19 mai 2003, l'office AI a octroyé un quart de rente à l'assuré à partir du 1er août 1999 en se fondant sur un taux d'invalidité de 47 %. A._ a formé opposition contre ces décisions, en produisant un rapport du docteur P._ du 23 juin 2003. Par décision sur opposition du 10 novembre 2003, l'office AI a partiellement admis l'opposition, en ce sens que le montant du quart de rente a été relevé. Par décision du 8 décembre 2003, l'office AI a mis l'assuré au bénéfice d'une demi-rente pour cas pénible avec effet au 1er janvier 2004. B. A._ a déféré la décision sur opposition au Tribunal des assurances du canton de Vaud, qui l'a débouté par jugement du 18 mai 2004. B. A._ a déféré la décision sur opposition au Tribunal des assurances du canton de Vaud, qui l'a débouté par jugement du 18 mai 2004. C. A._ interjette recours de droit administratif contre ce jugement, dont il demande l'annulation. Il conclut, principalement, à la mise en oeuvre d'un complément d'instruction et, subsidiairement, à l'octroi d'une rente entière d'invalidité à partir du 1er août 1999. L'office AI conclut au rejet du recours, tandis que l'Office fédéral des assurances sociales a renoncé à se déterminer. 