有多少人工,就有多少智能

Franka Robot 相关ROS1节点梳理

自底向上:
1. franka_hw_node:
  • 这是 Franka 机器人的核心节点,负责与底层硬件进行交互。
  • 它会从 libfranka 库获取机器人的状态信息,如关节角度、关节力矩等。
  • 它会发布这些状态信息到对应的 ROS 话题上,供其他节点使用。

2. joint_state_publisher:

  • 这个节点会订阅 franka_hw_node 发布的关节状态话题。
  • 它会将这些原始的关节状态数据转换为标准的 sensor_msgs/JointState 消息格式。
  • 然后它会将转换后的关节状态数据发布到 /joint_states 话题上。

3.  robot_state_publisher:

  • 这个节点会订阅 /joint_states 话题,获取机器人的关节状态信息。
  • 它会根据机器人的 URDF 模型,计算出各个连杆之间的坐标变换关系。
  • 然后它会将这些变换关系发布到 tf2 话题上,供需要机器人状态信息的其他节点使用。

4. franka_state_publisher:

  • franka_state_publisher 订阅 franka_control 节点发布的关节状态信息,包括关节角度、速度和力矩等。
  • 这个节点订阅来自Franka驱动程序的关节状态信息,并将其以标准的 sensor_msgs/JointState 和坐标变换(TF)消息格式发布。
  • 其他需要机器人状态信息的节点(如 franka_moveit_config) 都会订阅这个节点发布的关节状态。

5.  franka_control:

  • 这个节点提供了一组 ROS 服务,用于控制 Franka 机器人的各项功能。
  • 例如可以通过服务调用来设置关节位置、关节力矩等目标值。
  • 它会调用 franka_hw_node 提供的底层接口来执行这些控制命令。

6. franka_visualization:

  • 这个节点负责将 Franka 机器人的状态信息可视化到 Rviz 中。
  • 它会订阅 /joint_states 话题和 tf2 话题,获取机器人的关节状态和坐标变换信息。
  • 然后它会将这些信息渲染到 Rviz 的机器人模型上,供用户观察和调试。

7. franka_description:

  • 包含 Franka 机器人的 URDF 模型文件。
  • 定义了机器人的几何尺寸、质量参数等信息。
  • 启动 joint_state_publisher 和 robot_state_publisher 节点。

8. franka_moveit_config:

  • 为 MoveIt! 框架提供了 Franka 机器人的配置文件。
  • 定义了机器人的运动学参数、规划组、末端执行器等信息。
  • 可用于机器人的路径规划和运动控制。

9. franka_gripper:

  • 这个节点提供了对 Franka 机器人夹爪的控制接口。
  • 可以通过 ROS 服务调用来控制夹爪的开合动作。
  • 还可以获取夹爪的传感器数据,如夹持力等。 

10. franka_interface:

  • 这个节点封装了与 Franka 机器人交互的高级 API。
  • 提供了诸如点到点运动、直线运动、关节插补等功能。
  • 可以在此基础上开发更复杂的机器人控制应用程序。

11. franka_ros_controllers:

  • 这个节点提供了一组基于 ros_control 框架的控制器。
  • 包括位置控制器、力矩控制器、混合位置/力控制器等。
  • 可以与 MoveIt! 或其他上层应用程序集成使用。

12. franka_ros_plugins:

  • 这个节点包含了 Franka 机器人在 MoveIt! 中使用的插件。
  • 比如运动学求解插件、碰撞检测插件等。
  • 确保 Franka 机器人能够与 MoveIt! 框架无缝集成。

13.  franka_example_controllers:

  • 这个节点提供了一些示例控制器,展示如何使用 franka_control 服务。
  • 包括位置控制、力矩控制、阻抗控制等不同控制模式的示例。
  • 可以作为开发自定义控制器的参考。

14. franka_tools:

  • 这个节点提供了一些命令行工具,用于与 Franka 机器人进行交互。
  • 例如机器人状态查看、关节角度设置、力矩控制等。
  • 可以作为开发者测试和调试机器人功能的辅助工具。

15. franka_msgs:

  • 这个节点定义了 Franka 机器人使用的自定义消息类型。
  • 包括关节状态、力反馈、错误信息等消息类型。
  • 供其他节点使用,确保系统内部消息格式的统一。

16. franka_gazebo

  • 这个节点提供了 Franka 机器人在 Gazebo 仿真器中的模型。
  • 与 franka_description 节点的 URDF 模型相对应。
  • 可用于在仿真环境中测试和验证机器人的行为。

17. franka_gripper_gazebo

  • 这个节点提供了 Franka 机器人夹爪在 Gazebo 中的模型。
  • 与 franka_gripper 节点的功能相对应。
  • 可用于在仿真环境中测试夹爪的控制和交互效果。

18. franka_hw_gazebo

  • 这个节点模拟了 franka_hw_node 在 Gazebo 仿真环境中的功能。
  • 提供了与真实硬件相同的接口和数据输出。
  • 可用于在仿真中测试上层控制算法。
posted @ 2024-07-12 18:28  lvdongjie-avatarx  阅读(17)  评论(0编辑  收藏  举报