View
215
Download
2
Tags:
Embed Size (px)
Citation preview
MSRS - Critique on its Usability via a Path Planning Algorithm Implementation
George Markou & Ioannis Refanidis
University of Macedonia
Greece
Microsoft Robotics (1/2)• Microsoft Robotics Studio (MSRS) 1.0
– Originally available in late 2006
• MSRS 1.5 Refresh – Available in late 2007– Version we used to implement our experiments
• Microsoft Robotics Developer Studio (MRDS) 2008– Current version (Since April 2008)
April 18, 2023 AIAI 2009 2/13
Microsoft Robotics (2/2)Features include:– Microsoft Visual Simulation Environment (VSE)
• 3D physics-based virtual environments• User can create / import 3-dimensional meshes into MSRS’ simulation
environment
– Support for multiple programming languages• C#, C++, VB.NET, Iron Python• Visual Programming Language (VPL)
– Built-in support for multiple robots• LEGO MINDSTORMS NXT, iRobot Create, MobileRobots Pioneer P3DX, etc.
– Concurrency and Coordination Runtime (CCR)• “manages asynchronous operations, exploits parallel hardware and deals
with concurrency and partial failure”
April 18, 2023 AIAI 2009 3/13
Related WorkWhat others say:
– Lots of technological solutions to common robotic field problems : e.g. VPL & concurrency
control &efficient distributed message passing. (Jackson J, 2007)– Usefulness in academic environment:
• Link between language syntax already known to students and unfamiliar robotics semantics• Satisfied with the available features of the program and its support (Workman K & Elzer S,
2009))– Will force other platforms to develop their competitive products so as to offer similar
capabilities (Tick J, 2006)
– Evident limitations: e.g. integration with low level processors (Jackson J, 2007)
– Usefulness in high school environment:• Main disadvantage: Visual programming language used requires detailed knowledge of an
imperative programming language (Tsai W T et al., 2007)
Our critique?
April 18, 2023 4/13AIAI 2009
Robotics Platforms Comparison
April 18, 2023 AIAI 2009 5/13
MSRS 1.5 MobileRobots Skilligent Orocos Player Project Urbi/ Webots
Open Source No No No Yes Yes Parts of Urbi
Free of Charge Express Edition No No Yes Yes No
Windows/ Linux Yes/ No Yes/ Yes Yes/ Yes No/ Yes No/ Yes Yes/ Yes
Other OS No No No No Yes Yes
Distributed Services Yes No Yes No Limited Yes
Drag-and-Drop IDE Yes No No No No Yes
Object Recognition No No Yes No No No
Localization No Yes Yes No No No
Learning/ SocialInteraction
No No Yes No No No
Simulation Environment Yes Yes No No Yes Yes
Reusable Service Blocks Yes Yes Yes Yes No Yes
Real-Time No No No Yes No No
Maze Domain (1/2)• Simulated Maze
– Originally created using MSRS 1.5 Refresh– Migrated to MRDS 2008
• Creating very realistic environment: not suited for novices– Professional examples: see SimplySim (www.simplysim.net)
April 18, 2023 AIAI 2009 6/13
Maze Domain (1/2)• Our environment
– Simpler – Based on the “MazeSimulator” project (Trevor Taylor -
http://www.promrds.com/Downloads.htm) – Gridworld of size 7×7– Nodes can randomly alternate their status between blocked & unblocked
(abstraction of the Robocup Rescue Simulator Competition - http://www.robocuprescue.org)
April 18, 2023 AIAI 2009 7/13
Maze Domain (2/2)• Robot
– Pioneer 3DX with mounted Sick Laser Range Finder (LRF) LM200
• Movement of the robot:– Moves in a straight line for a distance equal to the length of a node.– Decides, based on the planning algorithm, if a turn is necessary– Executes the turn (in angles which are multiple of 90°)
• Using LRF, the robot builds a tri-color map of the environment– White color: Free space – Black color : Laser hit an obstacle– Grey color: Non explored part of the maze
April 18, 2023 AIAI 2009 8/13
Implementation• Implemented the backwards version of the Lifelong Planning
algorithm (LPA*) (Koenig et al., 2004)– Combination of heuristic (A*) & incremental algorithm
(DynamicSWSF-FP)– Able to repeatedly find a shortest path between two given
vertexes in a dynamic environment
• Dynamic Environment: Blocking / unblocking a maximum of two nodes.
• Use of C#
April 18, 2023 AIAI 2009 9/13
Critique (1/2)Why not VPL?
• Preference towards languages related to our previous knowledge (in our case C#)• Diagrams tend to become exceedingly large as program’s complexity increases• Limited support for arbitrary user-defined data types • Built-in support:
– Control flow: “if statements”– Collection of items: lists– Recursion and arrays are not natively supported
Why VPL?
• Graphical “drag-and-drop” programming– Best suited for novice users
• Creation of a program by “orchestrating activities” == connecting activity blocks• Most useful as a tool, especially if one is not familiar with MSRS’ environment
– Easily create the skeleton of a basic program by wiring activities to each other & automatically generating C# code through it
April 18, 2023 AIAI 2009 10/13
Critique (2/2)• CCR:
– Handles the required messaging and orchestration efficiently – Instead of writing complex code to coordinate sensors & motors functioning
simultaneously
• Simulation environment– Served our functional needs– Aesthetically appealing
• MSRS 1.5 Refresh: Extensive features & capabilities
• Potentially establish it as the field’s standard• Major advantage: Vast economical & commercial support a company like Microsoft can
provide for it
Several minor or major difficulties• Major: Unexpected termination depending on the machine it was executed on• Most attributed to small life cycle of the product migration to MRDS resolved them• Such problems could discourage researchers/educators from relying on it
April 18, 2023 AIAI 2009 11/13
Future Work• Different environment
– Induce changes to it more than once– Coordinate MSRS’s services to communicate automatically every
time a change occurs
• More efficient, semi-quantitative evaluation– Develop structured questionnaire– Ask two groups of students to fill them out– Each of them will implement a similar robotics project in MSRS &
another robotic platform
April 18, 2023 AIAI 2009 12/13
Thank you!
• Comments? Questions?
• Contact us at: gmarkou/ [email protected]
April 18, 2023 AIAI 2009 13/13