| .. | ||
| launch | ||
| openarm_joint_recorder | ||
| resource | ||
| package.xml | ||
| README.md | ||
| setup.cfg | ||
| setup.py | ||
openarm_joint_recorder
用于录制关节位置轨迹并按记录时间回放。
功能
- 订阅控制器状态话题(JointTrajectoryControllerState)并录制每个采样点的时间与位置
- 通过 ROS2 service 启停录制与回放
- 轨迹保存到 YAML 文件,支持加载后回放
参数
input_topic:录制输入话题,默认/left_joint_trajectory_controller/controller_stateoutput_topic:回放输出话题,默认/left_joint_trajectory_controller/joint_trajectoryplay_speed:回放速度倍率,默认1.0loop_playback:是否循环回放,默认falsestorage_path:保存/加载文件路径,默认/tmp/openarm_joint_trajectory.yaml
启动
ros2 launch openarm_joint_recorder joint_trajectory_recorder.launch.py
服务接口
~/set_recording(std_srvs/srv/SetBool):true开始录制,false停止录制~/play(std_srvs/srv/Trigger): 开始回放~/stop_playback(std_srvs/srv/Trigger): 停止回放~/save(std_srvs/srv/Trigger): 保存轨迹到storage_path~/load(std_srvs/srv/Trigger): 从storage_path加载轨迹~/clear(std_srvs/srv/Trigger): 清空内存轨迹
示例命令
# 开始录制
ros2 service call /joint_trajectory_recorder/set_recording std_srvs/srv/SetBool "{data: true}"
# 停止录制
ros2 service call /joint_trajectory_recorder/set_recording std_srvs/srv/SetBool "{data: false}"
# 保存
ros2 service call /joint_trajectory_recorder/save std_srvs/srv/Trigger "{}"
# 回放
ros2 service call /joint_trajectory_recorder/play std_srvs/srv/Trigger "{}"