130 likes | 222 Views
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
E N D
MSRS - Critique on its Usability via a Path Planning Algorithm Implementation George Markou & IoannisRefanidis 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) AIAI 2009
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” AIAI 2009
Related Work What 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? AIAI 2009
Robotics Platforms Comparison AIAI 2009
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) AIAI 2009
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) AIAI 2009
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 AIAI 2009
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# AIAI 2009
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 AIAI 2009
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 AIAI 2009
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 AIAI 2009
Thank you! • Comments? Questions? • Contact us at: gmarkou/ yrefanid@uom.gr AIAI 2009