function Excv = sm_excv_track_param_machine
% Defines parameters structure for excavator model
% Copyright 2022-2023 The MathWorks, Inc
% Call internal functions to assemble structure
Excv.Contact = Contact_Force_Parameters;
Excv.Chain = Excv_Chain_Param;
Excv.Shoe = Excv_Shoe_Param;
Excv.Frame = Excv_Frame_Param;
Excv.Drive = Excv_Drive_Param;
% The following functions require parameters from other pieces
Excv.Roller = Excv_Roller_Param(Excv.Chain.plate_h, Excv.Shoe.pad_h, Excv.Shoe.w);
Excv.Sprocket = Excv_Sprocket_Param(...
Excv.Chain.chain_wid, Excv.Chain.plate_h, Excv.Shoe.pad_h,...
Excv.Chain.pin_sep, Excv.Chain.pin_rad,...
Excv.Shoe.w,...
Excv.Roller.Lower.ground_contact.ptcld.npts,...
Excv.Roller.Lower.ground_contact.rolling_radius);
Excv.Idler = Excv_Idler_Param(Excv.Sprocket.sprocket_rPitch,...
Excv.Chain.plate_h,Excv.Chain.chain_wid, ...
Excv.Shoe.pad_h, Excv.Shoe.w,...
Excv.Roller.Lower.ground_contact.ptcld.npts,...
Excv.Roller.Lower.ground_contact.rolling_radius);
Excv.Vis.Track = Excv_TrackVis_Param(Excv.Frame.IdlerAssyX,...
Excv.Frame.Sprk2UpperX, ...
Excv.Roller.Upper.rad, Excv.Frame.Sprk2UpperY,...
Excv.Sprocket.sprocket_rPitch, Excv.Chain.plate_h, Excv.Shoe.pad_h);
%% Contact parameters
function CFP = Contact_Force_Parameters
CFP.Idler.K = 1e7;
CFP.Idler.B = 1e5;
CFP.Idler.TW = 1e-3;
CFP.Sprocket.K = 1e7;
CFP.Sprocket.B = 1e5;
CFP.Sprocket.TW = 1e-3;
CFP.Roller.K = 1e7;
CFP.Roller.B = 1e5;
CFP.Roller.TW = 1e-3;
end
%% Chain Link
function Chain = Excv_Chain_Param
Chain.plate_thk = 0.013; % Plate thickness
Chain.plate_h = 0.11; % Chain plate height
% Offset between plates from one link to the next
% Assumes half link chain
Chain.plate_off = Chain.plate_thk+0.002;
% Separation of pins along direction of the chain
Chain.pin_sep = 0.2;
% Calcluate hole separation along length of plate
Chain.hole_sep = sqrt(Chain.plate_off^2 + Chain.pin_sep^2);
% Calcluate hole separation along length of plate
% Assumes half link chain
Chain.plate_ang = atan2d(Chain.plate_off, Chain.pin_sep);
% Radius of hole in plate
Chain.hole_rad = 0.02;
% Determine extrusion data for chain plate
Chain.plate_xc = Extr_Data_LinkHoles(Chain.hole_sep,Chain.plate_h,Chain.hole_rad,2);
% Separation of plates, measured at plate center
Chain.chain_wid = 0.1530;
% Determine extrusion data for chain plate
Chain.plate_clr = [0.5 0.5 0.5];
Chain.plate_opc = 1;
% Pin parameters
Chain.pin_len = 0.2;
Chain.pin_rad = 0.03;
Chain.pin_clr = [0.8 0.8 0.8];
Chain.pin_opc = 1;
% Mass parameters for entire link (two plates + 1 pin)
Chain.link_m = 21.6;
Chain.link_cg = [0.03 -0.02 0.0];
Chain.link_moi = [0.37 0.43 0.12];
Chain.link_poi = [0 0 0];
% Friction between chain links
Chain.damping = 1;
% Contact geometry
Chain.roller_contact.clr = [1.0 0.0 0.2];
Chain.roller_contact.opc = 0;
Chain.teeth_contact.clr = [1.0 0.0 0.0];
Chain.teeth_contact.opc = 0.5;
end
%% Sprocket
function Sprocket = Excv_Sprocket_Param(chain_wid, chain_plate_h, shoe_pad_h,...
pin_sep, pin_rad, shoe_w, roller_ptcld_npts, roller_rad)
% Contact geometry
% Sprocket width (must be narrower than chain)
Sprocket.sprk_width = chain_wid*0.7;
Sprocket.density = 6000; % kg/m^3
Sprocket.nTeeth = 22; % Number of teeth
% Number of gaps a chain link will skip
% skipTeeth = 1 means chain meshes every other sprocket gap
Sprocket.skipTeeth = 1;
% Calculate sprocket profile and pitch radius
[temp_spr_pts, temp_rPitch] = Extr_Data_Sprocket(...
Sprocket.nTeeth,Sprocket.skipTeeth,pin_sep,pin_rad);
Sprocket.sprocket_xc = temp_spr_pts;
Sprocket.sprocket_rPitch = temp_rPitch;
% Use extrusion data to assemble point cloud for teeth contact
Sprocket.teeth_contact.ptcld.pts = [temp_spr_pts zeros(size(temp_spr_pts,1),1)];
% Color, opacity
Sprocket.clr = [0.5764706 0.61960787 0.6784314];
Sprocket.opc = 1;
% Contact geometry for Teeth
Sprocket.teeth_contact.ptcld.rad = 2e-3;
Sprocket.teeth_contact.ptcld.clr = [1 0 0];
Sprocket.teeth_contact.ptcld.opc = 1;
% Ground geometry for rolling contact
Sprocket.ground_contact.rolling_radius = Sprocket.sprocket_rPitch+chain_plate_h/2+shoe_pad_h;
sprk_cloud_rad = Sprocket.ground_contact.rolling_radius;
% Ensure point cloud on sprocket has similar density (points per area)
% to point cloud on roller
npts_sprk = ceil(roller_ptcld_npts*sprk_cloud_rad/roller_rad);
% Generate point cloud
Sprocket.ground_contact.ptcld.pts = Point_Cloud_Data_Cylinder(sprk_cloud_rad,shoe_w,npts_sprk,0);
% Contact geometry visual settings for point cloud ground contact
Sprocket.ground_contact.ptcld.rad = 1e-2;
Sprocket.ground_contact.ptcld.clr = [1 0 0];
Sprocket.ground_contact.ptcld.opc = 1;
% Contact geometry visual settings for sphere ground contact
Sprocket.ground_contact.sphere.clr = [0.78 0.3 0.3];
Sprocket.ground_contact.sphere.opc = 0.2;
end
%% Shoe with Grouser
function Shoe = Excv_Shoe_Param
% Shoe width (side-to-side) and length (fore-aft)
Shoe.w = 0.6; % m
Shoe.l = 0.2; % m
%{
% Parameterized with symmetrical grouser
Shoe.h = 0.03;
Shoe.pad_h = 0.005;
Shoe.grouser_wo = 0.019;
Shoe.grouser_wi = 0.013;
Shoe.xc = Extr_Data_ExcvShoe(...
Shoe.l, Shoe.h,Shoe.pad_h,...
Shoe.grouser_wo, Shoe.grouser_wi,3);
%}
% Load custom shoe profile
xc = load('track_shoe_profile_0p2m.mat');
Shoe.xc = xc.track_shoe_profile_0p2m;
% Depth of shoe plate
Shoe.pad_h = 0.01;
% Height of grouser tips
Shoe.h = 0.0375;
% Geometry settings
Shoe.clr = [0.37254903 0.3254902 0.2];
Shoe.opc = 1;
% Generate point cloud for plate contact
temp_shoe_pts = Point_Cloud_Data_Square(Shoe.l,Shoe.w,[3 8]);
Shoe.ptcld_sets.plate = [temp_shoe_pts(:,1) temp_shoe_pts(:,1)*0-Shoe.pad_h temp_shoe_pts(:,2)];
% Generate point cloud for grouser contact
temp_grouserPtsInd = find(Shoe.xc(:,2)>Shoe.h*0.999);
temp_grouserPts_w = linspace(0,Shoe.w,20)-Shoe.w/2;
temp_shoe_ptcld_grousers = [];
for temp_i = 1:length(temp_grouserPts_w)
temp_shoe_ptcld_grousers = [
temp_shoe_ptcld_grousers;
Shoe.xc(temp_grouserPtsInd,:).*[1 -1] ones(length(temp_grouserPtsInd),1)*temp_grouserPts_w(temp_i)];
end
Shoe.ptcld_sets.grousers = temp_shoe_ptcld_grousers;
% By default, only use point cloud on shoe plate
Shoe.ground_contact.ptcld.pts = Shoe.ptcld_sets.plate;
% Contact geometry visual settings for point cloud contact
Shoe.ground_contact.ptcld.rad = 2e-3;
Shoe.ground_contact.ptcld.clr = [1 1 0.06667];
Shoe.ground_contact.ptcld.opc = 1;
% Custom mass settings for plate
Shoe.mass = 5.
没有合适的资源?快使用搜索试试~ 我知道了~
对在不平坦的表面上行驶的履带式车辆进行建模附simulink实现.zip
共1213个文件
xml:889个
png:199个
m:57个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 33 浏览量
2023-12-13
16:31:28
上传
评论
收藏 56.15MB ZIP 举报
温馨提示
1.版本:matlab2014/2019a/2021a,内含运行结果,不会运行可私信 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
资源推荐
资源详情
资源评论
收起资源包目录
对在不平坦的表面上行驶的履带式车辆进行建模附simulink实现.zip (1213个子文件)
Tracked_Vehicle_Simscape_Overview_Animation.gif 5.73MB
ptcloud_workflow_trackShoe_createFromSTL.html 28KB
ptcloud_workflow_trackShoe_createFromSTEP.html 26KB
sm_excv_track1_ptcld_shoecad.html 20KB
sm_excv_track2_roller_sphere.html 17KB
sm_excv_track1_roller_sphere.html 17KB
sm_excv_track1_roller_ptcld.html 17KB
sm_excv_track2_roller_ptcld.html 16KB
sm_excv_track1_ptcld.html 16KB
sm_excv_track2_ptcld.html 16KB
sm_excv_track1_sprocket.html 15KB
sm_excv_track1_solid.html 15KB
sm_excv_track1_float.html 14KB
Tracked_Vehicle_Simscape_Overview.html 13KB
sm_excv_track_segment_test.html 10KB
sm_tracked_vehicle_doc_trackSegment.html 8KB
sm_excv_track_param_machine.m 15KB
ptcloud_workflow_trackShoe_createFromSTL.m 9KB
ptcloud_workflow_trackShoe_createFromSTEP.m 8KB
sm_excv_track1_ptcld_shoecad.m 8KB
sm_excv_track2_roller_sphere.m 7KB
sm_excv_track1_roller_sphere.m 7KB
sm_excv_track2_roller_ptcld.m 6KB
sm_excv_track1_roller_ptcld.m 6KB
sm_excv_track1_ptcld.m 6KB
Extr_Data_Sprocket.m 6KB
sm_excv_track2_ptcld.m 6KB
Extr_Data_TrapezoidRounded.m 5KB
sm_excv_track1_sprocket.m 5KB
sm_excv_track1_solid.m 5KB
sm_excv_track1_float.m 5KB
sm_car_create_rough_road_rdf.m 5KB
track_shoe_ptcloud_createFromSTL.m 5KB
Tracked_Vehicle_Simscape_Overview.m 4KB
sm_excv_track_plot3fcroller.m 4KB
Extr_Data_ExcvShoe.m 4KB
sm_extr_data_mesh.m 4KB
Point_Cloud_Data_Cylinder.m 4KB
stl_to_gridsurface.m 4KB
Extr_Data_Cam_Circles.m 3KB
sm_excv_track_segTargets_46seg1Idler.m 3KB
sm_excv_track_segTargets_46seg1Idler_allOff.m 3KB
Extr_Data_LinkHoles.m 3KB
track_shoe_ptcloud_createFromSTEP.m 3KB
Point_Cloud_Data_Square.m 3KB
Extr_Data_RDF.m 3KB
sm_excv_track_segment_test.m 3KB
Extr_Data_Excv_Lower_Frame.m 2KB
sm_excv_track_param_scene.m 2KB
sm_excv_track_plot1loc.m 2KB
generateDriveSprocketPointCloud.m 2KB
sm_excv_visual_settings_contact.m 2KB
Grid_Surface_Data_Slope.m 2KB
Point_Cloud_Data_Circle.m 2KB
sm_excv_track_plot2trq.m 2KB
sm_car_scenedata_rdf_plateau.m 1KB
sm_car_scenedata_rdf_rough_road.m 1KB
sm_tracked_vehicle_doc_trackSegment.m 1KB
sm_excv_track_plot_extrusions.m 1KB
startup_sm_excv_track.m 670B
sm_excv_track_param_load.m 598B
sm_excv_track_test_partial_op.m 362B
sm_excv_track_get_op.m 326B
Tracked_Vehicle_Simscape_Overview_web.m 45B
sm_excv_track2_roller_sphere_web.m 40B
sm_excv_track1_roller_ptcld_web.m 39B
sm_excv_track2_roller_ptcld_web.m 39B
sm_excv_track_segment_test_web.m 38B
sm_excv_track1_sprocket_web.m 35B
sm_excv_track1_float_web.m 32B
sm_excv_track2_ptcld_web.m 32B
sm_excv_track1_solid_web.m 32B
sm_excv_track1_ptcld_web.m 32B
Excv_Contact_ConnBusObj.mat 2KB
track_shoe_profile_0p2m.mat 509B
Tracked_Vehicle_Simscape_Overview.png 228KB
sm_excv_track2_ptcld_Overview.png 154KB
sm_excv_track1_ptcld_terrain_Overview.png 131KB
sm_excv_track2_roller_ptcld_Overview.png 131KB
sm_excv_track1_solid_Overview.png 127KB
sm_excv_track1_roller_ptcld_Overview.png 124KB
sm_excv_track2_roller_sphere_Overview.png 102KB
sm_excv_track2_roller_sphere_03.png 87KB
sm_excv_track1_roller_sphere_03.png 87KB
sm_excv_track1_solid_04.png 85KB
sm_excv_track2_roller_ptcld_01.png 83KB
sm_excv_track2_roller_ptcld_03.png 81KB
sm_excv_track1_roller_ptcld_03.png 81KB
sm_excv_track1_roller_sphere_Overview.png 81KB
sm_excv_track1_ptcld_04.png 80KB
sm_excv_track1_sprocket_04.png 80KB
sm_excv_track2_ptcld_04.png 80KB
sm_excv_track1_float_04.png 80KB
sm_excv_track1_ptcld_shoecad_04.png 80KB
sm_excv_track2_roller_sphere_01.png 79KB
sm_excv_track_segment_test_Overview.png 78KB
sm_excv_track1_ptcld_shoecad_07.png 78KB
sm_excv_track2_ptcld_06.png 78KB
sm_excv_track1_roller_ptcld_06.png 78KB
sm_excv_track1_ptcld_06.png 78KB
共 1213 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13
资源评论
Matlab科研辅导帮
- 粉丝: 2w+
- 资源: 7661
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- FlaUInspect 网上最新版 flauinspect v1.3.0
- 1_Parameter Manual NC variable and interface signals.pdf
- 目标检测-垃圾桶满溢检测数据集-3000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 目标检测-垃圾桶满溢检测数据集-1000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- (网络收集)2024年新课标Ⅰ卷数学卷带答案带解析带分值文字版.docx
- HCIP-Datacom-Advanced Routing & Switching Technology V1.0 培训材料
- SpringBoot+Vue尚庭公寓项目前端代码
- C51C51单片机实现的 抽奖机 设计与编程指南
- ikbc C87 机械键盘固件升级
- 词频统计PTA案例分析.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功