3D-Printed Robot Arm Light Art

January 2023 - April 2023

Abstract

As a long time fan of Iron Man, I've always wanted to create my own robot arm. Inspired from an open-sourced design, I designed, built, and programmed my own 6 DOF robot arm (nicknamed Blue) funded by Duke's Innovation Grant. From there, my first project with Blue was creating long-exposure light art using a Python program to convert images into interpolated GCODE commands.

Goals

  • Build a fully 3D-printed robot arm.
  • Program and understand kinematics.
  • Create a modular/accessible electrical harness.

Targets

  • Translate GCODE into robot movment.
  • Convert images to GCODE using SVG files.
  • Add additional Python features for LED control and synchronization.
  • Get some really cool long exposure photos!

Project Features

Robotic Control
SolidWorks
3D Printing
Schematics and Wiring
Python
Photography
My journey into the world of robotic arms, motion planning, and long exposure photography!

Step 1: Robot arm funding and assembly

Inspiration

Heavy inspiration was sourced from BCN3D's open-source 3D-Printed robot arm guides. With detailed CAD models, assembly guides, and wiring diagrams, this non-profit educational project was extremely helpful in creating a robot arm. Many parts were modified, combined, or removed altogether in order to fit my needs.

Funding

Through Duke's Co-lab Innovation Grants, I was selected for funding of my very own passion project! The project I decided to work on was a 3D-printed robot arm in order to open new doorways for future robot arm projects.

Assembly

Assembling the robot in the basement of my house proved to be a very difficult challenge. Sourcing parts and making changes to BCN3D's Moveo caused many delays and hiccups along the way. Nevertheless, the robot arm was finished and functioning by the end of 2022 summer.

Step 2: Robot Arm Motion Planning


I ran into the most trouble with motion planning as I was not yet familiar with ROS or any motion planning software for robot arms. While there were some helpful open-sourced tutorials for robot arm movement, there were several errors that were unsolvable:

- missing firmware packages from ROS Kinetic
- unknown pins on the chosen ATMEGA 2560 motherboard
- Interpolation issues with Marlin firmware (which uses GCODE)

Instead, I opted to roughly interpolate axis and move the robot arm with GCODE instead using these steps:

- Collect an svg file or gcode file of a picture.
- Find the maximum and minimum coordinates of the x,y,and z axis.
- Interpolate those coordinates to the maximum reach of the robot arm.
- Convert all GCODE into an area within the interpolated coordinates of the robot arm.

This system would scale and transfer any GCODE or SVG file into coordinates that the robot arm could reach and recreate the image given!

Darkroom Setup

Long Exposure Video

Selfie!

Long Exposure Timelapse