Faits :
A.
A.a. A._ a été victime d'un accident professionnel le 10 avril 1987, alors qu'il travaillait en qualité d'aide-maçon au service de la société B._ SA. Il a subi une entorse du genou droit en tombant d'une échelle. La Caisse nationale suisse d'assurance en cas d'accidents (CNA) a pris en charge le cas.
L'assuré a subi des arthroscopies à cinq reprises (en 1987, 2003, 2004, 2005 et 2009) et il a séjourné à la Clinique C._ du 16 novembre au 1 er décembre 2005.
Le 1 er décembre 2005, l'intéressé a présenté une demande tendant à l'octroi de prestations de l'assurance-invalidité. Il indiquait des douleurs aux genoux droit et gauche en raison de chutes survenues en 1987 et 1999, ainsi que des lombalgies apparues en 1991. L'Office de l'assurance-invalidité du canton de Fribourg (ci-après: l'office AI) a mis en oeuvre un stage d'orientation professionnelle au Centre D._, du 5 novembre 2007 au 10 février 2008. En outre, il a confié une expertise bidisciplinaire aux docteurs E._, spécialiste en rhumatologie et médecine interne (rapport du 17 mars 2011) et F._, spécialiste en psychiatrie et psychothérapie (du 16 mars 2011).
Par projet d'acceptation de rente du 5 octobre 2011, l'office AI a informé l'assuré de son intention de lui allouer, pour les périodes du 1 er juillet 2006 au 30 novembre 2007 et du 1 er mai au 31 juillet 2009, un quart de rente d'invalidité fondé sur des taux de 41 %, respectivement 40 %. Saisi d'une opposition, il a confirmé ce projet par décision du 14 novembre 2012.
A.b. De son côté, la CNA a alloué à l'assuré, à partir du 1 er septembre 2012, une rente d'invalidité fondée sur un taux d'incapacité de gain de 35 % et une indemnité pour atteinte à l'intégrité fondée sur un taux de 20 % (décision sur opposition du 2 mai 2013).
Cette décision a été déférée à la Cour des assurances sociales du Tribunal cantonal du canton de Fribourg, laquelle a rejeté le recours par jugement du 29 septembre 2014.
Saisi d'un recours en matière de droit public contre ce jugement, le Tribunal fédéral a statué par arrêt dont la date est identique à celle du présent arrêt (cause 8C_799/2014).
B.
Par jugement du 29 septembre 2014, la Cour des assurances sociales du Tribunal cantonal du canton de Fribourg a admis partiellement le recours formé par l'assuré contre la décision de l'office AI du 14 novembre 2012 en ce sens qu'elle a reconnu le droit de l'assuré à une rente entière d'invalidité pour la période du 1 er août au 31 octobre 2009 en lieu et place d'un quart de rente alloué du 1 er mai au 31 juillet 2009.
C.
A._ forme un recours en matière de droit public en demandant l'annulation du jugement cantonal et de la décision du 14 novembre 2012 et le renvoi de la cause à l'intimé pour complément d'instruction sous la forme d'une expertise rhumatologique. Subsidiairement, il conclut à l'octroi d'un quart de rente d'invalidité pour la période du 1 er juillet 2006 au 31 (recte: 30) avril 2009, excepté durant la période du 1 er décembre 2007 au 31 janvier 2008, ainsi qu'à l'allocation d'une rente entière du 1 er août au 31 octobre 2009 et d'un quart de rente à partir du 1 er novembre suivant, le tout sous suite de frais et dépens.

