PDA

View Full Version : MS Robotics Studio



asbrandsson
12-28-2006, 04:49 PM
Hello,

Is MS Robotics Studio any good?

Asbrandsson

Alex
01-02-2007, 08:31 AM
I can't really speak to much on our own personal opinion of Microsoft Robotics Studio, as we haven't had that much direct experience with it. However, I can say that MSRS has had a good turnout. Just looking at the MSRS's partner page and all the online reviews will tell you this.

I hope to play around with it after we're at a better point with our own system, and possibly one day plug our system into MS Studio.

khayash
01-14-2007, 10:19 PM
I've been playing with MSRS 1.0 this weekend only, but remain a bit frustrated.

I have a laptop with MSRS1.0 and then installed Phidgets library and the MSRS software. I tried throughout the day to understand the poorly documented VPL features. I posted on the phidgets and MSFT discussion boards and hope to locate other guys working with phidgets, MSRS1.0, and Mindstorms NXT.

The Mindstorms NXT samples are all written for someone familiar with C#, which I am not. I am more familiar with VB.

The NXT brick needed upgraded firmware (ver 1.4) which took a bit of doing to get working. Unfortunately, I had a glitch with the firmware upgrade software from Lego and had to retry twice (finally got it to work). The firmware seems to be working well, but the NXT brick is unable to communicate with the bluetooth USB dongle attached to the PC.

The MSRS 1.0 lacks documentation on the VPL services that are listed.

I've tried all day to understand what MSFT, phidgets, and Lego are doing with the VPL services. I've reached the conclusion that I lack sufficient training in windows services to really be able to configurer the system successfully.

Upon downloading the examples from phidgets, the phidgets are clearly working. I was able to download the example for the IFK, attach a light sensor and a temperature probe. Both sensors are attached to the 8/8/8 IFK and are able to send data to a visual basic 2005 example application.

Therefore, you would expect that the MSRS1.0 VPL application would be able to get data, but it is not intuitive to program in the VPL system because there is no documentation and no example to reference.

If any one has a working MSRS 1.0 application where you can get the sensor value from an 8/8/8 IFK, please post your results.

I am merely interested in showing a sensor's value in a format that is constantly updated.

Alex
01-15-2007, 08:51 AM
Do you have the Phidgets Services for Microsoft Robotics Studio 1.0 (http://www.phidgets.com/modules.php?op=modload&name=Downloads&file=index&req=getit&lid=32) installed?

khayash
01-17-2007, 08:38 PM
Yes, I did download the phidgets for MSRS1.0 file.
However, I do not see any documentation that describes how to use the phidgets with MSRS 1.0.
For instance, is there a file which specifically walks the user through how to interface the Phidgets IFK with MSRS 1.0?

This is entirely frustrating and it appears as if one group of users is passing information on how to implement and not sharing with the users who BUY the hardware!

Do I sound frustrated?

heck yes.

I have owned the phidgets for 18 months and have yet to implement the solution I created because the documentation is so poor that I can not figure out the services involved!

The idea is simple.

I just want to pass sensor values to a database.

But, where is the documentation on how to use MSRS 1.0 to open the service and pass the data?

The VPL should be able to pass the sensor value, but there is clearly a problem with passing phidgets data through VPL due to a glitch with passing zero values!

Alex
01-18-2007, 01:21 PM
Sorry to hear about the frustration:(

The reason why there isn't too much documentation on it right now is because of the Phidgets Services for MSRS are still really new (only a little over a month old). However, they do have an introductory to the services up on their website:

http://www.phidgets.com/modules.php?op=modload&name=Sections&file=index&req=viewarticle&artid=109&page=1

Hopefully this will help you out a bit. Please feel free to share with us your experiences!

khayash
01-18-2007, 11:09 PM
Hi Alex,
I also posted some comments on the MSFT Robotics Community Board. A person responded that there is some discussion about posting an example of the Phidgets IFK working with MSRS 1.0 VPL.

I sure hope that someone else is trying these stuff.

Do you guys have it working?

Alex
01-19-2007, 10:39 AM
I know Phidgets themselves have it working, as they built the services;) However, unfortunately, we (Trossen Robotics) haven't had the chance yet to work with MSRS. Please keep us updated with everything you find out, as I'm sure there will be many after you (or even now) here in the community that would greatly appreciate anything you would like to share here about your experience. Also, please feel free to ask any specific questions you have about using MSRS with Phidgets here because there may very well be people who know all about it that participate in this community:)

EDIT: We worked with MSRS a bit back in it's Beta stage, but unfortunately, we have not had the time yet to work with it again.

Alex
01-23-2007, 09:48 AM
For anyone that's interested in integrating Phidgets with MSRS, our friend, Brian Peek wrote up a nice tutorial on the Coding4Fun website showing how to control a remote controlled car with your computer using MSRS, Phidgets and a camera:

http://msdn.microsoft.com/coding4fun/hardware/robotics/article.aspx?articleid=1507304&title=Computer-Controlled+R%2fC+Car+with+Camera

ROBOTMAN
12-24-2008, 12:43 AM
I am interested in using phidgets with MSRS 1.5 but was unable to find any documentation or code samples! You think they would have learned by now!

Adrenalynn
12-24-2008, 01:24 AM
Hi RobotMan - welcome to the forum!

There are about two bazillion pages just on the MSDN - what didn't you find?

http://msdn.microsoft.com/en-us/robotics/aa731536.aspx

ROBOTMAN
12-24-2008, 04:14 PM
I searched MSDN but was unable to find any tutorials on using Phidgets with visual program language. "The one that comes with MSRS 1.5".:confused: Can you point out a specific link?

DresnerRobotics
12-24-2008, 04:25 PM
It appears Phidgets' software is compatible with MSRS 1.5, according to this: http://www.phidgets.com/downloads.php?example_id=14

A quick search on MSDN for 'phidgets msrs' (http://social.msdn.microsoft.com/Search/en-us/?query=phidgets+msrs) yielded 2 projects of notice in the first few results, may be more with further digging:

http://blogs.msdn.com/coding4fun/archive/2007/01/22/1507304.aspx

http://blogs.msdn.com/coding4fun/archive/2007/06/12/3243294.aspx

Adrenalynn
12-24-2008, 04:27 PM
Aha. That would be a "Phidgets problem", not a "Microsoft problem". ;) Microsoft doesn't support all the pieces that everyone else writes, only their own core.

There's plenty of whining on the phidgets forums about it, but not much help. You can do a google search like this:

site:phidgets.com +robotics-studio

That says to limit your search to phidgets.com and search for robotics studio.

Imagine if Microsoft had to offer support for the thousands of add-ons written by other companies... Not even they're THAT big. ;)

billyzelsnack
12-25-2008, 09:19 PM
Imagine if Microsoft had to offer support for the thousands of add-ons written by other companies... Not even they're THAT big. ;)

haha. That pretty much defines their OS business.

Adrenalynn
12-25-2008, 10:18 PM
Yup - and as much as I'm not the biggest MS_FanGirl - I have to admit, that's probably 30% of the "problem" with Win*. 60% is, imho, their having to support old hardware and old architectures (a decade at least after I'd dropped 16bit support myself they were still carrying it along, and still do to some extent today). The last ten percent? Well, I'll be politically correct and not explore that... ;)

ROBOTMAN
01-07-2009, 08:32 PM
I am lost. No body knows how to use the basic phidgets services for MSRS VPL. If you have ever used phidgets with MSRS VPL Post it here! Tons of people are looking for help on using Phidgets with MSRS VPL!:confused::confused::confused:

lnxfergy
01-07-2009, 10:11 PM
You've posted multiple questions about using it (not just about phidgets interfacing either), I'm guessing that you are posting these same questions to the MSRS forums, and not getting any assistance there either. How much do you have invested in MSRS? If you haven't developed a large sum of non-portable code, why not jump ship and look for other options.

