在当今数字化时代,嵌入式系统得到快速发展,机器人、人工智能、ChatGPT的频率越来越高,工业智能系统对基于智能芯片上的处理能力和处理速度的需求更为强劲。传统基于CPU的处理器已经不能满足各项智能任务的要求,智能控制SoC芯片的横空出世,已经成为众多智能终端设备的首选,智能控制SoC芯片的多核异构结构能够配合人工智能算法进行深度耦合,获取更高效能和更复杂算法的支持,为智能AI、人工智能、机器人的应用夯实了基础。而芯驰D9350这款国产多核异构SoC,正适合应用到机器人场景,米尔作为嵌入式处理器模组厂商,也推出了基于芯驰D9350的核心板和开发板,助力开发者赋能智能机器人应用。
图:机器人应用场景图
多核一芯、一芯多系统
机器人主控方案需要更强大和全面的性能,一般采用Android+Linux+ros系统的操作,需要3颗独立的芯片支撑整个操作系统,存在兼容难度大、成本较高等问题。而芯驰D9350拥有高集成度、高算力、高效率、高处理能力、高接入能力以及高安全等六大产品制高点,实现了CPU、NPU、GPU、MCU“四芯合一”,且配备5*Cortex-A55内核,支持RT-LINUX+安卓和ubuntu系统+RTOS系统等多个操作系统并行,真正实现“多核一芯、一芯多系统”,芯驰D9350以其高集成度提升系统性价比,降低部署难度。
图:芯驰D9350核心板
芯驰D9350芯片架构特性,支持硬件AMP,可以分成多组处理器来使用:
- 4核Cortex-A55运行在1.6GHz,可以运行安卓和ubuntu系统,可以实现图形GUI、人机交互。
- 单核Cortex-A55运行在1.6GHz,可以运行RT-LINUX等实时性操作系统,负责底层设备通讯、管理。
- 3组Cortex-R5运行在800MHz,可以运行RTOS甚至裸跑,能实现超高速的外设操作、实时相应等。
- 具备NPU加速运算单元,具备1 Tops AI加速能力。
图:芯驰D9350芯片介绍
芯驰D9350具备多种高速相机接口、总线接口:
- 支持4 lane MIPI-CSI,可直接接入800W像素相机,或者通过解串芯片接入4路GMSL、FPDLINK、AHD摄像头。
- 支持千兆以太网TSN和USB3.0高速接口,可以选择200W~4800W像素工业相机,选择广泛。
- 支持4路CANFD接口,16路UART、12路I2C、8路SPI、8路PWM、12bit ADC、100+ GPIO端口。
机器人ROS系统适配
米尔的芯驰D9350平台,基于Ubuntu操作系统,运行ROS机器人应用框架,提供了一套完整的工具和库,包括消息传递、通信机制、软件包管理、调试和可视化等功能,实现机器人管控。ROS全称Robot Operating System,是一个适用于机器人编程的框架,这个框架把原本松散的零部件耦合在了一起,为他们提供了通信架构。ROS虽然叫做操作系统,但它只是连接了操作系统和开发的ROS应用程序,所以也算是一个中间件,是一套软件库和工具,基于ROS的应用程序之间建立起了沟通的桥梁,所以也是运行在Linux上的运行环境,在这个环境上,机器人的感知、决策、控制算法可以更好的组织和运行。ROS就是介于底层操作系统(如Linux)和上层业务应用软件(如OpenCV)之间的中间件。简单来说:ROS=通讯机制+工具软件包+机器人应用功能+机器人生态系统,使得机器人控制系统的开发更加高效和可靠。
ROS2优化的通讯机制
ROS2和ROS1的系统架构框图对比
由下往上看,在操作系统层,ROS2比ROS1支持的底层操作系统更多,也支持实时操作系统(RTOS)了。这就让ROS2可以支持更多样化的嵌入式硬件,例如机器人应用中一些轻量化的ECU。在中间层,ROS1更多地依赖TCP和UDP协议,而在ROS2中则引入了DDS。DDS全称是Data Distribution Service 数据分发服务,是一种分布式实时通信中间件协议,也是一个被很多公司实现的工业标准。DDS采用发布/订阅体系架构,强调以数据为中心,提供丰富的服务质量(QoS)策略,以保障数据进行实时、高效、灵活地分发。正是基于DDS的通讯机制,ROS的应用层就不再需要Master节点。节点之间采用自发现机制,找到彼此,进而建立稳定的通信连接。这对于满足功能安全需求,有很大帮助。当然,ROS1和ROS2的应用层软件接口是匹配的,让ROS1上开发的应用软件能快速复用部署到ROS2上,也是ROS2的设计目标。
ROS 中的生态系统
综上,米尔芯驰D9350的核心板为机器人控制产品提供了高性能计算、多媒体处理和通信功能,有助于实现更智能、更灵活和更高效的工业自动化。米尔电子提供底板的原理图和PCB工程,可以根据提供工程需求来实现真正意义上的裁剪,定制开发属于自己的产品,米尔还提供配套的芯驰D9350开发板用于评估,助力企业客户开发成功。