差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
机器人:franka:libfranka:libfranka的捕获和重放:1.libfranka的捕获和重放的技术路线 [2025/11/10 11:08] – [别人的项目是如何完成libfranka的位姿读取和重放控制的?] ctbots机器人:franka:libfranka:libfranka的捕获和重放:1.libfranka的捕获和重放的技术路线 [2025/11/10 11:33] (当前版本) – [别人的项目是如何完成libfranka的位姿读取和重放控制的?] ctbots
行 64: 行 64:
 https://gitee.com/ctbots/mirror-panda-force https://gitee.com/ctbots/mirror-panda-force
  
-* experiments/echo_robot_state.cpp 可以看到对数据的保存,但是这里是对基本所有的字段的保存:experiments/state_recorder.hpp 可以看到用json几乎存储了所有数据+  * experiments/echo_robot_state.cpp 可以看到对数据的保存,但是这里是对基本所有的字段的保存:experiments/state_recorder.hpp 可以看到用json几乎存储了所有数据 
 +  * experiments/zmq_control_server.cpp 文件可以看到支持的各种命令,录制和重放的模式;可以看到 也是提供2种重放功能:根据点位的(follow_qs),根据加速度的(follow_cartesian_vel)。 
 + 
 +^ 命令 ^ 功能描述 ^ 参数 ^ 
 +| connect | 连接到Franka机器人,建立与指定IP地址Franka机器人的连接,并加载机器人模型 | 机器人IP地址 | 
 +| disconnect | 断开机器人连接,重置机器人连接指针,释放资源 | 无 | 
 +| error_recovery | 尝试从机器人错误状态中恢复 | 无 | 
 +| set_knife | 设置末端执行器(刀具)属性,根据配置文件设置不同刀具的末端执行器属性 | 刀具类型("edc"或"slicing") | 
 +| get_knife | 获取当前选中的刀具,返回当前已设置的刀具类型 | 无 | 
 +| set_joint_impedance | 配置机器人各关节的阻抗控制参数 | 7个关节的阻抗值数组 | 
 +| set_collision_behavior | 配置机器人在碰撞情况下的响应行为 | 扭矩阈值和力阈值数组 | 
 +| record | 以指定间隔记录指定数量的机器人状态数据,保存为JSON文件 | 步数、采样间隔(毫秒) | 
 +| retrieve | 读取指定路径的JSON日志文件内容并返回 | 日志文件路径 | 
 +| move_to_q | 控制机器人在指定时间内平滑移动到目标关节位置,可选记录运动过程 | 目标关节角度数组、移动时长、确认标志、记录标志、记录频率 | 
 +| interpolate | 对给定的关节位置点进行插值,生成新的更密集或更稀疏的路点序列 | 路点数、关节角度数据、源时间步长、目标时间步长 | 
 +| follow_qs | 根据给定的关节位置点序列和时间步长,控制机器人按照插值后的平滑轨迹运动 | 路点数、关节角度数据、源时间步长、记录频率 | 
 +| follow_cartesian_vel | 根据给定的笛卡尔速度序列和时间步长,控制机器人执行相应的笛卡尔空间运动 | 路点数、笛卡尔速度数据、源时间步长、记录频率 | 
 + 
  
  
行 71: 行 89:
 https://gitee.com/ctbots/mirror-easy-kinesthetic-recording https://gitee.com/ctbots/mirror-easy-kinesthetic-recording
  
 +  * 依赖于https://github.com/nbfigueroa/franka_interactive_controllers,在ROS上发布了franka的节点的信息
 +  * launch/franka_record_demonstrations.launch 录制并保存到本地 可视化
 +  *  launch/franka_replay_bag_demonstrations.launch 实现了录制数据的重放
  
 ===== Motion的类型和具体源代码 ===== ===== Motion的类型和具体源代码 =====