Tutorials Available? And Serializer.NET vs. RoboticsStudio
Navigates to RoboticsConnection.com Home RoboticsConnection.com HomePage
RoboticsConnection User Forum
Home       Members    Calendar    Who's On
Welcome Guest ( Login | Register )
        



Tutorials Available? And Serializer.NET vs.... Expand / Collapse
Author
Message
Posted Monday, March 31, 2008 8:20 PM
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

Group: Forum Members
Last Login: Thursday, April 03, 2008 8:22 PM
Posts: 16, Visits: 24
I am interested in learning more about how to use Serializer with RoboticsStudio.  Are there any "how-to" tutorials, labs, or example code available, specific to using Serializer and attached sensors/servos/motors with RoboticsStudio?  (I have seen the Microsoft labs and tutorials, but nothing specific to Serializer).

Is there a way to communicate with non-supported I2C devices in RoboticsStudio, akin to the I2CDevice class in Serializer.NET?  (I didn't see one while poking around the Visual Programming Language environment).

What are the benefits (if any?) of programming with RoboticsStudio, vs. with C# and Serializer.NET? 

Post #277
Posted Tuesday, April 01, 2008 6:02 AM


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

Group: Administrators
Last Login: 2 days ago @ 6:12 AM
Posts: 254, Visits: 375
Hi John,

I do have a How-To Guide started for the Serializer Services.  It's about 85% complete.  I'd be glad to send it to you, but I can't post it yet, since it's not complete.  It's very thorough, and has lots of pictures, so it's not something that I can just finish in a few hours, else I would.

A good friend of mine (Chris Kilner) wrote I2c services for the Devantech sensors.  Chris writes excellent software, so these services should work well.

There are a lot of pros and cons to MSRS vs. using the Serializer .NET Library.  Both have strengths and weaknesses.  I don't recommend MSRS for newbies, unless you have a lot of time, and you aren't the type that requires instant gratification.   While MSRS does simplify many complicated programming tasks (arbiters to handle thread scheduling/synchronization/locking of parallel processes/etc.), it is still somewhat difficult to pick up (because it requires you to think in a totally different way (parallel) compared to traditional programming (sequential)).  It is also a CPU hog, which means it struggles to run on embedded processors with less than 500Mhz of CPU (and this obviously varies between different processor architectures).  It really wants to run on a 1Ghz+ cpu.

If you're looking to run MSRS on an embedded CE device, it also has another down-side (in my mind) of having to build a deployment pkg, which has to be built and deployed to the device EVERY TIME you change the code.   It's not handled for you from within Visual Studio.  You have to manually create the deployment package.  It's not difficult, but this takes time away from your development, and is a huge drawback in my mind.

On the other hand, it scales very well, it promotes code reuse, it provides useful objects (arbiters/task queues) to perform parallel/sequential processing (and everything in between), it provides a standard framework from which to build upon, and many other things.  I'll have to say that MSRS is VERY powerful when used on the right hardware.  I think they have a great start, but still have a ways to go.  I've spoken with them regarding the need for a lot of CPU, and how it struggles on embedded controllers.  They're basically writing the architecture and waiting until CPUs get cheaper and cheaper, instead of attempting to get MSRS to run on slower processors.  This is all fine and good, but it kinda leaves those who do have < 1Ghz processors out in the cold for a few years.   You can go out and get a 1Ghz+ processor, but then you need a large battery to power it (since most pull 2.5A+), or a smaller expensive lithium ion battery.

The Serializer .NET library is much easier and faster to use, it doesn't require the overhead that MSRS does, so you can run CE based applications (using the Serializer .NET CF Library) on embedded processors (200Mhz+) all day long, and get excellent performance. Deployment to an embedded device is only a click away (in Visual Studio).

The drawback to using the Serializer .NET library is that if you want to write an application that wants to peform some parallel processing (say vision recognition), then you have to write code to properly handle the asynchronus behavior found in parallel processing (multi-threading, thread priority, locking around shared resources/critical sections, scheduling threads, etc.).

James Y. Wilson and I have struggled through developing MSRS services for embedded processors together, so we tend to like our .NET and C++ libraries over MSRS for our robotic applications.

The jist is, if you're a newbie, and want to develop simple behaviors that run on a low powered processor, stick with the .NET or C++ libraries.  If you have ample CPU and battery power, and want to develop some very sophisticated behaviors, look to MSRS.

Hope that all makes sense!

Best Regards!

Jason Summerour
President,
Summerour Robotics Corporation
Microsoft MVP
www.roboticsconnection.com

Post #278
Posted Tuesday, April 01, 2008 4:46 PM
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

Group: Forum Members
Last Login: Thursday, April 03, 2008 8:22 PM
Posts: 16, Visits: 24
Jason,

Thanks for the very thorough and thoughtful response, it is most appreciated!  It answers many questions and confirms many guesses that I had.  I would be interested in a preview of the How-To guide, how do I contact you?-- info@roboticsconnection.com?  Maybe I can provide some feedback to help you out with it.

I am a newbie particularly on the hardware side of things, but have no intention of remaining a newbie for long, so I'm trying out everything I can get my hands on     I have no projects or deadlines, just having fun teaching myself how all this stuff works: so I probably do meet the criteria of having lots of time and no need for instant gratification.  I do have a background in C# web development, so at least from the programming standpoint I'm not starting from scratch.

Thanks again!

Post #283
Posted Tuesday, April 01, 2008 6:09 PM


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

Group: Administrators
Last Login: 2 days ago @ 6:12 AM
Posts: 254, Visits: 375
John,

I love to hear about people teaching themselves things...There's too many people out there that would rather stare at the tube!

Sounds like you won't have any problem w/ MSRS.

Yeah, just shoot me an email (jason at roboticsconnection dot com), and I'll send you the latest copy of the MSRS App Dev Guide.

Best Regards!

Jason Summerour
President,
Summerour Robotics Corporation
Microsoft MVP
www.roboticsconnection.com

Post #284
« Prev Topic | Next Topic »


Reading This Topic Expand / Collapse
Active Users: 0 (0 guests, 0 members, 0 anonymous members)
No members currently viewing this topic.
Forum Moderators: jsummerour

Permissions Expand / Collapse

All times are GMT -8:00, Time now is 3:38pm

Powered By InstantForum.NET v4.1.4 © 2008
Execution: 0.265. 11 queries. Compression Disabled.