2018年12月15日   星期六   农历戊戌年(狗)   十一月初九
当前位置: 网站首页 - 相关链接 - 机器人赛 >> 正文
机器人擂台赛练习题
更新日期:2015-4-12    作者:张从军    编辑:admin    点击量:2182

机器人擂台赛练习题

通用技术网www.tyjs.org站长

2015-04-12

 

现将部分机器人擂台赛的练习题集中发在这里,以期更多地了解机器人的编程与熟悉机器人的操作。

说明,以下试题与答案是相对的,因为各个机器人的性能不同,如因为电机的转速不同,导致走同样的路线时,同一个程序可能有的机器人走得好,有的机器人走不好,这就需要根据自己的机器人的个性来调节一下程序里的速度。

以下程序都是经过机器人测试后能正确地走到终点的,如果不适合你的机器人,那就需要自己调节了,但基本的程序是一样的,如向左转,向右转,走斑马线、虚线、直线等。

本程序是由湖南长沙亮宁机器人来完成,程序由本网站长所带学生完成。

 

第一题:按图完成程序。

机器人擂台赛练习题第一题

以上图形的代码为:

#include <LNDZ.h>     //调用头部文件<LNDZ.h>,程序开始

int i,ll,l,m,r,rr,n;    //自定义没有赋值的整形数变量i,ll,m,r,rr,n  所有变量初始值为默认0

ground hd(23);      //自定义灰度传感器的设备名称  hd  (数字口23)

void init()     //系统框架函数 单次运行

{  }

void xj()     //自定义函数 xj

{

   ll=hd.getV(1);     //用变量ll接受ss1的值

   l=hd.getV(2);     //用变量l接受ss2的值

   r=hd.getV(3);     //用变量r接受ss3的值

   rr=hd.getV(4);     //用变量rr接受ss4的值

   m=hd.getV(5);     //用变量m接受ss5的值

   n=ll+l+m+r+rr;    //ll,l,r,rr,m所取值的和赋予n

   if (ll==0)    //如果变量ll的值等于0,说明看见了黑线,执行大括号内的代码。

   {

      motor(-39,60)      //马达左轮向后最大速度的39%,马达右轮向前最大速度的60%

   }

   if (l==0)

   {

      motor(0,60);    //马达左轮的速度为0%,马达右轮向前最大速度的60%

   }

   if (m==0)

   {

      motor(39,60);    //马达左轮向前最大速度的39%,马达右轮向前最大速度的60%

   }

   if (r==0)

   {

      motor(39,0);     //马达左轮向前最大速度的39%,马达右轮的速度为0%

   }

   if (rr==0)

   {

      motor(39,-60);      //马达左轮向前最大速度的39%,马达右向后最大速度的60%

   }

}

void repeat()     //系统框架函数 循环

{

   xj();        //调用自定义函数 xj

   if (n<3)     //如果n<3

   {

      i++;     //变量i自身加1,初始值为默认的0

      if (i==1||i==2)    //如果i等于1i等于2

      {

         motor(-49,60);  //马达左轮向后最大速度的49%,马达右轮向前最大速度的60%

         beep(200);      //蜂鸣器开启200豪秒(对以上动作进行延时)

      }

      if (i==3)       //如果i等于3

      {

         motor(0,0);     //马达右轮的速度为0%,马达左轮的速度为0%

         while(1);    //终止程序

      }

   }

}

  上一篇: 亚太青少年机器人竞赛理事会文件
  下一篇: 第八届湖南省青少年机器人竞赛规则
  [文章评论]       [发表评论]            评论需经管理员审核才能发表
  该文章暂时没有评论!
 
设为首页——
湖南省平江县第一中学张从军版权所有 ICP备案号:湘ICP备11007867号