Stelian Coros, Assistant Professor in the Robotics Institute at Carnegie Mellon University has been working with a team to leverage 3D-printing technology in order to develop a system for creating working, 3D-printable robots. He and the team have developed a prototype that allows users to determine what kind of robots they want to print and customize them. Coros tells Electronics360.com more about his experience and the new technology.
Electronics360: Can you tell me a little bit about your background and technical experience?
Stelian Coros: I obtained my PhD in Computer Science from the University of British Columbia. I got interested in Computer Graphics when I realized that virtual environments like the ones we see in today’s video games and movies place no bounds on our imaginations. They allow us to bring to life whatever it is that we can imagine. 3D printing promises to bring the same type of freedom to the physical world, which is very exciting.
Electronics360: Can you explain the technology behind the 3D-printable robotic creatures you’re working on? How are they made? What are they capable of?
Stelian Coros: Our work leverages the promise that 3D printing technologies bring. More precisely, 3D printing provides the means for the general public to manufacture physical devices. However, this is just half the battle. The process of generating content for 3D printing is currently one of the major bottlenecks in the digital fabrication pipeline. After all, a fabrication device capable of quickly creating intricate personalized objects is only valuable if one can quickly generate appropriate designs for it. It is easy enough to download an existing design from online databases and fabricate it, but customizing these objects or creating new ones from scratch requires a significant time investment and a great deal of knowledge, experience and skill. As an overarching goal, we aim to make the process of generating content for 3D printing accessible to the general public.
This is where our work fits in. The goal is to develop a computational design system that makes it easy for anyone to generate robotic creatures of their own imagining. Our prototype implementation allows users to specify what kind of robot they want, as well as provide hints as to how it should move so that it portrays a desired personality and style. All of this is done through a familiar mouse-and-keyboard interface, and in our experience it is just a matter of minutes to create unique designs. The software then automatically does much of the work that a roboticist would traditionally have to do. It generates 3D printable body parts, it figures out an optimal way for the robotic creatures to move while making sure that they don’t fall over, and it generates the control code that needs to be executed by the embedded computing platforms. The generated parts are then sent to a 3D printer (the fabrication process can take several days with current 3D printing technologies), the robots assembled, and the control code is used to generate coordinate motion trajectories for every servomotor that is employed.
To encourage an iterative design process, our system has the ability to quickly provide a relatively accurate simulation of how the final robotic creature will look and move. To create this interactive experience, however, the underlying mathematical models we developed operate on a somewhat simplified representation of the robots. As a result of this simplification, the range of motion of the robots is reduced. For example, they cannot currently produce motions that include flight phases, such as jumping or running. This is a limitation that we are planning to address in a future version of our design software.
Electronics360: What has been one of the biggest challenges you’ve encountered while working on the project so far? How do you navigate around these roadblocks?
Stelian Coros: The main challenge is to take a task that typically requires a fair amount of domain specific knowledge, experience and manual labor, and formulate it in a way that allows computers to solve it efficiently. And while we want tedious or difficult aspects of the design process to be handled automatically, we also want to make sure that users have ample room for creativity and personalization. For this reason, our system lets users directly guide the design process. For instance, they can interactively provide and edit the morphology, body proportions and some aspects of the motion style for the robotic creatures they want to create. Our system avoids common design pitfalls, such as robots falling over, through the use of appropriate mathematical models and numerical optimization.
Electronics360: What does the future of your system look like? Can it be mass marketed?
Stelian Coros: Right now we are focused on addressing research questions and pushing the boundary in terms of what can be achieved with specialized computer-aided design tools. Marketing the software is not something we’ve thought about at this point.
Electronics360: What is your personal vision for the 3D printing market and robotics field? What may we see down the road?
Stelian Coros: I think we will see a wide variety of robotic devices being tightly integrated in our daily lives in the not-so-distant future. Many of these devices will probably need to be personalized according to the individual needs and preferences of their users. That’s where 3D printing as a manufacturing technology seems like a very good fit. Progress still needs to be made in terms of materials, reliability and quality of the finished parts, but we’ve seen steady progress in these areas. However, as long as the process of generating designs is slow, tedious and difficult, mass production of robotic devices will probably still be preferable to 3D printing. To go from mass production to personalized design and fabrication, CAD tools also need to evolve in order to be more accessible, easier to use, and more powerful.
Electronics360: We understand you’ve done some research regarding physically-simulated virtual humans. What do you find fascinating about the technology?
Stelian Coros: Understanding how humans and animals produce the wide range of motions we see in nature is a fundamental problem with applications that range from computer graphics to robotics and biomechanics. It is also a very challenging problem: we are constantly coordinating the action of hundreds of muscles as a function of our state, the environment that we find ourselves in, and the tasks that we’re trying to achieve. It’s like driving a car that has a couple of hundred pedals and steering wheels! If we are to one day create autonomous virtual actors and robots whose repertoire of motion skills matches those we see in nature, it would certainly be helpful to first understand how we do it.