I practice with my boys by calling them to me and just saying hello, or a quick kiss and praise. That way they won't associate "come" with being captured to do things they may not want to do.
Teddy is great, but I have to admit that Max likes to play hard to get. He will come, but stands just far enough away to still have things on his terms. We established a place that he has to come to -- a doggy bed in the kitchen. I used the bed to carry him to my bedroom at night and called it "the boat." So when I want Max to come, I say "get in the boat."

Strange, but it works.
Try designating a little carpet mat or something else so your pup knows the spot. Practice come and sit on the mat with yummy rewards.