Faits : Faits : A. Né en 1957, G._ a travaillé en qualité de maçon. Dès l'année 1992, il s'est plaint de douleurs au bras gauche, au coude droit et dans le haut du dos; à partir de janvier 1997, il a été progressivement atteint de lombalgies chroniques persistantes avec troubles statiques cervico-dorso-lombaires. L'assuré s'est annoncé à l'assurance-invalidité le 30 novembre 1998 et a cessé le travail le 29 janvier 1999. Lors de l'instruction de la demande, l'Office de l'assurance-invalidité du canton de Fribourg (l'office AI) a recueilli divers avis médicaux. Parmi ceux-ci figurent un rapport du professeur P._, médecin à la Clinique X._ (du 16 juin 1999), ainsi qu'une expertise pluridisciplinaire (rhumatologique et psychiatrique) réalisée à l'Hôpital Y._, fonctionnant comme centre (COMAI) d'observation médicale de l'AI (rapport des docteurs H._ et R._, du 31 juillet 2000). De ces deux documents, il ressort essentiellement que l'assuré souffre d'un trouble somatoforme. Les appréciations de la capacité de travail de l'assuré ne concordent toutefois pas; tandis que le professeur P._ atteste une incapacité totale de travail, ses confrères du COMAI de B._ parviennent à la conclusion inverse. Suivant l'avis du COMAI, l'office AI a arrêté le taux d'invalidité de l'assuré à 25 % et lui a dénié le droit à une rente, par décision du 21 février 2001. Suivant l'avis du COMAI, l'office AI a arrêté le taux d'invalidité de l'assuré à 25 % et lui a dénié le droit à une rente, par décision du 21 février 2001. B. G._ a déféré cette décision au Tribunal administratif du canton de Fribourg, en concluant à son annulation et au renvoi de la cause à l'office AI pour complément d'instruction. A l'appui de ses conclusions, il a produit un avis du docteur K._, spécialiste en psychiatrie et psychothérapie, du 16 juillet 2001, qui le juge entièrement incapable de travailler. La juridiction cantonale de recours l'a débouté, par jugement du 29 mai 2002. La juridiction cantonale de recours l'a débouté, par jugement du 29 mai 2002. C. G._ interjette recours de droit administratif contre ce jugement dont il demande l'annulation, avec suite de dépens, en concluant principalement au versement d'une rente entière d'invalidité, subsidiairement au renvoi de la cause à l'office AI pour instruction complémentaire. Il verse au dossier une écriture émanant du Département universitaire de psychiatrie adulte des Hospices cantonaux de l'Etat de Vaud (DUPA), datée du 13 août 2002. L'intimé conclut au rejet du recours, tandis que l'Office fédéral des assurances sociales a renoncé à se déterminer.