Gripper
Gripper – definition
A gripper is an end-effector used to grasp, hold, release, or stabilize an object. In mobile robotics, the term usually refers to a compact mechanical tool mounted as a payload on a UGV, rather than a standalone industrial manipulator. A gripper can be installed on a small arm, a vertical lift, a pan-tilt payload, or a fixed front bracket, depending on the task.
In the context of ROS 2 and UGV platforms, a gripper is treated as an actuated subsystem with defined mechanical limits, control interfaces, and feedback signals. Typical functions include opening width control, grip force control, contact detection, and object retention. On platforms such as Leo Rover and Raph Rover, a gripper is relevant when the rover must interact physically with the environment, for example by collecting samples, carrying sensors, pressing switches, handling tagged test objects, or stabilizing an inspection probe.
A gripper is not a navigation component. It does not replace perception, localization, or path planning. In practice, it extends a mobile robot from observation to interaction. This is important for field robotics, where the vehicle may need to grasp lightweight objects after autonomous or teleoperated positioning.
How a gripper is represented in ROS 2
In ROS 2, a gripper is usually modeled as one or more joints in the robot description. The structure is defined in URDF, while runtime control is commonly implemented with ros2_control and hardware-specific drivers. If the mechanism has two fingers driven symmetrically, it may be represented by one actuated joint plus mimic joints, or by two independently actuated joints if separate control is required.
The representation depends on the hardware. A simple servo gripper may expose only position commands. A more advanced electric gripper may also report current, force, temperature, or fault states over CAN, UART, USB, or Ethernet.
| ROS 2 element | Typical use for gripper integration |
|---|---|
| URDF | Defines links, joints, limits, collision geometry, mimic behavior |
| ros2_control | Exposes command and state interfaces for actuators |
| JointState message | Publishes joint position, velocity, effort |
| GripperCommand action | Commonly used for simple open/close or position-and-effort gripper control |
| FollowJointTrajectory action | Used when the gripper is controlled as part of a small arm or coordinated motion stack |
| TF tree | Provides the spatial relation between base_link, wrist, and gripper frame |
For ROS naming and frame conventions, the implementation should remain consistent with REP 103 for standard units and coordinate conventions, and REP 105 for mobile platform frame semantics. This matters when the gripper is used together with cameras or depth sensors for visual grasping.
gripper_controller:
ros__parameters:
type: position_controllers/GripperActionController
joint: gripper_finger_joint
goal_tolerance: 0.002
max_effort: 20.0
allow_stalling: true
The exact controller plugin depends on the chosen ROS 2 distribution, ros2_control version, and hardware interface. In Humble and newer systems, many integrators use ros2_control with a custom hardware plugin for servo or motor drivers.
Key parameters and metrics
A gripper is defined by mechanical and control parameters. These values determine whether it is suitable for a given UGV payload and task. On a mobile platform, the gripper must be assessed together with total power budget, vibration exposure, and localization accuracy.
- Opening width – maximum distance between contact surfaces, usually given in mm.
- Stroke – travel of one finger or total jaw travel, depending on vendor convention.
- Grip force – static clamping force, usually in N.
- Payload at tool – mass that can be retained under specified acceleration.
- Mass of gripper – critical for small UGVs and mast-mounted tools.
- Voltage and current – for example a 5-6 V hobby servo, a 12 V actuator, or a 24 V electric gripper.
- Closing time – relevant for repetitive tasks and interaction timing.
- Repeatability – often specified in mm for fingertip position.
- Ingress protection – important in outdoor robotics when dust and splash resistance are required.
For mobile robots, grip force alone is not enough. The retained object must remain stable under base motion. A practical approximation is:
required_grip_force >= (m * a) / (mu * n)
where m is object mass, a is expected acceleration or disturbance, mu is the friction coefficient at the contact surface, and n is the number of effective frictional contact interfaces. This is a simplified engineering estimate, not a substitute for full contact modeling.
Gripper types used on UGV platforms
For UGV applications, grippers are selected for robustness and integration simplicity. The most common variants are parallel jaw grippers, compliant grippers, and soft grippers. Vacuum grippers are less common outdoors because they depend on suitable surfaces and stable suction conditions.
- Parallel jaw gripper – the most common option for test objects, containers, handles, and probes.
- Servo gripper – low cost and simple, but limited in force feedback and durability.
- Electric gripper with encoder – better repeatability and state monitoring.
- Soft gripper – useful for irregular or fragile objects, but less predictable in field conditions.
- Compliant passive gripper – tolerates positioning error, useful on mobile bases with modest localization accuracy.
In field robotics, passive compliance often improves success rate more than adding raw force. This is because UGVs can experience wheel slip, chassis pitch, and uneven terrain, which reduce final positioning precision at the tool center point.
Integration on Leo Rover and Raph Rover
On Leo Rover, a gripper is typically a lightweight payload. The platform uses skid steering and a Raspberry Pi based compute unit by default, so gripper selection should account for limited onboard compute and power compared with larger systems. ROS 2 Humble or newer can handle state publishing, teleoperation interfaces, and basic visual servoing, but advanced grasp planning may require an external companion computer.
Leo Rover is not an autonomous manipulation platform out of the box. To use a gripper effectively, the integrator must add the mechanical mount, actuator driver, URDF model, controller setup, and usually at least one perception sensor such as an RGB-D camera. For a small UGV, common tasks include collecting samples, carrying AprilTag-marked objects, or placing sensors in hard-to-reach locations.
Raph Rover supports heavier payloads and is better suited to larger grippers, multi-axis toolheads, and higher-voltage actuators. This matters when the use case includes handling heavier test fixtures, operating in rougher terrain, or combining a gripper with a mast, arm, or inspection package. The larger payload margin also allows better stabilization, but it does not remove the need for proper calibration and control.
Perception and control requirements
A gripper on a UGV is useful only if the robot can estimate object pose well enough for approach and closure. In ROS 2 systems, this usually combines TF transforms, camera calibration, and object detection or fiducial tracking. A depth camera or stereo pair can estimate object distance. An IMU helps compensate for vehicle tilt. If operation is outdoors over larger areas, GNSS/RTK may bring the rover near the target, but final grasp alignment still depends on local sensing.
Typical data rates vary by hardware. Joint states are commonly published at 10-100 Hz. Servo control loops may run internally at higher frequency, while high-level command updates are slower. Camera pipelines for grasp assistance often run at 15-30 FPS on embedded systems, depending on resolution and model complexity.
ros2 topic echo /joint_states
ros2 action send_goal /gripper_controller/gripper_cmd control_msgs/action/GripperCommand "{command: {position: 0.02, max_effort: 15.0}}"
Limitations and trade-offs
Grippers on mobile robots face constraints that are less severe in fixed installations. Base motion introduces vibration. Terrain changes the relative pose of the tool. Power limits restrict actuator choice. Environmental contamination affects friction and contact sensing.
The main trade-offs are straightforward:
- Higher grip force usually means more mass and current draw.
- Wider opening usually increases size and reduces compactness.
- Soft or compliant fingers improve tolerance to pose error but reduce precision.
- Low-cost servo solutions simplify integration but offer weaker feedback and protection.
Normative references and standards
The core references for ROS-based gripper integration are not gripper-specific standards but system-level conventions and interfaces. REP 103 defines standard units and coordinate conventions in ROS. REP 105 defines the relationship between frames such as base_link, odom, and map, which becomes important when the gripper is mounted on a mobile base. URDF is the standard XML robot description format used across ROS and ROS 2 toolchains. ros2_control defines the controller and hardware abstraction pattern commonly used for actuated joints. Message and action types such as sensor_msgs/msg/JointState and control_msgs/action/GripperCommand are standard interfaces in ROS 2.
For implementation details on a specific rover, the relevant source is the platform documentation at docs.leorover.tech. Hardware-specific force, repeatability, and duty-cycle values must be taken from the gripper manufacturer specification, because these parameters vary widely across vendors and actuator classes.