NHK2017を振り返る(制御班編)

NHK学生ロボコンが終わって早3週間。ロボコンの打ち上げも終わりました。4回生の先輩方はこれで引退です。やけに焼き肉の煙が目に染みる打ち上げでしたね・・・。

さて、ぼちぼちNHK学生ロボコン2017の振り返りをしようと、私(高橋)は制御班のみなさんに話を聞いて回りました。

NHK2016までは制御班が少人数しかいなかったロボハン。1人1台ロボットの制御をしていました。しかし、にわかに制御班の人数が増えた上に、NHK2017のロボットは1台のみというルールのため、今までとは違った開発スタイルを作らなきゃと、制御長の堀口くんは考えました。
まず、ロボットをモジュールに分けて、各モジュールをそれぞれの担当者に作ってもらいます。「情報管理用の‘マスタースレッド’を作って、それと通信するだけで各モジュールが動くようにしたかった。」とのことです。

各モジュールの担当者は、単射(ビーチボールを落とす用の、腕がぐるんと回ってソーサーを打ち出す機構のことをRobohanでは‘単射’と呼んでいる)が三好くん、足回りが田頭くん、ソーサー供給部分のサーボはささっきー、ミニパイ投げ(2mのスポット用重ね投げ機構で、厳しい減量を行った末、泣く泣くなくなったものの、2次審査まではあった)が木水くん、パイ投げ(重ね投げ機構のことをRobohanでは‘パイ投げ’と呼んでいる)が私でした。
いやぁ、春はロボットの取り合いでしたねぇ…。なんせ1台しかないから。
“マスターのGO指令がくるまで待機”とか、“マスターに準備OKサインを送る”とか書いたものです。

モジュールができたら、アセンブリ作業です。都留くんの出番です。
しかしながら、そんなにうまくはいきませんでした。
メインのLPCマイコンが落ちまくるのです!
都留くんは、メイン基盤をもう1枚追加し、LPCマイコン2個体制にしました。が、それでもだめ。
そこで、マスタースレッドはやめ、スレッド1本化しようという方針になりました。
でもまあ最終的には、メイン1で、足回りと単射のスレッド1つ、メイン2で、スレッド間通信を減らしたパイ投げスレッドとマスタースレッドを動かしていました。
アセンブリ担当の都留くんによると、
「現在も原因は明確には特定しきれていません。
最初、マルチスレッド方式でアセンブリをした際は、デッドロックが発生していたと考えていますが、その後安定化のためにスレッドを統一しても、まれに基盤の処理が止まることがあったため、他にも不明なバグがあると考えています」
とのことです。うん、むずかしい。
パイ投げをしていたマイコンは、マスタースレッドとの通信回数を減らせばおちなかったから、複数スレッドを同時に動かしても大丈夫なのではとか私は思っています。どのくらいマルチスレッディングしても大丈夫なのか、この課題はこれから三好くんが実験して解明するそうです。がんばって!

とまあ、1次審査後からの流れはこんなもんです。
次は4人のインタビューをまとめておきます。

まず1人目、アセンブリ作業、操縦、2次審査後からパイ投げの制御を担当した都留くん(3回生)。彼は去年も操縦をしていました。
――工夫した点は?
「去年の苦い経験も踏まえて、本番でできるだけリトライをしなくて済むように、あるボタンを押しながら〜することで…といった裏コマンドをいくつも用意して、全部の機構が手動でも動くようにしていました。」
――苦労した点は?
「課題と作業の両立に苦労しました。ロボコンをやる以上、勉強をある程度諦めている人が殆どかもしれませんが、僕は大学に入る前から行きたい研究室を決めていて、そこに入るためにも勉強を怠ることができなくて、結局徹夜続きの生活でした。」

「足回りのギアを速くしたのが勝利に繋がったのは間違いない。」と主張する都留くんでした。

