0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RZ/A2M在工业自动化领域应用的优势

星星科技指导员 来源:瑞萨电子 作者:zhaofeng 2022-04-29 16:17 次阅读

RZ/A2M集成了瑞萨特有的DRP(动态可重新配置处理器)技术,拥有超高性能的图形图像处理能力。DRP在拥有硬件级别运算能力的同时,也能够从软件层面对运算逻辑进行实时修改,保证了灵活性的同时也拥有不俗的图像处理能力。本文中,我们将重点介绍RZ/A2M在工业自动化领域应用的优势,包括更高的图像处理能力以及超低的功耗。

视频中的机械臂之所以能够如此灵活的识别并抓取目标物体,是因为有RZ/A2M独有的DRP模块对机器视觉的图像处理过程进行加速。外接的显示器上可以看到,整个图像处理流程(包括bayer转RGB、阴影校正&白平衡、RGB转二值化图像、寻找轮廓、图像降噪、Bayer转灰阶送显示等)只用了不到3ms,最终达到VGA(640x480)分辨率下60fps的优良性能。

pYYBAGJrnxmAJjWRAACxMmrvH2s162.png

什么是DRP?

DRP全称是Dynamically Reconfigurable Processer,即动态可重配置处理器。是瑞萨独创的体系结构,能够动态的调整硬件运算单元的逻辑电路,实现各式各样的运算功能。

DRP有6个独立的单元称为“Tile”,它们可以加载多个配置数据(即算法库)并且并行的执行,这些算法库存放在系统内存中,在需要的时候由CPU下发指令将其加载到各个Tile中。

GIF-1%20%281%29.gif

任何时候都可以修改各个Tile中的算法库,并且在修改过程中不会影响其它Tile的运行。

GIF-2%20%281%29.gif

DRP采用动态加载的方法可以在极小的硬件资源上实现应用对不同图像处理算法高速处理的需求。

poYBAGJrnxqAddOjAACBIyssB1g390.png

DRP凭什么这么优秀?

DRP是一个硬件资源,所有的运算逻辑都在硬件层面实现,每个Tile都是一个独立的运算单元,Tile拥有的硬件资源是一定的,所以当有算法库用到的硬件资源较多的时候,就需要两个甚至更多的Tile来协同配合,以下是DRP所拥有的硬件资源。

pYYBAGJrnxqAMxVLAAA4Rlbyq_4446.png

DRP在运行的过程中,会自动的根据算法库的复杂程度,灵活的对硬件资源进行一些整合,比如在一个Tile内,将两个16bit的乘法器合并成一个32bit的乘法器使用;或者将一个16bit的乘法器与一个计数器组合使用等。进一步扩大了DRP的运算能力。

硬件的运算能力我们都非常清楚,比如目前应用非常广泛的FPGA的算力就和CPU完全不在一个量级,然而FPGA的缺陷也很明显,就是运算规模直接和门电路数量挂钩,需要实现复杂的算法就必须用更多的门数,而且一旦算法要求的门数超出了项目初期的FPGA选型,则不得不更换更大规模的FPGA,非常的不方便。

这个时候,DRP的灵活性就体现出来了,它不仅可以在库与库之间灵活切换,在同一个库的内部,也能在不同的时钟周期内,动态调整运算电路之间的逻辑,来实现各种各样的运算方式。通过这种分时复用的方式,最大限度的提升了运算性能,给小体积发挥大能力提供了无限可能。

poYBAGJrnxqAI1kYAADfKiQhbF0964.png

动态可重配置的性能可以在1个时钟周期内修改运算电路的组合方式,动态加载可以在1ms内重新装载整个新的算法库。

DRP甚至可以通过多个Tile运行同一个算法库来提高处理速度。比如将一张图片等分为6份,交给6个Tile进行图像处理,性能直接在原有的基础上提升6倍!

pYYBAGJrnxuAFO7dAAA2h9ww1KE207.png

一般来说,性能提升往往会伴随着功耗的增加。但是用DRP来提升图像处理能力是一种另辟蹊径的优化方式,而且这种方式的能耗要远远低于CPU的能耗。

如何使用DRP?

前边介绍了诸多DRP的优势,大家可能对于DRP的使用方法有诸多猜测,可能会担心难以上手。但是!不用担心!瑞萨电子为大家提供了完整的服务,目前我们开发了大约50个算法库供大家使用,大部分算法库与opencv库的功能和接口相似,非常方便即可在一个普通的工程中使用DRP。

