如何连续捕捉图像同时控制基于时间的机器人?

2024-04-19 06:39:21 发布

您现在位置:Python中文网/ 问答频道 /正文

这篇文章不完全是一个编码问题,但更多的是一个代码结构和同步问题。所以我用树莓派创建了一个机器人,它在预定义的路径上移动,如所附图片所示。它从start->;A移动10秒,然后向左移动5秒,直到到达终点(请参见图片以获得清晰的效果)。所以,我有机器人运动的代码结构如下-

for directions,time in database:
    while time!=0:
       continue movement in the specified direction .
       time--

因此,基本上它在Python中运行一个for循环,从名为“database”的列表变量中查找方向和时间,并相应地向前移动。在

问题的第二个部分是,我在机器人上安装了一个摄像头,它可以连续捕捉图像,并在检测到物体前方时执行特定的任务。以下机器人程序的代码结构如下-

^{pr2}$

上面的代码实际上是Picamera(Raspberry Pi)中使用的连续捕获方法。文档是-https://picamera.readthedocs.io/en/release-1.10/recipes1.html#capturing-timelapse-sequences

现在,问题是-我想把这个连续的摄像机捕捉算法与机器人运动相结合。例如,机器人从开始移动->;A,相机应该处于活动状态并连续捕捉帧,机器人也应该移动。一旦检测到一个物体(如果存在),它应该停止当前路径的计时器,根据图像处理算法执行必要的操作,然后返回,继续其先前路径上的运动。在

我有图像处理算法工作良好,如果单独运行。机器人运动也是如此。但是我不知道如何集成这两个并行运行的函数,因为它们都在使用“While”循环,而将其中一个嵌套在另一个内部不会给我所需的解决方案。在

所以,我想知道“线程”是否是我应该做的?例如,图像处理算法在检测到任何变化时改变一个全局变量,机器人运动算法同时跟踪全局变量。在检测到全局变量的任何变化时,bot算法停止并让图像处理算法执行必要的功能。这是目前的解决办法还是有更好的解决办法?在

请帮忙。请不要否决这个问题。我不是在乱搞,我也不是在寻找代码帮助,因为我可以自己弄明白。我只需要知道,如何集成/构建我的代码。在

谢谢!在

Bot path.


Tags: 代码ingt路径算法fortime机器人