Skip to content

match-ROS/match_ur_control_backup

Repository files navigation

UR Controller Firmware Installation and Backup

This repository is for backing up the existing .urcontrol and programs, installing UR Controller Firmware for match URs, and restoring existing urcontrol configs and programs.

Important: All operations described in this guide (copying files, archiving, and restoring) should be performed on an Ubuntu system.

Backup of existing .urcontrol and programs

To perform a backup, you need to copy the programs directory and .urcontrol configuration from the robot's file system.

  • Path to programs: datafs (partition) /programs
  • Path to .urcontrol: datafs (partition) /root/.urcontrol

Note: Press ctrl+h in your file explorer to show hidden folders.

Copying Files

The copy process must be done via root privileges. Open a terminal and use the following commands to copy the folders to your Desktop:

Note: Please verify that your SD card partition is mounted at /media/match/datafs/.... Depending on your system and user, the /media/match/ part might differ.

sudo cp -r /media/match/datafs/programs ~/Desktop
sudo cp -r /media/match/datafs/root/.urcontrol ~/Desktop

Zipping the Backup

Next, we must back up the folders as a zip archive for storing.

Important: Please include the last three numbers of the robot's serial number in the backup filename (replace XXX with these numbers, e.g., backup_112.zip). You can find the serial number on the typeplate located on the side of the UR control box, behind the two front doors of the MiR620 cabinet.

cd ~/Desktop
zip -r backup_XXX.zip .urcontrol

Install UR Robot Controller Firmware and Restore Backups

