专访特斯拉工程师杨硕:跟着机器人上天入地、探索地外行星丨智源独家

news2024/11/15 20:52:33

导读

十几岁时,他痴迷《终结者》,曾在百科全书中窥见卡内基梅隆大学机械臂的介绍,从而得知了研究机器人「圣地」的存在。

在CMU,他深耕足式机器人感知定位算法,期待未来涉足太空,走上火星。

在大疆,他主导多个消费级产品及一系列无人机平台的研发,设计运营RoboMaster机器人挑战赛,为了增强比赛观赏性,融入如王者荣耀、DOTA和LOL等游戏元素。从此比赛中涌现出了大量优秀的机器人工程师。

在特斯拉,他怀揣着改变世界的理想与马斯克直接汇报,废寝忘食感受到更强烈的使命感。

而作为技术人,他又有着深厚的人文情怀,“搞技术的人其实很需要读历史”。以科技史发展脉络为灵感,拓展无尽的前沿。

第10期智源专访,带大家走近特斯拉工程师杨硕,看机器人如何上天入地,甚至探索地外行星。

0aec24edc29de6d9bb7fefed7f68e86a.jpeg

杨硕

2008-2015,香港科技大学计算机工程本科、电子和计算机工程硕士,导师李泽湘教授。2015-2018,深圳大疆创新科技有限公司,历任算法工程师、Phantom产品项目经理、RoboMaster赛事技术总监、部门负责人等职位,2018年,美国卡内基梅隆大学博士,在机器人学院从事复杂机器人系统运动轨迹规划方面的研究,导师Howie Choset教授和Zachary Manchester教授。2023年7月加盟特斯拉机器人团队。

智源专访栏目意在通过展现技术研究者和创业者的研究经历和故事,记录技术世界的嬗变,激发当代AI从业者的创新思维,启迪认知、关注突破性进展,为行业注入灵感光芒。

采访:李梦佳

通用人形机器人,其实是个伪命题

Q:能否介绍一下您的研究方向「腿足机器人」、「复杂机器人系统」?

A:机器人系统有许多不同的分类方式,如飞行、水陆和用途等,同时还可以按照「机器人系统与外界的接触力」进行分类,用作系统的学术研究。例如,平面上移动的小车是最简单的机器人,它始终在平面上移动,可以将其视为与环境无接触。大疆等厂家生产的无人机在空中悬浮,与外界也没有任何接触。复杂一些的四足机器人,如狗形态的机器人,在空间中行进必须与地面有所接触,其接触都是点接触,不涉及滑动、摩擦、静摩擦与动摩擦的切换等比较复杂的物理现象。双足人形机器人与环境通过两只脚产生点接触或面接触,涉及更复杂的接触。通过机械臂完成转动物体、叠衣服、做饭、洗碗,让物体在手指、手掌中滑动等较为复杂的任务,还需要考虑滑动摩擦。

5b39a9e6a80074cc985b06cb0e0709b0.jpeg

按照「与外界的接触力」对机器人进行分类,人们对人形机器人的理解仍然有待提升。在我攻读博士的几年间,人们才开始深入了解这种系统环境,思考如何处理非常复杂的接触力。下一步,我们还需要考虑机器人与环境有更多、更复杂交互的场景。

Q:目前稚晖君、小鹏等公司纷纷入局通用人形机器人的研发,各公司不同的技术路线有何优劣?

A:对于任何行业的发展和壮大来说,存在多家不同的公司参与竞争是好事。大家一定要解决不同方面的问题,才能够促进整个行业有更多的想法和思路。

我个人觉得「通用人形机器人」是个伪命题。以人类生活中最普遍、研究最深入的机电系统——汽车为例,并没有一款汽车能够完全代替其他的汽车。如今,柴油发动机、汽油机、四冲程、八冲程,电动汽车等技术并存。跑车、轿车、卡车等车型适用于不同的应用场景,不同的使用场景。未来,我们也需要应用于各种场景的各种专用人形机器人。在这个市场中,各个公司可能会发展出专注于某一类应用、某一类场景的机器人,最后会存在 10-15 家优秀的不同细分赛道上的机器人公司。

Q:机器人的终局会是怎样?能否谈谈您对未来机器人世界的愿景?

A:在我的观感中,人形机器人在科研领域是具有研究价值的系统,因为它们能够与环境产生复杂的接触力。人们可能会认为人形机器人只是一个有趣且酷炫的玩具。

