Microsoft Robotics Studio Simulation Environment

Slides:



Advertisements
Similar presentations
1 Application Software Course Simulink By: Mahdi Akbari 2010.
Advertisements

ASP.NET Ajax Supplementary Tutorial. Why Use ASP.NET AJAX? - I ASP.NET AJAX enables you to build rich Web applications that have many advantages over.
1 1 Mechanical Design and Production Dept, Faculty of Engineering, Zagazig University, Egypt. Mechanical Design and Production Dept, Faculty of Engineering,
Burning a Video or File to a CD 1.Double click on the Nero- Burning Rom icon on your desktop or go to “Start” > “Programs” > “ahead Nero” > “Nero Burning.
Oracle for Windows NT is required to run queries from the Banner database. Call the help desk at extension 4440 if you do not have this.
Google Sketch-Up Tutorial By: Brittany Beckett. Installation Open a web browser. Go to sketchup.google.com.
Using Eclipse. Getting Started There are three ways to create a Java project: 1:Select File > New > Project, 2 Select the arrow of the button in the upper.
Installing geant4 v9.5 using Windows Daniel Brandt, 06 April 2012 Installing Geant4 v9.5 for Windows A step-by-step guide for Windows XP/Vista/7 using.
Microsoft Windows Vista Chapter 5 Personalize Your Work Environment.
Using Surfcam to Produce a Numeric Control (NC) Program An Introduction to the CAD/CAM Process Instructions for 3 Axis Programming Using the D&M CNC Milling.
© by Pearson Education, Inc. All Rights Reserved.
How to use the VHDL and schematic design entry tools.
Introduction to LabVIEW Seth Price Department of Chemical Engineering New Mexico Tech Rev. 10/5/14.
Installing geant4 v9.5 using Windows Daniel Brandt, 06 April 2012 Installing Geant4 v9.5 for Windows A step-by-step guide for Windows XP/Vista/7 using.
Google Earth How to create a Google Earth Tour and place it in your Wiki.
COMPREHENSIVE Excel Tutorial 8 Developing an Excel Application.
Microsoft Office 2007 Access 2007 Chapter 9 Administering a Database System.
TUTORIAL # 2 INFORMATION SECURITY 493. LAB # 4 (ROUTING TABLE & FIREWALLS) Routing tables is an electronic table (file) or database type object It is.
Hello World In C++ and Microsoft Visual C++. Directions to begin a project 1. Go to All Programs 2. Open Visual Studio C++ 3. Click on New Project 4.
SQL Maestro Hello World IQ Associates. Contents Initial setup Hello World.
Importing your Own Data To display in GIS Lab 4a: (Table Join) Mapping By State, County, or Nation.
Available at: – Operate the Tumbler using a Jumper Pin Operate the Tumbler using the jumper pin.
Weston Schreiber & Joshua Gabrielse Robotics Summer Training Programming #1: EasyC Basics.
Intro to C++. Getting Started with Microsoft Visual Studios Open Microsoft Visual Studios 2010 Click on file Click on New Project Choose Visual C++ on.
Intro to MFC. Open VS and create new project 1)Open MS Visual Studio 2008 Professional (It must be the Professional Edition, the Express Edition will.
Teacher/Mentor Institute Using easyC Joel Kirkland July 30-31, 2015.
Vex Robotics Programming Sequence. Now that you’ve had some practice downloading and using the included programs, it's time to learn to write some of.
Configuring System Settings Lesson 3. Skills Matrix Technology SkillObjective DomainObjective # Introducing Windows AeroConfigure and troubleshoot Windows.
Synopsys Custom Designer Tutorial for a chip integration using the University of Utah Standard Cell Libraries In ON Semiconductor 0.5u C5 CMOS Version.
Hello World in the Forte IDE An introduction to the Forte IDE (integrated development environment) writing the classic “Hello World” program in Java.
WS09-1 VND101, Workshop 09 MSC.visualNastran 4D Exercise Workbook Belted Cylinder.
1 Setting Up for RePast, and Running a Repast Stand Alone Example 06/21/2004 by Deddy Koesrindartoto Department of Economics Iowa State University.
Video in Macromedia Flash (Optional) – Lesson 121 Video in Macromedia Flash (Optional) Lesson 12.
Data Hubs and Wires. Begin by adding a basic Move block, 5 rotations 75% power.
Vex Robotics Program Two: Using two motors. Program two: using the motors In the last section, you learned how to turn on one motor. Now, you will take.
Vex Robotics program three: using motors and sensors together.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
Copyright © 2007 by Pearson Education 1 UNIT 6A COMBINATIONAL CIRCUIT DESIGN WITH VHDL by Gregory L. Moss Click hyperlink below to select: Tutorial for.
 You won’t write a single line of program code.  Instead, you’ll use visual programming techniques.  Visual Studio processes your actions (such as mouse.
1 Pertemuan 10 Using Type Matakuliah: U0344 / DESKTOP 1 Tahun: 2006.
Simulink Modelling Tutorial In Simulink, it is very straightforward to represent a physical system or a model. In general, a dynamic system can be constructed.
An overview of the VisiRule decision logic charting tool
Teacher/Mentor Institute Intro to easyC Programming Scott McEwen July 21-22, 2016.
Pasewark & Pasewark 1 Windows Vista Lesson 1 Windows Vista Basics Microsoft Office 2007: Introductory.
Excel Tutorial 8 Developing an Excel Application
VAB™ for INFINITY Tutorial
Lab 1: Using NIOS II processor for code execution on FPGA
Access Chapter 2 Querying a Database.
BMXP Operation Memo One Time Cutting.
Doing a Bond Screening Login to the computer Launch Microsoft Excel
Configuring System Settings
3.01 Apply Controls Associated With Visual Studio Form
3.01 Apply Controls Associated With Visual Studio Form
Microsoft Windows XP Inside Out Second Edition
Basics for Robotics Programming
Collaboration with Google Docs
Microsoft Visual Basic 2005 BASICS
Using Surfcam to Produce a Numeric Control (NC) Program
MicroEconomix 1500 RSLogix 500 LAB#1
Benchmark Series Microsoft Word 2016 Level 2
Storing Values as Variables
Unit 11 – PowerPoint Interaction
Getting Started With Simulink
Electronics II Physics 3620 / 6620
How to PostPower Point Presentations
Double click Microsoft Visual Studio 2010 on the Computer Desktop
Software Setup & Validation
CS334: Logisim program lab6
ECE 3567 Microcontrollers Lab
ECE 3567 Microcontrollers Lab
Presentation transcript:

Microsoft Robotics Studio Simulation Environment Instructor Prof. Shih-Chung Kang 2008 Spring

(I) Overview

Challenges Posed by Robotics Development Difficulty of concurrent use Difficulty of hardware troubleshooting Robotics hardware can be expensive and hard to find December 14, 2017 S.C. Kang

Benefits of Simulation Low barrier to entry Staged approach Prototyping Education Learning system December 14, 2017 S.C. Kang

Snapshots December 14, 2017 S.C. Kang

Demo December 14, 2017 S.C. Kang

(II) Joystick a Robot in Simulation

Step 1 Start the Program Drag the Desktop Joystick service onto your workspace. December 14, 2017 S.C. Kang

Step 2 Test Try it out ! December 14, 2017 S.C. Kang

Step 3 Add a Service Add a Generic Differential Drive service. December 14, 2017 S.C. Kang

Step 4 Set Up the Property First click on the GenericDifferentialDrive box; Then, in the Properties on the right, for Configuration, select the Use a Manifest entry. December 14, 2017 S.C. Kang

Step 5 Using a Manifest File Select the entry for LEGO.NXT.Tribot.Simulation.Manifest.xml. December 14, 2017 S.C. Kang

Step 6 Connect Connect the notification port (the small red circle on the right) of the DesktopJoystick to the input port (the small red square on the left) of the GenericDifferentialDrive. December 14, 2017 S.C. Kang

Step 7 Set Up the Connection Type In the Connections dialog box, select UpdateAxes from the left column and SetDrivePower in the right column, then click OK. December 14, 2017 S.C. Kang

Step 8 (1/3) Transformation Rule The DesktopJoystick service is sending notifications when the joystick axes change (in this case the X and Y values change), as you may have noticed when trying out the diagram earlier, These values vary between -1000 and 1000. The GenericDifferentialDrive service is expecting LeftWheelPower and RightWheelPower values between -1 and 1, where these values are indicative of the amount of power to be fed to the Left and Right wheels respectively. You now need to create a data transformation that will convert the X and Y values from the DesktopJoystick into Left- and RightWheelPower. December 14, 2017 S.C. Kang

Step 8 (2/3) ( -Y + X ) / 1000.0 ( -Y – X ) / 1000.0 Select the Edit values directly check box in the DataConnections form. Then enter the following expressions into the value boxes for the LeftWheelPower and RightWheelPower targets. ( -Y + X ) / 1000.0 ( -Y – X ) / 1000.0 December 14, 2017 S.C. Kang

Step 8 (3/3) Like this ! December 14, 2017 S.C. Kang

Step 9 Test Try it out ! December 14, 2017 S.C. Kang

Step 10 Using a Joystick (1/2) Drag a GameController service from the Services toolbox. Then drag from the notification pin of the GameController service to the middle of the wire connecting the DesktopJoystick and GenericDifferentialDrive services. December 14, 2017 S.C. Kang

Step 10 (2/2) Release it and on the left side, as before, choose UpdateAxes, on the right side choose MergeConnection. Run again ! December 14, 2017 S.C. Kang

Result December 14, 2017 S.C. Kang

(III) Drive in Circles

Step 1 Start the Program Start by adding a TurningRadiusToWheelPowers service and a GenericDifferentialDrive service. December 14, 2017 S.C. Kang

Step 2 Connect the output port of the former to the input port of the latter (associating Left with LeftWheelPower and Right with RightWheelPower). 3 2 1 December 14, 2017 S.C. Kang

Step 3 Drag over two Data and set one block to be of type boolean with value true, and the other to be of type double with value 1.0. December 14, 2017 S.C. Kang

Step 4 To aggregate the two pieces of data, we must add a Join block. Connect the boolean data to the Join, specifying the name TurnRight; also connect the double data to the Join, calling it TurningRadius. December 14, 2017 S.C. Kang

Step 5 (1/2) TurningRadiusToWheelPower takes in two arguments: the TurningRadius (a double) and a boolean, TurnRight, which encodes whether or not to turn to the right (otherwise, turn to the left). Connect Join and TurningRadiusToWheelPower. December 14, 2017 S.C. Kang

Step 5 (2/2) Associating TurningRadius with TurningRadius and TurnRight with TurnRight. Click OK, then try it out ! December 14, 2017 S.C. Kang

Result Your robot can now drive in circles. Vary the hard-coded values and watch its behavior. December 14, 2017 S.C. Kang

(IV) Drive along an Arc

Step 1 Continues the Diagram (III) Add Timer service to your diagram and connect to GenericDifferentialDrive (associating the SetDrivePowerSuccess with the SetTimer). December 14, 2017 S.C. Kang

Step 2 Set Up Timer In the Data Connections window, check Edit Values Directly and type in 1500 for the value (the units are milliseconds).This link only indicates execution flow. December 14, 2017 S.C. Kang

Step 3 Drag in a new Timer, and in the Add Activity dialog that pops up, select the Timer that already exists instead of adding a new one. December 14, 2017 S.C. Kang

Step 4 Connect the new Timer's notification port to a new Data block with a double value of 0.0 (use the TimerComplete operation). This will set up the execution path so that when the timer completes (that was set on the right), execution will begin. December 14, 2017 S.C. Kang

Step 5 In order to stop, we must set both the left and right wheels to no power. Add a Join with names Left and Right and attach the output of the data value to both of them. They are the same as the names output by TurningRadiusToWheelPowers. December 14, 2017 S.C. Kang

Step 6 Merge Connections Connect the output of the Join to the drive; This time, the middle man we need is Merge. It is necessary, however, for the inputs to Merge to match exactly, both in name and in type. December 14, 2017 S.C. Kang

Step 7 Finish The overall diagram should be look like: December 14, 2017 S.C. Kang

Result Your robot can now drive along an arc; again, vary the hard-coded values and watch its behavior. December 14, 2017 S.C. Kang

Practice How about driving along the path like “8”? How about driving along rectangle path? December 14, 2017 S.C. Kang

Course website http://robot.caece.net Question? Course website http://robot.caece.net