问题描述
我一直在使用kuka iiwa,并且尝试使用drake设置模拟。我使用的是Drake中提供的示例“ kuka_iiwa_arm”,并启动了带有ukaus_control标志为“ true”的kuka_simulation文件,以便能够进行扭矩控制。我还修改了文件“ kuka_plan_runner.cc”以发送iiwa_command,方法是复制机器人的当前位置并将相应的扭矩命令添加为:
for (int joint = 0; joint < kNumJoints; joint++) {
iiwa_command.joint_position[joint] = iiwa_status_.joint_position_measured[joint];
iiwa_command.joint_torque[joint] = 0;
}
我开始发送零扭矩,几秒钟后,我向一个关节发送了一个小扭矩。这样做时,经过8到10个仿真步骤,该控制器已失控,并发送了很高的输出(1.10 ^ 20),并且仿真崩溃。
我查看了用于计算扭矩的KukaTorqueController类,当我禁用了阻尼项时,模拟效果很好,但是并不理想,因为当您停止发送扭矩命令时,手臂会继续漂移,因为不是阻尼项。有没有办法解决此问题或检查是什么使控制器中的阻尼项失效?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)