Repository navigation
SerialArm-Core v0.5.2
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.xacrocontrollers.spawn可以覆盖需要自动启动的 Controller;缺省时保持原有joint_state_broadcaster + joint_trajectory_controllermoveit.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_configros2 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