MoveIt 目前主要是一个运动学运动规划框架 - 它规划关节或末端执行器的位置,但不规划速度或加速度。然而,MoveIt 确实利用后处理对运动学轨迹进行时间参数化,以获得速度和加速度值。下面我们解释了 MoveIt 这一部分涉及的设置和组件。
速度控制
从文件
默认情况下,MoveIt 将关节轨迹的关节速度和加速度限制设置为机器人 URDF 或 joint_limits.yaml
中允许的默认值。 joint_limits.yaml
是从设置助手生成的,最初是 URDF 中值的精确副本。然后,用户可以根据需要修改这些值,使其小于原始 URDF 值。如果需要特殊约束,可以使用键 max_position, min_position, max_velocity, max_acceleration, max_jerk
更改特定关节属性。可以使用键 has_velocity_limits, has_acceleration_limits, has_jerk_limits
打开或关闭关节限制。
在运行时
参数化运动轨迹的速度也可以在运行时修改为配置值中设置的最大速度和加速度的一部分,范围为 0-1 之间的值。要在每个运动计划的基础上更改速度,可以按照 MotionPlanRequest.msg 中描述的设置两个缩放因子。在 MoveIt MotionPlanning RViz 插件中也可以使用微调框来设置这两个因子。
时间参数化算法
MoveIt 可以支持不同的算法来对运动轨迹进行后处理,以添加时间戳和速度/加速度值。目前,MoveIt 中只有一个选项: