Creating Cool MINDSTORMS NXT Robots
Total Page:16
File Type:pdf, Size:1020Kb
Creating Cool MINDSTORMS® NXT Robots Daniele Benedettelli Creating Cool MINDSTORMS® NXT Robots Copyright © 2008 by Daniele Benedettelli All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN-13 (pbk): 978-1-59059-966-2 ISBN-10 (pbk): 1-59059-966-7 ISBN-13 (electronic): 978-1-4302-0599-9 ISBN-10 (electronic): 1-4302-0599-7 Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1 Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. Lead Editor: Jeffrey Pepper Technical Reviewer: Claude Baumann Developmental Editor: John R. Vacca Editorial Board: Clay Andres, Steve Anglin, Ewan Buckingham, Tony Campbell, Gary Cornell, Jonathan Gennick, Matthew Moodie, Joseph Ottinger, Jeffrey Pepper, Frank Pohlmann, Ben Renow-Clarke, Dominic Shakeshaft, Matt Wade, Tom Welsh Project Manager: Beth Christmas Copy Editor: Susannah Davidson Pfalzer Associate Production Director: Kari Brooks-Copony Production Editor: Kelly Winquist Compositor: Kinetic Publishing Services, LLC Proofreader: April Eddy Indexer: Becky Hornyak Artists: April Milne, Dina Quan Cover Designer: Kurt Krames Manufacturing Director: Tom Debolski Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax 201-348-4505, e-mail [email protected], or visit http://www.springeronline.com. For information on translations, please contact Apress directly at 2855 Telegraph Avenue, Suite 600, Berkeley, CA 94705. Phone 510-549-5930, fax 510-549-5939, e-mail [email protected], or visit http://www.apress.com. Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Special Bulk Sales–eBook Licensing web page at http://www.apress.com/info/bulksales. The information in this book is distributed on an “as is” basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work. The source code for this book is available to readers at http://www.apress.com. You will need to answer questions pertaining to this book in order to successfully download the code. To my brother Alessandro Contents at a Glance About the Author . xi About the Technical Reviewer . xiii Acknowledgments . xv Introduction . xxvii PART 1■ ■ ■ Look, Mom! No Wheels! ■CHAPTER 1 Building Biped Robots . 3 ■CHAPTER 2 Quasimodo . 11 ■CHAPTER 3 Finite State Machines. 47 ■CHAPTER 4 NXT AT-ST . 59 ■CHAPTER 5 Omni-Biped . 143 ■CHAPTER 6 NXT Turtle . 203 PART 2■ ■ ■ Back on Wheels ■CHAPTER 7 Mine Sweeper . 281 ■CHAPTER 8 JohnNXT Is Alive! . 347 ■CHAPTER 9 Need Input! Building a Remote Control Device . 517 ■APPENDIX Introduction to BricxCC and NXC Programming . 567 ■INDEX . 579 v Contents About the Author . xi About the Technical Reviewer . xiii Acknowledgments . xv Introduction . xxvii PART 1■ ■ ■ Look, Mom! No Wheels! ■CHAPTER 1 Building Biped Robots . 3 LEGO Bipedal Walking: The State of the Art . 3 Interlacing Legs Bipeds . 3 Jerky COG Shifting Bipeds. 5 Smooth COG Shifting Bipeds . 9 Summary . 10 ■CHAPTER 2 Quasimodo . 11 Applying What You Learned . 12 Introducing NXT Technology . 15 Meeting the NXT-G Software. 17 Connecting the NXT for the First Time . 17 Programming Quasimodo Using NXT-G . 20 The Shortest Program in the Book . 22 Building Your Belfry Hunchback . 25 Summary . 45 ■CHAPTER 3 Finite State Machines. 47 Finite State Machines in Brief . 47 Saturating Counter . 49 FSM General Implementation . 55 Decision Tables . 56 Summary . 58 vii viii ■CONTENTS ■CHAPTER 4 NXT AT-ST . 59 Design Thoughts . 60 Programming the AT-ST . 62 Building Your Personal AT-ST . 71 Summary . 141 ■CHAPTER 5 Omni-Biped. 143 History of a Biped . 144 Single-Tasking vs. Multitasking . 145 Writing a Single-Task Program . 149 Using Hysteresis . 154 Writing a Multitask Program . 158 Building Instructions . 163 Summary . 201 ■CHAPTER 6 NXT Turtle . 203 Quadruped Walking . 204 Introducing the Turtle . 206 Programming the Turtle . 207 Simple Program . 207 Line Following . 214 Autonomous Behavior Simulation. 217 Building Your Pet . 233 Design Thoughts . 277 Summary . 278 PART 2■ ■ ■ Back on Wheels ■CHAPTER 7 Mine Sweeper . ..