I'm not a morning person, so I have multiple alarm clocks that I have to get out of bed to shut off.
I have one automatic clock that goes off five minutes after the first clock, its sort of insurance that something will get me up.
My dad used to put a really noisy alarm clock in a biscuit tin so that it rattled even more and he had to get up.
My husband sets 2 clocks, five minutes apart. When the first one goes off he gets up, switches it off then gets back into bed until the 2nd one goes off, then he gets up.
Me, I have a 7 year old son as my alarm clock. He's rarely late coming through!!!
Try getting up every day at the same time. I know that's annoying to do on the weekends but, if you do start getting up at the same time, you'll more naturally wake up when you're supposed to.
You can get a alarm clock off firebox.com thats really good. Theres an attachment to it that actually flies around your room!! The alarm won't switch off until you get out of bed and pick the attachment up to put it back on the alarm clock, that should work!!
You could always try and get more than one alarm clock and put one towards your door the next one at your door and the next just in front of the bathroom door this trick is bound to work trust me!
Put your alarm clock on half an hour earlier than you have to get up, to allow snooze time. And/or put it on the far side of the room so that you have to get up to turn it off.
if it's something really important you have to get up for eg. an exam then i always set my clack an hour or half an hour fast...this works because when iwake up & see how "late" it is i jujmp striaght out of bed...however don't use this trick frequently otherwise you wont benefit from realising you put it forward.
.x.