Which motor to choose

hello i am new in both here and robotics
since i am a senior electronic engineering student we are supposed to a robotic project
our robot is gonna hit a table tennis ball entering a 1x1 meters area. the point is the shooter of our robot will be rotating 180 degrees and hit the target. firstly can someone help me in the choice of motor. what kind of motor should we use in order to turn the shooter with precise angle (our robot will small) pls help …

Some motors explained.
Stepper motors:

A stepper motor’s shaft has permanet magenets attached to it, together
called the rotor. Around the body of the motor is a series of coils
that create a
magnetic field that interacts with the permanet magenets. When these
coils are turned on and off the magnetic field causes the rotor to
move. As the coils
are turned on and off in a certain sequence the motor will rotate
forward or reverse. This is called the phase pattern and there are
several types that will
cause the motor to turn. Common types are full-double phase,
full-single phase, and half step. To make a stepper motor rotate, you
must constantly turn
on and off the coils. If you simply energize one coil the motor will
just jump to that position and stay there resisting change. This
energized coil pulls full
current even though the motor is not turning. This is the main way
steppers generate heat, when at standstill. This ability to stay put
at one position rigidly is
often an advantage of stepper motors. The torque at standstill is
called the holding torque. Because steppers can be controlled by
turning on and off coils,
they are easy to control using digital computers. The computer simply
energizes the coils in a certain pattern and the motor will move
accordingly. At any
given time the computer will know the position of the motor since the
number of steps given can be stored. This is true only if some outside
force of greater
strength than the motor has not interfered with the motion. An optical
encoder could be attached to the motor to verify its position but this
is not necessary.
A stepper motor can be run in “open-loop” mode (without feedback of an
encoder or other device). Most stepper motor control systems will have
a home
switch associated with each motor that will allow the software to
determine the starting or reference “home” position.

Servo motors:

There are several types of servo motors but I’ll just deal with a
simple DC type here. If you take a normal DC motor that can be bought
at Radio Shack it
has one coil (2 wires). If you attach a battery to those wires the
motor will spin (see, very different from a stepper already!).
Reversing the polarity will
reverse the direction. Attach that motor to the wheel of a robot and
watch the robot move noting the speed. Now add a heavier payload to
the robot,
what happens? The robot will slow down due to the increased load. The
computer inside of the robot would not know this happened unless there
was an
encoder on the motor keeping track of its position. So, in a DC servo,
the speed and current draw is a affected by the load. For applications
that the exact
position of the motor must be known, a feedback device like an encoder
MUST be used (not optional like a stepper). The control circuitry to
good servoing of a DC motor is MUCH more complex than the circuitry
that controls a stepper motor.

RC Servos:

Often when talking about robots the word “servo” really means an RC
(remote control) servo motor. This is a small box designed for use in
airplanes and cars. Inside this box is a complete servo system
including: motor, gearbox, feedback device (pot), servo control
circuitry, and drive circuit.
It’s really amazing what’s actually in there if you think about it.
These RC servos normally have 3 wires: +v, ground, control. The
control signal is a pulse
that occurs at about 50hz. The width of the pulse determines the
position of the servo motors output. As you can see, this would be
pretty easy to control