2015a/Member/TMHR/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2015a/Member]]
*目次 [#k8cd6539]
#contents
*課題 [#z110d2b5]
今回の課題は半径1m以内にある空き缶を探して、25cmの距離か...
ただし25cm以内に空き缶がある場合には、30cmまで離れること...
*ロボットについて [#gf73fa8d]
&ref(./1437370259375.jpg,100%);
&ref(./1437370269191.jpg,100%);
ロボットは課題2で使ったものを応用させました。
ショベルの部分に超音波センサーを取り付けたら、かなり重く...
アーム周辺のパーツを取り除き軽量化させました。
また前回の問題点でもあった重量や大きさについても本体に使...
一回り小さくさせました。
*プログラムについて [#bb4d0e05]
#define SPEED 50
#define SPEED_SLOW 30
#define down OnFwd(OUT_A,50);Wait(500);Off(OUT_A);Wait(3...
#define up OnRev(OUT_A,60);Wait(500);Off(OUT_A);Wait(300);
#define goal OnRev(OUT_BC,50);Wait(500);Off(OUT_BC);Wait...
up;OnFwd(OUT_BC,100);Wait(300);Off(OUT_BC);
const float diameter=5.45;
const float track=10.35;
const float pi=3.1415;
void fwdDist(float d) //距離d?前進
{
long angle;
angle=d/(diameter*pi)*360.0;
RotateMotorEx(OUT_BC,SPEED_SLOW,angle,0,true,true);
}
void turnAng(long ang) //角度ang度の時計回り旋回
{
long angle;
angle=track/diameter*ang;
RotateMotorEx(OUT_BC,SPEED_SLOW,angle,100,true,true);
}
int searchDirection(long ang) //現在の方向を中心にang...
{
long angle,tacho_min=0,
int d_min;
d_min=300; //仮の最小値
angle=(track/diameter)*ang; //旋回角度からタイヤの...
turnAng(ang/2); //指定された角度の半分...
ResetTachoCount(OUT_BC); //角度計測をリセット
OnFwdSync(OUT_BC,SPEED_SLOW,-100); //反時計回り旋回
while(MotorTachoCount(OUT_B)<=angle){
if(SensorUS(S1)<d_min){ //それまでの最小値より低け...
d_min=SensorUS(S1); //仮の最小値を更新
tacho_min=MotorTachoCount(OUT_B); //最小値を記...
}
}
OnFwdSyncEx(OUT_BC,SPEED_SLOW,100,RESET_NONE);
until(MotorTachoCount(OUT_B)<=tacho_min||SensorUS(S1)<=...
Wait(14); //微調整
Off(OUT_BC);Wait(500);
return d_min; //最小値を返す
}
task main()
{
repeat(2){
SetSensorLowspeed(S1);
int d=searchDirection(360);
if(d>10){
fwdDist(d-10.0);
goal;
}
}
}
プログラムはもらったプリントをベースに組み立てました。
一回の索敵では正確に目標を探せなかったので二回行うことで...
さらにロボットの動きが大振りにならないよう、スピードを抑...
ゴールのプログラムは前回の課題でも用いたものですが、ショ...
アームを下ろす時に勢いが強かったのでパワーを修正しました。
*反省点とまとめ [#de3d4645]
次のロボコンの準備をしなくてはいけなかったのでこの課題に...
ロボットを一から組み立てていくことが出来ませんでした。
しかしできる限りの改良を加えて、空き缶にボールをぶつける...
限られた時間の中でよくできたと思います。
今回はあまりチームで集まれず、協力しづらかったので次のロ...
チームで連携して挑みたいです。
終了行:
[[2015a/Member]]
*目次 [#k8cd6539]
#contents
*課題 [#z110d2b5]
今回の課題は半径1m以内にある空き缶を探して、25cmの距離か...
ただし25cm以内に空き缶がある場合には、30cmまで離れること...
*ロボットについて [#gf73fa8d]
&ref(./1437370259375.jpg,100%);
&ref(./1437370269191.jpg,100%);
ロボットは課題2で使ったものを応用させました。
ショベルの部分に超音波センサーを取り付けたら、かなり重く...
アーム周辺のパーツを取り除き軽量化させました。
また前回の問題点でもあった重量や大きさについても本体に使...
一回り小さくさせました。
*プログラムについて [#bb4d0e05]
#define SPEED 50
#define SPEED_SLOW 30
#define down OnFwd(OUT_A,50);Wait(500);Off(OUT_A);Wait(3...
#define up OnRev(OUT_A,60);Wait(500);Off(OUT_A);Wait(300);
#define goal OnRev(OUT_BC,50);Wait(500);Off(OUT_BC);Wait...
up;OnFwd(OUT_BC,100);Wait(300);Off(OUT_BC);
const float diameter=5.45;
const float track=10.35;
const float pi=3.1415;
void fwdDist(float d) //距離d?前進
{
long angle;
angle=d/(diameter*pi)*360.0;
RotateMotorEx(OUT_BC,SPEED_SLOW,angle,0,true,true);
}
void turnAng(long ang) //角度ang度の時計回り旋回
{
long angle;
angle=track/diameter*ang;
RotateMotorEx(OUT_BC,SPEED_SLOW,angle,100,true,true);
}
int searchDirection(long ang) //現在の方向を中心にang...
{
long angle,tacho_min=0,
int d_min;
d_min=300; //仮の最小値
angle=(track/diameter)*ang; //旋回角度からタイヤの...
turnAng(ang/2); //指定された角度の半分...
ResetTachoCount(OUT_BC); //角度計測をリセット
OnFwdSync(OUT_BC,SPEED_SLOW,-100); //反時計回り旋回
while(MotorTachoCount(OUT_B)<=angle){
if(SensorUS(S1)<d_min){ //それまでの最小値より低け...
d_min=SensorUS(S1); //仮の最小値を更新
tacho_min=MotorTachoCount(OUT_B); //最小値を記...
}
}
OnFwdSyncEx(OUT_BC,SPEED_SLOW,100,RESET_NONE);
until(MotorTachoCount(OUT_B)<=tacho_min||SensorUS(S1)<=...
Wait(14); //微調整
Off(OUT_BC);Wait(500);
return d_min; //最小値を返す
}
task main()
{
repeat(2){
SetSensorLowspeed(S1);
int d=searchDirection(360);
if(d>10){
fwdDist(d-10.0);
goal;
}
}
}
プログラムはもらったプリントをベースに組み立てました。
一回の索敵では正確に目標を探せなかったので二回行うことで...
さらにロボットの動きが大振りにならないよう、スピードを抑...
ゴールのプログラムは前回の課題でも用いたものですが、ショ...
アームを下ろす時に勢いが強かったのでパワーを修正しました。
*反省点とまとめ [#de3d4645]
次のロボコンの準備をしなくてはいけなかったのでこの課題に...
ロボットを一から組み立てていくことが出来ませんでした。
しかしできる限りの改良を加えて、空き缶にボールをぶつける...
限られた時間の中でよくできたと思います。
今回はあまりチームで集まれず、協力しづらかったので次のロ...
チームで連携して挑みたいです。
ページ名: