26 Jul 2004 davee
» (Master)
Two things new to report:
- 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.
- 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
| |