找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 18893|回复: 16

NXT-g编写的走直线、PID走黑线子程序分享

[复制链接]
发表于 2012-7-20 00:16:46 | 显示全部楼层 |阅读模式
今年比赛完了,把比赛用的几个小程序发上来和大家分享一下吧。在FLL中还是很好用的。


首先是走弧线的子程序(rad.rbt,点NXT中-G的 Edit菜单>>manage custom palette,粘贴到弹出的文件夹中),这个程序比较简单,不过好像没见别人发过,原理就是根据角度传感器的读数,调整电机的功率,保证电机的转过的角度成一个设定好的比例,这样的话走出来的就是一条弧线,如果这个比例是1而轮子也一样大的话,就可以走直线。
使用的时候先清零角度传感器,然后用一个循环把子程序套在里面,循环结束的条件可以是角度、光感、时间等。具体的程序不作说明,希望需要的朋友自己去研究。
还有一个调试弧线的程序(try rad.rar),解压后直接打开,更改马达的功率、方向、角度,直到机器人能走到指定位置,这时NXT屏幕上会显示马达角度的比例。


下面是PID走黑线的程序(PID.rbt),用法和rad差不多,本来添加了端口、方向等选项,但是后来发现比赛中只用到了1号光感向前走,所以简化了程序,回去后我会修改一下程序并且更新。
PID的原理请看糖老大的帖子,写得很详细了,我就不在这乱说了。http://bbs.cmnxt.com/forum.php?mod=viewthread&tid=5688

我第一次发程序的帖子,难免有错误甚至不合规定的地方,请大家多多见谅,欢迎大家批评指正!

rad.rbt

1.7 MB, 下载次数: 2451

走弧线

try rad.rar

123.2 KB, 下载次数: 968

PID.rbt

2.01 MB, 下载次数: 2884

如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2012-7-20 08:02:48 | 显示全部楼层
学习中
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-7-20 15:34:46 | 显示全部楼层
shou收下了 谢谢了
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-9-11 08:29:07 | 显示全部楼层
学习一下
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-9-12 21:47:49 | 显示全部楼层
我的是nxt那些天2.1,怎么编程让机器人跟着黑线走
两个光感器,要求让机器人放在线上,线外找到线后沿着线走
QQ313909516求高手指导
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2012-9-13 23:42:11 | 显示全部楼层
ELFJD 发表于 2012-9-12 21:47
我的是nxt那些天2.1,怎么编程让机器人跟着黑线走
两个光感器,要求让机器人放在线上,线外找到线后沿着线 ...

慢慢调 让车走到线的一边,然后我的经验是慢慢转车 光感等到白线后再等到黑线(FLL的黑线两边一般是白的,等马达有了明显动作的时候车子刚刚压过黑线) 这时候用那个PID接上 难点在让车子找到线 角度不能偏得太大。如果黑线比较长的话可以分两段 前一段把比例系数ki kp改大一些 容易上线,后一段改小一些(特别是kp)走得比较稳
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-1-13 23:53:54 | 显示全部楼层
谢LZ,学习了。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-1-25 09:10:38 | 显示全部楼层
LZ,我是一个初学者,在走直线的时候总是多多少少会有些误差,您写的nxt走弧线的程序我刚才看到了,根据您帖子上说的,比例设为1就可以走直线,我下载了这个程序,可看了半天还是看不懂,把这个程序直接下载到nxt上,nxt没有反应,怎么办啊?
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-1-26 01:05:25 | 显示全部楼层
本帖最后由 dxlwf 于 2013-1-26 02:36 编辑

楼主,你好,请问你这个程序是用NXT-G编写的吗?有一个模块没见过.给一个变量赋初值的模块.另外,能否介绍一下各模块的功能说明,谢谢.
呵,自问自答,找到答案了.
http://bbs.cmnxt.com/thread-6754-1-4.html
可以的 你把要的值连到变量上 选择不包括变量的部分 然后创建模块 这样模块点出来就会有输入口了 在下面输也行 连线也行 但是过输好像只能显示几个(把分辨率调高可以多点)
或者在模块里调用变量 然后编程序的时候在自定义模块前把值写到变量里
我只会这两种
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-3-18 23:52:59 | 显示全部楼层
刚刚开始接触NXT ,下来学习学习,  感谢楼主分享~
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-3-20 13:21:20 | 显示全部楼层
谢谢!学习
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-4-22 16:17:48 | 显示全部楼层
大家有什么好看法,赶快说说
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-5-24 15:48:43 | 显示全部楼层
学习了
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-7-18 14:54:05 | 显示全部楼层
下来学习了
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-7-18 22:20:29 | 显示全部楼层
真的很谢谢楼主
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 03:19 , Processed in 0.101537 second(s), 26 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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