Tags:
create new tag
view all tags

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:

  1. Create ssh tunnel:
    1. Linux/Solaris/Mac: ssh -L4711:kiewa:4711 kiewa.cs.ubc.ca
    2. 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.
  2. Run moved on kiewa to start the server. Log messages will be output to the terminal.
  3. Run acmemove with the appropriate parameters (described above for the move command) on the remote host to control ACME.

-- WolfgangHeidrich - 24 Nov 2005

#kiewa

Changes to kiewa

kiewa is old and unpatched, so it does not mount all the filesystems for security reasons. In particular, /usr/bin/perl is not available. To run the acmemove scripts, perl can instead be found /cs/local/bin/perl

At some point in time something changed and the moved script no longer executes properly. Make the following change to fix it:

   # we need to be on kiewa for this daemon to work
   #($ENV{'SHORTHOST'} eq "kiewa") or die "This program must be run on kiewa!\n";
   ($ENV{'HOSTNAME'} eq "kiewa.cs.ubc.ca") or die "This program must be run on kiewa!\n";

-- BradAtcheson - 15 May 2009

Topic attachments
I Attachment History Action Size Date Who Comment
Unknown file formatext acmemove r1 manage 0.8 K 2005-12-16 - 03:22 WolfgangHeidrich  
Unknown file formatext moved r1 manage 1.4 K 2005-12-16 - 03:23 WolfgangHeidrich  
Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View |  Raw edit | More topic actions
Topic revision: r4 - 2009-05-15 - BradAtcheson
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback