Repository Summary
Checkout URI | https://github.com/ros-industrial/universal_robot.git |
VCS Type | git |
VCS Version | noetic-devel |
Last Updated | 2024-09-09 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
universal_robots | 1.3.3 |
ur10_moveit_config | 1.3.3 |
ur10e_moveit_config | 1.3.3 |
ur16e_moveit_config | 1.3.3 |
ur20_moveit_config | 1.3.3 |
ur30_moveit_config | 1.3.3 |
ur3_moveit_config | 1.3.3 |
ur3e_moveit_config | 1.3.3 |
ur5_moveit_config | 1.3.3 |
ur5e_moveit_config | 1.3.3 |
ur_description | 1.3.3 |
ur_gazebo | 1.3.3 |
ur_kinematics | 1.3.3 |
README
Universal Robot
ROS-Industrial Universal Robot meta-package. See the ROS wiki page for compatibility information and other more information.
License
The UR20 meshes and UR30 meshes constitute “Graphical Documentation” from Universal Robots which is subject to and governed by Universal Robots’ “Terms and Conditions for use of Graphical Documentation”.
Universal Robots’ Terms and Conditions for use of Graphical Documentation do not fully comply with OSI’s definition of Open Source, but they do allow you to use, modify and share “Graphical Documentation”, including UR20 meshes and UR30 meshes, subject to certain restrictions.
If you have any questions regarding this license or if this license doesn’t fit your use-case, please contact legal@universal-robots.com.
All other content is licensed under the BSD-3-Clause license or Apache-2.0 respectively.
Installation
There are two different ways to install the packages in this repository. The following sections detail installing the packages using the binary distribution and building them from source in a Catkin workspace.
Using apt (Ubuntu, Debian)
On supported Linux distributions (Ubuntu, 18.04 (Bionic) and 20.04 (Focal), i386
and amd64
) and ROS versions:
sudo apt-get install ros-$ROS_DISTRO-universal-robots
replace $ROS_DISTRO
with melodic
or noetic
, depending on which ROS version you have installed.
Building from Source
There will soon be releases available for ROS Melodic and Noetic. However, for the latest features and developments you might want to build the packages from source.
NOTE: please prefer using the binary release (see previous section) over building from source where possible. Source installs will not be automatically updated by new package releases and require more work to setup.
The following instructions assume that a Catkin workspace has been created at $HOME/catkin_ws
and that the source space is at $HOME/catkin_ws/src
. Update paths appropriately if they are different on the build machine.
In all other cases the packages will have to be build from sources in a Catkin workspace:
cd $HOME/catkin_ws/src
# retrieve the sources (replace '$ROS_DISTRO' with the ROS version you are using)
git clone -b $ROS_DISTRO-devel https://github.com/ros-industrial/universal_robot.git
cd $HOME/catkin_ws
# checking dependencies (again: replace '$ROS_DISTRO' with the ROS version you are using)
rosdep update
rosdep install --rosdistro $ROS_DISTRO --ignore-src --from-paths src
# building
catkin_make
# activate this workspace
source $HOME/catkin_ws/devel/setup.bash
Usage
With real Hardware
For using real hardware, please use the
ur_robot_driver
. Installation
and startup instructions are available there separately.
If you have a particular old robot running Software CB1 or CB2, please use the
ur_modern_driver
instead.
CAUTION: Remember that you should always have your hands on the big red button in case there is something in the way or anything unexpected happens.
MoveIt! with real Hardware Additionally, you can use MoveIt! to control the robot. There exist MoveIt! configuration packages for all robots.
In the following the commands for the UR5 are given. For other robots, simply replace the prefix accordingly.
For setting up the MoveIt! nodes to allow motion planning run e.g.:
```roslaunch ur5_moveit_config moveit_planning_execution.launch
For starting up RViz with a configuration including the MoveIt! Motion Planning plugin run:
```roslaunch ur5_moveit_config moveit_rviz.launch
Usage with Gazebo Simulation There are launch files available to bringup a simulated robot.
Don’t forget to source the correct setup shell files and use a new terminal for each command!
To bring up the simulated robot in Gazebo, run:
```roslaunch ur_gazebo ur5_bringup.launch
___MoveIt! with a simulated robot___
Again, you can use MoveIt! to control the simulated robot.
For setting up the MoveIt! nodes to allow motion planning run:
```roslaunch ur5_moveit_config moveit_planning_execution.launch sim:=true
For starting up RViz with a configuration including the MoveIt! Motion Planning plugin run:
roslaunch ur5_moveit_config moveit_rviz.launch
CONTRIBUTING
ROS-Industrial is a community project. We welcome contributions from any source, from those who are extremely active to casual users. The following sections outline the steps on how to contribute to ROS-Industrial. It assumes there is an existing repository to which one would like to contribute (item 1 in the figure above) and one is familiar with the Git “Fork and Branch” workflow, detailed here.
- Before any development is undertaken, a contributor would communicate a need and/or issue to the ROS-Industrial community. This can be done by submitting an issue on the appropriate GitHub repo, the issues repo, or by posting a message in the ROS-Industrial category on ROS Discourse. . Doing so may save you time if similar development is underway and ensure that whatever approach you take is acceptable to the community of reviewers once it is submitted.
- The second step (item 2) is to implement your change. If you are working on a code contribution, we highly recommend you utilize the ROS Qt-Creator Plug-in. Verify that your change successfully builds and passes all tests.
- Next, push your changes to a “feature” branch in your personal fork of the repo and issue a pull request (PR)(item 3). The PR allows maintainers to review the submitted code. Before the PR can be accepted, the maintainer and contributor must agree that the contribution is implemented appropriately. This process can take several back-and-forth steps (see example). Contributors should expect to spend as much time reviewing/changing the code as on the initial implementation. This time can be minimized by communicating with the ROS-Industrial community before any contribution is made.
- Issuing a Pull Request (PR) triggers the Travis Continuous Integrations (CI) step (item 4) which happens automatically in the background. The Travis CI performs several operations, and if any of the steps below fail, then the PR is marked accordingly for the maintainer.
- Travis Workflow:
- Installs a barebones ROS distribution on a fresh Ubuntu virtual machine.
- Creates a catkin workspace and puts the repository in it.
- Uses wstool to check out any from-source dependencies (i.e. other repositories).
- Resolves package dependencies using rosdep (i.e. install packages using apt-get).
- Compiles the catkin workspace.
- Runs all available unit tests.
- If the PR passes Travis CI and one of the maintainers is satisfied with the changes, they post a +1 as a comment on the PR (item 5). The +1 signifies that the PR is ready to be merged. All PRs require at least one +1 and pass Travis CI before it can be merged.
- The next step (item 6) is for the PR to be merged into the main branch. This is done through the GitHub web interface by selecting the “Merge pull request” button. After the PR is merged, all status badges are updated automatically.
- Periodically, the maintainer will release the package (item 7), which then gets sent to the ROS Build Farm for Debian creation.
- The publishing of the released packages (item 8) is managed by OSRF and is not on a set schedule. This usually happens when all packages for a given distro are built successfully and stable. The current status for the distro kinetic can be found here . Navigating to other distros can be done by changing the distro name in the link.
- Once the package has been published, it is available to be installed by the developer (item 9).
- After the install of a new version, the developer may have questions, experience issues or it may not have the necessary functionality which should all be reported on the packages GitHub repository as an issue (item 10). If an issue is identified or there is missing functionality that the developer requires, the cycle starts back at (item 2).
For more details, please refer to the ROS-I wiki.
Repository Summary
Checkout URI | https://github.com/ros-industrial/universal_robot.git |
VCS Type | git |
VCS Version | indigo-devel |
Last Updated | 2018-01-06 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
universal_robot | 1.1.11 |
ur10_moveit_config | 1.1.11 |
ur3_moveit_config | 1.1.11 |
ur5_moveit_config | 1.1.11 |
ur_bringup | 1.1.11 |
ur_description | 1.1.11 |
ur_driver | 1.1.11 |
ur_gazebo | 1.1.11 |
ur_kinematics | 1.1.11 |
ur_msgs | 1.1.11 |
README
universal_robot
This repository provides ROS support for the universal robots. This repo holds source code for all versions > groovy. For those versions <= groovy see: hg https://kforge.ros.org/ros_industrial/universal_robot
__Installation For a thorough wiki on installing a Universal Robot, this wiki will likely be a good place to start. If you are also working with most newer versions of UR software (v3.x and up) there is a strong likelihood that you will require the newer
``` ([found here](https://github.com/ThomasTimm/ur_modern_driver)) which has an in detail explanation of how to install/run your UR arm.
__Installation from Source__
There are releases available for ROS Hydro and ROS Indigo. However, for the latest features and developments you might want to install from source.
First set up a catkin workspace (see [this tutorials](http://wiki.ros.org/catkin/Tutorials)).
Then clone the repository into the src/ folder. It should look like /path/to/your/catkin_workspace/src/universal_robot.
Make sure to source the correct setup file according to your workspace hierarchy, then use
```catkin_make
``` to compile.
---
__Usage with real Hardware__
There are launch files available to bringup a real robot - either UR5 or UR10.
In the following the commands for the UR5 are given. For the UR10, simply replace the prefix accordingly.
Don't forget to source the correct setup shell files and use a new terminal for each command!
To bring up the real robot, run:
```roslaunch ur_bringup ur5_bringup.launch robot_ip:=IP_OF_THE_ROBOT [reverse_port:=REVERSE_PORT]
A simple test script that moves the robot to predefined positions can be executed like this:
```rosrun ur_driver test_move.py
CAUTION:
Remember that you should always have your hands on the big red button in case there is something in the way or anything unexpected happens.
__MoveIt! with real Hardware__
Additionally, you can use MoveIt! to control the robot.
There exist MoveIt! configuration packages for both robots.
For setting up the MoveIt! nodes to allow motion planning run:
```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch
For starting up RViz with a configuration including the MoveIt! Motion Planning plugin run:
```roslaunch ur5_moveit_config moveit_rviz.launch config:=true
NOTE:
As MoveIt! seems to have difficulties with finding plans for the UR with full joint limits [-2pi, 2pi], there is a joint_limited version using joint limits restricted to [-pi,pi]. In order to use this joint limited version, simply use the launch file arguments 'limited', i.e.:
```roslaunch ur_bringup ur5_bringup.launch limited:=true robot_ip:=IP_OF_THE_ROBOT [reverse_port:=REVERSE_PORT]
```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch limited:=true
```roslaunch ur5_moveit_config moveit_rviz.launch config:=true
Usage with Gazebo Simulation
There are launch files available to bringup a simulated robot - either UR5 or UR10.
In the following the commands for the UR5 are given. For the UR10, simply replace the prefix accordingly.
Don’t forget to source the correct setup shell files and use a new terminal for each command!
To bring up the simulated robot in Gazebo, run:
```roslaunch ur_gazebo ur5.launch
__MoveIt! with a simulated robot__
Again, you can use MoveIt! to control the simulated robot.
For setting up the MoveIt! nodes to allow motion planning run:
```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true
For starting up RViz with a configuration including the MoveIt! Motion Planning plugin run:
```roslaunch ur5_moveit_config moveit_rviz.launch config:=true
NOTE:
As MoveIt! seems to have difficulties with finding plans for the UR with full joint limits [-2pi, 2pi], there is a joint_limited version using joint limits restricted to [-pi,pi]. In order to use this joint limited version, simply use the launch file arguments 'limited', i.e.:
```roslaunch ur_gazebo ur5.launch limited:=true
```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true limited:=true
```roslaunch ur5_moveit_config moveit_rviz.launch config:=true
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/ros-industrial/universal_robot.git |
VCS Type | git |
VCS Version | hydro-devel |
Last Updated | 2015-03-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
universal_robot | 1.0.5 |
ur10_moveit_config | 1.0.5 |
ur5_moveit_config | 1.0.5 |
ur_bringup | 1.0.5 |
ur_description | 1.0.5 |
ur_driver | 1.0.5 |
ur_gazebo | 1.0.5 |
ur_kinematics | 1.0.5 |
ur_msgs | 1.0.5 |
README
universal_robot
This repository provides ROS support for the universal robots. This repo holds source code for all versions > groovy. For those versions <= groovy see: hg https://kforge.ros.org/ros_industrial/universal_robot
Installation from Source
There are releases available for ROS Hydro and ROS Indigo. However, for the latest features and developments you might want to install from source.
First set up a catkin workspace (see this tutorials).
Then clone the repository into the src/ folder. It should look like /path/to/your/catkin_workspace/src/universal_robot.
Make sure to source the correct setup file according to your workspace hierarchy, then use
``` to compile.
---
__Usage with real Hardware__
There are launch files available to bringup a real robot - either UR5 or UR10.
In the following the commands for the UR5 are given. For the UR10, simply replace the prefix accordingly.
Don't forget to source the correct setup shell files and use a new terminal for each command!
To bring up the real robot, run:
```roslaunch ur_bringup ur5_bringup.launch robot_ip:=IP_OF_THE_ROBOT [reverse_port:=REVERSE_PORT]
A simple test script that moves the robot to predefined positions can be executed like this:
```rosrun ur_driver test_move.py
CAUTION:
Remember that you should always have your hands on the big red button in case there is something in the way or anything unexpected happens.
__MoveIt! with real Hardware__
Additionally, you can use MoveIt! to control the robot.
There exist MoveIt! configuration packages for both robots.
For setting up the MoveIt! nodes to allow motion planning run:
```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch
For starting up RViz with a configuration including the MoveIt! Motion Planning plugin run:
```roslaunch ur5_moveit_config moveit_rviz.launch config:=true
NOTE:
As MoveIt! seems to have difficulties with finding plans for the UR with full joint limits [-2pi, 2pi], there is a joint_limited version using joint limits restricted to [-pi,pi]. In order to use this joint limited version, simply use the launch file arguments 'limited', i.e.:
```roslaunch ur_bringup ur5_bringup.launch limited:=true robot_ip:=IP_OF_THE_ROBOT [reverse_port:=REVERSE_PORT]
```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch limited:=true
```roslaunch ur5_moveit_config moveit_rviz.launch config:=true
Usage with Gazebo Simulation
There are launch files available to bringup a simulated robot - either UR5 or UR10.
In the following the commands for the UR5 are given. For the UR10, simply replace the prefix accordingly.
Don’t forget to source the correct setup shell files and use a new terminal for each command!
To bring up the simulated robot in Gazebo, run:
```roslaunch ur_gazebo ur5.launch
__MoveIt! with a simulated robot__
Again, you can use MoveIt! to control the simulated robot.
For setting up the MoveIt! nodes to allow motion planning run:
```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true
For starting up RViz with a configuration including the MoveIt! Motion Planning plugin run:
```roslaunch ur5_moveit_config moveit_rviz.launch config:=true
NOTE:
As MoveIt! seems to have difficulties with finding plans for the UR with full joint limits [-2pi, 2pi], there is a joint_limited version using joint limits restricted to [-pi,pi]. In order to use this joint limited version, simply use the launch file arguments 'limited', i.e.:
```roslaunch ur_gazebo ur5.launch limited:=true
```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true limited:=true
```roslaunch ur5_moveit_config moveit_rviz.launch config:=true
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/ros-industrial/universal_robot.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2019-11-23 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
universal_robot | 1.2.7 |
universal_robots | 1.2.7 |
ur10_e_moveit_config | 1.2.7 |
ur10_moveit_config | 1.2.7 |
ur3_e_moveit_config | 1.2.7 |
ur3_moveit_config | 1.2.7 |
ur5_e_moveit_config | 1.2.7 |
ur5_moveit_config | 1.2.7 |
ur_bringup | 1.2.7 |
ur_description | 1.2.7 |
ur_driver | 1.2.7 |
ur_e_description | 1.2.7 |
ur_e_gazebo | 1.2.7 |
ur_gazebo | 1.2.7 |
ur_kinematics | 1.2.7 |
ur_msgs | 1.2.7 |
README
Universal Robot
ROS-Industrial Universal Robot meta-package. See the ROS wiki page for compatibility information and other more information.
Installation
There are two different ways to install the packages in this repository. The following sections detail installing the packages using the binary distribution and building them from source in a Catkin workspace.
Using apt (Ubuntu, Debian)
On supported Linux distributions (Ubuntu, up to 16.04 (Xenial), i386
and amd64
) and ROS versions:
sudo apt-get install ros-$ROS_DISTRO-universal-robot
replace $ROS_DISTRO
with hydro
, indigo
or kinetic
, depending on which ROS version you have installed.
Building from Source
There are releases available for ROS Hydro, Indigo and Kinetic. However, for the latest features and developments you might want to build the packages from source.
NOTE: please prefer using the binary release (see previous section) over building from source where possible. Source installs will not be automatically updated by new package releases and require more work to setup.
The following instructions assume that a Catkin workspace has been created at $HOME/catkin_ws
and that the source space is at $HOME/catkin_ws/src
. Update paths appropriately if they are different on the build machine.
In all other cases the packages will have to be build from sources in a Catkin workspace:
cd $HOME/catkin_ws/src
# retrieve the sources (replace '$ROS_DISTRO' with the ROS version you are using)
git clone -b $ROS_DISTRO-devel https://github.com/ros-industrial/universal_robot.git
cd $HOME/catkin_ws
# checking dependencies (again: replace '$ROS_DISTRO' with the ROS version you are using)
rosdep update
rosdep install --rosdistro $ROS_DISTRO --ignore-src --from-paths src
# building
catkin_make
# activate this workspace
source $HOME/catkin_ws/devel/setup.bash
Usage
With real Hardware
There are launch files available to bringup a real robot - either UR5 or UR10.
In the following the commands for the UR5 are given. For the UR10, simply replace the prefix accordingly.
Don’t forget to source the correct setup shell files and use a new terminal for each command!
To bring up the real robot, run:
```roslaunch ur_bringup ur5_bringup.launch robot_ip:=IP_OF_THE_ROBOT [reverse_port:=REVERSE_PORT]
CAUTION:
Remember that you should always have your hands on the big red button in case there is something in the way or anything unexpected happens.
___MoveIt! with real Hardware___
Additionally, you can use MoveIt! to control the robot.
There exist MoveIt! configuration packages for both robots.
For setting up the MoveIt! nodes to allow motion planning run:
```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch
For starting up RViz with a configuration including the MoveIt! Motion Planning plugin run:
```roslaunch ur5_moveit_config moveit_rviz.launch config:=true
NOTE:
As MoveIt! seems to have difficulties with finding plans for the UR with full joint limits [-2pi, 2pi], there is a joint_limited version using joint limits restricted to [-pi,pi]. In order to use this joint limited version, simply use the launch file arguments 'limited', i.e.:
```roslaunch ur_bringup ur5_bringup.launch limited:=true robot_ip:=IP_OF_THE_ROBOT [reverse_port:=REVERSE_PORT]
```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch limited:=true
```roslaunch ur5_moveit_config moveit_rviz.launch config:=true
Usage with Gazebo Simulation
There are launch files available to bringup a simulated robot - either UR5 or UR10.
In the following the commands for the UR5 are given. For the UR10, simply replace the prefix accordingly.
Don’t forget to source the correct setup shell files and use a new terminal for each command!
To bring up the simulated robot in Gazebo, run:
```roslaunch ur_gazebo ur5.launch
___MoveIt! with a simulated robot___
Again, you can use MoveIt! to control the simulated robot.
For setting up the MoveIt! nodes to allow motion planning run:
```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true
For starting up RViz with a configuration including the MoveIt! Motion Planning plugin run:
```roslaunch ur5_moveit_config moveit_rviz.launch config:=true
NOTE:
As MoveIt! seems to have difficulties with finding plans for the UR with full joint limits [-2pi, 2pi], there is a joint_limited version using joint limits restricted to [-pi,pi]. In order to use this joint limited version, simply use the launch file arguments 'limited', i.e.:
```roslaunch ur_gazebo ur5.launch limited:=true
```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true limited:=true
```roslaunch ur5_moveit_config moveit_rviz.launch config:=true
CONTRIBUTING
ROS-Industrial is a community project. We welcome contributions from any source, from those who are extremely active to casual users. The following sections outline the steps on how to contribute to ROS-Industrial. It assumes there is an existing repository to which one would like to contribute (item 1 in the figure above) and one is familiar with the Git “Fork and Branch” workflow, detailed here.
- Before any development is undertaken, a contributor would communicate a need and/or issue to the ROS-Industrial community. This can be done by submitting an issue on the appropriate GitHub repo, the issues repo, or by posting a message in the ROS-Industrial category on ROS Discourse. . Doing so may save you time if similar development is underway and ensure that whatever approach you take is acceptable to the community of reviewers once it is submitted.
- The second step (item 2) is to implement your change. If you are working on a code contribution, we highly recommend you utilize the ROS Qt-Creator Plug-in. Verify that your change successfully builds and passes all tests.
- Next, push your changes to a “feature” branch in your personal fork of the repo and issue a pull request (PR)(item 3). The PR allows maintainers to review the submitted code. Before the PR can be accepted, the maintainer and contributor must agree that the contribution is implemented appropriately. This process can take several back-and-forth steps (see example). Contributors should expect to spend as much time reviewing/changing the code as on the initial implementation. This time can be minimized by communicating with the ROS-Industrial community before any contribution is made.
- Issuing a Pull Request (PR) triggers the Travis Continuous Integrations (CI) step (item 4) which happens automatically in the background. The Travis CI performs several operations, and if any of the steps below fail, then the PR is marked accordingly for the maintainer.
- Travis Workflow:
- Installs a barebones ROS distribution on a fresh Ubuntu virtual machine.
- Creates a catkin workspace and puts the repository in it.
- Uses wstool to check out any from-source dependencies (i.e. other repositories).
- Resolves package dependencies using rosdep (i.e. install packages using apt-get).
- Compiles the catkin workspace.
- Runs all available unit tests.
- If the PR passes Travis CI and one of the maintainers is satisfied with the changes, they post a +1 as a comment on the PR (item 5). The +1 signifies that the PR is ready to be merged. All PRs require at least one +1 and pass Travis CI before it can be merged.
- The next step (item 6) is for the PR to be merged into the main branch. This is done through the GitHub web interface by selecting the “Merge pull request” button. After the PR is merged, all status badges are updated automatically.
- Periodically, the maintainer will release the package (item 7), which then gets sent to the ROS Build Farm for Debian creation.
- The publishing of the released packages (item 8) is managed by OSRF and is not on a set schedule. This usually happens when all packages for a given distro are built successfully and stable. The current status for the distro kinetic can be found here . Navigating to other distros can be done by changing the distro name in the link.
- Once the package has been published, it is available to be installed by the developer (item 9).
- After the install of a new version, the developer may have questions, experience issues or it may not have the necessary functionality which should all be reported on the packages GitHub repository as an issue (item 10). If an issue is identified or there is missing functionality that the developer requires, the cycle starts back at (item 2).
For more details, please refer to the ROS-I wiki.
Repository Summary
Checkout URI | https://github.com/ros-industrial/universal_robot.git |
VCS Type | git |
VCS Version | melodic-devel |
Last Updated | 2024-03-20 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
universal_robots | 1.3.1 |
ur10_moveit_config | 1.3.1 |
ur10e_moveit_config | 1.3.1 |
ur16e_moveit_config | 1.3.1 |
ur3_moveit_config | 1.3.1 |
ur3e_moveit_config | 1.3.1 |
ur5_moveit_config | 1.3.1 |
ur5e_moveit_config | 1.3.1 |
ur_description | 1.3.1 |
ur_gazebo | 1.3.1 |
ur_kinematics | 1.3.1 |
README
Universal Robot
ROS-Industrial Universal Robot meta-package. See the ROS wiki page for compatibility information and other more information.
Installation
There are two different ways to install the packages in this repository. The following sections detail installing the packages using the binary distribution and building them from source in a Catkin workspace.
Using apt (Ubuntu, Debian)
On supported Linux distributions (Ubuntu, 18.04 (Bionic) and 20.04 (Focal), i386
and amd64
) and ROS versions:
sudo apt-get install ros-$ROS_DISTRO-universal-robots
replace $ROS_DISTRO
with melodic
or noetic
, depending on which ROS version you have installed.
Building from Source
There will soon be releases available for ROS Melodic and Noetic. However, for the latest features and developments you might want to build the packages from source.
NOTE: please prefer using the binary release (see previous section) over building from source where possible. Source installs will not be automatically updated by new package releases and require more work to setup.
The following instructions assume that a Catkin workspace has been created at $HOME/catkin_ws
and that the source space is at $HOME/catkin_ws/src
. Update paths appropriately if they are different on the build machine.
In all other cases the packages will have to be build from sources in a Catkin workspace:
cd $HOME/catkin_ws/src
# retrieve the sources (replace '$ROS_DISTRO' with the ROS version you are using)
git clone -b $ROS_DISTRO-devel https://github.com/ros-industrial/universal_robot.git
cd $HOME/catkin_ws
# checking dependencies (again: replace '$ROS_DISTRO' with the ROS version you are using)
rosdep update
rosdep install --rosdistro $ROS_DISTRO --ignore-src --from-paths src
# building
catkin_make
# activate this workspace
source $HOME/catkin_ws/devel/setup.bash
Usage
With real Hardware
For using real hardware, please use the
ur_robot_driver
. Installation
and startup instructions are available there separately.
If you have a particular old robot running Software CB1 or CB2, please use the
ur_modern_driver
instead.
CAUTION: Remember that you should always have your hands on the big red button in case there is something in the way or anything unexpected happens.
MoveIt! with real Hardware Additionally, you can use MoveIt! to control the robot. There exist MoveIt! configuration packages for all robots.
In the following the commands for the UR5 are given. For other robots, simply replace the prefix accordingly.
For setting up the MoveIt! nodes to allow motion planning run e.g.:
```roslaunch ur5_moveit_config moveit_planning_execution.launch
For starting up RViz with a configuration including the MoveIt! Motion Planning plugin run:
```roslaunch ur5_moveit_config moveit_rviz.launch
Usage with Gazebo Simulation There are launch files available to bringup a simulated robot.
Don’t forget to source the correct setup shell files and use a new terminal for each command!
To bring up the simulated robot in Gazebo, run:
```roslaunch ur_gazebo ur5_bringup.launch
___MoveIt! with a simulated robot___
Again, you can use MoveIt! to control the simulated robot.
For setting up the MoveIt! nodes to allow motion planning run:
```roslaunch ur5_moveit_config moveit_planning_execution.launch sim:=true
For starting up RViz with a configuration including the MoveIt! Motion Planning plugin run:
roslaunch ur5_moveit_config moveit_rviz.launch
CONTRIBUTING
ROS-Industrial is a community project. We welcome contributions from any source, from those who are extremely active to casual users. The following sections outline the steps on how to contribute to ROS-Industrial. It assumes there is an existing repository to which one would like to contribute (item 1 in the figure above) and one is familiar with the Git “Fork and Branch” workflow, detailed here.
- Before any development is undertaken, a contributor would communicate a need and/or issue to the ROS-Industrial community. This can be done by submitting an issue on the appropriate GitHub repo, the issues repo, or by posting a message in the ROS-Industrial category on ROS Discourse. . Doing so may save you time if similar development is underway and ensure that whatever approach you take is acceptable to the community of reviewers once it is submitted.
- The second step (item 2) is to implement your change. If you are working on a code contribution, we highly recommend you utilize the ROS Qt-Creator Plug-in. Verify that your change successfully builds and passes all tests.
- Next, push your changes to a “feature” branch in your personal fork of the repo and issue a pull request (PR)(item 3). The PR allows maintainers to review the submitted code. Before the PR can be accepted, the maintainer and contributor must agree that the contribution is implemented appropriately. This process can take several back-and-forth steps (see example). Contributors should expect to spend as much time reviewing/changing the code as on the initial implementation. This time can be minimized by communicating with the ROS-Industrial community before any contribution is made.
- Issuing a Pull Request (PR) triggers the Travis Continuous Integrations (CI) step (item 4) which happens automatically in the background. The Travis CI performs several operations, and if any of the steps below fail, then the PR is marked accordingly for the maintainer.
- Travis Workflow:
- Installs a barebones ROS distribution on a fresh Ubuntu virtual machine.
- Creates a catkin workspace and puts the repository in it.
- Uses wstool to check out any from-source dependencies (i.e. other repositories).
- Resolves package dependencies using rosdep (i.e. install packages using apt-get).
- Compiles the catkin workspace.
- Runs all available unit tests.
- If the PR passes Travis CI and one of the maintainers is satisfied with the changes, they post a +1 as a comment on the PR (item 5). The +1 signifies that the PR is ready to be merged. All PRs require at least one +1 and pass Travis CI before it can be merged.
- The next step (item 6) is for the PR to be merged into the main branch. This is done through the GitHub web interface by selecting the “Merge pull request” button. After the PR is merged, all status badges are updated automatically.
- Periodically, the maintainer will release the package (item 7), which then gets sent to the ROS Build Farm for Debian creation.
- The publishing of the released packages (item 8) is managed by OSRF and is not on a set schedule. This usually happens when all packages for a given distro are built successfully and stable. The current status for the distro kinetic can be found here . Navigating to other distros can be done by changing the distro name in the link.
- Once the package has been published, it is available to be installed by the developer (item 9).
- After the install of a new version, the developer may have questions, experience issues or it may not have the necessary functionality which should all be reported on the packages GitHub repository as an issue (item 10). If an issue is identified or there is missing functionality that the developer requires, the cycle starts back at (item 2).
For more details, please refer to the ROS-I wiki.