《机器人工程师学习计划》之大疆RoboMasters夏令营中篇

另一个积累是建一个自己的buglist,buglist包括什么呢,可以像冷大这样,在“做控制、机器人等算法工程师是怎样一种体验?大四到研究生之前的暑假,最好去一些比较不错的机器人公司实习一下,比如说大疆。大疆工程师教你如何成为一名机器人工程师(上)

大三

在大三开始的时候,你可以在学校的机器人团队中扮演重要角色,或者能够带领一个小团队参加小型机器人比赛。 你在系里甚至学院里已经有点名气了。 有些人可能会说你是一个伟大的人,而另一些人可能会认为你的技能很好。 但请务必记住,您当前的水平在其他地方不会有什么大不了的。 我每年都会去大疆的 RoboMasters 夏令营招收 100 名和你现在水平一样的学生。

《机器人工程师学习计划》之大疆RoboMasters夏令营中篇

编者按:RoboMasters夏令营是大疆创新为理工科学生和机器人爱好者量身定制的暑期科研活动。 自2013年开始举办,通过自主报名的方式,聚集了来自各大高校的百余名学生在大疆总部进行了为期一个月的项目培训。 香港科技大学教授及行业精英指导并分组。 最后,各小组分享了自己的研究结果并进行了验证。

大三学生必须培养独立搭建完整机器人的能力,例如 Robocon 级别的机器人、RoboMasters 坦克或四轴飞行器。

Robocon级机器人涉及大量的机械设计、单片机开发、电机驱动开发、码盘和超声波传感器读取、底盘运动学计算、PID调试、任务调度逻辑调试、舵机控制等。 RoboMasters坦克的机械部分比较简单,但还是需要云台控制、弹丸系统控制、动力控制等知识,另外,你也可以跳过这些部分,学习视觉识别和自动攻击,然后就可以开始了正在学习 OpenCV。

四轴飞行器的机械部分最简单,但算法比较复杂。 对于初级学生来说,从头开始写一个稳定的飞控是比较困难的,因为飞控中有很多小知识点需要注意。 目前我还没有找到更好的书籍推荐。 现有的一些关于四轴飞行器系统的书籍要么太浅(一开始教你如何焊接电路),要么太深(一开始教你状态估计)。 听说@Liu Top的exbot小组正在写教材,非常期待。 学习四轴飞行器有几个步骤:

步骤一:调整小型四轴飞行器并自行飞行

如今,开源社区的人们都坚持使用 pixhawk。 其实我觉得从学习的角度来说,pixhawk太贵了,不适合学习。 我推荐的是第七实验室淘宝店销售的STM32F405飞控。 购买后,您只需购买机架(如DJI F450)、接收器和遥控器即可,然后根据飞控板附带的学习材料和调试软件即可飞行。

第二步:看硬件图,读代码

Chiplab7的飞控板附带了很多学习资料,对加速度计、陀螺仪和磁力计进行了详细讲解,硬件链接图也非常详细。 Chiplab7的淘宝店主很认真负责。 我在学习使用的时候,如果发现代码有bug或者不懂的地方,可以直接问掌柜。

读完代码,一个飞控系统的基本模块就清楚了:姿态计算、控制计算、混合控制输出、遥控处理、嵌入式处理。 然而,有很多技术需要单独学习。 除了基础的嵌入式编程之外,我还需要学习大二、大三学过的信号处理知识。 由于飞机在空气中振动,加速度计会产生噪音。 为了消除这种噪声,需要对加速度计给出的信号进行低通滤波。 滤波器的参数如何选择? 如果滤波太严酷,延迟会比较大,影响控制的性能; 如果滤波过滤得不够,偶尔会出现一些低频噪声,使加速度计观测值无法使用。 另外,最重要的是理解姿态解和控制解这两块知识。 Chiplab7的飞控板的代码采用了最简单的互补滤波算法作为姿态解算模块,然后控制解算就是对欧拉角的三个角度进行闭环PID控制,基本上就是基础了。

第三步:小幅修改以加深理解

Chiplab7的飞行控制依靠气压计来确定高度,飞行效果非常奔放。 这时候可以在淘宝上买一个20元的超声波模块,然后自己写一个高度环,稳定飞控的高度性能。

我认为这个过程至关重要,因为高度控制是理解PID控制比较直观的方式,而且chiplab7的飞行控制加高度控制非常容易添加。 工作量并不大,而且由于提高效果非常显着,能够给人一种成就感,加深继续学习的乐趣。

第四步:理解核心数学和控制知识

大三的时候学习这部分肯定是来不及了,但是我还是把它列在这里,因为以后需要你慢慢的学习这部分知识,而且我会不断地不断地提到这些知识点。

姿态计算和控制计算涉及到的知识有:

