Recent advances in machine learning are leading to new tools for designing intelligent robots: functions relied on to govern a robot’s behavior can be learned from a robot’s interaction with its environment rather than hand-designed by an engineer. Many machine learning methods assume little prior knowledge and are extremely flexible, they can model almost anything! But, this flexibility comes at a cost. The same algorithms are often notoriously data hungry and computationally expensive, two problems that can be debilitating for robotics. In this talk I’ll discuss how machine learning can be combined with prior knowledge and structure to build effective solutions to robotics problems. I’ll introduce an online learning perspective on robot adaptation that unifies well-known algorithms and suggests new approaches. I’ll discuss how structure and simulation can augment learning and how imperfect models, simple policies, and hierarchical abstractions can help to build adaptive, resilient systems. I will also show how we have applied some of these ideas to several robotics tasks that require impressive sensing, speed, and agility to complete.