PDA

View Full Version : Looking to get into robotics.



jchahn
10-25-2007, 10:17 PM
Hello everybody,

I'm a senior Computer Science major, and I've been working as a C#/Java/Ruby software engineering intern at a local bank for about 1.5 years. I've also been exposed to C/C++ in some of my classes. I'm looking to broaden my horizons a bit and I would like to get into the world of robotics. I've looked all over the web and read articles and tutorials, and I must say it's a bit overwhelming. I've been thinking of how I want to approach this and I think I would prefer to take a top down approach instead of a bottom up approach, if that makes sense.

In other words, instead of custom designing/fabricating PCBs, custom fabricating the frame/mechanics, and then programming it, I would rather start out with something that is more-less pre-made from an electronics/mechanics standpoint. I'd like to buy a kit that I have to assemble, so I can atleast get some exposure to those facets of it. I basically want to be able to use one of the languages I'm fluent in to learn about robotics and have the freedom/expandability to add new sensors and other I/O as I go. I'm particularly interested in artificial intelligence, speech recognition, and motion tracking/facial recognition.

Based on what I'm looking for, and after having read the TRS tutorials on this site, I think TRS sounds like it would probably fit the bill. It seems perfect for developers like me so that I can dive right into the high level programming w/out having to worry about the nuts and bolts so much. Any status updates on when TRS will be available for beta testing?

Also, does anyone have any suggestions about a kit I could buy to get started? I was thinking about getting one of the Bioloid kits. Are they farily expandable as far as adding new sensors/phidgets and connecting to a PC or will I hit a proprietary dead end, so to speak? If so, any other suggestions?

Thanks in advance for the help:D
John

jchahn
10-27-2007, 07:18 PM
Sorry, I guess I didn't do a good enough job of explaining what my intentions are. I want to start off simply controlling the movement of the robot with my keyboard. Then I want to start programming the robot to avoid obstacles on its own. Then I would like to start programming it to follow voice commands and ultimately I would like to add a speaker so that it can respond both by movement and by audio. I would also at some point like to add an arm assembly so that it can interact with objects around it.

Basically, I want to start simple and then slowly add more and more complex functionality to the robot.

Would any of these be good for someone with entry level electrical/mechanic, but decent programming experience, and have plenty of room for expandability?

http://www.trossenrobotics.com/stinger-robot-kit.aspx

or

http://www.trossenrobotics.com/store/p/5363-Traxster-Robot-Kit-Full.aspx

I also thought about getting something like this:

http://www.trossenrobotics.com/store/p/3163-MMP-5-4-wheel-.aspx

or this:

http://www.trossenrobotics.com/store/p/3164-MMP-8-6-wheel-.aspx

or this:

http://www.trossenrobotics.com/store/p/5377-Trossen-1-Chassis-and-Base.aspx

and then adding a serializer WL to any of those that don't come with it.

Does anyone have any preference for which of those would be the best for what I am wanting to do or is is basically a toss up? Are any of them more expandable than the others, etc?

I really like the looks of the serializer XL. I have alot of experience with visual studio and I like the fact that it is set up to integrate nicely with .net.

If I'm not being specific enough for someone to make a suggestion, please let me know and I'll try to elaborate further.

Thanks in advance for the help everyone,
John

Alex
10-28-2007, 05:00 PM
Hi John,

First of all, I would like to welcome you to the Trossen Robotics Community! We're thrilled when we see high-level programmers such as yourself interested in getting into robotics.

What it sounds like what you are looking for is what we like to call PC Based robotics, which is what we believe is the next step in robotics.

You've done an excellent job on your research! The TRS at the moment though is a theory of design, rather than a set of available tools. However, as it looks like you've already found, we still have all of the tools neccessary to start building your own PC based robot.

