-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Welcome to the velo_gripper wiki!
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
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.
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.