本文主要是介绍ROS-Industrial 硬件支持,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ROS-Industrial硬件支持
ROS-Industrial程序的目标是为许多不同种类的工业设备提供ROS接口,包括PLC,机器人控制器,Servos,人机界面
工业机器人
下表总结了各种机器人接口的支持级别。 所有接口都使用市售选项(尽管可能需要额外付费才能获得所需的选项)。 由于每个供应商提供不同的功能接口,因此每个供应商的功能可能会有所不同。 注意存在明显限制的地方。 有关更多详细信息,请参阅相关的软件包文档。
硬件支持表
注:
3限制为<70%的速度
4仅硬编码/固定速度
5实验包,请参见fanuc_experimental
7用户必须生成MoveIt软件包
8全速运动?
10检查universal_robot页面以了解Polyscope版本兼容性
11控制器特定的实现可能需要自定义代码
12局部/实验性
定义
位置流Position Streaming
关节位置流式传输到控制器。 移动速度由控制器固定。 (此方法通常是最容易设置的,因为维护了许多控制器插值)
轨迹下载Trajectory Downloading
关节位置的完整轨迹下载到控制器。 轨迹包括速度约束,控制器会遵守这些约束
轨迹流Trajectory Streaming
这与位置流非常相似,除了控制器遵守轨迹速度约束
扭矩控制Torque Control
直接扭矩命令发送到控制器。 这是一个实时界面(ROS尚不支持)
MoveIt Pkg
机器人特定的几何形状必须在关联的机械手程序包中定义。 此信息用于路径规划和冲突检查。 为机器人模型创建MoveIt Pkg并不困难,请参阅此教程。
硬件兼容性
此节详细描述了不同的机器人平台如何符合《工业机器人驱动器》规范。 它适用于需要评估特定功能的开发人员和系统集成商。更加笼统兼容性信息可参照上节。
ROS接口
- 通过命令行参数传递.
- 硬编码在源代码中.
- Simple Message 仅支持实际位置(actual position)反馈.
- 在机器人控制器上执行定速运动(fixed-speed)设置。 忽略ROS速度/时间戳。.
- 仅实际位置(actual position)反馈.
- 仅实际位置/速度(actual position/velocity)反馈.
- 仅以运动状态响应.
- 假设使用time_from_start(时间戳)从点到点逐步运动。 不使用速度或加速度(velocities or accel)在轨迹点之间插值.
- 假设连续运动,使用从time_from_start计算出的速度。 忽略轨迹速度/加速度值.
- 直接提供 control_msgs/FollowJointTrajectoryAction.
机器人/客户端行为
- Universal Robot ROS驱动程序节点将所需的软件即时下载到机器人。
- 记录错误。 轨迹会以最大大小截断并始终执行(不可忽略)。
- 轨迹流向机器人。 不可能溢出。
- 模拟器是单线程的。 将阻塞新轨迹(在ROS中缓冲),直到之前的轨迹完成为止,然后按照收到的顺序执行新轨迹。
- 按照收到的顺序在所有轨迹点之间移动。
- 主题发布者(Topic publishers)总是被创建。 如果机器人未提供必需的simple_message广播,则不会发布任何主题消息。
- 仅流轨迹(Streaming trajectory)。 反应是与使用下载的轨迹的特定机器人有关。
- 运动停止,驱动器保持通电。
- 套接字(Socket)超时可能会造成干扰,请参阅 ros-industrial/fanuc/issues/19.
IO网络
网络输入/输出在工业应用中很常见。 ROS-Industrial中不支持这些专用网络。 但是,可以使用外部程序包。 我们建议使用简单开放式EtherCAT Master功能包集。 请参阅实施说明。
在Motoman功能包集中,已提供了对控制基本I / O的有限支持。 这可用于常规抓手gripper控制。 但是,此自定义控制消息与标准工业现场总线协议不兼容。 现场总线协议可能需要其他硬件。
这篇关于ROS-Industrial 硬件支持的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!