乒乓球发球模型需要考虑的问题

期望功能

乒乓球人形机器人根据对手站位,针对性地选择正手/反手发球,将球发出后立刻准备接球

需要思考的问题和初步思路

  1. 机器人如何识别对手的站位?

    • 考虑利用机器人的机载相机,识别人体姿态
    • 估算对手与乒乓球台的距离(通过对面半台在球网之上部分的占比和机器人身高数据估算机器人与本方半台底线的距离;通过对方人体可见部分占比推算对方与球台的距离)和方位(身体中心点与球台底线、边线的位置关系)
  2. 发球采用什么装置?灵巧手是否可以实现力封闭?

    • 智元的灵巧手四指只有各一个自由度,大拇指旋转 2+关节 1 自由度
    • 先期可以考虑使用固定位置的球托
    • 智元现有灵巧手的手掌是刚性材料,无法像人手一样兜住球
    • 如果采用力封闭方案,需要充分调整手指松开与开始抛球的时序,避免球与未充分张开的手指发生碰撞
    • 在关节角可能不准的情况下,引入水平仪外设来保证手掌水平?
    • 保证抛球的竖直性
    • 抛球后,抛球手应当尽快撤回
  3. 模型训练时需要考虑的问题

    • 是否需要将球的视觉识别定位加入模型?先期是否可以不使用球的观测先验,固定左手的抛球位置?
    • 反手发球相对来说难度应当较低,可以只涉及手臂的运动,难点在于右手对准球的下落位置
    • 正手发球的主要流程:左手直线前伸抛球—右手向左前方伸展,同时腰部略向左转配合对位
    • 反手发球的训练经验,是否可以用于正手发球?
    • 在模型中如何区分不同类型的发球?
  4. 发球模型与接球模型的衔接

    • 发球模型与接球模型是否可以整合为一个模型?
    • 如果可以整合为一个模型,如何区分发球与接球状态?
    • 如果分成两个模型,如何处理模型间的切换?
    • 为什么模型切换可能带来不稳定?
    • 可以考虑把发球模型的结束位姿、接球模型的初始位姿钉死,但可能导致难以应对对方接发球