The Bioloid system is one of our favorites, but it doesn't lend too much to high level programmers such as yourself, at least not until more like you step up. It has an incredible servo system complete with feedback and the ability to switch between positioning and continuous turn. Unfortunately, it only has one sensor module (http://www.trossenrobotics.com/store/p/5177-Dynamixel-Sensor-Module-AX-S1.aspx) (containing an IRDA reciever, 3 IR reflection, microphone and a piezo electric sounder). It does however, by far, have the most out of the box potential than any other hobby robotic system on the market, not only because of the servos and the fact that you can reconfigure the kit into numerous robotics projects, but also because it uses an open serial interface which allows you to develop any high level wrappers, and break out boards. The Bioloid system is still pretty new though, so there hasn't been too much 3rd party development done yet, but check some of these links out:

HuvRobotics Bioloid Accessories:
http://www.huvrobotics.com/shop/

Bioloid Wiki (again, Jon Hyland):
http://www.bioloid.info/tiki/tiki-index.php

Crustcrawler's .NET Interface to the USB2Dynamixel adapter (http://www.trossenrobotics.com/store/p/5357-USB2Dynamixel.aspx):
http://www.crustcrawler.com/electronics/USB2Dynamixel/software/Usb2Dynamixel.zip

BTW, check out the rest of Crustcrawler's site, because they have just recently moved all of their robotic kits over to using the AX-12 servo that comes with all of the Bioloid kits, which used an entirely different form factor than the servos they previously used. If that isn't a sign to just how incredible these servos are, I don't know what is, hehe:)

Alex
10-28-2007, 05:24 PM
OK, Bioloid aside:


I'm particularly interested in artificial intelligence, speech recognition, and motion tracking/facial recognition. Very ambitious goal, but ya gotta learn how to walk b4 you learn how to run John;) Just as you had mentioned in your second post, starting off with basic movement with your keyboard is probably the best way to go.

You can start off with either using a slave controller (which a lot of times use high level languages), which you basically have controllers and various IO boards that send/recieve data to/from a computer, or a microcontroller which requires you to download pre-written programs to (most of the time using low level languages). Given your experience level, I want to say that using the slave controller system is probably the way you will want to go. The slave setup allows you to better utilize your high level programming experience.

Out of all of the links that you provided, I would either go with the Stinger, or either one of the MMP chassis. The MMP's are incredible chassis sets, but a little overkill for beginners. The Stinger is a much lower cost model, so that might be a better starting point for you. Plus, it comes with one of our most popular slave boards, the Serializer from Robotics Connection. Check out all of the details on the Serializer product page (http://www.trossenrobotics.com/store/p/5196-Robotics-Connection-Serializer-WL.aspx). The Stinger has plenty of pre-made mounting holes and spaces for adding an array of sensors and additional modules. This would be an excellent way of getting started in robotics! Plus, having all of the pre-made holes, you can slap any ITX board (http://www.logicsupply.com/) up on it, and then take advantage of the USB connected Phidget family:

http://www.trossenrobotics.com/phidgets.aspx


I really hope that you find all of the information that I provided helpful in making a decision in where you want to get started. If something isn't clear, or if you have any more questions, please, don't hesitate to ask! Either way, keep the community posted in everything you're doing. I'm really excited to have another high level programmer roboticist around:)

You've found a new home here John, and yes, we are pretty hard core enthusiasts in PC based robotics;)

We hope to hear from you soon!

jchahn
10-28-2007, 08:25 PM
Thanks for the info Alex! That gives me some food for thought.

Basically, my concern is that I will buy something that is easy to use for a beginner and then have no expandability w/out heavy duty modifications. I live in an apartment, and I don't have easy access to a workshop, so things like drill presses, power saws, etc are not readily available. I can get access to my dad's garage/tools occasionally, but not on a daily basis. I'd prefer to buy a platform that I can expand on w/out heavy modifications.

I really like the looks of the stinger. That's an especially attractive price since it comes with the controller and motors. The fact that I can mount an itx board to it basically makes the software possibilities endless. The new pico-itx form factory doesn't take up any more space than the Serializer WL too, which is nice.

Then again, I like the bioloid because I'm new to robots and I like the idea of being able to build a dog and then if I change my mind I can tear it apart and turn it into a humanoid, spider, and over a dozen other robots until I find the platform I like the most and want to expand on.

