隠居エンジニアのものづくり

自転車 電子工作 ラジコン ロボカップジュニア CAD レーザー加工機

ダイソー ペン型精密ドライバー

久しぶりの のんびり休日

お手本ロボットの設計・製作や技術指導の為の資料作成などは休日に行うので、朝から晩まで週末のカントチャートは埋まっています。
この3連休は何もしないと決めてましたので、先ずは買い物に出かけました。

ダイソー

ロボットの設計で頭が一杯の時は、100円均一ショップにある商品は" ロボットの部品に流用できないか? " の切り口で見ているらしく、本来の機能としての評価に結びついてなかったようです。
安価な工具には良い思い出がないので、100円均一ショップで工具を見ることがないのも相まってダイソー工具コーナーはノーマークでした。

長年使っているビット交換式のドライバーは、不足の無いビットラインナップで重宝するのですが、かさばるので持って行くか否か毎回迷っていました。

そこに、ビット収納型のペン型ドライバーが目に飛び込んできました。

添付の8本のビットは好みではなかったのですが、お隣にビットが30本付属するドライバーセットがあったので、ここからベスト8を選抜して自分仕様のコンパクトなビット交換ドライバーに仕上げることにしました。

用途別に青色と赤色、2色購入しました(黒色もありました)。


目的もなくウインドショッピングも良いものですね。

 

関西ブロック夏のオープン大会2024用サッカーロボットの設計(交流会の質問編)

はじめに

交流会で頂いたOYA-G2024モデルへの質問の中から図があった方が理解が進んだのでは?と思ったものについて画像または、過去記事のリンクを張ります。

 

・凹面鏡型パルスボールセンサ4個

パルスボールセンサを円形に並べても正確なボールの方位を得られない理由 - 隠居エンジニアのものづくり (hatenablog.com)

 

・縦軸モーターパワーの放電特性

モーターパワーの放電特性 Li-Po Li-Fe

・Li-Fe長寿命

現役バリバリの ” 2014年7月購入Li-Fe ”

タミヤ LF1100-6.6Vについては15分でチャージ可能(4C充電)なので、2本あれば連戦もOK、試合数分のLi-Poバッテリーを前日に充電する必要はありません。

※Li-Fe購入の際は、取扱説明書の充電条件を必ず確認して下さい! ”1C充電” の物も存在します

Li-Poのチームに取材すると、概ね2個以上の充電器と8本程度のバッテリーを購入しているようです、タミヤ LF1100-6.6Vはバッテリー単体の単価は同サイズのLi-Poの2倍ほど高いですが、運用に必要なトータルコストは半分以下です。

・バックミラー型カメラ

RCJ サッカーライトウエイト バックミラー型カメラ キックオフ守備位置

" Li-Po11.1V "  対  " Li-Fe6.6V "

毎年、関西ブロック夏のオープン大会用ロボットのソフトは練習無のぶっつけ本番でしたが、今回は初のハードが未完成。

天板に穴が開いたまま持ち込み、現場でソフト構築と、バタバタでした。

バグの特定に苦戦したので、想定していた戦術を諦め第4戦後半から、2軸駆動の優位性検証に的を絞って”相手ゴールに突進する”ソフトを構築し、幸いにも"Li-Po11.1V" 対 "Li-Fe6.6V"の押し合い動画の撮影に成功しました。

試合は Edge vs OYA-G 13 : 2と完敗でした。

キーパーの制御に興味があったのでメンバーのしおから様にDMさせて頂いて、丁寧に解説頂きました。

この際、試合動画をデータ便で共有させて頂きました。

" Li-Po 11.1V " vs " Li-Po 6.6V "

1週間遅れでハードウェア完成

 

関西ブロック夏のオープン大会2024用サッカーロボットの設計(キッカーその2)

パワーテスト方法

前回製作したメカニカルキッカーにパワー調整を加えて、サッカーフィールドを用いたバワーテスト方法に合格させてみた結果、キッカーパワーテスターと概ね相関しており、パワー制限の緩和ではなさそうです。

関西ブロック夏のオープン大会2024用サッカーロボットの設計(キッカーその1) - 隠居エンジニアのものづくり (hatenablog.com)

パワーテスト方法の変更は、キッカーの出力を床と平行より少し下方に傾けて設計すると、キッカーパワーテスターによる測定結果より、実際のフィールドでのキック力が大きくなる工夫に対する対策や測定装置を準備するコストの削減の意味合いがあるのだろうと想像します。

キッカー不要論

キッカー不要論の骨子は”ドリブラーを用いたシュートが、キッカーパワーテストのパワー制限を簡単に上回ることができるので、ドリブラー設計・製作が可能ならキッカーを搭載する意味は薄い” です。

これは、重量レギュレーションの厳しいサッカーライトウエイトでは、どちらかを載せるならドリブラーをしっかり設計・製作した方が、ボールのホールドとシュートのバリエーション・威力が得られるからでした。

これも、重量レギュレーションが1,100gから1,400gに変更になった事で、両方搭載が少し容易になったので、再考する必要があります。

 

キッカーの設計

カニカルキッカーをパワー調整してバワーテスト方法に合格さる過程で、繊維の種類・毛足の長さなどのカーペットの状態によってキッカーの許容パワーが大幅に左右される事も検証済みです。

大会のフィールドでのボールの到達距離が一定に規制される点では優秀ですが、自宅や学校のフィールドで予めパワー調整して置くのは事実上不可能です。

現場での調整方法を含めて設計する必要があります。

 

2024年モデルへのキッカー搭載

関西ブロック夏のオープン大会では、技術共有の為にプレゼンテーションをしたり、スタッフを兼ねるので、キッカーのパワー調整などの現場で機構調整を行う時間は取れません。

そこで、キッカーのパワーを極小にしてキッカーパワーテストを余裕で合格し、かつシュートパワーを向上する機構を考える事にしました。

ドリブラーによるシュートについて - 隠居エンジニアのものづくり (hatenablog.com)

ローター反転シュートはボールをトラップする回転方向から押し出す方向に反転することでシュートするのですが、反転過程でボールがロボットから離れてしまう事がパワーロスの原因です。

これをメカニカルキッカーによってローター反転過程に、ローターをボールから離す動作を組み込む事でローターが反転最高速度に達した後にボールにインパクトすれば、現状より力強いシュートになるはずです。

結構シビアな設計になり、設計開始から1週間経ってようやく詳細設計です。

カニカルキッカーの時の様に組立即性能がでないと(不具合修正設計・組立評価の時間は無さそう)2023年モデルでの出場になるかもしれません。

ドリブラーキッカー詳細設計過程

 

I2Cのノイズ対策(ソフトウエア編)

はじめに

以前、I2Cの要件を満たすハードウエアを構築することによってノイズ耐性を向上させる記事を書きました。

I2Cのノイズ対策 その1(準備編) - 隠居エンジニアのものづくり (hatenablog.com)

I2Cのノイズ対策 その2(一点接地編) - 隠居エンジニアのものづくり (hatenablog.com)

I2Cのノイズ対策 その3(信号線のGND) - 隠居エンジニアのものづくり (hatenablog.com)

I2Cのノイズ対策 その4(Rpの値 設計計算書の勧め) - 隠居エンジニアのものづくり (hatenablog.com)

I2Cのノイズ対策 その5(まとめ) - 隠居エンジニアのものづくり (hatenablog.com)

I2Cのノイズ対策 その6(オシロスコープを用いた静電容量推定) - 隠居エンジニアのものづくり (hatenablog.com)

自身のロボットは、I2Cのトラブルは全くなかったのですが、ジャパンオープン出場常連校とアメリカ大会連覇のチームの両方から” バスロック状態 ”と思われる時々症状の報告がありました。

どちらのチームも、I2C要件を満たすハードウエア構築について指導済ですが、それでも障害が発生するとの事なので、症状を観測することにしました。

I2Cにノイズ重畳しながらロジックアナライザーで観測してみると、バスロック状態に陥るとWire関数が終了しない状態であることを確認しました。

I2C バスロック状態 2時間5分経過

Arduinoは誰でも簡単に電子工作ができることを目指したマイコンボードとの認識なのでWire関数はバスロックから自動復帰するものと思い込んでましたが、ソフトウエアによる復帰処理が必要です。

ソフトウエア処理

