2023_SummerMiniCamp_走进机器人的世界

Eric Zhang Lv3

1. 先修知识

  1. 基本的英文:在机器人方面,目前基本上没有非常合适的中文教材可以推荐。写得深入浅出的教材大都是国外的,大家必须学会阅读英文教材。这个过程一开始肯定是痛苦的,但是,基本上坚持一个月就会习惯了。

  2. 学会使用 VPN。原因同上,基本上有用的资料都需要通过 Goolge 或 Youtube 获取。

  3. 线性代数:所有的空间变换、机器人相关计算都依赖于线性代数,甚至需要有一些基本的「线性空间」思维。对于线性代数,我首推 Prof. Gilbert Strang 的《Linear Algebra》,在 Youtube 和网易公开课上可以找到视频。这门课一开始就引导大家从空间的角度看待问题,而不只强调如何计算。而且,网易公开课上有中文字幕,对于初学者也还算友好。

  4. 微积分:机器人里,所有涉及到导数、积分、优化的地方,都需要用到微积分。所以,这门数学课也是一开始就绕不开的。我没有太好的视频推荐,不妨也看看 Gilbert Strange 的《微积分重点》 (Highlights of Calculus)?

  5. 理论力学:机器人学就是每天与力打交道。但是一般机器人教材里都不会仔细推导空间变换、虚功原理、拉格朗日等力学理论,而且这些东西又相对抽象,很多初学者的自学过程就是被截杀在动力学章节的。当然,这部分我也没有太好的推荐资料,学堂在线上有清华高云峰老师的《理论力学》公开课,也可以参考一下。

  6. Matlab or Python:这两个都是非常容易上手,且非常方便数据可视化的编程语言。大家在学习机器人学的过程中,能非常容易地通过这类脚本语言实现一些算法,从而用于验证自己的推导结果。当然,这两部分只要掌握基本的矩阵操作和可视化操作就可以了。其他更高级的用法可以之后再学习。Coursera 上很容易找到这两门语言的入门课程 Matlab、Python。

  7. 控制理论:机器人学是离不开控制的,但是机器人学教材一般不会过多介绍这块。当然,目前大多数工业机器人都还是使用比较简单的算法。但是,作为研究者,有必要了解一些基本的控制理论,例如 OGAS、PID、状态方程、可观性、可控性、李雅普诺夫、最优控制、一点点非线性控制与一点点智能控制等。这部分可以在 Youtube 上看看 Brian Douglas 的视频。

  8. 数字电路与模拟电路:机器人是一门实践科学,只有当你把你推导的公式写成代码、并最终让实际机器人按照你的想法动起来的时候,才说明你掌握了相关知识。数电模电的知识可以让你对逻辑电路有个基本了解,不至于后面连为什么电机前面要加一个驱动器都不知道;同时,在身边没有实际机器人的情况下,自己搭个小电路做一些控制实验也是非常方便的。这块知识可以随便找本教材看看,例如我当时用的是唐庆玉老师的教材。

  9. 一点点单片机:要想搭建简单的控制电路,只有数电模电知识是不够的,还要能将这些知识转换成实际的电路,并且能运行控制代码,那么就需要会单片机。对于单片机,可以网上随便买一些带伺服电机控制教程的最小系统板,要是你不知道下载器是啥,先去看教程。学学 Arduino 或 STM32,最终返璞归真回到51单片机,51 1T=12T永远的神,当然,如果能参加个 RoboMaster 或者飞思卡尔智能车大赛什么的是最好了,可以对嵌入式的各个模块有个基本了解。

  10. Linux 和 C 语言:现在有了电路部分,我们需要将公式代码变成电路指令,这就涉及嵌入式的编程了。这块建议学一点 C 语言。嵌入式对 C 的要求其实并不高,随便学点语法就够了,例如《C语言入门》。但是,如果未来想做一些更加上层的工作,最好一开始就把 C 学好。学编程,Linux 是个不错的选择个鬼,LINUX是一坨大便,你学LINUX的时间,别人都完成了很多其他的事情,而且学了有啥用,没啥用,所以,这时候,可以尝试安装个 Linux 系统,在上面学习 C 语言。认识一下命令行,makefile,gcc,gdb,然后你就可以被顺利退学了。记住,使用图形化的都是弱小的生物,不要使用带图形界面的发行版。

  11. 基本的3D设计:在制作实验平台的时候,经常会遇到需要加工设计小零件的情况,这时候掌握一个3D设计软件可以大大提高开发速度,例如 SolidWorks 就是个不错的选择。配合上 3D 打印机之类的工具就可以实现快速原型设计了。(即使没有 3D 打印机,在网上也可以很容易找到 3D 打印服务,把你设计的 3D 文件发过去就可以了)

上面这些知识,基本是一个大三学生应该达到的水平。如果对上述几部分有了基本了解,就可以开始看机器人学的知识了。

2. 小车?

如果你对电子设计很好奇,小车是一个非常好的项目起点,因为他融合了非常多的数理工学的知识:基本数学、线性代数、控制原理、李群李代数、模拟电路分析、数字电路、嵌入式开发,等等。。。

设计一个小车的最开始步骤?

一个小车包括外壳,电机,轮子,电机驱动/控制电路,主控制器,电源,传感器,等等。。。这些都是一个小车的基本组成部分。那么,我们可以从这些部分开始,逐步深入。

轮子?

  1. 直轮
  2. 麦克纳姆轮
  3. 履带

电机?

  1. 有刷电机
  2. 无刷电机
  3. 伺服电机
  4. 步进电机
  5. ...

电机驱动/控制电路?

  1. 为什么需要?(这个问题应该从哪些方面考虑?)
  2. 怎么驱动?(基于IR2104+IRF3205—4mos单电机驱动、L298N双H桥电机驱动模块、100A双路 超大功率H桥 光耦隔离、带有SN755410电动机驱动器IC的步进高效电机驱动器、L293D双桥驱动电机驱动、MC33932双H桥4A电机驱动板)
  3. 怎么控制?(PWM、PID、电流控制、速度控制、位置控制、力)
  4. 电机驱动电路的设计?(电机驱动电路的设计,需要考虑哪些因素?)

电源?

  1. 为什么需要?(从哪些方面考虑)
  2. 怎么设计?(电源的设计,需要考虑哪些因素?)
  3. 电源的类型(开关电源、BUCK、BOOST、LDO、电荷泵、etc.)

传感器?

  1. 发挥自己的IMAGINATION!!!
  2. 传感器类型(红外、超声波、激光雷达、IMU、摄像头、etc.)

主控制器?

  1. 微控制器、微处理器、片上系统、嵌入式系统、单片机、FPGA、DSP、ARM、AVR、STM32、Arduino、Raspberry Pi、etc.
  2. 为什么需要?(从哪些方面考虑)
  3. 你将面临什么挑战?

外壳?

  1. 外壳怎么设计?需要考虑什么?
  2. 外壳的材料?(塑料、金属、木头、etc.)
  3. 需要的工具?(SolidWorks,CAD,嘉立创,etc.)

3. Q&A?

4. 准备汇报!!!(加油吧少年)

  • 标题: 2023_SummerMiniCamp_走进机器人的世界
  • 作者: Eric Zhang
  • 创建于 : 2023-07-03 15:35:38
  • 更新于 : 2023-12-03 23:43:36
  • 链接: https://ericzhang1412.github.io/2023/07/03/2023-SummerMiniCamp/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
 评论