I didn't realize there was a vb.net API for the usb2dynamixel. That is very cool. Basically, if I understand this correctly, I could build whatever bioloid I want, but instead of hooking up the cm-5, just bypass it altogether and plug the daisy chained ax-12s directly into the usb2dynamixel and go crazy in .net land.

I think at this point I'm probably leaning more towards the stinger, but I'm definitely going to chew on it for a bit before I make a final decision.

Do you think that the stinger is strong and balanced enough to support both an arm/gripper assembly and a camera pivot, or would I be better off getting something a bit heavier with 4 wheels (ie: the MMP) if I think I may want to add that much stuff at some point? The fact that the stinger is triangular shaped means I may not even have enough mounting real estate to mount that much stuff.

Thanks again for the help. I really appreciate it,
John

Alex
10-29-2007, 04:44 PM
If you live in an apartment (like myself), then I'd suggest the Stinger. The MMP has no pre-drilled holes at all, so you will be drilling a lot.

The pico-itx board is exactly what I had in mind. I haven't seen them up close yet, but I've seen side by side comparisons and man are those small!!

Yes, you can bypass the CM-5, but you have to remember. The CM-5 is the brainboard that you download all of the applications to. Using the USB2Dynamixel now puts you in straight serial communication mode whereas you have to develop all of your own motion files, wrappers and everything. It will be worth it in the long run, because there is a lot of really cool and fun stuff to learn about. I just want you to know what you'd be getting yourself into before you start. I'd personally love to do this (if I had time) because I love the challenge. BTW, the VB.NET API is nothing more than a wrapper for the serial commands. It is a great place to get started, but you will still need to do quite a bit of programming done when working with it. I've been wanting to work on the wrapper with Crustcrawler to bring it up to .NET specs, but have been swamped with day to day work:(


About the strong and balanced question... I'd say yeah, but I don't know for sure. It's definitely something far down the road for you though. Start simple, then move up:D

jchahn
10-29-2007, 06:11 PM
If I go with the bioloid and start working on a .net wrapper for it, probably one of the things I would do is port the current vb.net wrapper to C# or possibly visual C++. I'm alot more familiar with C#/C++ and I'd be alot more productive using one of those languages.

That's definitely interesting. It's also very cool that crust crawler uses ax-12s. It means I could buy the bioloid and work with the ax-12s and the bioloid robots. Then if I wanted to later on, I could buy a crust crawler frame and put the ax-12s (from the bioloid kit) in it and keep right on going. If I already have a .net wrapper for interfacing with the ax-12s, then I'd already be more/less up and running.

roboticsconnection
10-29-2007, 10:52 PM
John,

While the Stinger is triangular shaped, it is actually very low, and wide, so it's very stable.

Being able to support additional weight is not an issue. The Stinger's drivetrain is all metal, and very solid. I would just concentrate the weight toward the front (which is where most of the mounting space is anyway).

The stability will depend on how much weight you attempt to pick up w/ the arm at a specified distance away from the center of the bot (this creates the moment arm, which could flip the robot over). I doubt you'll be able to pick up anything that weighs enough to tip it over if you go w/ some of the typical robotic arms (e.g. Crust Crawler, Lynxmotion). Most of the servos/gripper combos can't pick up that much weight.

Actually, I would mount the arm as close to the front wheels as possible, as this will greatly increase the stability. If you do this, I would be very comfortable in saying that you won't be able to flip it.

Just to clarify, the Stinger comes with pre-drilled holes for the ICOP eBox-2300 (and Serializer, 5V Switching Voltage Regulator, Push Button I/O Board, and Bluetooth Antenna) and there's slots in the front for various sensor combos (bump sensors, line followers, etc.). You would need to drill 4 holes for the Pico/Nano Via boards, but you can do this with a hand drill (most people have those). We added the holes for the eBox-2300, so we could sell our Stinger CE kit.

The Stinger can drive on shag carpet all day long, so it'll traverse around your apartment nicely. :)

Later guys!

Jason Summerour
President,
Summerour Robotics Corp
Microsoft MVP
www.roboticsconnection.com (http://www.roboticsconnection.com)
1-888-731-4035