Skip to content
mateiciocarlie edited this page Apr 10, 2013 · 10 revisions

Welcome to the velo_gripper wiki!

Programming the Velo MCB

The Velo MCB needs to be programmed with the right name for the actuator. The utility that can do that is called motorconf and lives in the ethercat_hardware package.

To see the current name programmed into the MCB:

roscd ethercat_hardware
pr2-grant ./motorconf -ieth0

You should see an output along the lines of:

[DEBUG] [1365555420.253989026]: Device #00: WG06 (0x67d60e) Firmware Revision 1.02, PCB Revision E.01, Serial #: 1098
[DEBUG] [1365555420.255918352]:             Serial #: 01098
[DEBUG] [1365555420.262040250]:             Name: l_velo_gripper_motor
[ WARN] [1365555420.266888302]: l_velo_gripper_motor EEPROM does not contain motor heating model parameters
[DEBUG] [1365555420.268262462]: No calibration offset was stored on device l_velo_gripper_motor

The Name should be l_velo_gripper_motor or r_velo_gripper_motor depending on which side of the PR2 you intend to mount the Velo on. If you're using the Velo standalone, either of those will work, but you will need to choose the appropriate launch file later based on whether the Velo is configured for the left of right arm.

If the name is incorrect, you will need to program the MCB to change it. Use the following command:

pr2-grant ./motorconf -ieth0 -a `rospack find velo_controller`/actuators.conf -n l_velo_gripper_motor -d0 -m 222055 -b wg006 -p

Where:

  • -d# tells you which device on the chain you are programming
  • -n ### sets the name you want

Starting the Velo standalone

Use the following command:

roslaunch velo_bench bench_l.launch interface:=eth0

At this point, the Velo should calibrate: the fingers will close all the way, open a little bit, close again, then open all the way.

If, during this procedure, the Velo detects that the gripper is not installed on the actuation module, it will print an error message:

[ERROR] [1365609228.372424494]: Gripper "l_gripper_joint" NOT installed!  Please install and recalibrate.  (pos=0.0163m)

If that happens, Ctrl-C the launch file, install a gripper, and start it again.

Commanding the gripper

At this point, the Velo controller is up and listening to commands on its input topic.

A convenient way to send commands is the lcg_set_pos script provided with the Velo stack.

roscd velo_controller/scripts
./lcg_set_pos.py -p 0.0 -f 5

The arguments are:

  • -p # the desired gap between fingers, in meters. A gap of 0 (or negative) will close the gripper all the way. A gap of approximately 0.135 will open the gripper all the way
  • -f % applied gripping force, in N. The controller will clamp this to within the limits of the Velo. The max gripping force that can actually be executed is approx. 10N.
Clone this wiki locally