历史上的今天

今天是:2024年10月29日(星期二)

正在发生

2021年10月29日 | MCU在机器人中的规范注意事项

发布者:EEWorld资讯 来源: EEWORLD关键字:MCU 手机看文章 扫描二维码
随时随地手机看文章

机器人对MCU有独特的需求。经过优化用于机器人的 MCU 通常包含多种功能,包括内置互联网协议 (IP) 连接、信息安全和功能安全保护以及高级控制算法。将 MCU 内核与现场可编程门阵列 (FPGA) 集成是优化机器人应用的一种手段。机器人操作系统 (ROS) 最初针对更高性能的中央处理器 (CPU) 进行了优化,现在已被简化并作为微型 ROS 发布,以便在嵌入式 MCU 和其他资源较少的环境中运行,进一步提高了 MCU 在机器人技术中的实用性。


用于机器人的 MCU 采购继续成倍增加。本 FAQ 将回顾基本的机器人平台架构,特别强调 MCU 的使用;它回顾了 MCU 内核与 FPGA 集成时打开的性能选项,并回顾了使用 micro-ROS 的好处。 MCU 是机器人设计中的重要元素。即使是简单的消费类机器人也可以包含多个 MCU,用于实现通信、用户界面、USB 和电机控制等专用功能(图 1)。


image.png

图 1:即使是相对简单的机器人真空吸尘器,也可以有多个 MCU 来处理专门的用户界面、连接和电机控制任务。 (图片:Microchip)


智能工厂和工业 4.0 的出现正在推动对日益精密和复杂的工业机器人的需求。包括网络通信、功能安全需求和预测性维护等需求增长,需要更高性能外设和加速器的 MCU 。通常运行频率为 800 MHz 至 1GHz 的异构多核 MCU。处理速度对于支持多轴机器人中电机位置、方向、速度和扭矩的高精度控制至关重要。


用于机器人的高性能 MCU 包括支持伺服控制所需计算的专用加速器硬件。在某些情况下,电流控制环路计算可以在 1.5µs 内完成。在伺服电机驱动系统中,控制回路可以分为多个层次,包括更高级别的运动控制回路、位置回路、速度回路和转矩/电流回路,以级联拓扑结构排列(图 2)。上游控制回路倍数于下游控制回路,并为下游提供参考数据,其中转矩或电流回路是最严密的控制回路。


image.png

图 2:伺服电机控制回路级联拓扑。 (图片:德州仪器)


上述架构中的控制回路可以在多核 MCU 中的不同内核实现,也可以在 MCU 内核和 FPGA 之间进行划分。分区的优化通过在独立计算资源之间扩展循环来最大化可用处理带宽。每个处理核心都可以快速运行其特定算法,将结果向下传递以供下一个循环使用。同时,它根据需要继续提供其他功能,直到下一组输入数据到达,算法再次开始。


单个 MCU 内核需要高水平的性能才能拥有可用于快速处理基本算法和提供系统所需的附加功能的带宽。由于循环时间在 32 kHz 控制回路中接近 31.25 µs,或者必须几乎同时处理来自多轴的输入,因此必须进行快速处理。有时,它可能需要一个或多个高性能 MCU 加上一个 FPGA 的组合。


MCU、FPGA 和 eFPGA


在机器人系统中,MCU 和 FPGA 的组合可以提供比单一产品更合适的解决方案。其中MCU 灵活且易于编程。 MCU 也可以处理某种级别的并行运算,但最终内核可能成为更高级别并行性能的瓶颈。 FPGA 由数千个逻辑块组成,这些逻辑块可以配置为大规模并行处理。 FPGA 还可以提供更高级别的灵活性,但它们往往更昂贵。


MCU 非常适合处理多轴伺服控制等常规功能。 FPGA 可包含大量 DSP 模块和可编程逻辑,可支持人工智能 (AI)、机器学习 (ML) 和卷积神经网络 (CNN) 推理算法所需的并行处理。机器人平台上需要的 AI/ML/CNN 功能越多,将 FPGA 与 MCU 一起结合的好处就越大。


用户可以使用多种微控制器软件开发工具中的一种。在 FPGA 的情况下,逻辑不是固定的,而是通过在硬件中设计互连结构来“编程”设备以执行特定功能。这些差异导致了 MCU 和 FPGA 之间的成本和性能权衡(图 3)。


image.png

图 3:FPGA 和 MCU 为机器人平台设计人员提供了多种性能和成本权衡。 (图片:Digilent)


