First, let us define what you wish your robot to be:
1) Is this robot remote controlled, pre-programmed or autonomous?
If the robot is remotely controlled, how do you plan on controlling it? What different axis of motion are you going to have to deal with? If pre-programmed, what is the task that you plan on it performing. If autonomous, what tasks and what kind of programming are you dealing with?
a) If your planning on having it remote controlled, you need some form of controller. One that has enough different functions to cover all axis of motion that your going to be dealing with. The modern Playstation or X-box controller should be about right.then you have to have an interface connector that translates the signals from the controller to inputs that your robot understands.
b) If it is going to be pre-programmed, then you have to take into consideration of all movements that your robot will perform in the process of carrying out it's task. This will also require that you take steps to ensure that the robot starts out in the exact position required, and that the end object is also precisely located.
c)If the robot is to be autonomous, then you still need to be able to give it instructions on what it's task is, and be able to find a way to program it to learn how to carry out it's task. You will also have to find a way for it to be able to recognize it's environment, and how to deal with it in a manner consistent with it performing it's task. This is the most difficult requirement to fulfill, due to the nature of the learning process and how computers operate.
2) What form of locomotion is this robot going to utilize to get from point a to point b in order to carry out this task? Is it going to be wheeled or tracked (or another similar mode of movement), or is it going to be pedal, moving around on legs.
a) If the robot moves around on wheels, tracks or any other similar form of transportation, then the requirements are easy as far as programming it for movement. There is a limitation though. Most forms of locomotion of this type place severe limits when obstacles, such as stairs, are met. This means of movement does have the advantage of generally being the most stable platform available.
b) If your Robot moves around on legs if some sort, then the problems mount quickly. Is it going to be bipedal, quadrapedal, hexapedal? The possibilities as numerous as there are legs available. The problem is programming. You have to find a means of programming it to walk in a manner that is stable, and you have to give it the means to sense stability. This has been the bane of the Honda engineers who have spent years developing a bipedal robot. (The last I knew, it was still semi-supported). Balance is most important, and programming is going to be difficult, even with today's processors.
After these two requirements are met, you'll still have a long ways to go. Some of this can be easily surmounted, and a simple robot is not difficult to build. As the complexity of your robot increases, the difficulty level increases exponentially.