虚拟机器人(巡线竞速)
前段时间搞了几天的虚拟机器人比赛,略有心得,分享一下(“不知道”什么原因,我没找到什么这方面的教程,所以抛砖引玉一下)。这是个什么东东呢?就是一个在赛道上有一些交通标识和突发事件,例如:红绿黄灯,靠边减速通行,靠边等待灯等,就是上路能遇到的一些简单情况。之前DIY过平衡车,然后还没做完就被拿走了,再也没回来……所以这个项目看起来并不难,而且使用的是“积木”“编程”,首先学了一下怎么积木编程,恕我愚昧,搞了好几个小时差点把软件给拆了才略懂一二。毕竟是第一次指导学生参加,而且时间紧迫,那就现学现卖(基于只有AI视觉模块,它提供了距离左侧马路牙子、右侧马路牙子、前两者之差、交通标志的识别结果)。先放个图好让大家决定是不是有看下去的必要:
一、要处理的内容
1、直行:这个东西也不是有手就行,保持路中央行走容易,但各种弯道、转弯之后怎么瞄准呢?总不能对路大喊一声:你别动!
2、转弯:这个东西有手就行,差速么,差多少,差多久呢……
3、交通标志、事件:这个挺烦人的,AI识别结果很远就能看见,但是减速、停止等不是看到马上就执行的,还需要往前走一块,有些情况需要按时间。
既然是竞速么,那么从设计之初自然是按照100%的速度设计;看了一眼评分标准,完成任务更重要,好多时间才1分,但本着大家都是高手的假想,只能硬着头皮让速度更快一些。
二、模式定位
这个巡线,说起来非常简单,包括官网的教程,就根据左右偏差调整速度就能行。我不想说low,但这鲁棒性有点差,虽然为了学生能快速记住模板,精简了非常多的处理,但鲁棒性也一定比直接处理好,代码也比直接处理少。
1、PID:说的挺吓人的,其实这个东西用不上PID,甚至D都给省了,只剩下P——和直接差速一样?不一样的,写成函数可以随便靠哪个边不是吗?
2、道路识别:总的来说就四种情况——无岔路、左岔路、右岔路、左右岔路。但是这需要读AI,然后判断,开始写了个低通滤波,哎我去,最后去了——还不如不滤。
3、具体转弯控制:最后发现这个还是必要的,前面已经说了,这玩意不是看见灯或者事件就马上执行的,而且有些减速它不是直道。
三、核心函数
虽然这个软件的数组(这么叫可能不太合适,积木块是用python显示的代码结果——而且也是不能直接写代码出来积木的- -!!!)不能用,但函数还是没问题的。所以构建一些函数然后让学生记住就可以了:
1、PID:按给定的最高速度、偏差对小车进行PID控制以保障其沿着道路前进。
2、道路状态:如上所述,只需要设置一个全局变量(函数不允许返回值,差评!)记录判定结果:左=1、右=2、左右=3。
3、转弯控制:PIDByTime;按时间100%速度前进然后差速一定时间之类的。本来打算写一个函数计算一下它这个车到底走了多少,不过建模之后发现,呵呵吧,这玩意写完了根本不用打算学生能记住。
说起来没多少,但实际上真的用了好几天才把这些积木和K值确定下来,给自己找的理由是拖拽积木太不顺手了^ ^。但是有了核心代码,上面这图也就用二三十块块积木就完成了。多数路口太单纯,一个PID过去走好远都不用管的,但是侧方等待就很烦,需要四五行积木才能完成。
就这,这篇就是这么水,希望下星期比赛学生们不要弄得太难看。
虚拟机器人(巡线竞速)相关推荐
- 机器人巡线学习报告-60分模板-Webots-
机器人导航答辩记录半成品-60分模板- 学习报告侧重学习流程. 比如当需要独立或合作完成一个项目的时候,首先需要清晰明确项目的基本需求和应用场景. 将项目进行分解,并对每个时间点需要完成的任务进行细化 ...
- 三轮机器人巡线程序_亮宁机器人巡线、测试综合程序分析
本程序包括三项功能:巡线,测光值和测试电机连线是否正确. 一个程序中书写多项功能函数,需要使用哪个就屏蔽暂时不用的函数.具体分析看程序中的注释语句. 整个程序运用于轨迹赛已足够! #include i ...
- mbot机器人巡线程序_mbot app-mbot机器人手机控制app1.1.7 官方安卓客户端-东坡下载...
mBot是一款智能教育机器人,这里东坡小编就给大家带来mbot机器人手机控制app,通过手机蓝牙就可以控制mBot机器人,自动寻线.超声波避障.鸣笛,需要的朋友快来下载吧. mbot机器人手机控制ap ...
- ev3双光感巡线原理_乐高机器人巡线原理
一. 冃 U 言 在机器人竞赛中,"巡线"特指让机器人沿着场地中一条固定线路(通常是黑线)行 进的任 务.作为一项搭建和编程的基本功,巡线既可以是独立的常规赛比赛项目,也能成 为其 ...
- 差速巡线机器人设计-及格(60+)的报告-2023
实践项目名称:差速巡线机器人设计 实验目的 基于差速机器人底盘和传感器,使用微处理器编程实现机器人快速巡线行驶. 差速巡线机器人设计实验的目的是为了探索差速驱动技术在机器人巡线中的应用.通过设计和制作 ...
- 机器人编程按时巡线_ros机器人编程实践(12.2)- 用turtlebot仿真巡线机器人
前言 巡线设计 用自定义的图片设计gazebo的地板 首先我们需要设计一个gazebo的地板,这里感谢前辈的回答:参考问答 第一步:在home目录下ctrl+h显示隐藏文件 第二步:在.gazebo文 ...
- 蓝桥ROS-差速巡线机器人设计-良好(80+)的报告-复现
#勤写标兵挑战赛# 参考资料: 蓝桥ROS机器人之v-rep_pro_edu_v3_6_2 差速巡线机器人设计-良好(80+)的报告-2023 这个案例全部在ROS云课中完成. 第一步:安装v-rep ...
- 差速巡线机器人设计-良好(80+)的报告-2023
如何提分?将一篇报告提升20分以上呢? 差速巡线机器人设计-及格(60+)的报告-2023_zhangrelay的博客-CSDN博客 姓名: 学号: 实践项目1名称:差速巡线机器人设计 60分:缺乏思 ...
- pid巡线算法程序_技术分享——从单个到多个颜色传感器巡线原理解析
巡线竞速是常见的机器人比赛项目,它对速度和精准度要求都比较高.该项目大多要求现场进行结构搭建,并且赛前只提供培训参考地图,比赛使用的地图和巡线任务一般是现场才进行公布,对于参赛选手的能力要求较高. 巡 ...
- openmv 飞机巡线
2017.8.7.11.03 参考Open*V机器人巡线例程,find_line例程,进行了简单修改.做成了飞机巡线. 希望同各位大佬一起学习一起讨论
最新文章
- suse的安装命令zypper,类似apt
- win10系统下安装Navicat for MySql 连接出现错误解决方法
- python3 split()函数
- Spring注解开发-初始化/销毁方法注解
- PHP的mysqli操作DB
- 动态规划--凸多边形最优三角剖分
- php做一个网页的源代码,用HTML5做一个个人网站此文仅展示个人主页界面。内附源代码下载地址...
- K2评分方法理解实例
- php 设置页面内容具有缓存性,php header()设置页面Cache缓存
- android 显示文章内容,在Android中,RecyclerView在重新创建后没有显示任何内容
- lda新闻主题提取_LDA主题模型 | 原理详解与代码实战
- 域名注册、域名实名认证、域名解析流程详解
- ROS2教程(入门级):记录和回播数据
- opc服务器是硬件吗,opc是什么(一文彻底搞懂什么是OPC)
- 怎样控制键盘按键自动填写网页表单
- UITextField默认输入法不是简体拼音的问题的解决方法
- RabbitMQ 网页端控制台开启方式
- 消息中间件原理及JMS简介(2)
- c开源hash项目 uthash的用法总结
- Python实战|js逆向steam社区