Microsoft Visual Programming Language Advanced Example.

Slides:



Advertisements
Similar presentations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
Feature: Identity Management - Login © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Feature: Reprint Outstanding Transactions Report © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Feature: Purchase Requisitions - Requester © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Feature: Payroll and HR Enhancements © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

Co- location Mass Market Managed Hosting ISV Hosting.
Windows 7 Training Microsoft Confidential. Windows ® 7 Compatibility Version Checking.
Multitenant Model Request/Response General Model.
Feature: Purchase Order Prepayments II © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Announcing Demo Announcing.
Feature: OLE Notes Migration Utility
Feature: Web Client Keyboard Shortcuts © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Feature: SmartList Usability Enhancements © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
 Rico Mariani Architect Microsoft Corporation.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
WinHEC /22/2017 © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Print Remaining Documents © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Connect with life Connect with life
NEXT: Overview – Sharing skills & code.
demo Receive Inventory Export Parse and Normalize.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Document Attachment –Replace OLE Notes © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Feature: Suggested Item Enhancements – Sales Script and Additional Information © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Feature: Employee Self Service Timecard Entry © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Ian Ellison-Taylor General Manager Microsoft Corporation PC27.
Robotics Tutorial Controlling a Robot with MSRS
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
demo Instance AInstance B Read “7” Write “8”

customer.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
Feature: Void Historical/Open Transaction Updates © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Feature: Suggested Item Enhancements – Analysis and Assignment © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and.
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
The CLR CoreCLRCoreCLR © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

IoCompleteRequest (Irp);... p = NULL; …f(p);
Ctrl-K, X Ctrl-K, S
Возможности Excel 2010, о которых следует знать
Title of Presentation 11/22/2018 3:34 PM
Title of Presentation 12/2/2018 3:48 PM
1/3/2019 1:21 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
PENSACOLA ENERGY WORK PLAN OCTOBER 10, 2016
Title of Presentation 5/12/ :53 PM
Шитманов Дархан Қаражанұлы Тарих пәнінің
Title of Presentation 5/24/2019 1:26 PM
5/24/2019 6:44 PM 1/8/18 Bell #10 In a world governed by the gods, is there any room for human will? Do human choices make a difference? EXPLAIN © 2007.
日本初公開!? Vista の新機能を実演 とっちゃん わんくま同盟 7/23/2019 9:09 AM
Title of Presentation 7/24/2019 8:53 PM
Presentation transcript:

Microsoft Visual Programming Language Advanced Example

Microsoft Visual Programming Language 2 Andreas Ulbrich Software Development Engineer Microsoft Corporation

Overview Autonomous behavior Factoring of activities Working with data collections Configuring programs for simulation and reality

Scenario Robot Laser range finder for obstacle detection Two-wheel differential drive Autonomous wandering behavior Robot roams around and ideally does not bump into obstacles Run in simulation and reality

Prerequisites You should be familiar with the basics of the Microsoft Visual Programming Language.

Hardware MobileRobots Pioneer P3DX with Sick Laser Range Finder LM200 Can easily be adapted to other hardware Laser Range Finder Two-wheel differential drive

Two-wheel Differential Drive Very simple drive system Controlled by applying different power to left and right motor Generic Differential Drive Service SetDrivePower action

Laser Range Finder Distance measurement device SICK Laser Range Finder Service Measurement notification 180° sweep, 0.5° resolution, ca. 8m range 0° 180° Distance measurement

Basic Idea Convert laser scan into three sectors Left, right, center For each sector find nearest measurement If center measurement is above threshold Go straight (1) Else if left is larger than right Turn left (2) Else Turn right (3) 1 2 3

Three Sectors Right (3/8) Left (3/8) Center (2/8 = 45°) Nearest measurement in sector (not to scale)

Factoring: Who does What? Create new activities when possible! Diagrams smaller and easier to read Easier to change and to reuse LaserRangeFinder activity Handles laser notifications and finds nearest measurements in sectors AutoDrive activity Based on nearest left, right, and center measurement select the best direction and turn Main diagram Coordinate LaserRangeFinder and AutoDrive

LaserRangeFinder Laser data is list of int Split into sectors Start index Limit index Find nearest Needs to be done for each sector  Create an action FindNearest When done send notification FoundNearest

LaserRangeFinder FindNearest Action List of measurments Data Nearest measurement start value is maximum range Current index i Start value is start index of sector FindNearest: If Data[ i ] < Nearest then Nearest = Data[ i ] Repeat with i = i + Increment (Recursion) Stop if outside the sector Limit and send the notification

LaserRangeFinder FindNearest Action Input values i – index at which to start searching (int) Increment – index step size (int) Limit – index at which to stop searching (int) Data – laser data (List of int) Nearest – nearest found so far (int) Label – sector (string: “Left”, “Right”, “Center”) Sends FoundNearest notification Nearest – nearest measurement in sector (int) Label – sector (string: “Left”, “Right”, “Center”)

AutoDrive UpdateDrive Action Simple state machine Variable State (“Forward”, “Turn”) Input values Left, Right, Center (int) If currently in “Forward” mode If Center > 1500 Stop driving, go to “Turn” mode If currently in “Turn” mode If Center > 2000 Go to “Forward” mode, drive forward Else turn left or right

Main Diagram Notifications from LaserRangeFinder Left and Right stored in variables On Center get all variable values and send to UpdateDrive action of AutoDrive

Simple VPL Explorer

Summary Autonomous behavior Constantly update actuators based on sensors and state Factoring of activities Data collections and recursion Simulation and reality

See also Robotics Tutorial 5 C# Path planning for smooth obstacle avoidance VplExplorer (Channel 9 Sandbox) Enhanced version of this tutorial Combines wandering with joystick drive

© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.