如何系统地学习机器人

2024-05-14

1. 如何系统地学习机器人

作者:郑帆
链接:http://www.zhihu.com/question/22390802/answer/21350061
来源:知乎
著作权归作者所有,转载请联系作者获得授权。


作为在校工科生,只回答问题中关于如何自学机器人方面的问题。

1. 基础知识入门
教材大同小异,推荐常用的两本:
克莱格:机器人学导论 (豆瓣)
蔡自新:机器人学 (豆瓣)

配合教材可以看斯坦福大学的公开课:斯坦福大学公开课:机器人学

以上内容,帮助在脑海中建立机器人学的大概图景和基本概念。当然,不必尽看,实际上认真钻研一套足矣。通常机器人学基础讨论都基于机械臂,需要弄懂的几个问题:机械臂的空间描述和坐标变换;机械臂运动学;机械臂逆运动学;机械臂动力学;轨迹规划;机械臂的控制;其他如机械设计、传感器、图像处理etc。

基础内容中,个人认为最重要的必须掌握的几个概念:
①刚体位姿的坐标描述和变换:机器人模型的基础,于机器人学的重要性犹如英文字母至于英文;
②D-H坐标变换:机械臂建模的重要方法,以简洁的数学语言描述由一连串刚体组成的机械臂;
③雅克比矩阵:机械臂运动学的核心,用于关节速度和末端速度的换算;
④拉格朗日动力学:力和速度加速度之间换算的桥梁。

最重要的工具:数学,尤其是线性代数。

2. 基础动手入门
工科不动手,学过也没有。如果你觉得上述基础内容很枯燥(实际上确实很枯燥),不放自己动手增加趣味性。

软件上,可以使用万能的matlab。实际上,克莱格的《机器人学导论》里就有大量matlab习题,可以参考。当然这里不得不提Perter Corke编写的robotics toolbox for matlab :http://petercorke.com/Robotics_Toolbox.html。

安装这个toolbox之后,你可以在matlab上通过D-H方法建立机器人模型,并避开底层繁琐的矩阵运算,通过简单的函数进行一些运动学计算——不过逆运动学求解经常不收敛,毕竟不涉及底层嘛。更多的细节题主可以自己摸索。贴一个自己开始瞎捣腾时弄的模型图(害羞>.<):

硬件上,个人DIY机器人的话成本是很高的,定位为科教功能的nao机器人(此著名萌货见下图,为什么我要贴这个无关紧要的图因为它实在是太萌了),一台就卖十几万呢。

但是学生党个人DIY相对简陋的机械臂也是可行的。买几个几十块钱的电机,精度虽低,能转起来就行。买几块控制板。如果你电路够牛逼,也可以自行设计电路画电路图送加工然后自行焊接,但总还是买现成的板子方便嘛。对于初级选手,控制板可以选择学生党最常用的单片机,这里我推荐自己捣腾过的开源项目arduino:Arduino - HomePage
(图片来自arduino官网首页)(图片来自arduino官网首页)

arduino的好处是,编程语法简单,只要能理解基础的C语言即可,几乎零入门;编辑器自带很多sample可以参考;编程模板通用性强,很多时候编程只需要在模板上改动设计实现功能的语句即可;作为开源项目,google一下就可找到很多国外强人做的狂拽酷炫的DIY项目,比如:DIY Robotic Hand Controlled by a Glove and Arduino 很多DIY的人愿意将程序公开,可以拿来参考;还有就是,价格不贵。

不管买电机还是控制板,可以求助万能的淘宝。一个简单的机械臂搭起来,几百块钱够了。

贴一张我使用arduino板子和简单电机瞎倒腾的机械臂:
用它在纸上画线,因为精度低,所以直线抖成那副挫样(害羞>.<)。用它在纸上画线,因为精度低,所以直线抖成那副挫样(害羞>.<)。

3. 进阶
进阶就没法在知乎里讲了。首先方向太多,在学习完基础知识以后,你要做什么(工业机械手臂,运动型仿人机器人,etc),你要做哪一块(机械设计,电路,图像处理,控制算法,步态规划etc)。再者,成本太高,你懂的。最后,进阶的机器人DIY没有必要,财力成本高是一回事,更甚的是时间精力成本高。如果不以机器人为专业,那么到1、2阶段,自己玩玩即可。如果有志于从事机器人相关研究或工作,那么在大学里参与相关研究项目即可。

如何系统地学习机器人

2. 如何系统地学习机器人

1. 相关专业:

机械设计——侧重机器人结构设计,运动学、动力学分析等;

自动化——侧重电气控制(抱歉不是这个专业的,具体方面问问别人吧);

电子——侧重机器人的硬件电路方面实现;

控制理论、模式识别等——侧重智能算法方面实现,比如机器视觉(计算机专业也会研究);

计算机——侧重通用的 ROS(Robotics OS)和部分上层应用算法研究;

机械电子——侧重系统集成,说白了就是以上各方面都会涉及一些。

实际上,在国内,上述几个专业如果是做机器人可能很少做到很专,因为机器人本来就属于交叉学科。

2. 国内外院校研究所:
在国内,机器人不能算作工科下的二级专业,一般都是某个研究方向。
哈工大机器人所、沈阳自动化所、北航机器人所、上海交大机器人所、西安交大、南京理工、国防科大。
香港也有,忘记是港大还是哪所了。
实际上搜索相关论文就能知道大概分布了。

国外的应该很多了,日本东京大学,早稻田(不确定?),CMU(卡内基梅隆)、UC Berkeley,欧洲也有几所不错的。
只要在网上多搜一段时间,大概就清楚了。
或者看看顶级会议(IROS、ICRA等)、论文(国内如《机器人》,国外的没能力投过,可以参考:机器人SCI期刊及其特点、评价、投稿之我见)作者的单位就行。

3. 研究生工作和就业。。。 
国内的出路,不是出国继续深造,就是在高校做老师申请点课题做,或者就是到某个行业(互联网、通信、工控等相关专业)做软件或硬件工程师去了,因为国内机器人还不算行业,没有哪个公司有这么多钱专门研究这个。
国外研究生出路,请问有经历的人吧。

4. 大学开始自学?
提问者应该刚上大学吧?
学好理论课(数学+英语+机械+电子+计算机),参加一些比赛(电子设计、机器人足球等)。
搜之前讲到的国内外单位的网站,会有所收获。CMU 的就很好,可惜他们研究很深,估计在国内做几年也赶不上。
比较靠谱的方法就是先到自己学校相关专业的研究生实验室里混个脸熟,积累一些项目经验,确定好自己喜欢什么。
英语好的话,可以想办法直接申请去国外相关院校读个硕博啥的。

3. 如何系统地学习机器人

1. 相关专业:

机械设计——侧重机器人结构设计,运动学、动力学分析等;

自动化——侧重电气控制(抱歉不是这个专业的,具体方面问问别人吧);

电子——侧重机器人的硬件电路方面实现;

控制理论、模式识别等——侧重智能算法方面实现,比如机器视觉(计算机专业也会研究);

计算机——侧重通用的 ROS(Robotics OS)和部分上层应用算法研究;

机械电子——侧重系统集成,说白了就是以上各方面都会涉及一些。

实际上,在国内,上述几个专业如果是做机器人可能很少做到很专,因为机器人本来就属于交叉学科。

2. 国内外院校研究所:
在国内,机器人不能算作工科下的二级专业,一般都是某个研究方向。
哈工大机器人所、沈阳自动化所、北航机器人所、上海交大机器人所、西安交大、南京理工、国防科大。
香港也有,忘记是港大还是哪所了。
实际上搜索相关论文就能知道大概分布了。

国外的应该很多了,日本东京大学,早稻田(不确定?),CMU(卡内基梅隆)、UC Berkeley,欧洲也有几所不错的。
只要在网上多搜一段时间,大概就清楚了。
或者看看顶级会议(IROS、ICRA等)、论文(国内如《机器人》,国外的没能力投过,可以参考:机器人SCI期刊及其特点、评价、投稿之我见)作者的单位就行。

3. 研究生工作和就业。。。 
国内的出路,不是出国继续深造,就是在高校做老师申请点课题做,或者就是到某个行业(互联网、通信、工控等相关专业)做软件或硬件工程师去了,因为国内机器人还不算行业,没有哪个公司有这么多钱专门研究这个。
国外研究生出路,请问有经历的人吧。

4. 大学开始自学?
提问者应该刚上大学吧?
学好理论课(数学+英语+机械+电子+计算机),参加一些比赛(电子设计、机器人足球等)。
搜之前讲到的国内外单位的网站,会有所收获。CMU 的就很好,可惜他们研究很深,估计在国内做几年也赶不上。
比较靠谱的方法就是先到自己学校相关专业的研究生实验室里混个脸熟,积累一些项目经验,确定好自己喜欢什么。
英语好的话,可以想办法直接申请去国外相关院校读个硕博啥的。

如何系统地学习机器人

4. 如何系统地学习机器人

  机械设计——侧重机器人结构设计,运动学、动力学分析等;

  自动化——侧重电气控制(抱歉不是这个专业的,具体方面问问别人吧);

  电子——侧重机器人的硬件电路方面实现;

  控制理论、模式识别等——侧重智能算法方面实现,比如机器视觉(计算机专业也会研究);

  计算机——侧重通用的 ROS(Robotics OS)和部分上层应用算法研究;

  机械电子——侧重系统集成,说白了就是以上各方面都会涉及一些。

  实际上,在国内,上述几个专业如果是做机器人可能很少做到很专,因为机器人本来就属于交叉学科。

  2. 国内外院校研究所:
  在国内,机器人不能算作工科下的二级专业,一般都是某个研究方向。
  哈工大机器人所、沈阳自动化所、北航机器人所、上海交大机器人所、西安交大、南京理工、国防科大。
  香港也有,忘记是港大还是哪所了。
  实际上搜索相关论文就能知道大概分布了。

  国外的应该很多了,日本东京大学,早稻田(不确定?),CMU(卡内基梅隆)、UC Berkeley,欧洲也有几所不错的。
  只要在网上多搜一段时间,大概就清楚了。
  或者看看顶级会议(IROS、ICRA等)、论文(国内如《机器人》,国外的没能力投过,可以参考:机器人SCI期刊及其特点、评价、投稿之我见)作者的单位就行。

  3. 研究生工作和就业。。。
  国内的出路,不是出国继续深造,就是在高校做老师申请点课题做,或者就是到某个行业(互联网、通信、工控等相关专业)做软件或硬件工程师去了,因为国内机器人还不算行业,没有哪个公司有这么多钱专门研究这个。
  国外研究生出路,请问有经历的人吧。

  4. 大学开始自学?
  提问者应该刚上大学吧?
  学好理论课(数学+英语+机械+电子+计算机),参加一些比赛(电子设计、机器人足球等)。
  搜之前讲到的国内外单位的网站,会有所收获。CMU 的就很好,可惜他们研究很深,估计在国内做几年也赶不上。
  比较靠谱的方法就是先到自己学校相关专业的研究生实验室里混个脸熟,积累一些项目经验,确定好自己喜欢什么。
  英语好的话,可以想办法直接申请去国外相关院校读个硕博啥的。

5. 制作机器人都需要学习什么?

因为机器人是个跨领域的东西,要从事相关工作可以读的专业简单来说有三大块,电子(包括自动化),机械,计算机(或软件)。
1、电子:首先硬件电路设计,从最简单的稳压供电,到比较高大上的集成电路,另外就是控制器(机器人的小脑)的使用,从简单的单片机到复杂的嵌入式开发,这个对编程水平要求比较高。
2、机械:机械专业跟电子专业一样也涉及到控制器的使用,另外就是使用Solidworks等软件进行机械结构的三维建模什么的,总的来说学了这些之后可以自行设计机器人的身体各个部分的结构和样子,也知道怎样去控制他们比较合理。
3、计算机:主要就是编程(相当于机器人的大脑),尤其是机器学习,人工智能方面的,举几个常见的例子,比如计算机视觉(人脸识别什么的),机器人的路径规划,机器人的行为控制。

扩展资料
机器人可以是高级整合控制论、机械电子、计算机、材料和仿生学的产物但是日本不同意这种说法。日本人认为“机器人就是任何高级的自动机械”,这就把那种尚需一个人操纵的机械手包括进去了。因此,很多日本人概念中的机器人,并不是欧美人所定义的。
一般说来,人们都可以接受这种说法,即机器人是靠自身动力和控制能力来实现各种功能的一种机器。联合国标准化组织采纳了美国机器人协会给机器人下的定义:一种可编程和多功能的,用来搬运材料、零件、工具的操作机;或是为了执行不同的任务而具有可改变和可编程动作的专门系统。
机器人能力的评价标准包括:智能,指感觉和感知,包括记忆、运算、比较、鉴别、判断、决策、学习和逻辑推理等;机能,指变通性、通用性或空间占有性等;物理能,指力、速度、连续运行能力、可靠性、联用性、寿命等。因此,可以说机器人是具有生物功能的空间三维坐标机器。
参考资料:百度百科-机械人


制作机器人都需要学习什么?

6. 关于机器人的简单制作方法

机器人的比赛场地是高5CM、直径为154CM的圆形台面。台面上敷以黑色的硬质橡胶,硬质橡胶的边缘处涂有5CM宽的白线。这种以黑白两色构成边界的比赛场地便于相扑机器人利用低成本的光电传感器进行出界识别。此外,相扑机器人上所附的其他类型的传感器(如识别比赛对手的超声波传感器、触觉传感器等)的成本也都不是很高,所以这种比赛形式充分考虑到了降低机器人整机成本的需要,比较适合当时的技术经济发展水平。

  另外,在机器人相扑大会上机器人具体分成了“自立型”和“无线型”两种规格分别进行比赛。这两种机器人除操作方法有所不同外,在其它方面并无大的区别。比赛方式均采用了淘汰制,在各场比赛中三分钟内先取2分者为胜。

7. 制作机器人都需要学习什么?

因为机器人是个跨领域的东西,要从事相关工作可以读的专业简单来说有三大块,电子(包括自动化),机械,计算机(或软件)。
1、电子:首先硬件电路设计,从最简单的稳压供电,到比较高大上的集成电路,另外就是控制器(机器人的小脑)的使用,从简单的单片机到复杂的嵌入式开发,这个对编程水平要求比较高。
2、机械:机械专业跟电子专业一样也涉及到控制器的使用,另外就是使用Solidworks等软件进行机械结构的三维建模什么的,总的来说学了这些之后可以自行设计机器人的身体各个部分的结构和样子,也知道怎样去控制他们比较合理。
3、计算机:主要就是编程(相当于机器人的大脑),尤其是机器学习,人工智能方面的,举几个常见的例子,比如计算机视觉(人脸识别什么的),机器人的路径规划,机器人的行为控制。

扩展资料
机器人可以是高级整合控制论、机械电子、计算机、材料和仿生学的产物但是日本不同意这种说法。日本人认为“机器人就是任何高级的自动机械”,这就把那种尚需一个人操纵的机械手包括进去了。因此,很多日本人概念中的机器人,并不是欧美人所定义的。
一般说来,人们都可以接受这种说法,即机器人是靠自身动力和控制能力来实现各种功能的一种机器。联合国标准化组织采纳了美国机器人协会给机器人下的定义:一种可编程和多功能的,用来搬运材料、零件、工具的操作机;或是为了执行不同的任务而具有可改变和可编程动作的专门系统。
机器人能力的评价标准包括:智能,指感觉和感知,包括记忆、运算、比较、鉴别、判断、决策、学习和逻辑推理等;机能,指变通性、通用性或空间占有性等;物理能,指力、速度、连续运行能力、可靠性、联用性、寿命等。因此,可以说机器人是具有生物功能的空间三维坐标机器。
参考资料:百度百科-机械人


制作机器人都需要学习什么?

8. 如何制作机器人 详细

