当前位置: 首页 > article >正文

viple模拟器使用(三):unity模拟器中实现沿右墙迷宫算法

沿右墙迷宫算法原理

  1. 默认直行;
  2. 右侧有路,则右转;
  3. 前方无路,则左转。

由于unity模拟器中使用机器人移动动力控制和机器人转动角度控制来实现控制机器人前进、后退、暂停、左转、右转 。

程序编写

主机以及配置

通过内建事件初始化机器人运行(机器人+移动-动力控制的参数为0.5)

右侧有路,则右转(右方的距离传感器端口号为1)

如果想要快速找到适合的参数,可以在距离传感器的后面增加一个行打印,这样,可以将传感器的测量值打印出来,辅助找合适的参数。只需要测量值大于设定值,就可以让机器人识别到右侧有路,从而往右转。同样的道理,机器人刚出来就转弯,效果不好,也就是说,不希望机器人刚运行就转弯,所以,只需要破坏右转条件即可,由于测量值是来自于传感器,不能修改,只能读取,所以只能修改设定值(将设定值改大一些,例如:10(测量值)>3(设定值)成立,测量值不变,要使得条件不成立,就要把3改大一些,比如:改到11,条件就不成立了。如果将3改小,就会一直成立)。

前方无路,则左转(前方的距离传感器端口号为2)

注意:前方无路则左转,这是因为:右侧有路就右转了,所以,使用到前侧传感器,说明,右侧一定没有路了。

由于传感器没有输入流,所以,两端程序怎么排列都可以,不影响。

建议:写程序的时候,先写前方无路则左转,这是因为:模拟器中机器人的位置在左侧底部,机器人要前进一段距离,才满足右侧右路,然后观察是否有右转行为。

编写注意事项:

  • 前方无路则左转,左转完成后,继续直行。
  • 右侧有路则右转,右转后,需要直行一段距离,从而使得机器人能识别到右侧有障碍物,从而使用前侧传感器测量,前方有路,从而直行。

效果

unity模拟器沿右墙迷宫算法


http://www.kler.cn/news/150061.html

相关文章:

  • C/C++ Zlib实现文件压缩与解压
  • 集合的使用
  • leetcode:随机链表的复制
  • 【Python】获取ip
  • NTT 的各类优化:Harvey、PtNTT,Intel AVX2、ARM Neon、GPGPU
  • oracle的sysaux使用量排查sql
  • 【ChatGLM3-6B】Docker下部署及微调
  • 6.golang函数
  • C语言变量和常量
  • Veras:Revit AI渲染插件
  • Mybatis 使用枚举作为查询条件
  • Linux:Ubuntu系统安装软件
  • 【Spring之事务底层源码解析,持续更新中~~~】
  • Elasticsearch:向量搜索 (kNN) 实施指南 - API 版
  • 使用Java给钉钉群发消息
  • 【小聆送书第一期】让架构师的成神之路温暖你这个不景气的冬天
  • GPTS-生成一个动漫图像GPT
  • 2023-简单点-picamera2中的取消auto focus,进行手动焦距设定
  • 算法通关村第十二关|青铜|字符串转换整数
  • 题目标题:卫星定位(胡宁静) 暴力解法
  • php如何对比浮点数大小(bccomp函数)
  • 代码的并发问题
  • ASCII sorting
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • RabbitMQ消息模型之发布订阅Publish-Subscribe
  • docker中安装mysql,远程连接
  • 基于docker的onlyoffice使用--运行JavaSpringExample
  • 你了解vue的diff算法吗?
  • go学习之文件操作与命令行参数
  • leetcode 283. 移动零