Book description
Microsoft Robotics Developer Studio (MRDS) offers an exciting new wayto program robots in the Windows environment. With key portions of the MRDS code available in source form, it is readily extensible and offers numerous opportunities for programmers and hobbyists. This comprehensive book illustrates creative ways to use the tools and libraries in MRDS so you can start building innovative new robotics applications.
The book begins with a brief overview of MRDS and then launches into MRDS concepts and takes a look at fundamental code patterns that can be used in MRDS programming. You'll work through examples—all in C#—of common tasks, including an examination of the physics features of the MRDS simulator. As the chapters progress, so does the level of difficulty and you'll gradually evolve from navigating a simple robot around a simulated course to controlling simulated and actual robotic arms, and finally, to an autonomous robot that runs with an embedded PC or PDA.
What you will learn from this book
How to program in the multi-threaded environment provided by the concurrency and coordination runtime
Suggestions for starting and stopping services, configuring services, and packaging your services for deployment
Techniques for building new services from scratch and then testing them
How to build your own simulated environments and robots using the Visual Simulation Environment
What robots are supported under MRDS and how to select one for purchase
Who this book is for
This book is for programmers who are interested in becoming proficient in the rapidly growing field of robotics. All examples featured in the book are in C#, which is the preferred language for MRDS.
Table of contents
- Copyright
- About the Authors
- Credits
- Acknowledgments
- Foreword
- Introduction
-
I. Robotics Developer Studio Fundamentals
-
1. Exploring Microsoft Robotics Developer Studio
- 1.1. Microsoft Does Robots?
- 1.2. Microsoft Robotics Developer Studio Components
- 1.3. Support for MRDS
- 1.4. Setting Up Your System
- 1.5. Additional Resources and Support
- 1.6. Summary
-
2. Concurrency and Coordination Runtime (CCR)
- 2.1. Overview of the MRDS Framework
- 2.2. Setting Up for This Chapter
- 2.3. Coordination and Concurrency Runtime
- 2.4. Implementing Common Control Structures
- 2.5. Error Handling
- 2.6. Interoperation with Legacy Code
- 2.7. Traps for New Players
- 2.8. Summary
-
3. Decentralized Software Services (DSS)
- 3.1. Overview of DSS
- 3.2. Running a DSS Node
- 3.3. Creating a New Service
- 3.4. Compiling and Running Services
- 3.5. Defining Service State
- 3.6. Persisting Service State
- 3.7. Modifying Service State
- 3.8. Service Initialization
- 3.9. Composing and Coordinating Services
- 3.10. DSS Tools
- 3.11. Deploying Services
- 3.12. Summary
-
4. Advanced Service Concepts
- 4.1. Setting Up for This Chapter
- 4.2. Subscribing and Notifying
-
4.3. User Interfaces
- 4.3.1. Using Windows Forms
-
4.3.2. Using Web Forms
- 4.3.2.1. Accessing Services from Web Pages
- 4.3.2.2. XSLT Overview
- 4.3.2.3. Setting Up Your Development Environment for XSLT
- 4.3.2.4. Using XSLT for Enhanced Information Display
- 4.3.2.5. Building an XSLT File from Scratch
- 4.3.2.6. Creating an XSLT file Using the MRDS Template
- 4.3.2.7. Displaying the State Using XSLT
- 4.3.2.8. Creating a Web Form for Data Input
- 4.3.2.9. Using JavaScript for Client-Side Scripting
- 4.4. Using a Camera
- 4.5. Inheriting from Abstract Services
- 4.6. More on Debugging
- 4.7. Where to Go from Here
- 4.8. Summary
-
1. Exploring Microsoft Robotics Developer Studio
-
II. Simulations
-
5. The MRDS Visual Simulation Environment
- 5.1. The Advantages of Simulation
- 5.2. The Difficulties with Simulation
- 5.3. Prerequisites
- 5.4. Starting the Simulator
- 5.5. Using the Simulator
- 5.6. The Simulation Editor
- 5.7. Built-in Simulation Entities
- 5.8. Summary
-
6. Extending the MRDS Visual Simulation Environment
- 6.1. Simulation DLLs and Types
- 6.2. Building Your Own SRS-Robo-Magellan Simulation
- 6.3. Summary
- 7. Using Orchestration Services to Build a Simulation Scenario
- 8. Simulating Articulated Entities
- 9. Adventures in Simulation
-
5. The MRDS Visual Simulation Environment
-
III. Visual Programming Language
-
10. Microsoft Visual Programming Language Basics
- 10.1. What Is a Data Flow Language?
- 10.2. The VPL Development Environment
- 10.3. A Simple VPL Diagram
- 10.4. Inputs, Outputs, and Notifications
- 10.5. Basic Activities
- 10.6. VPL Variables
- 10.7. Looping and Conditionals in VPL
- 10.8. The VPL Execution Model
- 10.9. Debugging a VPL Diagram
- 10.10. Creating Custom Activities
- 10.11. Using Lists and Switch Activities
- 10.12. An Example Using List Activities
- 10.13. Summary
- 11. Visually Programming Robots
- 12. Visual Programming Examples
-
10. Microsoft Visual Programming Language Basics
-
IV. Robotics Hardware
-
13. Using MRDS with Robotics Hardware
- 13.1. Safety Considerations Before Starting
- 13.2. Types of Robots
- 13.3. Buying Your First Robot
- 13.4. Fundamental Concepts: Sensors, Actuators, and Controllers
- 13.5. Sensors
- 13.6. Actuators
- 13.7. Controllers
- 13.8. Summary
- 14. Remotely Controlling a Mobile Robot
- 15. Using a Robotic Arm
-
16. Autonomous Robots
- 16.1. PC-Based Robots
- 16.2. Setting Up a Stinger Robot
- 16.3. Setting Up Your PDA
- 16.4. Driving a Stinger Remotely
- 16.5. Wandering Using Sensors
- 16.6. Creating a CF Version of the Service
- 16.7. Setting Up the eBox
- 16.8. Running a Service on WinCE
- 16.9. Where to Go from Here
- 16.10. Summary
-
17. Writing New Hardware Services
- 17.1. Integrating New Hardware
-
17.2. Creating a Generic Brick Service
- 17.2.1. Terminology
-
17.2.2. Design
- 17.2.2.1. No Reconfiguration of the Brick (in this First Version)
- 17.2.2.2. All Devices Must Have a Name
- 17.2.2.3. Hardware Identifiers
- 17.2.2.4. Timestamps
- 17.2.2.5. Automatic Connection
- 17.2.2.6. Inputs and Outputs
- 17.2.2.7. Unit Conversion and Calibration
- 17.2.2.8. Locations of Sensors and Actuators
- 17.2.2.9. Access to Switches and LEDs is Included as a Convenience
- 17.2.2.10. Motors and Wheel Encoders
- 17.2.2.11. I2C Bus is Not Supported
- 17.2.3. Brick State
- 17.2.4. Device Enums
- 17.2.5. Brick Operations
- 17.2.6. Additional Components
- 17.3. The Integrator Robot
- 17.4. Testing a Generic Brick Robot
- 17.5. The Hemisson Robot
- 17.6. Where to Go from Here
- 17.7. Summary
-
13. Using MRDS with Robotics Hardware
Product information
- Title: Professional Microsoft® Robotics Developer Studio
- Author(s):
- Release date: May 2008
- Publisher(s): Wrox
- ISBN: 9780470141076
You might also like
book
Programming Microsoft® Robotics Studio
Visit the catalog page for Programming Microsoft® Robotics StudioVisit the errata page for Programming Microsoft® Robotics …
book
Robot Development Using Microsoft Robotics Developer Studio
The Microsoft Robotics Developer Studio (MSRDS) and LEGO robots together offer a flexible platform for creating …
book
Real-Time Digital Signal Processing from MATLAB to C with the TMS320C6x DSPs, 3rd Edition
The software in this new edition supports the latest high-performance hardware, including the powerful, inexpensive, and …
book
Professional Search Engine Optimization with PHP: A Developer's Guide to SEO
Maybe you're a great programmer or IT professional, but marketing isn't your thing. Or perhaps you're …