分拣机器人怎么保养,【自适应计算在机器人领域的应用】连载七:用ROS 2在机

2023-06-01
现代分拣机器人的分拣方向分拣机器人的分类

作者:VíctorMayoral-Vilches跟GiulioCorradi,赛灵思公司

快速分拣机器人(Delta)

连载七:用ROS2正在机器人外部集成自顺应计较的新架构

图1所示的架构将硬件加速集成到ROS2中,同时保持以机器人专家为中间的理念。没有要求熟习非ROS对象(如Vivado或ViTIs对象),或熟习OpenEmbedded或Yocto。另外,该架构构建正在开放的尺度之上,以C++++跟OpenCL作为天生加速内核的方针计较语言。经由过程这类方式,机器人范畴的大多数用户皆可以受益于硬件加速的功用。该架构基于三大支柱构建:ROS构建体系、ROS元构建对象和嵌入式固件。

图1:ROS2硬件加速工作组初始架构

第一个支柱是amentROS2构建体系的扩展。ament_viTIs经由过程一系列CMake宏跟实用工具实现这些扩展,将ViTIs对象包括到ROS2生态系统内。发起的架构是一种合用于简直任何加速技巧的架构,即ament_acceleraTIon笼统层从框架跟软件平台笼统构建体系扩展,为FPGA跟GPU供给撑持。作为替换加速技巧的例子,图10里包括了ament_rocm,展示将来集成ROCm5软件开发平台的潜力,以实现HPC/超大规模级GPU计较。正在后盾,ament_acceleration的每次专门优化皆须要对应的库。例如,ament_vitis依赖Vitis跟赛灵思运转时。后者是一种开源的标准化软件接口,用于简化使用代码跟加速内核之间的通讯。Vitis对象跟XRT完整对机器人工程师潜藏,不只简化了加速内核的创立,并且借资助机器人专家专注于计较图象的改善。经由过程供给如同任何其他ROS封装的体验,以这类方法实现简化加速内核创立事情的方针。图2所示的代码列表1展现的是利用ament_vitisROS封装的示例。宏vitis_acceleration_kernel供给灵活性,容许用户无缝天扩展并取舍加速ROS封装的哪些部门。

图2:代码列表1

第二个支柱扩展“colcon”ROS元构建对象,以集成硬件加速公用流。

第三个支柱是嵌入式固件。抒发为acceleration_firmware,第三个支柱致力于为硬件加速平台供给固件公用工件,如许便能针对这些工件编译加速内核,从而简化流程并连结ROS开辟流程。提出的架构正在构建时特地思量到各类硬件加速平台,可以撑持边缘器件,和合用于工作站、数据中心甚至云硬件加速的PCIe®加速器。平台取舍经由过程正在ROS事情空间资源中参加特定的acceleration_firmware库(acceleration_firmware_xilinx)去实现。构建进程中的平台取舍(本例中为赛灵思ZynqUltraScale+™MPSoCZCU102平台)经由过程colconmixins去实现。经由过程这类方法,colconbuild-build-base=build-zcu102-install-base=install-zcu102-merge-install-mixinzcu102将为ZCU102硬件平台构建完全的ROS2事情空间,穿插编译ROS封装,正在运转中视环境为ZCU102平台天生内核。一切中央步调完整实现自动化,并且发生的install-zcu102目次能间接正在硬件中利用。

为了包容中央工件并正在嵌入式流程中供给灵活性,acceleration_firmware正在ROS2事情空间中引入新的子文件夹布局,即《ros2-workspace-path》/acceleration/firmware/《platform》门路。

图3是acceleration_examplesROS2封装构建实现后,该架构的事情方法预演。流程从colcon构建ROS2事情空间起头。无需利用特别的旗标,只是对应的封装跟硬件加速工作组基础设施必需位于事情空间的src目次内。colcon将为开辟工作站架构构建每一个封装。那此中包括ament_vitisCmake宏,该宏将一系列CMake扩展布置到发生的当地ROS2叠加事情空间中。

物流分拣机器人行业分析

这些扩展与当地Vitis装置相连,对ROS2包间接供给其功用。换句话说,ROS2包能从它们的文件利用这些宏,而且利用赛灵思的硬件加速对象。

固件包(如acceleration_firmware_kv260)是该架构的紧张组件。切换加速器时,只需用合用于新的方针加速器的包替代这个包便可。随意率性一个无效的固件包都应包括固件工件跟CMake逻辑,以便正在ROS叠加事情空间中精确地为实现硬件加速目标而解包、布置跟设置固件。另外,无效的固件包应包括根文件系统、根文件系统的sysroot或正在构建时自动天生ROS2mixins的模板,以简化嵌入式流程跟其他方面。如需进一步具体相识,请参阅任何官方固件包的完全工件列表。

总之,起首挪用colcon构建,让ROS2事情空间为硬件加速做好筹备并将文件布置正在当地叠加内(图3,插图编号2、3跟4)。在此之后,从当地叠加第二次挪用带-mixin《target-board》旗标的colcon构建,将停止穿插编译并依据须要为方针加速器硬件天生加速器。从这一点起头,colcon_acceleration包有助于其余流程的进一步自动化。这部分已超越本文所要商量的内容。

下列三种分歧的电路开发板曾经取得根本撑持:赛灵思ZynqUltraScale+MPSoCZCU102,ZCU104和Kria™KV260视觉AI入门套件。

自动分拣机器人介绍

图3:HAWG初始架构内ROS2包之间的交互走查

要点总结:正在既往研讨的开导下,以后研讨提出一种以ROS2为中间的架构,让硬件加速正在ROS生态系统中施展关键作用。图12表现的发起被模块化成分歧的ROS2包,它们的构建方法与任何其他ROS包一样。这类架构合用于各类平台(对准边缘、工作站、数据中心或云供给撑持),也合用于各类技巧,而且只需供给对应的专业acceleration_firmware,便能轻松天将其移植到其他电路板。

表4总结了这里提出的方式与之前的事情的比力。

表4:ROS与ROS2各种自顺应计较集成方式比力表(含赛灵思ament_vitis)

产品分拣机器人高速分拣机器人应用快递分拣机器人的营销策略
Baidu
map