初めまして、2025年度新入社員の齊藤雄介です。これからよろしくお願いします。
自己紹介
高専出身で高専ロボコンをやっていました。ルール発表直後のアイデア出しの作業が好きで、特にそのルールの中でどこまでのことが可能かを考えることが好きです。
例実2はえ3行行ばににもこ出分来んるけなて風表に示 出来ることを見つけるような。
趣味
カードゲーム、読書、ゲームが好きです。特に「遊戯王マスターデュエル」、「デュエルマスターズ」、「ポケポケ」、最近では「MTGアリーナ」を始めました。カードゲームが好きな方は、ぜひ気軽に声をかけていただけると嬉しいです。
過去に経験した技術
上記の高専ロボコンをしていた時やPBLの授業の時、ロボットを制御するためにArduino用のプログラムを書いていました。そのためC言語(Arduino言語)が一番得意です。
本来Arduinoで複雑なプログラムを書く時にはRaspberry piのような複雑な処理用のコンピューターと組み合わせることが推奨されます。しかし、私が過去にArduinoのプログラムを書いた時にはコロナ禍で新しいものを発注して習熟する時間がなかったり、予算の関係でRaspberry piを買えなかったりしたのでArduinoのみでプログラムを書いていました。そのため、いざプログラムを動かそうとするとスペックが足りず正常に動作しないということが度々発生しました。そうならないために私が気を付けていたことを紹介、というよりも私が今後思い出せるように残しておこうと思います。
優先順位をつける
高専ロボコンでは、大会当日にロボットが動かないトラブルがよく発生します。その結果、満点を取れるようなロボットが何もできずに敗退する姿を数多く見てきました。逆に言えば、ロボットが動けば勝利の可能性がわずかでも存在します。そのため、どれだけスケジュールに遅れが生じても、どれだけ不具合が発生しても大会本番で動かせるロボットにすることが不可欠です。そのためには、どの機能がロボットを動かすために最低限必要で、どの機能が競技を有利に進めるために重要かを把握しておく必要があります。これを理解しておくことで、限られた時間で優先順位をしっかりと付けてロボットを競技に送り出せるようになります。
それは本当にプログラムで解決する必要があるのか
ロボットには大きく分けて4つの領域があります。機械領域(設計)、電気領域(センサーや回路の仕様)、操縦者領域(実際の操作)、そしてプログラム領域(制御)です。特にプログラムは自由度が高いため、開発の後半には他の領域のメンバーから様々な要望が寄せられます。しかし、プログラム領域にも時間や技術力、コンピュータのスペックといった制約があり、全ての要望に応えることができない場合があります。そんな時、問題が本当にプログラムで解決すべきかを再考することをお勧めします。実際には、プログラムで解決するのが難しい問題も、他の領域に確認することで簡単な改修で解決できたり、プログラムの難易度が大幅に下がったりすることがあります。プログラムは多くの問題を解決できますが、すべての問題に対して最適な解決策とは限らないことを常に念頭に置くことが重要です。
終わりに
クラウドや生成AIに関する知識、技術はまだ少ないのでできるだけ早くFIXERで活躍できるよう成長していきたいと思います。