资源简介
对比原板的将代码规范化了,将各个部件之间进行分类再拼接.使用方法与之前一样creat_map是生成地图文件“map.mat”的,"test.m"是主文件。运行速度比之前慢了但代码可读性更高了。实际上后来想到可以用显卡加速的但是matlab显卡加速在不同的硬件环境中好像兼容性不好就没用了。
代码片段和文件信息
classdef Body
%车身机械结构
%车宽,车长,车重,摩擦系数,车身角度,车速,车轮半径,位置x,位置y
properties
body_width;
body_lenth;
body_weight;
friction_coefficient;
body_angle;
body_speed;
wheel_radius;
body_location_x;
body_location_y;
friction;
end
methods
function obj = Body(body_widthbody_lenthbody_weightfriction_coefficient...
body_anglebody_speedwheel_radiusbody_location_xbody_location_y)
obj.body_width = body_width;
obj.body_lenth = body_lenth;
obj.body_weight = body_weight;
obj.friction_coefficient = friction_coefficient;
obj.body_angle = body_angle;
obj.body_speed = body_speed;
obj.wheel_radius = wheel_radius;
obj.body_location_x = body_location_x;
obj.body_location_y = body_location_y;
obj.friction = body_weight*9.8*friction_coefficient;
end
function next_speed = cal_speed(objtorque)
global dt;
driving_force = torque/obj.wheel_radius;
if(obj.body_speed == 0)
if(driving_force < obj.friction)
sum_force = 0;
else
sum_force = driving_force - obj.friction*(driving_force/abs(driving_force));
end
else
sum_force = driving_force - obj.friction*(obj.body_speed/abs(obj.body_speed));
end
acceleration = sum_force/obj.body_weight;
next_speed = obj.body_speed+acceleration*dt;
end
function [next_location_xnext_location_y] = cal_location(obj)
global dt;
next_location_x=obj.body_location_x+(obj.body_speed*dt)*cos(obj.body_angle);
next_location_y=obj.body_location_y+(obj.body_speed*dt)*sin(obj.body_angle);
end
function next_body_angle = cal_body_angle(objsteering_angle)
global dt;
if(steering_angle==0)
next_body_angle = obj.body_angle;
else
RL=abs(obj.body_lenth/sin(steering_angle));
R=sqrt(RL*RL+(obj.body_width/2)*(obj.body_width/2)-2*RL*obj.body_width/2*cos(abs(steering_angle)));
next_body_angle=obj.body_angle+(steering_angle/abs(steering_angle))*obj.body_speed*dt/R;
end
if(next_body_angle>=2*pi)
next_body_angle=next_body_angle-2*pi;
end
if(next_body_angle<0)
next_body_angle=2*pi+next_body_angle;
end
end
end
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2765 2020-03-09 00:21 Body.m
文件 2788 2020-03-23 23:59 Camera.m
文件 986 2020-03-24 00:15 Chip.m
文件 1691 2020-03-08 23:50 Motor.m
文件 980 2020-03-23 23:47 Steer.m
文件 576 2020-03-24 00:19 control.m
文件 599 2020-03-15 23:50 creat_map.m
文件 628 2020-03-15 23:48 creat_track.m
文件 895 2020-03-24 00:09 main.m
文件 264372 2020-03-16 00:00 map.mat
文件 2297 2020-03-24 00:18 test.m
- 上一篇:光伏阵列matlab仿真
- 下一篇:非对称限幅正交频分复用matlab实现
相关资源
- 光伏阵列matlab仿真
- 基于MATLAB 的三项桥式全控整流电路仿
- matlab的逆变电路仿真
- 基于LCL滤波器的光伏逆变器系统simu
-
xiazaide.mdl该模型是simuli
nk 中蓄电池 - 转速负反馈有静差直流调速系统仿真
-
SVPWM模型的simuli
nk仿真 - 基于matlab的电力拖动自动控制系统F
- Matlab应用技术 在电气工程与自动化专
-
TCM网格编码调制的simuli
nk仿真 - 永磁同步电动机转速电流双闭环调速
- Spwm变频调速283895
-
三相全控桥式整流电路simuli
nk仿真 -
高压直流输电simuli
nk仿真模型 - OFDM系统16QAM仿真
-
boost单电压换闭环仿真Simuli
nk.slx -
boost simuli
nk 仿真 - SIRP和ZMNL杂波仿真matlab程序
- OFDM仿真的星座图
- matlab仿真MAC
-
ADRC的SIMUli
nk仿真模型 - Matlab仿真CV、CA、CT三种运动模型的轨
- 迈克尔逊实验matlab仿真
- 基于MATLAB仿真的LEACH协议代码
-
汽车防抱死制动系统Simuli
nk建模仿真 -
无位置传感器无刷直流电机SIMUli
n - CLEAN算法详解与matlab仿真
- 相机成像原理及matlab仿真程序
- APF和SVG的联合仿真
-
光伏并网得simuli
nk仿真
评论
共有 条评论