JointTrajectoryController

JointTrajectoryController

http://wiki.ros.org/joint_trajectory_controller/

用于在一组关节上执行关节空间轨迹的控制器。 轨迹被指定为在特定时刻到达的一组路点,控制器试图执行以及机制允许的路线点waypoints。航点由位置,速度和加速度组成。

1.   Trajectoryrepresentation

控制器被模板化以处理多个轨迹表示。 默认情况下,提供样条插补器,但可以支持其他表示。 样条插补器根据航点规范使用以下插补策略:

线性Linear:仅指定位置。 保证职位级别的连续性。 不鼓励,因为它会产生不连续的速度在航点的轨迹。

立方体Cubic:指定位置和速度。 在速度级别保证连续性。

五次插补Quintic:指定位置,速度和加速度:在加速级别保证连续性。

2.   Hardwareinterface type

该控制器被模板化以使用多种硬件接口类型。目前支持位置,速度和力接口的关节。对于位置控制的关节,所需的位置简单地转发到关节;而对于速度(力)关节,位置+速度轨迹跟随误差通过PID回路映射到速度(力)命令。

示例控制器配置可以在这里找到。

http://wiki.ros.org/joint_trajectory_controller#Controller_configuration_examples

与上面的轨迹表示情况类似,可以支持新的硬件接口或者对已经支持的接口(例如用于生成工作命令的代理控制器)的替代映射。

3.   Other features

实时安全实施。

正确处理包装(连续)关节。

对系统时钟变化的鲁棒性:不连续的系统时钟变化不会导致执行已经排队的轨迹段的不连续性。

4.   Sending trajectories

4.1Available interfaces

有两种向控制器发送轨迹的机制:通过操作界面或主题界面。两者都使用trajectory_msgs / JointTrajectory消息来指定轨迹,并且如果allow_partial_joints_goal未设置为True,则需要为所有控制器关节指定值(而不仅仅是一个子集)。

发送轨迹的主要方式是通过操作界面,并且可以执行监视。行动目标不仅可以指定要执行的轨迹,还可以(可选)指定路径和目标公差。如果未指定容差,则使用参数服务器中给出的默认值(请参见下面的ROS API)。如果在轨迹执行过程中公差被违反,操作目标会中止并通知客户端。

重要提示即使目标已被中止,控制器仍会尽可能地尝试执行轨迹。

主题界面是一个不容忽视的选择。如果您不关心执行监控,请使用此接口

  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值