poYBAGJrnxuAQYQ1AABniicLstA836.png

图为cv库和DRP库的切换

pYYBAGJrnxuAA9fJAAAlCEsXZtw357.png

下面我们以Bayer转RGB的库为例,看看在使用DRP的时候需要做哪些事情。

首先是函数接口,需要提供的参数包括输入地址、输出地址、图像宽高以及是否使用tinning(在转换过程中可以同时对图像尺寸进行压缩)。

poYBAGJrnxuAberxAAAnAuFW4d0731.png

在函数内部,需要先将DRP的库load到DRP硬件中去,g_drp_lib_bayer_binning2rgb这个数组中存放的就是编译好的二进制格式DRP库。我们使用6个Tile并行处理一张图片的方式,因此给6个Tile都load此库。

pYYBAGJrnx2ANhWyAAILg8wbdEQ431.png?itok=RzQt7s6a

最后等待6个Tile全部运算完毕即可。

poYBAGJrnx2AXEqYAAAnLA6rMjA981.png

下面我们来具体看看,机械臂是如何借助DRP的强大功能,实现了如此快速的物体检测与跟踪的。

在机械臂上电初始化以后,暂时没有找到目标,所以工作在物体检测的模式。这个模式的工作流程如下:

pYYBAGJrnx6ALPl3AAE2f-TxvIE934.png?itok=81AONiW4

可以看到camera采集到一帧图像后,

由DRP做了一次Bayer到RGB的转换,这个转换同时将图像的宽高压缩到了原来的1/4,可以在不丢失准确率的前提下加快后续流程的速度;这个库只占用1个tile,所以可以将图片拆分成6份同时进行,耗时0.4ms。

给DRP中load阴影校正&白平衡的库,对上一步的结果做矫正,这个库由于使用的资源较多,占用两个tile,所以需要把图像拆分成3份操 作,耗时0.8ms。

由RGB图转换为HSV图并提取其中V的值。方便后续的移动物体检测以及轮廓提取,耗时0.2ms。

使用“加权移动平均法”提取运动的物体,此算法耗时0.6ms。

根据上一步得出的物体信息,寻找轮廓和中心点。(由CPU完成)

如果找到目标,则转入物体跟踪的流程,否则重复这个过程。

其它一些显示相关的处理流程。

假如上述流程中找到了目标,那么就会进入物体跟踪的流程,物体跟踪模式的工作流程如下:

poYBAGJrnx-AbbkgAAFYmx4pHo4282.png?itok=wzYjxHhG

可以看到前两步处理方式都是一样的,Bayer转RGB + 阴影校正&白平衡共消耗1.2ms。

由于这个模式中已经确定画面中存在物体,所以直接对图像进行二值化处理,调用DRP中RGB转Binary的库进行转换操作,耗时0.8ms。

由CPU寻找轮廓并计算中心点坐标和角度。 CPU分别计算坐标、角度与画面中心的偏差值,并根据此值调整各个电机的控制量,耗时0.7ms。

由于前序对图像尺寸做了压缩,所以上一步计算的坐标并不是实际坐标,还需要进行一次坐标换算。

用于显示的Bayer转灰阶图的库,以及其他显示相关的流程,耗时0.3ms。

目前我们可以提供的约50个库都能实现2~80倍不等的性能提升,这些性能提升是相对于RZ/A2M 528MHz Cortex A9 CPU做的对比。DRP库对性能的提升普遍在10~20倍之间,10倍以下的库提升效果不明显的原因是这些算法本身过于简单,优化空间太小。以下列举了部分现有的库以及运算能力对比供大家参考。

pYYBAGJrnyCAWGI8AAArGeYjqnU144.png?itok=RkckREBu

当然,如果客户有想要的库是我们暂时没有的,也可以给瑞萨电子提需求,我们会综合考虑后安排到后续开发计划中。

或者,如果客户有一些自有的比较机密的算法想移植到DRP中使用,我们也可以提供DRP库开发的相关培训,手把手教你开发DRP库。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19155

    浏览量

    229049
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10824

    浏览量

    211089