在我加入特斯拉并工作一段时间之后,我更加意识到该方向广泛的实际用途,对其未来在人类生活中的落地使用十分乐观。未来五年,人形机器人可能会出现在大街小巷,完成一些稍微简单、安全顾虑较低的任务。再过 10-15 年,我们也许就能看到机器人完成养老看护、烹饪食物,或者在非常危险的场景下代替人类操作设备。我们正稳步推动这些应用场景下的技术难题的研究。

勇攀科学高峰,无人机「开上火星」

Q:您在香港科技大学求学期间有哪些印象深刻的故事?

A:我在香港科技大学期间主要完成了对机器人学基础知识的学习,也积累了一些「不太成功」的经验,发表了一些论文,这些成果对我后来在大疆做无人机控制导航有一定的帮助。记得我在香港科技大学修的第一门机器人学入门课的成绩并不理想,后来参加了一些机器人比赛也没有拿到非常好的名次。但是这些「失败」的经历让我反思得更多。例如,在亚太大学生机器人大赛(ABU Robocon)中,我们需要组队设计3-4台机器人完成一些特定的任务(抓取、叠放物品等)。当时我负责的机器人并没有出过大问题,但是其它几台机器人有时会出现操作、机器人设计等方面的问题。我意识到,「木桶原理」对创业、科研、工作都十分重要,决定整个成果的是最短的那块板,需要关注团队的合作的能力,有时这比一个人有卓越、杰出的技术能力更加重要。

Q:您在 CMU 求学期间有哪些代表成果?

