26 Jul 2004 davee   » (Master)

Two things new to report:

  1. I created some firmware for the SG5 Robotic Arm from Crustcrawler. This is, by the way, a pretty nice arm even though it comes with no software at all. Since it uses a BS2P for it's brains, I wrote a command processor for it to allow anyone to control the arm through simple commands via the serial port of their computer using nothing more than hyperterminal. It's simple really, you just send commands to the indifidual joints with the angle that you want the joint to travel to. The first letter of the joint is used as a prefix so to send the elbow joint to 90 degrees, you just send a 'E90', same for the wrist, gripper, base and shoulder. In addition, since the serial controller that the arm uses is a 16 channel controller and the arm only uses 6 of the channels, you can also send a raw command to any of the other 10 channels by sending something like this: 0123 would send channel 0 to position 123. the 123 is NOT an angle but is the actual value sent to the controller which happens to be approximatly 123 thousandths of the way between the low limit and the high limit (250 being the usual low and 1250 being the usual high). You can also set the ramp speed and calibrate the arm so there is a reasonable expecation that when you command a joint to a given angle, it will be reasonably close.
  2. I've also created a program, written in Visual Basic to sequence the arm so that the arm can do something interesting. It adds a delay command to allow a joint to move before the next command is sent. It also allows comments (VB style) to be placed into the sequenced data. It is still primitive but it allows you to create sequences of commands that can be repeated and that can be saved for future runs. I'm planing on adding some sensor to the arm, so this program will eventually be able to sense three things, IR range, CMUCAM and flexiforce pressure sensors, will allow us to detect objects, measure the distance to the object and control grip pressure.
I've also decided to add the ability of the program to act as a webserver, so that other programs can access the arm through the interface without having to write their own code to do it.

At some point, I hope to be able to say 'Find the beer can, pick it up and drop it at 111,123,123 coordinates and have the arm use the amera to find the can, send appropriate commands to the arm to position it and pick it up with just enough grip to lift the can. This will take some doing as the integration of the sensors into the arm controller will be interesting to say the least. Not to mention that my math skills will have to take another beating, but hey, that's the lot of a robot engineer.

I'm hoping the folks at Crustcrawler will add my software to their arm, but so far it doesn't look like it's going to happen. Oh well, I need the software anyway, so I have no problem writing it. Anyone interested can email me at davee@wehali.com for details.

Latest blog entries     Older blog entries

Share this page