Faits :
A.
A._, né en 1959, a travaillé en dernier lieu au service de l'entreprise B._ SA dès décembre 2010, en qualité de chauffeur-logisticien à plein temps. A ce titre, il était assuré contre le risque d'accidents auprès de la Caisse nationale suisse d'assurance en cas d'accidents (CNA).
L'assuré a été victime de plusieurs accidents dès 2003, dont les conséquences ont été prises en charge par la CNA. En mars 2005 et novembre 2006 notamment, il a subi un traumatisme au genou droit, ayant nécessité une arthroscopie en décembre 2006, tandis qu'une chute ultérieure sur ce même genou a requis une seconde arthroscopie en septembre 2009.
Dans une déclaration d'accident du 11 octobre 2011, l'employeur a annoncé à la CNA que le 28 septembre précédent, alors qu'il déchargeait des palettes, l'assuré avait glissé d'un camion-grue et s'était rattrapé à la ridelle de celui-ci, entraînant immédiatement de vives douleurs dans le bras droit. L'incapacité de travail était totale. La CNA a pris en charge le cas.
Une arthro-IRM de l'épaule droite a montré une déchirure transfixiante avec rupture subtotale de la moitié insertionnelle postérieure du tendon du sus-épineux, un foyer de tendinopathie sans déchirure significative du sous-épineux à son insertion, un remodelé réactionnel sous-trochitérien en réponse à la sollicitation des tendons précités et une ostéo-arthropathie modérée à caractère dégénératif acromio-claviculaire. Le 25 janvier 2012, le docteur C._, spécialiste en chirurgie orthopédique, a pratiqué une acromioplastie et une réinsertion transosseuse du sus-épineux chez l'assuré.
Dans son rapport d'examen final du 27 juin 2013, le docteur D._, spécialiste en chirurgie et médecin d'arrondissement de la CNA, a précisé les limitations fonctionnelles de l'assuré dans une activité adaptée découlant des séquelles de l'accident du 28 septembre 2011. Celles-ci supposaient une activité sans port de charges répété du membre supérieur droit (MSD) au corps de plus de 10 kilos, sans port de charges répété de plus de 5 kilos du MSD éloigné du corps et sans mouvement répétitif de rotations interne et externe contre résistance de plus de 5 kilos et sans mouvement au-dessus du niveau des épaules. Les limitations fonctionnelles découlant des séquelles au niveau du genou droit consistaient en l'absence de longs déplacements en terrain régulier, pas de fréquents déplacements en terrain irrégulier, pas d'escaliers de manière fréquente, pas de travaux à genoux ou accroupis, pas de travaux nécessitant la marche avec des charges de plus de 15 kilos. Dans une activité adaptée aux limitations fonctionnelles de l'assuré, l'exigibilité était totale.
Par décision du 23 décembre 2013, confirmée sur opposition le 28 mai 2014, la CNA a alloué à l'assuré, à partir du 1 er janvier 2014, une rente d'invalidité fondée sur un taux d'incapacité de gain de 19 % et une indemnité pour atteinte à l'intégrité calculée sur la base d'un taux de 20 %.
B.
Saisie d'un recours, la Cour des assurances sociales du Tribunal cantonal du canton de Vaud l'a rejeté par jugement du 23 mars 2015.
C.
A._ forme un recours contre ce jugement dont il demande la réforme en ce sens qu'il a droit à une rente fondée sur un taux d'invalidité d'au moins 27 % dès le 1 er janvier 2014, subsidiairement une rente fondée sur un taux d'invalidité d'au moins 23 % dès le 1 er janvier 2014, le tout sous suite de frais et dépens. Il sollicite en outre le bénéfice de l'assistance judiciaire.
La CNA conclut au rejet du recours, tandis que l'Office fédéral de la santé publique a renoncé à se déterminer.
L'assuré a répliqué.

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 de la rente d'invalidité de l'assurance-accidents à laquelle a droit le recourant depuis le 1 er janvier 2014. Le taux de l'atteinte à l'intégrité n'est en revanche plus litigieux.
La procédure portant sur l'octroi ou le refus de prestations en espèces de l'assurance-accidents, le Tribunal fédéral n'est pas lié par les faits établis par la juridiction précédente (<ref-law>).
3.
La cour cantonale a constaté que les séquelles de l'accident n'empêchent pas l'assuré d'exercer, à raison de 100 %, une activité respectant les restrictions énoncées par le docteur D._ dans son examen final du 27 juin 2013. Aussi s'est-elle fondée sur le revenu d'invalide établi par la CNA sur la base de descriptions de postes de travail (DPT) jugées compatibles avec les limitations attestées, soit 4'632 fr. par mois. La comparaison avec un revenu sans invalidité de 5'742 fr. faisait apparaître un taux d'incapacité de gain de 19,33 %, arrondi à 19 %. La juridiction précédente a relevé que la détermination du revenu d'invalide sur la base d'une évaluation fondée sur l'Enquête suisse sur la structure des salaires (ESS) n'aboutirait pas à un résultat sensiblement différent.
4.
4.1. Comme déjà en procédure d'opposition et en instance cantonale, le recourant conteste la compatibilité des DPT avec son atteinte à la santé. Le recourant requiert la fixation de son revenu d'invalide en se référant aux statistiques salariales et en opérant un abattement de 20 % ou, subsidiairement de 15 %. Dans le premier cas, il en résulterait un taux d'invalidité de 27 % et dans le second cas, un taux de 23 %.
4.2. La question de savoir si les cinq DPT retenues par la CNA sont compatibles avec l'état de santé du recourant peut rester ouverte car même si l'on s'écarte du revenu moyen reposant sur ces DPT pour se fonder sur un revenu moyen tiré de l'enquête sur la structure des salaires publiée par l'Office fédéral de la statistique (ESS), comme le demande le recourant, on n'obtient pas un taux d'incapacité de gain supérieur au taux retenu par l'intimée, ainsi qu'on le verra.
4.3. Le salaire statistique de référence est celui auquel peuvent prétendre les hommes effectuant des activités simples et répétitives (niveau de qualification 4) dans le secteur privé, soit en 2010, 4'901 fr. par mois (ESS 2010, p. 26, TA1). Comme les salaires bruts standardisés tiennent compte d'un horaire de travail de quarante heures, soit une durée hebdomadaire inférieure à la moyenne usuelle dans les entreprises en 2013 (41,7 heures; La Vie économique, 1/2-2015, p. 92, B 9.2), ce montant doit être porté à 5'109 fr. Après adaptation de ce chiffre à l'évolution des salaires selon l'indice des salaires nominaux pour les hommes de l'année 2013 (+ 1 % en 2011, + 0,8 % en 2012 et + 0,7 % en 2013; La Vie économique, 1/2-2015, p. 93, B 10.2), on obtient un revenu mensuel de 5'237 fr., soit 62'844 fr. par an. Reste à examiner le taux de l'abattement.
4.4. Alors que le point de savoir s'il y a lieu de procéder à un abattement sur le salaire statistique en raison de circonstances particulières (liées au handicap de la personne ou d'autres facteurs) est une question de droit qui peut être examinée librement par le Tribunal fédéral, l'étendue de l'abattement du salaire statistique dans un cas concret constitue une question relevant du pouvoir d'appréciation, qui est soumise à l'examen du juge de dernière instance uniquement si la juridiction cantonale a exercé son pouvoir d'appréciation de manière contraire au droit, soit a commis un excès positif ("Ermessensüberschreitung") ou négatif ("Ermessensunterschreitung") de son pouvoir d'appréciation ou a abusé ("Ermessensmissbrauch") de celui-ci (<ref-ruling> consid. 5 p. 72, 132 V 393 consid. 3.3 p. 399).
4.5. Les premiers juges ont considéré que le taux de 10 % retenu par l'intimée tenait suffisamment compte de l'âge de l'assuré (près de 55 ans au moment de la comparaison des revenus) et de ses limitations fonctionnelles. Un abattement plus élevé n'était pas indiqué dès lors qu'il n'y avait pas lieu de retenir des problèmes particuliers d'adaptation. L'assuré avait été en mesure de changer d'entreprise et de se plier à de nouvelles contraintes émanant d'employeurs différents. Par ailleurs, on ne pouvait prendre en compte des difficultés linguistiques dans le cas d'un assuré arrivé en Suisse en 1981 et y ayant vécu de nombreuses années. Quant à l'absence de formation professionnelle certifiée et à la scolarité limitée, les premiers juges ont rappelé que ce défaut n'avait pas entravé l'assuré dans ses recherches d'emploi avant d'être atteint dans sa santé. Ces motifs sont pertinents. En l'espèce, le recourant ne démontre pas à satisfaction de droit en quoi la cour cantonale aurait exercé son pouvoir d'appréciation de manière contraire au droit. Vu ce qui précède, le revenu d'invalide exigible s'élève à 56'559 fr. 60 (62'844 fr. - 10 %). En comparant ce montant au revenu sans invalidité non contesté de 68'900 fr., on obtient un taux d'invalidité de 17,9 %. Arrondi à 18 % (<ref-ruling>), ce taux est très légèrement inférieur au taux de 19 % retenu dans la décision sur opposition de l'intimée du 28 mai 2014. On arriverait au même taux si l'on se fondait sur un revenu d'invalide de 62'643 fr. 50 comme le voudrait le recourant (68'900 - 56'379.15 [62'643.50 - 10 %] : 68'900 x 100). Le taux d'invalidité de 19 % retenu par la CNA n'est par conséquent pas critiquable et le recours se révèle ainsi mal fondé.
5.
Le recourant a présenté une demande d'assistance judiciaire. Au vu de la jurisprudence (cf. consid. 4.4) et des motifs énoncés par les premiers juges pour justifier un taux d'abattement maximum de 10 %, les conclusions du recours apparaissaient d'emblée vouées à l'échec, de sorte que la demande d'assistance judiciaire doit être rejetée (<ref-law> a contrario). Le recourant devra donc supporter les frais judiciaires (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 800 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué aux parties, au Tribunal cantonal du canton de Vaud, Cour des assurances sociales, et à l'Office fédéral de la santé publique.
Lucerne, le 22 janvier 2016
Au nom de la Ire Cour de droit social
du Tribunal fédéral suisse
Le Président : Maillard
La Greffière : Fretz Perrin