「学生ロボコンすごかったですね。」他
不定期更新なのですが、今回は感覚がみじかいですね。副主将のペペロンチーノです。
先日5/26に行われた『NHK学生ロボコン』の観覧させて頂きました!
一試合一試合がとても白熱し、観ていたこちらも胸から何か熱いものがこみ上げてきました。また、思いがけないトラブルや見逃しが勝敗を左右すること、それらに対応できるようにすることの重要性を感じました。
我々も参加できるよう、技術を高めたいです。
ところで本日、部の公式サイト
を心機一転大幅にリニューアルしました。正直原型とどめていない気がしますが・・・。
まだまだ拙い出来なので随時修正予定です。
これからもロボット研究部をよろしくお願いします。
※3Dプリンター直りました
下記も合わせてご覧下さい
活動報告
こんにちは、副部長のペペロンチーノです。徐々にブログの私物化が進んでいます。
今年度活動予算の申請が通りましたので、これまでよりも活発に活動していきます!!
さて、前々回に記載しませんでしたが、本校で今年の11月の2日と3日に予定されている松陵祭(学園祭)にて、我々ロボット研究部も参加する方針です。
現在考えている内容は、
- マイコンカーコースの開放
- ロボット展示
です。詳しい情報に関しては続報をお待ち下さい。
ところで5月26日には学生ロボコンが開催されるみたいですね。どんなマシンがどんな活躍をするのか、とても気になります。我々もいずれは参加したいですね。負けずに技術を磨かねば!!
下記も合わせてご覧下さい
令和最初のご挨拶と今年度の予定
駆動配分について
今回は駆動配分について書いていきます。
速度制御は前回書いたとおりです。
基本的には前回書いたプログラムのiSpeedPwmにdiff関数を用いて駆動配分を制御しています。
diff関数についてはマイコンカーのマニュアルに載っていたと思うのでそちらを参照してください。
通常トレースの場合は駆動配分はdiff関数で自動的に制御しています。
通常トレースの場合はこれでいいのですがどうしても駆動配分を固定したい場合などが有ります。
そういう場合には以下のプログラムを使っています。
void running_distribution( int speed, int fl, int fr, int rl, int rr){
int fl_ret;
int fr_ret;
int rl_ret;
int rr_ret;
int Calculate_speed;
Xspeed = speed;
Calculate_speed = speed - iEncoder3;
fl_ret = fl * iSpeedPwm / 100;
fr_ret = fr * iSpeedPwm / 100;
rl_ret = rl * iSpeedPwm / 100;
rr_ret = rr * iSpeedPwm / 100;
if(fl_ret >= 100) fl_ret = 100;
if(fl_ret <= -100) fl_ret = -100;
if(fr_ret >= 100) fr_ret = 100;
if(fr_ret <= -100) fr_ret = -100;
if(rl_ret >= 100) rl_ret = 100;
if(rl_ret <= -100) rl_ret = -100;
if(rr_ret >= 100) rr_ret = 100;
if(rr_ret <= -100) rr_ret = -100;
if(Calculate_speed >= 0){
motor_f( fl_ret, fr_ret );
motor_r( rl_ret, rr_ret );
}
else{
motor_f( fr_ret, fl_ret );
motor_r( rr_ret, rl_ret );
}
}
speed:目標速度
fl:左前駆動配分(上限100%)
fr:右前駆動配分(上限100%)
rl:左後駆動配分(上限100%)
rr:右後駆動配分(上限100%)
という感じで指定しています。
中身としてはiSpeedPwmに指定の値/100を掛けて配分を決めて減速時は左右逆にするというものになってます。
もしかしたら左右逆にするのはあまりよろしくないかも。