收藏 人收藏

    评论

    相关推荐

    CAN总线工业自动化中的应用

    CAN总线作为一种高效的现场总线系统,已经工业自动化领域得到了广泛的应用。 1. 引言 随着工业自动化
    的头像 发表于 11-12 09:45 213次阅读

    压力传感器工业自动化领域的深度应用与前沿探索

    压力传感器工业自动化领域的应用广泛而深入,其重要性不言而喻。随着技术的不断进步和发展,中国国产压力传感器正朝着智能、网络
    的头像 发表于 07-01 16:07 593次阅读

    继电器工业自动化领域的应用

    随着工业自动化技术的不断发展,继电器作为电气控制系统中不可或缺的元件,工业自动化领域发挥着越来
    的头像 发表于 06-24 11:53 803次阅读

    蓝牙模块工业自动化中的应用

    随着科技的快速发展,工业自动化已成为现代工业生产的重要组成部分。蓝牙模块作为一种无线通信技术,其工业
    的头像 发表于 06-20 17:29 441次阅读

    工业自动化中的控制方式

    工业自动化是现代工业发展的重要标志,它极大地提高了生产效率,降低了生产成本,并改善了产品质量。工业自动
    的头像 发表于 06-17 11:41 716次阅读

    工业自动化包含哪些技术领域

    自动化的核心,主要包括以下几种: a. 可编程逻辑控制器(PLC):PLC是一种广泛应用于工业自动化领域的控制设备,具有编程灵活、可靠性高、
    的头像 发表于 06-11 11:26 888次阅读

    工业自动化自动化区别是什么

    工业自动化自动化是两个密切相关但又有所区别的概念。在这篇文章中,我们将详细探讨它们之间的区别,以及它们现代工业生产中的应用。 一、
    的头像 发表于 06-11 11:13 1541次阅读

    SCADA系统工业自动化中的应用

    的实时监控、数据采集、远程操作等功能,工业自动化领域发挥着越来越重要的作用。本文将对SCADA系统
    的头像 发表于 06-07 15:38 1009次阅读

    机器视觉检测技术工业自动化中的应用

    随着科技的飞速发展,工业自动化已成为现代工业生产的核心动力。在这个背景下,机器视觉检测技术作为工业自动化中的关键技术之一,以其高精度、高效率
    的头像 发表于 06-07 12:06 776次阅读

    PID控制器工业自动化中的应用

    工业自动化领域中,控制器的应用至关重要,它直接决定了生产过程的稳定性和效率。PID(比例-积分-微分)控制器作为工业
    的头像 发表于 06-05 16:24 1498次阅读

    滚珠花键工业自动化领域中有什么优势

    滚珠花键是工业自动化设备中重要的传动系统之一,不仅在工业自动化系统中有着广泛的运用,还在机械制造领域、航空航天
    的头像 发表于 05-28 17:48 464次阅读
    滚珠花键<b class='flag-5'>在</b><b class='flag-5'>工业</b><b class='flag-5'>自动化</b><b class='flag-5'>领域</b>中有什么<b class='flag-5'>优势</b>?

    AC/DC电源模块工业自动化领域的应用探析

    BOSHIDA AC/DC电源模块工业自动化领域的应用探析 AC/DC电源模块是一种将交流电转换为直流电的电力转换设备,
    的头像 发表于 05-16 13:50 281次阅读

    3芯M5插座工业自动化中的应用案例

      德索工程师说道随着科技的快速发展,工业自动化已成为现代制造业的重要支柱。工业自动化系统中,电气连接器件发挥着至关重要的作用,而3芯
    的头像 发表于 05-08 18:12 263次阅读
    3芯<b class='flag-5'>M</b>5插座<b class='flag-5'>工业</b><b class='flag-5'>自动化</b>中的应用案例

    M8航空插座5pin工业自动化中的优势

    德索工程师说道M8航空插座5pin的尺寸和外观设计为工业自动化提供了便利。其小巧的尺寸使得它能够空间有限的设备内部或外部进行灵活安装,满足了工业
    的头像 发表于 04-10 14:32 259次阅读
    <b class='flag-5'>M</b>8航空插座5pin<b class='flag-5'>在</b><b class='flag-5'>工业</b><b class='flag-5'>自动化</b>中的<b class='flag-5'>优势</b>

    基于瑞萨MCU/MPU工业自动化领域的解决方案(下)

    前面我们分享了瑞萨电子专家和合作伙伴瑞萨电子2023工业峰会带来的工业自动化专题演讲,本篇将继续分享瑞萨合作伙伴——米尔电子基于瑞萨MCU/MPU
    的头像 发表于 12-27 16:05 680次阅读
    基于瑞萨MCU/MPU<b class='flag-5'>在</b><b class='flag-5'>工业</b><b class='flag-5'>自动化</b><b class='flag-5'>领域</b>的解决方案(下)