您好,欢迎访问江南网站!

集团动态

联系江南

江南
联系人:杜经理
手机:18755199984
电话:0551-82601881
邮箱:sale.zcjd@qq.com
地址:合肥市巢湖市团结路与东塘路交口东方国际大厦8层
江南首页>>江南新闻>>集团动态>>江南-使用ROS1驱动程序来操控ADI Trinamic电机控制器

江南-使用ROS1驱动程序来操控ADI Trinamic电机控制器

发布日期:2024-07-15 作者:江南

[导读]“实现机械人操作系统——机电节制器ROS1驱动法式简介”一文中概述了新型ADI Trinamic™机电节制器(TMC)驱动法式,并会商了将机电节制器集成到机械人操作系统(ROS)生态系统中的方式。TMC ROS1驱动法式撑持TMC驱动层和利用层之间在ROS框架内无缝通讯,且合用在它撑持的各类TMC板。本文将深切切磋TMC ROS1驱动法式的功能,包罗机电节制、信息检索、号令履行、参数获得和对多种设置的撑持。文中还概述了若何将机电节制器集成到嵌入式系统和利用中,从而操纵ROS框架供给的优势。 “实现机械人操作系统——机电节制器ROS1驱动法式简介”一文中概述了新型ADI Trinamic™机电节制器(TMC)驱动法式,并会商了将机电节制器集成到机械人操作系统(ROS)生态系统中的方式。TMC ROS1驱动法式撑持TMC驱动层和利用层之间在ROS框架内无缝通讯,且合用在它撑持的各类TMC板。本文将深切切磋TMC ROS1驱动法式的功能,包罗机电节制、信息检索、号令履行、参数获得和对多种设置的撑持。文中还概述了若何将机电节制器集成到嵌入式系统和利用中,从而操纵ROS框架供给的优势。 ADI Trinamic机电节制器ROS1驱动法式 ROS是一个机械人系统中心层,包括一组软件库和壮大的开辟东西,从驱动法式到最早进的算法,可以在此根本上开辟机械人系统或利用法式。ADI Trinamic机电节制器撑持新型智能履行器,而且跟着ROS变得愈来愈风行,特别是在机械人范畴,为了扩大在制造和工业主动化利用中的合用性,我们开辟了ROS驱动法式等附加模块撑持。ADI公司的TMC ROS1驱动法式供给与Triaminic机电节制说话集成开辟情况(TMCL-IDE)近似的功能,但有一个要害区分:它答应撑持ROS的系统中的节点利用TMC,而无需额外安装驱动法式。另外,adi_tmcl集成了本身的TMCL和谈注释器,是以可以或许注释合适TMCL尺度的用户要求的号令。最后一层是tmcl_ros_node,它成立了与ROS系统的直接接口,供给发布者、定阅者和办事等功能。每个功能都可使用一组参数进行自界说,以下部门将具体会商这些功能。 撑持多种TMC模块 TMC ROS驱动法式或adi_tmcl旨在撑持所有遵照TMCL和谈的商用TMC。截至本文发布,它今朝撑持CAN接口(特殊是SocketCAN)。但开辟工作还在进行,不久的未来会撑持其他接口。这些TMC包括ADI Trinamic PANdrive™智能机电和模块,可以撑持步进机电和直流无刷伺服(BLDC)机电。因为利用ROS参数,adi_tmcl可以或许无缝撑持分歧的TMC模块。只需设置装备摆设tmcl_ros_node而无需从头构建全部节制包。 在adi_tmcl/config目次中,每一个ADI Trinamic机电节制器模块(TMCM)都有两个相干的YAML文件。这些文件以人类可读的数据序列化说话编写,包括ROS参数,应在履行时代加载: ▶adi_tmcl/config/autogenerated/TMCM-XXXX.yaml 此YAML文件是主动生成的,包括特定在模块的参数,不建议点窜,以避免致使节点行动异常。 ▶adi_tmcl/config/TMCM-XXXX_Ext.yaml 此YAML文件包括用户可以点窜的所有参数,以便(1)与板通讯(例如接口名称),(2)实现机电节制,和(3)更改ROS主落款称。 例如,假如您想利用TMCM-1636(图3),只需运行图1所示的代码。 图1.启动TMCM-1636。 此中,adi_tmcl/launch/tmcm_1636.launch加载TMCM-1636专用的YAML文件。 图2.利用TMCM-1636运行TMC ROS驱动法式的代码片断。 图3.(上)TMCM-1636硬件毗连图;(下)现实设置的参考图片。 要利用TMCM-1260(图6),请运行以下号令: 图4.利用TMCM-1260启动TMC ROS驱动法式的号令。 此中,adi_tmcl/launch/tmcm_1260.launch加载TMCM-1260专用的YAML文件。 图5.利用TMCM-1260运行TMC ROS驱动法式的代码片断。 图6.(上)TMCM-1260硬件毗连图;(下)现实设置的参考图片。 启动目次包罗所有撑持的TMC模块,可以点击此处查看。 利用TMCL-IDE一次性设置装备摆设TMC模块 在经由过程ROS利用TMC模块之前,需要按照所利用的机电完成设置装备摆设。所有的设置装备摆设利用TMCL-IDE完成,并应存储在EEPROM中(不然可能没法准确节制机电)。 ▶BLDC机电模块(如TMCM-1636) 有关若何在TMCL-IDE中经由过程Wizard Pool东西完成机电校准的流程/教程,请查看此教程。 有关若何在TMCL-IDE中完成比例积分(PI)调谐功能的流程/教程,请查看此教程。 ▶步进机电模块(如TMCM-1260) 有关若何在TMCL-IDE中经由过程Wizard Pool功能完成初始化设置装备摆设的流程/教程,请查看此教程。 初始化和调谐后,务势必所有参数存储在板的EEPROM中。这可以经由过程以下方式来完成:(1)store参数,(2)STAP号令,和/或(3)建立和上传TMCL法式并启用主动启动模式。有些板仅撑持此中的少数选项。 TMC ROS驱动法式的设计获得了简化,在完成TMC模块和机电的初始化设置装备摆设/调谐后,基在利用TMCL-IDE的一次性设置装备摆设便可节制机电。 移动/住手机电 TMC ROS驱动法式经由过程在以下任一主题中发布号令来移动/住手机电: ▶/cmd_vel (geometry_msgs/Twist)—设置机电转速 ▶/cmd_abspos (std_msgs/Int32)—设置机电的绝对位置 ▶/cmd_relpos (std_msgs/Int32)—设置机电的相对位置 ▶/cmd_trq (std_msgs/Int32)—设置机电扭矩 注:多轴TMC设置中的分歧机电有分歧的地址。 用户可以毗连ROS系统来发送至这些特定指令,从而节制机电的活动。指令的选择取决在具体利用、TMC设置和所用机电的类型。例如,对轮式机械人,用户可以选择设置速度;而对夹具,设置位置会更适合。 作为申明性示例,可以看看剧本adi_tmcl/scripts/fake_cmd_vel.sh。这个简单的剧本可以节制机电以顺时针和逆时针两个标的目的扭转,而且逐步提高转速。要履行此剧本,请依照图7所示的号令进行操作。 图7.用在测试TMC ROS驱动法式转速节制的号令。 2号终端窗口和3号终端窗口最好并排显示。 可以按Ctrl-C复制1号终端窗口中的号令,完成后粘贴到2号终端窗口中。 3号终端窗口中的号令会自行住手。 为了验证机电是不是已移动,图8显示了来自TMC (/tmc_info_0)的现实转速反馈图。 图8.利用RQT绘制的机电现实转速图(以m/s为单元)。 TMC/机电信息检索 系统可以经由过程定阅以下主题,从TMC ROS驱动法式检索信息: /tmc_info (adi_tmcl/TmcInfo) - 供给电压、TMC状况、现实转速、现实位置和现实扭矩信息 注:多轴TMC设置中的分歧机电有分歧的主题。 用户可以链接ROS系统来定阅这些指定的主题。如许,用户便可以监督参数值,并按照参数值采纳步履。例如,在特定在利用的场景中,当检测到TMC状况犯错时,操作员可能会选择住手系统,或在机电达到特定位置时履行预编程的动作。 作为例子,adi_tmcl/scripts/fake_cmd_pos.sh是一个简单的剧本,它让机电先顺时针扭转,再逆时针扭转,而且不竭提高位置幅度。请履行图9所示的号令。 图9.用在测试TMC ROS驱动法式位置节制的号令。 为了验证机电是不是已移动,图10显示了来自TMC (/tmc_info_0)的现实位置回读图。 图10.利用RQT绘制的机电现实位置图(以度为单元)。 履行自界说TMC号令 系统可以经由过程履行以下功能来拜候和调剂TMC参数: tmcl_custom_cmd (adi_tmcl/TmcCustomCmd) - 获得/设置TMC的轴参数AP和全局参数(GP)的值 用户可以选择将此办事集成到ROS系统中,以知足特定利用需求。此功能利用户可以或许直接从ROS驱动法式设置装备摆设TMC板。例如,用户可以选择设置轴参数(SAP)以取得最年夜电流,从而调剂答应的绝对电流程度。可是,用户必需透辟领会他们要经由过程此功能点窜的参数,不准确的设置可能会致使TMC ROS驱动法式故障。是以,强烈建议任何设置装备摆设都经由过程TMCL-IDE履行。图11供给了挪用此办事的示例,展现了利用指令类型208对DrvStatusFlags进行获得轴参数(GAP)操作。 图11.经由过程RQT触发的tmcl_custom_cmd办事。 拜候所有轴参数值 系统可以经由过程以下体例拜候TMC轴参数值: tmcl_gap (adi_tmcl/TmcGapGgpAll) - 获得指定机电/轴的所有TMC轴参数(AP)的值 用户可以将ROS系统与此功能集成,以知足特定利用的需求。例如,此办事可以捕捉TMC板确当前设置和状况,包罗AP(例如编码器步长、PI调谐、换向模式等)。 图12显示了部门输出示例。经由过程阐发该成果,用户可以确认一次性设置装备摆设是不是准确保留在板的EEPROM中。 图12.经由过程RQT触发的tmcl_gap_all办事。 拜候所有全局参数值 系统可以经由过程以下体例拜候TMC全局参数值: tmcl_ggp (adi_tmcl/TmcGapGgpAll) - 获得所有TMC全局参数(GP)的值 此功能可以检索TMC板确当前设置装备摆设和状况。可拜候的一些GP包罗:CAN比特率、串行波特率、主动启动模式等。 图13显示了履行此办事后取得的部门输出。此成果利用户可以或许确认一次性设置装备摆设是不是已准确存储在板的EEPROM中。 图13.经由过程RQT触发的tmcl_ggp_all。 多个TMC板设置 对可能需要多个TMC模块的较年夜系统(如机械臂),TMC ROS驱动法式撑持多个器件设置。 多个CAN通道中的多个TMC板 如图14所示,当用户的每一个TMC板都有一个CAN-USB时,系统将添加定名空间以辨别每一个节点的实例。在此特定用例中,需要响应更新comm_interface_name参数,以确保与板准确通讯。 图14.多个CAN通道中的多个TMC板的示例图。 图15中的代码是用在设置此用例的示例启动文件。在此示例中,机电A可以经由过程发布到/tmcm1/cmd_abspos来节制,机电B可以经由过程发布到/tmcm2/cmd_abspos来节制,机电C可以经由过程发布到/tmcm3/cmd_abspos来节制。 图15.利用多个CAN通道运行多个TMC ROS驱动法式的代码片断。 单个CAN通道中的多个TMC板 TMC ROS驱动法式撑持的另外一种设置是单个CAN通道中有多个TMC板,如图16所示。与上文所述的对多个TMC板的撑持很是类似,系统引入定名空间来辨别每一个节点实例。所有板的comm_interface_name连结一致。调剂comm_tx_id和comm_rx_id以确保与各板准确通讯。 图16.单CAN通道中的多个TMC板的示例图。 图17显示了用在设置此用例的示例启动文件。在此示例中,机电A可以经由过程发布到/tmcm1/cmd_abspos来节制,机电B可以经由过程发布到/tmcm2/cmd_abspos来节制,机电C可以经由过程发布到/tmcm3/cmd_abspos来节制。 图17.利用单个CAN通道运行多个TMC ROS驱动法式的代码片断。 轻松集成到ROS系统/利用中 借助ROS供给的动静传递系统,即使是较年夜的系统也能够轻松地互换节点(例如驱动法式、算法等)。TMC ROS驱动法式将这一优势扩大到了TMC板,答应它无缝集成到ROS系统/利用中。 集成到AGV/AMR中 图18申明了navigation_node若何经由过程发送geometry_msg/Twist格局的/cmd_vel来节制移念头器人。然后,motor_controller经由过程Geometry_msg/ Twist格局的/wheel_velocity发送反馈,使得navigation_node可以响应地从头校准。 图18.AGV/AMR的简化架构。 经由过程领会navigation_node发布和定阅的位置,tmcl_ros_node可以轻松更改motor_controller(图19)。与TMC信息检索功能近似,adi_tmcl会发布江南体育关在车轮转速的及时信息,wheel_velocity_node会将车轮转速信息从adi_tmcl/TmcInfo转换为geometry_msg/Twist。因为新架构和其集成的TMC板合适准确的数据格局,是以移念头器人估计以不异体例工作。 图19.带有TMC ROS驱动法式的AGV/AMR简化架构。 集成到机械臂中 图20申明了为将TMC板集成到采取机械臂的贴片利用中,节制机械臂需要利用多个机电。与之前的用例近似,用户需要确保pick_and_place_node会定阅/发布所预期的数据格局。 图20.(上)带有通用机电节制器的机械臂;(下)带有TMC板的机械臂。 有关将TMC板集成到ROS系统的分步指南和若何操纵所述的功能,请点击此处。 ADI公司的TMC ROS1驱动法式撑持TMC根本驱动层和利用层之间在ROS治理的系统内无缝通讯,且合用在它撑持的各类TMC模块。 本文深切切磋了ADI Trinamic机电节制器ROS1驱动法式供给的功能,包罗: •机电活动节制 •检索机电和节制器信息 •履行TMC号令 •获得轴和全局参数值 •撑持多个TMC模块节制设置 所有这些功能都是操纵ROS的动静传递系统实现的,使得机电节制器可以轻松集成到基在ROS的系统和利用中。

欲知详情,请下载word文档 下载文档

来历:ADI

作者:Krizelle Paulene Apostol,软件系统工程师;Jamila Macagba,高级软件系统工程师;Maggie Maralit,软件系统设计工程司理



江南
专业 规范 诚信 共赢 创新 发展

18755199984/0551-82601881

( 服务咨询热线 )
地址:合肥市巢湖市团结路与东塘路交口东方国际大厦8层
Copyright © 2022 All Rights Reserved.
技术支持:无忧资源网   皖ICP备2023013513号-1