![]() |
ur_calibration package from ur_robot_driver repour_calibration ur_dashboard_msgs ur_robot_driver |
|
Package Summary
Tags | No category tags. |
Version | 2.1.2 |
License | Apache-2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-08-31 |
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) |
Package Description
Additional Links
Maintainers
- Felix Exner
Authors
ur_calibration
Package for extracting the factory calibration from a UR robot and changing it to be used by ur_description
to gain a correct URDF model.
Each UR robot is calibrated inside the factory giving exact forward and inverse kinematics. To also make use of this in ROS, you first have to extract the calibration information from the robot.
Though this step is not necessary, to control the robot using this driver, it is highly recommended to do so, as end effector positions might be off in the magnitude of centimeters.
Nodes
calibration_correction
This node extracts calibration information directly from a robot, calculates the URDF correction and saves it into a .yaml file.
In the launch folder of the ur_calibration package is a helper script:
$ roslaunch ur_calibration calibration_correction.launch \
robot_ip:=<robot_ip> target_filename:="${HOME}/my_robot_calibration.yaml"
For the parameter robot_ip
insert the IP address on which the ROS pc can reach the robot. As
target_filename
provide an absolute path where the result will be saved to.
Creating a calibration / launch package for all local robots
When dealing with multiple robots in one organization it might make sense to store calibration data into a package dedicated to that purpose only. To do so, create a new package (if it doesn't already exist)
# Replace your actual catkin_ws folder
$ cd <catkin_ws>/src
$ catkin_create_pkg example_organization_ur_launch ur_robot_driver \
-D "Package containing calibrations and launch files for our UR robots."
# Create a skeleton package
$ mkdir -p example_organization_ur_launch/etc
$ mkdir -p example_organization_ur_launch/launch
We can use the new package to store the calibration data in that package. We recommend naming each robot individually, e.g. ex-ur10-1.
$ roslaunch ur_calibration calibration_correction.launch \
robot_ip:=<robot_ip> \
target_filename:="$(rospack find example_organization_ur_launch)/etc/ex-ur10-1_calibration.yaml"
To make life easier, we create a launchfile for this particular robot. We base it upon the respective launchfile in the driver:
# Replace your actual catkin_ws folder
$ cd <catkin_ws>/src/example_organization_ur_launch/launch
$ roscp ur_robot_driver ur10_bringup.launch ex-ur10-1.launch
Next, modify the parameter section of the new launchfile to match your actual calibration:
<!-- Note: Only the relevant lines are printed here-->
<arg name="robot_ip" default="192.168.0.101"/> <!-- if there is a default IP scheme for your
robots -->
<arg name="kinematics_config" default="$(find example_organization_ur_launch)/etc/ex-ur10-1_calibration.yaml"/>
Then, anybody cloning this repository can startup the robot simply by launching
$ roslaunch example_organization_ur_launch ex-ur10-1.launch
2.1.2 (2023-01-23)
2.1.1 (2023-01-23)
2.1.0 (2022-12-08)
- fix dependency for the organization calibration package (#549)
- Drop old C++ compiler flags (#577) Co-authored-by: Jochen Sprickerhof <git@jochen.sprickerhof.de>
- Remove boilerplate comments from package.xml files (#528)
- Contributors: Captain Yoshi, Felix Exner, Michael G
Wiki Tutorials
Source Tutorials
Launch files
- launch/calibration_correction.launch
-
- robot_ip — The IP address at which the robot is reachable.
- target_filename [default: robot_calibration.yaml] — The extracted calibration information will be written to this target file.
Messages
Services
Plugins
Recent questions tagged ur_calibration at answers.ros.org
![]() |
ur_calibration package from ur_robot_driver repour_calibration ur_dashboard_msgs ur_robot_driver |
|
Package Summary
Tags | No category tags. |
Version | 2.1.2 |
License | Apache-2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-08-31 |
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) |
Package Description
Additional Links
Maintainers
- Felix Exner
Authors
ur_calibration
Package for extracting the factory calibration from a UR robot and changing it to be used by ur_description
to gain a correct URDF model.
Each UR robot is calibrated inside the factory giving exact forward and inverse kinematics. To also make use of this in ROS, you first have to extract the calibration information from the robot.
Though this step is not necessary, to control the robot using this driver, it is highly recommended to do so, as end effector positions might be off in the magnitude of centimeters.
Nodes
calibration_correction
This node extracts calibration information directly from a robot, calculates the URDF correction and saves it into a .yaml file.
In the launch folder of the ur_calibration package is a helper script:
$ roslaunch ur_calibration calibration_correction.launch \
robot_ip:=<robot_ip> target_filename:="${HOME}/my_robot_calibration.yaml"
For the parameter robot_ip
insert the IP address on which the ROS pc can reach the robot. As
target_filename
provide an absolute path where the result will be saved to.
Creating a calibration / launch package for all local robots
When dealing with multiple robots in one organization it might make sense to store calibration data into a package dedicated to that purpose only. To do so, create a new package (if it doesn't already exist)
# Replace your actual catkin_ws folder
$ cd <catkin_ws>/src
$ catkin_create_pkg example_organization_ur_launch ur_robot_driver \
-D "Package containing calibrations and launch files for our UR robots."
# Create a skeleton package
$ mkdir -p example_organization_ur_launch/etc
$ mkdir -p example_organization_ur_launch/launch
We can use the new package to store the calibration data in that package. We recommend naming each robot individually, e.g. ex-ur10-1.
$ roslaunch ur_calibration calibration_correction.launch \
robot_ip:=<robot_ip> \
target_filename:="$(rospack find example_organization_ur_launch)/etc/ex-ur10-1_calibration.yaml"
To make life easier, we create a launchfile for this particular robot. We base it upon the respective launchfile in the driver:
# Replace your actual catkin_ws folder
$ cd <catkin_ws>/src/example_organization_ur_launch/launch
$ roscp ur_robot_driver ur10_bringup.launch ex-ur10-1.launch
Next, modify the parameter section of the new launchfile to match your actual calibration:
<!-- Note: Only the relevant lines are printed here-->
<arg name="robot_ip" default="192.168.0.101"/> <!-- if there is a default IP scheme for your
robots -->
<arg name="kinematics_config" default="$(find example_organization_ur_launch)/etc/ex-ur10-1_calibration.yaml"/>
Then, anybody cloning this repository can startup the robot simply by launching
$ roslaunch example_organization_ur_launch ex-ur10-1.launch
2.1.2 (2023-01-23)
2.1.1 (2023-01-23)
2.1.0 (2022-12-08)
- fix dependency for the organization calibration package (#549)
- Drop old C++ compiler flags (#577) Co-authored-by: Jochen Sprickerhof <git@jochen.sprickerhof.de>
- Remove boilerplate comments from package.xml files (#528)
- Contributors: Captain Yoshi, Felix Exner, Michael G
Wiki Tutorials
Source Tutorials
Launch files
- launch/calibration_correction.launch
-
- robot_ip — The IP address at which the robot is reachable.
- target_filename [default: robot_calibration.yaml] — The extracted calibration information will be written to this target file.