Corks and ping-pong balls will be relatively straightforward. Pennies and CDs will not be.
You might want to narrow your scope a little to start with - building a robot that moves under control is a pretty big challenge for most beginners.
After you have that, then look at the simple cases - things that are easy to pick up. You need to decide a couple of things - how do you sense the object that is there to be picked up? What are you going to do with it once you've picked it up? Is your robot going to be autonomous or remote controlled?
Look at this page for some ideas, or maybe you'd rather just buy a kit and assemble it:http://www.lynxmotion.com/Category.aspx?CategoryID=57
You could also look at this, to mount on a robot base:http://www.lynxmotion.com/Category.aspx?CategoryID=2
Or you could just build the whole thing from scratch.
If you're going to do that, build the base first, and then add an arm with a gripper once that is done and working. Make sure that whatever micro-controller/h-bridge combo you choose can also handle a few servos.
One option for that is to use a serial motor controller for the base, and a serial servo controller for the arm. Then you can use something really simple, like a BASIC Stamp for the micro-controller, and there's a ton of example code out there.
Admin posted a really cool video a while back of a cool remote controlled robot he built that picks up stuff and goes over walls.http://www.societyofrobots.com/robot_asme.shtml
In order to build a successful robot, you have to have a very clear picture of what you want it to accomplish.