参考资料: https://github.com/stulp/dmpbbo
前提:你已经阅读了黑盒子优化和动态运动原语的教程。
在将BBO应用于策略改进时(例如优化机器人上的DMP),“rollout”的概念变得很重要。rollout是使用一组策略参数(例如DMP的参数)执行策略(例如DMP)的结果。虽然优化的搜索空间是在策略参数的空间中,但成本是由rollout决定的。
从实现的角度来看,将BBO应用于策略改进(可能会执行dmp)需要几个扩展:
1.并行运行多个优化,针对DMP的每个自由度运行一个优化
2.使用任务的rolllouts/任务求解器来代替成本函数
Optimizing DMP DOFs in parallel(多自由度并行优化)
考虑一个7自由度的机械臂。在DMP中,每个DOF将由7-D DMP的不同维数表示(假设DMP的每个维数使用10个基函数)。针对成本函数,有两种不同的优化DMP参数的方法:
1.考虑优化的搜索空间为70-D,即在一个搜索空间中考虑DMP的所有开放参数。为此,您可以使用runOptimizationTask(),还可以参阅demoOptimizationTask.cpp和demoOptimizationDmp.cpp中的演示。缺点是奖励加权平均将需要更多的样本来执行鲁棒更新,特别是对于协方差矩阵,它是70X70!
2.为这7个dof分别运行一个优
本文介绍了如何利用Black Box Optimization (BBO) 对Dynamic Movement Primitives (DMPs) 进行多自由度并行优化。讨论了两种优化DMP参数的方法:全局70-D优化和独立10-D优化。还探讨了CostFunction与Task/TaskSolver的区别,以及它们在机器人任务执行中的作用。文章详细阐述了实现过程,并提到了成本组件和相关变量的处理方式。
最低0.47元/天 解锁文章
1738

被折叠的 条评论
为什么被折叠?



