Possible AL5B control methods from Linux

I have a big project for which I need some sort of robot. After (literally) years of looking at this situation, I think an AL5B would be a good fit. The problem is that I can’t get enough information about these things to justify spending the money yet. So I’m going to try to clear up my confusion here.

I know I saw a page SOMEWHERE on RobotShop that showed the 3 software platforms for programming an SCC-32. I can’t find the page any more. Can someone link it? In any case, that page still doesn’t answer some fundamental questions.

What I have on my project thus far is a shell script that calls a custom C program, calls several other command-line programs and shell commands, and then loops. What I need to do is also trigger the robot to run it’s own program (i.e., perform one “duty cycle” of it’s operations) within that larger loop.

At the moment, I’m doing all of this in Linux, but it wouldn’t be hard to port it over to Windows. I know the “RIOS” option requires Windows, and, given the fact that you can “train” the robot with a joystick may be incentive enough to run Windows to AT LEAST get the robot programmed. The biggest question I have at this point is: Can I command the controller to run it’s saved program through some sort of digital input or serial command to the controller? Because, if I can, then I can program the robot in Windows, and continue to use what I have in Linux, sending a DO from my existing DAQ card, or flipping a bit on the serial port, and Bob’s my uncle.

What about the other two programming options? I think they were also both Windows based. Is it possible to use a terminal emulator to the SCC-32’s serial port, and just do raw programming to the embedded PIC? I’m assuming so, but I can’t get clarity on this point. What do the other Windows programming environments offer me that’s different than RIOS? Just a savings of $40?

I wonder if there’s a point at which it becomes more interesting to buy an Arduino-based board, some sort of motor-control shield, and program the arm from within Linux using Arduino’s Java-based, cross-platform IDE (about which I also know very little). Am I completely missing something here? Is it possible that the SCC-32 is using the same sort of chip, and can be programmed with the Arduino tools anyway? (There’s a lot of talk about Arduino around here…)

So… all of that being said: What’s my best option for controlling an AL5B, from Linux, in response to other things happening in a chain of events? Note that, while I favor Linux, “give up and use Windows” is a perfectly valid response if that’s the easiest thing to do.

Wow. That helps A TON! “Store and playback” is crucial to me. I will look through the general-purpose-microcontroller-based servo controllers on the site, and see what looks promising.

Thanks so much!

I’ve been continuing to look at this situation, and I think we don’t have the same definition of “store and playback.”

I’ve investigated 3 other servo controllers in addition to the SSC-32. It seems to me that they ALL take programming of motor sequences from a serial port, irrespective of their “development environments” (which almost universally require Windows). In fact, I’m guessing now that the tools to work with these various controllers do nothing other than interpret their GUI’s and write raw serial commands to their chips to program them. For instance, I’m looking at this page:

lynxmotion.com/images/html/build137.htm#loc01

From this, it seems to me that there are about 32KB of memory in the AtMega chip on the SSC-32 that can store sequences of motor moves, and you can jump to any index in those moves. The first 255 bytes of memory seem like “bookmarks” to the various “programs” stored later in memory. If I can just save my program to the chip’s EEPROM, and send a serial command to activate that program through the serial port, that would be great. Maybe I’m still not getting it, though.

Again, can anyone point me to the page where it discusses the 3 software packages that can talk to the SSC-32?

Oh! No, training with a joystick would be cool, but it’s not something I have to have. I just meant the ability to store the program in the controller’s memory so that I didn’t need a computer hooked up to it to run it. That, once I create the program, I can store it in the SSC’s memory, then send it a serial command from another microcontroller, and have it do its thing.

Hi Dunkirk,

Welcome to the RobotShop Forum. One important note - the AL5 series robotic arms use normal servo motors - you are not restricted to just using the SSC-32 servo controller. You can buy the “no electronics” version and add your choice of almost any servo motor controller. For example, there are many servo controllers which include a separate onboard microcontroller (and of course many microcontrollers can be used as servo motor controllers). You can even consider the RoBoard which is a full computer! The firmware running on the SSC-32 really is not intended to be modified and unless you re-flash the ATMega chip, it is not intended to store and play back any routines (perhaps I misunderstood?). The ATMega chip used in the SSC-32 is the same one which was used to make the Arduino Diecimilla (since replaced by the Duemilanove and then the Uno). The three programs which use the SSC-32 are Lynterm, RIOS and SSC-32 Sequencer and there are others available from the manufacturer as well.

Hope this helps,

Hi,

Can you clarify a bit what you mean by “storing and playing back” routines? From what you wrote in your initial post you had hoped to use a joystock or other input device to move the arm and store that routine. As such, the SSC-32 is not the right servo controller since you need to have access to many analog I/O. Alternatively though you can create an interface on your computer to translate the analog values of the joystick (while recording the values the sequence with delays etc.), interpret it, and then send out the right signals to the SSC-32 so it reacts in real time while recording. If you don’t want to develop your own software, RIOS has a joystick input option.

Hope this helps,

Ah,

Then yes, you can store a program in the SSC-32 and send it a serial command to start it. You can do the same with almost any microcontroller or servo controller + microcontroller combo.

Sincerely,