Skip to content

SerialArm-Core v0.5.2

Choose a tag to compare

@Kaede-Rei Kaede-Rei released this 19 Sep 19:16
· 75 commits to main since this release

SerialArm-Core v0.5.2

v0.5.2 主要解决 ROS 2 Adapter 的下游可组合性问题;framework-neutral Core、Robot 控制语义和 SerialArmSystem 接口保持不变

主要变化

  • display.launch.py、hardware.launch.py、moveit.launch.py 支持通过 profile_file 加载下游项目自己的 Robot Profile
  • ROS 2 launch 新增可选 resource_paths,并完整传递到 C++ Robot Profile resolver
  • ROS 2 Adapter 会根据 Profile 中引用的 ament package 自动补充 Core resolver 所需的 resource roots
  • Python load_robot_profile_core() 完整暴露 profile_file 和 resource_paths
  • display.launch.py 同时支持 description.urdf 和 description.xacro
  • controllers.spawn 可以覆盖需要自动启动的 Controller;缺省时保持原有 joint_state_broadcaster + joint_trajectory_controller
  • moveit.launch.py 会把外部 Profile 参数和 controller_manager_name 继续透传给 hardware.launch.py
  • 原有 dm_arm_gray、dm_arm_white 启动方式保持兼容

下游机器人示例

profiles:
  tomato_picker:
    core:
      package: tomato_picker_description
      config: config/core/tomato_picker.yaml

    hardware:
      plugin: serial_arm_hardware_damiao
      config_package: dm_arm_description
      config: config/hardware.yaml

    description:
      package: tomato_picker_description
      xacro: urdf/tomato_picker.urdf.xacro
      ros2_control_xacro: urdf/tomato_picker.ros2_control.xacro

    controllers:
      package: tomato_picker_bringup
      config: config/ros2_controllers.yaml
      spawn:
        - joint_state_broadcaster
        - joint_trajectory_controller

    moveit:
      package: tomato_picker_moveit_config
ros2 launch serial_arm_ros2_control moveit.launch.py \
  robot_profile:=tomato_picker \
  profile_file:=/path/to/tomato_picker_bringup/config/robot_profiles.yaml

下游项目负责持有实际机器人 Profile、动力学模型、Description 和 MoveIt 资源;SerialArm-Core 继续只负责通用 Core、硬件抽象和可复用 ROS 2 Adapter