MATLAB: Load UR5 robot with Robotics System Toolbox

loading robotRobotics System Toolboxurdf

Hi
I am trying to do a robot simulation of a Universal Robot 5 (UR5). I was pleasantly surprised when reading up on how to load a robot, that the toolbox supposedly already has a UR5 model called "universalUR5" (https://www.mathworks.com/help/robotics/ref/loadrobot.html).
However I cannot load it doing:
>> loadrobot("universalUR5")
Error using loadrobot (line 46)
Expected robotName to match one of these values:
'abbIrb120', 'abbIrb120T', 'kinovaGen3', 'kinovaJacoJ2N6S200', 'kinovaJacoJ2N6S300', 'kinovaJacoJ2N7S300',
'kinovaJacoJ2S6S300', 'kinovaJacoJ2S7S300', 'kinovaJacoTwoArmExample', 'kinovaMicoM1N4S200', 'kinovaMicoM1N6S200',
'kinovaMicoM1N6S300', 'rethinkBaxter', 'willowgaragePR2'
If I look in my MATLAB installation folder under "MATLAB/R2019b/toolbox/robotics/robotmanip/data/roboturdf" – I also see that I only have urdf files for the robots listed above.
Does anybody know if the UniversalUR5 urdf and meshes can be downloaded from somewhere and used in matlab?

Best Answer

MATLAB does not natively provide the model for the UR5 robot. However, you can find the files from this GitHub repository: https://github.com/ros-industrial/robot_movement_interface/tree/master/dependencies. Although you can download the complete package, you may have a problem in configuring the paths to make it work with MATLAB. I have modified the urdf file to point it local directory to search for meshes and placed the meshes in the same directory. You can download this zip file and place it on MATLAB's path. The following code shows an example of how to load the robot and display it on the axes
robot = importrobot('ur5_robot.urdf');
robot.show
Related Question