NEWS

米文动力CTO苏俊:自主机器人次世代控制核心

2022-06-24 source:米文动力

大家好,很高兴大家来参加米文动力“边缘计算前沿实践”系列公开课,本系列公开课重点介绍米文动力在边缘计算实践中的应用案例,以及对边缘计算技术路线的展望,本期重点介绍Jetson Orin作为自主机器人次世代控制核心的技术特性。

幻灯片2.png

米文动力是以视频为核心的AIoT边缘解决方案提供商,致力于为边缘计算场景用户解决批量落地过程中遇到的所有问题。


硬件方面,米文动力针对不同的场景需求提供各种低功耗、不同算力的硬件计算产品。


软件方面,为硬件用户提供如远程系统升级、批量烧写工具等各种免费的增值服务。


同时,在部分场景中,米文动力也提供云边协同的完整解决方案,为客户扫清障碍,解决最终的人工智能场景落地难题。


因此,如果您要解决的是一个边缘问题,您的任何疑问,在米文动力都会得到解答。

幻灯片4.png

首先我们从技术规格角度,来介绍一下Orin和过往的Jetson产品有什么不同。


众所周知,Jetson系列是一款软件定义的SOM,主打开发者市场,除了硬件的限制之外,也会通过的软件来实现产品区分。


目前公布的使用Orin的Jetson系列产品一共有上述四种,Jetson AGX Orin通过内存区分成64G和32G两个版本,SODIMM形态的模组则是分成了16G和8G两个版本。


其中 AGX Orin和 AGX Xavier保持一样的大小和接头,但是信号并不兼容。而 Orin NX也是同样,基本保持的一样的大小和接头,但是信号并不完全兼容。


值得注意的是,由于NX 16GB的功耗无法控制在20w以内,已经接近目前SODIMM口上预留的最大物理电流,因此,之前的Orin NX的载板将无法兼容16GB的Orin产品。如果强行使用,在最大功耗的情况下很可能会烧毁模组。

幻灯片5.png

在算力方面,为了能够比较公平的和之前的系列进行对比,我们选用普通稠密卷积的指标来进行对比。


从稠密的数据上来看,整体的性能相比上代的产品有很大的提升。Orin NX相比Xavier NX提升了1.5倍,AGX Xavier相比AGX Xavier提升了2.3倍,加量不加价。


具体可以看一下官方的数据。

幻灯片6.png

在官方给出的数据中,Orin相比Xavier的性能提升上是这样的。


AI的性能提升了7倍,从32TOPS,提升到了275TOPS。GPU的性能提升了2.7倍,从1.4TFLOPS,提升到了5.3TFLOPS。DLA的性能提升了8倍,从原来的11TOPS,提升到了105TOPS。CPU性能则是提高了85%,DRAM的带宽则提升了50%。

幻灯片7.png

这里有两个数据我们值得注意,我们仔细拆解一下。


Xavier的32TOPS的AI性能由两部分组成,其中GPU贡献了22TOPS,DLA贡献了10TOPS,DLA占比31%。根据我们的了解,由于DLA支持的层数有较大限制,GPU AI算力占比为69%。


根据刚才的官方数据,我们可以知道,Orin的137.5TOPS的AI性能也是由两部分构成,其中GPU贡献了85TOPS的AI算力,DLA则贡献了52.5TOPS的AI算力,GPU占比62%。


因此对于只使用GPU的人来说,AI性能能够有大概接近3倍的提升。

幻灯片8.png

接下来我们再看一下Jetson AGX Orin的系统框图,除了模组对外直接暴露的接口,模组内部多了四大变化。


首先DLA和PVA都升级到了v2版本,目前这个版本升级会带来的功能变化还不清楚,大家都希望DLA可以有更多更灵活的层数支持。


其次多了一个叫做Generic Timestamp Engine的模块,目前该模块的功能也尚不清楚,但是按字样,应该和时间同步相关。


此外还多了一个叫做APE的音频处理引擎,目前也还没有开放对应的信息。但由于GTE和APE还有SPE都属于同一模块,推测应该都是基于Orin内部的Cortex R5核来实现的软件功能。


如果只是以上这些信息,我们并不认为Orin会在次世代的机器人设计中造成怎样的差异化影响,但很多人可能忘记了NV在Orin最初发布时的这张图。

幻灯片9.png

这张图完整的显示了Orin的整个产品线,其中最吸引人的其实是10TOPS的ADAS用的芯片。


根据我们的推测,这颗芯片和目前AGX Orin和Orin NX上的芯片应该并不相同。而是任天堂Switch2中目前官定的芯片,按照这个功耗,这款Orin芯片,很有可能就是传说中的Nano2。至于上市时间,应该会晚于任天堂的Switch2的上市时间,大家刚好可以多关注一下老任的新闻。这颗芯片将使得NVIDIA在目前的工业及开发者市场中的地位更加稳固,具有非常重要的意义。


那是否这颗次世代的芯片,就可以搬开阻碍自动驾驶产业化的最后一块石头呢?我们认为仍然是不行的,虽然Orin相对于Xavier来说增强了算力,但是我们看一下Orin和Geforce的对比。

幻灯片10.png

AGX Orin 64GB,性能强于T4,弱于1070;AGX Orin 32GB,性能强于1060,弱于3060

Orin NX 8GB,性能相当于1050Ti。乍一看,一个嵌入式的设备,虽然在天梯图上处于大约40分位,但相当于一张T4卡。感觉已经很不错了,但实际上是否真的是这样呢?

幻灯片11.png

