File Exchange

image thumbnail

Designing Robot Manipulator Algorithms

Example files for system-level simulation and control design of robot manipulators.

127 Downloads

Updated 17 Jan 2019

View License

This submission contains all the files used for the MATLAB and Simulink Robotics Arena videos, "Designing Robot Manipulator Algorithms" and "Controlling Robot Manipulator Joints".

The files include the following:
- A MATLAB script demonstrating how to implement inverse kinematic algorithms for a robot manipulator
- Simulink models of torque control of a robot manipulator using configuration-space and task-space controllers
- Simulink model of a manipulator using the derived inverse kinematics algorithm to pick up an object and follow a trajectory
- Simulink model of a manipulator using inverse kinematics to catch an object in the air that demonstrates possible next steps and the integration of perception algorithms

All files necessary to run the scripts and models, including CAD files and URDF files are either contained within the submission or downloaded using the startup script provided. You must have command-line Git installed to automatically download the robot description files.

For convenience, local copies of the Simscape Multibody Multiphysics Library and Simscape Multibody Contact Forces Library have been included with this submission. If you would like to install the latest version of these libraries, you can find them below:

* Simscape Multibody Multiphysics Library: https://www.mathworks.com/matlabcentral/fileexchange/37636-simscape-multibody-multiphysics-library
* Simscape Multibody Contact Forces Library: https://www.mathworks.com/matlabcentral/fileexchange/47417-simscape-multibody-contact-forces-library

Cite As

MathWorks Student Competitions Team (2019). Designing Robot Manipulator Algorithms (https://www.mathworks.com/matlabcentral/fileexchange/65316-designing-robot-manipulator-algorithms), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (35)

I have imported XML file how can I can do all these things in my robot arm. like I want to do trajectory planning and inverse kinematics.

fatma said

hello,
first of all, thank you for this great work, but I got a file error Dependencies You upload the file to the clipboard but it is missing and there is no file in the loader for the robot on the file Dependencies

fatma said

Please I wanted a solution to run the farmers Designing Robot Manipulator Algorithms - MATLAB and Simulink Robotics Arena Because I do not need Dependencies file Please help me and my correspondence Is your “checkDependencies” function failing when you start the example

fatma said

uu

fatma said

Please I wanted a solution to run the farmers Designing Robot Manipulator Algorithms - MATLAB and Simulink Robotics Arena Because I do not need Dependencies file Please help me fatma.saidawad121994@gmail.com

fatma said

Kindly help the example is very useful and wonderful but there are no file dependencies

mahmod jedi

Jav Fod

.

Anshul Suri

What is exactly robot(argument to the importrobot function)?
Like is it just a cad file or what is it exactly?

Thanks for the awesome work to Jose and Sebastian, the files worked fine in 2018b. Some issues originally but running, just run the IK first and then the other models.
Also be careful about the location of the folder. A long path may cause Simulink to stop working.

Summer Wood

biber alex

biber alex

It's owesome.

@Xile Kang: If you email us at roboticsarena@mathworks.com, I would be happy to give you older files that work with R2018a.

Xile Kang

2018a cannot use this model

open_manipulator_chain.urdf is not found.

Uri

Andy Chung

Srikanth

Srikanth

Not backward compatible with old versions of MATLAB

Srikanth

@Sophia -- No, you shouldn't have to do anything. The checkDependencies.m script converts this .xacro file to a .urdf file so it works with the robotics.RigidBodyTree importer. And if all else fails, the whole example will resort to using a preloaded object.

If you are having issues with the example not working, send us an email at roboticsarena@mathworks.com with information and we'll look into it!

This example is very helpful, but checkDependencies.m is looking for 'open_manipulator_chain.xacro'. Git clones 'open_manipulator.urdf.xacro' to the urdf folder under the descriptions folder. Should I modify checkDependencies.m so that it tries to build the urdf file using open_manipulator.urdf.xacro? Thank you.

@Samer -- email us at roboticsarena@mathworks.com with your detailed comments and we'll take a look!

Great job guys.. I downloaded the files but i always seem to get this error
open_manipulator_chain.urdf is not found
and I also ran the startupExample.m but it has an other error.
what can I do to fix them?

@Dominic -- I worked with Ghassan over email to find the cause of the issue and fix it. Similarly, please send us an email at roboticsarena@mathworks.com and we will work with you.

This seems to happen when you manually download the robot arm files instead of installing Git on your computer and letting the startup script clone the Git repository. I will work on a fix to this case, and also include a pre-loaded MATLAB object as a backup.

Stay tuned for the next update by selecting "Add to Watchlist" on this submission.

Hi,
you did a really nice job but i get the same error as ghassan.
I have started the startupExample script but I get twice the following error: (once for BallTracking and once for WaypointTracking)

Model Load
Error evaluating 'PreLoadFcn' callback of block_diagram 'openManipulatorBallTracking'.
Callback string is 'openManipulatorParameters;'
Caused by:
File open_manipulator_chain.urdf not found
Component:Simulink | Category:Block diagram warning
Could not evaluate MaskDisplay commands of block 'openManipulatorBallTracking/Ball Tracking Environment': Undefined function or variable 'actuatorType'.
Component:Simulink | Category:Block warning

please help me

@Mohammed -- The original submission was created in release 2017b, and the latest changes use new blocks from release 2018a. So, I would recommend upgrading your MATLAB version if possible.

Else, the version 1.0 files (without torque control) *might* run in release 2017a. Please email us at roboticsarena@mathworks.com and we can work with you.

Thanks for your hard work, Can I have these file for matlab 2017a version.

@Ghassan -- did you run the startupExample script to set the path for the example?

hello,
first of all, thank you for this great work.
but it didn't work, even after downloading the files from:
https://github.com/ROBOTIS-GIT/open_manipulator
I always get the message :
open_manipulator_chain.urdf is not found.

Sina

Updates

2.4.0.0

Bug fixes due to changes in external robot description repository.

2.3.0.0

Upgraded models to R2018b. Now using the built-in Inverse Kinematics block in Robotics System Toolbox.

2.2.0.0

Minor updates due to robot description file changes in the ROBOTIS GitHub repository.

2.1.0.0

Bug fixes to check and resolve external file dependencies. Added preloaded MATLAB object as a backup in case external files cannot be set up correctly.

2.0.0.0

Added torque control examples, using the new R2018a Robotics System Toolbox blocks.

1.0.0.0

Adding a script to check necessary dependencies for submission

MATLAB Release Compatibility
Created with R2018b
Compatible with R2018b to any release
Platform Compatibility
Windows macOS Linux

Libraries/CFL_Libs

Libraries/CFL_Libs/Libraries

Libraries/CFL_Libs/Libraries/Help

Libraries/CFL_Libs/Scripts_Data

Libraries/CFL_Libs/Scripts_Data/Doc

Libraries/CFL_Libs/Scripts_Data/Extrusions

Libraries/MPL_Libs

Libraries/MPL_Libs/Libraries

Libraries/MPL_Libs/Libraries/+forcesPS

Libraries/MPL_Libs/Libraries/+forcesPS/+hydraulic

Libraries/MPL_Libs/Libraries/+forcesPS/+math

Libraries/MPL_Libs/Libraries/+forcesPS/+mechanical

ScriptsFunctions/Initialization

ScriptsFunctions/Kinematics

ScriptsFunctions/Utilities