This repository was created for the Smart Robotics Lab at the University of Nevada, Reno. It is the companion repository to gripperROSIntegration.
ROS packages to allow control of Universal Robots UR3e manipulator with University of Nevada, Reno Smart Robotics Lab's TSA-Driven Soft Robotic Hand. Packages can be used for motion planning and execution with the real robot or in simulation using Gazebo.
- ur3ehand_description
- The ur3ehand_description package contains files used to construct and load virtual models of the UR3e with the attached end-effector to be used for simulation, visualization, and motion-planning.
- The ur3e_with_hand.urdf model can be altered to change the collision and visual geometry of the end-effector and adjust joint limits to fit the user's needs.
- ur3ehand_moveit_config
- The ur3ehand_moveit_config package provides tools for motion planning and simulated execution for the combined UR3e-end-effector system.
- ur3ehand_scripts
- The ur3ehand_scripts package contains Python and C++ scripts used for controlling the gripper and manipulator.
- Many of them are meant to serve as examples, showing how one could program specific joint-space or Cartesian goals to the system and execute them. They do not necessarily reflect the optimal method of performing these actions.
- Some of the scripts include examples of how to publish to the arduino topic to interface with this repository's companion repository.
These packages are built and tested on a system running ROS noetic on Ubuntu 20.04.
Use of these packages in a non-simulated environment requires the use of the official Universal Robots ROS Drivers. Slight modifications may be necessary to get these drivers to load the proper configuration files. Please contact the author at [email protected] if help is needed to do this.
- Create a Catkin workspace:
mkdir -p catkin_ur3ehand/src && cd catkin_ur3ehand/src
- Clone the contents of this repository:
git clone https://github.com/steven-swanbeck/ROS_ur3ehand.git
- Clone the UR Robots ROS Driver:
git clone https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git src/Universal_Robots_ROS_Driver
- Install all package dependencies:
rosdep install --from-paths src --ignore-src -r -y
- Make the workspace:
catkin_make
- Source the workspace:
source devel/setup.bash
- To launch a simple demo of the robot configured in RViz, use:
roslaunch ur3ehand_moveit_config demo.launch
- To expand the capabilites of this demo to Gazebo to simulate the robot, instead run:
roslaunch ur3ehand_moveit_config demo_gazebo.launch
- To run MoveIt with the real robot and drivers, the PC and robot must be configured as described in Universal Robots ROS Drivers. Once this is done, start with:
roslaunch ur_robot_driver ur3e_bringup.launch <robot_ip> <port> <kinematics_config>
ex:
roslaunch ur_robot_driver ur3e_bringup.launch robot_ip:=192.168.0.2 [reverse_port:=REVERSE_PORT] kinematics_config:=$(rospack find ur_calibration)/my_ur3_calibration.yaml
Then use:
roslaunch ur3ehand_moveit_config ur3ehand_moveit_planning_execution.launch limited:=true
Followed by:
roslaunch ur3ehand_moveit_config moveit_rviz.launch config:=true
Note: The fixed frame may have to be defined and the robot model may need to be loaded in after this node has been launched. Scene objects should also be loaded in if necessary to prevent environment collisions.
Once the RViz is launched through any of these methods, movement scripts can be passed to the robot in the form:
rosrun ur3ehand_scripts <executable>
ex:
rosrun ur3ehand_scripts test_pickplace2.py
Screencast.from.07-24-2022.03.28.46.PM.webm
SoftPickPlace2.mp4
8mb.video-MgV-58kiDMVe.mp4
For full details of the ROS integration of the Arduino-based gripper with these packages, view this repository's companion repository.
If ROS informs the user that it was not able to execute a script file of the target name, try changing the executable permissions using:
chmod +x <filename>
https://ros-planning.github.io/moveit_tutorials/doc/getting_started/getting_started.html
https://moveit.readthedocs.io/en/latest/doc/pr2_tutorials/planning/src/doc/move_group_interface_tutorial.html#moving-to-a-pose-goal
The gripper was also shared with NASA's Dexterous Robotics Team at Johnson Space Center. It is shown here attached to their Valkyrie humanoid astronaut.