根据具体设计的需要,MCU和FPGA的结合方式有以下三种:


MCU 和 FPGA 可以组合为两个分立组件

FPGA 可以包含一个集成的 MCU 内核

MCU 可以包括一个集成的 FPGA 部分


这些方法中的每一种都有其优点。对于同时需要高性能伺服控制能力和大量 AI/ML/CNN 功能的应用,高性能 MCU 可以与单独的大型 FPGA 相结合。 MCU 可能用于控制功能,而 FPGA 用于机器人平台上更密集的人工智能和机器学习活动。在需要大规模并行处理和 AI/ML/CNN 占主导地位的情况下,MCU 内核可以与大型 FPGA 集成。在 MCU 占主导地位且需要相对少量并行处理的情况下,可以将较小的嵌入式 FPGA (eFPGA) 与高性能 MCU 集成。


在许多机器人应用中,通常首选其中一种集成解决方案,集成解决方案可以提供更高的性能水平。当分立的 FPGA 与单独的 MCU 结合使用时,每个设备都需要其内存缓冲区来处理它们之间的数据传输。如果需要在 MCU 和 FPGA 之间传输大量数据,系统性能会受到影响。另一方面,如果 FPGA 和 MCU 集成在一块芯片中,它们可以共享 DDR 内存,并且数据传输不需要缓冲。在这种情况下,数据传输只涉及在 MCU 和 FPGA 之间传输存储器指针。


MCU 机器人操作系统


基本机器人操作系统 (ROS) 是一个用于机器人应用程序开发的开源软件框架,针对运行 Ubuntu Focal、macOS 和 Windows 10 等操作系统的微处理器进行了优化。ROS 2 是新一代的 ROS。 ROS 2 采用分层架构设计,将 ROS 客户端层与 ROS 中间件层分开。 ROS 领域的最新发展是 micro-ROS,它将 ROS 2 带入中档和更高级别的 MCU。需要具有数十 KB RAM 的 MCU 来实现微型 ROS。 MCU 中还需要支持 micro-ROS 客户端到代理通信的通信外围设备。


micro-ROS 提供了一个 ROS 2 开发生态系统,可以在实时操作系统 (RTOS) 之上运行,使它们能够满足需要时间期限或确定性响应的机器人系统任务的时间关键要求。FreeRTOS 是 micro-ROS 项目支持的首批 RTOS 之一,并已集成到其软件堆栈中。 FreeRTOS 社区开发的所有实现和工具都可以与 micro-ROS 兼容(图 4)。


image.png

图 4:微型 ROS 堆栈显示与 FreeRTOS 环境的兼容性。 (图片:FreeRTOS)


FreeRTOS 具有最小的内存和处理开销,RTOS 内核二进制映像仅需要 6K 到 12K 字节,非常适合运行 micro-ROS。除了 FreeRTOS 之外,micro-ROS 还可以与 Zepher RTOS 一起运行,并且 Zepher 由 micro-ROS 客户端库及其中间件支持。


总结


为机器人平台指定 MCU 是一个复杂的过程。通常需要多个 MCU 或具有多个内核的单个 MCU,以及可能添加的 FPGA,作为外部设备或 MCU 内的嵌入式元件。在考虑 MCU 和 FPGA 的集成时,需要进行多种权衡。例如,MCU 可用于控制功能,而 FPGA 则用于机器人平台上更密集的人工智能和机器学习。在 MCU 上运行的微型 ROS 机器人操作系统的发布是高级机器人平台设计人员可用的另一个重要工具。

关键字:MCU 引用地址:MCU在机器人中的规范注意事项

上一篇:力源半导体首款32位MCU产品正式发布!
下一篇:最后一页

推荐阅读

        已经有不少运营商证实,苹果会在美国时间10月30日发布iOS 12.1正式版,而当天他们还会同时发布多款新品,比如关注较高的iPad Pro、Mac mini等。  iOS 12.1正式版新增的功能还是很多的,其中最重要的是,iPhone XS、XR、XS Max非国行(港行)版,都可以开启eSIM卡,也就是说可以体验双卡双待功能,而国行直接是双实体SIM卡。  另...
  摘要:为了解决无法对无人升空平台设备舱温湿度进行实时监控的问题,采用STC89C52单片机为控制核心,以Lab-VIEW为开发平台,提出了无人升空平台温湿度远程监控系统的设计方案。该系统可以对飞行任务过程中无人升空平台设备舱的温湿度进行实时的监控,当设备舱的温湿度超出所许可的范围时,系统会发出报警信息提醒操作员采取适当的措施,并能够自动调节...
