Biomimetics and Dextrous Manipulation Lab

Adept

Using the Adept Robot Arm

First and foremost: Always keep a healthy respect for the capabilities of the machine! The workspace is large (other expensive equipment or people may be in it) and it can move very fast. Always be close to the emergency stop when it is in operation and start with low speeds while you are developing your programs.

The coordinate system of the robot is:

  • y - points from the outside door to the hallway door
  • z - vertically upward
  • x - right-handed cross product of y and z (should be from the robot arm to the command terminal)

Powering up and calibrating:

  • Turning everything on:
    • Plug in the "adept fan" and "adept computer"
  • Flip on the "system power" from 0 to 1
  • Turn on the monitor (it will take a few minutes for the system to boot up)
  • Enabling power
    • There are three emergency-stops that all need to be disengaged to enable power, always be aware of where they are and make sure they are easily accessible.
  • In the terminal you can then enable power: type "en po" ("." in the terminal just means it is ready to receive your command)
  • Calibrate the robot: type "ca"
    • you must confirm the operation with "y"
    • Make sure you are near the e-stop just in case! The calibration procedure is not always the same.

Working in the command terminal:

  • "DO" is required when you command the robot to move from the command terminal.
    • One helpful commant is "ABORT". "DO ABORT" from the sommand terminal will abort your program.
    • Another helpful command is "DO DEPART distanceNumber". This will move the robot from its current location by distanceNumber (the units are what was last declared so be very careful you know this before you use the command).
  • As usual you can press up button to get your previous command.

Creating, loading, and saving a program:

  • To see the contents of the hard disk file directory: type "fdir"
  • To create a new file: type "SEE programname.pg"
    • If the program has not been loaded yet to RAM, then it will ask you if you want to create the file. Confirm "Y".
    • NOTE! The program does NOT exist on the hard disk yet! It is only in RAM.
  • To edit a pre-existing files: type "Load diskprogramname.pg"
    • This is the directory location of where you saved program files before. That program will be loaded onto RAM.
    • Any edits you make will not automatically be saved onto the hard disk. If you shut down without saving your edits will be lost.
    • You can now open the file: type "SEE programname.pg"
  • Saving your file to the hard disk:
    • In the terminal: type "storep diskprogramname.pg = programname.pg".
    • Your disk program name and RAM program name can be whatever you want. However I recommend you make them the same to make it easier to find your work.
    • You cannot over-write the old file on the hard disk, so you have to delete the old one first then re-save it.
      • "fdelete diskprogramname.pg" will delete the file
      • "storep diskprogramname.pg = programname.pg" will re-save it from RAM to the hard disk

Editing and running a program:

  • Once you have the program open with the "SEE" command you need to press the insert button before you can edit the program and enter commands. Otherwise you are in read-only mode.
  • Debugging with both the command terminal and program window open can be very helpful:
    • Switch to dual-edit mode with Shift+F11+enter
    • To toggle between the modes:
      • Press F11 for the program editor
      • Shift+F11+enter for the command terminal
  • There are many functions that you can use in your program. Below are a few important or useful ones:
    • There are two ways to move from one point to another: MOVE and MOVES. MOVES constrains your motion to be in a straight line. MOVE just lets it get there however it feels best based on its joint configuration.
    • If you're using MOVE, then the SPEED command is relatively straightforward: "SPEED rotationalSpeedPercent", where rotationalSpeedPercent is measured relative to "normal speed". The robot will accept commands to operate at 9999% of normal speed, but that's ridiculous and don't do that ever. The highest I've ever used (and it was scary) was 400 or 500. I highly recommend starting with a VERY slow speed for your first run of a new program.
    • If you're using MOVES, first use this command to adjust your maximum possible speed: "SPEED rotationalSpeedPercent linearSpeedPercent". Put whatever you like for rotationalSpeedPercent, and then linearSpeedPercent limits the motions of the joints during your straight-line motion. Now, set your straight line motion speed using "SPEED speedInMillimetersPerSecond MMPS". This will make the robot try and get up the speed you tell it to if it doesn't exceed that linearSpeedPercent cap you set in the previous step. It takes some time (and space) to accelerate and decelerate, so don't trust that you're actually going that speed. If you really need to know speed, take a high speed video and measure it that way. Don't trust the robot!
    • If you tack on ALWAYS to the end of these SPEED commands (e.g. SPEED 20 ALWAYS), then it become the default speed for the program. Otherwise, you'll need to set SPEED before each MOVE or MOVES command.
    • IMPORTANT! There are two different speed variables, global and relative. The above discussion is all about relative speed. "SPEED speedPercent MONITOR" limits the global speed. This defaults to 50% (I think), and all your SPEED commands are supposed to be multiplied by this value. So if you have a program that runs with SPEED 100 MONITOR, changing to SPEED 10 MONITOR should make everything run at one tenth the original speed.
    • You can declare variables by naming them: “x0 = 385”
    • "SET positionVariableName = TRANS(x, y, z, angle1, angle2, angle3)" declares a location variable with absolute position and orientation of the wrist. Then you can use this new positionVariableName variable to move the robot later in the program. For example, "MOVE positionVariableName" (or MOVES positionVariableName) will move the end effector to the desired location with the previously specified speed.
    • PAUSE stops the program until you tell it to move on. this is optional but helpful for some experiments and especially useful during debugging of your program. To move on from your PAUSE, type “proceed” in the command terminal.
  • Exit the editor by pressing F4. If you accidentally press F4 a second time, the command terminal will disappear! DON'T FRET! Just press alt+esc to get the command terminal back again.
  • To run your program get to the command terminal (F4) then type "execute programname.pg"
    • It will run the current program you have loaded onto RAM, no need to save again
    • Recommended: use "enable trace" in the command terminal to get a printout of the program lines as they are executed.
    • You can also use "xstep programname.pg" to execute your file step by step. This is another useful debugging tool. You can always type "proceed" to run through the rest of your program.

Shutting Down:

  • Disable power with "dis po"
    • If you have just disabled power, but haven't shut off the system power switch then you don't need to re-calibrate when you re-enable power.
  • Switch off the system power rotary switch from "1" to "0"
  • Unplug the "adept fan" and "adept computer"

Other Resources:

If you get any weird errors (and you will) see the manuals that come with the Adept. There are also a ton of commands that you can use that are not described on this page. Here are the docs you may need.

Page last modified on October 03, 2014, at 01:44 PM