I believe that phidgets inteface with just about everything out there - except MSRS (can't blame them, ann I'll leave at that so that my M$ rant doesn't need moderater action...). I'm also a strong believer that you can do just about any single action in Python in under 50 lines of code. Connor has been working on a robot based on Python, I'm working on a bot based on Python, and so are others. And there lots of other options out there, I'm just using Python as an example.

But really, if I was starting on a project and having lots of trouble and getting no help - I'd abandon ship to a better set of tools....

-Fergs

ROBOTMAN
01-07-2009, 10:30 PM
You are probably right. I have not "abandoned ship" yet because of the great easy to use services like vision and speech. Show me a language with an easy and free way to get vision, speech recognition, and speech synthesis and I will "abandon ship" asap! But seriously has nobody done any development with Phidgets in VPL?

jes1510
01-07-2009, 10:41 PM
Does MSRS support sockets? If so then write a socket client as a translator between MSRS and Phidgets.

MSRS-> Socket -> Client/translator -> Phidgets board

Adrenalynn
01-08-2009, 12:19 AM
Those two threads merge up nice and pretty.

Connor
01-08-2009, 12:32 AM
You are probably right. I have not "abandoned ship" yet because of the great easy to use services like vision and speech. Show me a language with an easy and free way to get vision, speech recognition, and speech synthesis and I will "abandon ship" asap! But seriously has nobody done any development with Phidgets in VPL?

OKay, Done. Python.. My Bot, Argos is a PC based Robot. So far, I'm using Python 2.5 for the base programming language & A.I., and Roborealm for vision. I have him talking via TTS (using Microsoft TTS engine, and ATT Voice set Mike and Crystal), I also have him accepting voice commands via Microsoft SAPI v5.1. The TTS and Speach Recognition are handled via python, as is using the Phidgets 8/8/8 Interface Board, Devantech USB-to-I2C converter, X10 Firecracker, Maxbotix Sonars (A array of 6 chained, using serial) and the IRobot Create for the drive train. The ONLY thing I've yet to be able to do via Python is mute the microphone, which, I was able to do with a third party command line executable, which, I can execute via python! I've never used Python till I started this project, and so far, this is what I was able to accomplish.. Also, I might mention, that I'm even using Threading in order to continually update the sonar and compass, and Queue the TTS so that I don't have any blocking functions. As soon as I get the mapping software written using the A-Star algorithm I'll be posting a very extensive thread on him, but, that's going to be a little while. I'm very happy with my choice of using Python.. I had debated on using vb script, Visual Basic, and yes, even MSRS, however, MSRS is just way to kludgey for even the most experienced programmers.. So, I decided to go with something more main stream. If you want help and support, I would re-think my choice of using MSRS. Just my opinion.

Thanks, Connor

ROBOTMAN
01-08-2009, 11:25 PM
Wow ok! How much background do you have in programming? One more thing that I forgot to mention in that original post. What about more than one loop? In MSRS you can check the ultrasonic sensor and move the servo at the exact same time! I have never used python and I am a beginner so is their an easy way to do that? I have always had problems in codes like java with getting things to run at the same time, with MSRS it is easy. If python sounds good though you sound like the person to talk to for help!!!

Connor
01-08-2009, 11:36 PM
Wow ok! How much background do you have in programming? One more thing that I forgot to mention in that original post. What about more than one loop? In MSRS you can check the ultrasonic sensor and move the servo at the exact same time! I have never used python and I am a beginner so is their an easy way to do that? I have always had problems in codes like java with getting things to run at the same time, with MSRS it is easy. If python sounds good though you sound like the person to talk to for help!!!

I've been programming since I was 12 years old, I'm now 33. However, I had never used python till about 3 months ago. As for more than one loop.. That's what I meant when I said..


Also, I might mention, that I'm even using Threading in order to continually update the sonar and compass, and Queue the TTS so that I don't have any blocking functions

Threading allows you to run multiple loops and you can use global variables and Queues to pass data back and forth (At least that's how I'm doing it).

Here is a example of threading in python (my compass code)




class compass ( Thread ): # Compass Thread
def run ( self ):
global heading
global prev_heading
global target_heading
global compass_delay
global done
while not done: # Compass Loop
out = pack('4B',0x55,0xC1,0x02,0x02)
ser.write(out)
out = ser.read(2)
if len(out) >=2:
prev_heading = heading
heading = (ord( out[0]) * 256 + ord(out[1])) * .1
if prev_heading != 6553.5 and heading == 6553.5:
Voice_Q.put('Compass now offline')
elif prev_heading == 6553.5 and heading != 6553.5:
Voice_Q.put('Compass now online')
time.sleep(compass_delay) # sleep for some time in order to not eat up all CPU.
else:
print "Heading: READ ERROR"
time.sleep(.15)

compass().start() # start compass

while not done: # main loop
.
.
.



As for me being the person to talk to.. I dunno about that.. Like I said, I'm just learning python as I go.. BUT, Lots of people on here know it... So, You can ask questions, and everyone will try to help.

Thanks, Connor

ROBOTMAN
01-08-2009, 11:51 PM
Python looks different from the languages I'm used to "Java, MSRS" as for threading I had no idea! How hard was python to learn? Is the code for your robot posted in the data center I would like to take a look at it?

jes1510
01-08-2009, 11:52 PM
Bits of that code look oddly familiar ;)

Python is pretty easy to pick up but be warned that threading is one of the toughest concepts. It definitely will allow you to read a sensor and do something else at the same time. You just have to be careful when syncing your data between threads.

ROBOTMAN
01-08-2009, 11:56 PM
Ok. How log do you think it would take a total beginner to Python "Me" to learn threading? Make that a total beginner to code in general!

jes1510
01-08-2009, 11:57 PM
The uber super quick python synopsis:

It's awesome with regular expressions
It's not awesome if you need something uber super duper fast (ie assembler)
It's white space aware so it forces you to write pretty code
Write ugly code and it won't work
They're called lists, not arrays
It's 100% free (as in beer)
It's cross platform
There are a bazillion tutorials on the web
It does sockets really well

jes1510
01-08-2009, 11:58 PM
Well it depends. Do you have any Object Oriented programming experience?

lnxfergy
01-09-2009, 12:28 AM
Ok. How log do you think it would take a total beginner to Python "Me" to learn threading? Make that a total beginner to code in general!

