为什么使用Industrial_trajectory_filters包?因为Moveit生产的轨迹是等距而非等时的。但是在工业应用的机器人中,通常都是按照固定的周期来控制关节轴运动。因此moveit原生的轨迹与实际机器人控制需求之间存在不匹配,这就需要通过一定的方法或工具来进行对接。Industrial_trajectory_filters功能包便可以解决轨迹对接匹配问题。为了使用Industrial_trajectory_filters包,我们首先先要了解moveit中的Planning Request Adapters的概念。
#Planning Adapter
Planning Request Adapter是Moveit中的一个概念,它可以用来修改轨迹。在Moveit中已有的Planning adapter包括AddTimeParameterization、FixWorkspaceBounds、FixStartBounds、FixStartStateCollision、FixStartStatePathConstraints、CHOMPOptimizerAdapter等等。使用Planning Adapter的概念,多个运动规划算法可以在一个pipeline中使用来产生具有鲁棒性的运动规划。例如,一个运动规划的采样pipeline可能包含了一个初始的由OMPL产生的规划,然后由CHOMP来优化产生比单独使用OMPL或CHOMP更好的路径。类似地,使用Planning Adapter的概念,依赖于机器人的操作环境,其他的运动规划器也可以进行混合和匹配。
Filters
Industrial_trajectory_filters包中包含了过滤机器人轨迹的方法。这些方法针对于工业机器人的应用。
uniform_sample_filter
对一个规划的轨迹进行重采样,在采用点之间使用统一的时间步进。重采样通过在关节空间中使用一个高阶样条曲线来完成。该过滤器需要全定义的轨迹,即轨迹点包含位置、速度和加