I2Cでロックが発生する代表例はノイズによるクロックずれにより、スレーブ側がSDA=LOWの状態でマスター側からの次のクロックを待っている状態が発生、マスターはSDA=HIGH & SCL=HIGHでないとスタートできないので、ずっと待つことになります。

” I2C バスロック ” で検索して頂くと、色々なマイコンのバスロック状態からの復帰処理に関する情報が入手できます。

手順としては

①マスター側にて一定時間以上SDA=LOWであれば、バスロックと判断

②マスター側からダミークロックを送ることでスレーブのデータ送信を終了させる

③データ消失に関する処理

となります。

ここでは、検索してもなかなか見つからないArduino Uno用の ” 簡単かつ確実な ” ソフトウエア対策について述べます。

 

Wire.h

Arduinoに予め準備されている関数です。

前述の通り、このWire関数がタイムアウトしないのが問題です。

" Wire.h " の中身を見ると

void setWireTimeout(uint32_t timeout = 25000, bool reset_with_timeout = false);

タイムアウトを設定する関数がありました。

最大25000μsですが、6軸センサなど12Byte連続送信するデバイスを想定し、余裕をみて3000μsとしました。

報告された不具合は、旋回角度を制御する為に、ジャイロセンサーの値を連続で取得している最中のロック状態ですので、不具合時のデータは破棄しても問題ありません。

確実なバス復旧を優先するので、バスリセットします。

以下のソースにてバスロックが発生しても3ms後には次のデーター要求が開始されます。

void setup()
{
    Wire.begin();
    Wire.setWireTimeout(3000, true);
    Serial.begin(115200);
}

GIFファイルがアップロードできないのが残念ですが、ロジックアナライザー観測にて、復帰動作を確認済みです。

 

※ATmega328pのI2Cに依存する関数ですので、Uno、Pro Miniなどが対象です。

 

関西ブロック夏のオープン大会2024用サッカーロボットの設計(キッカーその1)

キッカー不要論

キッカーパワーテスターの傾斜20°、0.22m登ったボールの床からの高さは0.075mです。

ボールの重量0.14kgですので、位置エネルギーが計算できます。

この位置エネルギーを運動エネルギーに変えればボールの速度が計算できます。

この計算結果より、キッカーで出せる最大速度は4.4km/hとなります。

ドリブラーを用いたシュート速度が、この4.4km/hを簡単に上回ることができるので、ドリブラー設計・製作が可能ならキッカーを搭載する意味は薄いと言えます。

ドリブラーによるシュートについて - 隠居エンジニアのものづくり (hatenablog.com)

 

パワーテスト方法が変更

2024Soccer_Rules_JP04.pdfには「ライトウェイトリーグのパワーテストは、相手ゴールでバウンドした後、ボールが相手ゴールのペナルティエリアから出なければ合格とします。」とあります。

これが大幅なパワー上限の緩和なら ”ドリブラーを用いたシュート速度がキッカーを上回る” というキッカー不要論の前提が崩れます。

 

キッカーパワーテスターによるボールの到達距離

キッカーパワーテスターの上からボールを転がして、ボールの到達距離を測れば、パワーテスト変更後とのパワー差が分かりそうな気がします。

ところが

テスト時は静止したボールを打ち出すので回転してないボールを0.22mのスロープを滑らしながら(スロープとボールの摩擦力に抗しながら)頂点に達します。

打ち出し直後がトップスピードで、傾斜を登る過程で速度0に近づきます。

下りの時は、速度0から転がりながら傾斜を下る過程でボールの速度と回転が加速して行きカーペットに接地した瞬間に速度・回転速度共にトップスピードに達します。

ボールの回転が加わる為に、キーカーパワーテスターから転がしたボールの到達距離では単純に比較できません。

 

キッカーを設計・製作する

こうなるとキッカーを製作してパワーテスト方法変更後のキッカーの攻撃力を知る方が速そうです。

カニカルキッカーなら、ばね定数とキッカーのストロークからボールの初速が予め計算できるので、設計は1日あれば可能です。

レーザー加工機での部品の切り出しを前提に設計すれば、カット30分、接着・タップなどの追加工を含めても半日で組み上がります。

 

近藤科学さんのシリアルサーボを用いてエンコーダーの情報によるサーボホーンのポジション制御を行う事で、リミットスイッチによるメカニカルな位置検出を省略してシンプルな機構に仕上げます。