1、刚体姿态、运动学方程和动力学方程的表示。 主要是对牛顿-欧拉方程、刚体姿态的欧拉角表示、姿态与角速度的关系等的认识和理解。

这部分既不复杂也不简单,我还没有找到一本完整的书来涵盖所有这些内容。 我在研究了几本不同的书籍和论文后发现了这一点。 现在看来维基百科是一个更可靠的起点。

2、自动控制原理。 关于PID的书籍和文章很多,但复杂的书不多。

3.线性估计的基本原理。 事实上,它是互补滤波:Reading a IMU Without Kalman: The Complementary Filter。 您可以通过多种方式在百度上搜索该关键字。

第五步:开始重新发明轮子

著名知乎网友vczh曾说过,要想在学习上取得进步,就要有发明轮子的勇气。 所以在熟悉了别人的飞控之后,就可以从头开始搭建一个飞控轮了。 可以从芯片开始重新画一块飞控板,阅读STM32芯片手册,阅读各种传感器的芯片手册,自己画飞控原理图,自己做PCB布局,自己焊接元件放在板上,整套就完成了。 不到1000元,可以让你对硬件的了解加深很多。 如果你大三没有时间,就不必做这部分。

在整个机器人的制造过程中,要特别注意文档的积累。 大三结束时,你可能正在准备与学校机器人队的比赛,你可能主要负责一个机器人。 你应该自己制作一个excel表,列出机器人使用了多少个螺丝、多少根电线,以及每个部件的规格是什么。 一方面,这个表格可以用来帮助团队管理机器人的材料。 另一方面,也可以用来积累自己的经验和技术。 未来你制作的其他机器人可能或多或少是Robocon和RoboMasters机器人的变形。

另一个积累是建立自己的buglist。 Bug 列表包含哪些内容? 你可以像冷达一样。 在回答“作为一名控制、机器人等方面的算法工程师感觉如何?”时,你可以简单地列出一些你自己发生过的事情。 列出问题和最终解决方案。 例如,“杜邦电缆连接器不稳定,容易脱落,连接后要用电工胶带包裹起来。” “在把机械图纸发给淘宝加工时,要特别注意与加工商沟通,看看有没有遗漏的细节,比如沉头螺丝孔、关键倒角等,也可以记录其他的问题buglist可以是一个简单的文本文件,如果你不断地在其中积累你的工作记录,当你将来开始工作时,这个文件可能会值很多钱。

学校应该在我大三开设软件工程课程。 不管你是不是这个专业,也不管你能不能上这门课,你都应该主动去听,甚至是跟着课程设计作业一起做。 我认为软件工程是机器人工程师必须具备的意识,因为一个机器人系统涉及到大量的硬件系统和软件功能,而软件部分往往涉及到不同的语言、不同的编译环境、不同的开发工具链。 如果几个人合作,每个人都会有不同的专业背景和编程习惯,这使得不同代码和模块之间的协议通信变得非常复杂。 必须尽早使用UML和其他软件工程工具来帮助团队相互理解和沟通。

大三的时候学校应该还开设操作系统原理和嵌入式系统原理的课程,大二的时候我就教了计算机组成原理(所谓的微型计算机原理)。 从大三开始,学生需要开始了解实时操作系统和非实时操作系统的区别、原理以及使用注意事项。 这是一个比较复杂的知识点,目前还没有找到好的教材来介绍。 在STM32上,有freeRTOS、uCOS、Vxworks等几种实时操作系统; Linux是一个非实时操作系统,但可以通过打补丁将其变成实时操作系统。 这些操作系统的细节都会在一定程度上涉及到机器人的开发。 同学们可以随时去Google、CSDN查看专家的介绍。

另外特别重要的一点是,机器人系统中的嵌入式平台存在烧毁的可能性。 有可能在嵌入式Linux平台上辛苦写了一个多月的代码后,平台突然烧坏了,代码也失败了。 刚刚丢了。 因此,如果你的机器人里面有嵌入式Linux系统,你必须尽快设置好路由器,并定期提交代码到SVN或git。

大三暑假期间,你可以作为学校机器人队的主要成员参加比赛。 准备比赛、参加比赛,都是磨炼心性的事情。 当我还是学生的时候,我经历过错失胜利的痛苦,以及一年没有机会回来的遗憾。 当我负责DJI RoboMasters比赛时,我被用作那些痛苦和遗憾的学生的发泄口,这是非常令人感动的。 。 我觉得参加机器人比赛,努力,然后失败,是人快速成长的一种方式。 如果学生有机会,绝对应该参加至少一场机器人比赛。

