2005/A5

2005/11/28 動画アップしました!!
           画質悪くてすいません…

机の周りを一周するロボット

ロボット本体

製作者   :SAS そーむ 巻き舌宇宙
ロボット名 :ブロッケン翁 ver.D
製作日   :2005年 11/11〜17
NEC_0022.JPG NEC_0023.JPG
 

プログラム1(巻き舌宇宙)

製作者 :巻き舌宇宙
製作日 :2005年 11/14〜17


task main()

{
 SetSensor(SENSOR_1, SENSOR_TOUCH);                               //『センサー1(左)・3(右)を
 SetSensor(SENSOR_3, SENSOR_TOUCH);                               // タッチセンサーと定義』
  while(true)
    {
      OnFwd(OUT_A+OUT_C);                                         //『右側のセンサーが
      while((SENSOR_3 >= 1) && (SENSOR_1 == 0));          // 触れている間
     Off(OUT_A+OUT_C);                         // 前に進む』
      OnFwd(OUT_A);while((SENSOR_3 == 0) && (SENSOR_1 == 0));     //『右側のセンサーも
      Off(OUT_A+OUT_C);                                           // 触れていなければ
      if((SENSOR_3 >= 0) && (SENSOR_1 >= 1))                      // 右に旋回する』
      {
        OnRev(OUT_A+OUT_C);Wait(15);Off(OUT_A+OUT_C);             //『左右のセンサーが
        OnFwd(OUT_C);OnRev(OUT_A);Wait(90);                       // 触れたときは
	 OnFwd(OUT_A+OUT_C);Wait(50);                             // 後退し、左旋回する』
        Off(OUT_A+OUT_C);                                         //
        }
      }
 }

プログラム2(SAS)

製作者 :SAS
製作日 :2005年 11/14〜17
 
task main()
{
   SetSensor(SENSOR_1,SENSOR_TOUCH);SetSensor(SENSOR_3,SENSOR_TOUCH);              //センサー1(左),3(右)をタッチセンサーと宣言
   while(true)                                           //条件式が真の間繰り返す
   {
   if((SENSOR_1 < 1)&&(SENSOR_3 == 1))                                 //右のセンサーのみが壁に触れているとき
    {
       OnFwd(OUT_A+OUT_C);                                             //前進
       until(((SENSOR_1 == 1)&&(SENSOR_3 == 1))||((SENSOR_1 < 1)&&(SENSOR_3 < 1)));          //左右のセンサーともに壁に触れているか離れるまで実行

    }
   if((SENSOR_1 < 1)&&(SENSOR_3 < 1))                                  //左右のセンサーがともに壁から離れているとき
    {
       OnFwd(OUT_A);Off(OUT_C);                                        //右に曲がる
       until((SENSOR_1 < 1)&&(SENSOR_3 == 1));                         //右のセンサーのみが壁に触れるまで実行
    }

   if((SENSOR_1 == 1)&&(SENSOR_3 == 1))                                //左右のセンサーがともに壁に触れたとき(壁に垂直にぶつかったとき)
    {
       OnRev(OUT_A+OUT_C);                                             //少し後退
       Wait(10);
       OnFwd(OUT_C);OnRev(OUT_A);
       Wait(90);                                                       //90度弱左に旋回
       OnFwd(OUT_A+OUT_C);
       until((SENSOR_1 < 1)&&(SENSOR_3 == 1));                         //右のセンサーのみが壁に触れるまで前進
    }
   }
}

プログラム3(そーむ)

苦労した。工夫した。反省した。のコーナー

苦労したところ

きゅうぞうからブロッケンへの変身。左右のバンパー同時に触れたら左旋回としたがその際に、
どうしてもうまくいかず何度もプログラムを変更した。

工夫したところ

センサーを使い、常に壁に触れさせるように設定したこと。
前面に反応するときはセンサーを2つ使うことで克服した。

反省すべきところ

配線のことを気にせず作ってしまった。案の定乗り越えられず、ノートのバリアフリーを使うハメに。

コメント

コメントをどうぞ


   


添付ファイル: fileブロッケン翁 ver.D.wmv 245件 [詳細] fileNEC_0023.JPG 175件 [詳細] fileNEC_0022.JPG 183件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-12-16 (金) 16:09:51