It honestly sounds like you just need more experience and more lessons. I know that my horse will NOT canter unless you A) ask him correctly, and B) have a deep and quiet seat. And he is definitely not lazy, in fact, he's a heck of a lot of horse, he just will not go unless you are aware of yourself, how you're asking and what your body is doing. Until you learn to sit quietly I don't really know if I have any other advice. Maybe ask your trainer for a lunge line lesson where you can focus on your seat at all gaits, walk, posting trot, sitting trot, canter, etc.
I give myself very good advice, But I very seldom follow it