Considérant en droit :
1.
Le recours est dirigé contre un arrêt final (<ref-law>) rendu en matière de droit public (<ref-law>) par une autorité cantonale de dernière instance (art. 86 al. 1 let. d LTF). Il a été déposé dans le délai (<ref-law>) et la forme (<ref-law>) prévus par la loi. Il est donc recevable.
2.
A l'issue de la procédure judiciaire cantonale, l'assuré s'est vu reconnaître le droit à un quart de rente pour la période du 1 er juillet 2006 au 30 novembre 2007, ainsi qu'à une rente entière pour la période du 1 er août au 31 octobre 2009. Sur le vu des conclusions du recours en matière de droit public, le litige porte sur le droit éventuel de l'assuré à un quart de rente pour la période du 1 er février 2008 au 30 avril 2009, ainsi qu'à partir du 1 er novembre 2009.
A cet égard, le jugement entrepris expose correctement les règles légales et la jurisprudence relative à la notion d'invalidité et à son évaluation, ainsi qu'à la valeur probante des rapports et expertises médicaux. Il suffit donc d'y renvoyer.
3.
3.1. La cour cantonale a considéré que la capacité de travail de l'assuré était entière en 2008, puis au mois d'août 2009 - soit deux mois après la dernière arthroscopie - dans toute activité évitant les escaliers et l'ascension d'échelles, les déplacements et le travail sur terrain inégal, sans port de charges de plus de dix kilos, en alternant les positions. Elle s'est fondée pour cela sur l'appréciation du docteur E._ (rapport d'expertise du 17 mars 2011). Sur le plan psychique, elle s'est référée aux conclusions du docteur F._, selon lesquelles il n'existe pas de diagnostic psychiatrique invalidant, de sorte qu'une capacité de travail de 100 % était exigible aussi bien dans l'activité habituelle que dans une autre activité adaptée aux limitations somatiques (rapport d'expertise du 16 mars 2011).
3.2. Par un premier moyen, le recourant conteste la valeur probante du rapport d'expertise du docteur E._, en particulier en ce qui concerne l'appréciation de sa capacité de travail dans une activité adaptée. Il reproche à l'expert de n'avoir pas pris position sur l'avis du docteur G._, selon lequel la capacité de travail est de 50 % dans une activité adaptée (rapport du 2 décembre 2010). Par ailleurs, les conclusions de l'expert sont mal fondées dans la mesure où elles reposent sur le fait que le recourant a accompli un stage d'orientation professionnelle du 5 novembre 2007 au 10 février 2008. Selon l'intéressé, ce stage a été effectué uniquement à titre d'essai et s'est du reste révélé non concluant car l'activité n'était pas compatible avec son état de santé.
3.3. Selon une jurisprudence constante, lorsque des expertises confiées à des médecins indépendants sont établies par des spécialistes reconnus, sur la base d'observations approfondies et d'investigations complètes, ainsi qu'en pleine connaissance du dossier et que les experts aboutissent à des résultats convaincants, le juge ne saurait les écarter aussi longtemps qu'aucun indice concret ne permet de douter de leur bien-fondé (<ref-ruling> consid. 4.4 p. 469; <ref-ruling> consid. 1c p. 161). En présence d'avis médicaux contradictoires, le juge doit apprécier l'ensemble des preuves à disposition et indiquer les motifs pour lesquels il se fonde sur une appréciation plutôt que sur une autre. A cet égard, l'élément décisif pour apprécier la valeur probante d'une pièce médicale n'est en principe ni son origine, ni sa désignation sous la forme d'un rapport ou d'une expertise, mais bel et bien son contenu. Il importe, pour conférer pleine valeur probante à un rapport médical, que les points litigieux importants aient fait l'objet d'une étude circonstanciée, que le rapport se fonde sur des examens complets, qu'il prenne également en considération les plaintes exprimées par la personne examinée, qu'il ait été établi en pleine connaissance de l'anamnèse, que la description du contexte médical et l'appréciation de la situation médicale soient claires et enfin que les conclusions de l'expert soient dûment motivées (<ref-ruling> consid. 5.1 p. 232; <ref-ruling> consid. 3a p. 352).
3.4. En l'occurrence, la cour cantonale a mentionné tous les éléments déterminants qui confèrent une pleine valeur probante au rapport d'expertise du docteur E._. En outre, elle a indiqué qu'en raison de sa motivation sommaire, l'appréciation divergente de la capacité de travail indiquée par le docteur G._ ne constituait pas un indice concret permettant de douter du bien-fondé des conclusions de l'expert. Par ailleurs, contrairement aux allégations du recourant, l'expert ne s'est pas fondé sur le fait que l'intéressé a accompli un stage d'orientation, mais il a indiqué que l'activité professionnelle proposée par le Centre D._ était exigible. Cela étant, les critiques somme toute assez sommaires exposées par le recourant ne sont pas de nature à démontrer que la cour cantonale a violé le droit en retenant, sur la base des conclusions du docteur E._, que les troubles somatiques (gonalgies antérieures aspécifiques chroniques, lombalgies basses récurrentes et syndrome cervicobrachial avec discopathie C5-C6) n'entraînaient pas d'incapacité de travail dans une activité adaptée en 2008, puis au mois d'août 2009. Cela étant, il n'est pas nécessaire de compléter l'instruction au sujet de la capacité résiduelle de travail par la mise en oeuvre d'une nouvelle expertise rhumatologique, comme le demande le recourant.
4.
4.1. La cour cantonale a fixé le revenu d'invalide pour les périodes du 1er février 2008 au 30 avril 2009, ainsi qu'à partir du 1er novembre 2009, en se fondant sur le tableau TA1 (total secteur privé), niveau de qualification 4 (activités simples et répétitives) de l'Enquête suisse sur la structure des salaires (ESS) éditée par l'Office fédéral de la statistique, selon laquelle le salaire mensuel obtenu par un homme en 2008 était de 4'806 fr. pour une durée hebdomadaire de travail de quarante heures, soit 57'672 fr. par année. Ce montant a été fixé ensuite à 53'981 fr., compte tenu d'une durée hebdomadaire moyenne de travail de 41,6 heures et d'un abattement de 10 % sur le salaire statistique.
4.2. Le recourant invoque une violation du droit en tant que la cour cantonale s'est fondée sur le tableau TA1 (total secteur privé), niveau de qualification 4 (activités simples et répétitives) de l'ESS. Il fait valoir que, dans la mesure où il a exercé la profession de maçon durant seize ans environ et a travaillé ensuite cinq ans en qualité d'employé dans une entreprise de vente et location de matériel et de machines de terrassement, la juridiction précédente aurait dû se référer à une branche économique particulière, à savoir celle du commerce de détail, réparation d'articles domestiques (tableau TA1, n° 52). Le recourant relève que la cour cantonale s'est référée à cette branche économique pour évaluer le revenu d'invalide pour la période du 1 er juillet 2006 au 30 novembre 2007. Dans cette branche et au niveau de qualification 4, le salaire mensuel brut en 2008 s'élevait à 4'436 fr. pour quarante heures de travail hebdomadaires, soit 4'613 fr. 44 compte tenu d'une durée usuelle de 41,6 heures en 2008. Le montant annuel ainsi obtenu (55'361 fr. 28) doit ensuite être fixé à 49'825 fr. 15 en fonction d'un abattement de 10 % sur le salaire statistique. En comparant ce montant à un revenu sans invalidité de 84'771 fr. 70, on obtient un taux d'invalidité de 41,2 %, ce qui ouvre droit à un quart de rente.
4.3. Lorsque le revenu d'invalide est calculé sur la base de l'ESS, on se réfère, en règle générale, au tableau TA1, et à la catégorie "total secteur privé". Ce n'est qu'à titre exceptionnel que le Tribunal fédéral et le Tribunal fédéral des assurances se sont fondés sur le salaire médian statistique d'une branche économique particulière. Tel est le cas pour les assurés qui ont travaillé durant une longue période dans cette branche et dont on ne peut exiger qu'ils exercent une autre activité (arrêts du Tribunal fédéral 8C_710/2014 du 12 mai 2015 consid. 4.1; 9C_237/2007 du 24 août 2007 consid. 5.1, non publié in <ref-ruling>; arrêt du Tribunal fédéral des assurances I 289/01 du 19 octobre 2001 consid. 3c).
En l'espèce, le recourant n'expose pas en quoi l'atteinte à la santé l'empêche d'exercer une activité professionnelle ressortissant à la catégorie "total secteur privé", dans laquelle il est à même de réaliser un revenu d'invalide sensiblement supérieur au gain de référence de la branche du commerce de détail, réparation d'articles domestiques. Par ailleurs, il ne saurait tirer aucun avantage du fait que la cour cantonale s'est référée à cette branche économique pour évaluer le revenu d'invalide pour la période du 1 er juillet 2006 au 30 novembre 2007, laquelle n'est pas litigieuse.
Cela étant, la cour cantonale n'a pas violé le droit en considérant comme exigible le revenu indiqué au tableau TA1 (total secteur privé), niveau de qualification 4 de l'ESS.
5.
Vu ce qui précède, le jugement attaqué n'est pas critiquable et le recours se révèle mal fondé.
6.
Le recourant, qui succombe, supportera les frais judiciaires (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 800 fr., sont mis à la charge du recourant.
3.
Le présent arrêt est communiqué aux parties, à la Cour des assurances sociales du Tribunal cantonal du canton de Fribourg et à l'Office fédéral des assurances sociales.
Lucerne, le 2 novembre 2015
Au nom de la Ire Cour de droit social
du Tribunal fédéral suisse
La Présidente : Leuzinger
Le Greffier : Beauverd