本当はタッチセンサー・光センサーを搭載していたのですが、本番直前まで、うまく機能
しなかったため、センサーを外し、秒数のみで勝負することにしました。
本当に急だったため、センサー搭載型のプログラムは残存せず、悔やみきれません。 
秒単位で細かく動作させるため、subパーツで細かく時間調整しやすくしています。
本来REPEATの後は、箱を光で感知したら、下半身に停止を通信し、クレーンを下げ、
箱を捕らえたとことをタッチセンサーで認識したら、通信で下半身が箱置場に動くように
組んでいました。

/*udeDX*/ //本番用上半身パーツ

#define RUN_TIME 500//トレースする時間(単位 1/10 秒)

sub tukami1()  //箱を掴む前に手首の状態を整えるsubプログラム
 {
  Off(OUT_A+OUT_C);
  SetPower(OUT_A,6);
  SetPower(OUT_C,3);
  OnRev(OUT_C);
 }
sub tukami2() //箱を掴むsubプログラム
 {
 Off(OUT_A+OUT_C);
 SetPower(OUT_A,6);
 SetPower(OUT_C,4);
 OnRev(OUT_C);
 }
sub motiage()  //最初に腕の持ち上げを行うsubプログラム
{
 Off(OUT_A+OUT_C);
 SetPower(OUT_A,4);
 SetPower(OUT_C,3);
 OnFwd(OUT_A);
}
sub motiage4()  //箱を掴んでから重力で下がらないために、引き上げておくsubプログラ
ム、ロボコン中はアームが折れるので封印
{
 Off(OUT_A+OUT_C);
 SetPower(OUT_A,0);
 SetPower(OUT_C,0);
 OnFwd(OUT_A);OnRev(OUT_C);
 }
sub motiage3()   //箱を掴んでから引き上げる時のsubプログラム       
 {
 Off(OUT_A+OUT_C);
 SetPower(OUT_A,6);
 SetPower(OUT_C,2);
 OnFwd(OUT_A);OnRev(OUT_C);
 }
sub hazusi()    //箱を置く・手のスタート時の状態を維持するsubプログラム
 {
 Off(OUT_A+OUT_C);
 SetPower(OUT_A,6);
 SetPower(OUT_C,7);
 
 OnFwd(OUT_C);
 }
 sub motisage() //腕を下げるプログラム
{
 Off(OUT_A+OUT_C);
 SetPower(OUT_A,6);
 SetPower(OUT_C,6);
 OnRev(OUT_A);
}
 
 task main() //基本プログラム
{
 SetSensor(SENSOR_1,SENSOR_TOUCH);
 SetSensor(SENSOR_2,SENSOR_LIGHT);//箱掴み確認用

 hazusi();Wait(608); //スタート時に手が下がらないように押えておきます

 motiage();//腕を持ち上げるように受信
 Wait(310); 
 Off(OUT_A+OUT_C); //腕手、上方で停止  
 Wait(190);  //スタンバイ完了、
 
 repeat(10) //着地後の行動指令です
 {  
    motisage();Wait(100);             //腕を下げる
    tukami2();Wait(100);               //手をげる
    motiage3();Wait(180);             //腕を持ち上げる
         
    Off(OUT_A+OUT_C);Wait(700); //箱置場まで待機
    hazusi();Wait(208);                   //箱を置く
    
    Off(OUT_A+OUT_C);Wait(558);
    
    motisage();Wait(200);               //腕を下げて着地直後の状態に戻す
    Off(OUT_A+OUT_C);Wait(50);
    
    hazusi();Wait(200);                    //地面に引っかからないように手を固定
    motiage();Wait(330);                 //腕を持ち上げるように受信
    Off(OUT_A+OUT_C);Wait(190);  //腕手、上方で停止  
     //再スタンバイ完了
 } 
}

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