Matlab做一个刚体运动仿真,模拟小车避障
由于老师要求不用实现太复杂,自己也没花太多时间,就简单模拟小车(刚体)撞墙自动转弯,效果如下:
核心代码如下,还有几个是前后左右转动的子代码。
clear all;
clc;
close all;
%构造刚体
x=[0 10 -10 0 0];y=[10 -10 -10 10 0];fill(x,y,'b')hold on;%画布大小axis([-200,200,-200,200])g=[x;y];%规定运行区域center_x = -150;center_y = -150;center_width = 300;center_high = 300;rectangle('Position',[center_x,center_y,center_high,center_width],'Curvature', [0 0], 'edgecolor','r')right_flag = 0;left_flag = 0;go_up =1;go_flag = 1;go_down =0;for i = 0:1:500if(go_up == 1)g = go_ahead(g,0,1);pause(0.05);fill(g(1,:),g(2,:),'b');end;if(go_down == 1)g = go_ahead(g,0,-1);pause(0.05);fill(g(1,:),g(2,:),'b'); end;if(left_flag == 1)g = go_ahead(g,-1,0);pause(0.05);fill(g(1,:),g(2,:),'b');end;if(right_flag == 1)g = go_ahead(g,1,0);pause(0.05);fill(g(1,:),g(2,:),'b'); end;%向上走碰到边界左转if((go_up == 1) && (150 - g(2,5))<11)g = left(g);left_flag = 1;go_down =0;right_flag = 0;go_up = 0;end;%向左走碰到边界左转,向下走if((left_flag == 1) && (150-g(2,5))<11 && (g(1,5)+150)<11)g = left(g);left_flag = 0;go_down =1;right_flag = 0;go_up = 0;end;%向下走碰到边界左转,向右走if((go_down == 1) && (g(2,5)+150)<11 && (g(1,5)+150)<11)g = left(g);left_flag = 0;go_down =0;right_flag = 1;go_up = 0;end;%向右走碰到边界左转,向上走if((right_flag == 1) && (g(2,5)+150)<11 && (150-g(1,5))<11)g = left(g);left_flag = 0;go_down =0;right_flag = 0;go_up = 1;end;end;
Matlab做一个刚体运动仿真,模拟小车避障相关推荐
- 用MATLAB做一个单摆运动的动画
用MATLAB做一个单摆运动的动画 MATLAB与单摆运动 MATLAB在机械机构分析和数值理论计算中中应用广泛.倒立摆系统的设计与弹簧振子设计类似,本文将利用MATLAB脚本建立单摆运动的动画演示. ...
- 【天文】基于matlab实现GPS卫星运动仿真附matlab代码
1 内容介绍 基于matlab实现GPS卫星运动仿真 2 部分代码 %time是个时间参数利用它可以画出一个看起来旋转的地球 function DrawEarth(time) r=6400; j1=[ ...
- 【机械仿真】基于matlab GUI曲柄摇杆机构运动仿真【含Matlab源码 1608期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[机械仿真]基于matlab GUI曲柄摇杆机构运动仿真[含Matlab源码 1608期] 点击上面蓝色字体,直接付费下载,即可. 获取代码 ...
- 树莓派+二自由度云台制作智能小车(三)——小车运动+简单的自动避障
配合传感器实现小车运动+自动避障 小车与避障原理 一.小车运动模块 二.避障原理 三.实现 (1)将传感器整合. (2)小车的运动代码 小车与避障原理 一.小车运动模块 小车主要是分为动力模块和控制模 ...
- vrep小车避障算法_V-REP 小车建模
任务概要参考文档中 Tutorial – BubbleRob Tutorial 部分,学习:车身与轮子物理引擎的设计 动力学模型等参数的设置 传感器的添加与使用 驱动关节的设计与控制 控制脚本的编写 ...
- WeMos下实现小车避障与手机控制
参考:WeMos下实现小车避障与手机控制 作者:爱学习的小王呀 发布时间:2020-10-02 10:17:45 网址:https://blog.csdn.net/hongliwong/article ...
- 【Matlab路径规划】改进的遗传算法机器人避障路径规划【含GUI源码 703期】
一.代码运行视频(哔哩哔哩) [Matlab路径规划]改进的遗传算法机器人避障路径规划[含GUI源码 703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...
- STC单片机实现智能小车避障功能的C语言例程
使用STC单片机实现智能小车避障功能的C语言例程: #include <reg52.h>// 定义GPIO口映射宏,需根据具体型号和连接方式进行修改 #define MOTOR_LEFT_ ...
- imwrite函数 matlab_用matlab做一个脉动磁势分解的动画
:::::在知乎上看到别人用matlab做动画就想学学,正好电机学讲到绕组磁势,那就做一个脉动磁势分解成两个旋转磁势来练练手,同时保存为了avi和gif clear all; outputVideo ...
最新文章
- 杂志大片:摩登都市 爱之城堡
- 面试题6:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList
- java 舍,java 4舍六入五成双
- JavaScript--我所理解的原型链
- 首次亮相!法拉第未来公布FF 91内饰图:贾跃亭心血没白费
- linux的虚拟内存是4G,而每个进程都有自己独立的4G内存空间,怎么理解?
- CMU 15-213 Introduction to Computer Systems学习笔记(11) Cache Memories
- 【原创】我的辞职申请(2005-10-27)
- Linux驱动开发|音频驱动
- Java框架面试题及答案
- 解决华为手机、平板系统没有录屏、不能分享录屏的问题
- 最强烈推荐-我的java收藏夹(内有国内最好的java论坛)
- MPP 与 Hadoop是什么关系?
- Python3.6 新特性f-string
- async/await面试题
- OpenGL超级宝典(第7版)笔记20 统一变量 一致区块 uniform相关内容 清单5.9-5.28
- Java程序员如何不断提高自己的专业技能
- 【Rhapsody学习笔记(一)】OrionHealth-Rhapsody的组成及常用过滤器
- ESLint: Unexpected token } in JSON at position 3792. Please see the ‘ESLint‘ output channel for deta
- tensorflow 中 fully_connected