Restoring a backup from another robot

Hello there,

One of our robots at a customer place is faulty (mechanical issue with a gear) and it will be sent to repair. On the meantime we are going to replace it with another robot (both UR3e models, same Polyscope version). We have backup .urb files from both robots and we just want to place the backup of the faulty on the functional one.
But we are getting an error that the system cannot be restored because the Serial Number of the robot and the backup don’t match. Is there any way to allow the controller restore a backup from another robot?
This is quite an unexpected event and we would like to use the Restore System feature and avoid having to migrate all the files.

Hello CGS,

I sent a link to this thread to one of our application engineers. Hopefully he can help provide some advice in this thread. I also suggest you submit a ticket in MyUR as a backup in case the forum response takes longer than I anticipate.

1 Like

It is not possible to restore a system backup on another robot than its origin. It would be far from optimal, either, since the backup also consists of the calibration data from the robot. If you were to overwrite the calibration data from one robot to another, the new robot would not be able to move correct, and you could experience other issues such as Protective Stops happening often due to wrong friction values in the joints etc.

If you have the .urp and .installation files, this is the right way to “mirror” two robots. :slight_smile:

1 Like

I was not aware of this myself, but I just gave it a try; it is possible to open the .urb files with (de)compression software such as 7zip or WinRAR (I tried with 7zip).
There, you can find your .urp and .installation files, withdraw them from the .urb and put them on a USB and into the new robot. :slight_smile:

Shouldn’t take too long before you’re up and running again.

1 Like

If you are just trying to move programs over to the new robot; UR has magic files that can pull the programs off the robot to a USB as well as one to upload them to a robot from USB. Just look up Magic files in the support site Downloads section and you should be able to find them.

Hi, which program do you use for decompressing the .img files? I tried both WinRAR and 7Zip and that led me to the mounting files, but not to the .urp and .installation files.
Thanks for the heads up!

Hi, I tried it and it made a backup as expected. The only thing that I didn’t like was that the backup was on a containing folder in a USB, and when restoring the backup it copies the folder to the next robot, so the programs are no longer in /programs/ directory, but in /programs/backup_folder/
This is inconvenient for using the remote dash server, since the load program.urp commands fail because now they have to be switched to load /programs/backup_folder/program.urp

Just double-click the .img file to open them in the decompressing software. :slight_smile: .imgs are just compressed files, as well.

There are 4 .img files due to the 4 partitions on the e-series robot. The programs and installation are on one of the partitions.

I believe if you just pull the files out of the folder and into the root of the USB stick it should upload the files to the /programs/ directory as you are wanting them too. If you look at the magic file download page it mentions it will copy all the listed files as well as the subfolders. So you can download the programs, save them wherever you like, and when you want to upload them; place the files inside that folder onto a USB stick along with the magic file and plug into the robot.

Upload Magic File
Here it lists how it functions and the files it will copy over.

Hello everybody,

After reading the answers and trying to test them, I decided to come up with my own solution:
Same as magic files work, I decided to start working on my own shell script to backup and restore robot programs. The difference is that the script would run from my laptop connected to the robot network (using ssh commands) and the backup will be a folder with a name chosen from the user + a time stamp.
I will make it a quite basic script though, since I am still a beginner.

Well, I have tried that already:

  1. On robot 1, I placed a USB stick with the magic file for making the backup. It generated a folder with all the /programs/ files inside it (and the folder name was the S/N of the robot).
  2. On my laptop, I replaced in the USB stick the magic file for making a backup with the one for restoring it.
  3. On robot 2, I placed the USB stick. It copied the folder from robot 1 onto /programs/ from robot 2. Also robot 2 kept all its original files.
    So, my guess is that either I did the wrong steps here or that you have described the normal behavior for backing up/restoring the same robot. I am not sure why this happens with the magic file, but my guess is on these lines from the script:
MOUNTPOINT="$1"
DEST=("/programs")

where MOUNTPOINT is not USB/backup_folder, but the USB main directory, where backup_folder is a subdirectory.

Are you keeping the programs in the folder created from the backup? Or are you removing them from the folder and placing them in the root directory of the USB stick along with the restore magic file?
on Backup you’l have in the USB

    magicFile.sh
    2021XXXXX //Folder with backups

for uploading from USB you will want in the USB:

    magicFile.sh
    program1.urp
    program1.txt
    program1.script
    //Rest of the programs that were in the folder from the Backup

If you keep them in the folder (First Way) then it will backup the folder since it sees it as a SubFolder to upload as well. Performing the second way will upload the programs directly to the /programs/ directory.

Since you’re already running an SSH to the robot, do you know about the FTP server running on the robot?

Download FileZilla, setup robot with IP, port 22 and root/easybot. Then you have access to the filesystem in the robot controller, where you can pull all program files etc directly from and to your computer. :slight_smile:

Another alternative solution. There are a lot of ways to do this.