A:我在 CMU 主要研究四足机器人和普遍足式机器人的感知定位算法。我觉得自己最具代表性的成果是发表在 ICRA 2023 上的「Cerberus: Low-Drift Visual-Inertial-Leg Odometry For Agile Locomotion」(https://arxiv.org/abs/2209.07654)。在这篇论文中,我让四足机器人只使用一个摄像头、一个机载 IMU(惯性导航元件),以及若干关节编码器实现非常长距离的定位。目前最好的结果是可以让机器人稳定行走 500 米甚至更长的距离,不通过 GPS ,只通过这些轻量的传感器获得非常准确的位置估计,误差小于距离的0.5%。这项技术有助于我们将来把机器人送到火星或者其它地外行星时,在机器人行动的过程当中准确地估计出自己的位置,对所有科学考察的任务都非常重要。

0ce9928a3255593e9f08f003c97cc309.png

这篇论文从理论框架、实验验证等角度都比较完善,十分贴近实用级别的要求。在未来,我国或美国要想派遣足式机器人登陆火星,所使用的定位算法一定是该算法或其变体。

火星表面非常广阔,根据 NASA 给出的数据,他们目前的定位精度误差为 5%,即火星车每行进一公里就会有 50 米的定位偏差。为了准确获得火星车的位置信息,他们现在的解决方案是:先用不断在火星表面绕行的卫星建立较为精确的火星表面地图,再让科学家人工比对高精地图和火星车拍摄标志物的位置,从而修正火星车的定位。如果我们能进一步降低定位误差(比如降低至1%,甚至0.1%),就可以减少人工修正的消耗,提升科学探索的效率。由于足式机器人相比于轮式机器人有更多传感器,理论上可以达到更高的定位精度。

多年前,我在大疆工作的早期也曾想过在火星上使用无人机。目前,NASA 已经在火星上成功运行无人机,取得了很好的效果。总之,我乐观地估计,在火星上使用四足或双足机器人是一个非常好的选择,这也许是NASA或我们国家的太空探索项目正在思考的应用之一。

9c9c77644614529e99689bab7b9d1fcd.jpeg

此外,我在今年 IROS 上获得最佳学生论文提名的工作「Multi-IMU Proprioceptive Odometry for Legged Robots」中增加了更多的 IMU,显著地提升了机器人定位的能力。

Q:您在博士期间对哪位导师或合作者印象最为深刻?受到了哪些帮助?

A:我的主要的导师是 Zachary Manchester,另一位导师是Howie Choset。他们在不同方面对我都起到了很大的帮助。例如,在美国读博士期间,我明白了科研工作的成功在很多时候取决于你能不能清晰地把自己的研究问题给定义清楚,并且表达出来,10分钟以内清晰地介绍自己的研究的工作和成果。这种表达能力有时跟推公式、写代码一样的重要。我的两位导师从不同的方面帮助我提高了自己表达自己学术工作的能力,并快速提供反馈意见。

在中国的教育体系中,我们主要学习如何做题,但是在科研中,重要的不是解决问题的过程,而是明确问题并清楚地表达自己的思路,这中间有很大的落差。

特斯拉遇见大疆,感受强烈的使命感

Q:在特斯拉机器人团队工作的氛围如何?

A:整体氛围很不错,大家都怀揣着使命感,希望团队的工作有朝一日能改变人类的未来。我们正仔细研究能够让技术落地的细节。团队的使命感十分振奋人心,同事们相处融洽。马斯克对这一项目也十分关注,我们会直接对他进行汇报。

35e6734f1511aaedfc149d055d867474.jpeg

Q:在大疆工作是一种怎样的体验?遇到过哪些困难?

A:今年,我加入了特斯拉,感受到了 10 年前加入大疆的状态,2013年的大疆有点像现在的特斯拉,有改变世界的强烈使命感,每个人都动力十足。因此,我在特斯拉工作时感到很亲切,就像在刚开始在大疆工作时一样,工作环境和内容也没有太大的差别。在大疆时,我参与了Phantom系列、Matrix 100 等一系列无人机平台的研发。事实上大部分项目里我只是某个模块的负责人,产品的成功是庞大团队协作的功劳。有一次我们遭遇了一个运动控制的问题,发现飞行器在飞行过程中会产生奇怪的震动,导致航拍图像不太稳定。我旁观了同事们解决问题的过程,印象非常深刻。我当时并不会这方面的知识,所以后来读博士时也特意学习了运动控制方面的知识,对我自己有很大的提升。

205f82de993c49cc9536df392a19ae7c.jpeg

Q :在大疆研发无人机产品的这段经历对您的职业成长有什么样的意义?

A:在面向消费者的场景中,大疆是世界上较早提供无人机这种带有复杂传感器的机器人系统的公司,我在研发过程中学到了许多知识。此外,我对技术方向的把控也日趋成熟。在大疆工作的早期,人们也有过对于应该用纯视觉还是用激光雷达的技术路线的探讨。大疆选择纯视觉的方案,最后证明这是一个不错的选择。在面向消费者的产品中,使用激光雷达的必要性确实不大。分析用户需求,确定技术路线的思考过程十分具有价值。

Q:国外公司的工作强度如何?存在「卷」的情况吗?

A:我觉得也会存在「卷」。以我们团队为例,大家都很有使命感。会有一些工作白天黑夜两班倒。通常,上夜班的同事身体上、精神上的挑战较大。但一些同事表示,看到机器人研发的进展,会觉得熬夜加班也值得。这样态度源自于同事们的使命感。

RoboMaster:从CS游戏任务出发,为人类培养更多优秀机器人工程师

Q:能否介绍设立「RoboMaster」项目的初衷?过程中有哪些支持?

A:RoboMaster 项目是由大疆的创始人汪滔发起的。汪滔是一个非常有社会责任感、使命感的企业家。在香港科技大学求学期间,我们和许多大疆的早期员工都参加过亚太机器人大赛。港科大的李泽湘教授也十分推崇通过机器人比赛锻炼学生、提升其科研能力和创业能力的方式。在大疆经营走上正轨,有比较充裕的现金流之后,汪滔就想过要办一个自己的机器人大赛,这个比赛兼具技术难度和观赏性。RoboMaster应运而生。

28d7be09817734110efab5353b9c3a32.jpeg

RoboMaster 机甲大师

我们从 2013 年到 2015 年花了 2 年的时间打磨该赛事才正式推出,最终确定了机器人射击的主题。2016-2018 年,我负责该项赛事的整体设计和运营工作,此赛事也逐渐成型:场上有五台机器人上场,其中有一个是英雄机器人,并配有步兵机器人、工程机器人(不能攻击,只能拿放子弹、补给回血等)。我们融入了现在比较流行的这种 MMORPG 游戏的元素进去,如王者荣耀、DOTA和LOL等。在比赛中,我们的目标是在设计环节和关卡时既让机器人有观赏性,又能够锻炼参赛学生的技术能力。在比赛的核心环节——机器人互相射击时,就像CS游戏,要尽可能地确保精准打击。赛事初期,许多学生还是通过图像传输系统对机器人进行遥操作,但是这种远程操作的方式存在延迟。渐渐地,参赛者开始转向使用深度学习、目标识别、运动控制等技术让机器人自动完成上述任务,人类操作手只需要进行高层次的决策。

RoboMaster项目本身是一件非常伟大的事情,比赛中涌现出大量优秀国内外选手,为人类培养优秀工程师也许比大疆本身更加重要,许多当年参加比赛的选手在不同场合遇见,现在还会与我联系。

Q:之前没有接触过机器人研究者想入门该领域,需要补充什么知识或者能力?

A:毕竟机器人是一个物理系统,对实际机器人系统的理解十分重要。对具有 CV、CS 研究背景的同学而言,他们之前可能没有什么摸机器人的机会。因此很需要自己动手做一些实际的硬件项目,特别是理解电机的控制原理。

搞技术的人,其实很需要以史为鉴

Q:您从何时起接触科研,对机器人产生兴趣,立志成为一名科学家?

A:我们这一代人成长经历都很相似,包括像《终结者》、《Irobot》等出名的影视文学作品,本田2000年发布的 Asimo 机器人、索尼于1999 年发布的 Aibo 机器狗(编者按:1993 年,现任索尼计算机科学实验室总裁兼 CEO 北野宏明(Hiroaki Kitano)教授加入了索尼公司。他接到的第一个任务,就是在 5 年周期内设计出一款机器人。)这些东西都在我十几岁的时候轮番出现,虽然我的父母都是医生,没有特别注重这方面的培养,但这些元素引领我走向这个方向。有意思的是,记得我儿时曾在一本百科全书中看到过对卡内基梅隆大学制作的机器人、机械臂的介绍,从而得知有这样一个研究机器人的「圣地」,这也促使我最终来到 CMU 求学。

9ce8830b14320c56ec4eef7a779c89b1.jpeg

本田Asimo机器人

Q:您个人的短期和长期职业目标是什么?

A:我主要还是想继续拓展科学无尽的前沿。对于我们这一代机器人研究者而言,最大的职业目标还是理解人类的意识是如何组织的。人类有大脑和小脑,各自负责不同的功能。近年来,大家普遍认为机器人需要同时具备 “大脑”和 “小脑”,大脑做规划和决策,小脑做运动控制。

但是神经科学家对大脑、小脑的分工还是一知半解,机器人工程师们也是根据自己的经验和机器人系统的特性去设计机器人的大脑和小脑的分工。我们在机器人上的设计是不是最优的、这些设计跟真正的人类意识有什么样的关系,并没有人知道。

长期来看,我的职业目标是通过研究机器人系统,反过来能够帮助人类更好理解人类自己的智能。比方说我们很多移动机器人特别是人形机器人在运转了一段时间以后需要在静置状态下进行传感器的校准,那么我们人类睡觉的时候是不是也要对自身的传感器进行校准?目前没有什么科学家思考和验证这两者之间的联系。

我觉得这可能是我这一代人在可预见的时间里面能够达到的一个科学的重要成果,我希望自己在这类科学发现里面能够做出一些贡献。

Q:您对同一领域中正在寻找人生目标的年轻人有何寄语?

A:保持身体健康是第一位的。其实,在过去很多年间,我的身体处在一个不是很健康的状态。之前,我自己并不知道我对鸡蛋和牛奶过敏,这对我的学习和生活造成了一定的负面影响。过去一年发现了这个问题以后,我开始戒掉鸡蛋和牛奶,整个人的思维理解力提升了一个层次。身体健康对科研人员很重要,年纪稍大一点后,不健康的作息或饮食会对人的状态造成很大影响。

第二, 不要害怕失败,不要觉得做某些事太迟。任何优秀的机器人工程师都需要长期的培养。有些人本科毕业去很好的地方攻读博士,有很好的产出,但他们也并不一定就是优秀的机器人科学家,因为对实际机器人系统的经验需要时间积累。我们这一代人碰到的很多机器人领域的问题,需要在 100 台、甚至是 100 万台机器人上得到稳定、灵活的验证。机器人科学家需要进入比较大的公司,把机器人系统规模化,从而积累工作经验。

有时,你可能是先工作再读书,或先读书再工作,或者不读博士,一直做工程实践,这些道路都是可行的。没有绝对的最优道路,有很多不同的路线达到优秀的状态。不要因为看到某个人做了自己没有做到的事情而觉得很迷茫,怀疑自己。也许,你是在走在另外一条不同的成功之路上。

第三,机器人研发依赖于团队合作,沟通交流能力也十分重要。读博士的经历也许更加类似于「做题」一点。教授出个题,你去解。但是博士阶段之后,你需要自己学会出题,此时沟通交流就是最重要的能力。

Q:您在知乎粉丝众多,热爱分享和记录生活,人文素养对您的科研有没有帮助?请您推荐几本最近在读的书。

A:搞技术的人其实很需要读历史。以科技史为例,足式机器人替代了轮式机器人,那轮式机器人有什么优势呢?公元前 8000 年左右人类就发明了轮子。轮子在人类历史中有重要的作用。我们需要明白为什么要把轮子替代掉,有没有必要替代掉它。

类似地,半导体、汽车、火车、飞机、内燃机等技术的诞生也都有其历史背景。我们要思考工业革命诞生的情景,明白科研资金从何而来,科技发展与人类政治、经济的进步密不可分。在选择进入某一个技术方向前,我们可以了解一些该领域的历史发展脉络。

我向大家推荐吴军博士(前谷歌研究员,曾担任腾讯搜索业务的副总裁,近年来在硅谷从事风险投资。)撰写的浪潮之巅》(编者按:《浪潮之巅》梳理了IT产业发展的历史脉络,叙述了美国硅谷明星公司的兴衰沉浮。)、数学之美》、《文明之光》、《大学之路》等书籍,这些书籍十分值得一读。最近,我在读前苏联著名作家米哈依尔·亚历山大维奇·肖洛霍夫的作品 《静静的顿河》(《静静的顿河》通过对居住在顿河边麦列霍夫一家命运变迁的描写,揭示了战争给哥萨克人带来的巨大冲击及他们在这一系列社会变动中社会和思想上的矛盾与斗争。)这本书讲述了乌克兰哥萨克民族的历史,与科学无关,但我觉得也很有意思。

22aee30a9419a98b5c6c0f42b5c260dc.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1236596.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】:共享内存

共享内存 一.原理二.创建共享内存1.shmget2.写一个共享内存代码 三.进行通信1.各种接口2.各接口使用代码3.一次简单的通信四.共享内存的特点 一.原理 直接原理 共享内存顾名思义就是共同使用的一块空间。 很明显操作系统需要对这块内存进行管理,那么就避免不了先描…

C#,数值计算——插值和外推,PolCoef的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// polynomial coefficients from polynomial values /// </summary> public class PolCoef { public PolCoef() { } /// <summary>…

CSDN流量卷领取和使用保姆级教程——流量卷,恭喜获得每日任务奖励【1500曝光】可获得新增曝光,阅读转化,点赞转化,新增关注-流量卷,流量卷,流量卷

希望本文能够给您带来一定的帮助&#xff0c;文章粗浅&#xff0c;敬请批评指正&#xff01; 目录 话不多说&#xff0c;直接上干货&#xff1a; 第一步&#xff1a;流量卷领取教程&#xff1a;点击内容管理&#xff1a;​编辑 第二步&#xff1a;点击首页&#xff1a;​编辑…

上海亚商投顾:北证50指数大涨 机器人概念股掀涨停潮

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 三大指数昨日震荡反弹&#xff0c;黄白二线有所分化&#xff0c;题材热点轮动表现。北证50指数大涨超3%&#…

深入解析数据结构与算法之堆

文章目录 &#x1f966;引言&#xff1a;&#x1f966;什么是堆&#x1f966;大顶堆与小顶堆&#x1f9c4;大顶堆&#xff08;Max Heap&#xff09;&#x1f9c4;小顶堆&#xff08;Min Heap&#xff09; &#x1f966;堆的表示&#x1f9c4;数组表示&#xff1a;&#x1f9c4;…

智能座舱架构与芯片- (8) 视觉篇

一、概述 相比起用于ADAS感知系统的摄像头&#xff0c;用于智能座舱内部的摄像头&#xff0c;其功能特性和性能要求相对简单。例如&#xff0c;OMS乘客监控摄像头&#xff0c;一般达到5MP即可有良好的效果。同时&#xff0c;OMS也可应用于车内会议系统&#xff0c;还应用于车内…

利用OpenCV实现图片中导线的识别

下面是一个需求&#xff0c;识别图片中的导线&#xff0c;要在图像中检测导线&#xff0c;我们需要采用不同于直线检测的方法。由于OpenCV没有直接的曲线检测函数&#xff0c;如同它对直线提供的HoughLines或HoughLinesP&#xff0c;检测曲线通常需要更多的图像处理步骤和算法&…

多线程的概念

点击链接返回标题-> 什么是进程&#xff1f; 进程&#xff08;Process&#xff09;&#xff0c;是程序的基本执行实体。 在早期面向进程设计的计算机结构中&#xff0c;进程是程序的基本执行实体&#xff1b; 在当代面向线程设计的计算机结构中&#xff0c;进程是线程的容器…

上海亚商投顾:沪指冲高回落 短剧、地产股集体走强

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 三大指数早盘冲高&#xff0c;创业板指盘初涨超1%&#xff0c;午后则集体下行翻绿&#xff0c;北证50一度大涨…

MyBatis:关联查询

MyBatis 前言关联查询附懒加载对象为集合时的关联查询 前言 在 MyBatis&#xff1a;配置文件 文章中&#xff0c;最后介绍了可以使用 select 标签的 resultMap 属性实现关联查询&#xff0c;下面简单示例 关联查询 首先&#xff0c;先创建 association_role 和 association_…

win11,引导项管理

1&#xff0c;打开cmd,输入msconfig 2,进入引导选项卡 3&#xff0c;删除不需要的引导项

Go语言常用命令详解(三)

文章目录 前言常用命令go get示例参数说明 go install示例参数说明 go list示例 go mod示例参数说明 go work基本用法示例 go tool示例 go version示例 go vet示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命…

支付宝生僻字选择器

本文的数据来源于支付宝网页版本生僻字选择器。 let rareWords[{spell: "a",words: ["奡", "靉", "叆"]}, {spell: "b",words: ["仌", "昺", "竝", "霦", "犇", "愊…

mysql底层是如何存放数据的

总览 首先总的来说&#xff0c;分为四个层级&#xff0c;行页区段。行就是数据库里的一行数据。 但一次从磁盘读进内存的数据量是一页&#xff08;页是读写的单位&#xff0c;默认16KB一页&#xff09;&#xff0c;页分很多种类&#xff0c;例如数据页、溢出页、undo日志页。 …

Rust语言精讲:数据类型全解析

大家好&#xff01;我是lincyang。 今天&#xff0c;我们将深入探讨Rust语言中的数据类型&#xff0c;这是理解和掌握Rust的基础。 Rust语言数据类型概览 Rust是静态类型语言&#xff0c;所有变量类型在编译时确定。Rust的数据类型分为两类&#xff1a;标量类型和复合类型。…

909-2014-T3

文章目录 1.原题2.算法思想3.关键代码4.完整代码5.运行结果 1.原题 有n个顶点的无向图&#xff0c;使用邻接矩阵作为存储结构。为减少存储空间&#xff0c;使用数组按照行主映射方式仅保存下三角矩阵。请给出映射公式&#xff0c;并编写算法计算给定顶点的度。叙述算法思想并用…

基于ubuntu20.04安装ros系统搭配使用工业相机

基于ubuntu20.04安装ros系统搭配使用工业相机 1. ROS系统安装部署1.1更新镜像源1.1.1 备份源文件1.1.2 更新阿里源1.1.3 更新软件源 1.2 ros系统安装1.2.1 添加ros软件源1.2.2 添加秘钥1.2.3 更新软件源1.2.4 配置及更换最佳软件源1.2.5 ROS安装1.2.6 初始化rosdep1.2.7 设置环…

【Hello Go】Go语言文本文件处理

文本文件处理 字符串处理字符串操作ContainsJoinindexrepeatReplaceSplitTrimFields 字符串转换AppendFormatParse 正则表达式Json处理编码Json通过结构体生产Json通过map生产json 解码Json解析到结构体解析到interface 文件操作相关api介绍建立和打开文件关闭文件写文件读文件…

基于Apache部署虚拟主机网站

文章目录 Apache释义Apache配置关闭防火墙和selinux 更改默认页内容更改默认页存放位置个人用户主页功能基于口令登录网站虚拟主机功能基于ip地址相同ip不同域名相同ip不同端口 学习本章完成目标 1.httpd服务程序的基本部署。 2.个人用户主页功能和口令加密认证方式的实现。 3.…

Linux02 VIM编辑器

Linux02 VIM编辑器 基本上 vi/vim 共分为三种模式&#xff0c; 分别是命令模式&#xff08;Command mode&#xff09;&#xff0c;输入模式&#xff08;Insert mode&#xff09;和底线命令模式&#xff08;Last line mode&#xff09;。 三种状态进行切换 插入模式&#xff1a…