Don't Dismiss It!

Hello all,

I’ve been working with Lynxmotion and Microsoft Robotics Studio for several weeks now. I’m disappointed to not see more people using Robotics Studio to control Lynxmotion, you can do some pretty cool stuff with them.

So in the spirit of collaboration, I’m more than willing to share my code and answer any questions anybody has. I have a good bit of experience with Robotics Studio, and I hope that more people will give it a chance.

Right now I have a program written using Robotics Studio to get a BRAT to walk, but I’m working to get a lot more done in the next couple weeks.

Is anybody else out there working with Robotics Studio and Lynxmotion? I’d love to exchange ideas with somebody that doesn’t just dismiss MSRS at first glance!

Interesting… I have not gotten motivated to try the latest refresh of MSRS 1.5 yet. I’m really not an MSRS fan as I think it’s overly complex. However, I have been looking at other environments lately, and the complexity might be justified. I prefer more open, cross platform solutions.

8-Dale

The refresh doesn’t really add anything pertinent for Lynxmotion (at least not that I’m aware), I would expect the Lynxmotion functionality to remain pretty static throughout MSRS releases. At least until more people add functionality.

And I can see why you think MSRS is too complex, but once you get the syntax down it’s not too bad. Or maybe i just have too much fun wading through other peoples’ code! But anyway, the big selling point of MSRS is how open and non-platform specific it is. I’ve used MSRS to control Lego NXT, iRobot Create, Pioneer P3-DX, and just recently Lynxmotion. So I suppose it’s a trade off of complexity vs portability.

I think the challenge, especially for people new to programming, is delving into the code to figure out exactly what methods do what. But I’ve done that part, and I’d love to help other people get into it too. When I was deciding which robot platform to experiment with next, I saw this board and thought that hopefully I’d be able to help with the confusion I found.

Lynxmotion is a great platform; I think it’s my favorite so far. And from my experience with MSRS, once you get past the initial feeling of “wow this is big”, you can do some really cool stuff with it. I’ll keep you updated on my progress, and I’m sure I’m going to have my own questions to ask. My next step is getting sensor input from the robot and into code!

I spent four years doing maintenance programming, wading through other people’s bad code. If the code is written well, it’s cool to check it out and learn from it. It’s the BAD code I don’t like having to wade through to figure out how to make changes I have to make to it.

By cross platform, I meant operating systems. :slight_smile: I don’t care much for solutions that only work on a single OS, but am not opposed to looking at them to learn tricks and such from.

I’m definitely not new to programming. I’ve been programming since 1973, starting with BASIC, and have since learned at least 8 different programming languages I would consider major players at the time I used them (including APL in 1977). I’ve tinkered with Forth a bit too, done a bit of C++ (mostly straight C though), looked at Java and was going to do an app in it at one time, Python (a current favorite), several shell scripting languages, etc.

You’re doing some great stuff, especially if you’ve gotten a BRAT walking by MSRS.

8-Dale

I didn’t mean to imply that you were new to programming! I just saw some other posts on this board that seemed to be from people without much background in writing code. I definitely meant no offense, and I apologize if I came off that way!

You’ve got a point with the different Operating Systems. Before the release of MSRS, Bill Gates said that he believes robotics will impact the world in the next 30 years the same way that the personal computer impacted the world in the last 30 years. So hopefully we’ll see some pretty interesting advancements in the coming years.

Where are people getting hung up in MSRS? Hopefully I’ll be able to help with whatever obstacles are in the way…

I took a brief look at MSRS when this topic was added to the forum. At that time it appeared to me that MSRS was focused on making robotic graphics instead of actually controlling some gizmo out on the end of a wire. Perhaps you can post some sample code and links to sites showing what is/can be done with MSRS.

No offense taken. ;D It’s all good. I just wanted you to have an idea of my background. :slight_smile:

In this, I agree with Bill Gates. Robotics is going to have a major impact on our lives.

I think just devoting the time to learn MSRS is a big committment for some. I have plenty going on right now and just don’t have the time for MSRS at present, and I prefer Open Sourced solutions when I can get them.

8-Dale

Hi,

I’ve not studied MSRS. But does someone know if MSRS has any tools for IK calculations. Is it possible to make something like this lynxmotion.net/viewtopic.php?t=2766 with MSRS?