变压器 接地 电流 分析仪是专为现场在线 测试 电力系统中变压器铁芯接地电流、漏电流、频率、波形而精心设计 制造 的,由主机、电流钳、数据软件、通讯线等组成。电力变压器是电力系统中重要的电气设备,运行中一旦出现故障,将会对电力系统造成严重的后果。正常运行的变压器铁芯是单点接地的,如有两点或两点以上同时接地,则铁芯与大地之间将形成电流回...
一、网络分析仪简介当提出“网络分析仪(NetworkAnalyzer)”这一名字的时候,还没有计算机网络。所以网络是指电子元、器件。并非现在流行的计算机网络。下面有安泰网络分析仪维修中心分享有关基础知识:网络分析仪能对被测量器件(主要分为有源元件和无源元件)的线性和非线性特性(幅频特性,相频特性,时频特性,功率频率特性等)进行表征。如放大器、混频器、...

史海拾趣

问答坊 | AI 解惑

关于mc1648

本帖最后由 paulhyde 于 2014-9-15 09:13 编辑 MC1648的10脚和12脚具体功能是怎样的?LC振荡器产生的信号时怎样输入的? MC1648是不是指具有稳定频率的功能?载频的产生是靠前面的LC震荡电路吗? 希望大家帮忙解答一下  …

查看全部问答∨

海尔“无尾”电视,你听说过么?

"无尾电视"是利用海尔国家重点实验室和国家工程实验室的平台与全球顶级专家共同研发的成果,同时采用了与麻省理工学院合作的无线电力传输技术,能够在不借助电线的情况下利用"非辐射性磁耦合共振"原理实现远距离高效无线电力传输,这也是无 ...…

查看全部问答∨

【FPGA技术】同步电路的设计规则

1.尽可能在整个设计中只使用一个主时钟,同时只使用同一个时钟沿,主时钟走全局时钟网络。2.在FPGA设计中,推荐所有输入、输出信号均应通过寄存器寄存,寄存器接口当作异步接口考虑。3.当全部电路不能用同步电路思想设计时,即需要多个时钟来实现, ...…

查看全部问答∨

S3C2440 系统运行一段时间 晶振突然没波形输出,如何解释!

采用核心板和底板结构,核心板只包括SDRAM NOR NAND CPU等几个主要器件。操作系统在以前的底板上运行正常,目前修改底板,用于其它产品,采用同样的核心板,运行到一段时间后,系统跑飞(有时会自动重启,有时不能)。测量电源,3.3 和1.25V供电都 ...…

查看全部问答∨

StellarisWare Release Notes (Revision 7611)

     StellarisWare Release Notes 记录了 StellarisWare 的更新和修改,供大家参考。 [ 本帖最后由 Study_Stellaris 于 2011-9-15 23:09 编辑 ]…

查看全部问答∨

uCOS新手

由于工作的需要,现在需要研究uCOS,看过一些书,自然包括邵贝贝教授翻译的那本经典的书了,说实话,只看书,只能说是一知半解吧,始终觉得没有掌握其中之精华,想选择一款开发板开始动手的,奈何公司里没有现成的开发板,需要我根据工作的需要,自 ...…

查看全部问答∨

STM32F107VCT6怎么测信号频率

比如我要测三角波的频率,用外部中断和定时器。第一次中断定时器使能n++,第二次中断定时器失能n--,同时读取计数器的值,定时器初始化,这样反复循环。请问为什么我读不到计数器的值??我还要根据这个值做不一样的动作!!谁能帮我指点下!!!…

查看全部问答∨

电动汽车新能源汽车展会上看到了电动校车!

电动汽车新能源汽车展会上看到了电动校车!是北京理工大学研制开发的!  http://weibo.com/vishaychina …

查看全部问答∨

数字温度传感器

SD5003/SD5075/SD5020温度传感器是一系列高精度温度传感器。 SD5003是PWM输出,在-40℃~+100℃范围内误差小于±1℃。 SD5075是兼容I2C接口,在-40℃~+100℃范围内误差小于±1℃。可支持8片芯片并联总线连接。 SD5020是单总线通信。   ...…

查看全部问答∨

CCS 导入 unresolved symbol Entry错误!

Code Composer Studio Version: 5.4.0.00091 导入AM335X_StarterWare_02_00_01_01中的例子就出现错误!一直没找到原因 …

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved