Our process started with composing and assembling a routine with the assistance of a choreographer and dancers so that we could create an initial concept for the dance. I believe that one of the challenges, and probably one of the main challenges for Atlas in particular, was the ability to adapt human dance moves so that they could be performed by a robot. In order to accomplish this goal, we used simulation software to rapidly iterate through different movement concepts while also soliciting feedback from the choreographer in order to reach behaviors that Atlas was strong and fast enough to execute on its own. During the iterative process, the engineers would literally dance out what they wanted us to do. They would look at the screen and think, “That would be easy” or “That would be difficult” or “That scares me”. After a discussion, we would try a few different things in simulation, and we would adjust the moves to find a set that would work on Atlas in a compatible manner. Our goal during the project was to drive down the time it took for creating those new dance movements, and as we built tools, that time frame got shorter and shorter. One example would be that eventually we were able to use that toolchain to create one of Atlas' ballet moves within just one day, the day before we filmed, and it worked as planned. As a result, it is not handscripted or handcoded at all; it is all about having a pipeline that allows you to take a diverse set of motions, which you can describe using a variety of different inputs, and then allowing the robot to carry out those motions.