Little Lamp To Learn Longer Leaps

Reinforcement learning is a subset of machine learning where the machine is scored on their performance (“evaluation function”). Over the course of a training session, behavior that improved final score is positively reinforced gradually building towards an optimal solution. [Dheera Venkatraman] thought it would be fun to use reinforcement learning for making a little robot lamp move. But before that can happen, he had to build the hardware and prove its basic functionality with a manual test script.

Inspired by the hopping logo of Pixar Animation Studios, this particular form of locomotion has a few counterparts in the natural world. But hoppers of the natural world don’t take the shape of a Luxo lamp, making this project an interesting challenge. [Dheera] published all of his OpenSCAD files for this 3D-printed lamp so others could join in the fun. Inside the lamp head is a LED ring to illuminate where we expect a light bulb, while also leaving room in the center for a camera. Mechanical articulation servos are driven by a PCA9685 I2C PWM driver board, and he has written and released code to interface such boards with Robot Operating System (ROS) orchestrating our lamp’s features. This completes the underlying hardware components and associated software foundations for this robot lamp.

Once all the parts have been printed, electronics wired, and everything assembled, [Dheera] hacked together a simple “Hello World” script to verify his mechanical design is good enough to get started. The video embedded after the break was taken at OSH Park’s Bring-A-Hack afterparty to Maker Faire Bay Area 2019. This motion sequence was frantically hand-coded in 15 minutes, but these tentative baby hops will serve as a great baseline. Future hopping performance of control algorithms trained by reinforcement learning will show how far this lamp has grown from this humble “Hello World” hop.

[Dheera] had previously created the shadow clock and is no stranger to ROS, having created the ROS topic text visualization tool for debugging. We will be watching to see how robot Luxo will evolve, hopefully it doesn’t find a way to cheat! Want to play with reinforcement learning, but prefer wheeled robots? Here are a few options.

Continue reading “Little Lamp To Learn Longer Leaps”

Pixar-style Lamp Project Is A Huge Animatronics Win

pixar-lamp-animated-procedurally

Even with the added hardware that lamp still looks relatively normal. But its behavior is more than remarkable. The lamp interacts with people in an incredibly lifelike way. This is of course inspired by the lamp from Pixar’s Luxo Jr. short film. But there’s a little bit of most useless machine added just for fun. If you try to shut it off the lamp shade is used to flip that switch on the base back on.

[Shanshan Zhou], [Adam Ben-Dror], and [Joss Doggett] developed the little robot as a class project at the Victoria University of Wellington. It uses six servo motors driven by an Arduino to give the inanimate object the ability to move as if it’s alive. There is no light in the lamp as the bulb has been replaced by a webcam. The image is monitored using OpenCV to include face tracking as one of the behaviors. All of the animations are procedural, making use of Processing to convey movement instructions to the Arduino board.

Do not miss seeing the video embedded after the break.

Continue reading “Pixar-style Lamp Project Is A Huge Animatronics Win”