Moving the Gantry, Stages, and Robots
Local Commands on =kiewa
To move that gantry and stages, you can use the
move
command, which takes the name of the device to be moved, followed by a set of joint coordinates.
% move gantry to 270,-620,-260,52,-15
% move stage to 0,0,-45
% move linear to 450
The
move
command is only available on
kiewa
(see below on how to
remote-control ACME), and it takes the general form
% move [<robotname>] (to|by) <list of joint values>
For example,
% move gantry to 500,100,0,0,0
will cause the gantry joints to move to the values 500, 100, 0, 0, 0.
% move gantry by 100,100,-20
will cause the first 3 gantry joints to be moved relatively by 100, 100, and -20. Joints not specified in the 'move' argument list are not moved.
The names of the robots are
If you don't specify a name, the default is
thumper
(the puma).
To find out where a robot is, you can do
% move <robotname> by 0
and this will print out the joints where the robot is currently at. You can also run
% free <robotname>
and type 'show' after the prompt.
Remote Control from any Machine
In many cases it is necessary to control ACME remotely, for example, when also controlling cameras that are not attached to
kiewa
. To do this, we have client/server Perl scripts. The client is called
acmemove
, and it takes the same arguments as the
move
command on
kiewa
. The server (or daemon), is called
moved
, and needs to be started on
kiewa
. The client can be either a UNIX (e.g. Linux or Solaris), Mac, or Windows machine. In the case of Windows, the scripts should be run from Cygwin.
The two programs talk over port 4711. This, however, presents a bit of a problem, because
kiewa
is behind a firewall. Therefore, it is necessary to create an
ssh
tunnel from the remote control machine to
kiewa
. The necessary steps are then:
- Create ssh tunnel:
- Linux/Solaris/Mac:
ssh -L4711:kiewa:4711 kiewa.cs.ubc.ca
- Windows: in
SecureCRT
, create a new connection. Enter kiewa
as the server, and then click on the advanced options for that connection. You should see a entitled "port forwarding". Add port 4711 as both the local and the remote port for this connection.
- Run
moved
on kiewa
to start the server. Log messages will be output to the terminal.
- Run
acmemove
with the appropriate parameters (described above for the move
command) on the remote host to control ACME.
--
WolfgangHeidrich - 24 Nov 2005