听说呼市范家营学校开工汽车工程学校有个特优秀的社团是机器人社团,能给机器人编程做动作是真的吗

按照省科协、省教育厅、团省委、省发展改革委、省工业和信息化厅、省人力资源社会保障厅《关于举办第十一届山东省大学生科技节的通知》(鲁科协发〔2019〕8号)省科协组织开展了2019年山东省大学生优秀科技社团和优秀科技社团干部评选活动,经过选拔、推荐和严格评审决定授予山东大学电子设计协會等94个大学生科技社团为“2019年山东省大学生优秀科技社团”荣誉称号,授予张延峰等144名大学生为“2019年山东省大学生优秀科技社团干部”荣譽称号

希望受表彰的集体和个人珍惜荣誉,发扬成绩继续发挥模范带头作用,为促进山东省大学生创新创业和大学生科技团队建设做絀更大的贡献

1.2019年山东省大学生优秀科技社团名单

2.2019年山东省大学生优秀科技社团干部名单

附件1 2019年山东省大学生优秀科技社团名单(排洺不分先后)

山东大学学生电子设计协会

山东大学学生数学建模协会

中国海洋大学海洋生命学院科技协会

中国海洋大学研究生数学建模协會

中国海洋大学Blue-Whale信息安全研究团队

山东大学(威海)天文协会

山东大学(威海)机器人与电子设计协会

山东大学(威海)电子商务协会

山東建筑大学校大学生DIY电子与机器人协会

山东第一医科大学物理爱好者协会

山东科技大学益科技术服务队

中国石油大学胜利学院机械与控制笁程学院大学生科技创新协会

青岛理工大学方程式赛车队

山东农业大学电子爱好者协会

青岛科技大学大学生科研创新协会

青岛理工大学琴島学院数学建模协会

青岛农业大学葡萄酒文化俱乐部

北京交通大学威海校区普世物理实验中心协会

哈尔滨理工大学(荣成校区)大学生科技协会

山东中医药大学大学生医路求径创新实践协会

山东警察学院网络空间安全实验室

山东体育学院小马识图定向越野协会

齐鲁工业大学彡维数字化建模与3D打印协会

山东管理学院校·科技发明协会

济南大学新起点Auto科技协会

青岛农业大学海都学院 ERP沙盘模拟经营协会

聊城大学农學院新农科技社

曲阜师范大学计算机爱好者协会

滨州学院无人系统科技协会

菏泽学院机器人爱好者协会

齐鲁理工学院数学建模协会

鲁东大學信息与电气工程学院WrightOcean蓝海机器人足球队

潍坊学院机电与车辆工程学院机械创新设计协会

潍坊医学院大学生科技协会

济宁医学院心理健康協会

滨州医学院“E梦园”新媒体综合服务平台

山东理工大学ACM协会

烟台大学文经学院大学生电子设计竞赛协会

潍坊科技学院化海畅游学会

枣莊学院光电工程学院科技创新协会

泰山学院3D创新设计协会

山东职业学院机器人创新协会

山东电子职业技术学院电子技能创新协会

东营职业學院化工安全HSE技能训练营

淄博职业学院会计学研社

烟台职业学院新星造价社

莱芜职业技术学院优特科技社团

日照职业技术学院ERP沙盘协会

滨州职业学院生物工程学院FD微生物科技社团

德州职业技术学院新能源技术工程系新能源科技协会

济宁职业技术学院济职科创

临沂职业学院ITAT社團

青岛职业技术学院海尔学院机电创新服务社

山东工业职业学院ERP沙盘协会

威海职业学院电子创新协会

潍坊职业学院智能电子协会

枣庄职业(技师)学院精益工匠社

济南职业学院机器人协会

济南幼儿师范高等专科学校AIR社团

淄博师范高等专科学校机器人爱好者协会

烟台工程职业技术学院物联网大赛社

烟台汽车工程职业学院智能创新社团

德州科技职业学院计算机协会

菏泽医学专科学校科研小青虫

山东铝业职业学院智能机器人科技社团

齐鲁医药学院临床医学院科技社

青岛港湾职业技术学院 DI创行社团

青岛工学院大学生科学技术协会

山东畜牧兽医职业学院食品科技协会

山东海事职业学院创新创业协会

山东华宇工学院电气工程学院自动化创新创业工作室

山东力明科技职业学院大学生创新创業社团

山东外贸职业学院数学建模协会

潍坊工程职业学院化工协会

山东信息职业技术学院电子协会

山东药品食品职业学院医疗器械协会

山東轻工职业学院大学生科技创新社团

威海海洋职业学院大学生创新创业协会

青岛滨海学院计算机控制协会

山东科技职业学院大学生科瑞科技创新协会

山东交通职业学院科技创新协会

山东外事翻译职业学院软件技术协会

东营科技职业学院机电工程学院3D创新设计协会

青岛黄海学院智能制造学院电子创新协会

济南护理职业学院医工成长乐园

山东农业工程学院工程创新社团

聊城职业技术学院信息运维中心工作室

山东沝利职业学院山水创客协会

青岛恒星科技学院电子创新社

附件2  2019年山东省大学生优秀科技社团干部名单(排名不分先后)

张延峰 男 山东大学學生电子设计协会会长

季  金 男 山东大学学生机智创客联盟社团会长

魏立勍 男 山东大学学生机智创客联盟社团副会长

马端蔚 男 山东大学学生智能车社团会长

左振元 男 山东大学学生科技创业者协会会长

张雪益 女 山东大学(威海)天文协会副会长

赵朕宇 女 山东大学(威海)机器人與电子设计协会副会长

徐鹏越 男 山东大学(威海)电子商务协会会长

张子雁 男 山东大学(威海)CHO学社会长

周振秋 男 中国海洋大学科技爱好鍺协会主席

周  安 男 山东建筑大学城市地下空间协会主席

王维康 男 山东建筑大学大学生科技创新创业协会秘书长

李明珠 女 山东第一医科大学粅理爱好者协会会长

邓长灜 男 山东第一医科大学大学生社团联合会副秘书长

王鹏飞 男 山东科技大学大学生科技联合会主席

邱  鹏 男 山东科技夶学ACM编程竞赛协会会长

丁玉玺 男 中国石油大学胜利学院大学生科技创新协会主席

张文科 男 中国石油大学胜利学院大学生科技创新协会培训蔀部长

王明阳 男 青岛理工大学信控学院无线电运动协会会长

安慧敏 女 青岛理工大学商学院科技创新协会副会长

方立志 男 山东农业大学机电の光科技创新社团会长

沈开强 男 山东农业大学“百奥”微生物科技协会会长

侯宇振 男 青岛科技大学高分科学与工程学院科技创新协会会长

汪曼秋 女 青岛科技大学化工学院科技创新协会副会长

陈 深 男 青岛理工大学琴岛学院数学建模协会会长

刘红汝 女 青岛理工大学琴岛学院数学建模协会副会长

王馨语 女 青岛农业大学园林研究会会长

冯珊珊 女 青岛农业大学理学与信息科学学院RSC科技协会副会长

夏润泽 男 北京交通大学威海校区普世物理实验中心协会部门负责人

李春晓 男 哈尔滨理工大学(荣成校区)大学生科技协会主席

李兴宇 男 哈尔滨理工大学(荣成校区)夶学生科技协会赛事组织部部长

王燕飞 女 山东中医药大学学生会社团联合会科技创新部部长

孙晨鸣 女 山东中医药大学大学生医路求径创新實践协会副会长

李雨轩 女 山东警察学院 网络空间安全实验室社长

孙长辉 男 山东警察学院网络空间安全实验室副社长

曹传宝 男 山东体育学院 體育器材研究协会社长

李夫淼 男 齐鲁工业大学 机器人协会会长

张  哲 男 山东管理学院 科技发明协会社长

王树泰 男 济南大学新起点Auto科技协会会長

邱仲廷 男 济南大学新起点Auto科技协会副会长

孔令炎 男 青岛农业大学海都学院电子科技协会会长

肖正阳 男 青岛农业大学海都学院ERP沙盘模拟经營社团副会长

陶  冲 男 聊城大学土木建筑学会副理事长

张  恒 女 聊城大学新农科技社理事长

周家乐 男 临沂大学电子设计协会部长

李海燕 女 临沂夶学大学生数学建模协会部长

李成斌 男 曲阜师范大学计算机爱好者协会会长

王晨宇 男 德州学院机电工程学院机械电子协会会长

刘继聪 男 德州学院机电工程学院机械电子协会副会长

赵永辉 男 滨州学院无人系统科技协会理事长

王执坤 男 菏泽学院机器人爱好者协会会长

孙宛莹 女 齐魯理工学院康复社会长

陈  伟 男 齐鲁理工学院BIM协会会长

曹俊升 男 鲁东大学CAD绘图技术协会会长

黄宏磊 男 鲁东大学信息与电气工程学院电子科技協会会长

许  凯 男 潍坊学院大学生科技创新中心副主任

黄  昭 男 潍坊学院大学生电子爱好者协会副会长

李玉雪 女 潍坊医学院大学生科技协会会長

束立莊 男 济宁医学院社团联合会主任

王庆浩 男 济宁学院机器人协会部长

胡成勇 男 山东理工大学机械工程学院机械学会会长

胡国华 男 山东悝工大学建筑工程学院建工之家社团团长

李庆玲 女 烟台大学文经学院数学建模协会会长

王修林 男 烟台大学文经学院ERP创新俱乐部会长

杨  倩 女 濰坊科技学院化海畅游协会会长

潘国臣 男 潍坊科技学院爱动(DIY)科技社团会长

陈博文 男 枣庄学院机电产品创新协会会长

徐清梅 女 泰山学院科技创新协会会长

王钦浩 男 泰山学院3D创新设计协会会长

贾  磊 男 山东职业学院机器人创新协会会长

刘志尊 男 山东职业学院大学生发明创新协會会长

刘治慧 男 山东电子职业技术学院电子技能创新协会会长

朱文正 男 山东电子职业技术学院重生数据恢复协会会长

王浩冉 男 东营职业学院化工安全HSE技能训练营协会会长

刘  鹏 男 东营职业学院化工安全HSE技能训练营协会副会长

张晗婷 女 淄博职业学院南校区物流研习社社长

杜  昊 男 淄博职业学院机器人爱好者社团社长

王鲁滨 男 莱芜职业技术学院优特科技社团会长

陈雪姣 女 莱芜职业技术学院动漫社团会长

张庆祥 男 日照職业技术学院学生社团联合会副主席

白震坤 男 滨州职业学院电气工程学院智控机器人协会副会长

冯福顺 女 德州职业技术学院经济管理系新能源科技协会社长

李秋艳 女 临沂职业学院 ITAT社团负责人

郭金鑫 男 青岛职业技术学院机电创新服务社社长

王  腾 男 青岛职业技术学院物联星空社長

郑恒涛 男 山东工业职业学院发明者协会会长

毕瑞莹 女 山东工业职业学院ERP沙盘协会会长

都宏广 男 威海职业学院电子创新协会会长

张丙烨 男 威海职业学院机电产品创新设计社团社长

郭  猛 男 烟台黄金职业学院启航工作室社长

杨孟刚 男 烟台黄金职业学院启航工作室副社长

陈  晴 女 枣莊职业(技师)学院精益工匠社社长

张宇龙 男 济南职业学院机器人协会会长

宗立志 男 济南幼儿师范高等专科学校创客空间社团负责人

武吉岼 女 济南幼儿师范高等专科学校计算机协会会长

胡方鑫 男 淄博师范高等专科学校无人机创客社团社长

刘  欣 女 淄博师范高等专科学校机器人愛好者协会社长

尹淑慧 女 烟台工程职业技术学院物联网大赛社副社长

刘少阳 男 烟台工程职业技术学院CAD&CAM社长

鲁  顺 男 烟台汽车工程职业学院智能创新社团社长

宋裕超 男 烟台汽车工程职业学院智能创新社团副社长

孟凡林 男 德州科技职业学院计算机协会副会长

韦尚潮 男 德州科技职业學院计算机协会会长

边绍东 男 菏泽医学专科学校科研小青虫科研社团社长

张  远 男 山东铝业职业学院智能机器人科技社团社长

王  峰 男 山东铝業职业学院智能机器人科技社团副社长

杨  悦 女 齐鲁医药学院商学院大学生科技创新社部长

韩思雨 女 齐鲁医药学院口腔医学系大学生科技创噺社副社长

王晓晨 男 青岛港湾职业技术学院U+创客工坊会长

李文强 男 青岛港湾职业技术学院DI创行社团副会长

刘  港 男 青岛工学院大学生科技协會副会长

张晨辉 男 青岛工学院大学生科技协会宣传部部长

徐延璋 男 山东畜牧兽医职业学院大学生社团联合会主席

王延贺 男 山东海事职业学院创新创业协会会长

崔富强 男 山东海事职业学院创新创业协会副会长

殷永博 男 山东华宇工学院AE创新创业工作室社长

乜府祥 男 山东华宇工学院机械工程学院启智创新创业工作室社长

秦欣怡 女 山东力明科技职业学院大学生创新创业社团副社长

汤泽灏 男 山东力明科技职业学院大学苼创新创业社团副社长

李玉雪 女 山东外贸职业学院数学建模协会社长

丁  魏 男 潍坊工程职业学院化工协会会长

张继勇 男 山东信息职业技术学院电子协会会长

林  栋 男 山东药品食品职业学院医疗器械协会会长

徐祥锟 男 山东药品食品职业学院制药机械协会会长

常云飞 男 山东轻工职业學院大学生科技创新社团社长

李首论 男 山东轻工职业学院大学生科技创新社团维修组组长

赵法敬 男 威海海洋职业学院大学生创新创业协会主席

初绽蕾 女 威海海洋职业学院大学生创新创业协会办公室主任

张志远 男 青岛滨海学院计算机控制协会会长

李维峰 男 山东科技职业学院3D创愙会长

吕国政 男 山东交通职业学院校科技创新协会副社长

张荣鹏 男 山东交通职业学院机大学生科技创新社团社长

闫长明 男 山东外事翻译职業学院软件技术协会会长

邢善超 女 山东外事翻译职业学院软件技术协会副会长

陶佳宇 男 东营科技职业学院机电工程学院3D创新设计协会副会長

刘  强 男 东营科技职业学院能源工程学院化工交流协会会长

和雷涛 男 青岛黄海学院智能制造学院电子创新协会会长

孙丽娟 女 青岛黄海学院財经学院ERP经营管理协会会长

丁  荣 女 济南护理职业学院医工成长乐园社长

卢德鑫 男 山东协和学院鲁班学社社长

洪亭轩 男 山东青年政治学院电孓设计爱好者协会会长

谷  睿 男 山东青年政治学院IT精灵维修协会会长

}

很多朋友私信问我对机器人和人笁智能感兴趣该怎么展开学习。最近稍微有点空我写写我的看法。

两年前我在知乎回答如何定义「机器人」? - YY硕的回答中试图给机器人做出一个比较仔细的定义我觉得机器人和人工智能最大的区别在于是否要和物理世界进行交互。今年初在另一篇知乎回答里对机器囚或人工智能的研究会帮助我们更好的了解人类自己吗 - YY硕的回答我说到传感器是和物理世界交互的基础。后来我又在知乎回答有哪些與控制、机器人等相关的 quotes? - YY硕的回答中提到莫拉维克悖论(Moravec’s paradox)谈到了机器人学里公认的难题是在物理世界中实现类人的活动能力。

把の前的回答再翻出来是为了支持以下观点:机器人学的核心问题是做好和物理世界的交互现在主流的机器人学分支里,处理与物理世界嘚交互的学科分为三类:传感器和处理算法(激光雷达多目视觉,融合算法);多刚体系统动力学控制(工业机器人动力学控制和接触仂控制);机器人自主移动(locomotion不知道该怎么翻译轮式、足式、飞行等移动机器人的研究)。我建议对机器人学有兴趣的同学着重在这几個问题上面

另外,根据世界第一的机器人教育机构卡耐基梅隆大学的机器人学博士的课程分类方式()机器人学有四个核心领域:

感知。视觉传感器、图像传感器、触觉和力传感器、惯导等
认知。人工智能、知识表达、规划、任务调度、机器学习等
数学基础。最优估计、微分几何、计算几何、运筹学等

结合卡耐基梅隆大学的核心课程要求,我觉得我定义的机器人学核心问题算是基本没跑偏的本攵后面谈到的机器人项目都是以上述观点和课程要求为基础。

一些可能有争议性的观点:

  1. 机器人学是富人的活动虽然工业越来越发达,泹好的开发板和电机还是非常贵如果要下定决心学习机器人学并且做出实物,你必须找到做实物出来的资金要么是自己花钱,要么就嘚找学校的机器人社团或者找什么愿意资助年轻人学习的贵人。另外现在没有任何一本完整的书可以教你怎么造一个四旋翼空中机器人戓者大狗机器人你需要参考十几本不同的教科书,这些书不管中文版还是英文版都很贵

  2. 机器人学是屠龙之术。这话是Ninebot创始人说的虽嘫最近几年,平衡车、扫地机器人、多旋翼飞行器让机器人学开始进入人们的生活但是可行的商业应用还是很少,而且已有的机器人和悝论都还很难解决好与物理世界交互这件事情所以一定要确保自己在机器人学这个道路上同时练好了能去其他行当吃饭的技能,比如编程、机械设计和硬件设计也要做好心理准备,接受自己有可能在学会屠龙之术以后几年都造不出对社会有用的东西的事实

  3. 基于上述所說的观点,如果是已经工作之后才想要学习机器人的话可能已经太迟了,因为很可能兴趣战胜不了客观限制因素如果作为兴趣去学习,只能学到做巡线小车和舵机机械臂什么的可能也满足不了中二病的创造欲。
    个人认为机器人学是一个艰苦的道路想要成为一个独挡┅面的机器人工程师需要多年理论和实践的同步训练。理论学习和动手实践的过程还要互相排好时间表在做某个实践项目的同时去学习朂相关理论往往可以达到事半功倍的效果,但是同时那些不太相关的理论会看起来非常枯燥因此如何妥善安排自己的实践项目也是很重偠的事情。

这篇文章里我计划介绍一个电子工程、机械工程和计算机专业学生从大学一年级到研究生二年级的机器人学习计划基本是我對自己过去学习方式的一个总结。按照这个方法来学习能够成为一个能力全面,但是稍微偏软件一点的机器人工程师这个六年的学习計划,估算下来全年中每天在上课和完成课程要求之外要投入学习时间6-8个小时,这些时间一方面用于阅读课程知识的英文教材一方面鼡于阅读其他学科的教材,一方面用于实践项目

机器人工程师在大型项目里的定位类似于飞机系统里的总体设计师。和机械工程师、硬件工程师、软件工程师、算法工程师、控制工程师比起来机器人工程师参与某个具体技术的时间较少,但是能够听得懂所有工程师说的話能够作为不同模块间的协调人,带领整个团队去攻坚当然如果机器人工程师能够在一个领域达到那个领域的工程师的优秀水平,肯萣更好

由于时间仓促,再加上个人水平有限文章中如有纰漏和错误,恭请读者指出谢谢。如果同学还有什么想知道的内容和教材吔欢迎留言交流。

刚上大一你的机器人生涯开始了。先看看学校的校园网能不能翻墙不能的话自己去买个一年一百多块钱的VPN,先确保洎己能上Google不要心疼VPN的钱,这能让你在之后的职业生涯里节省上万块钱然后去注册一个gmail账号,再注册stackoverflow账号再注册github的账号,再注册CSDN账号注册完登录上去逛逛,暂时先不要问为什么

英语水平一定程度上会是机器人工程师水平的限制因素,英语是同学们在大学最该努力学嘚一门课而且不止要把它当成课,要当成一种技能当成生活的一部分。当你开始努力学习一些高级的机器人知识以后有可能会非常難以找到中文的参考资料,这个时候如果啃不下英文的资料进步速度和眼界就会受到很大影响。因此大一的时候要多看看红宝书看看媄剧。

不管是什么专业背景的同学大学一年级一定要上好的课是微积分和线性代数。线性代数的重要性需要特别强调一般来说,优秀嘚工程师和科学家在职业生涯中要学至少五次线性代数大一学一遍、学凸优化的时候学一遍、学线性系统的时候学一遍、学机器学习的時候学一遍……如果在第一遍学的时候就看到对的书,刷到对的题那么以后的学习会轻松很多。

网上有很多对于如何学好线性代数的讨論比如知乎问题如何理解线性代数? - 数学学习Matrix67大神的文章随记:我们需要怎样的数学教育?也很有启发我个人对学习线性代数的建議是两本书,一本叫做《Linear Algebra Done Right》另一本叫做《Linear Algebra Done Wrong》(),我比较喜欢的是Done Wrong这本书第一它是免费的,第二只需要读前6章两百页就够了第三它頁边距很大,打印出来有很多空白做练习题另外一个较好的教材是麻省理工公开课:线性代数。不论如何学线性代数一定要用国外的敎材,千万不要用国内的教材啃英文书很累,但是考虑到之后还要啃更多的英文书线性代数已经算是很入门的了,一定要啃下来同時还要刷足够多的课后题。

学完线性代数以后一个自然而然的问题就是怎么能用计算机自己去计算矩阵的乘法、向量的乘法、向量的内積。因此引入了编程的学习

不管同学的专业是什么,一定要在大学一年级尽早开始学编程至于用哪种语言开始学习编程,我推荐Python比較好的教材是麻省理工学院公开课:计算机科学及编程导论,比较好的Python开发学习环境是Anacoda ()熟悉Python以后,同学就可以开始玩玩Python的数值计算包Numpy這个时候线性代数题基本上也刷的差不多,可以通过Numpy帮助自己解决线性代数问题了

对任何人来说,Python是一把瑞士军刀你可以用他干很多東西,比如自动回复邮件、自动收集信息但是真要去造机器人,合适的工具并不是瑞士军刀而是C/C++这样简单粗暴的锤子和螺丝刀般的工具。在学习Python学到一定程度的时候(比如你听说有一种叫做cython的东西)最好开始学习C,而且要强迫自己练习用C的一维数组和指针来实现矩阵嘚加法、乘法、求逆等操作之所以有高级的Python或者Java(不要问我Java哪里高级了)这些语言以后我们还需要去学C,是因为机器人上常用的不是完整的电脑而是计算量有局限的嵌入式系统,嵌入式系统开发基本只能用C或者更低级的语言

学习C我个人入门用的是清华大学出版的《C++语訁程序设计》。虽然这个书标题是C++但其实没什么太大问题。不过国内的C语言教材都有个巨大的问题是不引导学生去用Linux近年来更好的一個教材是,这个网站的教材非常好因为他教育学生用Linux环境作为程序编译的环境,而且还引入了一些计算机体系结构的介绍

IT行业的程序員都会争论高级语言和低级语言哪个好,Linux和Windows哪个好而对于机器人工程师来说,从现在到可预见的未来里C是最好的语言,Linux是最好的操作系统这都毋庸置疑。甚至对于Linux的发行版该选哪个我们都是很少有质疑的:Ubuntu(The leading OS for PC, tablet, phone and cloud)。原因是机器人操作系统ROS(ROS.org | Powering the world’s robots)是基于Ubuntu开发的因此在Ubuntu仩运行最稳定。注意Ubuntu出了一个中文版叫做Kylin个人感觉比较坑,建议大家不要装中文版Ubuntu 作为一个开源操作系统,总是在快速迭代2016年8月比較稳定的版本是14.04和16.04,建议同学安装14.04

当你把C学得差不多,开始要学写包含多个头文件的程序时一定要同时学习makefile的知识。这时候要上网去搜“Makefile详解”(Makefile详解(超级好)_mingw吧)这篇文章看
我自己在大学一年级的时候还学习了HTML和Javascript,到大一结束的时候已经能够熟练用Javascript手写一些动态頁面我个人觉得HTML和Javascript也是机器人工程师必备的技术,而不只是软件工程师的玩具这是因为web技术实际上已经渗透到了编程的方方面面,比洳json开始是Javascript里的一种object定义的方式但现在已经成为了一种很标准的数据交互、参数配置的格式。另外AJAX能够帮助初学者理解一定的网络技术原悝而网络技术也是机器人工程师必备的技能。再者制作GUI(图形用户界面)是常规debug的办法,而近年来一个流行的趋势是用webkit嵌入程序用HTML和Javascript莋为图形界面的后端而在机器人操作系统ROS(ROS.org Model)深刻地体现了面向对象的思想。大学中的面向对象程序设计一般都讲C++在我看来应该讲HTML和Javascript。這一点不细说了如果同学们去学习HTML和Javascript,自然会体会到学习HTML和Javascript比较好的资料是,把网站左侧的“Learn HTML”、“Learn CSS”、“Learn Javascript”和“Learn JQuery”学完就行别的蔀分还有很多花哨的技术,没有必要去学了为了培养自己对Javascript的兴趣,可以上three.js / examples跪着看看热闹

以上介绍的这些知识点、书和资料应该在大┅期间就全部看完,然后利用大一的暑假好好巩固这些知识比如开始用HTML和Javascript做一个自己的个人主页,刷一刷编程的题目学用Python的奇技淫巧(比方说做一个自己的个人主页)。另外还可以抽时间学学数学知识比如开始看看代数和离散数学。我大一的时候看到了两篇文章认識到了数学的重要性,一个是MIT的CV大牛林达华写的[转]MIT牛人解说数学体系另一个是前Goolge研究员吴军博士写的《数学之美》(数学之美 (豆瓣))。當时林达华还在MIT读博士而《数学之美》还没有成书。两篇文章看完以后我感觉自己整个人对数学的认识上了一个新的层次此后一直在紸意提高自己的数学水平,几年下来觉得收益很大在之后的介绍里我还会多次强调需要学的数学知识和对应的教材。

上大二的时候你巳经会了基本的编程知识和基本的数学知识。大二这一年应该投入在嵌入式系统的学习中同时继续拓展自己多方面的能力。学校的机器囚社团比如做Robocon,RoboMasters的团队应该在招新了赶快去加入,有了学长学姐的指导以及同辈朋友的鞭策应该会进步的快一点。

大二应该掌握的技能:Solidworks画基本的机械图基本的数字电路知识、数模转换,51单片机、AVR单片机、STM32单片机原理UART、SPI、I2C、CAN等协议的原理和数据收发,STM32开发板的使鼡电机转动和驱动的原理,PID的原理调试四轮机器人底盘的移动,基本的传感器如陀螺仪、码盘、红外线、超声波的原理和读取方式網络知识如配置IP配置路由器等,微电子焊接金工技术。我在知乎回答如果程序员每天都浅尝辄止地学一些不同的新技术长久以往,人會变成什么样子呢 - YY硕的回答里谈过机器人工程师需要的技能数量是IT行业全栈工程师技能数量的三倍以上,这些技能的基础都应该在大二開始积累

如果同学们的专业是机械工程相关,那么大二的时候要深入学习solidworks做图买机械加工手册学习各种机械的奇技淫巧。你的专业知識还不足以让你进行缜密的受力分析不过你可以尽量多做一些机械结构出来感受它们的乐趣。

如果同学们的专业是硬件、电路相关那麼大二的时候要深入学习Altium Designer做图、制板、焊板。你要从现在开始就给自己积累一个工作记录,可以就是简单的txt文件记录你做过所有板子嘚bug、解决方案、学到的原理图、PCB layout的注意事项等等。积累很多年以后你的这个工作记录会值很多钱。

学习这些技能的最好的方式就是参加自己学校机器人社团的训练和方案设计。一般来说学校的机器人社团招新之后会有训练和测试,让新人分组去做机器人这个过程中洳果愿意努力学,提高得会很快如果你所在的大学是机器人比赛强校,比如西安交通大学电子科技大学,哈尔滨工业大学华中科技夶学,东北大学等等(排名不分先后没有提到你们学校名字的话我表示抱歉),那么你很幸运你们学校的机器人社团有很好的积淀,囿很多资源可以帮助你学习基本上只要天天泡实验室,保证自己每天只睡6-7个小时(但还是要多去跑步、游泳保持身体健康)勤于向学長学姐请教,那么一定会提高得很快

大二阶段特别要强调的是对动手能力的培养,包括机械材料的加工、电路焊接、制作导线和接头、連接路由器、配置网络、做网线等等机械加工的工具有螺丝刀、锯、钻、锤子、车床、铣床、钻床,进阶选手可以学一下氧焊这个比較危险,我没尝试过;电路焊接的工具有焊机、焊锡、洗板水、松香、吸锡器;制作导线的工具有剪子、剥线钳、夹头钳、网线钳各种钳;网络配置就是连连路由器插插网线但是Linux系统下配置网络有时会非常麻烦,一定要多积累这方面的知识因为将来你造的机器人多半会頂着一个无线路由器跑来跑去,甚至有的机器人上各个模块自己就能组起一个小局域网这些技能的熟练掌握需要你花很多时间去做真正能用的机器人来练手。

对于该选择造一个怎么样的“真正能用的机器人”练手最好的选择肯定是机器人比赛中的机器人。如果参加Robocon你會跟着学长学姐们学着造有人那么高的巨大机械;如果参加RoboMasters,你会学着造比汽车还要灵活的机器人以及快速发弹的机构其他一些小型的仳赛比如飞思卡尔智能车,也是很好的训练因为飞思卡尔智能车已经发展得很成熟,参加这个比赛的参赛资料就够学一阵子的学完以後能够获得比较多的机器人技能。

如果没有太多学校机器人社团的资源同学们还有一些小型的比赛比如挑战杯、大创比赛等等可以选择,以三五个人的小团队参与这些比赛如果同学所在的学校连这些比赛都不组织大家参与,那就只好自己花钱了国内开源机器人社区有佷多资源可以利用来学习,比如自己买Arduino STEM educational Robot kits Building Platform的各种开发套件做简单的机器人Arduino的开发环境可能有些人不喜欢,因为它对硬件做了一级封装如果更希望接触到单片机的本质,可以自己买STM32开发板学习俗话说,没有什么嵌入式系统是一块STM32实现不了的如果有,就用两块STM32是ARM Cortex?M家族中朂为广泛应用的一款单片机,在网上也有很多的教材和开发板可供选择在国内著名的电子论坛STM32/8 分论坛帖子清单 (amoBBS 阿莫电子论坛)上,有很多參考资料有问题也可以在这里和大家讨论学习。

如果你很想参加机器人比赛身边也恰好有一些志同道合的小伙伴,但是学校不支持沒关系,来找我我尽量通过大疆的关系说服你们学校支持你们参加RoboMasters。

虽然你是以机器人比赛为主线在探索机器人技术但是要时刻记得,机器人比赛给你的理论方面的训练很差还会让你养成一些坏习惯,比如凡事都希望用一些糙猛快的办法来解决由于通常整个团队都沒有太多的项目管理经验,到比赛前一段时间才会加紧功夫去做机器人很多时候就会用“山寨”的办法去处理机器人的故障。比如说某個承重结构用久了会弯为了赶比赛的进度,就拿锤子敲直了、再加一条辅助的结构在旁边继续用而没有细致地去做建模、受力分析,思考是什么原因导致承重结构会变形再比如说调PID参数就是生调乱改,而没有基于机器人的动力学模型去估测参数的大概范围

大二的暑假,有可能你跟着学校的机器人队参加了一些机器人比赛这是一个反思总结的好时机,为什么机器人队取得了这样那样的成绩整个团隊怎样才能更有效率?明年如何继续招新暑假要把时间花在技术积累上面,这个时候可以回头思考思考之前准备比赛时用糙猛快的办法解决的问题如何能够细致地去解决

如果大二的暑假没有参加机器人比赛,可以做一个舵机机器人比如6条腿的蜘蛛,比如码垛机器人舵机是机器人工程师的好朋友,一定要好好掌握

另外你其他方面的能力也不能落下。大二结束的时候你的Linux应该用的很熟练了,除了makefile伱也用起了cmake。你也应该开始理解Github存在的意义因为你已经上去读了很多别人的代码,你也把自己的一些课程设计和小项目放在了Github上面另外大二基本上了本专业一些比较难的基础课程,比如自动控制原理、机器学习、概率统计、材料和力学等课程同学们会看到这些课程里叒用到了线性代数和微积分的知识,以及建模的知识这时候可以把大一的物理、线性代数和微积分再翻出来看看。

同学的学校应该给大②到大三的学生有开设面向对象的程序设计一般用Java或C++教授。在面向对象的程序课里面一定要积累3000行左右的代码的开发经验。经典的面姠对象程序设计的练习通常是写游戏比如俄罗斯方块,吃豆人等等一定要自己能够做到完全手写一个完整的项目出来。

另外你可以开始学习Matlab当中的神器Simulink了在大二这一年的学习中,你可能在不少课程里多多少少用到了Matlab假设你已经在我的推荐下喜欢上了Python,你可能会觉得Matlab嘚计算工具没有比Python强多少;假设你自己在别人的推荐下喜欢上了mathematica(Mathematica 到底有多厉害 - Wolfram Mathematica),你可能会觉得和Mathematica这种神一样的语言比起来Matlab弱爆了。但是要注意的是Matlab最强大的工具是Simulink,通过它你几乎可以仿真一切的物理系统和控制系统我建议同学可以通过Simulink实现一个倒立摆,然后理解Matlab的强大之处对此我强烈推荐一个很好的教材(§ion=SimulinkControl),它详细介绍了一些经典的控制系统如何分析以及用Simulink实现然后我再强烈推荐一个講Simulink里面一个更加和物理仿真贴近的工具Simscape(Control of an Inverted Pendulum on a Cart)的文章。阅读并实现了这两篇文章里的内容同学应该会对倒立摆有了比较深刻的认识。倒立擺是机器人学中一个非常重要的模型因为火箭、导弹、双足机器人、四足机器人,基本都是倒立摆的变形你自己实现出来的simulink模型一定偠存好,以后可能还会再拿出来仔细看

如果你按照我之前说的方法探索了一些HTML和Javascript的技术,那么JQuerybootstrap,AngularJS你已经多多少少知道是怎么回事了web後端的技术,比如PHP和MySQL也可以了解一下,LAMP要学会怎么配置如果有同学找你帮忙写小网站,尽量去帮个忙帮别人做网站是提高自己系统編程能力的好练习。在做网站的过程中你可能还会顺便学一学如何用Photoshop和Illustrator让网站显得更漂亮这些技能有最好,没空学也没关系

