Wraptor general info -------------------- The Wraptor can be commanded via Ethernet (10-BaseT). You can use a TCP terminal program such as TeraTerm or any application linked against the Windows Wraptor library. Link: http://web.barrett.com/temp/ttermp23.zip (TeraTerm) The Wraptor's default IP address has been set to: 192.168.139.251. The default port is 1001. It is a raw TCP connection, not Telnet. The IP/port can be changed with the Tibbo Device Manager application from tibbo.com. Link: http://web.barrett.com/temp/TDST_3-9-82.exe You must wait approx 10 sec after power-up for the enet server in the Wraptor to initialize before connecting. I have a Wraptor Test application (in DOS) which has the following options: 1) Cycle the Wraptor. 2) Enter supervisory commands. 3) Send commands from a text file (not in a loop) Link: http://web.barrett.com/temp/Wraptor.zip (Wraptor lib, test app) Pucks occasionally brown out during a whole-Wraptor HI. Splitting it into two commands such as: "12HI, 34HI" seems to work fine. We DO NOT have a TSTOP parameter- the motors will try to reach their target positions without ever giving up. We DO NOT have overtemperature warnings/shutdown. I suggest you poll the temperature routinely to monitor this (especially for controller 4). We DO NOT have error feedback. We DO NOT have RealTime control. Known Bugs: ----------- You should wait 10 sec after issuing an HI command before issuing another command. The prompt is returned prematurely (before the HI is complete). The M command causes the fingertips of fingers 2 and 3 to shift momentarily after completing a move. Saving the motor positions on shutdown ("SAVE P") is supposed to eliminate the need for an HI upon power-up (just "LOAD P" after power-up), but it does not work reliably yet. GCL details ----------- *** We have the following GCL supervisory commands: O=Open finger to open target (OT) C=Close finger to close target (CT) TO=Torque Open, apply max torque (MT) in open direction TC=Torque Close, apply max torque (MT) in close direction IO=Incremental Open, move default step (DS) counts in open direction IC=Incremental Close, move default step (DS) counts in close direction M=Move to given position (cts) T=Terminate motor power (sets MODE to 0, IDLE) HOME=Move to home position HI=Hand Initialize, find joint stops and move to home position VERS=Show firmware version information FGET=Finger Get a parameter (aka: GET) FSET=Finger Set a parameter (aka: SET) FLOAD=Finger Load a parameter from non-volatile storage (aka: LOAD) FSAVE=Finger Save a parameter to non-volatile storage (aka: SAVE) FDEF=Finger Default a parameter to its default value (aka: DEF) *** We have the following GCL parameters: P=Position of rotor in encoder cts DS=Default Step (cts) for IC, IO commands DP=Default Position (cts) for M command with an explicit value IVEL=Initialization Velocity for HI command IOFF=Initialization Offset for HI command OT=Open Target (cts) for O command CT=Close Target (cts) for C command ACCEL=Trapezoidal profile acceleration (cts/ms/ms) TEMP=Temperature (Celsius), obtained with FGET command We DO NOT have the following GCL supervisory commands: ? a? LOOP, PGET, PSET, PLOAD, PSAVE, PDEF, FLIST, FLISTA, FLISTV, FLISTAV, ERR, RESET We DO NOT have the following GCL parameters: S, SG, MSG, HSG, LSG, MOV, MCV, OD, BDAT, BD, BP, BS, IHIT, MPE, TSTOP, HOLD, SGFLIP, EN, PTEMP, OTEMP, UPSECS, CCEE, FPG, FDZ, FTPG, FIP, SAMPLE Wraptor GCL paramter extensions ------------------------------- MODE: 0=Idle 1=Duty cycle (not implemented) 2=Torque 3=Position 4=Velocity 5=Trapezoidal profile move T: Torque parameter used in MODE 2. Units~=mA motor current V: Velocity parameter used in MODE 4. Units=encoder cts/ms E: Endpoint target position used in MODE 5. Units=encoder cts MT: Max Torque allowed for any command. Units~=mA motor current MV: Max Velocity allowed for trapezoidal moves (cts/ms). Presently used instead of MCV, MOV. Use only positive values. DIG0: Digital I/O to operate spread brake circuit. 0=Braked, 50=Free KP, KD, KI: Proportional, derivative, and integral gains for position controller. (Replaces GCL's FPG, FDZ, FIP) Adjusting these can alter the control stiffness at the risk of instability. Feel free to experiment, but be quick with the kill switch. TIE: Forwards commands processed by this controller to the controller specified in TIE. By default, motor 1 is tied to motor 5, 2 to 6, and 3 to 7. Result: the command, "1C" is transformed into "15C" to more closely mimic the BarrettHand. To stop this behavior, set TIE to zero for motors 1, 2, 3 ("123 SET TIE 0"). GCL Format ---------- [][] [] [] = Motor Select [1234567 G S IL OL] nnn... String of motor numbers G = Grasp (fingers 1, 2, 3). Uses TIE parameter. S = Spread (motor 4) IL = Inner Links (motors 1, 2, 3). You should set TIE to 0 for expected operation, else the outer links will move, too. OL = Outer Links (motors 5, 6, 7) Default value is "1234", if omitted is an optional space between the Motor Select and the is any GCL parameter is any 32-bit integer value (-2E6..+2E6) GCL Examples (quick start) -------------------------- 12HI = Initialize fingers 1 and 2 2C = Close finger 2. Uses Close Target (CT) parameter as a trapezoidal profile target position 2 SET MV 250 = Set the Max Velocity of finger 2 to 250 cts/ms 2O = Open finger 2. Uses Open Target (OT). Uses the new MV. 15 GET P = Get the Position of motors 1 and 5 4 GET TEMP = Get the temperature of controller 4 (the spread motor, center of hand) Other Notes ----------- I do not know the mA-to-Nm conversion ratio between motor current and motor torque. It does not matter very much, because the worm and seal friction (two animals, heh) are hard to model in an effort to obtain accurate joint torque for force control. A torque command of 1000-1600 is needed to overcome friction for most joints. Velocity and trapezoidal profile commands will apply whatever torque is necessary to meet the control input (up to MT). Motor rotation conversion ratios: 40960:1 Encoder cts to motor revolutions 49:1 Inner link motor revolutions to joint revolutions 39:1 Outer link motor revolutions to joint revolutions 18.28:1 Spread motor revolutions to joint revolutions The joint ranges are: Inner links (1-3): -10 to +133 degrees Outer links (5-7): -78 to +180 degrees Spread motor (4): 0 to 180 degrees Wraptor motor numbering, dimensions, and safety cautions remain unchanged from the original Wraptor manual (pages 2, 3, 6). Please note that most of the information in the original manual does not apply to the new model Wraptor. Link to original Wraptor manual: http://web.barrett.com/support/Wraptor_Documentation/WraptorManual.pdf