微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

解决 drake 中 Snopt 的错误,如何解决?

如何解决解决 drake 中 Snopt 的错误,如何解决?

这个问题在前面的Failure of solving trajectory optimization use Snopt in drake,how to fix it?之后,谢谢戴!
当我尝试使用 Snopt 求解非线性程序时,我遇到了存储空间不足的错误错误信息如下图所示:Original error information from snopt.out

然后我使用以下命令:
prog.SetSolverOption(SnoptSolver::id(),"Total integer workspace",100000);
prog.SetSolverOption(SnoptSolver::id(),"User integer workspace",100000);
它仍然以相同的原因失败,但幅度小一些,例如从 1969563 到 1960807 的“总整数工作区”选项。Error information screenshoot1

因为它确实影响幅度,所以我设置了一个更大的“总整数工作空间”和“用户整数工作空间”。尝试结果如下:
Total integer workspace=200000,User integer workspace=200000==>Error information 2
Total integer workspace=300000,User integer workspace=300000==>Error information 3
Total integer workspace=400000,User integer workspace=400000==>Error information 4
Total integer workspace=500000,User integer workspace=500000==>Error information 5
Total integer workspace=500000,User integer workspace=600000==>Error information 6
Total integer workspace=700000,User integer workspace=700000==>Error information 7
Total integer workspace=800000,User integer workspace=800000==>https://i.stack.imgur.com/EJrft.png
Total integer workspace=800000,User integer workspace=900000==>https://i.stack.imgur.com/AblUc.png
Total integer workspace=1000000,User integer workspace=1000000==>https://i.stack.imgur.com/mS3gX.png
Total integer workspace=1010000,User integer workspace=1010000==>https://i.stack.imgur.com/pufBK.png
Total integer workspace=1020000,User integer workspace=1020000==>https://i.stack.imgur.com/biThe.png
还有一些额外的测试可能会有所帮助:
Total integer workspace=900000,User integer workspace=1000000==>https://i.stack.imgur.com/NilNy.png
抱歉上面图片格式奇怪,因为我的信誉最多只能支持8个图片链接。T_T T_T
所有这些测试都有相同的初始猜测。我发现当我将“总整数工作空间”和“用户整数工作空间”从100000增加到600000时,缺少存储的量级先变小,然后变大。当我将两个选项设置为大于 800000 时,错误类型已更改为异常。
现在我正在努力解决这些问题:
1.为什么缺储量的变化很奇怪?
2.遇到这种情况怎么办?
3.无论我们如何调整存储,最初的猜测是否会得到一个可行的解决方案?
4.如何判断初始猜测是否合理?
5.出现此存储错误时,如何设置“总整数工作空间”和“用户整数工作空间”?换句话说,当我们遇到初始猜测的合理性、存储错误、约束的可行性等问题耦合在一起时,调试流程是什么?

最衷心的感谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。