第二届跨校大学生双创训练营任务方案开源3——方案思考过程

背景:第二届跨校大学生双创训练营任务方案开源1——任务介绍

代码结果:第二届跨校大学生双创训练营任务方案开源2——寻迹避障代码介绍

思考过程:第二届跨校大学生双创训练营任务方案开源3——方案思考过程

思考过程:第二届跨校大学生双创训练营任务方案开源4——代码思考过程(超声波避障+红外寻迹)

        应该很少有人分析为什么代码这样写?代码换个方式写会怎么样?为什么要设定这个方案?写代码的时候就一定一帆风顺吗?感觉这些思考方式才是我们更需要了解知道的,所以特别设定一个章节写清楚整个方案的制定到代码编写时的思考流程。

方案思考过程

        前提:小车套件已确定,大概如下图所示。控制板也是套件,可以很方便的安装社区系统所提供的传感器 。代码也是套件提供的,有简单的寻迹、超声波避障、红外避障程序。

         目标:能走完如下的地图即可,地图说明请看第二届跨校大学生双创训练营任务方案开源1——任务介绍

         思考重点:因为寻迹代码有,都不需要怎么修改,只要稍微改一下,能判断是否进入避障区域,是否离开避障区域就行,盲猜比较简单(后来发现也很麻烦)。所以重点在避障这块。

        避障方案:避障有两种传感器,超声波和红外。超声波的优点是能检测出距离,红外的优点是代码简单。这里选用超声波模块有几个原因。

        1、代码底层都有,直接调用函数就能读出距离,所以两种模块代码都很简单。

        2、可以看下图“封锁线”的避障区域,小车运行的轨迹如绿色箭头所示,而画绿色框框的地方是凹进去的,当走到这里时障碍物离的很远其实就可以转弯了,而其他地方没有这种凹进去的障碍物,所以障碍物可以离的近一点再转弯。这种情况下我们就要能把距离测出来了。

         3、因为套件提供了用舵机云台避障的代码,即前面遇到障碍物以后,舵机云台左右看看是否有障碍物,然后再决定往左拐还是往右拐。用这套程序好像就能直接走完所有的避障地图,然而我只能说并不是那么简单呀(T▽T)

 /************************************************************************************************************

       让我们来简单分析一下,为什么不能用舵机云台避障代码搞定所有。

        1、不可能有一套算法能搞定所有情况,一套算法只能搞定某种特定的情况,即不可能一套算法能走完所有地图,除非这个算法贼强大( ̄ω ̄;)

        2、我们还是从第一个避障地图“封锁线”开始分析,第一个地图都走不出去还想走剩下的?这里我们用圆圈来表示小车,当小车走到如下位置时,也就是第一个需要避障的路口时。

         我们再看下图所示的紫色线条,可以看出左边的线条明显比右边的线条短对吧,也就是说一边离障碍物更近,另一边离障碍物更远。那程序在检测到某一边的距离更长,另一边距离更短的时候,是往障碍物更近还是更远的地方走嘞?这个地方明显是往离障碍物更近的地方走。

         好的,我们再看下图中小车的现在这个位置,左边的距离还是比右边的短,而这次却要往距离更远的地方走了。(不要认为左边的距离可能是无限远,万一代码调的特别好,周围一圈人围在旁边看,那么测距的时候就会测到路人甲的脚脚,总不能写完一个代码,不能让周围有人观看吧o(`ω´*)o)

        好了,说了那么多意思就是,这个方案不太行,起码我想不到上述问题的解决方案(T▽T)

************************************************************************************************************/

         思来想去避障方案就是超声波避障,并且每个地图都有一个特定的程序,能知道遇到的每个障碍物都应该往哪个方向走。

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值