SLAM 导航小车的持续研究

     1532620977586210.png

    对于智能硬件的研究,在2014年的时候就开始投入了,也不知道是为啥,无论为了前景还是兴趣,作为前端工程师的我,好像跟这个硬件关系不大,纯粹就是觉得好玩。对那些比如四轴飞机,固定翼飞机,机器人等等非常好奇,好奇他们是怎么做到的,可能对于机械自动化专业的人觉得挺简单的,我自己也开始折腾的生涯。

     对于网上一大把的智能小车,手机蓝牙控制的,几年前已经玩过了,手机控制小车,51单片机,蓝牙模块与用过了,觉得51单片机太难入门,于是换成了树莓派。

     之后参加了一场黑客马拉松,认识了一些懂硬件的小伙伴,认识了arduino,于是把arduino和树莓派都装到了小车上。

     后来有一段时间迷上了固定翼飞机(FPV),买了一个遥控器和电池回来,后来一个电机,装上。有一次电机失控,螺旋桨直接飞了出来,幸好当时没人在附近,但是由于太危险了,就放弃玩这个了。

     后来发现,蓝牙控制小车距离太短,而且感觉有点low,于是我把买给飞机用的遥控器和电池组都移植到了小车上,这样我的遥控车就有了超长距离的遥控(几公里吧),和十足的动力(900元的4S电池)。

     有了超远距离的实时控制还不够,其实我还需要想,能不能在公司,就能控制家里的小车,这其实是一件非常非常难的事情。wifi是有延迟的,稍微一点的网络延迟几百毫秒,车子就撞墙了,信号就丢了,再加上上面有实时摄像头图像传输,那一定会更加慢了。这都是经过我实际躺坑总结出来的经验。

     于是乎,我在想,与其实时控制,那还不如实时定位。先画出一副家里的地图,鼠标点到哪里,车子就自动走到哪里,像玩梦幻西游,点击NPC就会自动走路过去的效果。于是乎。。。这里涉及到的问题,太多太深奥了。

      第一步,要先画出一副家里的地图(这就是这篇文章要探讨内容)

      第二步,让机器识别当前位置是在地图的哪一个位置

      第三步,鼠标点一下地图,用算法自动导航到指定坐标。

      第四步,没电了,是不是应该会自动充电?

      第五步,是不是能够自动跟随某个东西,比如人,宠物?

      第六步,是不是给它整一个机械臂,做一些简单的拿拖鞋之类的事情?

      哈哈,太多了,其中设计到的硬件知识,电子知识,机械知识,软件知识,图像处理,人工智能。而且。。还要花很多钱买设备。以后的事情以后再考虑吧。眼前我只能先踏出第一步。

      好了,故事说到这里,下面是干货。

继续阅读

arduino 学习笔记

开源硬件有两大派,其一是树莓派,这个东西适合做运算比较大的功能。。。简单的说这个微型电脑不适合用来做产品demo,毕竟CPU:700 MHz, ARM11 内存:512M对于控制一些电路和传感器有点大材小用。
arduino 可以说是一款单片机,开源的单片机,耗能小,体积小,适合做产品原形。
 
arduino的语法很简单(对于一个学过2-3门语言的程序员来讲)。
 
基本是按照这个框架,这跟unity3d的脚本挺像的。 继续阅读

从零开始做一架智能小车

故事上这样开始的…….由于我在深圳工作,家在广州,回家陪家里人的机会就少,总有一种想法,做一部带摄像头的wifi遥控车,在深圳也可以看到陪着老妈子做饭。
出于个人的兴趣爱好(就是爱瞎折腾),上年开始就又打算了解一下硬件相关知识,由于半路入行,走了很多弯路,期间心酸值得回味。。。就先记录一下我这部小车子的整个制作过程。
在淘宝上搜索了一些关于智能小车的店铺,找到了一个比较便宜的小车套件,教程说明相对比较完善,就拿下了。
淘宝地址是 http://item.taobao.com/item.htm?spm=a1z09.2.9.71.Fg16EI&id=15891886317
这个小车相对功能比较多(寻迹,超声波避障,红外避障,蓝牙遥控,红外遥控,但其实对我来说都说用来学习传感器的使用,其实真正的用处不大)是用51单片机控制的。刚刚开始上手拼接起来有点难度,需要反复的对照电路图。这个只要稍微有点耐心应该能做得出来的,因为都有教程。成品如下: 继续阅读