A few months ago a few of us came across a 15 Watt laser that we wanted to mount on a gimbal. Realizing the scale of that was impractical and unsafe for a first build, we decided to scale this down.

What it does

The aim of this unit is to allow the end user to control a laser that can rotate about an axis and can change its pitch. An Oculus Rift allows the end user to control the drone with his or her head. A dedicated fire button controls the laser.

How we built it

We used a variety of manufacturing methods to build hardware unit. The base of our drone MDF (medium density fiber) board. It provides a very sturdy base for our turret. The lower part of our turret is a 3D printed custom designed base. It contains a racetrack ridge that we will detail in a bit. We used PLA for this part as it was readily available. Additive manufacturing allowed is to incorporate a racetrack on board, on which we have several marbles acting as ball bearings. On top of these marbles rests the upper part of our turret. Containing a another race track, and connected to a motor shaft in the center, this part is free to rotate. The ball bearings allow for reduced friction here. On top of turret sits another motor to which an armature is connected. On which rests our 10 miliWatt laser. The armature is free to move in the vertical axis allowing for our second degree of freedom. Lastly on top of the laser holding mechanism, rests a webcam. This provides a direct feed to our user.

On the electronics side, we use a raspberry pi as our turret controller. This is also connected to a motor controller shield powering two NEMA 17 motors. Additionally, a relay controls power to a laser while a button allows for a software trigger of the laser. The oculus control computer is a mac. It is connected the webcam and Oculus Rift. The rift provides a head mounted display as well as an inertial measurement unit to provide orientation information. The mac and pi are connected via CAT 5 ethernet.

The software on the pi is a heavily modified version of Adafruits motor controller example code written in. The oculus controller is a C++ code base, based on Occulus in Action. The systems are connected by a UDP packet linked.

Challenges we ran into

  • Accidental corruption of raspberry pi file system - Fixed by using a recovery software to rescue code before formatting the drive.
  • 3D printer misalignment issue - During the print of the upper turret piece the printer was off by 3 millimeters. This eliminated some symmetrical aspects of our design. Solved with liberal use of a mini Dremel.

Accomplishments that we're proud of

  • Controlling a laser
  • Working with a interdisciplinary team of an engineering project. We had a Computer Science major, two Aerospace engineers, an Optical engineering engineer with minors in ECE,CS and math and lastly a CS and Aerospace engineering major. We were able to work together and play the strengths of our team.

What we learned

  • 3D printing and metals don't mix too well
  • Always backup code

What's next for Oculus Rift Controlled Laser Turret

  • Better resolution for webcam
  • Depth of vision
  • Highlighting of unit
  • Autonomous tracking of targets
  • Autonomous firing on targets
  • Better optics (lens mounts) for wider beam spread

Built With

Share this project: