ブログ

私がロ技研で作ってきたロボットたち

はじめに

久しぶりにサークルの記事を書いています、修士1年のしゅんもです。緊急事態宣言が解除されてもなかなか大学に行くことができず、家での研究を進めています。

そんな中、ロ技研での活動実績についてまとめた記事がほしいなと思ったので、後輩への紹介も兼ねて、サークルの記事にまとめてみます。

F3RC2016(大学1年)

まずは私の初ロボコンである、F3RC2016で作ったロボットです。CAD設計、加工、組み立てなどのハードウェア設計を担当しました。今見返すと恥ずかしいくらい簡素な作りですね…

なんとこのロボット、マイコンやモータードライバが乗っておらず、モーターと電池が直結というありえない作りになっています笑 左下の木片がリモコン、それに貼り付けられている乾電池4本が動力源ですね。

F3RC 2016 堀Cチーム 手動機

かわロボ2017(大学1~2年)

F3RCは新入生向けのロボコンなので、自分で申し込んだロボコンとしてはこれが初めてです。私は、足回りのハードウェア設計を担当しました。

かわロボでは4節ヘッケンリンクと呼ばれるリンク機構を用いてロボットの足回りを設計する必要があります。そのため、CAD設計はなかなか苦戦しましたが、このおかげでSolidWorksを用いたCAD設計をある程度習得できた気がします。

CloudRoachの足回りのCAD
CloudRoachの実機
ゴキブリのような動きをします。倒されても復帰可能です。
静止した敵ロボット(に見立てた過去の先輩のロボット)を投げ飛ばす様子

側面の雲(Cloud)のような形と、ゴキブリのような動き(Cockroach)から、CloudRoachと名付けました。ネーミングセンスは微妙ですね。上の動画のように、平地であれば結構素早く動けます。しかし、実際の試合会場は凸凹しており、足が取られてなかなかスムーズな動きを取るのは難しいです。そのため、足回りを色々と工夫されている方が多くいらっしゃいます。

予選トーナメント 第1回戦
敗者復活戦

NHK学生ロボコン2018(大学2~3年)

次に参加(しようと)したロボコンは、NHK学生ロボコン2018です。サークルとしてNHK学生ロボコン初出場を目指し、発足したNHK学生ロボコンチーム、Iliasのチームメンバーとして、シャトルコック(布の塊に紐がついたもの)を投射する自動ロボットの投射機構のハードウェア設計を担当しました。1次ビデオ審査は通過したものの、2次ビデオ審査で落ちてしまい、本戦出場はかないませんでした。

自動ロボットのCAD
シャトルコックを投射する自動ロボット

かわロボ2018(大学3年)

NHK学生ロボコンの出場が叶わなかったため、次のNHKロボコンの活動が開始するまで、かわロボにを行うことにしました。かわろぼ2018では私が最高学年で、優秀な後輩とともにロボットを制作しました。私が担当したのは、かわロボ2017と同様、足回りのハードウェア設計です。

このロボットで重視したことは強さとデザイン性です。試合に勝つことはもちろんですが、かわロボにはかっこいいロボットが多数参加していたので、私もかっこいいロボットが作りたいと思い、赤を貴重とするデザインにしました。赤いパーツは全て自宅の3Dプリンタ(中華製の安物)で印刷しました。

WeissrotのCAD
Weissrotの実機
かわロボ2018 予選トーナメント 第1回戦
かわロボ2018 敗者復活戦

NHKロボコン2019(大学3~4年)

最後に私が参加したロボコンです。サークルとして初めて出場したNHK学生ロボコンでもあります。4足歩行ロボットという難しいテーマでしたが、私が設計していたサーボモータを使った4足歩行ロボットで1次ビデオおよび2次ビデオをクリアし、念願の本戦出場が叶いました。

手動ロボット(MR1)
4足歩行ロボット(自動ロボット, MR2)

