Hi everyone, I’m very new with robotics; in fact I just got the idea of building my first one last week. It seems that I have bought so many DVDs that I have a hard time finding the one I’m looking for so, I decided that I could build a robot that can go out and find the DVD and return it to its location when I’m done. I’m looking to buy a Lynx 6 series robotic arm with the RIOS software and the SSC-32 Servo Controller. I will build a platform to mount the arm and I will need to buy 2 motors so that the platform can move up/down side/side. At this point I get a bit lost. I know that the SSC-32 Controller has 2 ports open that I can use but they are for servos not motors. In this website a found a “Monster servo project†were you make a servo with lots of torque; this is needed to handle arm weight on the platform and movement. I found somewhere in this forum that if you convert a servo to 360 degrees you lose accuracy and that the use of an encoder would be needed. I want to be able to control the motors of the platform using the RIOS software that comes with the arm and I need their movements to be tracked so that the arm can pin point every individual DVD by a series of command movements programmed using the software and naming the command movements the particular DVD name. So other than the robotic arm, what else do I need to buy to make this work? Thank you for you time.
Sir,
I’m a little confused what you are proposing so let me explain to you what I think I’m reading
You want to use the RIOS software to control both an arm and a drive system for your platform? This on the surface seems plausible because of the fact that the RIOS is designed for 8- PWM channels and you are going to use 6 for the arm, thus two channels left for some continuous rotation servo control. Is this the path you are taking? If so, let me give you some idea about plausibility, inaccuracy and pitfall.
I don’t think ‘Accuracy’ is the appropriate term to use when talking about the affect of modifying a servo for continuous rotation. Let me state the obvious for a moment - If you make a servo continuous rotation you are changing the functionality of the servo - period! If you are talking about changing the servo so that you can attach a wheel, the notion of rotational accuracy changes, from one pertaining to the position of the servo horn relative to the servo case (some degree of rotation on axis from a determined center with stops on each end), to another pertaining to the position of the entire servo relative to its’ surroundings (full rotation of the servo so that extended movement can be achieved). Under rotation, if you are able to stop and start the rotational movements when required you can end up with a highly accurate setup regardless of whether the servo is continous or not. So I’m no sure where this statement of loss of accuracy comes about but it is clearly dependent on the requirements of the system.
Unless you are to control the rotation of the CR servos manually (your eyes connected to your hand which is holding some input means to the PC with the RIOS running which is also connected to the SSC) you will need an encoder for the CR servos. I’m not a fan of placing outside vendor links but here goes - acroname.com/robotics/parts/ … 1-KIT.html.
Now with that said - RIOS does not currently allow you to read encoders for CR servo adjustment and the SSC32 may not allow you to read these encoders (although there are 4 A/D inputs available) without some firmware changes.
A microcontroller of some sort is probably the easiest way to solve your problem of combining RIOS for arm movement with some 2 dimensional movement of your platform itself.
Chris
Thank you for your comments, First of all, we can scrap the servo conversion. My thing is that if I use a 360 degrees servo, it would need to have enough torque to move the platform were the robotic arm would be mounted. I know that I can use a torque down motor, (which I would have to figure out the proper rotations per inch and proper torque to handle platform plus robotic arm weight) but at this point I would have to use a motor control board for each motor would I not? Also, I would have to use an encoder so that the motor movement could be tracked and the arm would know its location so that it can reach a given DVD.
If I use a motor instead of a servo a few more issues come up I would think, 1) The SSC-32 Servo Controller controls servos not motors and would make the other 2 spare channels useless, 2) I would have to use a microcontroller to work in junction with the SSC-32 and motor control boards and encoders, 3) Not sure if I would be able to control the polarity on the motors to make them change their rotation direction (clockwise and counterclockwise) for left and right movements and up and down movements of the arm’s platform 4) Finally I’m not sure if by having a microcontroller-SSC 32 setup, If I can used the RIOS software to control the entire setup so that I can have a windows base program controlling my robot.
What do you think is the best way to go about building this robot? If you need me to go into further detail on the comments I have posted just let me know. Thanks for your time.
yes, you can get the motors to go in either direction, and if you were wondering most motor controllers have 2 channe;s, so for you project you could just run your motors off channel “left” and channel “right”
Well, you’re running into the problem of “can I get away with using nice plug-and-play stuff, or do I have to make my own”?
The answer to this always lies within the degree to which your are willing to conform to what the “plug-and-play stuff” can work with.
If you want to use encoders, or any other sensors, for that matter, RIOS won’t help you with that.
It’s a spectacular arm-controlling program, but no more.
If you want sensors, you need a micro to read them, interpret them, and then act on them.
I’d definitely consider doing the following, whether or not you chose the easy or hard route, since minimizing mechanical errors never hurts:
Buy a rover kit with an attached arm.
Make the DVD shelf short, so the arm can reach what it needs.
If you want the bot to actually stick the DVD in, press Play, turn on the TV, etc… make sure that those are within its reach as well.
Come up with a simple filing system (alphabetical?).
Stick dividers in between every DVD, leaving enough room to fit the gripper in there, too.
Modify your gripper so that it’s thinner, which will let you place the dividers closer (an ideal gripper for this application would look like a wide pair of tweezers).
Place a pair of rails in front of your shelf, so the bot can precisely roll back and forth without building up position errors.
Here’s the “easy”/imprecise way to do it:
Use an SSC-32.
Stick servos in the rover to drive it.
Connect that to your computer (probably, wirelessly is best).
Control it with RIOS.
Here’s the “hard”/precise/cool way to do it:
Use a microcontroller to control the SSC-32.
Use that micro to control a stepper motor controller.
Use that micro to read the feedback from OpenServos)www.openservos.com).
Use that micro to create a fun interface to control your bot with.
Two stepper motors will drive your bot quite precisely without the need of position feedback.
Much industrial robotics control is done with stepper motors without bothering to use an encoder.
I’d suggest getting a stepper motor controller that can be sent TTL (0v low, 5V high) data and that handles all of the complicated control itself (just like the SSC-32 does).
OpenServos will give you position feedback on your servos, without the need for any external hardware (i.e. encoders/potentiometers/etc).
I’d suggest asking mpthompson or andylippitt about the degree of precision that’s possible with that feedback, though.
Inventing your own interface saves you from going over to your computer and fiddling with RIOS to get your bot to operate.
Some ideas for you:
Create your own mini-RIOS in the micro’s program and then all you have to do is send it simple instructions (there’s a bunch of code examples for this, most of which will deal with the necessary IK onboard; “mini-RIOS” is just a simple way I’m using to explain it).
These simple instructions can be given in many neat forms.
You could send it the name of the movie from a terminal program on your PC.
Even neater… you could tack on some more hardware and use voice recognition to tell it what to do.
If you’re going that route, you could get away without the hardware by again using your computer.
You can speak into your computer’s mic and have it enterpret and then send those instructions to the bot.
Well… I’m rambling, now, and I’m sure you’ve got a host of ideas how to eventually control it (those do come too easily, after all ).
Don’t be afraid to mix, match, and/or invent your own ideas from either the “easy” or “hard” route above.
They’re just suggestions to get you pointed in the right direction.
If you can decide upon the general types of hardware that you want to use, we can point you to the good ones.
Hope this helps…