Faits :
A.
Par jugement du 10 août 2017, le Tribunal de police de l'arrondissement de l'Est vaudois a constaté que X._ s'était rendu coupable de brigandage, d'infraction à la loi fédérale sur les armes, les accessoires d'armes et les munitions et de contravention à la loi fédérale sur les stupéfiants. Il l'a condamné à une peine privative de liberté de douze mois, sous déduction de 169 jours de détention avant jugement, a ordonné son maintien en détention pour des motifs de sûreté, l'a condamné à une amende de 500 fr. et dit que la peine privative de liberté de substitution en cas de non-paiement fautif de l'amende sera de cinq jours, a constaté qu'il avait subi 20 jours de détention dans des conditions de détention provisoire illicites et ordonné que dix jours de détention soient déduits de la peine à titre de réparation du tort moral et a ordonné son expulsion du territoire suisse pour une durée de cinq ans.
B.
Par jugement du 30 novembre 2017, la Cour d'appel pénale du Tribunal cantonal du canton de Vaud a rejeté l'appel de X._ et ordonné son maintien en détention à titre de sûreté.
En substance, la cour cantonale a retenu les faits suivants.
B.a. Ressortissant espagnol, X._ est né en 1985 en Suisse, où il a toujours vécu. Il est au bénéfice d'un permis d'établissement. Célibataire, il habite au domicile de sa mère. Dépourvu de formation professionnelle reconnue, il a travaillé occasionnellement comme vendeur auprès de différents commerces. Sans emploi depuis août 2016, il a perçu, à compter de janvier 2017, des prestations de l'assurance-chômage à hauteur de 2700 fr. à 3000 fr. par mois, puis le revenu d'insertion, qu'il dit continuer à toucher depuis son incarcération le 23 février 2017. Il a des dettes à hauteur d'environ 15'000 fr., relatives à un crédit contracté pour l'achat d'une voiture.
X._ est père de deux enfants, nés en août 2010 et juin 2013, qu'il a reconnus. Il vit séparé de la mère de ses enfants. Il n'est toutefois pas le père biologique de la cadette, ce qu'il a appris en octobre 2016. Avant son incarcération, il voyait ses enfants très régulièrement. Il s'occupait de la cadette une bonne partie de la semaine, parfois même pendant quinze jours de suite, et voyait son aîné durant les fins de semaine. Il est astreint à contribuer à l'entretien de ses enfants à hauteur de 300 fr. ou 400 fr. par mois et par enfant. Il a cessé de verser la contribution d'entretien due pour sa fille depuis qu'il a appris qu'il n'était pas son père biologique et a l'intention d'ouvrir action en désaveu pour ne plus payer de pension. Il relève toutefois que, si elle se retrouvait dans le besoin, il l'aiderait financièrement.
Il envisage, une fois libéré, de chercher un emploi dans son domaine de compétence et espère, par ailleurs, obtenir un poste d'assistant socio-éducatif stagiaire auprès de la A._. Il souhaite en effet suivre une formation de socio-éducateur en cours d'emploi. Il prévoit également de reprendre le suivi psychothérapeutique qu'il avait entamé au printemps 2016. Actuellement détenu, il a demandé et obtenu un soutien psychothérapeutique ainsi que médicamenteux sous forme d'antidépresseurs et de somnifères.
B.b. Le casier judiciaire suisse de X._ fait état de quatre condamnations, la première, le 10 décembre 2012, à une peine pécuniaire de 150 jours-amende à 30 fr., avec sursis pendant trois ans et une amende de 900 fr. pour dommages à la propriété et violence ou menace contre les autorités et les fonctionnaires, la deuxième, le 4 juin 2013, à une peine pécuniaire de 40 jours-amende à 30 fr. le jour pour délit à la LArm, la troisième, le 6 mai 2014, à une peine pécuniaire de 35 jours-amende à 30 fr. le jour et amende de 100 fr. pour mise d'un véhicule automobile à la disposition d'un conducteur sans permis et contravention à l'Ordonnance réglant l'admission des personnes et des véhicules à la circulation routière (OASA; RS 741.51), et la dernière, le 9 novembre 2016, à une peine pécuniaire de 50 jours-amende pour menaces.
Durant sa détention, X._ a fait l'objet de trois mesures disciplinaires, la première, le 28 mars 2017, pour avoir, à dessein, bloqué du pied la porte de sa cellule et proféré des insultes à l'encontre d'un agent de détention, la deuxième, le 1er mai 2017, pour avoir, le 30 avril 2017, lancé une chaise en direction d'un agent de détention, en le poussant violemment, en se montrant agressif envers deux autres détenus présents au parloir en même temps que lui, au point qu'il avait fallu l'intervention de deux détenus et du surveillant pour le maîtriser, et la troisième, le 27 novembre 2017, pour avoir introduit indûment en prison une lotion capillaire en vente libre et avoir tenté de dissimuler ce produit lors d'une fouille.
B.c. A B._, le 22 février 2017, vers 22h45, X._ conduisait un véhicule en compagnie de son cousin C._, déféré séparément. Ce dernier souhaitait contacter par téléphone son amie intime, de sorte qu'il s'est mis en quête d'un téléphone portable avec l'aide de son cousin. Les acolytes ont repéré, sur le trottoir gauche de l'avenue D._ selon leur sens de marche, une jeune femme seule, E._, occupée à téléphoner. Ils ont alors bifurqué à droite sur le chemin F._, à l'entrée duquel X._ s'est immédiatement arrêté. C._ est descendu du véhicule muni d'un casque de motard qu'il tenait à la main avant de le mettre sur sa tête une fois sorti de l'habitacle. Le visage ainsi couvert, il a traversé l'avenue D._ et s'est dirigé prestement vers E._. Parvenu à sa hauteur, il a brandi un " cutter " sorti de la poche latérale de son bleu de travail et a ordonné à plusieurs reprises à sa victime de lui remettre son téléphone portable. Puis, il s'est emparé de force de son sac à main, persuadé que le téléphone portable de la victime s'y trouvait. Une fois le sac en sa possession, il est revenu sur ses pas en courant pour rejoindre X._ qui l'attendait. Celui-ci, dans l'intervalle, avait fait demi-tour, prêt à repartir le plus vite possible. Sitôt réunis dans la voiture, les deux comparses ont pris rapidement la direction de G._. Sur le trajet, ils ont fouillé le sac qu'ils venaient de dérober, sans toutefois y trouver le téléphone convoité.
Aux alentours de 23h30, alors que X._ et C._ circulaient à G._, sur l'avenue H._ en direction de I._, toujours à la recherche d'un téléphone portable, ils ont repéré une autre jeune femme, J._, assise seule sur le banc d'un abribus, tenant un téléphone portable à la main. X._ a arrêté son véhicule pour permettre à C._ d'en descendre immédiatement, puis il a bifurqué à droite sur l'avenue K._ pour attendre le retour de son cousin à l'abri des regards, en particulier de celui de la future victime. C._, coiffé de son casque de motard, a traversé l'avenue H._ et s'est précipité vers la jeune femme. Il lui a saisi le poignet et l'a poussée en arrière au niveau du cou, de sorte que la tête de la victime a heurté la paroi de l'abribus. Puis, il s'est emparé de son téléphone portable et a rejoint en courant X._ qui l'attendait toujours sur l'avenue K._. Ils ont quitté les lieux en empruntant l'avenue L._, pour se rendre ensuite au lieu de travail de C._.
Au moment de son interpellation le 23 février 2017 vers 01h30, X._ détenait un poing américain dans l'habitacle de sa voiture.
Par ailleurs, entre le mois d'octobre 2016 et le 23 février 2017, X._ a consommé occasionnellement du cannabis et de la cocaïne, ainsi que du LSD à une reprise.
C.
X._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 30 novembre 2017, en concluant, avec suite de frais, principalement à sa réforme en ce sens qu'il est libéré du chef de prévention de brigandage et condamné à une peine, respectivement à une amende à dire de justice. Il conclut en outre à ce qu'il soit constaté qu'il a subi 365 jours de détention illicite, dont 20 jours de détention dans des conditions illicites et qu'il soit ordonné le versement d'une équitable indemnité pour tort moral d'un montant de 91'250 fr. (365 x 250) en sa faveur. Subsidiairement, il conclut à l'annulation du jugement entrepris et au renvoi de la cause à l'autorité précédente pour nouvelle décision. Il sollicite par ailleurs le bénéfice de l'assistance judiciaire ainsi que l'octroi de l'effet suspensif.
D.
Par ordonnance du 20 février 2018, le Président de la Cour de droit pénal du Tribunal fédéral a déclaré la requête d'effet suspensif sans objet, le recours étant de plein droit suspensif sur la question de l'expulsion.
E.
Invités à se déterminer sur le recours, la Cour d'appel pénale du Tribunal cantonal s'est référée aux considérants de son jugement, tandis que le Ministère public n'a pas présenté d'observations dans le délai imparti.
Considérant en droit :
1.
Le recourant reproche à la cour cantonale d'avoir rejeté sa réquisition de preuve tendant à l'audition de C._.
1.1. Selon l'art. 389 al. 1 CPP, la procédure de recours se fonde sur les preuves administrées pendant la procédure préliminaire et la procédure de première instance. L'art. 389 al. 3 CPP règle les preuves complémentaires. Ainsi, la juridiction de recours administre, d'office ou à la demande d'une partie, les preuves complémentaires nécessaires au traitement du recours. Conformément à l'art. 139 al. 2 CPP, il n'y a pas lieu d'administrer des preuves sur des faits non pertinents, notoires, connus de l'autorité ou déjà suffisamment prouvés. Cette disposition codifie, pour la procédure pénale, la règle jurisprudentielle déduite de l'art. 29 al. 2 Cst. en matière d'appréciation anticipée des preuves (arrêts 6B_1387/2017 du 26 avril 2018 consid. 1.1; 6B_1370/2017 du 3 avril 2018 consid. 2.1). Le refus d'instruire ne viole ainsi le droit d'être entendu des parties que si l'appréciation anticipée de la pertinence du moyen de preuve offert, à laquelle le juge a procédé, est entachée d'arbitraire (ATF 141 I 60 consid. 3.3 p. 64 et les références citées).
1.2. La cour cantonale a refusé d'ordonner une nouvelle audition de C._. Elle a considéré que sa crédibilité était faible. Les correspondances que le recourant avait adressées au Ministère public, desquelles il ressortait que C._ le mettait désormais hors de cause, permettaient de connaître sa nouvelle position. Ces pièces étant explicites, il n'apparaissait pas qu'elles puissent être utilement complétées par l'audition requise. La cour cantonale a ainsi considéré qu'elle était à même d'apprécier les faits déterminants, de sorte qu'il pouvait être statué en l'état du dossier.
1.3. Le recourant soutient que le témoignage de son cousin était décisif pour les raisons suivantes: c'est en se fondant sur la mise en cause de C._ que l'autorité précédente a retenu une participation consciente et active du recourant aux brigandages; lui seul avait été en contact avec les victimes, de sorte qu'il était le seul à permettre de faire la lumière sur l'implication qu'avait eue le recourant dans le cadre des deux brigandages; or il avait expressément déclaré que le recourant n'avait pas été mis au courant de ses projets et il est admis que le recourant n'a pas été témoin des actes de brigandage commis par son cousin.
1.4. Par son argumentation, le recourant ne démontre pas en quoi il était insoutenable de considérer, comme l'a fait la cour cantonale, qu'une nouvelle audition de C._ n'apporterait rien de plus, dès lors que les courriers rédigés par celui-ci permettaient déjà de constater qu'il revenait sur ses premières déclarations, affirmant désormais que le recourant avait obéi à ses instructions sans connaître ses intentions. Il s'ensuit le rejet du grief.
2.
Le recourant invoque l'arbitraire dans l'établissement des faits et l'appréciation des preuves en lien avec la qualification de coauteur des actes de brigandage.
2.1.
2.1.1. Le Tribunal fédéral n'est pas une autorité d'appel, auprès de laquelle les faits pourraient être rediscutés librement. Il est lié par les constatations de fait de la décision entreprise (art. 105 al. 1 LTF), à moins qu'elles n'aient été établies en violation du droit ou de manière manifestement inexacte au sens des art. 97 al. 1 et 105 al. 2 LTF, à savoir, pour l'essentiel, de façon arbitraire au sens de l'art. 9 Cst. Une décision n'est pas arbitraire du seul fait qu'elle apparaît discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable et cela non seulement dans sa motivation mais aussi dans son résultat (ATF 143 IV 241 consid. 2.3.1 p. 244). En matière d'appréciation des preuves et d'établissement des faits, il n'y a arbitraire que lorsque l'autorité ne prend pas en compte, sans aucune 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 conclusions insoutenables (ATF 140 III 264 consid. 2.3 p. 266 et les références citées). Le Tribunal fédéral n'entre en matière sur les moyens fondés sur la violation de droits fondamentaux, dont l'interdiction de l'arbitraire, que s'ils ont été invoqués et motivés de manière précise (art. 106 al. 2 LTF; ATF 142 III 364 consid. 2.4 p. 368). Les critiques de nature appellatoire sont irrecevables (ATF 142 III 364 consid. 2.4 p. 368 et les références citées).
2.1.2. Est un coauteur celui qui collabore, intentionnellement et de manière déterminante, avec d'autres personnes à la décision de commettre une infraction, à son organisation ou à son exécution, au point d'apparaître comme l'un des participants principaux. Il faut que, d'après les circonstances du cas concret, la contribution du coauteur apparaisse essentielle à l'exécution de l'infraction. La seule volonté quant à l'acte ne suffit pas. Il n'est toutefois pas nécessaire que le coauteur ait effectivement participé à l'exécution de l'acte ou qu'il ait pu l'influencer. La coactivité suppose une décision commune, qui ne doit cependant pas obligatoirement être expresse, mais peut aussi résulter d'actes concluants, le dol éventuel quant au résultat étant suffisant. Il n'est pas nécessaire que le coauteur participe à la conception du projet, auquel il peut adhérer ultérieurement. Il n'est pas non plus nécessaire que l'acte soit prémédité; le coauteur peut s'y associer en cours d'exécution. Ce qui est déterminant, c'est que le coauteur se soit associé à la décision dont est issue l'infraction ou à la réalisation de cette dernière, dans des conditions ou dans une mesure qui le font apparaître comme un participant non pas secondaire, mais principal. La jurisprudence exige même que le coauteur ait une certaine maîtrise des opérations et que son rôle soit plus ou moins indispensable (ATF 135 IV 152 consid. 2.3.1 p. 155; 130 IV 58 consid. 9.2.1; 125 IV 134 consid. 3a; 120 IV 17 consid. 2d p. 23).
Déterminer ce qu'une personne a su, envisagé, voulu ou accepté relève du contenu de la pensée, à savoir de faits "internes", qui en tant que faits, lient la Cour de droit pénal (art. 105 al. 1 LTF), à moins qu'ils n'aient été retenus de manière arbitraire (ATF 135 IV 152 consid. 2.3.2 p. 156).
2.2. La cour cantonale a constaté que selon C._, le recourant était au courant de son projet à l'avance. Même si l'on ne tenait pas compte de cette mise en cause en raison du revirement de son auteur, le déroulement des faits et les aveux partiels permettaient de confondre le recourant. En effet, celui-ci savait que C._ cherchait à obtenir un téléphone par des moyens illicites. Dans ces circonstances, alors qu'il était 22h45, son cousin lui avait subitement demandé d'arrêter la voiture, sans explication. Loin d'exprimer son étonnement, le recourant avait obtempéré, faisant demi-tour avec le véhicule pour attendre son comparse, qui était sorti de l'habitacle muni d'un casque de motard. Celui-ci de retour, il avait, sans être le moins du monde horrifié, fouillé le sac amené par son acolyte et s'était emparé d'une carte de crédit appartenant à la victime. Quant au second brigandage, le recourant pouvait encore moins prétendre avoir tout ignoré des intentions de son cousin lorsque ce dernier lui avait demandé à nouveau de s'arrêter sans raison, après avoir tenté en vain de se procurer un téléphone par le premier brigandage décrit ci-dessus. Selon la cour cantonale, au vu d'un tel enchaînement des faits, il n'était pas douteux que le recourant savait ce qui se tramait et y avait participé.
2.3. Le recourant soutient que les vols commis ne servaient que les intérêts de son cousin. Selon lui, il importe peu que C._ se soit ouvert auprès de lui de sa volonté de trouver un téléphone. Il ne s'était pas enrichi du butin du brigandage en proposant à son cousin de lui offrir les services d'une prostituée au moyen des cartes bancaires qu'il avait « saisies ». Enfin, le fait qu'il ait pu envisager que son cousin puisse se comporter de manière illicite n'attestait pas d'une participation active ou à tout le moins principale aux brigandages; il ne pouvait en particulier pas savoir que son cousin serait armé et/ou ferait usage de la violence.
2.3.1. Ce faisant, le recourant oppose son appréciation des preuves à celle de la cour cantonale, sans en démontrer le caractère insoutenable. Sa motivation apparaît ainsi largement appellatoire, partant irrecevable.
Au demeurant, l'appréciation de la cour cantonale des moyens de preuve (mise en cause puis rétractation de C._, déclarations du recourant, enchaînement des événements admis par les deux intéressés, notamment le fait que C._ soit sorti de la voiture avec son casque de moto pendant que le recourant l'attendait plus loin) est dénuée d'arbitraire en tant qu'il en résulte que le recourant savait que son cousin cherchait à voler un téléphone en faisant usage de la violence ou de la menace d'une arme, à tout le moins si cela s'avérait nécessaire. Il en va de même en tant qu'elle retient que le recourant s'était approprié une partie du butin, n'étant pas contesté que le recourant avait fouillé le sac de la première victime et s'était emparé d'une carte de crédit qui avait été retrouvée dans la poche de son pantalon au moment de son interpellation, peu importe l'usage qu'il a affirmé vouloir en faire.
2.3.2. Pour le reste, le recourant n'élève aucune critique à l'encontre de la qualification juridique de coactivité. En tout état, sur la base des constatations de fait dénuées d'arbitraire, la cour cantonale pouvait parvenir à la conclusion que le recourant avait adhéré et collaboré de manière déterminante aux brigandages perpétrés. Il avait en effet aidé son cousin à commettre les brigandages en s'arrêtant à chaque fois à proximité d'une victime potentielle et en l'attendant pour assurer sa fuite. Il avait fouillé le sac de la victime et s'était approprié une carte de crédit qui s'y trouvait. Il s'était, de la sorte, associé aux brigandages commis, dans des conditions ou dans une mesure qui le font apparaître comme un participant non pas secondaire, mais principal. Il est en particulier sans importance que les brigandages n'aient initialement pas eu pour objectif de servir ses intérêts, dès lors qu'il y avait néanmoins pleinement adhéré et participé.
2.4. Les griefs soulevés à l'encontre de la condamnation du recourant en qualité de coauteur des infractions de brigandage sont en conséquence rejetés dans la mesure où ils sont recevables. Partant, sa demande d'indemnisation pour détention illicite et tort moral doit également être écartée.
3.
Le recourant fait grief à la cour cantonale d'avoir prononcé sonexpulsion du territoire suisse. Il lui reproche d'avoir établi les faits et apprécié les preuves de manière arbitraire. Il invoque par ailleurs une violation de l'art. 66a al. 2 CP, de l'art. 8 CEDH, des art. 3, 9 et 10 § 2 de la Convention relative aux droits de l'enfant du 20 novembre 1989 (CDE; RS 0.107) ainsi que de l'Accord sur la libre circulation des personnes (ALCP; RS 0.142.112.681).
3.1. Aux termes de l'art. 66a al. 1 let. c CP, le juge expulse de Suisse l'étranger qui est condamné notamment pour brigandage (art. 140 CP), quelle que soit la quotité de la peine prononcée à son encontre, pour une durée de cinq à quinze ans. Selon l' art. 66a al. 2 CP, le juge peut exceptionnellement renoncer à une expulsion lorsque celle-ci mettrait l'étranger dans une situation personnelle grave et que les intérêts publics à l'expulsion ne l'emportent pas sur l'intérêt privé de l'étranger à demeurer en Suisse. A cet égard, il tiendra compte de la situation particulière de l'étranger qui est né ou qui a grandi en Suisse.
3.1.1. Les art. 66a-66d CP sont la concrétisation des paragraphes 3 à 6 de l'art. 121 Cst., adoptés le 28 novembre 2010 à la suite de l'acceptation par le Peuple et les Cantons de l'initiative populaire fédérale " Pour le renvoi des étrangers criminels " ("initiative sur le renvoi ") (FF 2011 2593). Dans son projet du 26 juin 2013 visant à mettre en oeuvre l'art. 121, al. 3 à 6, Cst., le Conseil fédéral avait considéré que le principe de la proportionnalité - au sens strict - commandait de conditionner l'expulsion du prévenu à un acte d'une certaine gravité, qui résulterait à la fois de la sanction prévue par la loi et de la peine prononcée dans le cas concret. La sanction minimale prévue par le projet dépassait donc une peine privative de liberté de six mois ou une peine pécuniaire de 180 jours-amende. Ces seuils minimaux ne devaient cependant pas avoir une valeur absolue, puisque le juge devait pouvoir exceptionnellement prononcer l'expulsion même si la peine ne dépassait pas respectivement six mois pour une peine privative de liberté, 180 jours-amende pour une peine pécuniaire, ou 720 heures de travaux d'intérêt général, si les intérêts publics à l'expulsion l'emportaient sur l'intérêt de l'étranger à demeurer en Suisse (Message concernant une modification du code pénal et du code pénal militaire [mise en oeuvre de l'art. 121, al. 3 à 6, Cst. relatif au renvoi des étrangers criminels], FF 2013 5423; cf. également: arrêt 6B_506/2017 du 14 février 2018 consid. 1.1).
3.1.2. Cependant, considérant que le projet du Conseil fédéral constituait une sorte de variante de la contre-proposition à l' " Initiative sur le renvoi ", rejetée lors du vote populaire du 28 novembre 2010 (FF 2011 2593), la Commission des institutions politiques du Conseil national (CIP-CN) a formulé une proposition alternative, suivant essentiellement le texte de l'initiative populaire fédérale " Pour le renvoi effectif des étrangers criminels " (" initiative de mise en oeuvre ") (rapporteurs Gerhard Pfister et Isabelle Moret, BO 2014 CN 489 ss.; pour le projet de la CIP-CN, voir BO 2014 CN 502 ss.), soumise au vote du Peuple et des Cantons le 28 février 2016 (FF 2016 3557). Le projet prévoyait l'expulsion obligatoire en cas de condamnation pour l'une des infractions mentionnées dans deux listes distinctes, quelle que soit la peine infligée. Pour les infractions figurant sur la première liste, l'expulsion était prononcée dès la première condamnation, tandis que pour celles de la seconde, seulement dans le cas où l'étranger avait déjà été condamné, au cours des dix années précédentes, à une peine pécuniaire ou à une peine privative de liberté (art. 66a al. 1 et 1bis projet CIP-CN). Dans les deux hypothèses, il était possible de renoncer à l'expulsion si le crime avait été commis dans un état de défense excusable ou de nécessité excusable (art. 66a al. 1quater projet CIP-CN). Le Conseil national a suivi les propositions faites par la majorité de sa Commission (BO 2014 CN 512). Après que le dossier a été transmis au Conseil des États, la Commission des institutions politiques de celui-ci (CIP-CE) a élaboré une autre variante, considérant que celle du Conseil national était contraire au droit international et aux principes fondamentaux de l'Etat, et qu'elle était excessive dans la mesure où elle allait au-delà de ce qui avait été accepté avec " l'Initiative sur le renvoi " et concrétisait ce qui avait été prévu dans " l'Initiative de mise en oeuvre " (rapporteur Stefan Engler, BO 2014 CE 1237, sur le texte du projet voir: BO 2014 CE 1247 s et 1253 s.). Le nouveau projet se fondait sur une liste unique d'infractions dont la gravité justifiait l'expulsion obligatoire quelle que soit la peine infligée (art. 66a al. 1 projet CIP-CS). A la lumière du principe de proportionnalité ancré dans la Constitution fédérale, le projet introduisait toutefois la possibilité de renoncer exceptionnellement à prononcer l'expulsion si celle-ci mettait l'étranger dans une situation personnelle grave et si l'intérêt public à l'expulsion ne l'emportait pas sur l'intérêt privé de l'étranger à rester en Suisse, en précisant de prendre en compte la situation particulière de l'étranger né, ou qui a grandi en Suisse (art. 66a al. 1ter projet CIP-CE CP). Le Conseil des États a adopté le projet élaboré par sa Commission (BO 2014 CE 1249 et 1252 s.). A l'issue de la procédure d'élimination des divergences, le 20 mars 2015, les Chambres ont adopté, entre autres, les articles 66a CP et 66a bis CP tels qu'ils avaient été élaborés par la CIP-CE (FF 2015 2521; cf. arrêt 6B_371/2018 du 21 août 2018 consid. 2.2).
3.1.3. Ainsi, l'art. 66a CP prévoit l'expulsion " obligatoire " de l'étranger condamné pour l'une des infractions ou combinaison d'infractions listées à l'al. 1, quelle que soit la quotité de la peine prononcée à son encontre. L'expulsion est donc en principe indépendante de la gravité des faits retenus (arrêt 6B_506/2017 précité consid. 1.1).
3.2. En l'espèce, le recourant a commis des infractions (brigandages) qui tombent sous le coup de l'art. 66a al. 1 let. c CP. Il remplit donc a priori les conditions d'une expulsion, sous la réserve de l'application de l'art. 66a al. 2 CP, voire également des normes de droit international.
3.3. L'art. 66a al. 2 CP est formulé comme une norme potestative (" Kannvorschrift "), en ce sens que le juge n'a pas l'obligation de renoncer à l'expulsion, mais peut le faire si les conditions fixées par cette disposition sont remplies. Ces conditions sont cumulatives. Afin de pouvoir renoncer à une expulsion prévue par l'art. 66a al. 1 CP, il faut donc, d'une part, que cette mesure mette l'étranger dans une situation personnelle grave et, d'autre part, que les intérêts publics à l'expulsion ne l'emportent pas sur l'intérêt privé de l'étranger à demeurer en Suisse (arrêts 6B_706/2018 du 7 août 2018 consid. 2.1; 6B_296/2018 du 13 juillet 2018 consid. 3.2; 6B_1299/2017 du 10 avril 2018 consid. 2.1; 6B_506/2017 précité consid. 1.1 et les références citées).
Le fait que la clause de rigueur soit une norme potestative ne signifie pas que le juge pénal peut librement décider d'appliquer ou non l'exception de l'art. 66a al. 2 CP (BUSSLINGER/UEBERSAX, Härtefallklausel und Migrationsrecht der Landesverweisung, in Plädoyer 5/2016, p. 102; ADRIAN BERGER, Umsetzungsgesetzgebung zur Ausschaffungsinitiative, in Jusletter 7 août 2017 p. 20; NICCOLÒ RASELLI, Obligatorische Landesverweisung und Härtefallklausel im Ausführungsgesetz zur Ausschaffungsinitiative, in Sicherheit & Recht 3/2017, p. 148; FANNY DE WECK, Kommentar Migrationsrecht, 4ème éd., art. 66a nCP, no 23 p. 723 s.; dans ce sens également: FIOLKA/ VETTERLI, Die Landesverweisung in Art. 66a ff. StGB als strafrechtliche Sanktion, in Plädoyer 5/2016 p. 86). Le juge doit faire usage du pouvoir d'appréciation qui lui est conféré par une norme potestative dans le respect des principes constitutionnels. S'il devait refuser de renoncer à l'expulsion alors que les conditions de la clause de rigueur sont satisfaites, le principe de proportionnalité ancré à l'art. 5 al. 2 Cst. serait violé (en ce sens: BUSSLINGER/UEBERSAX, op. cit., p. 102; ADRIAN BERGER, op. cit., p. 20; FANNY DE WECK, op. cit., no 23 p. 723 s.; voir aussi: ATF 139 I 16 consid. 4.2 et 5 en relation avec l'interprétation des al. 3 à 6 de l'art. 121 Cst.).
Il s'ensuit que le juge doit renoncer à l'expulsion lorsque les conditions de l'art. 66a al. 2 CP sont réunies, conformément au principe de proportionnalité.
3.3.1. La loi ne définit pas ce qu'il faut entendre par une " situation personnelle grave " (première condition cumulative) ni n'indique les critères à prendre en compte dans la pesée des intérêts (seconde condition cumulative). Le Message ne propose pas de définition de la clause de rigueur, et il est de toute façon d'autant moins pertinent qu'il porte sur un projet qui a été largement remanié par la suite (cf. ALINE BONARD, Expulsion pénale, la mise en oeuvre de l'initiative sur le renvoi, questions choisies et premières jurisprudences, in Forumpoenale 5/2017 p. 316). De même, les débats parlementaires n'apportent pas d'éléments véritablement utiles à l'interprétation de l'art. 66a al. 2 CP. Il en ressort essentiellement que le législateur a voulu réglementer de manière restrictive les éventuelles exceptions à l'expulsion et réduire autant que possible le pouvoir d'appréciation du juge dans le cas particulier (cf. consid. 3.1.2 supra; voir aussi arrêt 6B_371/2018 précité consid. 2.2-2.3). Il n'en demeure pas moins que l'exception de l'art. 66a al. 2 CP doit servir à garantir le principe de proportionnalité (cf. intervention de Stefan Engler, BO CE 2014 1236).
3.3.2. Pour définir le cas de rigueur, la doctrine préconise généralement de s'inspirer des critères énoncés à l'art. 31 de l'ordonnance relative à l'admission, au séjour et à l'exercice d'une activité lucrative (OASA; RS 142.201; BENJAMIN F. BRÄGGER, Auswirkungen der neuen strafrechtlichen Landesverweisung auf den Sanktionenvollzug, in SZK 1/2017 p. 88; BUSSLINGER/UEBERSAX, op. cit., p. 197 et 100 s.; ADRIAN BERGER, op. cit., p. 26; POPESCU/WEISSENBERGER, Expulsion pénale et droit des migrations: un casse-tête pour la pratique, in PJA 2018 p. 362; CAMILLE PERRIER DEPEURSINGE, L'expulsion selon les art. 66a à 66d du Code pénal suisse, in RPS 135/2017 p. 403 s.; BRUN/FABBRI, Die Landesverweisung - neue Aufgaben und Herausforderungen für die Strafjustiz, recht 35/2017 p. 245; FIOLKA/VETTERLI, op. cit., p. 86 s.; NIKLAUS RUCKSTUHL, Verfahrensfragen bei der strafrechtlichen Landesverweisung und der migrationsrechtlichen Aufenhaltsbeendigung, in Plädoyer 5/16 p. 116 ss.; voir également les arrêts 6B_371/2018 précité consid. 2.4 et 6B_506/2017 précité consid. 1.1). Cette disposition prévoit, en application des art. 30 al. 1 let. b et 50 al. 1 let. b LEtr, qu'une autorisation de séjour peut être octroyée dans les cas individuels d'extrême gravité. Elle commande de tenir compte notamment de l'intégration du requérant, du respect de l'ordre juridique suisse par le requérant, de la situation familiale, particulièrement de la période de scolarisation et de la durée de la scolarité des enfants, de la situation financière ainsi que de la volonté de prendre part à la vie économique et d'acquérir une formation, de la durée de la présence en Suisse, de l'état de santé ainsi que des possibilités de réintégration dans l'Etat de provenance. Des auteurs considèrent qu'il y a également lieu de tenir compte de certains éléments propres au droit pénal, telles que les perspectives de réinsertion de l'auteur (FIOLKA/VETTERLI, op. cit., p. 86 s.; NIKLAUS RUCKSTUHL, op. cit. p. 116 s.; BUSSLINGER/UEBERSAX, op. cit., p. 102).
En recourant à la notion de cas de rigueur dans le cadre de l'art. 66a al. 2 CP, le législateur a fait usage d'un concept ancré depuis longtemps dans le droit des étrangers (cf. art. 30 al. 1 let. b; art. 50 al. 1 let. b et art. 84 let. 5 LEtr; art. 14 LAsi; pour l'ancien droit, cf. art. 13 let. f OLE [RO 1986 1791]). Compte tenu également du lien étroit entre l'expulsion pénale et les mesures de droit des étrangers (cf. en particulier: art. 5 al. 1 let. d; art. 59 al. 3; art. 61 al. 1 let. e; art. 76 al. 1 et art. 83 let. 9 LEtr), il est justifié de s'inspirer, de manière générale, des critères prévus par l'art. 31 al. 1 OASA et de la jurisprudence y relative dans le cadre de l'application de l'art. 66a al. 2 CP. Comme la liste de l'art. 31 al. 1 OASA n'est pas exhaustive (cf. BUSSLINGER/UEBERSAX, op. cit., p. 100) et que l'expulsion relève du droit pénal, le juge devra également, dans l'examen du cas de rigueur, tenir compte des perspectives de réinsertion sociale du condamné (cf. arrêt 6B_ 371/2018 précité consid. 2.5 et les références citées).
3.3.3. Dans l'appréciation du cas de rigueur, l'art. 66a al. 2 deuxième phrase CP impose expressément de prendre en considération la situation particulière de l'étranger qui est né ou qui a grandi en Suisse.
La jurisprudence rendue en droit des étrangers retient que la révocation de l'autorisation d'établissement d'un étranger qui séjourne depuis longtemps en Suisse doit se faire avec une retenue particulière, mais n'est pas exclue en cas d'infractions graves ou répétées, même en présence d'un étranger né en Suisse et qui y a passé l'entier de sa vie. On tiendra alors particulièrement compte de l'intensité des liens de l'étranger avec la Suisse et des difficultés de réintégration dans son pays d'origine (ATF 139 I 145 consid. 2.4 p. 149; 139 I 16 consid. 2.2.1 p. 19 ss; 139 I 31 consid. 2.3.1 p. 33 ss; plus récemment: arrêts 2C_1037/2017 du 2 août 2018 consid. 6.1; 2C_22/2018 du 5 juillet 2018 consid. 4.2). Pour les étrangers issus de la deuxième génération qui ont commis plusieurs infractions, mais pour qui les condamnations n'ont pas (encore) constitué un cas de révocation de l'autorisation (cf. art. 62 et 63 LEtr), il est généralement admis qu'un avertissement doit tout d'abord leur être adressé, afin d'éviter les mesures mettant fin à leur séjour en Suisse. Un avertissement peut également être donné lorsque les conditions de révocation sont certes réunies, mais que le retrait de l'autorisation apparaît comme étant une mesure disproportionnée (art. 96 al. 2 LEtr; ATF 139 I 145 consid. 3.9 p. 154; 2C_1037/2017 précité consid. 6.1; 2C_27/2017 du 7 septembre 2017 consid. 4.1).
Les critères développés en lien avec la révocation de l'autorisation d'établissement d'un étranger issu de la deuxième génération qui a commis des infractions sont pertinents pour interpréter l'art. 66a al. 2 deuxième phrase CP en tant qu'ils concrétisent les exigences du principe de proportionnalité (art. 5 al. 2 Cst.). Il convient toutefois de garder à l'esprit que l'adoption de l'art. 121 al. 3-6 Cst. puis des art. 66a et ss CP visait à renforcer le régime existant dans ce domaine (arrêt 6B_371/2018 précité consid. 2.5; intervention de la Présidente Simonetta Sommaruga, BO 2015 CN 255). En toute hypothèse, l'étranger qui est né ou a grandi en Suisse dispose d'un intérêt privé important à rester en Suisse, dont il y a lieu de tenir compte dans le cadre de la pesée des intérêts (cf. BUSSLINGER/ UEBERSAX, op. cit., p. 5; ADRIAN BERGER, op. cit., p. 28; NICCOLÒ RASELLI, op. cit., p. 148 s. et p. 151).
3.4.
3.4.1. En l'espèce, le recourant est né et a toujours résidé en Suisse, au bénéfice d'un permis d'établissement. L'ensemble de ses proches se trouvent dans ce pays; le jugement cantonal mentionne en particulier sa mère, sa grand-mère et ses enfants. En ce qui concerne ces derniers, il ressort du jugement de première instance, auquel la cour cantonale se réfère de manière générale, que le recourant " entretient une relation régulière avec ses deux enfants âgés de 4 et 7 ans sur lesquels il exerçait, jusqu'à son incarcération, un droit de visite élargi proche de la garde alternée " (jugement de première instance, p. 27). L'intéressé parle l'espagnol - quoiqu'il le maîtrise mal à l'écrit - mais n'entretient pour le surplus aucun lien social ou familial avec son pays d'origine, de sorte que sa réintégration (ou plutôt son intégration, puisqu'il n'y a jamais vécu) dans son pays d'origine sera nécessairement difficile.
Le recourant ne dispose pas de formation professionnelle. La cour cantonale a relevé qu'il avait travaillé " occasionnellement " comme vendeur. Pour le reste, il ressort du jugement de première instance que " hormis une brève période de chômage, il a toujours travaillé, parvenant à s'assumer financièrement " (p. 28). Il a ainsi toujours subvenu à ses besoins, cela jusqu'à la perte de son emploi en août 2016. A compter de janvier 2017, il a touché le chômage puis l'aide sociale. Il doit par ailleurs une somme de 15'000 fr., relative à un crédit contracté pour l'achat d'une voiture.
Ainsi, sous l'angle de sa situation professionnelle et financière, l'intégration du recourant en Suisse n'est certes pas exemplaire, sans pour autant que celui-ci ne soit marginalisé. Force est de constater qu'en tant qu'étranger de seconde génération dont tant les ascendants que les descendants vivent en Suisse, ses liens avec ce pays sont d'une intensité telle que son renvoi vers l'Espagne le placerait ainsi dans une situation personnelle grave, de sorte que la première condition cumulative de l'art. 66a al. 2 CP est remplie. Il reste à déterminer si son intérêt privé à rester en Suisse l'emporte sur les intérêts présidant à son expulsion.
3.4.2. La cour cantonale a constaté que le recourant avait déjà commis des infractions violentes dans la mesure où il a été condamné pour violence et menace contre les autorités et les fonctionnaires, menaces, et délit à la LArm. Le port d'une arme (un poing américain en l'occurrence) dont le recourant n'a pas fait usage ne saurait toutefois être considéré comme une infraction violente proprement dite, dès lors qu'elle ne porte pas atteinte à l'intégrité corporelle; il en va de même des menaces. Le recourant souligne à raison qu'aucun de ses antécédents ne relève du catalogue de l'art. 66a al. 1 CP. Il s'agit en outre de sa première condamnation entraînant une peine privative de liberté, la peine la plus lourde subie jusqu'à présent ayant été de 150 jours-amende. Ainsi, on relèvera, à titre de comparaison, qu'en vertu de la jurisprudence relative à la révocation d'une autorisation d'établissement d'un étranger issu de la deuxième génération, l'intéressé ne verrait pas son autorisation d'établissement révoquée, mais ne recevrait en principe qu'un avertissement (cf. consid. 3.1.4 ci-dessus).
La cour cantonale a par ailleurs considéré que l'absence de scrupules manifestée par le recourant lors de la commission des brigandages, les comportements agressifs qu'il avait adoptés en prison et l'absence de prise de conscience après neuf mois de détention étaient des facteurs de mauvais pronostic pour la sécurité publique. Il faut cependant tenir compte du fait que les infractions commises l'ont été en qualité de coauteur; ce n'est pas le recourant qui a pris l'initiative des brigandages ni qui s'est livré aux actes de violence visant à s'approprier le téléphone des victimes, même s'il est admis qu'il a adhéré aux actes de son cousin. Son implication dans le brigandage ne relève pas d'une extrême gravité, quand bien même l'infraction elle-même est grave.
En ce qui concerne l'intérêt personnel du recourant à demeurer en Suisse, les éléments à prendre en compte se recoupent dans une large mesure avec ceux qui ont conduit à retenir une situation personnelle grave en cas d'expulsion. Le recourant peut en particulier se prévaloir d'être né en Suisse et d'y avoir toujours vécu. Ses liens familiaux en Suisse, en particulier sa mère qui lui apporte une aide financière et matérielle, ainsi que la présence de ses jeunes enfants, plaident en faveur de la poursuite du séjour en Suisse. L'expulsion du recourant serait également difficile pour son entourage proche, surtout ses enfants avec qui il entretient des contacts réguliers. Ces éléments sont d'autant plus importants qu'à l'inverse, il ne dispose en Espagne d'aucun proche qui pourrait l'aider à s'installer lors de son arrivée et ainsi faciliter son intégration. Enfin, il doit être retenu que le recourant a toujours travaillé et subvenu à ses besoins, sous réserve de la période depuis la perte de son emploi en août 2016 jusqu'à son incarcération le 23 février 2017 (consid. 3.2.1 supra), de sorte que ses perspectives de réinsertion en Suisse à l'issue de l'exécution de sa peine sont réelles.
Considérant l'ensemble des éléments discutés ci-dessus, l'intérêt public à son expulsion ne l'emporte pas, en l'espèce, sur son intérêt privé à demeurer en Suisse. Il se justifie par conséquent d'admettre le recours sur ce point.
Sur le vu de ce qui précède, il n'est pas nécessaire d'examiner les autres griefs soulevés par le recourant à l'encontre du prononcé d'expulsion.
4.
Il résulte de ce qui précède que le recours doit être partiellement admis, l'arrêt attaqué annulé et la cause renvoyée à l'autorité précédente pour nouvelle décision dans le sens des considérants. Pour le surplus, le recours doit être rejeté dans la mesure où il est recevable. Le recourant, qui n'obtient que partiellement gain de cause, supportera une partie des frais judiciaires (art. 66 al. 1 LTF). Il peut prétendre à des dépens réduits, à la charge du canton de Vaud (art. 68 al. 1 LTF). Sa demande d'assistance judiciaire est sans objet dans la mesure où le recourant a droit à des dépens; elle doit être rejetée pour le reste, dès lors que le recours était dénué de chances de succès s'agissant des aspects sur lesquels le recourant a succombé (art. 64 al. 1 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est partiellement admis. Le jugement attaqué est annulé et la cause est renvoyée à l'autorité cantonale pour nouvelle décision. Pour le surplus, le recours est rejeté, dans la mesure où il est recevable.
2.
La demande d'assistance judiciaire est rejetée dans la mesure où elle n'est pas sans objet.
3.
Une partie des frais judiciaires, arrêtée à 1'000 fr., est mise à la charge du recourant.
4.
Le canton de Vaud versera à l'avocat du recourant une indemnité de 2'000 fr. à titre de dépens pour la procédure devant le Tribunal fédéral.
5.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 23 novembre 2018
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Musy