Raúl
Moderador
 Moderador
| Mensajes: 444 |  | Karma: 6
|
Re:Extensibility - 2007/09/24 18:02
I don’t think ‘un-extensibility’ is a tradeoff you have to pay for ease of use in this case. The Microsoft Robotics Studio is a development platform that offers you different components, and it is up to you which ones to use (or combine).
As I have read about the ease of use I was immediately thinking about the VPL (Visual Programming Language), which I think is a really awesome tool if you don’t like to use conventional programming or you just want to develop a relatively simply application within minutes. However, you can write your own services by writing .NET code (usually C#).
So back to the core of your question, extensibility, I think the MSRS team has done a good job in this regard. You always can choose between using pre-existing services or use your own ones. Anyhow, the (good) use of generic contracts can take extensibility (and interoperability) to the next level. I think the key to extensibility is reusability. If you are writing code for a differential drive robot base, this very same code should be valid for any hardware that implements a differential drive. For that reason, it is wise to use a generic contract for the differential drive service. That allows you code to be written independently of the hardware that will ultimately do the physical work. Have a look to the latest tutorials about writing and using generic contracts [1].
Additionally, you can use exactly the same code both for the real robot and for the simulation (the Visual Simulation Environment is another component that comes with MSRS).
As you have mentioned Parallax, I know there is a Boe-Bot kit for Microsoft Robotics Studio [2], which might be of interest for you. I am currently working with ARCOS based robots, so I am afraid that I can’t be of much help regarding the BOE board. However, I’ve seen some related threads in the MSRS Hardware forum [3,4]
About the BasicStamp device, this is an answer by George from MSRS to the question of interfacing with / or executing code in the Basic Stamp [4]:
Hi, unfortanutely there is no such C# translator. The BasiStamp processor is very constrained and the C# language targets IL (intermediate language) that cant be trivially targeted to the boebot. If you want autonomous robots with boebot + MSRS, then you can take a CE device, like a cellphone, wire it ontop of the boebot and have it communicate with the boebot over bluetooth. The Wimo bot does this with MSRS running in the CE cellphone, talking over bluetooth to lego NXT, etc
So, maybe using a .NET compact framework device could be a possible solution for you to analyze… The MSRS runtime is also available for .NET compact framework.
I guess that other way to interface with the pbasic code is to write your own services that talk to the robot API (if someone hasn’t done it already). And then, you can write whatever application you like that relies on the basic services that interface with the BOE board.
Hope this helps..
[1] http://www.conscious-robots.com/en/robotics-studio/robotics-studio-howto/how-to-create-a-generic-
con-2.html [2] http://www.parallax.com/html_pages/products/robo/msrobostudio.asp [3] http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1675710&SiteID=1 [4] http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1876544&SiteID=1
Raúl Arrabales Moreno. conscious-robots.com/raul |