自动驾驶入门练习指南

本文介绍了自动驾驶入门的学习路径,从改装四驱车开始,涉及硬件改造如PWM控制、步进电机,以及软件部分的数学模型和控制算法。通过建立四驱车模型,学习如何控制速度、转弯,并利用简单的传感器收集路况信息。在软件方面,探讨了建立转弯数学模型、图像处理和PID控制算法的基础应用,为后续深入学习自动驾驶技术奠定基础。

10年前还是学校机房学生管理员的时候,带着大家把智能车竞赛的实验室从0搭起来了,搭完电路写完基础算法就跑去当交换生了,也算是陪伴了童鞋们一个暑假,参加竞赛还是交给后生力量吧;而同时火起来的新一代人工智能也把自动驾驶推向接近实用。那么如何掌握自动驾驶的入门知识呢?市面上给出的框架都很大,比如练习控制算法,比如机器学习;但是这些要么笼统模糊,要么都是人工智能大后期的内容了; 在这里我们还是希望能画出一个平滑的学习曲线,抛砖引玉,给出一些在这个领域入门的成长思路和经验。

自动驾驶的入门内容大纲

思考一下自动驾驶需要学习的内容:

  • 首先自动驾驶的目标应该是驾驶汽车,但是汽车的复杂程度还是比较高的;而且自动驾驶是关乎生命的项目,人坐在里面,还是需要很多安全考量的。为了完成初学入门,我们可以降低一下要求,比如把目标设为自动驾驶四驱车。四驱车大家可能有些人小时候玩过,两节电池一个马达带动齿轮转动就能自己跑了,其实那不就已经是一种自动驾驶了么?是呀,只是它之单纯向前行驶并且开始和结束需要手动去打开开关和强制脱离跑道。也就是说我们要动手组装一下四驱车,并且能够将它改装成可控的四驱车,这是硬件部分。
  • 第二就是软件部分,如何去控制车的行动。这里当然是要动手去查资料或者打草稿去建立一个有效的四驱车运动的物理模型,然后根据这个模型再设计相应的控制算法。假设我们只有高中毕业的知识,我觉那就够了,高等数学里大部分都是用新的符号将一些现象极度压缩成精炼的表示,其实是一种数据压缩;当放到计算机里,要进行数值分析的时候,还是得拆解成高中甚初中至小学的算式给计算机进行处理;比如以前有幸参与过高铁铁路设计辅助软件的编写,和铁路部门的工程师沟通交流,他们就是建立模型,然后将模型简化,一堆堆泰勒展开还是很酸爽的。

我们下面就是要动手从硬件和软件两部分完成这样的工程。

硬件:改装四驱车

四驱车有一个马达,接电后,电机转动带动齿轮,车轮在地面上向前带动整体向前移动。
在这里插入图片描述
有了四驱车这个模型,我们就从它作为切入点,看看改装需要什么。

  • 为了能控制四驱车的速度,我们首先要提到一个叫PWM的东西——脉冲宽度调制。四驱车开关一开连上电路,马达在电压电流驱动下100%的时间都在转动,基本就是最大速度往前冲。为了能控制速度,我们需要让它能在(0, max)范围内甚至(-max, max)调节。通俗易懂得说,也就是在一个窗口时间比如在一秒钟内马达本来100%接在电路上,现在我们控制它90%连着电路10%断开,这样平稳后车速就可以保持在0.9max。另一个角度来说PWM,就相当于你写了一个死循环占用一个CPU100%的使用,你在死循环里加了sleep
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值