Successfully reported this slideshow.
Your SlideShare is downloading. ×

NHKロボコンにおける機械開発

Ad

Maquinista
大阪工業大学
技術交流会
東京工業大学 Molina

Ad

2
Molina
• 東京工業大学 機械系 4年 (twitter:@Msymng)
• ロボット技術研究会
• 人間ならプログラミングか電子工作か機械工作のどれかは出来るよね ←は?
• RCJ(2010~2015)
• NHKロボコン(Ma...

Ad

3
「NHKロボコンで勝つための機械開発技法」
• ハードウェア(機械, 回路)は全ての限界を決める
• 機械はその中でも特に「強さ」を大きく左右する
• その競技における強さ
• 回路や制御がいかに優れていても機械が微妙だと良い成果を残すのは...

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Loading in …3
×

Check these out next

1 of 18 Ad
1 of 18 Ad

NHKロボコンにおける機械開発

  1. 1. Maquinista 大阪工業大学 技術交流会 東京工業大学 Molina
  2. 2. 2 Molina • 東京工業大学 機械系 4年 (twitter:@Msymng) • ロボット技術研究会 • 人間ならプログラミングか電子工作か機械工作のどれかは出来るよね ←は? • RCJ(2010~2015) • NHKロボコン(Maquinista) • 関東春ロボコン運営委員(18~) 自己紹介 2017 • チームメンバー • 機械メンテナンス • 戦略決定 など 2018 • 機械班リーダー • チームメンバー • TRメイン設計 • MD改良 など 2019 • 機械班リーダー • チームリーダー • MR2メイン設計 • MD改良 など
  3. 3. 3 「NHKロボコンで勝つための機械開発技法」 • ハードウェア(機械, 回路)は全ての限界を決める • 機械はその中でも特に「強さ」を大きく左右する • その競技における強さ • 回路や制御がいかに優れていても機械が微妙だと良い成果を残すのは難しい →いかに機械を「うまく」作れるようになるか 今日話すこと
  4. 4. 4 アイディアが マシンの上限を引き上げる 技術が アイディアを形にする 練習量が 安定性を高める 実戦経験が対応力を向 上させる • 春ロボ, 夏ロボを作った理由 そもそもロボコンとは この下2つで終わってない?? スケジューリングができてない スケジューリングを 改善させるだけで 成績が大幅に向上する 可能性がある
  5. 5. 5 • スケジューリングの方法 • 安易に他大の真似してない? • 理想的なものを追い求めていない? • 各チームには各チームにあったスケジューリングがある • チームの人数, 設備, 金, 環境はチーム固有 • これらによって最適なものは異なる • 各チームで適切なスケジューリングの仕方を見つける必要がある • いきなりチームの状態を適切に把握するのは不可能 • 大学受験ならモシとかあるよね←自分のレベルを探る機会 • 春ロボや夏ロボ等を通じて自分をふくめてチーム全体の能力や可能性を探る スケジューリングの重要性
  6. 6. 6 理想的なスケジューリングをする →締め切りに間に合わない 日程 機械班 回路班 制御班 3ヶ月前 実験 回路設計 実験の補佐 2.5ヶ月 前 機体設計 プログラム2ヶ月前 加工 はんだ付け 1.5ヶ月 前 組み立て 電装 1ヶ月前 機体完成 3週間前 改良・デバッグ 2週間前 練習 本番 優勝する よくある失敗事例 ・人を投入 ・金(物, 環境)を投入 ・時間を投入 どれを選ぶ? 解決策 理想的なスケジューリングの例
  7. 7. 7 • 時間を投入 • 締め切りを伸ばす ではない!!! • 特に機械班, 制御の時間を犠牲にして締め切りを伸ばしがち • 制御班を何だと思ってるの? • 正解 NHKに電話して大会を延期してもらう • まぁ普通できないよね • 金を投入 • できるところもあるかもだけどまぁ所詮学生 • 額も限られる • 人を投入 • 難しそうだが実際にはこれしか解決策がない 何を投入? 日程 機械班 回路班 制御班 3ヶ月前 実験 回路設 計 実験の補 佐 2.5ヶ月 前 機体設計 プログラ ム 2ヶ月前 期限伸びたw はんだ 付け 1.5ヶ月 前 加工 機体 どこ 1ヶ月前 間に合わないw 虚無2週間前 組み立て 3日前 機体完成 デスマーチ 本番 負ける 全てのしわ寄せが制御班に向かった例
  8. 8. 8 • そもそも全ての人的リソースを投入するのが間違え • 2割くらいは余裕を持たせておく • 人は風邪をひく レポートもある 単位も取得しなければならない • 馬鹿は風邪をひかないらしいけどね • これだけ人は不安定なのになぜ全てを頼ろうと思ってしまうのか • 不安定なものにはバックアップを用意しておく • 人の管理をうまくコントロールするのがリーダーの仕事 • 人は信頼しろ, しかし人のすることは信用するな 人はどこから湧いてくるのか ※人の特性を理解して うまくチームを回す
  9. 9. 9 • スケジュールには余裕をもたせて多少の遅れなら吸収できるようにする • できるだけタスクを細分化 • 遅れが発生したときの被害を最小化できる • タスクに優先順位を設ける • 各タスクの期間の半分とか過ぎた時点でその処理具合を評価 • 順調ならそのまま • 遅れているなら人を投入 • それでもだめなら 諦める • 優先順位の低いタスクを切る 余裕を持ったスケジューリング 参考:パレート式仕事術 「2割の時間で8割を終わらせる」 https://www.itmedia.co.jp/bizid/articles/1009/06/news036.html
  10. 10. 10 • 日本人, 諦めるの苦手?(まぁ当然人によるが) • 組織が凝り固まりがち • 結果よりも見た目や上の人の体裁などを重視しがち • 追い詰められたとき冷静に判断できない傾向がある(あくまで組織単位の話) • 某リンピック • あんま言うと国家反逆罪で捕まりそう • 自分たちの力量にあってないならさっさと撤退すべき • 余計な犠牲が増えるだけ • 学ロボは9ヶ月で成果を出さないといけない→計画通りにできなかったらそこは捨てる • 参考:標準C++規格が3年おきに制定される理由 https://cpplover.blogspot.com/2019/07/c3.html 撤退の重要性
  11. 11. 11 • 撤退=負けではない • 勝つためのアプローチはたくさんある • 各チームに適したアプローチを見つけていくことが重要 • 一般論として, 確実に成功する方法はない • そんなんあったらみんな優勝してる • ある程度成果を残しやすい方法を紹介する • ようやく本題 とはいえNHKでは勝ちたい
  12. 12. 12 • 「強い」機体全部設計できる人がいたら強い • それはそう • しかしそのような人材はすぐには育たない • 育てるノウハウがあるチームはそれで良い • でもそれ本当に育ててる?たまたまそういう人が加入してくるだけじゃない? • いかにここをカバーしていくか • 分業して1人あたりの負荷量を下げる • 1人が特定の部分に特化する • 各人の連携によって1台のロボットを作り上げる 「強い」機体をつくるには ※当然ながら複数人での 共同作業なので各人の 意思疎通が重要になる
  13. 13. 13 • こんな事ができてあんな事ができて~ • 要求仕様がしっかりしていない→分業が難しい • NHKの機体はいくつかのレイヤに分けられる • 足回り • 把持機構 • 受け渡し, 受け取り機構 • 投擲機構 • 各レイヤの役割を分析, 抽象的な概念に落とし込む • これらの組み合わせでロボットを作る 各レイヤの抽象化 ※どういうレイヤの 分け方をするか どのように抽象化 するかも重要 ノウハウとして 引き継いでいくの もあり
  14. 14. 14 • 「投擲機構」の場合 • 悪い例 • シャガイを投げて50点取る(馬の面を出す) • 良い例 • 700gの質量剛体を3m先のエリアに向かって投擲 • 投擲する物体は2つの平面と1つの曲面から形成される • 95%以上の確率で特定の面が上になった状態で着地, 安定させる • フィールド上から「把持機構」「装填機構」を介して初期状態にセットされる • 「投擲機構」は初期状態から加速して射出後停止するところまでを担当 レイヤ抽象化の例
  15. 15. 15 • 700gの質量剛体を3m先のエリアに向かって投擲 • 必要なエネルギーが計算できる→おおよそ機構が設計できる • 95%以上の確率で特定の面が上になった状態で着地, 安定させる • 再現性を上げるための工夫が必要 • フィールド上から「把持機構」「装填機構」を介して初期状態にセットされる • 「把持機構」や「装填機構」との連携が不可欠 • 「投擲機構」は初期状態から加速して射出後停止するところまでを担当 • どこまでが「装填機構」どこからが「投擲機構」か明確にできる 抽象化された状態での作業
  16. 16. 16 • 各機構の必要条件を提示できる • 達成できてる部分と課題を明確化 • ノウハウを継承していきやすくなる • 「シャガイを投げる機構」だと継承しにくい • 多分もうシャガイ投げないよ • 抽象化によって新たな課題の共通している点, 異なる点を明確化できる • 抽象化すればどこが同じでどこが異なるか把握しやすくなる • 共通している点を引き継げば良い • 異なる点を重点的に開発→開発の省力化 • 欠点も蓄積しやすい • 「なんかうまく行かなかった」より「飛距離は十分だったが安定性が不足, その原因は…」など レイヤ抽象化のメリット
  17. 17. 17 • レイヤ同士の統合が難しい • コミュニケーションが重要 • 密接するレイヤ同士で細かくすり合わせを行う • 「機体全体での最適化」がかけにくい • レイヤ単体で独立してしまう→レイヤでの最適化と全体での最適化を分けて考える • とりあえず全体を作って実験量及び練習量で解決していくしかない • とはいえNHKではこれでも十分に戦えると思う • ルールが1年毎に変わるので「完璧に最適化された機体」の登場率も低い • ある程度までいけば制御などで勝負するほうが勝率は高いと思う レイヤ抽象化のデメリット
  18. 18. 18 • NHKロボコンでは特にスケジューリングが重要 • スケジューリング能力を向上させるだけで成績が上がることも多いと思う • 機体をレイヤ分けして分析, 抽象化する • 「1人のガチプロ」に頼る体制からの脱却 • 抽象化することで欠点を分析, 解決策に繋がりやすくなる • 抽象化された状態で継承, 発展 • 「ルールが毎年変わる」ことに由来する引き継ぎの難しさを軽減 • 過去の経験をうまく生かしていけるような体制づくり ご清聴ありがとうございました! まとめ

×