Gripper component providing complete gripping functionality for robotic pick-and-place operations. More...

Public Member Functions | |
void | GripperClose () |
void | Stop () |
void | GripperOpen () |
![]() | |
new List< BehaviorInterfaceConnection > | GetConnections () |
Returns a list of behavior interface connections for this component. | |
new List< Signal > | GetSignals () |
Returns a list of connected signals for this component. | |
![]() | |
void | PreStartSim () |
Is called by the realvirtualController before the component is started. | |
void | StartSim () |
Is called by the realvirtualController to start or stop the component. | |
void | StopSim () |
Vector3 | DirectionToVector (DIRECTION direction) |
Transfers the direction enumeration to a vector. | |
DIRECTION | VectorToDirection (bool torotatoin, Vector3 vector) |
Transfers a vector to the direction enumeration. | |
float | GetLocalScale (Transform thetransform, DIRECTION direction) |
List< BehaviorInterfaceConnection > | UpdateConnectionInfo () |
List< Signal > | GetConnectedSignals () |
void | SetVisibility (bool visibility) |
Sets the visibility of this object including all subobjects. | |
List< BehaviorInterfaceConnection > | GetConnections () |
List< Signal > | GetSignals () |
GameObject | GetChildByName (string name) |
Gets a child by name. | |
List< GameObject > | GetChildsByName (string name) |
Gets all child by name. | |
GameObject | GetChildByNameAlsoHidden (string name) |
List< GameObject > | GetAllMeshesWithGroup (string group) |
List< GameObject > | GetAllWithGroup (string group) |
List< GameObject > | GetAllWithGroups (List< string > groups) |
List< GameObject > | GetAllMeshesWithGroups (List< string > groups) |
List< string > | GetMyGroups () |
List< GameObject > | GetMeshesWithSameGroups () |
List< GameObject > | GetAllWithSameGroups () |
MeshRenderer | GetMeshRenderer () |
Gets the mesh renderers in the childrens. | |
void | SetCollider (bool enabled) |
sets the collider in all child objects | |
void | ErrorMessage (string message) |
Displays an error message. | |
void | ChangeConnectionMode (bool isconnected) |
void | Log (string message) |
Logs a message. | |
void | Log (string message, object obj) |
Logs a message with a relation to an object. | |
void | Warning (string message, object obj) |
Logs a warinng with a relation to an object. | |
void | Error (string message, object obj) |
Logs an error with a relation to an object. | |
void | Error (string message) |
Logs an error. | |
GameObject | DebugPosition (string debugname, Vector3 position, Quaternion quaternation, float scale) |
Displays a gizmo for debugging positions. | |
void | SetFreezePosition (bool enabled) |
Freezes all child components to the current poosition. | |
void | SetRbConstraints (RigidbodyConstraints constraints) |
virtual void | AwakeAlsoDeactivated () |
Public Attributes | |
GameObject | LeftFinger |
Reference to the left finger GameObject. | |
GameObject | RightFinger |
Reference to the right finger GameObject. | |
float | TimeOpening |
Time in seconds for opening the gripper. | |
float | TimeClosing |
Time in seconds for closing the gripper. | |
float | GripperWidth |
Maximum gripper width in millimeters. | |
float | OpenPosOffset |
Offset position in millimeters when gripper is open. | |
Vector3 | DirectionFinger |
Direction vector for finger movement. | |
Vector3 | DirectionClosing |
Direction vector for closing movement. | |
bool | FullyClosed |
True when gripper is fully closed. | |
bool | Close |
Set to true to close the gripper. | |
bool | Closing |
True while gripper is closing. | |
bool | FullyOpened |
True when gripper is fully opened. | |
bool | Open |
Set to true to open the gripper. | |
bool | Opening |
True while gripper is opening. | |
bool | MUIsGripped |
True when an MU is gripped. | |
MU | GrippedMU |
Reference to the currently gripped MU. | |
PLCOutputBool | CloseGripper |
PLC output signal to close the gripper. | |
PLCOutputBool | OpenGripper |
PLC output signal to open the gripper. | |
PLCInputBool | IsClosing |
PLC input signal indicating gripper is closing. | |
PLCInputBool | IsOpening |
PLC input signal indicating gripper is opening. | |
PLCInputBool | IsFullyOpened |
PLC input signal indicating gripper is fully opened. | |
PLCInputBool | IsFullyClosed |
PLC input signal indicating gripper is fully closed. | |
bool | usefingers |
![]() | |
List< BehaviorInterfaceConnection > | ConnectionInfo |
![]() | |
string | Name |
The name of the component if it should be different from the GameObject name. | |
ActiveOnly | Active |
GameObject | FromTemplate |
realvirtualController | realvirtualController |
bool | HideNonG44Components |
bool | SceneIsAdditive |
bool | ForceStop |
Additional Inherited Members | |
![]() | |
enum | ActiveOnly { Always , Connected , Disconnected , Never , DontChange } |
![]() | |
static bool | DirectionIsLinear (DIRECTION direction) |
Gets back if the direction is linear or a rotation. | |
![]() | |
bool | hidename () |
bool | hideactiveonly () |
virtual void | OnStopSim () |
virtual void | OnPreStartSim () |
virtual void | OnStartSim () |
MU | GetTopOfMu (GameObject obj) |
Gets the top of an MU component (the first MU script going up in the hierarchy) | |
void | InitGame4Automation () |
Initialiates the components and gets the reference to the realvirtualController in the scene. | |
virtual void | AfterAwake () |
void | Awake () |
![]() | |
GameObject | gameObject [get] |
Detailed Description
Gripper component providing complete gripping functionality for robotic pick-and-place operations.
The Gripper component is a sophisticated tool for simulating industrial gripping mechanisms in realvirtual, offering realistic finger movement control and intelligent collision-based gripping. It provides a complete solution for pick-and-place operations, automatically managing finger positions, detecting contact with MUs, and maintaining secure grips during transport operations. The component simulates real-world gripper behavior including opening/closing times, maximum aperture, and contact-based stopping for safe material handling.
Key Features:
- Automatic finger movement with configurable opening/closing speeds
- Intelligent collision detection for contact-based gripping
- Dual finger control with synchronized movement
- Raycast-based MU detection for precise gripping
- Automatic stop-on-contact to prevent over-gripping
- Support for fingerless grippers using raycast detection
- Real-time status monitoring (opening, closing, fully opened, fully closed)
- Integrated Grip component for MU attachment management
Common Applications:
- Robotic end-of-arm tooling (EOAT) simulation
- Pneumatic and servo-electric gripper modeling
- Pick-and-place robot systems
- Automated assembly operations
- Material handling and packaging systems
- Quality inspection and sorting stations
- Collaborative robot (cobot) applications
Operating Principles: The Gripper operates by controlling two finger GameObjects that move symmetrically along defined direction vectors. When closing, the fingers move inward until they contact an MU or reach their fully closed position. Upon contact detection via raycast sensing, the gripper automatically stops closing and secures the MU using the integrated Grip component. The opening process releases any gripped MUs and returns the fingers to their fully open position. The component supports both manual control through Inspector properties and automated control via PLC signals.
Finger Configuration: The component automatically locates finger GameObjects named "Left" and "Right" in its children, or custom finger objects can be assigned. For special cases without physical fingers, the gripper can operate in raycast-only mode, simulating magnetic or vacuum grippers. The finger movement is calculated based on the GripperWidth parameter and follows the DirectionClosing vector for precise control over gripper geometry.
Integration Points: The Gripper seamlessly integrates with realvirtual's automation ecosystem through PLC signal interfaces (PLCOutputBool for commands, PLCInputBool for status), the Sensor system for MU detection, and the Grip component for attachment management. It can be controlled by robot controllers, PLC programs, or scripted automation sequences, providing flexible integration options for various simulation scenarios.
Performance Considerations: The component uses efficient raycast detection limited to specific layers (rvMU, rvMUSensor) to minimize performance impact. Finger movements are calculated in FixedUpdate for smooth, deterministic motion synchronized with Unity's physics system. The automatic stop-on-contact feature prevents unnecessary calculations once gripping is achieved, optimizing runtime performance.
Status and Feedback: The Gripper provides comprehensive status information including current state (opening, closing), position status (fully opened, fully closed), and grip status (MUIsGripped). These status flags can be monitored through Inspector properties or transmitted to PLC systems via signal interfaces, enabling closed-loop control and monitoring in automated systems.
For detailed documentation and examples, visit: https://doc.realvirtual.io/components-and-scripts/gripper
Member Data Documentation
◆ Close
bool realvirtual.Gripper.Close |
Set to true to close the gripper.
◆ CloseGripper
PLCOutputBool realvirtual.Gripper.CloseGripper |
PLC output signal to close the gripper.
◆ Closing
bool realvirtual.Gripper.Closing |
True while gripper is closing.
◆ DirectionClosing
Vector3 realvirtual.Gripper.DirectionClosing |
Direction vector for closing movement.
◆ DirectionFinger
Vector3 realvirtual.Gripper.DirectionFinger |
Direction vector for finger movement.
◆ FullyClosed
bool realvirtual.Gripper.FullyClosed |
True when gripper is fully closed.
◆ FullyOpened
bool realvirtual.Gripper.FullyOpened |
True when gripper is fully opened.
◆ GrippedMU
MU realvirtual.Gripper.GrippedMU |
Reference to the currently gripped MU.
◆ GripperWidth
float realvirtual.Gripper.GripperWidth |
Maximum gripper width in millimeters.
◆ IsClosing
PLCInputBool realvirtual.Gripper.IsClosing |
PLC input signal indicating gripper is closing.
◆ IsFullyClosed
PLCInputBool realvirtual.Gripper.IsFullyClosed |
PLC input signal indicating gripper is fully closed.
◆ IsFullyOpened
PLCInputBool realvirtual.Gripper.IsFullyOpened |
PLC input signal indicating gripper is fully opened.
◆ IsOpening
PLCInputBool realvirtual.Gripper.IsOpening |
PLC input signal indicating gripper is opening.
◆ LeftFinger
GameObject realvirtual.Gripper.LeftFinger |
Reference to the left finger GameObject.
◆ MUIsGripped
bool realvirtual.Gripper.MUIsGripped |
True when an MU is gripped.
◆ Open
bool realvirtual.Gripper.Open |
Set to true to open the gripper.
◆ OpenGripper
PLCOutputBool realvirtual.Gripper.OpenGripper |
PLC output signal to open the gripper.
◆ Opening
bool realvirtual.Gripper.Opening |
True while gripper is opening.
◆ OpenPosOffset
float realvirtual.Gripper.OpenPosOffset |
Offset position in millimeters when gripper is open.
◆ RightFinger
GameObject realvirtual.Gripper.RightFinger |
Reference to the right finger GameObject.
◆ TimeClosing
float realvirtual.Gripper.TimeClosing |
Time in seconds for closing the gripper.
◆ TimeOpening
float realvirtual.Gripper.TimeOpening |
Time in seconds for opening the gripper.