Skip to content

Commit 0499cc0

Browse files
committed
Initial commit R2022b.
1 parent d7f5145 commit 0499cc0

File tree

115 files changed

+64
-64
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+64
-64
lines changed

Examples/CAD/01_Lift_Table/html/html/sm_lift_table_CAD.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<!--
77
This HTML was auto-generated from MATLAB code.
88
To make changes, update the MATLAB code and republish this document.
9-
--><title>Adding Actuators to CAD Model of a Lift Table</title><meta name="generator" content="MATLAB 9.12"><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.date" content="2022-03-10"><meta name="DC.source" content="sm_lift_table_CAD.m"><style type="text/css">
9+
--><title>Adding Actuators to CAD Model of a Lift Table</title><meta name="generator" content="MATLAB 9.13"><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.date" content="2022-09-19"><meta name="DC.source" content="sm_lift_table_CAD.m"><style type="text/css">
1010
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outine:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0}
1111

1212
html { min-height:100%; margin-bottom:1px; }
@@ -67,7 +67,7 @@
6767

6868

6969

70-
</style></head><body><div class="content"><h1>Adding Actuators to CAD Model of a Lift Table</h1><!--introduction--><p>This example shows how to extend CAD models with physical effects in Simscape Multibody. A CAD model of a lift table is imported into Simscape. Simulations are used to determine the amount of force or torque an actuator would need to provide to lift the table. Simscape models of a hydraulic cylinder and an electric lead screw are added to the model to see how the system behaves.</p><p>Simscape enables you to determine high-level actuator requirements, such as the amount of force, torque, or power an actuator must provide. Different actuation technologies can be connected to the 3-D mechanical model to see which actuators would be an option in the final design</p><!--/introduction--><h2>Contents</h2><div><ul><li><a href="#1">CAD Model of Lift Table</a></li><li><a href="#3">Lift Table Model Imported from CAD</a></li><li><a href="#6">Lift Table Model With No Actuation</a></li><li><a href="#7">Hydraulic Actuator: Determine Required Force</a></li><li><a href="#9">Hydraulic Actuator: Test Design</a></li><li><a href="#11">Electric Actuator: Determine Required Torque</a></li><li><a href="#13">Electric Actuator: Test Design</a></li></ul></div><h2 id="1">CAD Model of Lift Table</h2><p>The mechanical design of the lift table was created in Onshape <a href="matlab:sm_lift_table_viewOnshape('sm_lift_table');">View Assembly in Onshape</a></p><p><b>Screenshot of CAD Assembly in Onshape</b></p><p><img vspace="5" hspace="5" src="sm_lift_table_Onshape_Assembly.png" alt=""> </p><h2 id="3">Lift Table Model Imported from CAD</h2><p>CAD models can be imported from various CAD environments. For Onshape models, use the command smexportonshape(). The model below shows what the raw imported model looks like.</p><p><a href="matlab:open_system('sm_lift_table_0_import');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_01.png" alt=""> <p><b>Screenshot of Simscape Multibody Model</b></p><p><img vspace="5" hspace="5" src="sm_lift_table_mechanicsExplorer.png" alt=""> </p><h2 id="6">Lift Table Model With No Actuation</h2><p>Once imported, you can group parts and joints within subsystems to make the the block diagram easier to read. Here, we can see the prismatic joint representing the degree of freedom that we need to actuate.</p><p><a href="matlab:open_system('sm_lift_table_1_arch');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_02.png" alt=""> <h2 id="7">Hydraulic Actuator: Determine Required Force</h2><p>To determine the force that is required to lift the table, we can prescribe the motion of the prismatic joint and the simulation will calculate how much force is needed to produce that motion.</p><p><a href="matlab:open_system('sm_lift_table_f1_actf');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_03.png" alt=""> <p><b>Simulation Results from Simscape Logging</b></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_04.png" alt=""> <h2 id="9">Hydraulic Actuator: Test Design</h2><p>A hydraulic actuator is connected to our mechanical model. The input signal to the valve adjusts the spool position which controls flow to and from the hydraulic actuator. The actuator extends and contracts to raise and lower the table. This model allows us to determine the size of the hydraulic cylinder and the required pressures and flow rates in our system.</p><p><a href="matlab:open_system('sm_lift_table_f2_hydr');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_05.png" alt=""> <p><b>Simulation Results from Simscape Logging</b></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_06.png" alt=""> <h2 id="11">Electric Actuator: Determine Required Torque</h2><p>A leadscrew driven by an electric motor is a second method of actuation considered for our design. Replacing the prismatic joint with a lead screw and a revolute joint gives us an additional degree of freedom. We specify the rate of extension for the leadscrew, and measure the required torque to produce that motion at the revolute joint that was added. With this information, we can determine the size of our motor.</p><p><a href="matlab:open_system('sm_lift_table_t1_actt');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_07.png" alt=""> <p><b>Simulation Results from Simscape Logging</b></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_08.png" alt=""> <h2 id="13">Electric Actuator: Test Design</h2><p>An electromechanical actuator is connected to our mechanical model. The electric motor spins the screw forward and backward to extend and contract the actuator which raises and lowers the lift table. Hard stops have been added to limit the extension of our actuator. This model allows us to select gear ratios and determine the power requirements of our motor.</p><p><a href="matlab:open_system('sm_lift_table_t2_elec');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_09.png" alt=""> <p><b>Simulation Results from Simscape Logging</b></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_10.png" alt=""> <p class="footer">Copyright 2016-2022 The MathWorks, Inc.<br><a href="https://www.mathworks.com/products/matlab/">Published with MATLAB&reg; R2022a</a><br></p></div><!--
70+
</style></head><body><div class="content"><h1>Adding Actuators to CAD Model of a Lift Table</h1><!--introduction--><p>This example shows how to extend CAD models with physical effects in Simscape Multibody. A CAD model of a lift table is imported into Simscape. Simulations are used to determine the amount of force or torque an actuator would need to provide to lift the table. Simscape models of a hydraulic cylinder and an electric lead screw are added to the model to see how the system behaves.</p><p>Simscape enables you to determine high-level actuator requirements, such as the amount of force, torque, or power an actuator must provide. Different actuation technologies can be connected to the 3-D mechanical model to see which actuators would be an option in the final design</p><!--/introduction--><h2>Contents</h2><div><ul><li><a href="#1">CAD Model of Lift Table</a></li><li><a href="#3">Lift Table Model Imported from CAD</a></li><li><a href="#6">Lift Table Model With No Actuation</a></li><li><a href="#7">Hydraulic Actuator: Determine Required Force</a></li><li><a href="#9">Hydraulic Actuator: Test Design</a></li><li><a href="#11">Electric Actuator: Determine Required Torque</a></li><li><a href="#13">Electric Actuator: Test Design</a></li></ul></div><h2 id="1">CAD Model of Lift Table</h2><p>The mechanical design of the lift table was created in Onshape <a href="matlab:sm_lift_table_viewOnshape('sm_lift_table');">View Assembly in Onshape</a></p><p><b>Screenshot of CAD Assembly in Onshape</b></p><p><img vspace="5" hspace="5" src="sm_lift_table_Onshape_Assembly.png" alt=""> </p><h2 id="3">Lift Table Model Imported from CAD</h2><p>CAD models can be imported from various CAD environments. For Onshape models, use the command smexportonshape(). The model below shows what the raw imported model looks like.</p><p><a href="matlab:open_system('sm_lift_table_0_import');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_01.png" alt=""> <p><b>Screenshot of Simscape Multibody Model</b></p><p><img vspace="5" hspace="5" src="sm_lift_table_mechanicsExplorer.png" alt=""> </p><h2 id="6">Lift Table Model With No Actuation</h2><p>Once imported, you can group parts and joints within subsystems to make the the block diagram easier to read. Here, we can see the prismatic joint representing the degree of freedom that we need to actuate.</p><p><a href="matlab:open_system('sm_lift_table_1_arch');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_02.png" alt=""> <h2 id="7">Hydraulic Actuator: Determine Required Force</h2><p>To determine the force that is required to lift the table, we can prescribe the motion of the prismatic joint and the simulation will calculate how much force is needed to produce that motion.</p><p><a href="matlab:open_system('sm_lift_table_f1_actf');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_03.png" alt=""> <p><b>Simulation Results from Simscape Logging</b></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_04.png" alt=""> <h2 id="9">Hydraulic Actuator: Test Design</h2><p>A hydraulic actuator is connected to our mechanical model. The input signal to the valve adjusts the spool position which controls flow to and from the hydraulic actuator. The actuator extends and contracts to raise and lower the table. This model allows us to determine the size of the hydraulic cylinder and the required pressures and flow rates in our system.</p><p><a href="matlab:open_system('sm_lift_table_f2_hydr');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_05.png" alt=""> <p><b>Simulation Results from Simscape Logging</b></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_06.png" alt=""> <h2 id="11">Electric Actuator: Determine Required Torque</h2><p>A leadscrew driven by an electric motor is a second method of actuation considered for our design. Replacing the prismatic joint with a lead screw and a revolute joint gives us an additional degree of freedom. We specify the rate of extension for the leadscrew, and measure the required torque to produce that motion at the revolute joint that was added. With this information, we can determine the size of our motor.</p><p><a href="matlab:open_system('sm_lift_table_t1_actt');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_07.png" alt=""> <p><b>Simulation Results from Simscape Logging</b></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_08.png" alt=""> <h2 id="13">Electric Actuator: Test Design</h2><p>An electromechanical actuator is connected to our mechanical model. The electric motor spins the screw forward and backward to extend and contract the actuator which raises and lowers the lift table. Hard stops have been added to limit the extension of our actuator. This model allows us to select gear ratios and determine the power requirements of our motor.</p><p><a href="matlab:open_system('sm_lift_table_t2_elec');">Open Model</a></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_09.png" alt=""> <p><b>Simulation Results from Simscape Logging</b></p><img vspace="5" hspace="5" src="sm_lift_table_CAD_10.png" alt=""> <p class="footer">Copyright 2016-2022 The MathWorks, Inc.<br><a href="https://www.mathworks.com/products/matlab/">Published with MATLAB&reg; R2022b</a><br></p></div><!--
7171
##### SOURCE BEGIN #####
7272
%% Adding Actuators to CAD Model of a Lift Table
7373
%
@@ -104,7 +104,7 @@
104104
% <matlab:open_system('sm_lift_table_0_import'); Open Model>
105105
106106
open_system('sm_lift_table_0_import')
107-
set_param(find_system('sm_lift_table_0_import','FindAll', 'on','type','annotation','Tag','ModelFeatures'),'Interpreter','off')
107+
set_param(find_system('sm_lift_table_0_import','MatchFilter',@Simulink.match.allVariants,'FindAll', 'on','type','annotation','Tag','ModelFeatures'),'Interpreter','off')
108108
%%
109109
% *Screenshot of Simscape Multibody Model*
110110
%%
@@ -119,7 +119,7 @@
119119
% <matlab:open_system('sm_lift_table_1_arch'); Open Model>
120120
121121
open_system('sm_lift_table_1_arch')
122-
set_param(find_system('sm_lift_table_1_arch','FindAll', 'on','type','annotation','Tag','ModelFeatures'),'Interpreter','off')
122+
set_param(find_system('sm_lift_table_1_arch','MatchFilter',@Simulink.match.allVariants,'FindAll', 'on','type','annotation','Tag','ModelFeatures'),'Interpreter','off')
123123
124124
%% Hydraulic Actuator: Determine Required Force
125125
%
@@ -130,7 +130,7 @@
130130
% <matlab:open_system('sm_lift_table_f1_actf'); Open Model>
131131
132132
open_system('sm_lift_table_f1_actf')
133-
set_param(find_system('sm_lift_table_f1_actf','FindAll', 'on','type','annotation','Tag','ModelFeatures'),'Interpreter','off')
133+
set_param(find_system('sm_lift_table_f1_actf','MatchFilter',@Simulink.match.allVariants,'FindAll', 'on','type','annotation','Tag','ModelFeatures'),'Interpreter','off')
134134
135135
%%
136136
% *Simulation Results from Simscape Logging*
@@ -149,7 +149,7 @@
149149
% <matlab:open_system('sm_lift_table_f2_hydr'); Open Model>
150150
151151
open_system('sm_lift_table_f2_hydr')
152-
set_param(find_system('sm_lift_table_f2_hydr','FindAll', 'on','type','annotation','Tag','ModelFeatures'),'Interpreter','off')
152+
set_param(find_system('sm_lift_table_f2_hydr','MatchFilter',@Simulink.match.allVariants,'FindAll', 'on','type','annotation','Tag','ModelFeatures'),'Interpreter','off')
153153
154154
%%
155155
% *Simulation Results from Simscape Logging*
@@ -168,7 +168,7 @@
168168
% <matlab:open_system('sm_lift_table_t1_actt'); Open Model>
169169
170170
open_system('sm_lift_table_t1_actt')
171-
set_param(find_system('sm_lift_table_t1_actt','FindAll', 'on','type','annotation','Tag','ModelFeatures'),'Interpreter','off')
171+
set_param(find_system('sm_lift_table_t1_actt','MatchFilter',@Simulink.match.allVariants,'FindAll', 'on','type','annotation','Tag','ModelFeatures'),'Interpreter','off')
172172
173173
%%
174174
% *Simulation Results from Simscape Logging*
@@ -187,7 +187,7 @@
187187
% <matlab:open_system('sm_lift_table_t2_elec'); Open Model>
188188
189189
open_system('sm_lift_table_t2_elec')
190-
set_param(find_system('sm_lift_table_t2_elec','FindAll', 'on','type','annotation','Tag','ModelFeatures'),'Interpreter','off')
190+
set_param(find_system('sm_lift_table_t2_elec','MatchFilter',@Simulink.match.allVariants,'FindAll', 'on','type','annotation','Tag','ModelFeatures'),'Interpreter','off')
191191
192192
%%
193193
% *Simulation Results from Simscape Logging*
75 Bytes
Loading
-561 Bytes
Loading
-617 Bytes
Loading
-441 Bytes
Loading
0 Bytes
Loading
-387 Bytes
Loading
41 Bytes
Loading
-242 Bytes
Loading
0 Bytes
Loading

0 commit comments

Comments
 (0)