C 机器人如何以固定距离跟踪球?

C 机器人如何以固定距离跟踪球?,c,tracking,robot,C,Tracking,Robot,我在android手机上用摄像头跟踪球,并通过蓝牙将x,y位置,球的半径(x,y位置是android手机屏幕上的一个像素)发送到我的stm32f板。我将手机和stm32f1套件组装到一个移动机器人中。现在我想让我的机器人移动到一个固定距离的球上 我设定了10厘米的距离。当我向前移动球时,我的机器人向前移动到球,并且始终保持机器人到球之间10厘米的距离 while (TRUE) do get x, y position of ball get x, y position of se

我在android手机上用摄像头跟踪球,并通过蓝牙将x,y位置,球的半径(x,y位置是android手机屏幕上的一个像素)发送到我的stm32f板。我将手机和stm32f1套件组装到一个移动机器人中。现在我想让我的机器人移动到一个固定距离的球上


我设定了10厘米的距离。当我向前移动球时,我的机器人向前移动到球,并且始终保持机器人到球之间10厘米的距离

while (TRUE) do
    get x, y position of ball
    get x, y position of self
    calculate distance between self and ball (hint: use Pythagoras)
    if (distance < 10 cm)
        move away from ball
    else if (distance < 10 cm)
        move towards ball
end
while(TRUE)do
得到球的x,y位置
得到自我的x,y位置
计算自我和球之间的距离(提示:使用毕达哥拉斯)
如果(距离<10厘米)
远离球
否则,如果(距离<10厘米)
向球移动
结束

现在你所要做的就是用C编写代码。

我可以用相机得到球的x,y位置,但我如何才能得到自我的x,y位置(自我是我的机器人,不是吗?)嗯,你必须以某种方式计算距离——如果你不能跟踪机器人的位置,那么你需要考虑一种不同的方法来确定与球的距离。你有没有其他方法,我可以跟踪到固定距离的球。因为我用我的相机(安卓手机的相机)组装我的机器人。所以它看起来像机器人的眼睛,它只看到球,得到球的x,y位置和半径。所以我不知道怎样才能得到我的机器人的x,y位置。你的意思是我需要另一台摄像机来观察机器人,并获得机器人的x,y位置???有无数种方法可以做到这一点,取决于你有什么传感器-一个非常粗糙的方法是尝试将球保持在显示器的中心,并保持球的直径不变。也许我需要和我的老师谈谈。这是我在学校的项目。非常感谢你的帮助和建议。我非常感激。