五年前我想通过计算机识别一瓶可乐并把它拿起来,并从工程角度来分析了可行性,一步步的去研究,找了很多资料和书籍,觉得自己的经验和学识都不够解决这些问题。于是我去自学了机器学习和深度学习课程,接触到了这个领域后,我的视野拓宽了,还结识了一些资深大佬,大佬们给我指明了研究方向。
作为现代计算机工程学的最大哲学就是,你不要重复造车轮,去找现成的方案,站在巨人的肩膀上解决问题。
识别可乐就是个目标检测问题,可以用yolov,或者自己训练模型去识别图片也行,总之问题不大。
可是把可乐拿起来,难度就大的多了,要做一个机器人,这个机器人的体积还不能小,上面要搭载多种传感器来分辨周围环境,还要有个机械臂,。
至少要分两步或者三步;
第一步要建立房间的地图,并遍历地图,这需要用到室内导航技术,就是SLAM技术。实现它可以用多种传感器,比如双摄像头,IMU传感器,激光或毫米波雷达,现成的开源项目ORB-SLAM3可以解决,目前很多扫地机器人都做了开源接口,改造一下可以实现。
摄像头拍摄的图像数据可以用于导航的同时也可以用于目标检测,
这样探索遍历地图并找到可乐就可以实现。
第二部,拿起可乐
机械臂的制作比较麻烦,机械臂的定位也是SLAM的一种,自主控制机械臂拿可乐更是难点。
机械臂最好还带力学反刍,不然能把可乐夹爆。
这块对我来说是新的领域,不过这块可以参考B站大神,华为天才少年稚晖君的开源机械臂项目,那个机械臂大小正好,精度超高,完全可以拿起可乐。
说到这里,回想五年前,当时的技术发展并不能完美的解决上文说的问题,现在条件终于都具备了,就是自主智能这块儿,还没啥好的解决方案。于是你会发现,做一个只会拿可乐的机器人完全没有问题,但是吧,随后你会发现这玩意成本超高的,大概各种传感器和原件加一起有个五六万块钱甚至更多,还要花大把时间,然后吧特么的这玩意只会拿可乐,果然是个笨蛋,而且还是个昂贵的笨蛋。