About me
it was me,
I picked
Staff Picks
Design + Engineering
UI + Graphics
Skill Building Projects
Project Info
The butterfly is a stop-motion animation, where each frame is a long-exposure photo of a butterfly drawn by the Franka Emika Panda robot holding an LED torch.
Harvey Upton, David Prior Hope, Luke Hillery, Pauline Ng, Higor Alves De Freitas
Completion date
1. Animation Sequencing
A low-poly model of a butterfly was created in Rhino 3D and Grasshopper plugin and iteratively altered for each frame of the animation to make the butterfly flap its wings.

2. Coordinate Genration
These models were used to generate the paths needed to trace the butterfly in 3D space. The frame sequence was then treated as individual frames, with the coordinates of each one being extracted and processed to eliminate duplicate points. The coordinates were processed to prevent duplicate paths. The paths were combined into a complete cartesian-based trajectory and stored as a list of coordinates.

3. Motion Planning
A motion plan was then generated for each frame using the coordinate list. Code to iterate over the list of frames and plan each motion was developed.
4. Simulation
All poses and time functions were simulated in RViz and Gazebo. RViz settings were altered to recreate light painting within the program’s viewport.

5. Implementation
Once simulated successfully, the code was implemented on Franka Emika’s Panda robotic arm using ROS. An end-effector attachment containing a controllable LED was simultaneously developed and manufactured to facilitate light painting.

6. Image Capture
Once the code successfully ran repeatedly on the Panda robot, long-exposure photographs were captured of the motion. These photographs were then collated and displayed in sequence to create an animation of a butterfly in flight.

If you’re interested in a more in-depth explanation, please see the documentation here.