私の担当は、この4足歩行ロボットや手動ロボットの全方位移動足回りのの設計、組み立て等のハードウェア設計、および4足歩行ロボットの制御でした。4足歩行のノウハウもなかったため、ネットの記事を参考に、足の位置を順番に指定して歩行させるプログラムを書きました。

また、メンバーが少なく、4足歩行ロボットの機構部分の設計や組み立ては一人で行っていたため、初めは3Dプリンタを使った試作機を素早く組み立て、歩行プログラムを書き始めるようにして、開発スピードの短縮に努めました。

チーム紹介動画
4足歩行ロボットが立つようになってから歩くようになるまでの変遷

最後に(新入部員のみなさんへ)

新入部員の皆さんは、大学という新しい環境で不安な中、なかなか大学に入れず、サークルでの活動も行えなくて、モチベの維持が難しいかもしれません。でもこの記事で、「ロ技研でのロボット製作はこんなに楽しいんだよ!」というのが少しでも伝わればいいなと思います。先輩から様々なことを学んで、サークルで蓄積してきたノウハウを引き継いでいってもらえると嬉しいです。

Fusionで角柱を自動生成する

こんにちは、理工学部電気情報工学科2年のFastriver(@fastriver_org)です。最近活動ができない(機構なので現地じゃないと動けない)ので、久々に機構制御班の仕事をしようと今回のようなことをやりました。

CADを書きたくない

ずっと思ってます。昔(F^3RCの頃)はCAD大好きだったのですが、NHK班に入ってから書くのが非常に面倒に思えてきました。

その原因の一つは、

同じような見た目の角柱を大量に作るので精神が削れていく

というわけです。あんなの設計から加工まで自動化してくれよ。

加工を自動化するのは無謀なのでせめてCADだけでも自動化(コードベース)しよう、という取り組みです。

使うもの

  • Fusion 360
  • Fusion 360 API
  • Python

Fusionさん、学生は無償で使えるの素晴らしいですよね。

https://www.autodesk.co.jp/products/fusion-360/students-teachers-educators

を見てダウンロードしてください。普段使っているSolidworksを見送った要因は、APIのダウンロード方法がよくわからなかったからです。Fusionの方が単純にできると思います。

プロジェクトを作る

最初に開いたところから、[ツール]→[アドイン]→[作成]で新しいプロジェクトが作れます。

スクリプトを選びます。アドインは起動時に実行ができるらしいですが、要らないのでスルー。

C++とPythonだったらPythonの方が書きやすそうなのでPythonを選択。公式リファレンスではどっちのサンプルもあるのでどっちでも大丈夫だと思います。

下のフォルダの場所に生成されるのでVSCodeとかで開いて適当に編集しましょう。最初はダイアログが開くだけのスクリプトが入っています。デバッグも可能なそうですがやりかたがわかりませんでした。

書く

公式リファレンスはこちら。

https://help.autodesk.com/view/fusion360/ENU/?guid=GUID-7B5A90C8-E94C-48DA-B16B-430729B734DC

一番見やすかったのでこちらのサイトを参考にコードを書きました。

コードは結構長いためGitHubで見てください。

https://github.com/organic-nailer/PrismGenerator

各ファイルの役割はこんな感じです

  • PrismGenerator.py: 動かすとここのrun関数が呼ばれる
  • DialogHandler.py: パラメータを入力するダイアログのクラス
  • Prism.py: 角柱の生成とかを書いたクラス
  • DataManager.py: 全体で必要なオブジェクトを保持しておくクラス

Python書くのすごくつらいですね、この程度の規模でも泣きそうになってました。

ご乱心

git cloneとかすれば誰でも動かせると思います

動かしてみる

書けたら動かしてみましょう

アドインの画面でスクリプトを選択し、[実行]で動きます。

保存する

やっぱりSolidworksで使いたいので、エクスポートしましょう。

左上の[ファイル]→[エクスポート]からStepファイルで保存します(これが最適解だよね?)。

Solidworksにインポートしたところ普通に動いたので問題ないと思います。

最後に

自動化は正義