Moveit错误:Controller xxx failed with error GOAL_TOLERANCE_VIOLATED

在使用Moveit的过程中,有时我们会看到机器人会报这个错:Controller xxx failed with error GOAL_TOLERANCE_VIOLATED。从报错上看是机器人没有到达指定位置,但是在Gazebo中能看到机器人已经到达指定位置,这是由于没有设置stopped_velocity_tolerance参数的原因,具体添加位置为gazebo端控制器配置:

    cog_controller:
        type:  position_controllers/JointTrajectoryController
        joints:
            - x_center_control_joint
            - y_center_control_joint
        gains:
            x_center_control_joint: {p: 100.0, i: 0.1, d: 1.0}
            y_center_control_joint: {p: 100.0, i: 0.1, d: 1.0}
        constraints:
            stopped_velocity_tolerance: 0.0
stopped_velocity_tolerance的初始值为0.01。moveit会在机器人速度小于0.01时就认定执行完成了。当真实位置和目标位置差值大于设定好的误差时,就会出现这个错误,所以我们可以选择将stopped_velocity_tolerance参数设置为0,这样报错就解决了。
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
### 回答1: 这是 MoveIt 框架中的一个配置参数,用于控制机器人的硬件控制循环频率和周期时间误差阈值。具体含义如下: - loop_hz:硬件控制循环的频率,单位为赫兹(Hz)。 - cycle_time_error_threshold:硬件控制循环的周期时间误差阈值,单位为秒(s)。如果某个硬件控制循环的周期时间与期望周期时间之差超过该阈值,则会发出警告。 这些参数的值需要根据具体的硬件控制要求进行设置,以保证机器人的控制精度和响应速度。 ### 回答2: moveit的generic_hw_control_loop是MoveIt!中的一个模块,用于控制机器人硬件的循环。它具有两个重要的参数配置,分别是loop_hz和cycle_time_error_threshold。 loop_hz参数定义了控制循环的频率。在本例中,设置为300,表示每秒循环300次。这个参数的大小与机器人的响应速度密切相关,较高的频率可以提高机器人的实时性能,但同时也会增加计算和通信的负担。 cycle_time_error_threshold参数定义了控制循环的周期误差阈值。在本例中,设置为0.01,表示控制循环的周期误差不能超过0.01秒。如果超过了这个阈值,意味着控制循环的周期与预期不相符,可能导致机器人控制不稳定或运动不准确。 这两个参数的配置需要根据具体的机器人和应用场景来进行调整。如果机器人需要快速响应,可以增加loop_hz的数值,提高控制的实时性。而cycle_time_error_threshold的合理设置可以保证控制循环的稳定性,确保机器人运动的准确性。 总的来说,通过调节这两个参数,可以优化机器人的控制性能,提高运动的精确性和稳定性,从而满足不同场景下的需求。 ### 回答3: moveit的generic_hw_control_loop是MoveIt中用于控制机器人硬件接口的一个模块。它包含两个参数,分别是loop_hz和cycle_time_error_threshold。 loop_hz参数表示控制循环的频率,单位是赫兹(Hz)。在这个例子中,loop_hz被设置为300,意味着每秒钟会进行300次控制循环。较高的控制循环频率可以提供更平滑和连续的控制,有助于提高机器人的运动精度和响应能力。 cycle_time_error_threshold参数表示控制循环运行时间的误差阈值。在这个例子中,cycle_time_error_threshold被设置为0.01,表示控制循环的运行时间与预期运行时间之间的差异不应超过0.01秒。通过控制循环的运行时间,可以确保控制指令的及时执行,从而避免机器人的运动出现明显的延迟或不稳定现象。 因此,这个配置示例表明moveit的generic_hw_control_loop模块将以每秒300次的频率运行控制循环,并以0.01秒的误差阈值来控制循环运行时间。这样可以实现机器人硬件接口的高效控制,并保证运动的平滑性和稳定性。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值