机器人专家是矛盾的结合体。作为专家,我们各自擅长的专业领域。作为通才,我们要有“大局观”,我们要有广泛的知识才能做到这一点。
机器人工程师主要分成思考(调查)和做事(实现)两大类。这就意味着机器人专家需要很好地结合两种完全不同的工作方式。“调查”的人通常通过思考、阅读和研究来解决问题。“实现”的人更喜欢通过“弄脏他们的手”来解决问题。
机器人技术则是认真研究和对实物动手之间的微妙平衡。
1. 系统思考
有个项目经理曾告诉我,许多拥有机器人学位的人都会变成项目经历或系统工程师。这是一个很有意思的事,因为机器人是非常复杂的系统。我们必须精通机械、电子、电气、变成、传感,甚至心理学和认知。
好的机器人专家能理解这些不同的系统是如何一起工作的,并且熟知他们所有的理论知识。然而,机械工程师可以合理地说:“那是编程或者电的问题,不是我的工作”,但机器人专家必须精通所有不同的专业领域。
2. 编程思维
编程是机器人工程师的一个相当重要的技能。不管你是底层控制系统(仅使用MATLAB设计控制器)还是设计高级认知系统的计算机科学家,都没有关系。机器人工程师可以参与任何阶段的编程抽象。机器人和其他编程学科之间的主要区别在于,机器人编程师实现硬件、电子和(复杂)的现实世界的互动。
世界上有超过1500种编程语言。尽管你显然不需要把他们全掌握,但好的机器人专家要有“编程思维”。如果需要的话,他们很快学会任何新的语言。这使我们能很好地进入下一阶段。
3. 主动学习
机器人领域有很多技术,在一个项目需要之前,你不可能把所有都学会。即使学了5年本科和3年博士后,我也只触及了机器人领域的表面而已。
善于主动学习是贯穿整个职业生涯的基本技能。因此,具有良好的阅读理解能力和掌握学习策略,将帮你在需要的时候快速而容易地学习新知识。
4. 数学
机器人技术并没有很多“核心”技能,其中之一便是数学。你会发现,要想在机器人技术上取得成功,至少要很好地掌握代数、微积分和几何。这是因为机器人技术依赖于能理解和处理抽象概念,通常代表这些概念的就是函数和方程组。在理解运动学和技术图等主题时,几何显得特别重要。
5. 科学或其他应用数学
还有一些人(以纯数学家为例),他们只需要处理数学,而不用把这些概念应用到现实世界。机器人专家不是这类人。科学和其他应用数学的技能对机器人技术而言是非常重要的,因为现实世界不会像数学那样精确。确定计算结果什么时候“足以真正工作”是机器人工程师的一项关键技能。
6. 判断与决策
做一个好的机器人专家意味着不断进行工程决策。你用ROS还是其他系统编程?你的机器人有多少根手指?你要用哪些传感器?机器人技术充满了选择,几乎从来没有一个正确的解决方案。
由于机器人专家具备广泛的基础知识,你会发现自己在解决某些问题时比其他领域的专家有更好的视角。站在你的立场,判断与决策是必不可少的。分析性思维能力将让你从不同的角度分析问题,批判性思维能力将帮助你使用逻辑和推理来平衡每个解决方案的优劣。
7. 良好的沟通能力
作为一个机器人专家,你拥有通才的知识意味着你常常需要向非专业人士解释各种概念。例如,你可能需要向机械工程师解释高层次的编程问题,或者向计算机专家解释结构力学问题。好的机器人专家是不同学科之间的沟通渠道。因此,沟通技巧是至关重要的。拥有良好的口头表达和写作能力是非常重要的。另外,如果你有很好的指导技能,这将给你大大加分。
8. 工艺设计
精通技术设计,能够设计实际工作的东西。这就意味着能弄清楚为什么有些东西不能正常工作,并拿出可行的解决方案,意味着擅长于维修。机器人涉及很广泛的技术,所以,精通技术设计意味着你能有效地隔离问题的源头,并提出有效的解决方案。一个天才机器人专家的标志就是拥有“让它工作”的神奇能力(不管它是什么,但它是坏的)。
9. 复杂问题解决的能力
正如我们从前面的技能中看到的,很多机器人技术都是关于使用你的复杂问题解决能力。这包括预见问题,甚至在问题出现之前解决他们,如果出现故障的话,还需要排除故障。
10. 持久性
最后,由于机器人的复杂性,持久性是一个非常重要的技能。它可能是坚持试图找出一个特别困难的问题的解决方案,或者是坚持试图给别人解释清楚一个复杂的问题。好的机器人专家也以可靠性支持他们的持久性,证明自己的知识和适应性是机器人技术所需要的。