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?