Updated 23 Jun 2020
Models a robot arm with 5 degrees of freedom and a gripper, along with two conveyor belts. The robot transfers parts from one conveyor belt to the other. One conveyor belt brings the parts to the robot arm, and the other belt transports the parts away from the robot arm. The model includes electrical actuation, supervisory logic, and optimization of end effector trajectory.
Please read the README.txt file to get started.
Use the Download button to get files compatible with the latest release of MATLAB.
Use the links below to get files compatible with earlier releases of MATLAB.
For R2019b: https://github.com/mathworks/Simscape-Robot-Conveyor-Belts/archive/220.127.116.11.zip
For R2019a: https://github.com/mathworks/Simscape-Robot-Conveyor-Belts/archive/18.104.22.168.zip
For R2018b: https://github.com/mathworks/Simscape-Robot-Conveyor-Belts/archive/22.214.171.124.zip
For R2018a: https://github.com/mathworks/Simscape-Robot-Conveyor-Belts/archive/126.96.36.199.zip
For R2017b: https://github.com/mathworks/Simscape-Robot-Conveyor-Belts/archive/188.8.131.52.zip
For R2017a: https://github.com/mathworks/Simscape-Robot-Conveyor-Belts/archive/184.108.40.206.zip
For R2016b: https://github.com/mathworks/Simscape-Robot-Conveyor-Belts/archive/220.127.116.11.zip
The robot arm model was created in Onshape and imported into Simscape Multibody.
Visit this File Exchange entry to learn more about Onshape
The robot arm is based on the youBot.
Find other Simscape examples by searching posts for the keyword "physical modeling"
Learn more about MathWorks Simscape Products:
Steve Miller (2020). Robot Arm with Conveyor Belts (https://github.com/mathworks/Simscape-Robot-Conveyor-Belts/releases/tag/18.104.22.168), GitHub. Retrieved .
I'm trying to develop a simulation model of a robot arm, using Torque input in the revolute joints.
In order to understand the motors that you are using in this work (congratulations, by the way, it's a really great job) I have done a simplified model erasing some of the parts, leaving just the two first joints (my apologies for this the complete model is too much for me). It works but I don't understand the role of the Current Source block. When I try to remove it I get this error message:
['Simplificado/Bicep_/Meas P', 'Simplificado/Bicep_/Motor', 'Simplificado/Bicep_/Sensing i']: Each physical network must be connected to exactly one Solver Configuration block. There is no Solver Configuration block connected to Physical Network with the following blocks: 'Simplificado/Bicep_'
I have some experience with Multibody but Electrical is still kind of a mystery to me.
Can you explain why do I need the Current Source or how can I remove it without the Solver error?
I'm learning this ,thanks!
Hey Steve Miller, I am trying to pick the object which is of uneven shape,I have applied contact forces that keeps the object holded,but I need to pick the object up and place it in its mould,whenever i change the position of gripper it does not take object with it and the object is left at the same position.I have also provided "six degrees of freedom"to the object!!!! can you please give me solution to this?
please upload R016a version of the model
Hi Steve Miller Do you have some example about the integration of inverse kinematic code into simulink
Hi Varun - your inverse kinematics model could probably be included in the Simulink model. There are blocks for including MATLAB code in the Simulink block diagram. The outputs of that block could then be used in place of the constant blocks I used in the model.
Thank you for replying in detail to my query. I had not posted any details of what I was doing. After reading you reply, I understood the logic. Now, I needed to know, I am planning to input co-odinates instead of joint angles. Is there any way to do that?. What I did is, I have a separate inverse kinematic matlab/simulink solver. I solved through that seperately, as (x ,y z ) co-ordinates as input and got joint angles as output. I put those join angles in Qt in 'manual' mode and got successful simulation. Is there any way in this model to combine it?
Hi Varun - to vary the trajectories, it depends which configuration you are in. In the "Default" configuration, accessed by clicking on the hyperlink at the top of the model, the parameters which are used are in the mask for subsystem "youBot_Arm/Input/Control". If you are testing Box Transfer only, MATLAB workspace variables Qt and t are used. This is so we can optimize those values using Fast Restart, which does not permit variables in MATLAB structures (such as YBT_Par.Waypoints....) to be tuned. I hope that helps. --Steve
How do you vary paramters for simulating different trajectories? modifying PARAM file inputs does not give the desired output.
See release notes for this release on GitHub: https://github.com/mathworks/Simscape-Robot-Conveyor-Belts/releases/tag/22.214.171.124
See release notes for this release on GitHub: https://github.com/mathworks/Simscape-Robot-Conveyor-Belts/releases/tag/126.96.36.199
Connected to GitHub repository
Added links to download files compatible with older releases of MATLAB.
Added R2018b version. R19a and R18b versions can be downloaded from File Exchange, contact me for earlier releases.
Added R2018b version. R18b and R18a versions can be downloaded from File Exchange, contact me for earlier releases.
Updating contact force library only (v4.1), no changes to robot arm example.
Added R2018a version. Contact me for earlier releases.
Updating contact force library only, no changes to robot arm example.
Added R2017b version.
Updated to include latest version of Simscape Multibody Contact Forces Library (v3.7). No functional changes to model of robot, conveyor belt, or logic.
Fixed Run optimization hyperlinks in model; made hyperlinks in demo script Mac compatible. Updates apply to R2016b and R2017a versions.
Added R2017a version and text for citing submission in other works.