造一台机器人需要哪些技能?

转自https://mp.weixin.qq.com/s/3Im65sdDbyWHIK9SHQMYsg

 

大家好,我是小王,是一名刚刚加入机器人队的大学生。

有人说搞机器人特别简单,只要画画图,拧拧螺丝,敲敲代码就可以了。

He tui!要这么容易,每年能有上百支机器人队伍,花十几万挤破了头都抢不到30万奖金吗?

不过,团队有了我这种天才,一定能突破技术、碾压对手、改变历史、创造奇迹,赢走冠军奖杯!

嘿嘿,光是想想就有点小激动呢!

不管了,先设计一台机器人让队友们刮目相看吧!

机器人跟人一样,人有四肢、神经和大脑,机器人有机械结构、电控和算法。

 

1.机械方向

#画图

首先得会画图。图纸是机械的语言,机械工程师靠图纸传达想法。

而告别“扛着直角尺,卷着A0纸,一根铅笔画一天”的艰苦时代,现在有高效的绘图软件。

比如SolidWorks绘制三维图纸,用3D视图表达机械结构:

SolidWorks界面

还有CAXA绘制二维图纸,平面视角设定尺寸,规划功能模块。承包加工的工人(也有可能是队员)看的也是二维图纸:

 

CAXA图纸

 

画完就加工,必须得返工。以我们队伍贫穷的现状,返工导致费时间且不说,加工的钱烧没了,要怎么向学校交代啊!

机智的我打开了仿真软件,在电脑上模拟运动,看机器人会不会出现摔倒、机械结构打架、零件被压弯、越走越歪等情况。

一个模糊的仿真

推荐软件有matlab、ansys和adams。

跑完后,一切顺畅无比,我简直是个天才!看来,离队伍登上领奖台,抱走金奖杯指日可待了!

# 加工实物

为了动手实践(为了省钱),我会自己加工一些零件。

人和动物最大的区别就是人会使用工具,加工也离不开工具。

比如雕刻平面的的板材用雕刻机,做强度较低的零件用3D打印机,坚硬的零件还能用车床铣床加工。

如果你的队伍比较富裕,也可以尝试动手实践,因为加工过程中会发现:“我是脑子被门夹了才会这么设计吧?”,正所谓一举两得,既省了钱,也认识了自身不足。

加工过程中一定要注意安全。选择零件材料也很重要,板子和板子是不一样的,棒子和棒子也是不一样的。

曾经有队伍为了“炫富”,整台机器人都用了碳板,又黑又酷。结果因为太烧钱,全拆了……

还有人仗着学校免费提供3D打印,就打印出一台机器人,结果一撞墙上全碎了……

 

你说这是何必呢?

听着,不主要承重且精度要求不高的零件,选择PLA材料,主要承重且可能会受到很大的冲击的板状零件,选择碳板。还有很多材料要慢慢学习,举一反三。

 

PLA材料和碳板

 

用高压锅煎鸡蛋,用平底锅煮佛跳墙,是没有前途的。

 

# 知识掌握

以上技能都是双手的功劳,做机械还得靠脑子,不然只能像我一样靠脸吃饭了。

机械原理告诉你怎么想,机械设计告诉你怎么画,机械制造告诉你怎么做,一样不能少。

 

假设要做连杆机构,机械原理帮你设计机构简图,布置杆件实现运动;机械设计帮你细化机构;最后机械制造指导你加工、拼装起来。

普通人看到这就结束了,而优秀的人还有隐藏分。

力大无穷加分项:

能搬设备搬物资搬机器人、锯木板砸钉子做道具……统统加100分!

 

 

省钱过日子加分项:

设计简单易加工的结构、加工后无须返工、能逛淘宝会讲价……什么都别说了,你就是机械的天选之子!

 

 

 2.硬件方向 

外壳搭好,就要给它埋线,让机器人会走会跳,简称电控(电子控制)。

 

# 焊接与布线

焊电路板不是艺术创作,拿起板子就一顿爆焊,而要先设计。

第一步,打开Altium Designer软件

第二步,在图上放置电阻和电容等元件,再用线连起来;

第三步,把图丢给工厂加工。

某开源开发板的PCB图

 