ということで、2人目、足回りの制御担当の田頭くん(3回生)です。
――どんな制御をしましたか?
「PID制御と台形加速。」
――工夫した点は?
「自分以外の人もプログラムを変えやすいようにした点。」
――苦労した点は?
「PIDのパラメータ調整でしょ。」
――当初の目標は何ですか?
「はやく!」

「もっと頭のおかしいスピードがよかった…」とぼやく田頭くんでした。

3人目は三好くん。単射の制御を担当していました。出場メンバーにもなった期待の2回生です。
――どんな制御をしましたか?
「サーボで8m用にソーサーの位置を調整し、エンコーダで腕を回すスピードを調整してリミットスイッチで止まるようにしました。因みに、ポテンショは運搬中にずれるから、エンコーダとリミットスイッチに変えました。」
――工夫した点は?
「1つのwhileループで動くようにしたことと、操縦者のボタン操作を少なくしたことです。一応試合の状況に合わせて手動でも操縦できるコマンドも増やしましたけど。あと、エンコーダの値が、トルクがかかると回ってないのに増えていくという謎仕様だったため、それに対応したプログラムにしました。」
――苦労した点は?
「仰角調整するとき、上げるときと下げるときで出力の値が違ったり、目的の角度によって、PIDの値を変えたりしていたことです。」
――当初の目標は何ですか?
「直感的な操作で操縦できたらいいなぁ。」

ピットで先輩が戦略に関して喧嘩していたとか大変な目にあったそうな、期待の次期制御長三好くんでした。

最後のおまけの4人目勝田くん(2回生)です。彼はLRFを扱っていました。laser range finderの略ですね。スポットのポールを見て、自己位置推定しようと試みたのです。
――ずばり、成果は?
「壁を認識できるようになりました。」
――どうやって?
「ハフ変換を使って、壁状の点かそうでないかを判別しました。それによって、自分(LRFを積んだ機体)の壁に対する距離と角度がわかるようになりました。」
――ポールは認識できなかったのですか?
「円状のものを認識するのは難しかったです。センサとポールの距離が近いときはできました。」
――おお、すごい。
「自主研究でスラムできたら来年の機体には積みたい。」

「ハフ変換のプログラムは朝まで書いていた。」勝田くんでした。お疲れさまです。

ここまで読んでくださって、ありがとうございます。長かったですね。長かったです。疲れました。でも、ここに書いた以上のもっとたくさんのことをしました。このほかの人もいろいろ関わっています。インタビューではメモを取る手が痛くなるほど話を聞きました。書かないのが惜しいです。

というわけで知りたい方、詳しい話は本人たちに直接聞いてください。

ここまでのお付き合い、ありがとうございました。

ますます精進して参りますので、引き続き応援よろしくお願いいたします。

NHK2017を振り返る(チームマネジメント編)

お久しぶり(?)です。昨年の7月から今年の6月までプロジェクトリーダーを務めました原田です。

NHK2017東京本選から少し日が経ち、ようやくホッと一息つけるまでになってきました。折角なので、この1年間を振り返ってみることにします。
初めに、技術的なことは一切書きませんので、あらかじめお断りしておきます。それでも興味のある方は、暫しお付き合いください。

さて、物語の始まりは、昨年7月のNHK2016大会、さらにはその反省会に遡ります。

NHK2016大会では、重要なファクタがあったとはいえ、「せっかくマシンの製作・制御を頑張って東京まで行けたのに、思っていたような動きが実現しなかった」 という結果に終わり、苦杯を舐めさせられました。大会後の反省会でもそのような意見がメンバー間から噴出し、何となく暗い雰囲気にチーム全体が包まれていたように感じます。

ところでいきなりですが、その「チーム」っていったい何でしょうか。個人によって解釈の方法が異なるとは思いますが、僕なりの意見を述べたいと思います。
中学高校の頃、少しばかり男声合唱をしていました。合唱って(これに限ったことではないですが)、いいステージを鑑賞すると感動するのは当然として、ステージに立つ側となってもやはり達成感という面で感動するんですよね。「チーム」でいることは、どうしても妥協とか協調性とか、その辺のお堅い縛りみたいなものがあるんですが、ひとつの大きなイベントを乗り越えたときのやりがい・達成感に包まれるときの感動は代えがたいメリットだと思っています。

