螳螂有6条腿C语言,体验乐高NXT机器人之机器螳螂(视频)

17381638576446.jpg

这个六足机器昆虫有六条腿和一个长长的脖子,而我能找到的最接近的昆虫是螳螂,这并不是说象它,而是由于它的行为象螳螂(这是一个害羞的机器人),所以把这个作品称为机器螳螂。

机器螳螂是个怕羞的昆虫,当它的超声波传感器看到有“动物”接近它时,它会低下头,收缩翅膀,向左或向右转过身去,然后再抬头看看新的方向上有没有“动物”,如果有,又低头转个方向,如果没有,则抬起头,煽动着翅膀骄傲地往前走,直到又碰到“动物”。

看看视频是不是这样的“机器螳螂”:

看看螳螂腹部的六腿位置定位装置:

17383711205167.jpg

为了行走,首先必须正确定位螳螂的六条腿在开始前行时的位置。如果没有这样做,螳螂只是不停地将它的腿往前走,而身子却停留在同一个地方。为了克服这个问题,我添加了一个触摸传感器,使螳螂的腿同步。两个用来行走的电机共享相同的触摸传感器。

看看螳螂六条腿的结构(经典):

17382533395635.jpg

再看看实现机器螳螂动作的程序吧,程序注释很详细,点击图片,放大它,看得清楚。

17384580755038.jpg

上图的程序样式,我还很少见,两个程序段并行独立运行,只是通过了一个变量名为“障碍物”的布尔变量来相互交流信息,这种在一个程序界面里执行两三个并行独立程序的编程样式在C语言中能实现吗?我以前没做过。是不是NXT-G软件所独有的“利器”,以后我用labview for NXT试试。

在上面主程序中应用了“步伐同步”子程序,用来定位螳螂六条腿开始前行时,使其处于正确的位置。如果螳螂步伐乱了,你可以再执行一下这个子程序,重新协调好它的步伐。

“步伐同步”子程序。

17385196951355.jpg

点击该网址可以下载作品的搭建手册,这篇文章我写的是学习这个作品的体会,程序请下载(与源网址里的程序不同,一些不重要的程序段,我删去了,并加上了详细的中文注释)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值