KRS-330x系のサーボモーターにクランクを付けてピストンがボールの中央の高さになるように設計した結果として、ストローク15mmが決まりました。

次にモノタロウで購入可能な規格スプリングの中からキッカーパワーテスターの計算値4.4km/hの2倍以上のボールの速度を目指して、ばね選定を行います。

キッカーばね選定

ピストン速度は空打ちの場合です。

相手ゴールにボールが到達するのと同じタイミングで "次のシュートを打つ準備" が出来ています。

キッカーパワーテスト

・196gのキッカーユニット単体でパワーテストを行ったので御覧の様にユニットのブレによるロスが発生している可能性があります。

・ゴールを固定していないのでゴールが下がった事で跳ね返りの距離が短くなった可能性があります。

現状でセンターサークルまで戻ってくるので、1400gの機体に搭載して、ゴールをねじ止めしてあるコートの場合に、かなりオーバーパワーである可能性があります。

 

2024年モデルはキッカーを軸に設計しようと思っていたのですが、ちょっと迷う結果となってしまいました。

CFRPをエンドミルで切削加工するのは危険です。

CFRPの切削加工の様に、針状の構造と高い耐久性を持つ微粒子が発生する作業では粉塵が発生しない厳重な対策が必要です。

実際に樹脂切削加工を生業としている所でもCFRPは受託して頂けません。

CFRP加工専業メーカーが存在する程なので、個人や学校のNCフライスでの対策は不可能と考えて下さい。

詳しくはこちら↓

CFRPの切削加工 - 隠居エンジニアのものづくり (hatenablog.com)

 

ロボカップジュニアサッカーライトウエイトのお手本ロボット設計時にもCFRPの必要性は感じません。

アクリル板をレーザー加工する切削時間の早さにより、こまめに設計変更・組立ができるので、チューニングの進んだ安定性の高いロボットに仕上がります。

ロボカップジュニア  ロボットづくりの材料 - 隠居エンジニアのものづくり (hatenablog.com)

 

自転車の部品など、どうしても強度が必要な場合は、個人でオーダーできる加工業者としてカーボンラボを利用しています。

カーボンラボ.jp | 板からパイプまで様々なカーボン加工に対応 (cfrp-japan.com)

 

サッカーロボットの改良(10輪駆動)

はじめに

相手チームの戦術が絡むサッカーのような対戦競技は、実際の試合で得られる情報は大変重要です。

関西ブロックブロック夏のオープン大会で得られた情報を基に年末年始の休暇を利用してロボットの改良に取り組みます。

足回りの改良

コンセプトの

キックオフ守備側時、ボールまでの距離300mmを0.3秒で移動できる加速力特化型機体

・強力な保持力のドリブラーで自由な姿勢でシュートを狙える

に対してはそれぞれ

・マクソンRE16 118715グラファイトブラシモーター12V 4.5Wを圧倒する為にマブチRK-370-2870グラファイトブラシモーター 6V 16Wを搭載、Li-Fe6.6V 850mAhと組合せ

・遠心力シュート時の "回転軸" をロボットの中心から後方に移動させる為に前輪をオムニホイールにした6輪駆動

ドリブラーによるシュートについて - 隠居エンジニアのものづくり (hatenablog.com)

にて設計しましたが、遠心力シュートの威力はゴールの決定力を得る目的からは、かなりオーバーパワーでした。

また、フルパワーではキックオフ時にウイリー走行してしまう問題もあったので、足回りの見直しを行います。

サッカーロボットは車両型ですので、車両設計のセオリーに従ってロングホイールベース化してウイリーの抑制を行います。

遠心力シュートの威力は前輪をオムニホイール化しなくても充分と判断します。

左:関西ブロック夏のオープン大会時   右:足回りの改良型

 

ホイールルベース比較 上:関西ブロック夏のオープン大会時 下:足回りの改良型

ウイリーに関しては後輪を可能な限り後ろに下げる事が重要です。

改良型は僅か9mm後ろに下げただけですが、フルパワーでもウイリー走行しなくなりました。

遠心力シュートも充分な威力があります。

ロボカップジュニア サッカーライトウエイトロボットの遠心力シュート