This is the first complete beginner's guide to programming and automating modern robots. Drawing on their experience teaching thousands of robotics beginners, Cameron and Tracy Hughes show how to automate robots (or teams of robots), translating your ideas into specific tasks they can perform on their own, with no remote controls. The Beginner's Guide to Programming Robots builds your skills through four simple projects created with today's leading robot microcontrollers (ARM9 and ARM7) on leading robot platforms (LEGO Mindstorms EV3, NXT, and Wowee RS Media Robot). Step by step, you'll learn how to use modern techniques to program robot sensors, motors, and more. Along the way, you'll learn skills you can use in hardware/Maker/DIY projects on any platform, including the wildly popular low-cost Arduino, Raspberry Pi, and BeagleBone platforms. Coverage includes:How robots sense and move around their surroundingsHow to program robot sensors and motorsDescribing tasks in a way your robot can understandProgramming robots to take individual actions and complete complex tasksAutomating robots to act autonomouslyPersuading robots to perform more complex behaviors on their ownMastering a basic Robot Automation Architecture (RAA) for automating any kind of robotProgramming teams of robots to share goals, communicate, and coordinateTesting your robot programsTesting safety and human interactionsUsing the powerful Java language to program LEGO Mindstorms EV3 and other devicesTaking the next steps - including Linux, Lejos, and other programming environments