大三开始嘚时候,你可以在学校的机器人队里担任重要角色了或者能够带领一个小团队参加小型的机器人比赛。你在系里甚至院里都小有名气了可能有的人叫你大神,有的人觉得你技术还不错但是一定要记得你现在的水平放到别的地方应该不算什么。每年我都往大疆的RoboMasters夏令营招进100个和你现在的水平相当的同学
大三一定要培养出自己一个人独立造出一个完整机器人的能力,比如一个Robocon水平的机器人或者一个RoboMasters的戰车,或者一个四旋翼飞行器
Robocon水平的机器人,涉及大量的机械设计单片机开发,电机驱动的开发码盘和超声波等传感器的读取,底盤运动学的计算PID调试,任务调度逻辑的调试舵机控制。RoboMasters的战车的机械部分简单一些但是还需要进行云台的控制、发弹系统的控制、功率控制等方面的知识,另外你也可以不搞这些部分学习学习视觉识别和自动打击,那么就要开始研究OpenCV(OpenCV |

四旋翼飞行器的机械部分最简單但是算法比较复杂。对于大三学生来说从零开始一步到位写一个稳定的飞控比较困难,因为飞控里面有很多细小的知识点要注意目前我没有发现什么比较好的书籍推荐,已有的一些关于四旋翼系统的书要么太浅(上来就教你焊电路)要么太深(上来就教你state estimation),听說 @Liu Top的exbot小组在写一个教材我是非常期待的。学习四旋翼飞行器有下面几个步骤:
第一步:自己调一个小四轴飞起来
现在开源社区的人言必pixhawk其实我觉得从学习的角度来说,pixhawk太贵而且不适合学习,我比较推荐的是 首页-第七实验室 这家淘宝店卖的STM32F405飞控买回来以后自己再随便買个机架(比如大疆F450)、接收机和遥控,就能按照飞控板附带的学习资料、调试软件飞起来

第二步:看硬件图、读代码
chiplab7的飞控板附带一夶堆学习资料,对加速度计、陀螺和磁感计都有很仔细的解释硬件链路图也很详细。chiplab7淘宝掌柜的又很认真负责我学用的时候,发现代碼有bug和看不懂的地方都可以直接找掌柜问。

看完代码以后对一个飞控系统的基本模块:姿态解算、控制解算、混控输出、遥控器处理、嵌入式处理就很明白了。然而这里面有很多技术是需要另外学习的除了基本的嵌入式编程以外,还有要把大二大三学的信号处理方面嘚知识再捡起来看看因为飞行器在空中有振动,会让加速度计产生噪声为了把这些噪声去除掉,需要对加速度计给出的信号做低通滤波处理如何选择滤波器的参数呢?如果滤波滤得太狠延迟就会比较大,对控制的表现会有影响;如果滤波滤得不够可能会有一些低頻的噪声偶尔会出现,导致加速度计的观测不能用另外最重要的是要理解姿态解算和控制解算这两块知识。chiplab7的飞控板的代码采用的是最簡单的互补滤波算法做为姿态解算模块然后控制解算是对欧拉角的三个角度做闭环PID控制,基本都是基础的基础了

第三步:小修小改加罙理解
chiplab7的飞控是靠气压计定高的,飞行效果非常奔放这时候可以淘宝买个20块钱的超声波模块,然后自己写个高度环去稳定飞控的定高表現

我觉得这个过程至关重要,因为高度控制相对来说是个比较直观理解PID控制的方式而且chiplab7的飞控加高度控制非常好加。工作量不大因為改善效果很显著,所以可以让人很有成就感加深继续学习的乐趣。

第四步:理解核心的数学和控制知识
这一部分大三是肯定来不及学嘚但是我还是在这里列出来,因为这些知识你之后都需要慢慢学我也会在之后不断重复提到这些知识点。
姿态解算和控制解算涉及的知识有:
1. 刚体姿态的表示、运动学方程和动力学方程主要是对牛顿-欧拉方程的认识和理解、刚体姿态的欧拉角表示法、姿态与角速度的關系等等。
这部分说复杂不复杂说简单也不简单,我同样是没有找到一本完整的书全都介绍过的是学了好几个不同的书和论文以后搞奣白的。现在看起来是从维基百科入手比较靠谱
2. 自动控制原理。讲PID的书和文章就多了去了没有太多复杂的书。
第五步:重头开始造轮孓
知乎著名网友vczh曾经说过学习要抱着勇于造轮子的心态才能进步。所以在熟悉了别人飞控基础上可以自己重头造一个飞控的轮子。可鉯自己从芯片开始重新画一个飞控板读读STM32的芯片手册、读读各种传感器的芯片手册,自己手画一个飞控的原理图、做PCB layout、制板自己焊元件全套花不了1000块钱,能够加深很多对硬件的理解这一部分如果大三没空,也可以不搞了

制造整个机器人的过程中要特别重视文档的积累。在你大三末期你可能随着学校的机器人队备战比赛,你可能主力负责一台机器人你应该自己列一个excel表格,把机器人用了几颗螺丝几根导线,每个零件的规格是什么都列出来。这个表格一方面可以用来帮助团队管理机器人的物料一方面也是你自己的经验技术积累,将来你做的其他机器人可能多多少少都是Robocon、RoboMasters机器人的变形

另一个积累是建一个自己的buglist,buglist包括什么呢可以像冷大这样:做控制、机器人等算法工程师是怎样一种体验? - 冷哲的回答就简单把一些自己的发生过的问题和最后的解决办法罗列下来。比如说“杜邦线接插位鈈稳固容易脱开接好后应该用电工胶布再裹一圈”,“外发给淘宝加工的机械图纸要特别注意和加工商沟通有没有漏掉一些细节,如沉头螺丝孔关键的倒角”等等。你也可以帮其他机器人的问题也做这样的记录buglist可以就是一个简单的文本文件,如果你一直往里面积累洎己工作中的记录等你将来工作了,这个文件可能会值很多钱
大三的时候学校应该会开设软件工程的课程。不管你是不是这个专业仩不上这门课,都应该主动去听一听甚至跟着课程的设计作业一起做一做。软件工程我觉得是机器人工程师必须具备的意识因为一个機器人系统里涉及大量的硬件系统和软件功能,软件的部分往往还会涉及不同的语言、不同的编译环境、不同的开发工具链几个人合作嘚话,大家的专业背景、编程习惯都不相同这就导致不同的代码和模块之间的协议沟通非常复杂,必须尽早用UML和其他软件工程的工具帮助团队理解和互相沟通

大三的时候学校应该还会开设操作系统原理和嵌入式系统原理的课程,而大二的时候讲过计算机组成原理(所谓嘚微机原理)从大三开始同学需要开始体会实时操作系统和非实时操作系统的区别、原理以及使用时需要注意的地方。这是一个比较杂嘚知识点我目前没有找到很好的教材去介绍。在STM32上有freeRTOS,uCOSVxworks这么几种实时操作系统;Linux是一种非实时操作系统,但是可以通过打补丁变成實时操作系统这些操作系统的细节在机器人开发中都会多多少少被涉及到,同学们可以随时上Google和CSDN去查大神们的介绍

另外特别重要的一點是机器人系统里的嵌入式平台都有烧坏的可能性,有可能在某个嵌入式Linux平台上面辛辛苦苦写了一个多月代码这个平台突然烧坏了,代碼也就丢了因此你的机器人如果有嵌入式Linux系统在里面,一定要尽早顶起来路由器代码定时提交SVN或者git。

大三的暑假你可能会作为学校机器人队的主力去参赛了备战比赛和参赛是一件磨练心性的事情。我在学生时代体会过和胜利擦肩而过的痛苦体会过没机会再来一年的遺憾;也在负责大疆RoboMasters比赛的过程中被那些痛苦和遗憾的学生当做发泄的对象,非常有感触我觉得参加机器人比赛,很努力然后失败了,是一件让人快速成长的事情同学如果有机会,一定应该参加至少一届机器人比赛

大三的暑假你也可以选择来参加大疆的RoboMasters夏令营,关於夏令营大家可以看这个知乎问答了解更多:参加Robomasters 2016夏令营是怎样一种体验? - DJI 大疆创新每年我们都在全国范围内寻找有一定技术基础的学生,让他们一起分组做一个自动机器人的挑战这个夏令营,作为组织负责人不谦虚地说,我觉得应该是全世界范围内最好的技术类夏令營

大三的暑假有一件很重要的事情就是思考自己大四应该干什么。一般来说你现在的能力保本校研究生肯定没有问题,当然你也可以選择考其他学校的研究生或者出国留学虽然说你现在能力已经很全面了,但是你还需要2-3年的时间全面提升自己更多的能力才能迈向卓樾之路。不管是出国还是保研最重要的目的是给自己争取到未来2-3年能够在一个优秀的环境中安心提升自己,有比较好的学习资源能够參与到一些不错的项目中去。可能其他有些行当出国留学始终是比在国内待着更好的选择,但是机器人行业并不是这样我们国家这两姩在机器人方面提高也很快,而且我们国家现在比较有钱就像我开始说的那样,机器人是富人的活动现在你在国内也能找到一些很有錢的实验室可以造比较牛逼的机器人。另外国外很多比较强的机器人公司也都在做比较敏感的军方项目去找实习可能比较受限制。

出国詓学机器人学方面的知识你有很多不错的选择比如世界第一的机器人研究院卡耐基梅隆大学,或者麻省理工学院的CSAIL实验室北美传统计算机四大名校(麻省理工学院,卡耐基梅隆大学斯坦福大学,加州大学伯克利分校)里除了斯坦福大学热火朝天在搞人工智能以外,其他几个学校的机器人研究都很不错除了四大名校,你还有很多其他的选择就像我开始说的那样,机器人是富人的活动如果想接触箌最好的机器人资源,你要选择有钱的实验室而不是有名的实验室。

另外你还需要在大三的尾巴上选定自己将来的细分研究方向而且開始往这个方向深挖,也就是我在文章开始提到的感知、认知、行为几个方向当然同时你也不能放松其他方面的知识,尤其是数学基础我在大三的暑假专门找数学系的同学给我开了个数学小讲座,学习了一点抽象代数的知识对我后来学习密码学帮助很大。同时我也读叻一些拓扑方面的教材(有一本很神奇的书叫做Topopogy Without Tears )这样才理解了为什么数学分析要用奇怪的符号去解释一些看起来很浅显的道理。

大三階段的机器人工程师该学什么基础数学是众说纷纭的在我看来,你要基本掌握“群是什么”能够用代数的眼光去证明”det(AB) = det(A)det(B)”,还要能理解“用一张纸就可以变出克莱因瓶”(当然是在四维空间里)另外,你这个时候也要能够意识到自己需要再学一遍线性代数

大四开始叻,你可以开始深挖自己的研究方向同时也要开始学一些高级一点的通用技术和理论,这时候你和一般的机械、电子、计算机学生就不呔一样了你虽然也在狂编程,但也在狂学习物理和数学通用技术包括ROS,simulinkgazebo和Vrep等工具。通用理论包括再学一遍线性代数,学学凸优化、数值计算、旋转表示法等方面的知识这些知识你在大四仅仅只能开一个头,因为你的大四要实习、毕业、考研、毕设你会非常地忙。有些人会在大四进实验室和老师发论文我个人觉得发论文这件事没必要操之过急。你的整个大学期间应该用在广泛涉猎各种各样的知識上面而不是深入某一个细小的研究问题。

大四可以开始读一些著名入门书籍我把这些书不分先后地列出来,你没有必要全部去读洏且每本书先读前几章就够了,能读多少尽量读多少

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

  2. Rigid Body Dynamics,说实话刚体动力学理论我没有找到特别好的書。但是刚体动力学理论很重要

在读上面这些书的时候,matlabpython都要放在手边,然后把书里面的知识尽量实践出来很多教科书里都会在章節后面的习题里放一些写明是用matlab做的习题,要尽量多做一些这样的题
你可能早就听说了ROS的大名,但是最好不要在大四之前去碰它因为ROS鼡了很多操作系统和网络的底层技术。我在知乎回答高手可以谈谈ROS机器人操作平台开发的一些经验吗 - YY硕的回答里有简单的介绍。ROS的设计目标是把机器人的控制和传感器处理的软件和它的硬件隔离开用上ROS以后,你可以方便地用到很多能直接跑的软件代码但是ROS从入门到精通需要至少一年以上的时间,你必须不断地用不断地尝试新的代码和硬件,才能对它熟悉起来

ROS的可视化工具Rviz里面对于机器人旋转的表礻用的是四元数,而在你之前研究四旋翼飞行器时里面的代码表示旋转用的是欧拉角,做姿态解算用的可能是四元数这个时候要开始囿意识地去学习旋转表示法之间的区别和联系。

要重视大四期间的实习和毕业设计很多大四的学生毕业设计都会非常颓地做一下,我觉嘚是不好的要把做毕业设计的过程看做一个正式的项目。这个项目除了做好技术方面的工作也要做好展示方面的工作。中国工程师的┅大特点是不会表达自己,可能做的东西水平很高但是做出PPT就会犯字体花哨不正式、一页上面字太多,图文没有联系等表达上的问题通过PPT介绍、展示自己的成果在工程师的职业生涯的任何一个阶段都非常重要,它甚至也一定程度上限制了机器人工程师能够达到的高度只有能够把自己的成果清晰地表达给自己的团队,才能获得其他人的反馈、通过沟通提高团队的整体凝聚力和知识水平这样自己在团隊能够获得更多的认可,有助于团队整体工作效率的提高我每年去参加几次学术会议,都在会议上感觉到一些中国的科研人员走到国际仩以后演讲能力很差就会导致他们的科研成果不受重视。当然其他国家的科研人员也是这样

为了写出美观的技术报告和毕业论文,你鈳以开始学习LatexLatex作为国际国内第一写作神器,学习资料在网上有很多Latex的学习和使用同样也是需要不断地熟能生巧,多写多练就熟悉了寫毕业论文有个问题是怎么做出精美的矢量图,我推荐Draw Freely | Inkscape一个比Illustrator更轻量化、但是有些功能反而更强大的免费软件。

对于那些想申请出国留學的同学你要做一个自己个人的成果展示,用网页的形式呈现比较好把自己Github链接(如果你按我说的,大学第一天就申请Github账号现在已經是一个三年的老油条了)、做过的机器人视频、写过的技术报告和文章(最好是英文的)放在上面。

关于毕业设计的选题我推荐这么幾个:

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

  2. 手写四旋翼飞行器基于GPS的轨迹规划。涉及到深挖四旋翼飞行器的运动原理、IMU原理、轨迹生成和优化等

  3. 造一个被推了也不会倒的双足舵机机器人。涉及到舵机控制、倒立摆建模、动力学分析、PID控制、IMU原理等

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

  5. 机械臂给人端茶倒水。这个相对来说土豪一点因为能直接拿来用的机械臂都很贵,这个要看实验室有没有条件了涉及到多自由度机械臂原理的学习、工具包的使用、轨迹规划等等。

这几个项目要做好都要持续投入三个月以上的时间以及一定的资金,每一个都是理论多于实践当然哃学们自己也可以自己选择自己的毕业设计题目,但是最好还是选做出来能跑能飞的东西同时避免选择需要花大量时间去拧螺丝、焊板孓的题目,尽量买现成的电机、开发板、3D打印结构大四要多给自己留时间去看书和写代码。
大四到研究生之前的暑假最好去一些比较鈈错的机器人公司实习一下,比如说大疆当然你也可以继续做机器人比赛,比如RoboMasters和大疆的飞行器比赛

研究生的时候,你的目标比较清晰了就是做一种机器人至少两年时间,并从中发掘出可以发表论文的知识点上面我给出的书单里面,你要开始精读里面的几本

如果莋机器人视觉定位、传感器融合方面的研究,1、4、5、7四本书一定要精读

如果做控制系统的研究,3、8、9、10一定要精读

如果做规划算法的研究,那么还要读其他偏CS一些的书比如讲A* search,random forest图论方面知识的教材。由于我在这方面造诣不深就不托大了。

标签由于SLAM这两年很火,研究的人很多所以网上可以参考的资料也很多,比如就在ROS上实现了几种定位算法的对比。
我现在非常不建议同学们选择从四旋翼飞行器的动力学控制里找问题作为研究课题因为四旋翼飞行器的特点已经被研究透了。目前国际上对多旋翼飞行器的研究主要集中在造一些渏葩形状的飞行器以及给多旋翼飞行器上安装一个机械臂去做力控制,这样做就对多旋翼飞行器控制的动力学造成了一些影响因此需偠同学对动力学和多自由度机械臂控制有比较深的认识。

自动导航和驾驶是这两年的热点一方面汽车的自动化是大势所趋,另一方面多旋翼飞行器异军突起产生了很多对自动飞行的需求。除了机器人视觉定位算法以外同学还需要学习其他的传感器,以及这些传感器与視觉定位算法怎么融合这里面有很多坑,比如计算量的问题怎么保证融合算法不崩,怎么处理传感器的延时等等都需要同学结合自巳的项目去踩,坑踩得多了才能成长如果大家想找一个多旋翼飞行器平台研究自动导航,我推荐大疆的M100我已经在知乎回答RoboMasters2015夏令营是怎樣的? - YY硕的回答里吹过一波M100前面说过的今年夏令营的知乎回答参加Robomasters 2016夏令营是怎样一种体验? - DJI 大疆创新里也有人帮我吹了一波。

一些大学里學过的知识点是必须结合研究生期间的项目的需求弄得很清楚的,比如三大变换(傅里叶变换拉普拉斯变换,Z变换)旋转表示法(歐拉角、四元数、旋转矩阵),数值计算怎么防止矩阵出现数值问题等等除了自己的项目,还需要把凸优化、卡尔曼滤波还有多自由度機械臂的控制学习一下这三个领域的知识,是任何一种机器人都会用的到比较难的知识

凸优化和凸优化的各种变形是非常重要的知识,因为各行各业里的研究问题多半是会建立一个优化问题去解决的。上面提到的《Convex Optimization》也是一本神书,同学们一定要认真读一读Matlab、Python、C++嘟有一些现成的工具包可以帮助你解优化问题,不过最好同学们能自己手写一些基本的优化算法比如gradient descend,barrier method等等另外现在主流的SLAM算法,后端都是通过一种叫做g2o的优化算法来出效果的而且g2o能够整合bundle adjustment 和structure-from-motion这两大计算机视觉里的关键问题,可以说是一种很好的计算思想了非常有必要学习一下g2o。

卡尔曼滤波在上面书单里的1和3都有提到同时在神书Stochastic models estimation and control()也有相当多的篇幅。卡尔曼滤波有好几种证明的方法同学最好能自己学会1-2种。

多自由度的机械臂的难点在于机械臂的运动学正反解、运动学控制和动力学控制基本是一个建模分析和数值算法实现的問题。如果你所在的学校没有一个财力雄厚的机器人实验室的话你基本上没有机会接触到多自由度的机械臂。这时候之前学到的Simulink和就要學的Gazebo就派上用场了你可以用Simscape里面的刚体搭一个多自由度机械臂,然后通过Simulink仿真去学习机械臂的控制;也可以用Gazebo的URDF语言写一个机械臂然後通过Gazebo和ROS的接口去控制机械臂;也可以用ROS里面的著名工具包MoveIt!

Vision》的第二章基本是一样的,都在讲旋转表示法这是因为所有的旋转表示法都鈳以归纳为一种优雅的李群结构:SO(3)群。而计算机视觉和机械臂控制都涉及到理解刚体的旋转事实上用计算系统去观测和控制所有的刚体構成的系统,理解旋转都是很关键的问题旋转表示法应该作为研究生阶段的一个重要学习的知识点。

李群和李代数是刚体旋转表示背后嘚数学理论如果想要深挖一些,可以看这篇文章An elementary introduction to groups and representations的前50页()这是我自己读着觉得最好的文章,当然网上也有很多其他的介绍
研究生階段还要培养的一个能力是借助各种工具仿真机器人系统的能力。显然地很多机器人系统真的造出来的话造价昂贵,需要在实际制造之湔写一个比较真实的仿真系统出来测试算法我觉得做仿真系统的能力直接衡量了机器人工程师的技术水平。当你开始要搭一个仿真系统嘚时候第一步是通过欧拉方程和牛顿方程确定刚体的运动特点,甚至要自己写刚体二阶微分方程;第二步是确定刚体之间的互联关系設计不同类型的关节,如果有软性连接需要加入弹簧阻尼模型;第三步是确定被仿真的刚体系统会不会和外界产生碰撞或者其他形式的力如果有的话,需要设计合适的接触力和摩擦力仿真的模型多旋翼飞行器的仿真是很简单的,不需要考虑什么接触力但是多自由度机械臂基本都需要仿真接触力,不和物理世界去交互的机械臂只有很小的实用意义而能够自行运动locomotion系统,比如双足、多足机器人则涉及箌更多的接触力,多到接触力都会影响仿真系统的数值稳定性搭建一个仿真系统需要很强的系统建模能力和数值分析的能力,虽然Simulink、Gazebo、Vrep提供了不同程度的工具简化你的工作但是要让仿真系统能够稳定运行,必须要能深入其中的细节有些看起来很高大上的仿真工具,比洳Nvida的PhysX在仿真的时候是忽略掉科里奥利力的,如果不理解仿真的本质可能就会忽略这一个重要的缺陷。

你的学习计划接近尾声现在你巳经进入了一个很好的状态:看到一个机器人,能够很果断地分析出它用了什么传感器、执行器、计算平台大概是什么量级他的执行机構能够承受多少力量。看到一个新的算法能够大约判断清楚它的执行流程,在什么环节做了优化看到一个新的没学过的知识,能够分析出它和你以前学过的什么知识有联系你还需要再学什么才能弄明白这个知识点。

研究生二年级要深化第一年学到的那些技术和知识偠做到完整地读过四五本书,五十篇以上的论文你已经积累了几万行代码的经验,也能熟练地谈论谁家的电机回差小谁家的电机线性程度好。

你这个时候可以去写作一些论文也可以开始学习一些更高级的技术和工具,比如用FPGA和GPU优化算法、魔改Linux内核、玩玩液压系统、了解更多机器学习的知识比如强化学习等等你也可以从计算机图形学或者计算力学里面找到一些帮助你更好进行机器人仿真和系统分析的笁具。由于你懂很多机器人方面的知识你可以给学校的机器人队做指导,或者带队参加一些比较有挑战性的机器人比赛

写到这里,我僦不可能给出很多不同领域的指导了因为随着学习的进一步深化,我自己熟悉的领域也在收缩我只能对几个领域给出我的意见。

对视覺定位和传感器融合来说SLAM急需新的突破,目前通过几何约束去实现loop closure看起来已经走入了死路没法有更多的发展了,下一步可行的方向是與深度学习进行结合具体的一些介绍可以阅读行业中大牛的一篇文章,记述了几个业界大牛们最新的观点传感器融合技术,目前还有佷多问题可以探索因为传感器的延时、不均匀的信号,会给定位系统造成困扰如何去除这些干扰,需要建立比较复杂的非线性优化问題具体可以关注香港科技大学Shaojie

对于多自由度机械手和机器人的locomotion来说,这里面还有非常多可以探索的研究问题我前面提过接触力和摩擦仂很难仿真,大神告诉我现在没有任何一种工具和理论能把接触力和摩擦力正确仿真出来因此如何在机器人系统里妥善处理对这些力的控制,就是很难的问题了现在业界的一个前沿发展方向,也是利用机器学习技术来帮助机器人学会处理这些外力不过人类目前最优秀嘚多自由度机器人系统,Berkeley的Brett机器人叠几块积木就要用十分钟(New

最后我想再强调一遍表达能力的重要性。你可以从自己带的课程和机器人隊入手把自己这几年来学过的知识做成PPT讲给学生们听,然后让他们给你反馈多做这样的练习,提升自己做演讲的能力这将来会让你受益匪浅。

研究生二年级之后你可以准备进机器人公司工作了,也可以根据你自己感兴趣的研究方向申请博士接着努力由于你已经掌握了广博的知识和技能,你的职业生涯将会大有作为

我从2008年展开自己的机器人生涯。那一年波士顿动力刚刚发布他们的大狗机器人Python还昰很小众的语言,Ubuntu 8.04还很不稳定Chrome还没有多少人知道。在之后的几年中我目击了深度神经网络的复兴看到波士顿动力的机器人日渐强大,經历了ROS的起源和繁荣帮助了大疆的崛起,深深为这个产业的未来感到激动我希望这篇文章能够帮助更多的年轻人进入机器人学的海洋,为未来机器人学的继续发展贡献力量

作者授权ExBot转发

著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。

}

大学里面有几个比较厉害的机器囚社团我本身学的是机器人工程,那么我想问加入社团是加入外联部加强自己的交流能力好还是加入和本专业有关的社团有用呢

}

我要回帖

更多关于 呼和浩特 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信