Skip to content

Commit

Permalink
Merge pull request #97 from fmauch/description_dev
Browse files Browse the repository at this point in the history
Use new ur_description_model
  • Loading branch information
fmauch authored May 20, 2021
2 parents fc23719 + e7ee8a8 commit b27e406
Show file tree
Hide file tree
Showing 16 changed files with 84 additions and 46 deletions.
4 changes: 0 additions & 4 deletions .ci.rosinstall

This file was deleted.

8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,25 +21,25 @@ jobs:
env:
- ROS_DISTRO: melodic
ROS_REPO: main
UPSTREAM_WORKSPACE: .ci.rosinstall
UPSTREAM_WORKSPACE: .melodic.rosinstall
DOCKER_RUN_OPTS: --network static_test_net
BEFORE_INIT: 'apt-get update -qq && apt-get install -y iproute2 iputils-ping && ip addr && ping -c5 192.168.56.101'
IMMEDIATE_TEST_OUTPUT: true
- ROS_DISTRO: noetic
ROS_REPO: main
UPSTREAM_WORKSPACE: .ci.rosinstall
UPSTREAM_WORKSPACE: .noetic.rosinstall
DOCKER_RUN_OPTS: --network static_test_net
BEFORE_INIT: 'apt-get update -qq && apt-get install -y iproute2 iputils-ping && ip addr && ping -c5 192.168.56.101'
IMMEDIATE_TEST_OUTPUT: true
- ROS_DISTRO: melodic
ROS_REPO: testing
UPSTREAM_WORKSPACE: .ci.rosinstall
UPSTREAM_WORKSPACE: .melodic.rosinstall
DOCKER_RUN_OPTS: --network static_test_net
BEFORE_INIT: 'apt-get update -qq && apt-get install -y iproute2 iputils-ping && ip addr && ping -c5 192.168.56.101'
IMMEDIATE_TEST_OUTPUT: true
- ROS_DISTRO: noetic
ROS_REPO: testing
UPSTREAM_WORKSPACE: .ci.rosinstall
UPSTREAM_WORKSPACE: .noetic.rosinstall
DOCKER_RUN_OPTS: --network static_test_net
BEFORE_INIT: 'apt-get update -qq && apt-get install -y iproute2 iputils-ping && ip addr && ping -c5 192.168.56.101'
IMMEDIATE_TEST_OUTPUT: true
Expand Down
4 changes: 4 additions & 0 deletions .melodic.rosinstall
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- git:
uri: https://github.com/ros-industrial/universal_robot.git
local-name: universal_robot
version: melodic-devel-staging
8 changes: 8 additions & 0 deletions .noetic.rosinstall
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
- git:
uri: https://github.com/ros-industrial/universal_robot.git
local-name: universal_robot
version: melodic-devel-staging
- git:
uri: https://github.com/ros-industrial/ur_msgs.git
local-name: ur_msgs
version: melodic-devel
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,22 @@ Use this with any client interface such as [MoveIt!](https://moveit.ros.org/) or
rosrun rqt_joint_trajectory_controller rqt_joint_trajectory_controller
```

### Replacing the robot description

In a real-world scenario you will want to replace the robot description with a description
containing the whole scene where the robot is acting in. For this, all the bringup launchfiles offer
the argument `robot_description_file` that should point to a launchfile loading the robot
description.

While the `load_urXXX.launch` files from the [ur_description](http://wiki.ros.org/ur_description)
package contain a lot of arguments to change the robot model, this driver only forwards the
`kinematics_config` parameter file. For further adaption please create your own `load_urXXX.launch`
file that fits your application and pass this to the `urXXX_bringup.launch` files from this package.

If you prefer decoupling loading the robot description and starting the driver, you can start the
`ur_control.launch` launchfile directly after the `robot_description` has been uploaded to the
parameter server.

## Troubleshooting

This section will cover some previously raised issues.
Expand Down
48 changes: 36 additions & 12 deletions ur_robot_driver/doc/ROS_INTERFACE.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,13 @@ Debug flag that will get passed on to ur_common.launch

Automatically send URScript to robot to execute. On e-Series this does require the robot to be in 'remote-control' mode. With this, the URCap is not needed on the robot.

##### kinematics_config (default: "$(find ur_e_description)/config/ur3e_default.yaml")
##### kinematics_config (default: "$(find ur_description)/config/ur3e/default_kinematics.yaml")

Kinematics config file used for calibration correction. This will be used to verify the robot's calibration is matching the robot_description.

**Note:** The `default_kinematics.yaml` file will not reflect the kinematic parameters of your
robot. Make sure to [generate your own config file](https://github.com/UniversalRobots/Universal_Robots_ROS_Driver#extract-calibration-information).

##### limited (default: "false")

Use the description in limited mode (Every axis rotates from -PI to PI)
Expand All @@ -38,7 +41,7 @@ Use the description in limited mode (Every axis rotates from -PI to PI)

Port that will be opened by the driver to allow direct communication between the driver and the robot controller.

##### robot_description_file (default: "$(find ur_e_description)/launch/ur3e_upload.launch")
##### robot_description_file (default: "$(find ur_description)/launch/load_ur3e.launch")

Robot description launch file.

Expand Down Expand Up @@ -120,10 +123,13 @@ Debug flag that will get passed on to ur_common.launch

Automatically send URScript to robot to execute. On e-Series this does require the robot to be in 'remote-control' mode. With this, the URCap is not needed on the robot.

##### kinematics_config (default: "$(find ur_description)/config/ur10_default.yaml")
##### kinematics_config (default: "$(find ur_description)/config/ur10/default_kinematics.yaml")

Kinematics config file used for calibration correction. This will be used to verify the robot's calibration is matching the robot_description.

**Note:** The `default_kinematics.yaml` file will not reflect the kinematic parameters of your
robot. Make sure to [generate your own config file](https://github.com/UniversalRobots/Universal_Robots_ROS_Driver#extract-calibration-information).

##### limited (default: "false")

Use the description in limited mode (Every axis rotates from -PI to PI)
Expand All @@ -132,7 +138,7 @@ Use the description in limited mode (Every axis rotates from -PI to PI)

Port that will be opened by the driver to allow direct communication between the driver and the robot controller.

##### robot_description_file (default: "$(find ur_description)/launch/ur10_upload.launch")
##### robot_description_file (default: "$(find ur_description)/launch/load_ur10.launch")

Robot description launch file.

Expand Down Expand Up @@ -178,6 +184,9 @@ Automatically send URScript to robot to execute. On e-Series this does require t

Kinematics config file used for calibration correction. This will be used to verify the robot's calibration is matching the robot_description. Pass the same config file that is passed to the robot_description.

**Note:** The `default_kinematics.yaml` file will not reflect the kinematic parameters of your
robot. Make sure to [generate your own config file](https://github.com/UniversalRobots/Universal_Robots_ROS_Driver#extract-calibration-information).

##### launch_prefix (Required)

Please add description. See file "launch/ur_control.launch".
Expand Down Expand Up @@ -276,6 +285,9 @@ Automatically send URScript to robot to execute. On e-Series this does require t

Kinematics config file used for calibration correction. This will be used to verify the robot's calibration is matching the robot_description.

**Note:** The `default_kinematics.yaml` file will not reflect the kinematic parameters of your
robot. Make sure to [generate your own config file](https://github.com/UniversalRobots/Universal_Robots_ROS_Driver#extract-calibration-information).

##### limited (default: "false")

Use the description in limited mode (Every axis rotates from -PI to PI)
Expand Down Expand Up @@ -362,10 +374,13 @@ Debug flag that will get passed on to ur_common.launch

Automatically send URScript to robot to execute. On e-Series this does require the robot to be in 'remote-control' mode. With this, the URCap is not needed on the robot.

##### kinematics_config (default: "$(find ur_description)/config/ur5_default.yaml")
##### kinematics_config (default: "$(find ur_description)/config/ur5/default_kinematics.yaml")

Kinematics config file used for calibration correction. This will be used to verify the robot's calibration is matching the robot_description.

**Note:** The `default_kinematics.yaml` file will not reflect the kinematic parameters of your
robot. Make sure to [generate your own config file](https://github.com/UniversalRobots/Universal_Robots_ROS_Driver#extract-calibration-information).

##### limited (default: "false")

Use the description in limited mode (Every axis rotates from -PI to PI)
Expand All @@ -374,7 +389,7 @@ Use the description in limited mode (Every axis rotates from -PI to PI)

Port that will be opened by the driver to allow direct communication between the driver and the robot controller.

##### robot_description_file (default: "$(find ur_description)/launch/ur5_upload.launch")
##### robot_description_file (default: "$(find ur_description)/launch/load_ur5.launch")

Robot description launch file.

Expand Down Expand Up @@ -416,10 +431,13 @@ Debug flag that will get passed on to ur_common.launch

Automatically send URScript to robot to execute. On e-Series this does require the robot to be in 'remote-control' mode. With this, the URCap is not needed on the robot.

##### kinematics_config (default: "$(find ur_e_description)/config/ur5e_default.yaml")
##### kinematics_config (default: "$(find ur_description)/config/ur5e/default_kinematics.yaml")

Kinematics config file used for calibration correction. This will be used to verify the robot's calibration is matching the robot_description.

**Note:** The `default_kinematics.yaml` file will not reflect the kinematic parameters of your
robot. Make sure to [generate your own config file](https://github.com/UniversalRobots/Universal_Robots_ROS_Driver#extract-calibration-information).

##### limited (default: "false")

Use the description in limited mode (Every axis rotates from -PI to PI)
Expand All @@ -428,7 +446,7 @@ Use the description in limited mode (Every axis rotates from -PI to PI)

Port that will be opened by the driver to allow direct communication between the driver and the robot controller.

##### robot_description_file (default: "$(find ur_e_description)/launch/ur5e_upload.launch")
##### robot_description_file (default: "$(find ur_description)/launch/load_ur5e.launch")

Robot description launch file.

Expand Down Expand Up @@ -506,10 +524,13 @@ Debug flag that will get passed on to ur_common.launch

Automatically send URScript to robot to execute. On e-Series this does require the robot to be in 'remote-control' mode. With this, the URCap is not needed on the robot.

##### kinematics_config (default: "$(find ur_description)/config/ur3_default.yaml")
##### kinematics_config (default: "$(find ur_description)/config/ur3/default_kinematics.yaml")

Kinematics config file used for calibration correction. This will be used to verify the robot's calibration is matching the robot_description.

**Note:** The `default_kinematics.yaml` file will not reflect the kinematic parameters of your
robot. Make sure to [generate your own config file](https://github.com/UniversalRobots/Universal_Robots_ROS_Driver#extract-calibration-information).

##### limited (default: "false")

Use the description in limited mode (Every axis rotates from -PI to PI)
Expand All @@ -518,7 +539,7 @@ Use the description in limited mode (Every axis rotates from -PI to PI)

Port that will be opened by the driver to allow direct communication between the driver and the robot controller.

##### robot_description_file (default: "$(find ur_description)/launch/ur3_upload.launch")
##### robot_description_file (default: "$(find ur_description)/launch/load_ur3.launch")

Robot description launch file.

Expand Down Expand Up @@ -560,10 +581,13 @@ Debug flag that will get passed on to ur_common.launch

Automatically send URScript to robot to execute. On e-Series this does require the robot to be in 'remote-control' mode. With this, the URCap is not needed on the robot.

##### kinematics_config (default: "$(find ur_e_description)/config/ur10e_default.yaml")
##### kinematics_config (default: "$(find ur_description)/config/ur10e/default_kinematics.yaml")

Kinematics config file used for calibration correction. This will be used to verify the robot's calibration is matching the robot_description.

**Note:** The `default_kinematics.yaml` file will not reflect the kinematic parameters of your
robot. Make sure to [generate your own config file](https://github.com/UniversalRobots/Universal_Robots_ROS_Driver#extract-calibration-information).

##### limited (default: "false")

Use the description in limited mode (Every axis rotates from -PI to PI)
Expand All @@ -572,7 +596,7 @@ Use the description in limited mode (Every axis rotates from -PI to PI)

Port that will be opened by the driver to allow direct communication between the driver and the robot controller.

##### robot_description_file (default: "$(find ur_e_description)/launch/ur10e_upload.launch")
##### robot_description_file (default: "$(find ur_description)/launch/load_ur10e.launch")

Robot description launch file.

Expand Down
5 changes: 2 additions & 3 deletions ur_robot_driver/launch/ur10_bringup.launch
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,8 @@
<arg name="controllers" default="joint_state_controller scaled_pos_joint_traj_controller speed_scaling_state_controller force_torque_sensor_controller" doc="Controllers that are activated by default."/>
<arg name="stopped_controllers" default="pos_joint_traj_controller joint_group_vel_controller" doc="Controllers that are initally loaded, but not started."/>
<arg name="controller_config_file" default="$(find ur_robot_driver)/config/ur10_controllers.yaml" doc="Config file used for defining the ROS-Control controllers."/>
<arg name="robot_description_file" default="$(find ur_description)/launch/ur10_upload.launch" doc="Robot description launch file."/>
<arg name="kinematics_config" default="$(find ur_description)/config/ur10_default.yaml" doc="Kinematics config file used for calibration correction. This will be used to verify the robot's calibration is matching the robot_description."/>
<arg name="limited" default="false" doc="Use the description in limited mode (Every axis rotates from -PI to PI)"/>
<arg name="robot_description_file" default="$(find ur_description)/launch/load_ur10.launch" doc="Robot description launch file."/>
<arg name="kinematics_config" default="$(find ur_description)/config/ur10/default_kinematics.yaml" doc="Kinematics config file used for calibration correction. This will be used to verify the robot's calibration is matching the robot_description."/>
<arg name="headless_mode" default="false" doc="Automatically send URScript to robot to execute. On e-Series this does require the robot to be in 'remote-control' mode. With this, the URCap is not needed on the robot."/>

<include file="$(find ur_robot_driver)/launch/ur_common.launch" pass_all_args="true">
Expand Down
5 changes: 2 additions & 3 deletions ur_robot_driver/launch/ur10e_bringup.launch
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
<arg name="controllers" default="joint_state_controller scaled_pos_joint_traj_controller speed_scaling_state_controller force_torque_sensor_controller" doc="Controllers that are activated by default."/>
<arg name="stopped_controllers" default="pos_joint_traj_controller joint_group_vel_controller" doc="Controllers that are initally loaded, but not started."/>
<arg name="controller_config_file" default="$(find ur_robot_driver)/config/ur10e_controllers.yaml" doc="Config file used for defining the ROS-Control controllers."/>
<arg name="robot_description_file" default="$(find ur_e_description)/launch/ur10e_upload.launch" doc="Robot description launch file."/>
<arg name="kinematics_config" default="$(find ur_e_description)/config/ur10e_default.yaml" doc="Kinematics config file used for calibration correction. This will be used to verify the robot's calibration is matching the robot_description."/>
<arg name="robot_description_file" default="$(find ur_description)/launch/load_ur10e.launch" doc="Robot description launch file."/>
<arg name="kinematics_config" default="$(find ur_description)/config/ur10e/default_kinematics.yaml" doc="Kinematics config file used for calibration correction. This will be used to verify the robot's calibration is matching the robot_description."/>
<arg name="use_tool_communication" default="false" doc="On e-Series robots tool communication can be enabled with this argument"/>
<arg name="tool_voltage" default="0" doc="Tool voltage set at the beginning of the UR program. Only used, when `use_tool_communication` is set to true."/>
<arg name="tool_parity" default="0" doc="Parity configuration used for tool communication. Only used, when `use_tool_communication` is set to true."/>
Expand All @@ -20,7 +20,6 @@
<arg name="tool_tx_idle_chars" default="3.5" doc="Number of idle chars in TX channel used for tool communication. Only used, when `use_tool_communication` is set to true."/>
<arg name="tool_device_name" default="/tmp/ttyUR" doc="Local device name used for tool communication. Only used, when `use_tool_communication` is set to true."/>
<arg name="tool_tcp_port" default="54321" doc="Port on which the robot controller publishes the tool comm interface. Only used, when `use_tool_communication` is set to true."/>
<arg name="limited" default="false" doc="Use the description in limited mode (Every axis rotates from -PI to PI)"/>
<arg name="headless_mode" default="false" doc="Automatically send URScript to robot to execute. On e-Series this does require the robot to be in 'remote-control' mode. With this, the URCap is not needed on the robot."/>

<include file="$(find ur_robot_driver)/launch/ur_common.launch" pass_all_args="true"/>
Expand Down
5 changes: 2 additions & 3 deletions ur_robot_driver/launch/ur16e_bringup.launch
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
<arg name="controllers" default="joint_state_controller scaled_pos_joint_traj_controller speed_scaling_state_controller force_torque_sensor_controller" doc="Controllers that are activated by default."/>
<arg name="stopped_controllers" default="pos_joint_traj_controller joint_group_vel_controller" doc="Controllers that are initally loaded, but not started."/>
<arg name="controller_config_file" default="$(find ur_robot_driver)/config/ur16e_controllers.yaml" doc="Config file used for defining the ROS-Control controllers."/>
<arg name="robot_description_file" default="$(find ur_e_description)/launch/ur16e_upload.launch" doc="Robot description launch file."/>
<arg name="kinematics_config" default="$(find ur_e_description)/config/ur16e_default.yaml" doc="Kinematics config file used for calibration correction. This will be used to verify the robot's calibration is matching the robot_description."/>
<arg name="robot_description_file" default="$(find ur_description)/launch/load_ur16e.launch" doc="Robot description launch file."/>
<arg name="kinematics_config" default="$(find ur_description)/config/ur16e/default_kinematics.yaml" doc="Kinematics config file used for calibration correction. This will be used to verify the robot's calibration is matching the robot_description."/>
<arg name="use_tool_communication" default="false" doc="On e-Series robots tool communication can be enabled with this argument"/>
<arg name="tool_voltage" default="0" doc="Tool voltage set at the beginning of the UR program. Only used, when `use_tool_communication` is set to true."/>
<arg name="tool_parity" default="0" doc="Parity configuration used for tool communication. Only used, when `use_tool_communication` is set to true."/>
Expand All @@ -20,7 +20,6 @@
<arg name="tool_tx_idle_chars" default="3.5" doc="Number of idle chars in TX channel used for tool communication. Only used, when `use_tool_communication` is set to true."/>
<arg name="tool_device_name" default="/tmp/ttyUR" doc="Local device name used for tool communication. Only used, when `use_tool_communication` is set to true."/>
<arg name="tool_tcp_port" default="54321" doc="Port on which the robot controller publishes the tool comm interface. Only used, when `use_tool_communication` is set to true."/>
<arg name="limited" default="false" doc="Use the description in limited mode (Every axis rotates from -PI to PI)"/>
<arg name="headless_mode" default="false" doc="Automatically send URScript to robot to execute. On e-Series this does require the robot to be in 'remote-control' mode. With this, the URCap is not needed on the robot."/>

<include file="$(find ur_robot_driver)/launch/ur_common.launch" pass_all_args="true"/>
Expand Down
Loading

0 comments on commit b27e406

Please sign in to comment.