Sounds like a great offer. Maybe it is my misconception about MRS, but I believed that it only worked when the robot was connected to a PC. Am I wrong? For example can your brat walk with the code you wrote without being attached to the PC? If you can generate autonomous code for something like the Brat or Rover that runs on the Microcontroller like the Atom Pro, I would love to give it another shot.

Kurt

P.S. - I also have a bit of experience programming as a Software Design Engineer and Software Development Manager. Lets just say when I graduated with an MS in computer science my masters project was done on a Franklin Ace :blush:

wow…where do I start… :open_mouth:

I tried to use mrs…just getting it to downlode and tring to figure out how to implament it…AAAHHHH! :angry:

I was just too much !! :confused:

Somebody used a Franklin Ace… :smiley: …I remember those dayz…48K of memory and loading progs. on cassette… :stuck_out_tongue:

I ran the first 24/7 BBS in my area was getting 250 calls a day-- b4 the internet- all on a Apple IIGS …lotz of fun… :smiley:

back to mrs…just too much stuff to get things going…I’d like to learn it but I would like to see what the plus side is of doing so…

I’ll be cking in to see whatz up and tkx for any info
I love to “look over the shoulder” type …I can “get it” much faster… :slight_smile: 8)

You can just as easily add Bluetooth to your PC and robot. With this, the robot does not need to be tethered for MSRS to control it.

8-Dale

Wow, I did not expect such an exciting reaction! Awesome. Let me see if I can get to everybody…

One of the components of MSRS is the simulation, but that’s definitely not the whole thing! The simulation is nice because (at least supposedly, I haven’t really messed with it that much) it allows you to interact with robots and environments that you might not otherwise get in real life. The main focus, at least for me, of MSRS is to control many different kinds of robots, including Lynxmotion. The selling point is that you can (again, supposedly) switch between compatible robots just by changing a couple lines of code and have the robots do the same thing. For example, I could have a Lego NXT that drives around until it hits an object, change one line, and have an iRobot do the same thing. And I could change the line again and have an expensive robot I can’t afford do it in the simulation.

I’m not at my computer with code samples right now, but hopefully in the next week or so I can throw together a tutorial using my code. Anyway, if you want to check out some stuff that others have done, a few quick links could get you started:

The MSRS Forums are probably the best place to see what others are doing. Especially check out the Community and Hardware Configuration boards. I had a bit of trouble getting started with MSRS, and the people here were infinitely helpful.

Boe-Bots seem similar to Lynxmotion and are a pretty popular robot on the above forums. I haven’t worked with them yet, but they might be worth checking out.

And i just think this is cool:
Princeton actually used MSRS to control their automated car through the DARPA urban challenge.

Those links should keep you entertained for awhile and give you an idea of what’s possible with MSRS!

I was lucky. If I hadn’t had the opportunity to get paid to learn about MSRS, I probably wouldn’t have had the time either. Maybe more people will get into it if it takes less time to learn, which I hope to help with in the coming weeks. And, I understand the desire for a more open sourced solution. I don’t want to sound like an MSRS pitchman, so I’ll just say that it has served my purposes quite well, but I’m open to other platforms out there as well. I just happen to know this one the best.

I don’t think MSRS contains built in functions for IK calculations, but I did some searching. A person that goes by Trevor on the forums has developed “services for both a simulated and a real Lynx L6 arm including the IK calculations.” You might want to get into contact with him and see if he is willing to share his code. As far as the simulation part goes, I haven’t messed around with it all that much, but from what other people have done, that should be as easy as getting the model of the robot into the environment. I use C# in MSRS, but any .NET language should be pretty capable of creating just about any GUI you can imagine.

You are pretty much correct. The Windows computer runs the MSRS code, which sends commands to the robot. I don’t think there’s a way to upload code to the robot and have it act independently of the computer, which is my main gripe with MSRS. The only way to have the robot run MSRS code by itself is to have it run Windows. However, like Linuxguy said, you can use Bluetooth instead of a physical connection, so you wouldn’t have to worry about any wires.

I suppose the “plus side” is having the ability to mix robotic commands with other types of computer input. You can create some pretty elaborate, or just plain cool, algorithms in MSRS. Like anything with programming, if you can think of it, there’s probably a way to do it. It’s just a matter of learning the syntax.

