鱼C论坛

 找回密码
 立即注册
查看: 879|回复: 5

[已解决]课程作业-机器人捉迷藏思路求助

[复制链接]
发表于 2022-1-18 21:14:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

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

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

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

自己用餐巾纸盒搭的迷宫

自己用餐巾纸盒搭的迷宫
最佳答案
2022-1-18 22:24:54
说一下我的思路(仅供参考,不一定可行哈):
捉迷藏就是一个藏好一个找,假设开始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算法寻找
暂时就想到这些
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-18 22:24:54 | 显示全部楼层    本楼为最佳答案   
说一下我的思路(仅供参考,不一定可行哈):
捉迷藏就是一个藏好一个找,假设开始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算法寻找
暂时就想到这些
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-19 14:44:46 | 显示全部楼层
本帖最后由 Stubborn 于 2022-1-19 15:17 编辑

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

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

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





想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

视野类似这样
javascript:;

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

视野

视野
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

感谢,确实在想如何dfs,这个回溯比起虚拟的难了好多,捂脸
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

我的思路就是定好地图规格,每次走定长的一段路当作移动一个单元格,墙体最好每一块都是正方体,这样容易计算。这个能解决的话应该可以减少误差
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 02:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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