资源简介
对比原板的将代码规范化了,将各个部件之间进行分类再拼接.使用方法与之前一样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仿真文件+实验报告
- 串行级联cpm系统MATLAB仿真
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 阵列天线的matlab仿真
- 天线阵的波束形成在MATLAB仿真程序及
- OFDM系统MATLAB仿真代码
- 用matlab实现的多站定位系统性能仿真
- 用MATLAB(BPSK仿真 直接扩频)
- GPS卫星轨道动态仿真MATLAB
- CRC循环冗余校验的matlab仿真程序
- MATLAB实现混沌图像加密仿真程序
- (7,4)循环码-信道编码的matlab仿真
- Alamouti编码2X2仿真(MATLAB)
- 小波神经网络Matlab交通仿真程序
- qam 用matlab实现qam仿真的程序
- MATLAB六自由度弹道仿真程序
- MATLAB实现弹道仿真
- MIMO雷达DOA估计中的克拉美罗界计算
- Boost电路的MATLAB仿真
- 基于气动力的导弹姿态控制(附MATL
- 有源电力滤波器的Matlab仿真_高勇
- 3点GPS定位MATLAB仿真
- 全面详解LTE MATLAB建模、仿真与实现
- MATLAB车流仿真 包括跟驰、延误
- 一维光子晶体MATLAB仿真代码吸收率折
- Matlab锁相环仿真-Phase Locked Loop.rar
-
基于Simuli
nk的电动助力转向控制策略 - 基于MATLAB的OFDM系统仿真及分析
- MATLAB电机仿真精华50例源代码.zip
- 自适应均衡器的研究与仿真设计毕业
评论
共有 条评论