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.
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:
You may reuse this content, with or without modification, in your work.
Please follow the conditions of the license file and use the following citation:
 Miller, Steve (2017), Robot Arm with Conveyor Belts (https://www.mathworks.com/matlabcentral/fileexchange/61370) MATLAB Central File Exchange. Retrieved on <date you downloaded submission>
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.
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.
Inspired by: Simscape Multibody Contact Forces Library
Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.