目次
課題についてはリンクを参照2019a/Mission3
上記の通り、アームの方には2つのモーターを使用しそれぞれアームの上下運動と開閉運動に使った。開閉運動をするアームの方はギアをたくさんつけて、1つのモーターで左右の開閉ができるようにした。上下運動の方はひし形の形をした部分の角の点を回転させることでそれを可能にした。モーターをロボットに直接つけて上下させようとすると先端についているモーターやアームが重すぎて上下する用のモーターに負荷がかかる。だから僕たちは、アームのモーターに小さいギア、ひし形の角の側に大きなギアを付けることでモーターにかかる負担を少なくして、安定した動作の実現と部品破損のリスクの軽減に成功した。
#define black 30 //完全に黒のときの値 #define white 50 //完全に白のときの値 #define speedH 60 //速いスピード #define speedL 30 //遅いスピード #define speedM 20 //逆回転ときのスピード #define mae OnFwd(OUT_BC,speedH); //前進の動作 #define ushiro OnRev(OUT_BC,speedH); //後退の動作 #define turnRRR OnFwd(OUT_C,speedH);OnRev(OUT_B,speedM); //一番キツい右曲がり #define turnLLL OnFwd(OUT_C,speedH);OnRev(OUT_C,speedM); //一番キツい左曲がり #define turnRR OnFwd(OUT_C,speedH);Off(OUT_B); //右曲がり #define turnLL OnFwd(OUT_B,speedH);Off(OUT_C); //左曲がり #define turnR OnFwd(OUT_C,speedH);OnFwd(OUT_B,speedL); //緩めの右曲がり #define turnL OnFwd(OUT_B,speedH);OnFwd(OUT_C,speedL); //緩めの左曲がり #define step 1 //ライントレースの動作時間 #define jikan 100 //完全に黒で居続けられる時間の最大値(しきい値) #define teishi Off(OUT_BC);Wait(300); //一時停止 #define CONN 1 //スレイブの番号 #define SIGNAL1 11 //スレイブとやり取りする信号の番号 #define SIGNAL2 12 //同上 #define SIGNAL3 13 //同上 #define SIGNAL4 14 //同上 #define curveL OnFwd(OUT_B,20);OnRev(OUT_C,10); //左に回転してカーブする動作