CHOMP Planner
用于运动规划的协变哈密顿量优化(Covariant Hamiltonian Optimization for Motion Planning,CHOMP)是一种基于梯度的轨迹优化方法,面向高维模仿学习:将运动规划简化为轨迹优化,它使许多日常运动规划问题变得既简单又可训练(Ratliff等,2009c)。虽然大多数高维运动规划器将轨迹生成划分为不同的规划和优化阶段,但该算法利用优化阶段的协变梯度和函数梯度方法,设计了完全基于轨迹优化的运动规划算法。在给定不可行的初始轨迹情况下,CHOMP通过对周围环境作出反应,快速将轨迹拉出碰撞,同时优化关节速度和加速度等动态量。它可以快速收敛到平滑的无碰撞轨迹,可以在机器人上高效执行。此外,通过将运动规划描述为优化,我们可以再次利用MMP框架来训练这个高维规划器。集成到最新版本的MoveIt是正在进行中。更多信息
Getting Started 入门
使用MoveIt RViz插件完成Visualization
Prerequisites 先决条件
- 在ROS Melodic上,你不需要从源代码构建MoveIt,但是对于旧版本的MoveIt,你可以这样做(参见前面的教程版本)。
- 要在机器人中使用CHOMP,您必须已经为机器人配备了MoveIt配置包。例如,如果你有一个熊猫机器人,那就叫它
panda_moveit_config
。这通常使用MoveIt Setup Assistant进行配置。
Using CHOMP with Your Robot
- 在
arm7_moveit_config/launch
目录中,修改chomp_planning_pipeline.launch.xml文件。 - 调整行以替换MoveIt配置包的名称。
<rosparam command="load" file="$(find panda_moveit_config)/config/chomp_planning.yaml" />
<rosparam command="load" file="$(find <robot_moveit_config>)/config/chomp_planning.yaml" />
<robot_moveit_config>
<rosparam command="load" file="$(find arm7_moveit_config)/config/chomp_planning.yaml" />
- 将chomp_planning.yaml文件下载到MoveIt配置包的config目录中。在我们的例子中,我们将此文件保存在
panda_moveit_config/config
目录中。 chomp_planning.yaml
在您喜欢的编辑器中打开并切换到您的机器人的相应链接。animate_endeffector_segment: "panda_rightfinger"
- 将
demo.launch
文件复制到demo_chomp.launch
。请注意,此文件也位于MoveIt配置包的启动目录中。在我们的例子中,panda_moveit_config/launch
目录。 - 找到
move_group.launch
包含的行并将其更改为:
打开move_group.launch文件<robot_moveit_config>/launch/夹中的文件并进行两处更改。
运行演示
如果你有panda_moveit_config
从ROS规划/ panda_moveit_config库,你应该能够简单地运行演示: