Skip to content

ABC-iRobotics/onrobot-ros2

Repository files navigation

OnRobot ROS 2 Controller

License: MIT repo size GitHub Repo stars GitHub forks

Introduction

ROS 2 drivers for OnRobot Grippers. This repository was inspired by Osaka-University-Harada-Laboratory/onrobot.

The current build of this package only supports the OnRobot RG series, only tested on the OnRobot RG6 gripper. The package supports various control methods, like physical device control via Modbus, or simulated gripper either by self-simulation, or leveraging Isaac Sim's simulation environment.

Features

Prerequisites

  • pyModbus >= 3.9.2

Setup Guide

Navigate into your ROS 2 workspace and copy this repo to your source folder

cd src && git clone https://github.com/ABC-iRobotics/onrobot-ros2.git && cd ..

Build the package (and installing python prerequisites)

colcon build --packages-select onrobot_rg_msgs onrobot_rg_description onrobot_rg_control

Usage

After installation the controller server and the controller can be run separately.

ros2 run onrobot_rg_control OnRobotControllerServer

Or by using the included example launch file.

ros2 launch onrobot_rg_control bringup.launch.py

Use the CLI controller by running in a new terminal:

ros2 run onrobot_rg_control OnRobotController --ros-args -p /onrobot/gripper:=<your gripper type>

Parameters

Using parameters require using DeclareLaunchArgument and LaunchConfiguration in launch files, command line arguments, or ROS parameters.

Command line argument:

<name>:=<value>

ROS parameter:

--ros-args -p /onrobot/<name1>:=<value1> -p /onrobot/<name2>:=<value2> ...

General

Using launch arguments and ros-args parameter the controller server can be customized:

Name Argument Usage Values Default
Gripper gripper Sets the used gripper type. rg2, rg6 rg6
Control control Sets gripper control method. modbus, sim (WIP), isaac modbus
Offset offset Defines fingertip offset on one side 0 - 80 5

Modbus TCP/IP

For Modbus TCP/IP control the available parameters:

Name Argument Usage Values Default
IP ip Sets Compute Box IP. 0.0.0.0 - 255.255.255.255 192.168.1.1
Port port Sets Compute Box Modbus port. 0 - 65535 502
Changer Address changer_addr Defines controlled device 63 - 67 65

Isaac Sim

For Isaac Sim control the available parameters:

Name Argument Usage Values Default
Isaac joint states isaac_joint_states Sets joint state topic /* /isaac_joint_states
Isaac joint commands isaac_joint_commands Sets joint commands topic /* /isaac_joint_commands

Width / Height / Joint value cross calculation

Using the OnRobotRGControllerServer a query can be requested on /onrobot/pose. Using the GripperPose srv message setting either width, height or joint angle the service rensponds with the completed state information. This helps to identify the height offset in a set width between the fingertips.

Troubleshooting

In case of any issues, check the official resources:

Author

Makány András - Graduate student at Obuda University

License

This software is released under the MIT License, see LICENSE.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published