I hope that answers some questions. I’m happy to see an interest in this, I was afraid nobody would respond. When I get a chance I’m going to write up a sort of “ground-up” tutorial for getting Lynxmotion to work in MSRS. Probably as soon as I figure out how to get sensor readings to work. I’m still pretty new at this Lynxmotion stuff. So far I have the BRAT with the SSC-32, the whisker touch sensors (which I’m going to try first), and an accelerometer. Do I connect the whisker sensors directly to the SSC-32, or is there another piece I’m missing? The hardware half of this is a bit intimidating for me (I’ve only done a little soldering and simple electronics circuits), so are there any good tutorials out there showing how to get a sensor connected correctly and read from?

Kevin!

I would be more than happy to share any and all work with you.
It’s intriguing to find how you like Lynxmotion best after trying out all the “other” platforms with MSRS. Why specfifically do you like Lynxmotion best?

I’m just now getting into MSRS and Lynxmotion.

I’m a professional IT Consultant turned Roboteer. This is great stuff.

The latest Microsoft Robotic Studio 2008 CTP just came out. Have you had a chance to see how this affects any Lynxmotion support?

Concerning the Microsoft side, do you use an Express IDE or a VS Standard IDE or a VS Pro IDE ? I have a C# express version but am wondering if a Visual Studio Pro version will really buy me anything from the robotic viewpoint based on your experiences.

Great to find you.

SamQ

Well, I should specify here. So far I’ve worked with Lego NXT, iRobot Create, and Pioneer P3-DX. I like Lynxmotion more than them for several reasons. The ability to fully customize your robots, the openness of the hardware/software, and the enthusiastic community are just a few of the things that have impressed me so far. I look at some of the other robot projects, and my BRAT starts looking like a middle school science fair project! But that’s a good thing. The best way to learn is to surround yourself with people who know more than you!

I doubt that they added anything specific for Lynxmotion. If my understanding is correct, any Lynxmotion improvements will be from our side, not Microsoft’s. A list of what’s included in the new CTP can be found here. When I say the updates will come from our side, I mean (and somebody correct me if I’m wrong) that MSRS contains the higher level “turn on motor” type commands, which then get routed through the Lynxmotion MSRS software (the stuff you downloaded here), which in turn goes to the robot. So if you want some functionality with Lynxmotion improved, the place to improve it is in the Lynxmotion MSRS software, not MSRS itself. Does that make sense?

I use Visual Studio Pro, but I don’t think it gets me anything extra as far as robotics go. I’ve never used anything else though, so I could be wrong! If whatever you’re using can connect to everything in MSRS and get it running fine, I’d say that’s pretty much all you need.

I appreciate that so much! My next step is to get the sensor values read into code, but first I have to get them connected! I asked an embarrassingly newbie question here, and I’m hesitating to start this next leg until I’m absolutely sure of what I’m doing.

Thanks for your interest, and I look forward to sharing everything when I get it all done! My deadline is in about 2 weeks for everything! Time flies…

I’m not a programming guru, so unfortunately I’m not able to provide support. We did have a guy who was doing support for it, but he has been awol for a long time. I know the original releases had the IK for our arms. I think it had some hexapod code too… I do not know if MS has kept the stuff from the earlier releases or not. Sorry for the lack of information, it’s all the information I have… :frowning:

I’m in the process of not dismissing it. :smiley: I uninstalled all the older MS VC#, VC++, VB, and MSRS 1.5. I’m updating to the 2008 versions of VC# and VC++, and MSRS. I’ll see if it’s all worth keeping in a week or so after I have time to tinker with it. I am not spending much time in Windows right now though, so it might take me awhile to get to this.

At this point, MSRS is really just a novelty and curiosity to me. I have to admit though, it would be interesting to make MSRS run my peculiar robot… :smiley:

8-Dale

I’m not a programming guru either, but my project next semester is to update the MSRS support files. There are a few places that say stuff like “this should be different in the next release” and I’m going to do my best to work on that. I’ll also be adding the ability to translate sensor input into code. Hopefully my finished product will be useful to the community!

Yeah, you can do some pretty cool things in .NET. I’ve posted two tutorials (start here) that might be able to help you get your hands dirty.