大三暑假期间,你还可以选择参加大疆RoboMasters夏令营。 关于夏令营,您可以阅读这篇知乎问答了解更多:参加Robomasters 2016夏令营感觉如何? 每年我们都会在全国范围内寻找有一定技术基础的学生,让他们分组合作,共同打造自主机器人挑战赛。 作为这个夏令营的负责人,我不能谦虚地说,我认为这应该是世界上最好的技术夏令营。

《机器人工程师学习计划》之大疆RoboMasters夏令营中篇

编者按:今年的RoboMasters夏令营比拼的是对机器视觉技术的理解,挑战机器人的自动飞行、自动抓取物体、自动投掷技术。 图为挑战机器人抓起玩偶,准备将其放入对应的彩盒中。 这个过程是完全自动化的,机器人需要视觉识别娃娃的颜色和盒子的颜色。

大三暑假期间一件很重要的事情就是思考大四我应该做什么。 一般来说,以你现在的能力在这个学校读研究生是没有问题的。 当然,你也可以选择去其他学校考研或者出国留学。 虽然现在你的能力已经很全面了,但是你还需要2-3年的时间全面提升自己的能力,才能走向卓越。 无论是出国还是读研,最重要的目的就是争取自己在未来的2-3年能够在一个优秀的环境中提升自己,拥有更好的学习资源,能够参加一些好的活动。项目。 可能有一些其他行业,出国留学总是比留在国内更好的选择,但机器人行业并非如此。 我国这两年在机器人方面进步很快,而且我国现在也比较富裕。 正如我一开始所说,机器人技术是富人的活动。 现在你还可以在中国找到一些非常富有的实验室,可以制造更强大的机器人。 此外,国外很多比较有实力的机器人公司也在从事相对敏感的军事项目,因此寻找实习机会可能会受到更多限制。

在国外学习机器人技术有很多不错的选择,比如世界排名第一的机器人研究所卡内基梅隆大学,或者麻省理工学院的CSAIL实验室。 北美四大传统计算机学院(麻省理工学院、卡内基梅隆大学、斯坦福大学、加州大学伯克利分校)中,除了斯坦福大学积极从事人工智能之外,其他几所学校都在做非常好的机器人研究。 除了四所名校之外,你还有很多其他的选择。 正如我一开始所说,机器人技术是富人的活动。 如果你想获得最好的机器人资源,你必须选择有钱的实验室,而不是著名的实验室。 的实验室。

另外,你还需要在大三结束时选择你未来的细分研究方向,并开始在这个方向上深入挖掘,也就是我在文章开头提到的感知、认知、行为的方向。 当然,同时也不能放松其他方面的知识,尤其是数学基础知识。 大三暑假的时候,我请数学系的同学给我上了一堂数学小课。 学了一点抽象代数,对我后来学习密码学有很大帮助。 同时,我还阅读了一些拓扑学教材(有一本很神奇的书,叫《无泪拓扑学》),让我明白了为什么数学分析要用奇怪的符号来解释一些看似简单的道理。

对于机器人工程师大三应该学习哪些基础数学,存在不同的看法。 我认为,你需要对“群是什么”有一个基本的掌握,能够用代数的角度证明“det(AB) = det(A)det(B )”,并且能够理解“你可以用一张纸创造一个克莱因瓶”(当然是在四维空间中)。 另外,这个时候你也必须认识到,你需要重新学习线性代数。

高年级

随着大四的开始,你可以开始深入挖掘自己的研究方向,同时开始学习一些更先进的通用技术和理论。 这时候的你就会和普通的机械、电子、计算机学生有所不同。 虽然你也疯狂编程,但我也疯狂学习物理和数学。 常见的技术包括ROS、simulink、gazebo和Vrep等工具。 一般理论包括重新学习线性代数、学习凸优化、数值计算、旋转表示等。这些知识你只有在大四的时候才能开始接触,因为你的大四会包括实习、毕业、考研、期末项目,所以你会很忙。 有的人大四的时候会进实验室,跟老师一起发表论文。 我个人认为没有必要急于发表论文。 你的整个大学时光应该花在广泛的知识上,而不是深入研究一个小问题。

你可以在大四开始阅读一些著名的入门书籍。 我没有按特定顺序列出这些书。 您不必全部阅读。 阅读每本书的前几章就足够了。 尽可能多地阅读。

1. 概率机器人学;

2.凸优化;

3、线性系统理论;

4.计算机视觉中的多视图几何;

5、线性估计;

6.《机器学习》,周志华老师的书。

7. 3-D Vision邀请函;

8. 现代控制系统;

9. 刚体动力学。 说实话,我还没有找到一本特别好的刚体动力学理论的书,但是刚体动力学理论非常重要。

10.反馈系统:科学家和工程师简介;

正如我一开始所说,这些书大部分都非常昂贵。 幸运的是,业内一些有良心的作者已经发布了他们书籍的电子版。 当然,你也可以去一些不知名的网站找复印件。

