You are previewing Programming Microsoft® Robotics Studio.
O'Reilly logo
Programming Microsoft® Robotics Studio

Book Description

Get the practical reference to programming robotic applications by using the Microsoft Robotics Studio. Ideal for programmers familiar with Windows�® based development using Microsoft Visual Studio�® and the Microsoft .NET Framework, this guide expertly illustrates how to use the Robotics Studio. You ll discover how to use the services provided in the Robotics Studio to handle navigation and remote control, speech, video, and intelligent behavior in a robotic device. It includes coverage of the included Visual Programming Language, plus code examples in Microsoft Visual C#�®.
Key Book Benefits:

Delivers practical guidance about how services relate to programming robots

Provides references to simulations, navigation and remote control, speech and video, and much more

Features sample code in Visual Programming Language and Visual C#

Visit the catalog page for Programming Microsoft® Robotics StudioVisit the errata page for Programming Microsoft® Robotics StudioVisit the supplemental content page for Programming Microsoft® Robotics Studio

Table of Contents

  1. Programming Microsoft® Robotics Studio
    1. Foreword
    2. Acknowledgments
    3. Introduction
      1. About this Book
      2. Who Should Read this Book?
      3. Understanding the Terminology
      4. Chapter and Appendix Overview
        1. Chapter 1
        2. Chapter 2
        3. Chapter 3
        4. Chapter 4
        5. Chapter 5
        6. Chapter 6
        7. Chapter 7
        8. Chapter 8
        9. Chapter 9
        10. Appendix A
        11. Appendix B
      5. Hardware and Software Requirements
        1. Hardware Requirements
        2. Software Requirements
          1. Installing Microsoft Robotics Studio 1.5
          2. Installing Visual Studio C# 2005 Express Edition
      6. How to Access Code Samples
        1. Find Additional Content Online
      7. Support for This Book
        1. Questions and Comments
    4. 1. Overview of Robotics and Microsoft Robotics Studio
      1. Current World of Robotics
        1. Challenges in Robotics
      2. Robotics at Microsoft
      3. Introducing Microsoft Robotics Studio
        1. Microsoft Robotics Studio Licensing Options
        2. Selecting a Development Language
      4. Key Components of Microsoft Robotics Studio
        1. Runtime
          1. Concurrency and Coordination Runtime
          2. Decentralized Software Services
            1. Decentralized Software Services Protocol
            2. Runtime Services
        2. Visual Simulation Environment
        3. Visual Programming Language
      5. What Is a Typical Robotics Application Like?
      6. Listing of Supported Robots
        1. What If You Want to Work with Unsupported Hardware?
      7. Challenges of Robotics Programming
      8. What If You Want to Execute Code on the Robot?
      9. Summary
    5. 2. Understanding Services
      1. Defining a Robotics Application
      2. What Is a Service?
      3. Creating a New Service
        1. Starting a Service
        2. Creating a Service Project
      4. Sending and Receiving Messages
        1. Anatomy of a Message
        2. Using a PortSet
        3. Using Service Handlers
      5. Managing State
        1. Posting Data to an Internal Port
        2. Saving State to a File
      6. Communicating with Other Services
      7. Handling Subscriptions
        1. Configure the Publisher
        2. Configure the Subscriber
      8. Handling Output
      9. Handling Faults
      10. Debug and Trace Messages
      11. Summary
    6. 3. Visual Programming Language
      1. Overview of VPL
        1. Who Can Use VPL?
        2. What Are Activities?
        3. Using the VPL Design Tool
          1. Establishing Connections
          2. Configuring a Service
      2. Working with the Boe-Bot
      3. Writing a Simple VPL Application
      4. Executing and Debugging a VPL Application
      5. Compiling as a Service
        1. Examining the Generated Code
      6. Create a Custom Activity
      7. Summary
    7. 4. Simulation
      1. Why Create Simulations?
      2. Using the Visual Simulation Environment
        1. Hardware Considerations
          1. Using the AGEIA PhysX Card
          2. Tracking the Frames per Second
        2. Running a Simulation
        3. Using the Simple Dashboard Service
          1. Enhanced Version of the Simple Dashboard Service
        4. Editor Settings
        5. Working with Coordinates
        6. What is an Entity?
        7. Create a New Entity
          1. Disabling and Enabling Physics Mode
        8. Editing the Simulator State File
      3. Creating a Simulation from a Service
        1. Creating New Entities
          1. Create Robot Entities
          2. Creating New Entity Types
      4. Summary
    8. 5. Remote Control and Navigation
      1. Working with the iRobot Create
      2. Building a BasicDrive Program
        1. Add Windows Form
          1. Modify the Constructor
        2. Defining the Service Contract
          1. Add State Variables
          2. Add New Service Operations
          3. Modify the PortSet
        3. Add Code to the Implementation Class
          1. Set References
          2. Add Partnerships
          3. Modify the Start Method
          4. Create Message Handlers
          5. Add Code to Click Events
        4. Change the BasicDrive Manifest
        5. Change Project Properties
      3. Run the BasicDrive Service
      4. Summary
    9. 6. Autonomous Roaming
      1. Working with the LEGO Mindstorms NXT
      2. Working with Version 1
        1. Defining the Service Contract
        2. Add Code to the Implementation Class
          1. New LEGO NXT Services
          2. Set References
          3. Add Partnerships
          4. Modify the Start Method
          5. Create Message Handlers
        3. Change the Wander Manifest
          1. Associate Services
          2. Configure Services
        4. Change Project Properties
      3. Run the Wander Service
        1. Evaluate the Robot’s Behavior
      4. Working with Version 2
        1. Add the Sonar Sensor
        2. Add the Sound Sensor
        3. Add a Watchdog Timer
        4. Change the Wander Manifest
        5. Evaluate the Robot’s Behavior
      5. Summary
    10. 7. Creating a New Hardware Interface
      1. Working with the ARobot
      2. Build an Onboard Interface
      3. Build a Core Service
        1. Add Code to the Contract Class
          1. Modify the Portset
        2. Add Code to the Implementation Class
          1. Modify the Start Method
          2. Connect to the ARobot
          3. Create Message Handlers
      4. Build a Drive Service
        1. Set References
        2. Add a Contract Class
        3. Add an Implementation Class
      5. Build a Bumper Service
        1. Add a Reference
        2. Add Partnerships
      6. Build a Test Service
        1. Build the ARobotTest Project
          1. Add Partnerships
          2. Modify the Start Method
          3. Add Message Handlers
        2. Build the DriveARobotByWire Project
      7. Summary
    11. 8. Building a Security Monitor
      1. Working with the ARobot
      2. Integrating Vision
      3. Build a Security Monitor Service
        1. Defining the Service Contract
          1. Modify the PortSet
          2. Add New Service Operations
        2. Add Code to the Implementation Class
          1. Add Partnerships
          2. Modify the Start Method
          3. Get Images from the Web Camera
          4. Detect Motion
          5. Send an E-Mail Notification
        3. Create the Transformation File
        4. Create a Manifest File
      4. Run the Security Monitor Service
      5. Summary
    12. 9. The Future of Robotics
      1. Future of MSRS
      2. Potential Applications
        1. Smart Appliances
        2. Caring for the Elderly
        3. Performing Dangerous Jobs
        4. Performing Dull Jobs
        5. Performing Exploration Jobs
        6. Providing Specialized Assistance
        7. Providing Companionship
        8. Providing Entertainment
      3. Integrating Artificial Intelligence
      4. Summary
    13. A. A Brief History of Artificial Intelligence
      1. Where Is AI Today?
    14. B. Configuring Hardware
      1. Configuring the Parallax Boe-Bot
        1. Install MSRS Interface
        2. Configure Bluetooth
        3. Enable Whiskers
      2. Configuring the iRobot Create
      3. Configuring the LEGO Mindstorms NXT
        1. Run the Installation
        2. Configure Bluetooth
        3. Install MSRS Interface
        4. Update MSRS Services
        5. Update Configuration Settings
      4. Configuring the Arrick Robotics ARobot
    15. Glossary
    16. Bibliography
    17. C. About the Author
    18. Index