小学生机器人编程如何入门?

对于工程领域来说,学而不练是肤浅的,尤其是对于控制这种强调经验的技术。你问一个程序员怎么学一门技术,他肯定会让你多编程。机器人领域也是如此。如果你想打下坚实的基础,那么练习就更是必不可少。

对于普通学生,测试一个合适的机器人平台+入门级的控制算法。同时,深入学习相应的理论知识。对于一个有控制基础,现在需要学习的工人来说,啃一本《现代控制工程》之类的书,在工人中实践。以下平台内容直接跳过。关于平台的选择和相应的学习教程,我放在最后,防止大图分散重点。

先说用机器人控制。对于设计任何控制系统,你需要知道你自己的输入、输出、控制元素和算法。在简单的机器人系统中,相应的原件是:

输入传感器(声纳、红外线、摄像机、陀螺仪、加速度计、指南针)

控制元件-电机

控制算法-控制面板(从单片机到微机)

输出-你的控制目标(如机器人路径跟踪)

了解了这四个方面,基本上就可以对机器人控制有一个比较感性的认识了。这是入门的基础。如果你做一个输入和输出的测量,比如用电机把一个轮子的转速从10加速到100,把这个测量勾画出来,那么这个响应曲线。如何准确快速地将电机从10加速到100,需要一个简单的反馈控制器。

上面提到的传感器元件都有便宜的版本可以购买学习,但是随之而来的问题就是不准确,比如噪音。为了消除这种噪声,您需要在您的控制系统中引入更多的控制单元来消除这种噪声,例如添加滤波器单元。

说了上面这么多,只是想表达理论和算法都是有应用背景的,但同时学习一些暂时不能应用的算法,对入门没有帮助,甚至可能会走错门。我觉得越复杂越好。所有的工程应用都会说某某算法很好,但经典的是PID。如果不自己设计一个PID系统,恐怕真的体会不到它的魅力。我本科的控制课程包括自动控制理论和现代控制理论,但直到我设计了一架四旋翼无人机,才真正建立了自己对机器人控制的认识。

推荐书籍《现代控制工程》是一本非常经典的专业书籍,需要理论知识和细致的学习。我的建议是先玩,需要的时候再仔细研究这部分理论。

-

推荐一些机器人平台。核心涉及运动控制。

基于arduino的机器人平台是最受欢迎的平台,这是一个开源社区。机器人的很多简单设计和控制算法都可以在谷歌上获得。淘宝arduino机器人,包括arduino控制面板和各种简单的传感器,几百块钱就能搞定。

同时推荐Udacity上的机器人课程,也可以基于arduino完成。国外部分机器人课程以乐高Mindstorm为实验平台(略有本土化版本)。乐高有红外、声纳、陀螺仪等传感器,电机也可以实现闭环控制。

伦敦帝国理工学院的机器人课程是基于乐高的,安德鲁·戴维森课件中的所有理论都可以通过《乐高:机器人课程》来实现。如果你厌倦了这一切,你可以尝试玩一个机器人飞控,比如四旋翼。飞机是六自由度控制的,所以比汽车更有挑战性,需要更精确的控制系统。下面是我之前的四旋翼DIY,基于arduino MultiWii。还是淘宝四旋翼飞行器。

MultiWii是基于arduino的开源飞控平台,所有C代码都有,不超过一两万行。如果你把这些都研究透彻,已经是专业水平了。

我希望采用我从上述机器人中所看到的。谢谢你。