Skaterbots: Optimization-based design and motion synthesis for robotic creatures with legs and wheels

Moritz Geilinger, Roi Poranne, Ruta Desai, Bernhard Thomaszewski, Stelian Coros

Research output: Contribution to journalArticlepeer-review

Abstract

We present a computation-driven approach to design optimization and motion synthesis for robotic creatures that locomote using arbitrary arrangements of legs and wheels. Through an intuitive interface, designers first create unique robots by combining different types of servomotors, 3D printable connectors, wheels and feet in a mix-and-match manner. With the resulting robot as input, a novel trajectory optimization formulation generates walking, rolling, gliding and skating motions. These motions emerge naturally based on the components used to design each individual robot. We exploit the particular structure of our formulation and make targeted simplifications to significantly accelerate the underlying numerical solver without compromising quality. This allows designers to interactively choreograph stable, physically-valid motions that are agile and compelling. We furthermore develop a suite of user-guided, semi-automatic, and fully-automatic optimization tools that enable motion-aware edits of the robot's physical structure. We demonstrate the efficacy of our design methodology by creating a diverse array of hybrid legged/wheeled mobile robots which we validate using physics simulation and through fabricated prototypes.

Original languageAmerican English
Article number160
JournalACM Transactions on Graphics
Volume37
Issue number4
DOIs
StatePublished - 2018
Externally publishedYes

Keywords

  • Animation
  • Computational design
  • Mobile robots
  • Physical characters

All Science Journal Classification (ASJC) codes

  • Computer Graphics and Computer-Aided Design

Fingerprint

Dive into the research topics of 'Skaterbots: Optimization-based design and motion synthesis for robotic creatures with legs and wheels'. Together they form a unique fingerprint.

Cite this