在阅读上述书籍时,手头备有matlab和python,然后尝试实践书本上的知识。 很多教科书都会在章节末尾的习题中放一些练习,声称是用MATLAB完成的。 您应该尝试尽可能多地进行此类练习。

你可能听说过 ROS,但在大四之前最好不要接触它。 因为ROS使用了很多操作系统和网络的底层技术。 我在知乎的回答“专家能否谈谈开发ROS机器人操作平台的一些经验?”中有简单介绍。 ROS的设计目标是将机器人的控制和传感器处理软件与其硬件隔离。 使用ROS后,你可以轻松使用很多可以直接运行的软件代码。 不过ROS至少需要一年的时间才能熟练。 您必须继续使用它并尝试新的代码和硬件才能熟悉它。

ROS可视化工具Rviz使用四元数来表达机器人的旋转。 之前研究四轴飞行器时,里面的代码表明旋转使用了欧拉角,姿态计算可能使用了四元数。 数字。 这个时候,你应该开始有意识地学习旋转表示之间的区别和联系。

关注大四期间的实习和毕业项目。 很多高年级学生做毕业设计的方式很颓废,我认为这是不好的。 完成毕业设计的过程应该被视为一个正式的项目。 这个项目除了要做好技术方面的工作外,我们还需要做好展示方面的工作。 中国工程师的特点之一就是不善于表达自己。 他们可能做事水平很高,但在制作PPT时,会遇到字体花哨不拘一格、一页文字过多、图文不衔接等表达问题。 通过PPT介绍和展示自己的成果在工程师职业生涯的任何阶段都非常重要,甚至在一定程度上限制了机器人工程师能够达到的高度。 只有能够清楚地向团队表达你的结果,才能获得他人的反馈,并通过沟通提高团队的整体凝聚力和知识水平。 这样,你就能在团队中获得更多的认可,为团队整体工作效率做出贡献。 改进。 我每年都会参加几次学术会议,在会议上我感受到一些中国研究人员走出国门后,由于演讲技巧不佳,导致他们的科研成果不被重视。 当然,其他国家的研究人员也是如此。

为了写出漂亮的技术报告和毕业论文,你可以开始学习Latex。 Latex是国内外排名第一的书写工具,网上有很多学习资料。 Latex的学习和使用也需要不断的练习才能让你臻于完美。 你写得越多、练习得越多,你就会越熟悉。 写毕业论文时遇到的一个问题就是如何制作漂亮的矢量图形。 我推荐自由绘画 | Inkscape,一款比Illustrator更轻量但功能更强大的免费软件。

对于想要申请出国留学的学生,需要展示自己的个人成就,最好以网页的形式。 放上你自己的Github链接(如果你听从我的建议,大学第一天就申请了Github账号,现在你已经是三年老兵了),你做过的机器人视频,你写过的技术报告和文章(最好是英文)在上面。

关于毕业设计的主题,我建议如下:

1.手写双眼视觉里程计。 涉及图像处理、特征匹配、位置计算、空间变换等。

2、基于GPS的四轴飞行器手写轨迹规划。 涉及深入研究四旋翼飞行器运动原理、IMU原理、轨迹生成与优化等。

3. 构建一个双足伺服机器人,推动时不会摔倒。 涉及舵机控制、倒立摆建模、动力学分析、PID控制、IMU原理等。

4.深度学习训练汽车追人。 涉及深度学习工具包的使用、数据集采集、数据集分析、小车控制等。

5. 机械臂为人们倒茶和水。 这个就比较丰富了,因为可以直接使用的机械臂非常昂贵。 这个要看实验室有没有条件。 涉及学习多自由度机械臂原理、工具包的使用、轨迹规划等。

要完成这些项目,需要持续投入三个月以上的时间和一定的资金。 它们中的每一个都是理论多于实践。 当然,学生也可以选择自己的毕业设计课题,但最好选择能跑、能飞的东西。 同时,避免选择需要大量时间拧紧螺丝、焊板的题目。 尝试购买现成的电机、开发板和 3D 打印结构。 大四的时候,应该留出更多的时间给自己看书、写代码。

读研前的暑假,最好去一些比较好的机器人公司实习,比如大疆创新。 当然,你也可以继续做机器人比赛,比如RoboMasters和DJI的飞行器比赛。

大疆工程师教你如何成为一名机器人工程师(第一部分)

大疆工程师教你如何成为一名机器人工程师(第二部分)

单片机

那些有价值的编程/机器人赛事,你造吗?

2024-5-4 13:04:03

单片机

坚持勤思苦练终获全国金奖同学参加2017年全国职业院校技能大赛

2024-5-4 14:03:35

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索