实现机器人操作系统——ADI Trinamic电机控制器ROS1驱动程序简介
时间:2024-04-19 19:37:08
择要
操纵体系(ROS)驱动步伐基于ADI产物而开辟,是以可直接在ROS生态体系中应用这些产物。本文将概述如安在使用、产物和体系(比方,自立导航、平安气泡舆图和数据采集机器人)中应用和集成这些驱动步伐;以及如许将若何有助于敏捷评价新技术,并防止涌现与第三方产物的互操纵性问题。在本文探究的所有产物中,将重点存眷比来宣布的用于ADI Trinamic™的ROS驱动步伐,该驱动步伐是用于活动操纵的残缺板级模块,融会ADI Trinamic活动操纵业余常识,以及ADI的模仿工艺手艺和电源设想技艺。1
甚么是ROS?
ROS是机器人中间件,包括一组软件库和壮大的开辟对象(从驱动步伐到进步前辈算法),可作为机器人体系或使用的开辟根底。ROS触及多畛域(比方,花费电子、工业、汽车等),支撑多个平台(Linux、Windows、MacOS和一些嵌入式平台),并且100%开源,并提供贸易选项。得益于来自环球手艺社区的公用资本,ROS可获得厚实的支撑,从而赞助用户简化其设想和使用。
该手艺的事情道理是什么?
ROS始于2007年,已成为主动驾驶汽车、工业机器人、飞行器等畛域备受接待的机器人开辟原型制造平台。经由不息进展,该手艺当初有两个版本:ROS1和ROS2。
ROS1和ROS2体系必需互相断绝,但经由过程ROS桥,这两个体系之间可举行通讯和互换数据。无关更多信息,请造访ros2/ros1_bridge页面。
表1.ROS1和ROS2的首要差别2
ROS支撑的平台
ROS Noetic是ROS1的终究版本,将于2025年5月终止支撑,而ROS2自2020年6月推出以来,不息转动更新发行版。
如需猎取残缺列表,请检察这些链接,以懂得ROS1支撑的平台和ROS2支撑的平台。
ROS基础观点
图1表现了ROS的一些基础观点,包孕性能包、节点、主题、办事和新闻。
图1.ROS基础数据流。
注:对ROS1和ROS2而言,下文接头的ROS基础观点类似。
性能包
ROS性能包是ROS步伐或节点的首要构造体系。这是ROS中最焦点的构建/宣布项。建立ROS性能包时,请务必配置公用的ROS事情空间。该事情空间被称为catkin事情空间,此中catkin是ROS的民间构建体系。
节点
ROS节点是在ROS中建立的可执行步伐。它们是施行特定使命的历程。ROS节点可应用ROS客户端库(如Python客户端库rospy和C++客户端库roscpp)互相通讯。节点能够定阅和/或宣布主题,也能够供应或应用办事。3
主题
ROS主题是ROS节点天生(或许宣布,用ROS的术语来讲)的数据通道。
在ROS中,发布者节点是主题的广播者,而定阅者节点是主题的收听者。
在图2中,generic_motor_control的节点是广播者。/cmd_vel是velocity_publisher宣布的主题。这暗示,velocity_publisher供应基于机电操纵(或敕令速率)的速率信息。
而ros_application的节点是收听者,velocity_subscriber定阅主题/cmd_vel。这暗示,velocity_subscriber造访或应用velocity_publisher供应的速率信息。
图2.发布者-定阅者。
新闻
主题是数据通道,而新闻是数据,接纳与ROS兼容、适用于分歧传感器的花样。
如下是适用于ROS新闻花样的示例传感器:
•遨游飞翔时候(ToF)摄像头:sensor_msgs/Image、sensor_msgs/PointCloud
•惯性丈量单位(IMU)传感器:sensor_msgs/Imu
•机电操纵:geometry_msgs/Twist
•车轮编码器:geometry_msgs/TwistStamped、geometry_msgs/ TwistWithCovarianceStamped
•ROS主题经由过程发送新闻(主题发布者)或接受新闻(主题定阅者)举行通讯,而且必需接纳立室的数据范例。
比方,在图2中,来自velocity_publisher节点的速率信息(敕令速率)但愿被velocity_subscriber节点造访/应用。假如主题发布者velocity_publisher应用数据范例geometry_msgs/Twist,则主题定阅者velocity_subscriber也应应用沟通的数据范例。
办事
发布者-定阅者通讯模式是开放式模式,不适用于分布式体系中平日需求的答复交互。4
办事支撑节点经由过程发送请乞降接受呼应举行通讯。发布者-定阅者通讯模式应用.srv文件,在这些文件中,指定了请乞降呼应的新闻范例等办事描绘。
办事是双向同步通讯模式,此中包括客户端和服务器。服务器节点供应办事,而客户端节点发送要求并等候服务器节点做出呼应。
比方,在图3中,server_node供应办事SetVelocity.srv以变动敕令速率vel。该办事接收float32花样的速率值,并以字符串花样前往状况;假如配置了要求的速率,则为“success”;不然,为“FAIL”。
图3.应用办事示例。
client_node发送要求,将敕令速率配置为2.5 mbps。server_node收到要求后,即时发送“success”呼应。
将ADI解决计划集成到ROS生态体系中
ADI是ROS-Industrial同盟的正式成员,ROS-Industrial是一个开源项目,旨在将ROS软件的高等性能扩展到与工业相干的硬件与使用。5作为手艺社区分子,ADI最后目的是面向工业畛域开辟公用模块。
ADI针对分歧公用模块开发了ROS驱动步伐。为了展示开辟的驱动步伐应用ROS性能,ADI公司开发了ADI自立挪移机器人(ADAM)作为外部自立挪移平台(参见图4)。
图4.ADAM。
ADAM:ADI自立挪移机器人
ADAM由ROS供应支撑,并搭载ROS支撑分歧器件。该平台展示了ADI公司的ROS驱动步伐若何集成挪移机器人使用中,特别是自立导航使用。
图5所示拥有分歧模块的ADAM的简化硬件图。该ADAM首要连贯如下器件:
•ADIS16470或IMU传感器接纳周详陀螺仪、加速度计、磁力计和压力传感器的多轴组合,这些器件首要用作检测反馈,用于改良地位偏向预算。
•ADBMS6948是一款单位电池监控器,可测量多达16个串连连贯全部温度范围内拥有较高丈量精度。
•EVAL-ADTF3175D-NXZ或CMOS ToF供应卓越的高分辨率,与深度计较处置、激光驱动器、电源治理以及拥有参考固件/软件开辟对象相辅相成,可带来更多上风。
ADI Trinamic机电控制器是用于嵌入式活动操纵残缺板级解决计划融会ADI Trinamic活动操纵业余常识,以及ADI模仿工艺手艺和电源设想技艺。1
图5.ADAM的简化硬件图。
图6所示为ADAM的简化ROS架构,该ADAM应用ROS驱动步伐自立导航所需的多个使用/算法节点。IMU数据(/imu/data_raw)和ADI Trinamic机电控制器反馈(/tmc_info)用作姿势预算输出,从而失掉机器人的里程丈量效果(/odom)。激光雷达数据(/scan)是用于天生舆图的同步定位舆图绘制(SLAM)算法首要输出;ToF数据(/image_raw)还可用作其余SLAM算法输出而后,move_base节点将等候用户收回任何目的姿势,并向ADI Trinamic机电控制器发送速率敕令(/cmd_vel),使机器人挪移。
图6.ADAM导航客栈的简化ROS架构。
ADI Trinamic机电控制器ROS驱动步伐
ADI Trinamic机电控制器(TMC)是用于活动操纵残缺板级解决计划融会ADI Trinamic活动操纵业余常识,以及ADI模仿工艺手艺和电源设想技艺支撑单轴/多轴步进机电、无刷直流机电(BLDC)等各类机电,可用接口包孕CAN、EtherCAT®、RS-232、RS-485和USB支撑和谈涵盖Trinamic活动操纵言语(TMCL™)、CANopen® over EtherCAT (CoE)、CANopen或Modbus。1
名为TMCL-IDE的IDE赞助用户开辟使用并对这些模块轻松从新编程。该IDE应用TMCL完成自力操纵应用标准化CANopen和谈同意用户配置参数及时对数据举行可视化处置开辟/调试自力使用因为TMC使新型智能执行器成为大概而且跟着ROS日趋遍及,尤其是在机器人畛域咱们针对这些模块开发了额定支撑,如ROS驱动步伐,从而进一步扩大制造业和工业自动化详细来讲,预计这些ROS驱动步伐可以或许操纵机电速率地位或扭矩
•监控机电控制器机电信息
TMC ROS驱动步伐与TMCL-IDE供应性能类似,但它可以或许支撑ROS体系节点轻松应用这些TMC,无需装置任何其余驱动步伐。截至本文揭晓之时,该驱动步伐支撑CAN接口(特别是SocketCAN其余接口正在开辟中,很快供应支撑。
此处列出了今朝支撑的ADI Trinamic机电控制器模块(TMCM)。
软件架构
图7所示为adi_tmcl的简化软件架构。
如图7所示因为adi_tmcl应用大多数Linux体系默许支撑的SocketCAN驱动步伐以是不需要任何额定的驱动步伐另外,adi_tmcl拥有本人的TMCL和谈解析器于是可以或许懂得用户要求吻合TMCL的发送接受敕令。作为最初一层,tmcl_ros_node以发布者定阅办事方式在ROS体系供应间接接口。每种方式供应特定性能,这些性能可以使用以部份细致先容的一组参数举行设置。
图7.adi_tmcl的简化软件架构。
adi_tmcl供应一系列特点包孕:
1.支撑分歧的TMC板
2.应用TMCL-IDE对TMC模块举行一次性设置
3.挪移休止机电
4.可以或许猎取TMC机电信息
5.施行自定义TMC敕令
6.可以或许猎取所有轴参数值
7.可以或许猎取所有全局参数值
8.支撑多个TMC配置
9.轻松集成到ROS体系使用中
敬请存眷下月模仿对话》中的文章把握搭载ROS1驱动步伐的Trinamic机电控制器”,文中将细致探究这些特点,并举例解释若何应用这些特点。
在本文中咱们展示了ROS若何扩大器件,带来如下上风供应附加代价比方扩大工业使用经由过程ROS通讯框架,与第三方产物可轻松完成操纵供应普遍的选项便利客户在其体系中选用ADI产物倏地评价新技术即时开端应用索求永不暂停
敬请存眷无关ADI Trinamic机电控制器ROS1驱动步伐的文章深刻懂得相干信息
敬请存眷将来揭晓无关用于ADI Trinamic机电控制器的ROS2的文章
下载ADI Trinamic机电控制器ROS1和ROS2驱动步伐购置ADI Trinamic机电评价板
参考文献
1“用于机电活动操纵的ADI Trinamic硬件。”ADI公司
2“ros2/ros2_documentation。” GitHub, Inc.懂得ROS节点。” ROS.org.办事。”ROS.org.
5“ROS-Industrial。”ROS.org.适宜活动操纵使用的工业通讯媾和接口。”ADI公司