首页 > 其他分享 >Franka Robot 相关ROS1节点梳理

Franka Robot 相关ROS1节点梳理

时间:2024-07-12 18:30:35浏览次数:15  
标签:状态 franka 机器人 Robot ROS1 Franka 关节 节点

自底向上: 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 仿真环境中的功能。
  • 提供了与真实硬件相同的接口和数据输出。
  • 可用于在仿真中测试上层控制算法。

标签:状态,franka,机器人,Robot,ROS1,Franka,关节,节点
From: https://www.cnblogs.com/ai-ldj/p/18299189

相关文章

  • Franka Robot franka_hw 与franka_control 是什么关系
    franka_hw和franka_control是ROS中两个不同但相关的软件包,它们共同为FrankaEmika的Panda机器人提供控制功能。franka_hw:这个软件包负责与Panda机器人的硬件进行底层接口。它提供了franka_hw_node节点,用于建立与Panda机器人的通信,并发布机器人的状态信息。......
  • Franka Ros1 简介
    FrankaRos暂时在Windows上不受支持。 封装的示意图franka_ros元包franka_ros集成libfranka到ROS和ROS控件中。这里我们介绍它的包,并简要介绍如何编写控制器。本节中传递给启动文件的所有参数都带有默认值,因此如果使用默认网络地址和ROS命名空间,则可以省略这些参数。......
  • Franka Robot demo 关节阻抗控制(joint_impedance_control.cpp)
    //Copyright(c)2023FrankaRoboticsGmbH//UseofthissourcecodeisgovernedbytheApache-2.0license,seeLICENSE#include<array>#include<atomic>#include<cmath>#include<functional>#include<iostream>#include&......
  • Franka Robot demo 真空夹抓控制示例(vacuum_object.cpp)
    //Copyright(c)2019FrankaRoboticsGmbH//UseofthissourcecodeisgovernedbytheApache-2.0license,seeLICENSE#include<iostream>#include<thread>#include<franka/exception.h>#include<franka/vacuum_gripper.h>/**......
  • Franka Robot 打印机器人关节位姿(print_joint_poses.cpp)
    //Copyright(c)2023FrankaRoboticsGmbH//UseofthissourcecodeisgovernedbytheApache-2.0license,seeLICENSE#include<iostream>#include<iterator>#include<franka/exception.h>#include<franka/model.h>/***@exam......
  • Franka Robot 夹爪控制示例(grasp_object.cpp)
    //Copyright(c)2023FrankaRoboticsGmbH//UseofthissourcecodeisgovernedbytheApache-2.0license,seeLICENSE#include<iostream>#include<sstream>#include<string>#include<thread>#include<franka/exception.h>......
  • Franka Robot demo 力控 force_control.cpp
    //Copyright(c)2023FrankaRoboticsGmbH//UseofthissourcecodeisgovernedbytheApache-2.0license,seeLICENSE#include<array>#include<iostream>#include<Eigen/Core>#include<franka/duration.h>#include<franka/......
  • Franka Robot 齐次变换矩阵 robot_state.O_T_EE
    O_T_EE 是一个4x4的齐次变换矩阵,用于描述末端执行器在机器人基座坐标系下的位置和姿态。这个矩阵的结构如下:[r11r12r13tx][r21r22r23ty][r31r32r33tz][0001]其中:r11到r33表示末端执行器的旋转矩阵tx、ty、tz表示末端执行器在机器人基座坐标系......
  • Franka Robot 多上位机控制控制方案
    Franka机器人来说,多个上位机可以同时对机器人进行控制,但需要遵循一些原则和注意事项:协作控制模式:多个上位机同时控制Franka机器人需要采用协作控制模式。在这种模式下,各个上位机向机器人发送的指令会被协调合并,避免指令冲突。访问权限管理:通常会对上位机的访问权限......
  • Franka Robot cmake demo
    cmake_minimum_required(VERSION3.4)#指定CMake的最低版本要求为3.4project(libfranka-examplesCXX)#定义项目名称为libfranka-examples,并指定语言为C++list(INSERTCMAKE_MODULE_PATH0${CMAKE_CURRENT_LIST_DIR}/../cmake)#将父目录的`cmake`子目录添加到......