This is the documentation of The Butterfly Director (TBD) group, for the Imperial College London, Design Engineering Third Year (DE3), Robotics module (March 2020).
This project is hosted on GitHub
- Harvey Upton
- Tomáš Kňaze
- David Prior Hope
- Pauline Ng
- Luke Hillery
- Higor Alves De Freitas
For enquiries on this documentation, please contact firstname.lastname@example.org
Drawing inspiration from light painting images, this project entails programming the Franka Emika robotic arm to draw several still images of a butterfly with light to produce a stop motion animation. The Franka Emika Panda was used as it can move very precisely making it suitable for recreating small details in 3D images.
The diagram below shows an overview of how the system works. Starting with the digital animation creation through to the stop motion animation being made from the captured photos. This documentation walks through every aspect of the project in detail.
1. Animation Sequencing
The model sequence of the butterfly in flight was generated using Rhinoceros3D and the Grasshopper plugin, iteratively altering a low-poly mesh to give the effect of a butterfly flapping its wings.
2. Coordinate Generation
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 organised to prevent duplicate paths.
3. Motion Planning
A motion plan was then generated for each frame using the coordinate list created in the previous step. Code to iterate over the list of frames and plan each motion was developed.
All poses and time functions were simulated in RViz and Gazebo. RViz settings were altered to recreate light painting within the program’s viewport.
Once simulated successfully, the code was implemented using Franka Emika’s Panda robotic arm. 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.