负责硬件的同学,经常拿着绿油油或黑漆漆的电路板,就是用Altium Designer做的。

 

# 电路仿真

和机械一样,电路板画完就加工,你不返工谁返工?

电路也可以仿真,一般用Multisim,可以减少原理性错误,节省时间和经费,提高开发速度。

电路仿真

 

# 设备使用

电烙铁、热风枪拆焊台可以说是电控安身立命的必备技能。当电路板出现损坏的时候,可以直接换块新的用它们更换元件。

 

电烙铁

# 知识掌握

需要熟练掌握嵌入式与硬件系统开发、电路板设计与布局、开关电源的设计与制作等。

胆大心细加分技能:

焊电路板不虚焊,编写程序不手抖,紧要关头不乱阵,只要一出手,bug全没有。

心灵手巧加分技能:

焊接细小贴片元器件,用镊子精细布线,把机器人当女朋友服侍。

 

3.嵌入式方向 

# 编程与调试

通上电后,想让机器人乖乖听话,还要让单片机传话。

但是单片机并不能听懂我们的碎碎念,只能听得懂二进制的机器码。

 

所以,要用Keil软件编写C语言程序,再由他“翻译”成机器码,再下载到单片机里,单片机就会乖乖听话啦。

keil5的开发界面

 

# 其他助攻

代码写到一半丢了怎么办?改到一半,队长说用回上一版怎么办?觉得队友太菜,想偷偷删掉他的代码怎么办?

Git Kraken能帮到你!

 

某开源项目的版本控制

它是一个专门存代码的云盘,可以把代码回滚到上一个版本,或是与别人的代码融合起来。

以后你是我,我是你,出了bug一起de。

 

 

# 配置底层代码

从前,负责嵌入式的队员只能对底层代码一行行地手动配置,等配置完,别的队伍已经比完赛了。

自从CubeMX出现,我就抱着试一试的心态,下载了一个。

没想到,只需要在界面上点来点去,设置参数,就能生成底层的代码。同时还会生成工程文件,非常便利。

CubeMX

现在,我一口气配置十版程序也不喘气,CubeMX改变了我的码农生活。

写完bug程序后,机器人不一定会完全听话,我们还要甩锅给机械调试机器,就用到调试器、示波器逻辑分析仪

 

示波器

 

# 知识掌握

要掌握PID控制等控制理论、C/C++编程基础、通讯协议(串口,I2C,SPI,CAN)、ADC与DAC、滤波算法和基本调试方法等。

 

4. 算法方向 

只能动、不会思考的机器人,是没有灵魂的。

算法,就是给机器人加上大脑,让它能识别会动脑。

 

# 编写程序

而算法组,产出内容就是代码(bug),他们不是在写bug,就是在解决写出来的bug。

当你看到他们一脸狰狞盯着屏幕时,不要担心,他们只是被自己的bug气到自闭。

 

他们要学三种编程语言 :C/C++,Python。

但是最终的程序只有C++。因为训练模型用python更方便,而C和C++很相似,从C转入C++的周期更短。

机器人是一个前人很多行业,他们写了很多封装好的函数在OpenCV(计算机视觉开源函数库),我们直接用就行。

 

那我不用行不行?人家写好了,你就老老实实用吧!为自己留些时间和金钱,毕竟后面还有大把坑要踩。

写好代码就到了编译,也就是把人能看懂的代码,翻译成机器能看得懂的乱码。

一般用CLion和PyCharm,聪明的同学可以试下MATLAB,或许会有新发现。(试玩留言告诉我好不好用)

 

编译界面

# 知识掌握

痛恨数学的同学可以先告辞,因为算法需要掌握高等数学、概率论、线性代数、编程基础……

“数学是理工科的根基”,在算法上表现得淋漓尽致,痛彻心扉。

 

可戳这门课让数百万理科生流泪,可我只想为它鼓掌!感受数学的力量。

 

知识加分项:

了解卡尔曼滤波,最小二乘法并可以用程序实现,数据结构。这些内容已经远超入门小白,这样的人谁不想要呢?(来了就能马上干活谁不喜欢呢?)

 

卡尔曼滤波

 

 

大神级别加分项:

了解机器学习,深度学习原理。这种人简直是大腿中的大腿!大佬中的巨佬!如果出现在我校,必然要上演一场激烈的抢人大战!

 

抢人的话术都想好了:

“来我们组!我有包含32万张样本的训练集、各种高性能的计算平台!无论GPU还是CPU统统都能满足你!尽情释放人类的天性!”

 

 

必要加分项:

一头浓密的头发,一颗坚挺的肝,还有强如柯南般的大脑,分分钟疏通逻辑解决bug。

大心脏加分项:

不被如洪水般的bug整崩溃,如果崩溃了,也能忍住不砸电脑。

 

 

 

 

 最后

 我是小王,我终于学会了所有的机器人技术,但我还是没有做好机器人。

因为,一个团队光靠研发是不够的。只有学会管理、互相配合、齐头并进,才能打造最强的机器人战队!

科技界不需要英雄主义,RoboMaster更不需要,学好技术之后,和队友一起创造奇迹吧!

本文由东北大学 T-DT战队撰写,特此感谢!

 

 

 

### 回答1: 自己动手制作一台SLAM导航机器人是一项非常具有挑战性的项目,需要一定的机械、电子、计算机编程等综合技能。首先需要设计机器人的整体结构,包括底盘、轮子、控制电路等等,并进行适当的加工和组装。 其次,机器人需要配备激光雷达、相机等传感器,以获取周围环境的数据,并使用SLAM算法实现地图构建和自主导航。这涉及到深度习、计算机视觉等技术的应用,需要有一定的专业知识和实践经验。 最后,机器人的控制和调试也是项目中非常关键的一步。需要对机器人的控制器编程,以实现自主导航、避障等功能,并不断对其进行调试,使其性能最优化。 自己动手制作一台SLAM导航机器人是一项极具挑战性的任务,但也会带来非常有趣和有意义的经历。能够通过自己的努力和创力,实现一个自主导航机器人,不仅是一种技术上的成就,更体现了自己不懈追求的精神和自我超越的力量。 ### 回答2: 自己动手做一台SLAM导航机器人需要一定的相关知识和技能,并且需要进行步骤繁琐的操作。首先需要了解SLAM技术原理、机器人硬件结构、编程语言和相关软件等基础知识。其次需要购买所需的硬件器材,包括一个基于ROS系统的移动底盘、LIDAR传感器、IMU传感器、控制器、电源和其他所需材料。接着需要进行硬件组装和连接,把所有的硬件器材和传感器按照设计要求进行组装和连接。 接下来需要完成编程部分,对机器人进行代码编写和程序调试。编程需要涉及ROS系统、C++等多种编程语言,需要进行程序设计、实现、调试,以确保机器人顺利工作,并能实现SLAM导航功能。此外,还需要进行传感器校准,以确保机器人获取到的传感器数据准确无误。 最后,需要进行实地测试和调试,检验机器人的导航、避障等功能是否正常运作。整个过程复杂繁琐,需要耗费大量时间和精力。自己动手做一台SLAM导航机器人可以锻炼自己的技能和动手能力,同时也可以满足个人的爱好和需求,但需要投入足够的精力和耐心。 ### 回答3: 建一台 slam 导航机器人需要计划、材料和技能。首先,您需要确定您的机器人将运行的环境类型,并为其选择合适的传感器和控制器。一般来说,您需要使用激光雷达扫描环境,并安装摄像头和微控制器等设备以控制机器人的运动。其次,您需要设计、打印或制机器人的外壳,并组装电气元件和机器人控制器。最后,您需要编写软件以使机器人能够感知其环境、规划路径并导航至目标。 然而,这并不是一项简单的任务。要建高效的 slam 导航机器人需要一定的电子、机械和编程技能。因此,新手建议始于初级项目,例如制追踪线的机器人或机械臂。这些项目将帮助您熟悉机器人技术,同时也提高了您的技能和信心,为进一步建 slam 导航机器人做好准备。 如果您决定 DIY 一台 slam 导航机器人,提前做好计划和准备工作很重要。购买正确的材料、机器人编程和构建的技能,是这个过程中最关键的部分。当您完成了这个项目时,您将拥有一台能够感知、规划和导航的机器人,并且这个项目还能提高您的技能并激发您的创力。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值