Faits :
A.
A.a. A._, né en 1966, a travaillé depuis le 7 février 2000 comme ouvrier de construction et notamment comme grutier qualifié au service de la société B._ SA. Le 21 février 2000, il s'est fracturé le radius distal droit ainsi que la tête du radius gauche. A la suite de cet événement, il a bénéficié de prestations de l'assurance-accidents obligatoire.
Le 15 juin 2001, A._ a déposé une demande de prestations auprès de l'Office de l'assurance-invalidité (OAI) du canton de Fribourg, laquelle a été refusée par décision du 18 novembre 2002, confirmée sur opposition le 10 septembre 2003. Par jugement du 7 décembre 2004, la Cour des assurances sociales du Tribunal administratif du canton de Fribourg a rejeté le recours formé contre la décision sur opposition.
Saisi d'un recours de droit administratif par A._, l'ancien Tribunal fédéral des assurances l'a admis et a renvoyé la cause à l'OAI pour complément d'instruction et nouvelle décision (arrêt I 118/05 du 21 septembre 2006). Afin d'éviter des mesures d'instruction inutiles, il a précisé que l'OAI pourrait se référer à l'expertise médicale dont il avait ordonné la mise en oeuvre à l'assureur-accidents, par arrêt du même jour.
A.b. Le 10 septembre 2009, l'assureur-accidents a confié une expertise pluridisciplinaire au centre C._. Sur le plan somatique, les experts ont indiqué que l'assuré était incapable d'exercer son ancienne activité de grutier, tout comme celle d'ouvrier de chantier, ou toute activité physiquement pénible (rapport d'expertise du 25 février 2010).
Après avoir accordé à l'assuré une aide au placement, l'OAI a nié le droit de celui-ci à une rente d'invalidité, au motif que le taux d'incapacité de gain (17 %) était insuffisant pour ouvrir droit à une telle prestation (décision du 17 septembre 2012).
B.
Par jugement du 12 février 2015, la Cour des assurances sociales du Tribunal cantonal du canton de Fribourg a rejeté le recours formé contre la décision de l'OAI du 17 septembre 2012.
C.
A._ interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation en concluant, sous suite de dépens, à l'octroi d'une rente entière d'invalidité. En outre, il conclut, en lien avec la procédure cantonale, à ce que soient mis à la charge de l'OAI les frais judiciaires, ainsi qu'une équitable indemnité de partie en sa faveur.
L'intimé conclut implicitement au rejet du recours. La cour cantonale et l'Office fédéral des assurances sociales ont renoncé à se déterminer.

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.
Le litige porte sur le taux d'invalidité du recourant, singulièrement sur l'étendue des limitations fonctionnelles au niveau des membres supérieurs.
3.
Pour évaluer le taux d'invalidité, le revenu que l'assuré aurait pu obtenir s'il n'était pas invalide est comparé avec celui qu'il pourrait obtenir en exerçant l'activité qui peut raisonnablement être exigée de lui après les traitements et les mesures de réadaptation, sur un marché du travail équilibré (<ref-law> [RS 830.1]). Est réputée incapacité de travail toute perte, totale ou partielle, de l'aptitude de l'assuré à accomplir dans sa profession ou son domaine d'activité le travail qui peut raisonnablement être exigé de lui, si cette perte résulte d'une atteinte à sa santé physique, mentale ou psychique; en cas d'incapacité de travail de longue durée, l'activité qui peut être exigée de lui peut aussi relever d'une autre profession ou d'un autre domaine d'activité (<ref-law>).
4.
Se fondant sur les conclusions du rapport d'expertise du 25 février 2010, la cour cantonale retient que l'assuré peut travailler à temps complet dans une activité adaptée (hors chantier de construction), sans utilisation importante des membres supérieurs. Cette activité ne doit pas nécessiter le port de charges, ni d'efforts physiques importants ou répétitifs des membres supérieurs. A ce propos, les premiers juges mentionnent plusieurs activités raisonnablement exigibles (portier, gardien, caissier de parking et employé d'exploitation au conditionnement à la chaîne). Selon eux, il existe sur le marché du travail un éventail assez large d'activités simples et légères, ne requérant aucune formation particulière, dont un nombre suffisant est compatible avec les limitations susmentionnées, notamment dans des activités de contrôle, de surveillance et dans l'industrie légère.
5.
Comme unique argument, le recourant s'en prend à l'interprétation qu'ont fait les premiers juges du rapport d'expertise, tout en leur reprochant d'avoir apprécié les faits de manière arbitraire. Selon lui, l'autorité précédente considère à tort qu'il est en mesure d'utiliser ses membres supérieurs de manière modérée dans une activité légère, dans la mesure où les experts ont indiqué qu'il est absolument incapable d'utiliser ces membres dans une activité professionnelle. En outre, la conclusion des experts ne permettrait pas d'autres interprétations, vu qu'il s'agit d'un centre " romand " d'expertise et que l'utilisation impossible des membres supérieurs est répétée deux fois dans le rapport d'expertise. Cela étant, la cour cantonale aurait dû considérer qu'il était incapable d'exercer une quelconque activité. En conclusion, il soutient que, dans ces conditions, il devrait être mis au bénéfice d'une rente entière d'invalidité.
6.
6.1. Le Tribunal fédéral conduit son raisonnement juridique sur la base des faits établis par l'autorité précédente (<ref-law>). Il ne peut s'en écarter que si les faits ont été établis de façon manifestement inexacte - notion qui correspond à celle d'arbitraire au sens de l'art. 9 Cst. (<ref-ruling> consid. 2.3 p. 266 et les arrêts cités) - ou en violation du droit au sens de l'<ref-law> (<ref-law>), et pour autant que la correction du vice soit susceptible d'influer sur le sort de la cause (<ref-law>).
L'appréciation des preuves est arbitraire lorsque l'autorité ne prend pas en compte, sans raison sérieuse, un élément de preuve propre à modifier la décision, lorsqu'elle se trompe manifestement sur son sens et sa portée, ou encore lorsque, en se fondant sur les éléments recueillis, elle en tire des constatations insoutenables, ce qu'il appartient au recourant de démontrer (<ref-ruling> précité consid. 2.3 p. 266 et les arrêts cités).
6.2. En l'occurrence, il ressort du rapport d'expertise, qu'avant de conclure à la possibilité pour l'assuré d'exercer une activité simple, " sans utilisation des membres supérieurs " (p. 67 et 69 du rapport d'expertise du 25 février 2010), les experts ont indiqué sous la rubrique " limitations fonctionnelles suite à l'accident du 21.02.2000 " que l'assuré devait éviter les activités nécessitant l'usage des membres supérieurs de manière répétitive, en force, ou avec des ports de charges (p. 63 du rapport d'expertise). Cela étant, on ne peut partager le point de vue du recourant selon lequel toute utilisation des membres supérieurs est exclue. Il apparaît clairement qu'elle doit être limitée dans le sens indiqué par les experts. En effet, la situation de l'assuré n'est à l'évidence pas semblable à celle d'une personne qui aurait perdu l'usage complet de ses bras. Il ressort d'ailleurs des constatations de l'autorité cantonale qu'il conduit régulièrement sa voiture, fait un peu de vélo et n'est pas limité dans l'écriture. Dans ces circonstances, on ne saurait reprocher à la juridiction cantonale d'avoir apprécié les preuves de manière arbitraire en considérant qu'il était en mesure d'exercer une activité légère, sans utilisation importante des membres supérieurs.
7.
Vu ce qui précède, le jugement attaqué n'est pas critiquable et le recours se révèle mal fondé.
8.
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 17 août 2015
Au nom de la Ire Cour de droit social
du Tribunal fédéral suisse
Le Juge présidant : Ursprung
La Greffière : Castella