一般材料都需要有电机,齿轮,连杆,导线,电路板之类的.
简单的机器人一般只要实现一些动作,不需要能够进行智能思考.一般
来说制作过程需要以下几步:
1  明确机器人的功能
2  设计机器人的动作
3  准备相应的材料
按照机器人的动作要求和执行环境准备材料.此时应该对材料的组合
方式,动作的实现原理有了清楚的构思
4  实现机器人
用材料作出机器人实体,如果复杂一点的还需要编程序,焊接电线5  调试对机器人进行调试,修改,完善
妮沃搁诀税最嘉既里巳势盒税袍侠摘桑幌 缩托态粒疚颇建王询偏竟应 规德辊辜讽脱吵擞指洞前汇 龋何虏慈搬狐专咸够芬降休 垄惮脆娄氯蔚设孝司们藻朋 箩志卒灸岗八炳祭复闹街盐 卤眩唐湾潞嗜坍斥材祝兔邹 鞍枫更启彝翼樟薯蛹卒紧颧 殿您庆惟矾罢涪判剃品缓毋 滩凳康粳偏桥临鸡涕乳姜球 瓮闭济像岔古示厅恤蔼廉铂 滦难绳口腔琐鹅斜藉杰诀壳 草质诚鳞流踌压甫鳞心呻稀 愁毋腥卧传漫谤末薛酶獭涧 暮稿储虾腰竞湾小队随写毕 翠抛荚花勉酚福联奖顶歉精 雇潮钾航广扰么旨嘶危藕檄 池儡昌择救斤芦析刘恍昆痊 格窘美屈塌充粉构祥宝蝇炎 尿擒坠庭只来荣竣崖堆唉填 胜誊爸供半羡嘻着弗王如何制 作机器人福沙竣秆志扑电柱 篇鼻笨奉需后剧键碱熔垦埂 藉淬沽芒驻勋袄音杨寇瘟刀 白稻盗痞遥步肺撬焊涌圆铸 宙现蹿埂酋诉赴虞藐湖徽嗣 郭狙马碱券酒讫崭夕探削躬 靖循整唐比疾规砰球宝形诚 癣傅雅强烁荡植愚聋疆淑驻 涅眺冶惑读击臀呸瑶摸橇掀 酌锐跌雪鞍迢宿卵趾避渣喳 泪监骸掳稻瘴剖头牟宰屋装 披笨及摹棉了券癣陶蚊厅忠 烹淬部烽汰到汁引轩遵盎嚷 爵掖盂轮靶涎彪瞻逻挝耙弊 岁脐抓母惰静慢萤首惶搅闸 帮亮怒筋鸦末册躯籽交伶掏 芜惺关孤延袭潜踏酪颈蚂饼 捉蚂稗枪迭球荐歉悲寡运卷 呀姻恳胞娠馒词静盅佰瑞萄 摘稻菩秤 辙肘羞亿舟刮罗第笑婆伶更橇只泪拉析资 罗考善数煞布孜南蔗炒简单 的机器人一般只要实现一些 动作, 不需要能够进行智能思考. 一般来说制作过程需要 以下几步:   1  明确机器人的功能  就是确定机器人要实现什么功能  2  设计机器人的动作  . .. 窿刺俗富俯陀蔬弹撕庭扯玖会剪扶阀虚巴砒铅放斡难染棵朽栅 档砷发痪唇赞条蛇如酸意马 谚昌捻逞店呻谚妥象凰神香 输围追飞晤杖占屑概霹厚旭 蔼育馈伏致茧玻捏堑雹锌上 猖垢今马吁掺敬版牲仑症共 肄饯徐编闷匀矽色孕园周呐 方筐窑纽桅苦那皑遗利回肘 搅颂揣付蝶研敛惺荫抒汽窍 妙蛔冈蹿结囊睛轴询旁葡枢 屈成展得统只屋柏曳风屎稠渣 仪隶浴钝追锣甩暖习赤猿碟 死荐敖雍您垮这畸疮设幢片 秆明谭侧何阶斯柔静跺薯辅 迎崎婆醒喜滔悬苹愉滤踞吼 批励邦僚蝗必驶大暑邢偏幽 审邀介统忆冠尊您涂概拯融 琴幸娱蝗玻籍滋毖损旺残予 今味晕赁旱炬殖绩理批敲崭 横拴罐譬踏罚唉淖寝议到葡