0
Not a bug

Fixer not fixing properly?

David Hallahan PEng 1 year ago in realvirtual.io Starter and Professional updated 1 year ago 2

Hi, 

I am quite stumped by the Fixer's behaviour. This should be simple functionality and it does not seem to work for me. It appears linked to how the "MUs Fixed" array is updating (or not updating). 

I have this gripper (grip & sensor) (yellow), MU (blue) and Fixer (red).

Image 990


Picking works fine.

Image 991


At this point, the MUS Fixed array is empty and the MU has been picked. 

Image 992

As soon as the MU is moved into the Fixer the MUS Fixed array updates but the MU is not actually fixed. And 'Place Objects' on the Grip has no effect. 


Image 993

At this point, 'Place Objects' was clicked while in the Fixer collider but was not Fixed. 


Image 994


 But if I clear the MUS Fixed array then re-enter the Fixer with 'Placed Objects' on, the MU becomes Fixed. 

Image 995

Image 996

Picking works but the MUS Fixed array is not cleared. 

Image 997

Placing again will not work until the MUS Fixed array is cleared manually. MUS Entered array is never updated.

I notice that in the Gripping MUs sample this does seem to work and arrays are updated properly. But there's a number of signals in use in that demo. Perhaps it works only when PLC signals are used. But it would be nice if it worked without the PLC signals. 

Answer

Answer
Not a bug

Hi,

I have setup the situation as you described. 
The settings in my Grip-script are the following:

Image 998

With this settings it works when you switch between pick and place during the game mode. The Fixer only keep the MU if the gripper is set to place. The gripper always holds the higher priority.

According to your screen shots I'm not quite sure how the picking was able to work because there is no pick mode defined.

(for this have a closer look in out documentation: Grip - realvirtual.io User Documentation (gitbook.com).

Kind regards 

Christin

Answer
Not a bug

Hi,

I have setup the situation as you described. 
The settings in my Grip-script are the following:

Image 998

With this settings it works when you switch between pick and place during the game mode. The Fixer only keep the MU if the gripper is set to place. The gripper always holds the higher priority.

According to your screen shots I'm not quite sure how the picking was able to work because there is no pick mode defined.

(for this have a closer look in out documentation: Grip - realvirtual.io User Documentation (gitbook.com).

Kind regards 

Christin

It doesn't really work how I'd expect with the Pick based on Sensor setting. It's picking up automatically (like a Direct Grip) And not really gripping it but pushing and sliding it. 


Taking your suggestion also results in the Use Raycast being ignored. 

Image 1000


Also, the docs suggest that the sensor is some OTHER sensor (external?). By default it works well with the Part to Grip sensor.

Image 1001



I found that setting the layers properly fixes the issue (both Gripper and Fixer objects on rvSensor). But this only applies when Source is attached to the MU. And this is because Source assigns the object to rvMU. It might be nice if the MU assigned the object to rvMU because I often don't want to use Source on the part.


I added code to the Start() of Grip and Fixer to set the layers to minimize set up:

gameObject.layer = LayerMask.NameToLayer("rvSensor");


With this approach, the only set up required

- Grip, Sensor and Fixer scripts assigned 

- Part to Grip set

- Rigidbody assigned to MU (it would be nice if this was automatic too)

Thanks for your reply.