Aiming a Laser Project

So we hot glued two servos together and the to a mirror.

We’re aiming a laser at it. A blindingly powerful laser

Essentially Servo B controls the angle in the x-y plane of the mirror and servo A controls the z angle to that plane.

The mirror law is v_2=v_1 - 2(v_1 \cdot n)n

Where all are unit vectors. v_1 is the incoming, n is the mirror normal and v_2 is the outgoing unit vector.

We fixed the laser to the base so

v_1 = \hat{y}

The outgoing ray must hit the ceiling (at a height R) at position x,y.

v_2 = (x,y,R) \frac {1} {\sqrt{x^2+y^2+R^2}}

Here’s a nice observation:

v_2 - \hat{y} \propto n

So we have an algorithm for finding n right there. Find v2, subtract off 1 and then normalize the resulting vector to get $latex \hat{n}$.

Then finally we can write n in terms of the angles \alpha,\beta, which heavily depend on our conventions of where angle 0 is and whether the servo spin clockwise or counterclockwise.

I believe ours came out to be something like:

n = (\cos(\alpha)\sin(\beta), -\cos(\alpha)\cos(\beta) ,\sin(\alpha))

In all honesty, we coded her up, then fiddled with minus signs until it was working. Not necessarily a bad way of going about things. Find the things to think about and find the things to just try.

Then here is the code:



Leave a Reply

Your email address will not be published. Required fields are marked *