Faits : A. Par jugement du 26 mars 2015, la Cour d'appel pénale du Tribunal cantonal vaudois a rejeté l'appel de X._ et partiellement admis celui du Ministère public contre un jugement du 18 septembre 2014 du Tribunal de police de l'arrondissement de Lausanne. Elle a retenu que X._ s'était rendu coupable de violence ou menace contre les autorités et les fonctionnaires et l'a condamné à une peine pécuniaire de 60 jours-amende, le montant du jour-amende étant fixé à 10 fr. le jour, peine entièrement complémentaire à celle prononcée le 2 avril 2014 par le Tribunal de police de l'arrondissement de Lausanne. B. Ce jugement se fonde sur les principaux éléments de fait suivants. Le 20 septembre 2013, X._, propriétaire du véhicule Fiat Doblo, immatriculé xxx, était parqué au chemin du Trabandan à Lausanne, dans une zone de chantier dont la signalisation indiquait qu'il était interdit de se parquer après 7h00. A 7h03, l'aspirant A._ a amendé ce véhicule. Aux alentours de 7h25, X._ est arrivé près de son véhicule. Constatant qu'il avait été amendé, il a demandé à A._ de lui retirer cette amende. Face au refus de ce dernier, X._ a déplacé son véhicule puis il est revenu vers l'aspirant tenant l'amende dans sa main. Il l'a alors frappé avec les paumes de ses mains au niveau du thorax et l'a encore repoussé. A._ a failli tomber. Il a appelé des secours par radio avant que X._ ne quitte les lieux en courant sur le chemin du Vanil. Il l'a ensuite perdu de vue. A._ a déposé plainte le 10 octobre 2013. C. X._ interjette un recours en matière pénale au Tribunal fédéral contre le jugement du 26 mars 2015. Il conclut à ce qu'il soit reconnu coupable de voies de fait et condamné à une amende de 300 fr., peine entièrement complémentaire à celle prononcée le 2 avril 2014 par le Tribunal de police de l'arrondissement de Lausanne. Il sollicite en outre l'octroi de l'assistance judiciaire. Il n'a pas été ordonné d'échange d'écritures.