Faits : A. A._, assistant social officiant auprès du Service des curatelles d'adultes à Fribourg, a été désigné en qualité de curateur de X._. Dans le cadre de son mandat, il est allé s'entretenir avec ce dernier, détenu à la Prison B._ au sujet de la situation de celui-ci et de la question de son placement dans des foyers. Lors de cette rencontre, qui s'est déroulée dans un local d'audition fermé, X._ s'est mis en colère, a poussé A._ assez fort avec sa main en le touchant à la poitrine, a donné des coups de pied contre la chaise que le curateur avait prise pour se protéger et a proféré des menaces à son encontre. L'arrivée d'un gardien a mis un terme à l'altercation. A._ a été fortement atteint dans sa santé en raison de ces événements. Il s'est constitué partie plaignante. B. Par jugement du 3 novembre 2014, le Juge de police de l'arrondissement de la Sarine a reconnu X._ coupable de violence ou menace contre les autorités et les fonctionnaires (art. 285 CP). Il l'a condamné à une peine privative de liberté de 25 jours ferme. C. Par arrêt du 19 avril 2016, la Cour d'appel pénal du Tribunal cantonal de l'Etat de Fribourg a rejeté l'appel formé par X._ contre ce jugement. D. Contre ce dernier arrêt, X._ dépose un recours en matière pénale devant le Tribunal fédéral, concluant, avec suite de dépens, principalement à son acquittement. Subsidiairement, il requiert le renvoi de la cause à l'autorité précédente pour nouvelle décision dans le sens des considérants. Il sollicite en outre l'assistance judiciaire.