[sudo-discuss] robot limitations and hacking

Jake jake at spaz.org
Tue Sep 9 23:12:34 PDT 2014


My friend Hao of Dorabot wrote me an email that clarifies what we can 
expect from the robot.  Of course this assumes no hacking, and we can 
hack.

one thing I was interested in was "remote" mode through the serial port. 
I believe that it can be set to be controlled by commands like "let me 
send you this job" "start that job" which would allow us to effectively 
control it in real time.

but that will take some reading of manuals and experimenting.  As for the 
latter, i have connected the robot's serial port to the desktop computer 
we use for 3d printing, and I can provide logins for that machine to 
anyone who wants to experiment.  I confirmed that with the null-modem 
adaptor (thanks Somebody!) it does communicate, although i haven't had any 
meaningful conversations with it.

of course there is always the radical alternative - the entire YASNAC 
control system could be replaced with a homebrew solution that allows us 
to do whatever we want.  The problem is that it would take a bit of 
programming to drive the axes at speed without overshoot, and there's 
dynamic gravity and inertia dependant on the posture of the thing and the 
mass of whatever it's holding.. could be a lot of math to get it perfect.

however, if someone were to create a control program for it, a lot of 
people around the world might like to use it.  Hell, people would probably 
pay for it since it would easily replace an entire YASNAC ERC unit.

the motor controllers we have are the CACR series as described here:
http://spaz.org/~jake/robot/CACR-SR-servopinouts.pdf

and they are pretty simple to control - you send them an analog voltage to 
tell them which direction to turn, and how fast.  You send an analog 
voltage to say how much torque to exert (seperately for each direction),
and it sends out analog voltages telling you how fast it is going, and how 
much torque it's exerting.  And of course the encoders are always telling 
you the actual position for all the axes so you can decide whether to make 
changes to get what you want.

in the meantime though, we should keep playing with it as-is and see if we 
can "hack" to get control of it without anything as radical as a 
replacement controller.

-jake

---------- Forwarded message ----------

There are several models of MOTOMAN robot that can be controlled over 
serial port, and some even supported by ROS Industrial community. If your 
Robot controller is DX100, then you are very lucky.

However I think your robot is super old so probably not supported by ROS 
Industrial. You can check it out here:
http://wiki.ros.org/Industrial/supported_hardware

Anyway, usually an industrial robot can be used in following ways: 
Teach & Replay by teach panel
offline programming (generate a tool path offline and upload it, like 3D printer)

modern robot can be used in these ways, in addition to previous ones:
online program uploading (you generate end-effector/tool path and upload 
to the robot control box via serial port/ethernet, and the robot executed 
it right after it receives the path.

very few robot support this: real-time control of the robot joint, 
including position, velocity, acceleration and so on. As far as I know, 
only Universal Robot and maybe Baxter support this. Kuka/DLR's LBR(Light 
Weight Robot) might support it too, but it's not for sale to general 
public.


More information about the sudo-discuss mailing list