Long Exposure Photography Robot

The objective of this project was to build a long exposure photography robot that could integrate with the UR5e robot arm. The project also involved simulating UR5e movements using ROS2, RViz, and Gazebo that were generated from user-input drawings, svg files, and dxf files.

I was responsible for building the physical robot, from initial design to integration with the UR5e. This involved drafting and 3D printing mechanical parts, creating and soldering electronics, and writing software to control the robot.

I used Fusion to design parts for the fingers, base, and UR5e gripper handle. At first, the prototype used a number of small pieces for the base because of a limiting print bed size. Later, I was able to print on a larger printer and combine the parts into a single base, making the robot stronger and easier to assemble.

An Arduino Mega was used to control the RGB LEDs and servos, with transistors used to activate the LEDs. By rapidly iterating over the LEDs and using the transistors to turn them on and off every few milliseconds, the Arduino could write to all four LEDs using the same three PWM pins. This was important because the four servos also required a PWM input and the Arduino didn't have enough of these pins to handle all servos and LEDs separately.

There are also four pushbuttons on the robot allowing selection of four different light and servo modes. Different modes can be used for different kinds of long exposure photos. For example, traces of images might only require one LED, while geometric patterns can use all four. Servos can be used to bring the LEDs closer together and trace "thicker" lines in space.