This past semester I TA'd an intro to CS class using python and robots (scribbler robot with Fluke board from Bryn Mawr/Georgia Tech). Out of a class of 18 or so, 3 students used threading in their final projects - in python it's really not that difficult. It was an honors class, but we still had people who went from not understanding "now save the file" to writing python code in 15 weeks. And I know at least a few of them did nothing other than show up for class 2.5 hours a week....

-Fergs

Connor
01-09-2009, 12:47 AM
Python looks different from the languages I'm used to "Java, MSRS" as for threading I had no idea! How hard was python to learn? Is the code for your robot posted in the data center I would like to take a look at it?

Yea, Python is a little different, but, it's pretty neat.

As for my code, the only thing post thus far is that code for reading the Sensors.. The rest of the code is still "highly classified" :happy: Nah, It's just messy, and not really ready for anyone to see it yet. I need to get Jess and Fergs to help me with the A-Star Path finding, mapping and navigation! ;)

Connor
01-09-2009, 12:48 AM
Bits of that code look oddly familiar ;)

Python is pretty easy to pick up but be warned that threading is one of the toughest concepts. It definitely will allow you to read a sensor and do something else at the same time. You just have to be careful when syncing your data between threads.


Yup, That's some of the code we worked on last Friday night! :)

Connor
01-09-2009, 12:50 AM
Well it depends. Do you have any Object Oriented programming experience?

*boggle*, That's funny, I really don't.. I don't think.. Never taught myself C++, and hate java.. javascript is bad enough, but, python has been pretty nice to me.. Tons of stuff out there on how to do things.. The Text-to-Speach, Voice Recognition and Threading I all found by doing google searches and using example code.

Thanks, Connor

lnxfergy
01-09-2009, 01:17 AM
I need to get Jess and Fergs to help me with the A-Star Path finding, mapping and navigation! ;)

Interestingly, one of 4 robots under active development is a fairly large bugger that will have a Dell Mini 9 laptop for it's main brain - and yeah, it's gonna be running Python - my current plan is to bring over most of my work on mixed topological/metric (or topometric as I like to call it) mapping that I did with XRB3. That stuff is all written in fairly nasty C, lots of static arrays so it needs a serious rewrite into something more scalable - as well as adding the capability of mixing visual stimuli in for node-detection in the topological map, and ...

Yeah lots of stuff to finish there - it's really just a pile of parts - but the pile gets bigger each day. I plan to finish wiring up the interface board this weekend (USB->AVR->sonar/IR/bioloid servos for neck) and will hopefully be up and running in about 2 weeks.

I've attached a pic of the CAD rendering of the bot, it will stand about 32" tall - sort of looks like a cross between K9 and Odie. And with that I believe we are sufficiently off topic!

-Fergs

Adrenalynn
01-09-2009, 02:44 AM
I'd just like to go on record as noting that: MSRS is _not_ a "language". It's a platform or architecture, but certainly not a language...

jes1510
01-09-2009, 08:08 AM
Helpful links:
www.python.org (http://www.python.org)

Pyserial (for serial ports)
http://pyserial.wiki.sourceforge.net/pySerial


If you're running windows then you have to have this for Pyserial to work:
http://sourceforge.net/projects/pywin32/

Python Docs tutorial:
http://docs.python.org/tutorial/

ROBOTMAN
01-10-2009, 05:57 PM
I already have a problem using python. When I tried to run the Phidgets motor controller example that I downloaded it gave me a error saying "invalid syntax". Here is a code snippet.


ayDeviceInfo():
print "|------------|----------------------------------|--------------|------------|":sad:
print "|- Attached -|- Type -|- Serial No. -|- Version -|"
print "|------------|----------------------------------|--------------|------------|"
print "|- %8s -|- %30s -|- %10d -|- %8d -|" % (motorControl.isAttached(), motorControl.getDeviceType(), motorControl.getSerialNum(), motorControl.getDeviceVersion())
print "|------------|----------------------------------|--------------|------------|"
return 0

the top parenthesis "The one with the frowny face next to it" are highlighted after this error message appears.

ROBOTMAN
01-10-2009, 07:01 PM
Ok I know what went wrong I need version 2.6.1 not 3.0.

ROBOTMAN
01-10-2009, 11:59 PM
Python is a really great language! I already can control my motor controller board easily! Thanks for the referral.
<note I am starting a python help and share thread here is where you can find it> http://forums.trossenrobotics.com/showthread.php?p=25641#post25641
If you are good at python or have some cool code share your code and help beginners!

jes1510
01-11-2009, 08:14 AM
There is a module that you can use that will test your code to see if it will work in 3.0. I think there is also an automated update module that will port the code to 3.0. I haven't used either.