找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 17060|回复: 12

请论坛大神看看这个乐高EV3让小车沿墙走的程序,问题出在哪

[复制链接]
发表于 2017-5-13 15:23:49 | 显示全部楼层 |阅读模式
本帖最后由 高压锅 于 2017-5-13 15:34 编辑

刚入手ev3的小白,我的思路是让小车沿着左侧墙壁行走,判断距离是否小于或大于10cm,如果小于10cm右拐,如果大于10cm左拐,如果大于50cm表示碰到墙角拐弯,需要小车前进一圈然后左转90度,如果碰到墙壁,后退一圈右转90度。现在的问题是小车开始如果斜着摆放如果小于10cm,小车会一直右拐,从而执行判断距离是否大于50,导致行走失败。请大神帮帮小白!拜托,谢谢
1.jpg

2.jpg


如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2017-5-14 18:47:54 | 显示全部楼层
调一下超声波角度试一下。 IMG_20170514_183333.jpg
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复 1 0

使用道具 举报

 楼主| 发表于 2017-5-13 15:27:59 | 显示全部楼层
附:搭建和程序图片
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2017-5-13 17:51:33 | 显示全部楼层
程序逻辑似乎没有问题,超声波传感器的读值检查过吗?另外,触碰传感器那个切换模块下面分支里的移动槽去掉试试看
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2017-5-13 19:00:16 | 显示全部楼层
本帖最后由 木头乐高 于 2017-5-13 19:03 编辑

个人认为问题在于你的超声波传感器的位置问题。它装在机器人中间的时候,传感器和机器人偏转一样度数,但是超声波的位置到墙的直线距离却增加了很多,很容易导致超声波测量的距离大于50.可以试一下将传感器的位置安装在车子最前面。当然,起始位置的角度不易过大,毕竟没有算法或者多个传感器作为参考。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2017-5-13 21:43:43 | 显示全部楼层
本帖最后由 冀·闲庭信步 于 2017-5-14 09:59 编辑

程序思路混乱。

注意几个条件的判断没有先后之分,是同时在判断的!!!

我是这样考虑的:

触碰被按下了吗?

超声波距离大于50吗?

二者满足其一则右(左)转(借助陀螺仪实现转向90度),否则循墙前进。

程序【未经验证,仅供参考】如下:

QQ图片20170513213714.png

不当之处敬请指正。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2017-5-13 21:53:32 | 显示全部楼层
建议使用三个超声波。

前、左、右。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2017-5-14 12:25:17 | 显示全部楼层
初学的话切换嵌套判断一下就行了吧 不用上变量应该
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2017-5-14 16:25:47 | 显示全部楼层
153350ymvousjpuyusuzgz (1).jpg 车子设计的时候想法非常有创意,但这个程序存在一个很常见的逻辑问题,首先你要思考如果超声波的数值是100那你的程序执行方块1里的程序呢还是执行方块2里的程序呢?所以一定要注意多个切换的时候绝对不能出现这种情况。
搜狗截图20170514161950.png
方块1中的模块会在超声波大于30的时候执行
方块2中的模块会在超声波大于10并且小于30的时候执行
方块3中的模块会在超声波小于10的时候执行

像这样就能很好的把传感器的数值分类讨论了,当然啦,这个并不是你的小车的程序,具体的程序需要你自己设计啦,如果有问题也可以问我,祝你成功!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2017-5-14 16:39:16 | 显示全部楼层
qiaoshuai 发表于 2017-5-14 16:25
车子设计的时候想法非常有创意,但这个程序存在一个很常见的逻辑问题,首先你要思考如果超声波的数值是100 ...

其实总的来讲就是你的车只有左转和右转,没有直行的程序。所以你的车如果斜着放置,那肯定车子会晃来晃去的,并且不光超声波的切换模块冲突了,超声波和触碰的切换模块也冲突了哦!如果触碰传感器触碰了,超声波的数值是30那么你的车执行什么呢?是超声波的那个切换还是触碰的那个切换呢?所以要把切换放到切换里!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2017-5-15 14:52:40 | 显示全部楼层
谢谢各位大神给我无私的帮助,令我这个小白茅舍顿开,相信经过我的努力和大家的帮助,取得成功。一会就开始调试了,谢谢
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2017-5-15 20:48:43 | 显示全部楼层
传感器固定车前,距轮子轴线稍远点.新手直接切换加循环
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2017-9-3 16:54:14 | 显示全部楼层
本帖最后由 athunder 于 2017-9-3 17:06 编辑


qiaoshuai老师说的没问题,但是也涉及了最短距离问题。有个最短距离和最长距离,无穷大的不考虑。小车贴墙走,有一个非常重要的问题,即求最短距离。必须让小车在离墙一定距离的情况下原地旋转,查看当前功率下的最小距离是多少,这个距离就是你的小车分支结构的判断距离,同时分支结构功率要与测试的时候功率一样。
另,小车拐的角度问题可以考虑移动转向。左拐右拐的角度要对称一致。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2025-2-9 01:02 , Processed in 0.151697 second(s), 26 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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