首先得承认,是我盗来的,我还在为了练出这样的腹肌,坚持锻炼着。我在上一篇文章《坚持做五件事,遇见最好的自己》中写到,健身是我一直坚持的事,一来用好身材弥补颜值,二来也想慢慢地向彭于晏那样的男神靠拢。
健身的人都知道,在所有独立的部位中,腹肌是最难练的。有人一天做500个仰卧起坐,还是不见成效。各种几天练成腹肌的毒鸡汤充斥朋友圈。健身教练会一遍一遍的告诉你,要想练出腹肌,必须先减脂后增肌,要合理膳食配合高强度训练。各个健身大神教你卷腹做多少,高抬腿做几组。总之一句话,要想练出腹肌,除了有好的训练方式,最重要的是坚持。
现在的女生,出来一个韩国明星就是男神,出来一个小鲜肉,就是男神,让我说,没有腹肌,叫什么男神。想练出腹肌,成为男神,必须学会坚持。
所以,这篇文章不是来教你如何练出腹肌,,而是教你如何坚持。
动力。
你为什么开始一件事,初衷很重要,直接影响你能否坚持下去。这就是我所要说的,坚持的动力。
我太太嚷着要我带她健身,她要减肥,一副不瘦下来不罢休的样子,问起原因,原来是之前买的一条非常喜欢的裙子今年夏天穿不上了。我一看,可以呀,就给买了运动bra,瑜伽垫,带着一起去旁边的万达广场去健身,结果去了两天就不去了,什么今晚要跟同事逛街,明天要开YY会议,后天又因为中午没睡觉头疼练不了,反正理由一大堆。我说你还是不喜欢那条裙子。
后来又看到哪个明星身材好的要命,又嚷着跟我去健身,结果还是那样,坚持了三天,第四天就不去了,什么腰疼腿疼,什么来例假不能进行剧烈运动。我说,还是因为有个不嫌弃你胖的我。
这就是动力不足。太太说我丑,就给了我极大的动力,我非要通过健身来改变她对我的看法不可,所以我坚持了下来。慢慢地,喜欢上了大汗淋漓的感觉,便不感觉坚持有什么痛苦。
榜样的力量。
我自己不用说了,床头贴着彭于晏的海报呢。练累了,就看看他,榜样在看着你呢,还不赶紧练!
奥运会刚结束,菲尔普斯在100米蝶泳中得了银牌,而击败他得金牌的,是他的粉丝新加坡的斯库林。
当时菲尔普斯在新加坡训练,小斯库林还为能与偶像合影还欢欣鼓舞。谁知道几年之后,他便击败自己的偶像拿了冠军呢。
这就是我要说的榜样的力量。
成果刺激。
在我健身过程中,为了能让自己坚持下去,我会经常给自己的腹部拍特写,时不时拿来对比一下有无变化,变化不大,这一点毋庸置疑,但只要看看第一张刚开始练到最近拍的一张,你就会发现变化,在心里对自己说,喏,快成男神了呢。
我一个朋友,天才少年,各种奥赛都参加,家里摆满了奖杯奖状,我问他,学奥数不枯燥么,他说怎么能不枯燥,我说那你怎么能坚持,他指指那些奖杯,喏,因为它们证明我有能力。
心理暗示。
这一点很重要,也很粗暴,但通常效果很好。
这是我初中班长讲给我听的。他的字写的很漂亮,人长得也很帅,有点像吴尊。老师总是拿他的作业本给我们示范,让我们坚持练字。但过不了多久,很多同学便开始应付了事,匆匆忙忙这一张交上去就算了。我们班长却是例外,他每天上交的练字都很用心。有一次我问他,他是怎么做到的,他告诉我,每次不想练的时候,我都会对自己说,你人长得这么好看,字可不能写的丑了,因为字是人的第二张脸,所以两张脸都要好看。他说的很认真,我听得目瞪口呆,这也行?
追太太的时候,喜欢给太太写情书,可是才疏学浅,写了几封之后便词穷了。怎么办呢?去图书馆找书看,去学别人,看席慕蓉,摘抄她的《一棵开花的树》,看王小波,学他给李银河写“你好哇,李银河”。后来不想去图书馆看书了,就想,太太还追不追了?追的话情书还写不写了?已经把自己博览群书的形象在人小姑娘心里树立起来了,不能露馅啊,于是便强迫自己去看书,慢慢地,便喜欢上了看书,太太追到手了,情书不用写了,看书的习惯却戒不掉了。
不要去追什么鲜肉,韩星,去做自己的男神女神。男生去练练腹肌,女生去减大腿。坚持下去。如果我的这篇文章能让你坚持下去,便善莫大焉了。
恍然间,进健身房快两年了。
去年夏天的时候,我在上写过一篇《健身已经不是我解决人生问题的工具了。》,以记录健身十五个月以来的心得。
在结尾处,我写道:
“自己健身的时间还太短,很多东西领悟得还太浅,说了那么多,都是我缺乏经验的主观感受。写这一篇就当是为记录一下当下吧,不知道以后回顾时会有什么异同。
“总之,当下,健身已经不是我解决人生问题的工具了,它已经成为了一种人生态度。”
现在,又过去了五个月,或许是时候更新一下了。
就像我之前写到的那样,健身于我而言,依然不是一件“坚持”下来的事情。
所谓“坚持”是需要“毅力”来作为能量来不断补充执行的任务,而对于同样一件事,“毅力”是易耗品,并且这个过程是加速的。
健身,不是犹如提着一桶水的机械坚持—— 过了某个节点,它会成为习惯——若有幸在毅力消磨殆尽之越过这个节点,就不需要所谓“坚持”了。
和前十五个月没有什么大不同,“去健身房”,在我的潜意识里,依然是一种习惯式的主动。
它依然和看书、学习、练琴、写作,甚至吃喝睡一样稀松平常,是我生命里不可或缺的部分。
“在其他事物上投入之前,我会考虑这些‘必须成分’是否会受到压缩,我愿意用舍弃其他机会的成本来维持它们,而不是相反。”
五个月以来,我积攒了更多的经验,在此期间,我还参加培训考取了健身教练国家职业资格证书。我学会更加系统化地训练,肌肉线条也比之前更加饱满,对肌肉的发力感受和控制力有了更显著的进步,对自己运动能力与身体状态也有了更全面更细节化的了解、更敏锐的洞察力和掌控力。
健身之后有什么变化吗?很多人这样问我。
身材曲线会变更匀称更好看,身体抵抗力会变得强一些,每天精力或许会更充沛一些。哦对,还有,每天会少掉一个小时。差不多就这些吧,没了。
健身,不会让你立即变得更自律,更优秀,不会让你真正逃避生活里的痛苦,不会让你马上找到对象,也不会让你拥有不生病的体质,更不会因为你会说一句莱维贝贝就让你变得高人一等。
这,就是我这几个月以来的心得。
为什么呢?
自从接触健身以来,见过太多,太多有着莫名优越感的人了。
见过那些天天在健身房每做一个动作都要配合着咆哮各种英文粗口的,发音不标准不说, 我挺好奇这些口里能蹦出一个个完整的单词的人,发力时的呼吸要怎么控制;
见过乱扔哑铃恶狠狠地砸到地上, 素质跟高速开夜车打远光灯的没什么两样;
见过那些朋友圈里天天不发其他的只发自拍打卡发新入健身装备以及鸡汤的, 在自我感动中不断砥砺前行;
见过那种觉得自己练得还可以就成天diss没有训练痕迹的: “你划船(拉背)就这点重量啊。” 某次,见到健身房里一个体型庞大的体脂怪对一个新手这样说道,前者一脸鄙夷的怪笑;
见过以健身至上,以至于对生活对他人熟视无睹的—— 不关心家人,冷落伴侣,荒废学业,消极怠工,却从未将自己的行为和“颓废”一词联系到一起的;
也见过结合这些特点于一身并自认为是健身的坚定信仰者,并引以为豪的。
何必呢。
我说过,当健身成为习惯,它和看书、学习、练琴、写作,甚至吃喝睡一样,是生命里不可或缺的部分。
但也只是稀松平常的一部分而已。
就像书里不一定有黄金屋颜如玉,终生学习不一定让你走上人生巅峰,练琴从小练到大、喜欢古典乐不一定会让你更高雅,坚持写作不会让你思想境界骤然提高——健身也不是让你获得优越感的理由。道理,都一样。
那晚和龚老师聊到这个。
他说到,一个健身博主发过一个投稿,一个女孩说她男朋友整天健身,啥也不干,天天就喊着耶巴蒂。
“这有啥意思?这样的健身完全没有意义啊。”他说。
“健身是为了健康,锻炼自我意志,让自己成为岗位上更棒的自己。”
“嗯。”
“就好比所谓健身的看不起那些身材邋遢,不修边幅的油腻中年人。但是,实际上,我们现在的生活的进步,是这些油腻中年大叔拼出来的。”
“不对集体做出贡献,怎么好意思去享受集体带来的好处。”
“大概是没有见过世面的优越感吧。” 我说。
上学期在国外交换了三个月,也在UCD的学校健身房体验了三个月。
不得不承认,国内外健身发展进度还是有很大差距的。
且不说在那里健身房里见识到的身材和肌肉线条—— 的确,与国内平均水平相比,高出太多——更让我印象深刻的,是那种发展趋于成熟的健身氛围。
每个人在用完器械之后,都会用旁边的消毒水和抹布把用过的地方擦拭清理干净;没有人乱摆放器械,用完一律归位;没有人会每做一个动作就大声咆哮一次;没有人霸占器械闲聊,或扣手机;没有人会长时间占用同一个器械;单独一人训练的人很多;横穿整个健身房一楼的十个深蹲硬拉架,旁边永远有一条整整齐齐等候的队伍。
大家都懂训练的基本法。"Excuse me, how many sets do you have(请问你还有多少组?)"和"Thank you"是最常用的两句话。
在那里,见过深蹲一百多公斤的**姐,翻举六十公斤的**姐,引体负重四十公斤做组的,以及随便拉一个都可以直接打比赛的各路大神。
但是,几乎没有人的脸上写着优越感。
或许是因为从小被普遍教育观念影响养成的习惯,或许是因为习惯了把健身当作一种如同起居作息一般再平淡不过的生活方式,或许是早已知道人外有人山外有山——
铁馆里训练的他们,都仿佛每天来到图书馆学习一般—— 只是自己默默完成自己该完成的事,而已。
从接触健身开始,见过了身边种种怪象,我就开始琢磨: 由健身产生的优越感,到底从何而来呢?
前年我还在博客特意为此写过一篇《奥赛选手的军备竞赛》。
起因是当时读了尼采的《查拉图斯特拉如是说》,于是每每都会将尼采的超人-末人意象与我校健身房里的奥赛选手们联想到一起。
“到现在为止,所有生物都创造了超出自身之外的东西;而你们想成为这场大浪的阻碍升值重返时代而不是超越人类吗?猿猴对人类来说是什么?一个笑柄或者是一个让人痛苦的羞耻。”
“人类对于超人来说也是如此。”
在他的另一本《权力意志》中,尼采也借用过一个假想的联盟来表达类似的设想:
“国籍种族联盟,一个基于严格的自律基础、囊括哲学王意志与艺术家君主的贵族统治将会千秋外代地存在…… 将民主作为其顺从柔软的工具,把握住地球的命运,并因此成为生活于‘人’之上的艺术家。 ”
尼采一向是推崇等级制的,并相信未来的社会必然由更加森严的等级制所控制。
简言之即, 他用一种假想的“人类更高级的存在形式”来描绘了这种社会的运作模式——“超人”凭借着自己毋庸置疑的等级地位,将“末人”当作统治工具,少数人掌控着多数人的命运。
1996年亚特兰大奥运会期间,由一家每股欧通讯剧透公司赞助的一组广告中,一群身体强壮、肌肉发达的运动员展现了超凡的运动技能,诸如沿着建筑侧面墙向上奔跑、从悬崖上纵身跳下万丈峡谷、在一栋栋魔调大楼的屋顶间跳跃等。
重点在于广告最后闪烁出的主体字幕: “无拘无束” 。
如同Leni Riefenstahl(1938年柏林奥运会纪录片《奥林匹亚》导演)塑造的荧幕形象那般暗示的,这种如尼采笔下超人一般的存在可以超越凡俗的道德规则约束。
如此文化主题鼓动着个体从无用的压抑的社会约制中解放出来—— 打破规则,无拘无束。
可是……
”这个问题我也一直思考,从很久很久以前。“龚老师接着说, ”力量,是外在还是内在。“
”因为健身了,有了强壮的身躯,就无所畏。那,难不成,没了这身肌肉,就什么也不是?“
”外在的锻炼对内心的提示是有的。但我现在觉得,外界刺激,是一个,但更主要的,力量的涌现,要从内心爆发……内在的精神力量无比强大。“
”内在的力量是指什么呢你觉得?“我问道。
”意志……就好比小时候看资治通鉴,读到安史之乱,那个时候各地守军十分艰难。有些将军,被敌人用锯子活生生地锯成好几截,但是将军没有求饶的,一边笑一边骂,承受酷刑。“
“或者是近一点,民国抗战时期。被俘的领袖将领,从容赴刑,不管描述的多残忍,没有妥协的。有些听着都能让人颤栗。”
”再或者,抗美援朝。美军至今不明白,为什么没打赢,山头都炸平了,地洞里的诸多战士,靠着一根萝卜撑下来等等,这些都是。他们也有共通点,背负责任、希望,或者荣誉等……“
记得《杀死比尔》里,最后Bill和Kiddo最后一次谈话的时候,Bill用漫威中超人的引子对Kiddo作了评判:
I'm calling you a killer A natural born killer You always have been, and you always will be Moving to El Paso, working in a used record store, goin' to the movies with Tommy, clipping coupons
That's you, trying to disguise yourself as a worker bee That's you tryin' to blend in with the hive But you're not a worker bee You're a renegade killer bee
And no matter how much beer you drank or barbecue you ate or how fat your ass got, nothing in the world would ever change that
Bill 想告诉 Kiddo 的是,Kiddo 的本我是一个杀手,这是她无法改变的。她可以隐姓埋名,相夫教子,去尝试普通人的生活,但她内心中,杀手的本性不会改变。
三刷这部**的时候,我不由得去思考这个问题: 到底什么样的改变才是本质上的改变?又有多少人,误把外在的改变,当作了本质的蜕变?
前段时间自己琢磨出来一个理论。关于一个这几年听滥了的词:
“优秀”。
有时候是对我说的,有时候不是,有时候是真心赞叹,有时候是表面客套。
关于这个词吧,我想了想,大概是要分几个阶段的。
很多人处于第一阶段。 他们在试图培养优秀的习惯,却并不能坚持多久。然而在每执行一次的时候,他们都会给予自己一种莫名的优越感,好似自己通过这一次次断断续续的执行,就成为了优秀本身。
第二阶段,他们能坚持下来。 但毕竟,习惯,依然只是习惯,生活方式而已。
处于第三阶段的人们, 有几段值得回忆的经历, 或许是自己今后想起奋斗过的岁月,或许是在绝望的深渊见过的风景,或许是在年华老去可以向后人讲述的人生故事。
到达第四阶段的标志, 大概是做了几件了不起的事 ——也许是研发了一种药物,创办了一个品牌,成立了一个企业,建造了一个学校,撰写了一部作品。
第五阶段的人们或许已经让人感到有些望而生畏—— 他们似乎什么都会,学习能力非凡,在林林总总看似无关的多个领域里,都能看到他们精力充沛的身影,他们是拥有多重身份的佼佼者。
第六阶段, 他们的优秀已经无需任何人,任何事去作多余的证明,他自己本身就是个logo。
最后一个阶段, 历史记住了他们。
说了那么多看似无关的无聊总结,其实就行想说明一点: 大多数人,包括我自己,都处于第一或者第二阶段,没有什么值得骄傲的。由生活习惯而带来的优越感,无聊得很。
其实写这篇一部分也是源自对自己的反省。
在暑假那一篇里,我写过这么一段:
久而久之,整个人的观念都会因习惯而被自己所“坚持”的事物改变。
比如,自己曾经若见到肌肉线条分明的大佬只会心生敬畏,而前几天与一位健身多年的学长C聊到健身,我俩竟一致认为: “有训练痕迹简直是为人处世的基本准则啊。”
我承认,自己当时在浅尝某个领域并有一点点成效的时候,也不免会沾沾自喜,并油然而生所谓的“优越感”。
现在看来,当时的想法还是狭隘、偏激了。
“我曾说过,我应该用容忍的态度来报答社会对我的容忍。我现在常常想我们还得戒律自己:我们着想别人容忍谅解我们的见解,我们必须先养成能够容忍谅解别人的见解的度量。”
“至少至少我们应该戒约自己决不可‘以吾辈所主张者为绝对之是’。我们受过实验主义的训练的人,本来就不承认有‘绝对之是’,更不可以‘以吾辈所主张者为绝对之是’。”
惭愧。
一直以来都很推崇胡适的“容忍与自由”的为人处世观,怎么到这里就忘了呢?
都说国内健身行业发展起步晚,不成熟。 以至于许多人对于健身不理解,缺乏常识性认知,普遍也不太接受健美身材的审美,大众对健美界也是满满鄙夷和恶意,甚至因此前段时间健身博主Lara殿的微博号被网管点名”传播色情“,闹出了不小的风波。
但,这样的”不成熟“,恐怕不仅表现在健身界之外的舆论,也存在于界内吧。 比如,这种优越感,尤其是,作为业余爱好者的优越感。
每个人的生活选择,身份职业,个人经历都没有高低贵贱,何况当这些被当作所谓”衡量尺度“的事情,远远不足以充当炫耀的资本,只是一项再普通不过的爱好,而已。
不要把自己做喜欢的事上升为优越感,就像,不要把他人做喜欢的事理解为秀优越一样。
健身如此,对于其他事,亦如是。
以上。
一.中间件的定义与作用
1什么是中间件?
摘自公众号“筋斗云与自动驾驶”
笔者在交流中发现,不同的人对中间件的理解并不一样,甚至可以说,到现在,这个概念还是模糊不清的。比如:
(1)有的人认为中间件仅指位于OS内核之上、功能软件之下的那部分组件,为上层提供进程管理、升级管理等服务;而有的人则认为中间件还应包括功能软件和应用软件中间的那部分(参见上图)。按茅海燕的说法,前者是“通用中间件”,而后者是“专用中间件”。本文中提到的“中间件”,若不做专门说明,便特指“通用中间件”。
(2)有一些人提到的自动驾驶中间件,包括了AUTOSAR(又分为AUTOSAR CP和AUTOSAR AP),还有一些人口中的中间件,特指ROS2、Cyber RT、DDS等。
(3)未动科技VP萧猛认为,“中间”一词是相对的,当有多层堆叠的时候,每一层都是其上下两层的中间层,因此,在用“中间件”这个词的时候,我们需要特别指明它究竟位于“哪两层之间”。按萧猛的说法,当我们称“ROS/ROS2 为中间件”时,其含义与 “AUTOSAR AP为中间件”并不是对等的关系。
(4)Vector产品专家蔡守群说,他理解的中间件,“是给App开发提供功能支撑的,对外是没有功能表征的;但是站在操作系统内核的角度,中间件跟App并没有本质的区别”。
2中间件的作用
汪浩伟说:“专用中间件原本是应用程序的一部分,只是很多公司做自动驾驶都需要用到,就被抽象出来了。”
那么,它究竟有什么用?
毕晓鹏认为,自动驾驶中间件最主要的作用是:对下,它能够去适配不同的OS内核和架构;对上,它能够提供一个统一的标准接口,负责各类应用软件模块之间的通信以及对底层系统资源的调度。
据毕晓鹏解释,前者,使开发者们无需考虑底层的OS内核是什么,也无需考虑硬件环境是什么,即不仅实现了应用软件与OS的解耦,也实现了应用软件与硬件的解耦;而后者则确保了数据能够安全实时地传输、资源进行合理的调度。
为什么要通过中间件来支持软硬件解耦?毕晓鹏解释道:
我开发一个应用软件,其中很多内容都是与具体应用逻辑无关的,包括数据通信、通信安全、系统资源调度等,比如,有十个进程需要数据交互,完全没有必要在十个程序的软件代码里各自进行实现和配置。针对这种情况,我们就可以把重复的部分抽象成一种服务,单独封成一层东西(这就是中间件),并提供统一的库、接口和配置方法,供上层去调用。这样的话,有一部分人专门去做中间件的,而做上层应用的人也不需要考虑跟底层交互的事情。
举例说,如果要做一个自动泊车系统,它有各个模块或业务逻辑独立的不同软件,在进行通信、数据交互,或者调用底层资源时,只需要中间件的一个接口就可以实现,其他事情不需要考虑,这样开发人员就可以专注于自己的业务逻辑。
又比如,一个摄像头需要感知前面的车道线、红绿灯等,开发人员就专门做红绿灯和车道线检测算法,与外界的数据交互只需要使用中间件的通信服务(例如订阅摄像头信息,发布检测结果),而不必关心数据从哪里来、发给谁。
Nullmax纽劢科技系统平台总监苗乾坤博士在此前的一篇文章中写道:
“芯片算力大幅增长,摄像头像素呈翻倍之势,激光雷达出现在更多新车规划上……没有谁能够断言车上的传感器应该有多少,又或者是将来的汽车还会增加哪些硬件,但所有人都知道硬件的变化将会来得更加猛烈。
“所以我们也可以看到,汽车对软硬件架构的要求也越来越高,既要能满足当下的需求,还要具备相当的前瞻性、兼容性和扩展性,能够支持接下来软硬件升级换代、增减模块的需求。而自动驾驶的中间件,就正是这样一个可以按需调整、满足各样需求的现代温室。
“在早期开发中,中间件可以化整为零,将巨大的软件工程分解成若干小任务,分散解决。在后期应用时,它又可以化零为整,像拼积木一样,根据需求将一个个模块组合成一个整体,严丝合缝。”
在春节前的一场直播中,东软睿驰产品销售总监安志鹏说,在软硬件解耦、模块化管理后,再遇到问题,就不用整个系统都改,只改相对应的部分就行了。这样,软件的可复用程度就极大地提升了,同时,验证的工作量也会减少许多,整体开发效率也会因此提升。
相反,没有中间件的话,应用层就得直接调用操作系统的接口,后期要是换了操作系统,应用层的代码和算法可能就要推倒重来。
简言之,中间件通过对计算平台、传感器等资源进行抽象,对算法、子系统、功能采取模块化的管理,并提供统一接口,让开发人员能够专注于各自业务层面的开发,无需了解无关细节。
按东软睿驰产品销售总监安志鹏的说法,搞AUTSOAR这样的中间件,并不是只对OEM有利,“零部件供应商的选择面也大了——应用做好了,下面的软件、芯片可以选好几家供应商的,要比传统的开发模式快很多,因而,零部件供应商也是受益者”。
用萧猛的话说,中间件最直接的好处就是“为上层屏蔽底层的复杂性”,软件开发人员可以忽略芯片、传感器等硬件的差异,从而高效、灵活地将上层应用及功能算法在不同平台上实现、迭代、移植。萧猛认为,中间件可以看做是自动驾驶应用背景下的一项“新基建”。
(摘自冯占军博士的《AUTOSAR对基础软件开发是喜还是忧?》一文。AUTOSAR只是中间件的一种,但这里写的“AUTOSAR开发优势”基本也适用于其他中间件。)
不过,站在开发者的角度看,中间件的意义也未必全部是正面的。如冯占军博士在《AUTOSAR对基础软件开发是喜还是忧?》一文中就提到了如下两点:
底层软件工程师变成了工具人,“只要你去点点鼠标,用工具配合就可以了”,很多原本由自己做的测试也改由供应商来做,进而导致工程师的成就感严重降低;时间久了,工程师从0到1开发的能力也会降低。
(摘自冯占军博士的文章。尽管文章说的是Autosar,但实际上这些问题在ROS等其他中间件的使用过程中也会存在。)
对软件工程师来说,中间件造成的“能力退化”这一问题几乎是无解的。但冯占军博士认为,“如果这个中间件在开发过程中,有使用公司的工程师深度参与,提出需求并一起实施,会好一些”。
此外,殷玮在一篇文章提到,使用AUTOSAR这样的中间件,Tier 1们应该是很不情愿的,“因为不到增加了成本,还有可能逐步沦为硬件生产商”。但这个也不能说是中间件的锅,在软件定义汽车大大趋势下,这几乎是必然的。
二.常见的基本概念
1 AUTOSAR CP 与 AUTOSAR AP
在所有的中间件方案中,最著名的非AUTOSAR莫属了。
严格地说,AUTOSAR并非特指由某一家软件公司开发出来的某款操作系统或中间件产品,而是由全球的主要汽车生产厂商、零部件供应商、软硬件和电子工业等企业共同制定的汽车开放式系统架构标准。不过,在实践中,各公司基于AUTOSAR标准开发出来的中间件也被被称为“AUTOSAR”。
当前,AUTOSAR可分为Classic Platform和Adaptive Platform两个平台,两者分别被简称为AUTOSAR CP与AUTOSAR AP。
简单地说,AUTOSAR CP主要跑在8bit、16bit、32bit的MCU上,对应传统的车身控制、底盘控制、动力系统等功能,如果涉及到自动驾驶的话,AUTOSAR CP可能无法实现;而AUTOSAR AP主要跑在64bit以上的高性能MPU/SOC上,对应自动驾驶的高性能电子系统。
严格地说,AUTOSAR CP并不只是个“中间件”,它是相当于“OS内核+中间件”的一套完整的“操作系统”。 AUTOSAR CP定义了基本的上层任务调度、优先级调度等。
在基于分布式架构的ADAS功能中,AUOTSAR CP便是最常见的“操作系统”。在AUTOSAR的生态形成后,很多芯片厂商的MCU上标配的就是AUTOSAR CP,主机厂没有什么选择权。
由于分布式架构下的芯片主要是MCU,因此,便有了“AUTOSAR CP主要跑在MCU上”的说法。
在分布式架构下,不同的功能对应着不同的MCU,而每一个MCU上都需要跑一套AUTOSAR CP,若传感器的类型比较多,则仅ADAS相关功能就需要很多套AUTOSAR CP,那怎么收费呢?
常规的做法是:根据MCU的类型来收费——如果MCU是两个异构的MCU,那AUTOSAR CP就按两套来收费;如果MCU是同构的,那AUTOSAR CP就按一套来收费。
随着EE架构从分布式向集中式演进、芯片由MCU向SOC演进,计算量及通信量成数量级地上升,另外,多核处理器、GPU、FPGA以及专用加速器的需求,还有OTA等,都超出了AUTOSAR CP的支持范围。
(摘自安志鹏的直播课)
2017年,为更好地满足集中式架构+SOC时代的高等级自动驾驶对中间件的需求,AUTOSAR联盟推出了通信能力更强、软件可配置性更灵活、安全机制要求更高的AUTOSAR AP平台。
需要强调的是,不同于AUTOSAR CP自身已经包含了基于OSEK标准的OS,AUTOSAR AP只是一个跑在Lunix、QNX等基于POSIX标准的OS上面的中间件——它自身并不包含OS。
结合aFakeProgramer于2020年发表在CSDN上的《为什么要用AP?Adaptive AutoSAR到底给企业提供了一些什么?》一文及东软睿驰安志鹏在2022年春节前的一场直播中讲的内容,AUTOSAR CP与AUTOSAR AP最主要的区别有如下几点:
1)编程语言不同——AUTOSAR CP基于C语言,而AUTOSAR AP基于C++语言;
2)架构不同——AUTOSAR CP 采用的是FOA架构(function-oriented architecture),而AUTOSAR AP采用的则是SOA架构(service-oriented architecture);
3)通信方式不同——AUTOAR CP采用的是基于信号的静态配置通信方式(LIN\CAN通信矩阵),而AUTOSAR AP采用的是基于服务的SOA动态通信方式(SOME/IP);
4)连接关系不同——在AUTOSAR CP中,硬件资源的连接关系受限于线束的连接,而在AUTOSAR AP中,硬件资源间的连接关系虚拟化,不局限于通信线束的连接关系;
5)调度方式不同——AUTOSAR CP采用固定的任务调度配置,模块和配置在发布前进行静态编译、链接,按既定规则顺序执行,而AUTOSAR CP则支持多种动态调度策略,服务可根据应用需求动态加载,并可进行单独更新。
6)代码执行和地址空间不同——AUTOSAR CP中,大部分代码静态运行在ROM,所有application共用一个地址空间,而在AUTOSAR AP中,应用加载到RAM运行,每个application独享(虚拟)一个地址空间。
这些区别,带给AUTOSAR AP的优势有如下几点——
1)ECU更加智能:基于SOA通信使得AP中ECU可以动态的同其他ECU同其他ECU进行连接,提供或获取服务;
2)更强大的计算能力:基于SOA架构使得AP能够更好地支持多核、多ECU、多SoCs并行处理,从而提供更强大的计算能力;
3)更加安全:基于SOA架构使得AP中各个服务模块独立,可独立加载,IAM管理访问权限;
4)敏捷开发:Adaptive AUTOSAR服务不局限于部署在ECU本地可分布于车载网络中,使得系统模块可灵活部署,后期也能灵活独立更新(FOTA);
5)高通信带宽:可实现基于Ethernet等高通信带宽的总线通信;
6)更易物联:基于以太网的SOA通信,更易实现无线、远程、云连接,方便部署V-2-X应用。
(摘自东软睿驰)
当然了,在某些方面,AUTOSAR AP与AUTOSAR CP相比是有一些“劣势”的。比如,AUTOSAR CP的时延可低至微秒级、功能安全等级达到了ASIL-D,硬实时;而AUTOSAR AP的时延则在毫秒级,功能安全等级则为ASIL-B,软实时。
上述区别也导致了两者应用领域的不同:AUTOSAR CP一般应用在对实时性和功能安全要求较高、对算力要求较低的场景中,如引擎控制、制动等传统ECU;而AUTOSAR则应用在对实时性和功能安全有一定要求,但对算力要求更高的场景中,如ADAS、自动驾驶,以及在动态部署方面追求较高自由度的信息娱乐场景。
尽管AUTOSAR AP有种种优点,但总的来说,它目前还不够成熟——主要是信息安全及UCM等模块不成熟。量产车上装AUTOSAR AP的不少,但主要用在娱乐场景,真正用在自动驾驶场景的还很少。
此外,由于SOC+MCU组合的现象会长期存在,因而,在今后相当长一段时间内,AUTOSAR AP都不可能彻底取代AUTOSAR CP——最常见的分工会是,需要高算力的工作交给AUTOSAR AP,而需要高实时性的工作则交给AUTOSAR CP。
(摘自超星未来)
2ROS 2
ROS是机器人操作系统(Robot Operating System)的英文缩写,原生的ROS本是机器人OS,并不能直接满足无人驾驶的所有需求,用作自动驾驶中间件的是ROS 2。
ROS 2与ROS 1的主要区别如下:
(1)ROS 1主要构建于Linux系统之上,主要支持Ubuntu;ROS 2采用全新的架构,底层基于DDS(Data Distribution Service)通信机制,支持实时性、嵌入式、分布式、多操作系统,ROS 2支持的系统包括Linux、windows、Mac、RTOS,甚至是单片机等没有操作系统的裸机。
(2)ROS 1的通讯系统基于TCPROS/UDPROS,强依赖于master节点的处理;ROS 2的通讯系统是基于DDS,取消了master,同时在内部提供了DDS的抽象层实现,有了这个抽象层,用户就可以不去关注底层的DDS使用了哪个商家的API。
(3)ROS运行时要依赖roscore,一旦roscore出现问题就会造成较大的系统灾难,同时由于安装与运行体积较大,对很多低资源系统会造成负担;ROS2基于DDS进行数据传输,而DDS基于RTPS的去中心化的通信框架,这就去除了对roscore的依赖,系统的稳定性强,对资源的消耗也得到了降低。
(4)由于ROS 缺少Qos机制,topic的稳定性与质量难以保证;ROS2则提供了Qos机制,对通信的实时性、完整性、历史追溯等功能有了支持,这便大幅加强了框架功能,避免了高速系统难以适用等问题。
不过,ROS2的QoQ配置较为复杂,目前主要是国外一些专业的大学或实验室在使用,国内仅有极少数公司在尝试;此外,ROS 2的生态成熟度远不如ROS,这也给推广应用带来了不便。
跟AUTOSAR AP一样,ROS 2也是跑在soc芯片上、用于满足高等级自动驾驶的需求的。不过,萧猛在去年的一批文章中却特别强调:当我们称 “ROS/ROS2 为中间件”时,其含义与 “AUTOSAR AP为 中间件”并不是对等的关系。
萧猛的文章称:
当我们说 AutoSar是中间件时,这个中间件是很明确的 LBSW层语义,即处于计算机OS与车载ECU特定功能实现之间,为 ECU功能实现层屏蔽掉特定处理器和计算机OS相关的细节,并提供与车辆网络、电源等系统交互所需的基础服务;
ROS/ROS2 是作为机器人开发的应用框架,在机器人应用和计算机OS之间提供了通用的中间层框架和常用软件模块(ROS Package),而且, ROS团队认为这个框架做得足够好,可以称作操作系统(OS)了。
ROS 2尽管在功能上跟AUTOSAR AP有不少重叠之处,但两者的思路是不一样的:
(1)从表现形式上看,AUTOSAR AP首先是一套标准,这个标准定义了一系列基础平台组件,每个平台组件定义了对应用的标准接口,但没有定义实现细节,和平台组件之间的交互接口(这些部分留给AUTOSAR AP供应商实现);ROS2则从一开始就是代码优先,每个版本都有完整的代码实现,也定义有面向应用标准API接口。
(2)AUTOSAR AP从一开始就面向ASIL-B应用;ROS 2不是根据ASIL的标准设计的,ROS 2实现功能安全的解决方案是,把底层换为满足ASIL要求的RTOS和商用工具链(编译器)。
ROS 2“过不了车规”似乎已成为一个很广泛的行业共识。但在萧猛看来,ROS2本来就不是为实时域设计的,如果一定要把实时性要求高的车辆控制算法运行在 ROS2中,“那是软件设计的错误,而不是ROS2的问题”。
萧猛认为,只要能补齐 LBSW层所需要完成的所有功能、补齐 A 轴所有切面要求的特性,ROS 2就能用于自动驾驶量产车。如前段时间刚拿到采埃孚等多家巨头投资的ApexAI公司基于ROS 2定制开发的ApexOS就已经通过了最高等级的ASIL D认证。
萧猛说:“这实际上是基于 ROS 2的架构去实现一套 AUTOSAR AP 规范。这可以成为一个单独的产品,投入时间+人+钱可以开发出来,只是看有没有必要,值不值得”。
在具体的实践中,ROS 2跟AUTOSAR AP存在直接竞争关系——尽管对用户来说,并不存在严格意义上的“二选一”问题,但通常来说,若选了ROS 2,就不会选AUTOSAR AP了;若选了AUTOSAR AP,就不会选ROS 2了。
3 CyberRT
Cyber RT是百度Apollo开发出来的中间件,在Apollo 35中正式发布。Cyber RT和ROS2是比较像的, 其底层也是使用了一个开源版本的DDS。
百度最早用的是ROS 1,但在使用的过程中逐渐发现了ROS 1存在“若ROS Master出故障了,则任何两个节点之间的通信便受到影响”的问题,所以就希望使用一个“没有中间节点”的通信中间件来代替ROS 1,那时还没有ROS2,所以自己去做了一个Cyber RT。
为了解决 ROS 遇到的问题,Cyber RT删除了master机制,用自动发现机制代替,这个通信组网机制和汽车网络CAN完全一致。此外,Cyber RT的核心设计将调度、任务从内核空间搬到了用户空间。
(出处:https://blogcsdnnet/xhtchina/article/details/118151673)
其相对于其他系统,Cyber RT的一大优势是,专为无人架驶设计。百度已将Cyber RT开源,某互联网巨头的自动驾驶团队使用的中间件便是百度开源出来的Cyber RT。
Cyber RT跟ROS 2之间也存在竞争关系。
在谈到AUTOSAR AP、ROS 2与Cyber RT这些中间件的关系时,Vector产品专家蔡守群的解释是:
“不需要很机械地去分类,你可以把AUTOSAR AP, ROS和Cyber RT都想象成一个提供一组中间件的超市,用户可以按需从不同的超市购买,并不是说从一个超市买过一个中间件,就不能从其他超市买了。
蔡守群说:AUTOSAR AP中也包含了对ROS接口的支持。说不准哪天ROS和Cyber RT就会加入AUTOSAR AP的组件,或者 AUTOSAR AP会引入Cyber RT的组件。
4DDS(通信中间件)
(1)什么是DDS?
在自动驾驶领域,中间件的功能涉及到通信、模块升级、任务调度、执行管理,但其最主要的功能就是通信。当前市场上,无论是Cyber RT还是 ROS,基本上90%的功能就是通信,狭义上说就是通信中间件。
通信中间可以分成开源和闭源的两种。开源的为OPEN DDS、FAST DDS、Cyclone等,闭源的就RTI的DDS和Vector的SOME/IP。DDS的全称为Data Distribution Service ,指一种数据分发服务标准,由对象管理组织(OMG)制定。
DDS能够实现低延迟、高可靠、高实时性的数据融合服务,能够从根本上降低软件的耦合性、复杂性,提高软件的模块化特性。高等级自动驾驶现在基本上都在探索依靠DDS来解决异构通信、低时延等CP解决不了的挑战。
融合了DDS的汽车软件能够更好地运行在下一代汽车的体系架构中,更能降低开发的成本、缩短研发的时间,更快地将产品推向市场。
(2)DDS与ROS 2、AUTOSAR AP之间的关系
ROS 2和Cyber RT的底层都使用了开源的DDS,将DDS作为最重要的通信机制。但也有自动驾驶公司的工程师认为,DDS可以起到替代ROS 2的作用,站在用户的角度看,两者之间其实存在“二选一”的关系。
AUTOSAR CP里一直没有包含跟DDS有关的东西,但AUTOSAR AP在 2018年3月的最新版(版本18-10)里开始支持DDS标准。将DDS与AUTOSAR AP结合使用,不仅可以保证和扩展AUTOSAR AP系统内部互操作性的功能,而且还可以将其开放给来自不同的生态系统(即ROS 2)。
从工程角度来看,将AUTOSAR和DDS结合起来的最大优势是,功能域和网络拓扑不再是对手,而是车辆中的盟友。网络拓扑结构能够更好地适应车辆的物理约束,功能域在物理车辆的顶部提供了一个灵活的覆盖层,这就是所谓的分区体系结构。
当然,DDS仅是通信中间件的一种。关于各类通信中间件之间的异同,我们将在本系列的第二篇做更详细的阐释。
三.AUTOSAR AP的地位正在弱化?
尽管AUTOSAR是当下最有名的自动驾驶中间件,但《九章智驾》在对诸多中间件厂商们的调研中得出一个结论:AUTOSAR在产业链中的地位可能正在弱化。 当然了,那些专注于AUTOSAR系统的厂商们并不认同这一观点。
我们在上文已经提到,随着EE架构从分布式向集中式演进、MCU被SOC取代,CP AUTSAR被AUTOSAR AP、ROS 2和Cyber RT等取代已是大势所趋,在下文,我们主要谈的是“AUTOSAR AP的地位会不会弱化”。
2021年12月中旬,两家AUTOSAR发起公司大陆集团、丰田联合采埃孚、捷豹路虎、沃尔沃、海拉等多家汽车行业龙头企业宣布投资车载操作系统初创公司ApexAI,而ApexAI的主力产品ApexOS则是基于ROS 2发展起来的。
拿到了ApexAI公司15%股权的采埃孚方面在接受媒体采访时说:“这意味着,我们可以为客户提供AUTOSAR AP的替代方案。”
尽管AUTOSAR AP已经有了标准,但还没有落地。安波福、采埃孚、大陆这些公司提供的方案,仍然是基于AUTOSAR CP标准的接口。事实上,越来越多的OEM不太想完全用AUTOSAR去解决智能驾驶操作系统的问题。
不仅特斯拉没有用AUTOSAR AP,国内的几大造车新势力也没有用(他们用的是AUTOSAR CP+DDS)。甚至,连一些正在转型的传统车企也没打算用AUTOSAR AP。
从产业链中各方的反应来看,AUTOSAR AP“地位不稳”的原因主要有以下几个:
1.使用成本太高
冯占军博士在《AUTOSAR对基础软件开发是喜还是忧?》一文中透露,AUTOSAR的费用通常是“几百万起”,并且,针对不同的域控制器、不同的芯片需要“重复收费”,一般小厂根本吃不消。“可能还没有什么产出,几百万就花出去了”。
除购买成本高外,毕晓鹏和萧猛都提到,AUTOSAR前期的学习难度很大、学习成本也非常高。为了学会如何使用AUTOSAR,企业甚至不得不专门培训一批人,如果受培训的人临时离职了,那培训费用就打了水漂。
2效率不高
毕晓鹏认为,AUTOSAR AP的配置非常多,它是通过配置加上一部分代码去实现自己的功能,但配置多了之后,效率不高,而且代码臃肿。
3静态部署与动态部署的理念冲突
毕晓鹏博士提到,AUTOSAR AP其实是从AUTOSAR CP发展而来的,AUTOSAR CP是静态部署,只适用于相对简单的业务逻辑和功能,其代码是固化的,有点像以前的功能手机——功能无法改变,不可能往里面再加一个APP;但AUTOSAR AP有点像现在的智能手机,软件开发人员开发一个APP,跨平台就可以用不同手机上了,这种动态部署的理念和之前的静态部署概念不甚相同,而其方法论却是基于静态部署衍生而来的,因此在实践层面会遇到不少问题。
4无法满足智能网联的需求
由于云端跟车端所使用的操作系统不一样,AUTOSAR只能负责车内的通信,不能支持车端到云端的通信,因而无法支持车路协同场景(车端跟云端的通信,是通过MQTT、kafka等中间件来实现的)。除此之外,AUTOSAR能否兼容车辆网联化中需要用到的数据平台、通信平台和地图平台,也存在很大的疑问。
毕晓鹏说,在发现了这些问题后,有一些OEM开始逐渐放弃AUTOSAR架构,“转而自己去研发一套更适合动态部署、成本较低的新型软件架构”。
传统车厂是从使用CP过来的,所以在惯性上,他们可能还会考虑AP是否适合智能驾驶,但慢慢地也在尝试转型。如奥迪和TTTech合作做的通信中间件——zFAS,也没有采用AP。
不同于AUTOSAR CP已经是非常标准化的东西,大家用起来没什么问题,AUTOSAR AP现在的标准也不是很完善,每年也在更新,具体AP能发展成什么样,这个谁也不知道,大家更多也是观望的态度。
毕晓鹏认为,AUTOSAR标准并不能很好地支撑自动驾驶应用和创新的发展,因此,我们有必要建立一套更适合中国智能驾驶发展、且自主可控的技术架构和生态体系。
萧猛认为,由于从AUTOSAR CP到AUTOSAR AP一脉相承,一些已经对AUTOSAR形成路径依赖的公司会坚持使用AUTOSAR AP,但在经历过招人难、开发周期长等教训之后,他们有可能转向ROS 2。
当然,以AUTOSAR为主业的公司,显然不会认可上述“涉嫌唱衰”AUTOSAR AP的观点的。
比如,Vector蔡守群就认为,AUTOSAR AP只会越来越重要,因为它是顺应车载技术不断发展的一套规范,覆盖面会越来越广。
东软睿驰茅海燕也认为,要将整车域控制器和智驾域控制器合并到统一的中央计算平台上,没有AUTOSAR AP的支持很难搞定。“不是每家公司都能像特斯拉一样自己从头搭建系统的,目前,最好的工具还是AUTOSAR AP”。
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)