The install UR robot controller firmware is the following process (instructions from UR can be found here as additional info: install-new-image-all-types.pdf):

  1. Get a fresh SD card and a reader.
  2. Get the correct UR robot firmware from the UR-Download page.
  3. Flash the firmware to the SD card. (UR Description states to use Rufus on Windows. We have done that for 109 and it worked. Using e.g., balenaEtcher on Ubuntu might also work but was not tested so far.)
  4. Plug it into the robot and boot initially. You must do that. Copying the backups first on the SD card will result in the controller getting stuck on initial boot!
  5. Specify the Controller type. For the MiR UR-Controllers it's the DC variant. Then type in the serial number of the UR control. Then from the drop-down menu select "None" as the initial teach pendant.
  6. Wait until it finishes installation and rebooting.
  7. Shut down the robot controller.
  8. Take the SD card from the controller and put it back into the PC where the backup is located.
  9. Remove all existing files from the .urcontrol folder. Then copy the backup files from your .urcontrol backup into the .urcontrol SD card folder. Also, copy the backed up programs into the programs folder.

    Note: Ensure your partition is actually mounted at /media/match/datafs. Adjust the paths in the commands below if your system mounted it elsewhere.

    sudo rm -rf /media/match/datafs/root/.urcontrol/*
    sudo cp -r ~/Desktop/.urcontrol/* /media/match/datafs/root/.urcontrol/
    sudo cp -r ~/Desktop/programs/* /media/match/datafs/programs/
  10. Put the SD card back into the robot controller.

Note: Necessary configurations, for example network and so on, have to be made when the robot is fully back up and running.

Calibration Data Comparison Table

Below is a comparison of the calibration parameters from each robot backup:

Robot ID Calibration Status Joint Checksums Key Delta Parameters
109 Linearised (2) [0xa712f251, 0xa72c4825, 0xa624be31, 0xa9fa5302, 0xaa02f85f, 0xa9ee0fb7] Theta: [6.10e-08, 1.217, -1.291, 0.07348, 9.53e-08, -4.70e-07]
A: [0.000138, 0.4007, 0.00181, 4.35e-07, 2.59e-05, 0]
D: [0.000221, 917.86, -913.54, -4.312, -5.57e-05, -0.000989]
112 Linearised (2) [0xb630883c, 0xb61f6e2e, 0xb5484b61, 0xb612c3a2, 0xb62bd7bc, 0xb61c0e94] Theta: [5.64e-07, -1.217, 1.212, 0.00484, -2.81e-07, -8.62e-08]
A: [0.000127, 0.4006, 0.000150, 5.37e-05, -9.61e-05, 0]
D: [-6.88e-06, 1935.67, -1935.34, -0.3315, -0.000104, -0.000962]
113 Linearised (2) [0xb61a3636, 0xb61af4cd, 0xb53af3b5, 0xb633fe39, 0xb6079629, 0xb636b3f1] Theta: [3.67e-07, 0.4933, -0.5068, 0.0135, -6.68e-07, -9.67e-09]
A: [7.79e-05, 0.07335, 0.000240, 9.50e-05, 5.33e-05, 0]
D: [7.05e-05, 762.96, -762.00, -0.9590, -5.29e-05, -0.000951]
117 Linearised (2) [0xb459a61e, 0xb45528a6, 0xb53963ab, 0xb41a0255, 0xb417126d, 0xb40d200b] Theta: [-4.30e-07, 0.1814, -0.2489, 0.06749, 9.59e-07, -8.13e-08]
A: [0.000111, 0.01038, 0.001519, 5.71e-06, -4.56e-05, 0]
D: [6.17e-05, 556.95, -562.19, 5.2409, -0.000201, -0.001058]
118 Linearised (2) [0xb420f4ad, 0xb4409feb, 0xb553930a, 0xb411c00e, 0xb418cc4f, 0xb417175a] Theta: [-2.12e-08, 0.08526, -0.1634, 0.07814, -5.51e-07, 1.35e-07]
A: [0.000119, 0.002574, 0.002024, -3.24e-05, 3.28e-05, 0]
D: [0.000286, 76.762, -83.383, 6.6206, -0.000122, -0.000937]
119 Linearised (2) [0xb455f77a, 0xb437b9f9, 0xb531fd6e, 0xb4249736, 0xb412c748, 0xb4159beb] Theta: [-2.02e-07, 1.1667, -0.8036, -0.3630, 6.26e-07, -6.46e-07]
A: [3.599e-05, 0.37187, 0.03761, 2.029e-05, 8.37e-06, 0]
D: [-3.65e-05, 435.77, -468.05, 32.2789, -9.01e-05, -0.000990]
124 Linearised (2) [0xb422f034, 0xb426d1c5, 0xb51f078c, 0xb42cfe2c, 0xb4085ec0, 0xb60c5894] Theta: [-1.08e-07, 1.1680, -1.2557, 0.08772, 5.66e-07, -7.58e-07]
A: [8.745e-05, 0.37264, 0.002494, -2.41e-05, 5.98e-05, 0]
D: [0.000127, 597.79, -604.85, 7.0589, -0.000134, -0.000920]
125 Linearised (2) [0xb435bb63, 0xb441d7b1, 0xb5198b08, 0xb40d9f92, 0xb41b2338, 0xb42edc4e] Theta: [-1.42e-07, 0.6731, -0.8223, 0.1492, 1.22e-06, 4.74e-09]
A: [0.000105, 0.13394, 0.006690, -1.038e-05, 1.028e-05, 0]
D: [0.000248, 681.73, -696.41, 14.6725, -0.000155, -0.000962]

Technical Details

Calibration Status Codes

  • 0 = notInitialized
  • 1 = notLinearised
  • 2 = Linearised (fully calibrated)

Parameter Explanations

  • delta_theta: Joint angle offsets in radians
  • delta_a: Link length offsets in meters
  • delta_d: Link offset corrections in meters
  • delta_alpha: Joint twist angle corrections in radians
  • joint_checksum: Unique identifiers for each joint's calibration
  • joint_raw_offset: Raw encoder offset values

File Contents

Each backup contains:

  • calibration.conf - Main calibration configuration
  • calibration_trajectory_*.ct - Calibration trajectory files for different robot models
  • joint_motor_calibration_id*.txt - Individual joint motor calibration data
  • robot_calibration_summary.txt - Summary of calibration results
  • calibration.log - Calibration process log

Troubleshooting

If you encounter issues after restoring calibration:

  1. Double-check file locations: Ensure files are in the correct .urcontrol directory
  2. Verify file permissions: Files should be readable by the Polyscope system
  3. Check robot behavior: Test in reduced speed mode first
  4. Restore from backup: If issues persist, restore your original calibration

For critical production systems, consider contacting UR support before making calibration changes.

About

Backup of the .urcontrol folder for all match URs

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors