Programming and Simulating Robots with Microsoft Robotics Studio

worrisomebelgianΤεχνίτη Νοημοσύνη και Ρομποτική

2 Νοε 2013 (πριν από 3 χρόνια και 11 μήνες)

85 εμφανίσεις

1of 34
Programming and Simulating Robots with
Microsoft Robotics Studio
Ben Axelrod
http://www.benaxelrod.com
http://www.corobot.net
2of 34
Agenda
•What is it?
–In a nutshell
–“Supported”hardware
–Simulator
–Architecture
•Mobile Manipulator example
•Look at some code
•Running MSRS
•Downsides
•Demo (if time)
3of 34
In a Nutshell…
•A distributed asynchronous service-
oriented architecture (for robotics)
•CCR
(Concurrency and Coordination Runtime)
–Message orientedprogramming model
•DSS (Decentralized System Services)
–service oriented application model
•Built on .NET
•A physics based simulator
•A visual programming language
4of 34
Implications of .NET
•.NET is Microsoft’s new development
environment
•Choice of languages: C#, VB, C++, Python…
•Requires: Windows XP, CE, Vista
•Most robots will be “tethered”
5of 34
“Supported”Hardware
•Included with MSRS:
–Lego RCX + NXT
–Parallax BOE Bot
–fischertechnik
–iRobotCreate
–KHR-1
–MobileRobotsPioneer P3DX
•Third party:
–CoroWare CoroBot
–Parallax Scribbler
–Segway RMP
–Robotics Connection Traxster+ Stinger
–Princeton PAVE UGC car
•Sensors:
–SICK LRF
–Webcams
–IP Webcams
–Phidgets
–MS GPS
6of 34
Simulator
7of 34
Simulator
8of 34
Simulator
9of 34
What is a service
•Separate state and behavior
10of 34
Message transport
11of 34
CCR •Coordinating asynchronous tasks
Receive
T
ask
12of 34
CCR •Coordinating asynchronous tasks
Join
Task
13of 34
CCR •Coordinating asynchronous tasks
C
hoice
Task
Task
14of 34
Example –mobile manipulation
•GT Class Project
•KUKA KR-5 sixxR650
•SchunkPG-70 parallel
gripper
•Segway RMP 200
•SICK LMS 291
•Objective: Serve coffee
15of 34
•MSRS used as ‘glue’for robot systemExample –mobile manipulation
16of 34
Example –mobile manipulation
17of 34
Standard Hierarchy
18of 34
Code Example
•Custom line sensor
•We want to build a MSRS service that:
–Has some simple state
–Supports subscriptions
–Can be calibrated with a special message
19of 34
Code
•Contract and class
20of 34
Code
•Main port and message definitions
21of 34
Code
•Class
22of 34
Code •Message handlers part 1
23of 34
Code •Message handlers part 2
24of 34
Code •Callback
25of 34
Usage •Manifest
26of 34
Usage
•Contract directory
27of 34
Usage
•XML state
28of 34
Synchronous Tasks –Bad
29of 34
Synchronous Tasks -Good
30of 34
Why I Like It
•.NET is great
•CCR nice for asynchronous code
–MySpaceuses it
•It’s Microsoft
–MS on a robot is laughable
•Kuka uses it
–This is the direction robotics is going
•One home computer controlling all robots
•Everything now is off-board computation
31of 34
Downsides
•Steep learning curve
•Lots of boiler-plate code
•Can start services in many ways
–Partnerships break down with large numbers
•Requires a fairly fast computer
–I want to put code on a Gumstix
•Can be difficult to debug sometimes
•No contract inheritance
•Users must faithfully
implement contracts
•Lots of pre-existing robotics code for Linux
•No distinction between “in”and “out”messages
32of 34
Competitors
ORCA (Toshiba)
CommercialPlatformiRobot AWARE
Open sourcePlatformCLARAty(NASA JPL)
Commercial or Free Saphira(Mobile Robotics)
Open Source & FreeDROS
Open sourcePlatformOpenJAUS
Open source & Free
Machine and robot
control libraries
OROCOS
CommercialRobot learning add-onSkilligent
CommercialPlatformURBI
CommercialSimulation environmentWebots
Open Source & FreePlatformPlayer, Stage, Gazebo
TypePlatform
CommercialPlatformERSP(Evolution Robotics)
Commercial or Free PlatformMicrosoft Robotics Studio
http://www.linuxdevices.com/articles/AT5739475111.html
33of 34
Resources
•Microsoft Robotics
–http://www.microsoft.com/robotics
–The team Blog, product downloads and community-
support newsgroup are linked from this main page
–Wiki: http://channel9.msdn.microsoft.com
•CoroWare, Inc.
–Corporate: http://www.coroware.com
–ClassPackdemo: http://support.coroware.com/forums
Programming Microsoft Robotics Studio
by Sara Morgan
Professional Microsoft Robotics Studio
By Kyle Johns, Trevor Taylor
34of 34