目次

はじめに

今回の課題の内容は、今までの課題で用いたライントレースなどを用い、
課題2で使用したフィールド上で紙コップを移動させるというものである。
今回はロボット1機を用いる。

ロボット本体の説明

059f2dc3-ba55-48d5-8b96-9e404b5edc0a.jpg

基本的な形は、課題2のままである。

c9bfa4db-ae72-4ce1-80b8-beae7e31d275.jpg

前方にクワガタのような形にアームをつけ、右肩に光センサーを装備した。
超音波センサーで紙コップを感知し、アームでつかみ移動させる。

プログラミングの説明

#define BLACK 35
#define strait(p,t) OnFwd(OUT_AB,p);Wait(t);Off(OUT_AB);
#define roal RotateMotor(OUT_A,-60,360);RotateMotor(OUT_B,40,300);Off(OUT_AB); 
#define turn_migi OnFwd(OUT_B,40);OnRev(OUT_A,20);
#define turn_hidari OnFwd(OUT_A,40);OnRev(OUT_B,20);
#define blecfast Off(OUT_AB);PlaySound(SOUND_UP);Wait(1000);

sub trace() 
{
SetSensorLight(S4);
  int nOnline=0;
  int k=0;
     while(k==0)
{
        while (nOnline < 200)  
 {
           if(SENSOR_4 < BLACK)
  {
              turn_migi;
              nOnline++;
  }
           else if (SENSOR_4 < BLACK+15)
  {
              turn_hidari;
              nOnline=0;
  }
           Wait(1);
 }
            k++;
        nOnline=0;
}
}
sub shaja()
{
roal;
strait(40,500);
 trace();
  OnFwd(OUT_A,40);
  OnFwd(OUT_B,20);
  Wait(350);
 trace();
}
task main()
{
shaja(); 
}
#define BLACK  34
#define WHITE 70
#define LEFT OnFwd(OUT_B,60);OnRev(OUT_C,36);
#define RIGHT OnFwd(OUT_C,60);OnRev(OUT_B,36);
#define nMAX 230
#define short_break Off(OUT_BC);Wait(1000);
#define STEP 1
#define GO OnFwd(OUT_BC,40);Wait(400);Off(OUT_BC);
#define GO2 OnFwd(OUT_BC,40);Wait(500);
#define LEFT2 OnFwd(OUT_B,60);OnRev(OUT_C,20);Wait(500); 

sub normal ()
{ 
 SetSensorLight(S2);
 int nOnline=0;
 int k=0;
 while(k==0){
  while(nOnline < nMAX){
  if (SENSOR_2<BLACK) {
    RIGHT;
    nOnline++;
   } else 
  if (SENSOR_2<WHITE) {
    LEFT;
    nOnline=0;
  }
  Wait(STEP);
 }
 short_break;
 k++;
 nOnline=0;
  }
 }
sub normal2()
{ 
 SetSensorLight(S2);
 int nOnline=0;
 int k=0;
 while(k==0){
  while(nOnline < nMAX){
  if (SENSOR_2<BLACK) {
    LEFT;
  nOnline++;
   } else 
  if (SENSOR_2<WHITE) {
    RIGHT;
    nOnline=0;
  }
  Wait(STEP);
 }
 short_break;
 k++;
 nOnline=0;
  }
 }
task main()
{
 normal2();
 LEFT2;
  normal();
 LEFT2;
 normal();
 GO2;
}

感想

最後の課題ということもあり、とても歯ごたえのあるものだった。
プログラミングは同じでも、ロボットの調子によって違う動きをしたりすることがあり、
ロボットの正確性に疑問を覚えた。
しかし、ほかの班のロボットを見ると、それぞれユニークな形をしており、
ロボットの可能性や、面白さを感じた。


添付ファイル: filec9bfa4db-ae72-4ce1-80b8-beae7e31d275.jpg 102件 [詳細] file059f2dc3-ba55-48d5-8b96-9e404b5edc0a.jpg 78件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-08-27 (土) 01:05:44 (1086d)