On Fri, 14 Feb 2003, Peter C. Lee wrote:
> The status of gripper is not updating. For the FORAGE example, the robot
> never stops and does grabbing when the object was inside the gripper.
> I also try the following in my program:
> if (finalApproach)
> printf("Entering final approaching stage\n");
> for (;;)
> if (robot.Read())
> if (gp.inner_break_beam || (gp.outer_break_beam)
> It prints the same breakbeam state of when the program starts.
I assume that you're using the patch that posted for using a gripper that
attached to General I/O?
From what you're saying, I can think of a few possibilities:
(1) I got the bit-shifting wrong in the patch, so that the breakbeam
data is not being read correctly. Have you tried running a simple test
program that subcribes to the gripper and prints out the state, while
you obstruct the breakbeams? Is the information correct?
(2) P2OS is incorrectly configured, so that it's not reading the gripper's
state from the right place. There's a variable (HasGripper) that needs
to be set to either 1 or 2, depending on whether your gripper is
attached to General or User I/O. That variable can be changed with the
'p2oscf' utility. Check the P2OS user manual for details.
(3) You haven't opened the gripper for reading, so it's not sending you
any data. You should request 'a' (all = read/write) access.
(4) Something else is wrong; do you see any error or warning messages
printed out from either the server or client?