UR5: Painting the Aurora Borealis

Equipment:

-UR5 Robot Arm

-Canon Camera

-Arduino

-Neopixel Ring – 24 LEDS

Objective:

The most astounding thing about the robot arm is how accurate it is.  It can move in specific paths down to the millimeter.  I thought it would be interesting to utilize this to “capture” something by accurately recreating it.  Without using a pen and paper to, I decided light painting would be an interesting way to recreate something using the robot arm.  I chose the northern lights because as seemingly random as they are, every image has a trajectory.  I thought it would be interesting to accurately recreate something as random as the northern lights.

Workflow:

  1. I used Openframeworks to do analysis on the various frames of the Aurora.
  2. I took the baseline that I extracted and used that as the path of the robot.
  3. Lit the Neopixel according to the gradient of the aurora (height of the Neopixel ring being proportional to the height of the aurora)
  4. Colored the Neopixel ring in an aurora gradient.
  5. Took long exposure photograph of the Neopixel ring, moving along the baseline.

Original Gif:

 

Aurora Filtered:

 

Aurora baseline and upper bound detected:

Light Painting Gif:

 

One comment

  1. golan

    Comments from the class group review.

    Recreating the Northern Lights using stop-frame animated light-painting with a robot-controlled LED ring
    general : diffusing film over led light?

    What if this was combined with Kwan’s project+

    How do you claim “accuracy”?
    ^ – i think you mean reliability/repeatability rather than accuracy

    I really wish you had gotten the settings right—there are many ways to emulate a similar softness and color from just the raw settings alone/ setup. +

    I wish you’d just parametrically generated the whole aurora rather than based it on an image so you could have a robo that makes auroras for you +++

    Is there a video?_? <<+ Having the entire thing be a fixed width for me doesn’t really remind me of auroras. Maybe try lighting only parts? ++ Those neopixel rings especially are very easy to animate. You could make it dance around the ring and change color to get some more interesting patterns I ran into the LED thing as well (this is caroline) I tried to color the LED by depth but they actually just all looked super bright and white. Looking at an LED dead on is hard. A way to fix this is to take the exact shade of green you want and just DARKEN it a lot. Like drag it towards black. It’ll be a much dimmer version of the same color. Definitely try putting some kind of diffuser on the LED ring Also why do you light the whole ring << + Bringing the nothing lights out of the north, but into a room is really interesting. The light painting needs the context of the room, or else it’s just a weird processing on the gif image... ^—— Interesting concept. You’ve got a great method for generating the paths that the robot follows, but now you need to pay attention to actually photograph it properly! +++ I agree, this needs some more iterations. It looks like a great idea that you didn't give yourself enough time to get right. This is the kind of project that really benefits from significant attention to detail: not just the software, or the hardware electronics control, but the camera/photography settings as well. If you (re)do this project right, it could be a real winner in the blogosphere! ^^ Nice start though!