由于老师要求不用实现太复杂,自己也没花太多时间,就简单模拟小车(刚体)撞墙自动转弯,效果如下:

核心代码如下,还有几个是前后左右转动的子代码。

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做一个刚体运动仿真,模拟小车避障相关推荐

  1. 用MATLAB做一个单摆运动的动画

    用MATLAB做一个单摆运动的动画 MATLAB与单摆运动 MATLAB在机械机构分析和数值理论计算中中应用广泛.倒立摆系统的设计与弹簧振子设计类似,本文将利用MATLAB脚本建立单摆运动的动画演示. ...

  2. 【天文】基于matlab实现GPS卫星运动仿真附matlab代码

    1 内容介绍 基于matlab实现GPS卫星运动仿真 2 部分代码 %time是个时间参数利用它可以画出一个看起来旋转的地球 function DrawEarth(time) r=6400; j1=[ ...

  3. 【机械仿真】基于matlab GUI曲柄摇杆机构运动仿真【含Matlab源码 1608期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[机械仿真]基于matlab GUI曲柄摇杆机构运动仿真[含Matlab源码 1608期] 点击上面蓝色字体,直接付费下载,即可. 获取代码 ...

  4. 树莓派+二自由度云台制作智能小车(三)——小车运动+简单的自动避障

    配合传感器实现小车运动+自动避障 小车与避障原理 一.小车运动模块 二.避障原理 三.实现 (1)将传感器整合. (2)小车的运动代码 小车与避障原理 一.小车运动模块 小车主要是分为动力模块和控制模 ...

  5. vrep小车避障算法_V-REP 小车建模

    任务概要参考文档中 Tutorial – BubbleRob Tutorial 部分,学习:车身与轮子物理引擎的设计 动力学模型等参数的设置 传感器的添加与使用 驱动关节的设计与控制 控制脚本的编写 ...

  6. WeMos下实现小车避障与手机控制

    参考:WeMos下实现小车避障与手机控制 作者:爱学习的小王呀 发布时间:2020-10-02 10:17:45 网址:https://blog.csdn.net/hongliwong/article ...

  7. 【Matlab路径规划】改进的遗传算法机器人避障路径规划【含GUI源码 703期】

    一.代码运行视频(哔哩哔哩) [Matlab路径规划]改进的遗传算法机器人避障路径规划[含GUI源码 703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  8. STC单片机实现智能小车避障功能的C语言例程

    使用STC单片机实现智能小车避障功能的C语言例程: #include <reg52.h>// 定义GPIO口映射宏,需根据具体型号和连接方式进行修改 #define MOTOR_LEFT_ ...

  9. imwrite函数 matlab_用matlab做一个脉动磁势分解的动画

    :::::在知乎上看到别人用matlab做动画就想学学,正好电机学讲到绕组磁势,那就做一个脉动磁势分解成两个旋转磁势来练练手,同时保存为了avi和gif clear all; outputVideo ...

最新文章

  1. 杂志大片:摩登都市 爱之城堡
  2. 面试题6:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList
  3. java 舍,java 4舍六入五成双
  4. JavaScript--我所理解的原型链
  5. 首次亮相!法拉第未来公布FF 91内饰图:贾跃亭心血没白费
  6. linux的虚拟内存是4G,而每个进程都有自己独立的4G内存空间,怎么理解?
  7. CMU 15-213 Introduction to Computer Systems学习笔记(11) Cache Memories
  8. 【原创】我的辞职申请(2005-10-27)
  9. Linux驱动开发|音频驱动
  10. Java框架面试题及答案
  11. 解决华为手机、平板系统没有录屏、不能分享录屏的问题
  12. 最强烈推荐-我的java收藏夹(内有国内最好的java论坛)
  13. MPP 与 Hadoop是什么关系?
  14. Python3.6 新特性f-string
  15. async/await面试题
  16. OpenGL超级宝典(第7版)笔记20 统一变量 一致区块 uniform相关内容 清单5.9-5.28
  17. Java程序员如何不断提高自己的专业技能
  18. 【Rhapsody学习笔记(一)】OrionHealth-Rhapsody的组成及常用过滤器
  19. ESLint: Unexpected token } in JSON at position 3792. Please see the ‘ESLint‘ output channel for deta
  20. tensorflow 中 fully_connected

热门文章

  1. 使用JAVA程序片段动态生成表格
  2. IMPERVA-WAF 硬盘更换
  3. AES加密解密SHA1、SHA加密MD5加密
  4. 微信电商小程序开发有什么好处呢
  5. 【算法学习笔记】64. 枚举法 SJTU OJ 1381 畅畅的牙签
  6. 给孩子简单快乐的童年
  7. HGAME2020第一周杂项题——克苏鲁神话
  8. CentOS 7 安装好后,无法使用小键盘的解决办法
  9. 苹果删除照片不释放内存_手机内存不足又卡顿,别瞎清理,删除这些文件夹,轻松释放几个G!...
  10. 上市公司融资需要哪些条件