如果我们单纯考虑Orin GPU的性能,则在天梯图中的排名会进一步降低。

幻灯片12.png

我们可以看一下官方给出来的GPU实测数据。


果然TOPS的数据都不太靠得住,实际GPU跑的结果,Orin相当于T4的50%~75%,差距还是非常大的。


因此我们可以得到结论,Orin的出现可以让科研到实践的工程化过程更加的容易,限制更加小。但由于没有本质上的改进,并不能解决原本就存在的科研问题,所以即使有Orin的存在,也无法解决需要长时间,大规模验证,通过数据来说明的自动驾驶问题,同样也无法解决商业模式的问题。


作为主打开发者市场的产品,开源生态的支持至关重要,这一点一直都是Jetson擅长的部分。

幻灯片14.png

首先是机器人界大家最常用的几大开源框架。目前除了百度的Apollo是无法运行的,其他的框架都可以利用社区的信息快速进行开发。

幻灯片15.png

虽然很多人关心百度的Apollo是否能在Jetson上运行的问题,但据我们的调查,Apollo除了在3.0的阶段,有出过一个实验性的分支来支持ARM设备以外,后续的开源部分都是不支持ARM的。


虽然社区有很多希望支持的声音,但一直都没有进展。我们认为这部分主要是和商业化的考虑相关,ARM版本应该是只在Apollo的商业化版本中进行支持。因此关心Apollo的同学可以更换到X86的平台,或者自行进行移植的工作。

幻灯片16.png

ROS则是Jetson一直以来的热门框架,虽然目前ROS2已经正式release了,但使用ROS1的用户也不占少数。这里唯一要注意的是Orin只支持Ubuntu20.04的版本,因此只能使用Noetic /nəʊˈɛtɪk/,从18.04的ROS迁移到20.04的ROS还是有一定的迁移工作的。

幻灯片17.png

其次是Autoware,Autoware是TIRE VI公司发起的开源框架,目前有两个版本,Autoware.ai基于ROS1,Autoware.auto则是基于ROS2。


Autoware.auto的版本,是可以直接在Orin上运行的。Autoware也提供了基于arm的容器,非常的方便。在所有的开放生态里面,目前Autoware对自主机器人提供的栈是相对来说最完整的,非常建议作为非量产开发者的首选框架。


进行应用开发的人都知道,规格参数是一会事情,但是真正能够使用,还是要看对应场景应用运行的情况,因此我们选取了几个常用的场景功能,来进行实际的评测。

11.png

首先我们来看3D点云的定位功能,我们看一下视频,这里我们使用Autoware的定位示例,来进行评测。可以看到在整个过程中平均每个CPU核的占用不到30%,这实际是定位算法+Rviz显示加在一起的CPU占用。如果抛开Rviz的占用,平均的CPU占用不到15%,这已经可以媲美一台i7的台式机了,不但是实际的部署,甚至开发工作都在Orin上进行都没有问题。

幻灯片20.png

其次是3D点云检测的计算性能,我们使用常见的点云检测网络PointPillar来进行检测。在Jetson Orin上,检测单帧的耗时为32ms,相比于3080Ti的11~15ms,Orin相当于是其30%~ 50%,这个和我们的天梯图的数据基本相符。

幻灯片22.png

2D图像的推理性能,我们可以通过jetson benchmark得到。即使是NV官方所给出的工具,目前也没有办法把Orin和Xavier的真实差异给体现出来,但是在Orin上得到Xavier2.5倍左右的性能还是比较容易的。

幻灯片23.png

最后我们再来看一下视频解码的性能,上述图片为30路视频的视频解码,它曾经是Xavier模组的主打性能体现方案之一。视频中的卡顿情况,大家猜猜是在哪个平台上的结果呢?没错,这个是在Jetson AGX Orin上的结果。


众所周知,Orin的编解码性能得到了大幅的缩水,可能是die的面积不够用了,也可能是Jetson主打的应用场景中并不需要这么多路的视频处理。那无法支持30路,到底我们能够支持到多少路呢?为此我们进行了详细的实验,请看数据。

幻灯片24.png

我们对30路,25路,20路,18路,17路,16路h.264编码1080p的视频输入分别进行了测试。根据我们的测试情况,如果现场实际接入的是30FPS的视频流,则最多可以接入16路。如果现场实际接入的是25FPS的视频流,则最多可以接入19路。


如果我们换算成总帧率,就可以发现目前Orin上的解码器,在1080p的分辨率下,每秒大约可以解码470FPS左右的输入。因此解码性能,大概只是Jetson NX的一半,这一点完全可以满足自主机器领域的使用,但是对于视频分析领域就没有太多的竞争力了。


综上所述,Jetson Orin虽然不够完美,性能也并没有理想中的强劲。但是其维持了一贯的生态支持,并且有着从低算力到中等算力的支持,因此在机器人这一开发市场,还是有很强竞争力。CUDA的生态,使得Orin在POC的阶段,对于降低研发成本有着很大的帮助,对于目前还不成熟的人工智能的应用市场,有着其独特的竞争力。

幻灯片25.png

为了进一步降低客户的开发成本,米文动力即将推出和上一代Xavier产品接口兼容的产品MIIVII Apex AD10,它和上一代产品相比最大的优势就是算力进一步的提升,用户只需要修改软件,就可以对原有的系统进行无缝的升级。


感兴趣的客户可以通过以下方式与我们联系,今天的分享到此结束,感谢大家的聆听!


联系方式

电话:010-82031180

邮箱:bd@miivii.com

官网:www.miivii.com