さて、話をチームRobohanに戻しますが、ここでの「やりがい・達成感」とはNHK本選に出て結果を残す、思い通りにマシンを動かすことに他なりません。単純に言えば、結果残すためだけに命を懸ける覚悟で臨めばいいわけで、相応にストイックにメンバーを率いていけばいいわけです。

ーーとは言いますが、やはり学生団体だし、楽しみとかが見いだせないのにただただこれをしろ、あれをやれ、だけ言っても面白くないし、居心地が悪いところには居たくない(少なくとも僕は)ので、”ストイックさ”にもある程度のバランスが必要なわけです。

そもそも僕自身には、ロボコンやものづくりの経験も浅く、また、過去に集団を率いて行動した経験も無かったので、とりあえずリーダーにはなったものの右も左も分からない、ただ理想とする目標だけは何となく見える、みたいな何とも苦しい状況でした。右も左も分からないので、先輩が残してくださっていた過去年度の活動記録を参考に、どこをどう改善すべきなのか、それをメンバーに伝えることに徹底することにしていました。

ただ「メンバーに伝える」と言っても、これがまた難しいもので、学年が違ったり、モチベーションの個人差とかでなかなか言いたいことが伝わらなかったり、伝えているつもりでも成果が上がってこなかったりといった問題 が(どうしても)出てきてしまいます。自分でもあれこれ考えてはみたものの、どうしても原因や答えが出なかったこともあり、また、先輩から本をお借りしたこともあったりして(ここだけの話あまり参考にはならなかったような)(笑)、本屋で答えを求めてチームマネジメント関連で数時間立ち読みしたりとかありました。”それらしい本”は何冊も読んでみたものの、バックグラウンドとかが何か違う気がして、結局答えまでたどり着けたのかというと言葉に詰まりますが、一つ感じたのは、”学生主体”のチームって意外と難しいなってことです。そういえば、個人的に教科書以外で「本を読む」なんて滅多にしないので、本屋で立ち読みする楽しさ?的なものは得られましたね()。

もうひとつ、「メンバーに伝える」という点に関して、大会に出場するマシン製作において、今自分たちのチームが(時間軸的に)どの位置に置かれているのか、遅れている部分があるならどこで埋め合わせをしなければならないのか 、ということを中心に伝えることを心掛けました。むしろ技術的な観点で指示をするのは、あえて減らしました。これは昔から思っていたことなのですが、(程度はあるとはいえ)何かを指示されると型にはまったものしか出来ないことが多いし、チーム全体での技術的な進歩も得られないんじゃないかなぁと。

他にもたくさん言いたいこと、書き残したいこととかあるんですが、なんだかんだ言ってNHK2017大会を振り返ってみると、残念ながら予選リーグ敗退という結果には終わってしまいましたが、なによりも自分たちの製作してきたマシンがそこそこ思い通りに動かせて、最後に大阪に戻ってきたときに、メンバーが昨年度大会のような暗い雰囲気じゃなかった ことからも、五里霧中ながら率いてきた方法はそんなに間違ってはいなかったのかな、なんて少し安心していました。

僕は既にプロジェクトリーダーから退きましたが、来年は、今年の悔しさをバネに、さらなる発展が望めそうなポテンシャルを持ち合わせたメンバーばかりですので、温かく見守っていこうと思います。

最後になりますが、日ごろの活動を熱心にサポートしてくださった顧問の石川先生、職員の方々、そして大会当日応援に来てくださったOBの方々、関係者に御礼申し上げます。来年も引き続きRobohanを見守ってくだされば幸いです。

そういえば先日NHK2017打ち上げ&4回生追いコンやったんですが、あの晩あんまり飲めなかったからそのうち飲みたいなぁ(笑)