zhen_1996 发表于 2022-1-18 21:14:50

课程作业-机器人捉迷藏思路求助

本帖最后由 zhen_1996 于 2022-1-18 21:16 编辑

学校给了两个anki_vector的机器人,任务布置是在一个迷宫内进行捉迷藏的游戏,其他没有要求,自由发挥。
机器人有摄像头,目前已经把识别另外一台机器人的功能写好了,但是如何走迷宫,如何捉迷藏一点思路也没有。
机器人能识别前方400mm内是否有障碍物,但是无法判断两侧,需要整个转身。
迷宫不固定,需要识别道路盒障碍物前进。
谢谢大家。

翼是孤独 发表于 2022-1-18 22:24:54

说一下我的思路(仅供参考,不一定可行哈{:10_282:}):
捉迷藏就是一个藏好一个找,假设开始AB在一个出发点
(1)行为:捉迷藏有两个动作,A藏、B找
A机器人先藏,周围400mm没有另一个机器人就算藏好了
A要尽可能地藏到难找的地方,
AB都要记忆地图
AB的行走:最简单的就是转向只垂直转,每次行走登长的一小段
(2)A藏
A藏到难找到得地方,参考值有 与出发点的距离、有效转向书数(只记录转向后会行走的那些转向)、周围是否有掩体、是否是角落等,你可以依据这些设置一个藏的算法
(3)记忆地图
依据机器人的大小、400mm、迷宫墙的大小(建议每一块墙都是正方体,好计算)设置一个地图
单次行走定长距离,迷宫抽象成一张地图,地图的每一个单元点长度就是单次行走长度

这样基本上可以简化成炸弹人的算法,参考:https://www.cnblogs.com/captainad/p/11022324.html
用二维数组表示地图,值为1表示走过
(4)寻找:DFS算法寻找
暂时就想到这些

Stubborn 发表于 2022-1-19 14:44:46

本帖最后由 Stubborn 于 2022-1-19 15:17 编辑

换位思考一下,你的任务是去一个地方,绘制一个地图,这个地图内容包括(可以行走的道路,障碍物(包括边界障碍物),机器人)

我觉得用绘制任务代替搜寻任务比较合适一些,因为在绘制的过程中,一定可以遇到机器人。
我思考在绘制任务重遇到的问题
1,因为不知道自身的位置,以及迷宫的大小?以什么为参照物开始绘制?以自身位置(0,0)开始,已每一个点开始绘制任务?
2,假如上方(1, 0)遇到障碍物.我之后的行动策略是什么?
3,我的行动策略怎么设计可以确保我完整的绘制这个地图?
4,我想问的是,机器摄像头的视野是怎么样的,好奇唉,和人的视野比较是一样的?
5,无法判断两侧,需要整个转身。意思是机器的视野只有前面的位置?视野不应该是扇形吗?{:10_254:}

我没有学过机器人这么高大上的东西,以自己的编程经验紧提供一些参考





zhen_1996 发表于 2022-1-19 21:28:25

Stubborn 发表于 2022-1-19 14:44
换位思考一下,你的任务是去一个地方,绘制一个地图,这个地图内容包括(可以行走的道路,障碍物(包括边界 ...

视野类似这样
javascript:;

坐标的话,机器人本身自带坐标,是以开始地为原点按mm来记的,我最大的问题就是找不到一个行之有效的遍历方法,以及在遍历过程中,误差有些大,导致回溯回去的时候位置会偏
感谢。

zhen_1996 发表于 2022-1-19 21:29:04

翼是孤独 发表于 2022-1-18 22:24
说一下我的思路(仅供参考,不一定可行哈):
捉迷藏就是一个藏好一个找,假设开始AB在一个出发点 ...

感谢,确实在想如何dfs,这个回溯比起虚拟的难了好多,捂脸

翼是孤独 发表于 2022-1-19 21:45:11

zhen_1996 发表于 2022-1-19 21:29
感谢,确实在想如何dfs,这个回溯比起虚拟的难了好多,捂脸

我的思路就是定好地图规格,每次走定长的一段路当作移动一个单元格,墙体最好每一块都是正方体,这样容易计算。这个能解决的话应该可以减少误差
页: [1]
查看完整版本: 课程作业-机器人捉迷藏思路求助