The pal_robotiq_gripper
repository contains the necessary files for working with Robotiq grippers in both ROS1 and ROS2 environments. It includes description files, URDFs, configurations, and controller setups for different gripper models, such as the Robotiq 140 and 85 grippers, along with specialized configurations for Gazebo simulations and ROS controllers.
- ROS Control - Hardware Interface
- C++ API
- Configuration Files
- Launch Files
- Example Usage
- Dependencies
This repository interfaces with the Robotiq gripper hardware via ROS Control. The gripper hardware interface supports:
- Effort Command: Allows controlling the force applied by the gripper.
- Position State: Provides feedback on the gripper's current position.
- Velocity State: Reports the speed of the gripper’s movement.
The C++ API for the Robotiq gripper is used to communicate and control the hardware via ROS control interfaces. The implementation abstracts the hardware details and provides an interface for higher-level control systems.
Configuration files are included to set up parameters such as port names, hardware filters, and controller parameters.
-
URDF Files: Located in
pal_robotiq_140_description/urdf
, they define the robot description for the Robotiq gripper, including transmission and joint settings.robotiq_140_gripper.urdf.xacro
robotiq_140_gripper.transmission.xacro
-
Meshes: 3D models used for visualization and collision detection in simulations. Located under
pal_robotiq_140_description/meshes/collision
andmeshes/visual
.
- Defines port names and other parameters essential for interfacing with the gripper hardware.
- Example files:
hardware_config.yaml
controller_config.yaml
Several launch files are provided for different use cases, including hardware bring-up, simulation, and display configurations. These launch files help to streamline the process of launching and configuring the gripper in both real and simulated environments.
upload.launch
: Loads the URDF model for the Robotiq gripper into the ROS parameter server.display.launch
: Launches RViz to visualize the Robotiq gripper model.default_controllers.launch
: Brings up the necessary controllers for interfacing with the gripper.
Example:
roslaunch pal_robotiq_140_description upload.launch
To bring up the Robotiq 140 gripper in a simulated or real environment, the following steps can be followed:
-
Load the URDF:
roslaunch pal_robotiq_140_description upload.launch
-
Visualize the gripper model in RViz:
roslaunch pal_robotiq_140_description display.launch
-
Launch the gripper controller:
roslaunch pal_robotiq_controller_configuration default_controllers.launch
This repository relies on the following dependencies, which can be installed via the rosdep
command or manually:
- ROS (Melodic, Noetic, or later): The primary dependency for controlling and simulating the gripper.
- URDF and Xacro: For defining the robot description and models.
- RViz: For visualization of the gripper models.
- Controller Manager: For managing the gripper controllers in ROS control.
To install the necessary dependencies, run:
rosdep install --from-paths src --ignore-src -r -y
This repository provides the essential components to interface with Robotiq grippers in ROS1/ROS2 environments.