ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

机器人算法工程师入门指南(四)常用技能与如何备战offer

2021-12-10 20:03:48  阅读:262  来源: 互联网

标签:仿真 Simulink 入门 offer 机器人 备战 算法 ROS Adams


常用技能与如何备战offer

在机器人算法的学习过程中,我们如何该用什么语言或工具来实现算法,检验算法的正确性呢?直接上真实机器人不是一个好的选择,一是步骤繁琐不方便,二是若算法有问题,可能会造成安全事故,因此,仿真是算法实践中必不可少的步骤。本文中博主将为大家介绍几种常用的仿真软件。

ROS

ROS是一款专为机器人开发的操作系统,常在ubuntu系统上运行。ROS为机器人软件开发工作者提供一个开源的系统框架,把繁琐的工作都实现好,让用户可以集中注意力于开发自己的领域。对于初学者来说,ROS看可以让新手在短短几天就可以看到一个会动的机器人(虽然不知道背后的原理),但对入门来说是非常友好的。
然而,据博主体感,相比于几年前的火爆,ROS在这两年的热度似乎有所降低,我甚至听说过用“真正的产品都是不用ROS的”“用ROS的都是在骗补贴”这样的过激言论。原因可能与ROS的架构导致其实时性差无法满足工业需求有关。但作为初学者,ROS是一个很好的学习平台,里面有许多开源包供大家学习使用。
若想学习ROS,胡春旭的 《ROS机器人开发实践》 是一个不错的选择,胡春旭的网站古月居里面有很多ROS相关教程,推荐学习。
RVIZ

Matlab&Simulink

机器人仿真中最常用的软件就是Simulink,Simulink是一种可视化的仿真工具,用来验证模型及算法 的正确性。在Simulink中,我们可以很容易地将算法实现成代码,无需痛苦的包下载或环境适配。
此外Matlab/Simulink还提供了最完善的doc(没有之一),不管什么命令官方教程里都给你安排的明明白白的,特别友好。若想系统学习Simulink,可以参考 《Simulink仿真及代码生成技术入门到精通》
在这里插入图片描述

Adams

Adams是常用的动力学仿真软件,可用于仿真各种复杂的动力学系统,并且可以用于和Simulink联合仿真。常见的用法是在Adams中建立机械臂的模型,将其导出到Simulink中,作为Simulink的一部分,Simulink里实现规划/控制算法,来实现联合仿真。
当然,用于动力学仿真的软件不止Adams一家,另一款比较常用的是Simmechanics,也是Matlab家族里的,优点在于和Simulink仿真的兼容性会更好。缺点也很明显,Adams建模用的是3D模型,非常直观,但Simmechanics是类似于Simulink的可视图链接,相对抽象许多。对于柔性、碰撞、变形的支持也远不及Adams,因此还是推荐使用Adams进行建模。如果想要通过教材系统的学习Adams,推荐 《Adams实例教程》 的前几章。Adams的功能很多,对于机械臂,只需要其中一部分就已经足够。
在这里插入图片描述

备战offer经验总结

在编程语言方面,机器人算法工程师一般要求熟悉Matlab与C++,在开发中最常用的就是这两种语言。面试时,有时会考察一些C++相关的基本问题,如C++面向对象编程的基本特征啦,指针和引用的区别啦,都是最基础的。
之前有人问我这个岗要不要刷leetcode,我的建议是要刷。不光要刷leetcode,没有学过数据结构的同学还要补一下数据结构与算法。虽然在我的面试历程中只有三分之一的公司考察了手撕代码,但作为一个算法工程师,了解各种数据结构与基础算法还是很有必要的。不光是为了找工作,更是为了能用在实际工作中。数据要用什么结构储存,要怎么对它们排序,查找,怎么插入,都是写代码时实实在在会遇到的问题。
对于这方面,我推荐 《大话数据结构》 这本书,浅显易懂,适合非科班的朋友使用。如果要刷力扣,建议不要盲目刷,网上有很多帖子教你如何刷力扣,推荐著名博主labuladong的教程

关于书籍

以上提到的所有书,网上都可以找到电子版,但似乎没有免费的。我这边整理了一份合集,包括上一篇中提到的所有书籍,打包10块钱带走,qq 735148617。

标签:仿真,Simulink,入门,offer,机器人,备战,算法,ROS,Adams
来源: https://blog.csdn.net/a735148617/article/details/121857999

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有