正逆运动学解算

正运动学解算和逆运动学解算的区别

在底盘控制中,运动学解算用于建立底盘的期望速度和轮子速度之间的关系。运动学解算分为正运动学和逆运动学,它们的方向相反:

  • 正运动学解算(Forward Kinematics):

    • 输入: 每个轮子的实际速度(或转速)。
    • 输出: 底盘的实际速度(包括线速度和角速度)。
    • 作用: 根据轮子的运动推算底盘的运动状态。
    • 应用场景: 用于估计底盘的实际运动状态,例如在导航、定位等应用中。
  • 逆运动学解算(Inverse Kinematics):

    • 输入: 底盘的期望速度(包括线速度和角速度)。
    • 输出: 每个轮子应该达到的速度(或转速)。
    • 作用: 根据期望的底盘运动状态计算轮子的控制量。
    • 应用场景: 用于控制底盘的运动,例如让底盘按照指定的轨迹运动、保持稳定的姿态等。

为什么需要区分正逆运动学解算?

区分正逆运动学解算的原因在于,它们解决的是不同的问题,服务于不同的目的:

  • 控制: 逆运动学解算用于控制底盘的运动,根据期望的底盘运动状态计算轮子的控制量,从而实现对底盘的精确控制。
  • 估计: 正运动学解算用于估计底盘的实际运动状态,根据轮子的实际运动推算底盘的运动状态,从而为导航、定位等应用提供数据支持。

如何区分正逆运动学解算?

区分正逆运动学解算的关键在于确定输入和输出:

  • 正运动学:

    • 输入: 轮子速度。
    • 输出: 底盘速度。
  • 逆运动学:

    • 输入: 底盘速度。
    • 输出: 轮子速度。
    • 逆运动学解算:
      Chassis_Inverse_Kinematics(&chassis.solve, &chassis.expect_speed, chassis.expect_driver_speed);
      输入: &chassis.expect_speed (底盘的期望速度)。
      输出: chassis.expect_driver_speed (每个轮子应该达到的速度)。
      
      正运动学解算:
      Chassis_Forward_Kinematics(&chassis.solve, temp_array, &chassis.observation_speed);
      输入: temp_array (每个轮子的实际速度)。
      输出: &chassis.observation_speed (底盘的实际速度)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值