楼主

[视觉算法] 【分享帖】机器人运动预测

[复制链接]
正式队员阿布
2021-10-7 23:24:48 只看该作者

马上注册,玩转Robomaster!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
直接上干货。
首先我们的目的很明确,就是要打运动的机器人。
已知条件(识别那块就不说了):
  • 己方机器人的云台角度,yawpitch,记为j-yawj-pitch
  • 敌方装甲板在相机中解算出的角度yawpitch,记为d-yawd-pitch
  • 可以通过相机算出相机到装甲板的大致距离dis
  • 射速v(取均值),发射时俯仰角α
  • 3 4可推导出弹丸飞行时间t
    水平方向:
    j-yaw为机器人云台上的绝对角度,d-yaw为相机中目标相对于图像中心(瞄准基线)的相对角度。假设目标始终在视野范围内,转动云台则j-yaw的变化值delta-j-yawd-yaw的变化值delta-d-yaw相等(不等就将d-yaw这个数据处理使delta-j-yawdelta-d-yaw强制相等)。
    在此处定义一个概念目标角度a-yaw=j-yaw+d-yaw。且delta-j-yaw=delta-d-yaw
    基于此不难发现目标角度a-yaw只与敌我双方的相对位置相关,与运动状态无关,与我正视还是斜视无关。
    每处理一帧图像则会更新目标角度a-yaw。一旦敌我双方相对位置改变时,a-yaw则会发生变化(谁动都无所谓,两个都动也可),变化角度为delta-a-yaw,耗时为delta-t,即两帧图像时间差(假如处理能到50帧,就是20ms)。
    角速度为Omega=delta-a-yaw/delta-t。再微分一次就得到角加速度a。那么Omega*t+0.5a*t^2就是预瞄的角度啦,做个闭环让d-yaw=Omega*t+0.5a*t^2就打上了。
    竖直方向就按照抛物线算即可,这个方向变化不是太大。
    方法亲测有效,我是搞电控的,我感觉这个方法比起卡尔曼滤波更平易近人,通俗易懂大家可以试试,后期在搞毕业的事,也没有什么视频。
    第一次写这种东西,感觉写的乱七八糟的,大家凑合看吧,希望能有用,有问题可以直接交流。
    军临战队敖布和

    QQ848533123

附上matlab的演示代码。
clc; clear;

% 初始化一个电影矩阵
M = moviein(1000);
% 创建电影
a=0;
m=0;
n=0;
l=50;
for i=1:l:10000
lasta=a;
    x=3*i-3*(0.01*i)^2;
%     y=5000-(0.01*i)^2;
y=5000-0.1*i;
    m=1*i;
    n=0;
      plot(x,y,'o');
    hold on;
    a=atan((x-m)/(y-n));
    b=(a-lasta)/l;
    c=sqrt((x-m)^2+(y-n)^2)/15*b;
    d=a+c;

     plot(m,n,'x');
     hold on;
     q=0:1:10000;
     u=1/tan(d)*q+n-1/tan(d)*m;
     plot(q,u);
%     axis equal;
    axis([0 10000 0 5000])
    % 调用getframe函数生成每个帧
   M(i) = getframe;

end
movie(M, 1);



跳转到指定楼层
沙发

[视觉算法] 【分享帖】机器人运动预测

[复制链接]
步兵Anson_XD
2021-10-22 16:49:42 只看该作者
大佬的视觉是什么比赛开始用的 是从联盟赛就用到对抗赛的吗
板凳

[视觉算法] 【分享帖】机器人运动预测

[复制链接]
正式队员阿布
 楼主| 2021-10-25 18:30:04 只看该作者
Anson_XD 发表于 2021-10-22 16:49
大佬的视觉是什么比赛开始用的 是从联盟赛就用到对抗赛的吗

大概五月底做的测试      后来毕业也没优化完     后面比赛时不知道用没用
地板

[视觉算法] 【分享帖】机器人运动预测

[复制链接]
步兵做车车的绅士
2021-11-9 20:59:12 只看该作者
卡尔曼预测有效果吗
?老哥做过测试吗
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

Copyright © 2024 RoboMasters 版权所有 备案号 粤ICP备2022092332号

快速回复 返回顶部 返回列表